From 3bbfe7b179856c6114ac1c3653d6b96505d67efe Mon Sep 17 00:00:00 2001 From: matthieu Date: Fri, 2 May 2014 19:27:46 +0000 Subject: [PATCH] Update to xserver 1.15.1. Tested by at least ajacoutot@, dcoppa@ & jasper@ --- xserver/COPYING | 1 + xserver/ChangeLog | 8408 ++++++- xserver/Makefile.am | 14 + xserver/Makefile.in | 19 +- xserver/Xext/Makefile.in | 11 +- xserver/Xext/panoramiX.c | 25 +- xserver/Xext/panoramiXsrv.h | 1 + xserver/Xext/security.c | 11 +- xserver/Xext/shm.c | 242 +- xserver/Xext/shmint.h | 24 + xserver/Xext/sync.c | 53 +- xserver/Xext/syncsrv.h | 13 + xserver/Xext/xvdisp.c | 21 +- xserver/Xext/xvmain.c | 4 +- xserver/Xi/Makefile.in | 11 +- xserver/Xi/chgdctl.c | 6 + xserver/Xi/exevents.c | 59 +- xserver/Xi/extinit.c | 2 + xserver/Xi/grabdev.c | 5 +- xserver/Xi/setdval.c | 3 + xserver/Xi/setmode.c | 4 + xserver/Xi/xibarriers.c | 12 + xserver/Xi/xibarriers.h | 4 +- xserver/Xi/xichangehierarchy.c | 4 + xserver/Xi/xipassivegrab.c | 6 +- xserver/aclocal.m4 | 109 +- xserver/composite/Makefile.in | 11 +- xserver/composite/compalloc.c | 4 +- xserver/composite/compext.c | 7 +- xserver/composite/compinit.c | 7 +- xserver/composite/compoverlay.c | 5 +- xserver/config.h.in | 0 xserver/config/10-quirks.conf | 54 + xserver/config/Makefile.am | 4 +- xserver/config/Makefile.in | 15 +- xserver/config/dbus-api | 40 - xserver/config/hal.c | 16 +- xserver/config/non-seat0.conf.multi-seat | 18 + xserver/config/udev.c | 19 +- xserver/configure | 2523 +- xserver/configure.ac | 385 +- xserver/damageext/Makefile.in | 11 +- xserver/damageext/damageext.c | 427 +- xserver/damageext/damageext.h | 33 - xserver/damageext/damageextint.h | 3 + xserver/dbe/Makefile.am | 3 +- xserver/dbe/Makefile.in | 14 +- xserver/dbe/dbe.c | 81 +- xserver/dbe/dbestruct.h | 21 +- xserver/dbe/midbe.c | 126 +- xserver/dbe/midbestr.h | 75 - xserver/dix/Makefile.am | 3 +- xserver/dix/Makefile.in | 29 +- xserver/dix/cursor.c | 6 - xserver/dix/devices.c | 49 +- xserver/dix/dispatch.c | 121 +- xserver/dix/dixfonts.c | 9 +- xserver/dix/dixutils.c | 8 +- xserver/dix/events.c | 5 +- xserver/dix/getevents.c | 48 +- xserver/dix/inpututils.c | 33 +- xserver/dix/main.c | 12 +- xserver/dix/pixmap.c | 1 - xserver/dix/privates.c | 1 - xserver/dix/ptrveloc.c | 5 +- xserver/dix/region.c | 15 + xserver/dix/registry.c | 25 +- xserver/dix/stubmain.c | 35 + xserver/dix/window.c | 16 +- xserver/doc/Makefile.in | 11 +- xserver/doc/c-extensions | 68 - xserver/doc/dtrace/Makefile.in | 11 +- xserver/dri3/Makefile.am | 13 + xserver/dri3/Makefile.in | 830 + xserver/dri3/dri3.c | 92 + xserver/dri3/dri3.h | 65 + xserver/dri3/dri3_priv.h | 80 + xserver/dri3/dri3_request.c | 395 + xserver/dri3/dri3_screen.c | 86 + xserver/exa/Makefile.am | 6 +- xserver/exa/Makefile.in | 16 +- xserver/exa/exa_classic.c | 1 - xserver/exa/exa_migration_mixed.c | 12 +- xserver/exa/exa_mixed.c | 13 +- xserver/fb/Makefile.in | 11 +- xserver/fb/fb.h | 34 - xserver/fb/fbcopy.c | 27 - xserver/fb/fbpict.c | 8 +- xserver/fb/wfbrename.h | 1 + xserver/fix-miregion | 29 - xserver/fix-miregion-private | 14 - xserver/fix-patch-whitespace | 4 - xserver/fix-region | 38 - xserver/glx/Makefile.am | 24 +- xserver/glx/Makefile.in | 47 +- xserver/glx/createcontext.c | 4 +- xserver/glx/dispatch.h | 19816 ---------------- xserver/glx/extension_string.c | 7 + xserver/glx/extension_string.h | 6 + xserver/glx/glapi.c | 504 - xserver/glx/glapi.h | 135 - xserver/glx/glapi_gentable.c | 10058 -------- xserver/glx/glapitable.h | 1016 - xserver/glx/glprocs.h | 3534 --- xserver/glx/glthread.c | 204 - xserver/glx/glthread.h | 234 - xserver/glx/glxcmds.c | 224 +- xserver/glx/glxcmdsswap.c | 4 - xserver/glx/glxcontext.h | 11 +- xserver/glx/glxdri.c | 1168 - xserver/glx/glxdri2.c | 82 +- xserver/glx/glxdricommon.c | 51 +- xserver/glx/glxdriswrast.c | 15 +- xserver/glx/glxext.c | 55 +- xserver/glx/glxext.h | 16 + xserver/glx/glxscreens.c | 17 +- xserver/glx/glxscreens.h | 8 +- xserver/glx/glxserver.h | 16 + xserver/glx/indirect_dispatch.c | 4152 ++-- xserver/glx/indirect_dispatch.h | 602 +- xserver/glx/indirect_dispatch_swap.c | 5005 ++-- xserver/glx/indirect_program.c | 63 +- xserver/glx/indirect_reqsize.c | 109 +- xserver/glx/indirect_reqsize.h | 47 +- xserver/glx/indirect_size.h | 12 +- xserver/glx/indirect_size_get.c | 204 +- xserver/glx/indirect_size_get.h | 16 +- xserver/glx/indirect_table.c | 468 +- xserver/glx/indirect_texture_compression.c | 27 +- xserver/glx/indirect_util.c | 7 +- xserver/glx/render2.c | 77 +- xserver/glx/render2swap.c | 77 +- xserver/glx/renderpix.c | 26 +- xserver/glx/renderpixswap.c | 26 +- xserver/glx/single2.c | 18 +- xserver/glx/single2swap.c | 16 +- xserver/glx/singlepix.c | 87 +- xserver/glx/singlepixswap.c | 88 +- xserver/glx/singlesize.c | 10 +- xserver/glx/swap_interval.c | 4 - xserver/glx/xfont.c | 30 +- xserver/hw/Makefile.in | 11 +- xserver/hw/dmx/Makefile.am | 2 - xserver/hw/dmx/Makefile.in | 30 +- xserver/hw/dmx/config/Makefile.in | 11 +- xserver/hw/dmx/config/dmxcompat.c | 4 + xserver/hw/dmx/config/man/Makefile.in | 11 +- xserver/hw/dmx/dmx.h | 4 - xserver/hw/dmx/dmx_glxvisuals.c | 32 +- xserver/hw/dmx/dmxcursor.c | 2 - xserver/hw/dmx/dmxextension.c | 3 + xserver/hw/dmx/dmxinit.c | 16 +- xserver/hw/dmx/dmxpict.c | 4 - xserver/hw/dmx/dmxscrinit.c | 239 +- xserver/hw/dmx/dmxshadow.c | 70 - xserver/hw/dmx/dmxshadow.h | 46 - xserver/hw/dmx/doc/Makefile.in | 11 +- xserver/hw/dmx/doxygen/Makefile.in | 11 +- xserver/hw/dmx/examples/Makefile.in | 11 +- xserver/hw/dmx/glxProxy/Makefile.am | 1 - xserver/hw/dmx/glxProxy/Makefile.in | 20 +- xserver/hw/dmx/glxProxy/glxcmds.c | 60 +- xserver/hw/dmx/glxProxy/glxext.c | 6 - xserver/hw/dmx/glxProxy/glxscreens.c | 9 +- xserver/hw/dmx/glxProxy/glxserver.h | 2 - xserver/hw/dmx/glxProxy/glxsingle.c | 36 +- xserver/hw/dmx/glxProxy/glxutil.c | 37 - xserver/hw/dmx/glxProxy/glxutil.h | 2 - xserver/hw/dmx/glxProxy/glxvendor.c | 34 +- xserver/hw/dmx/input/Makefile.in | 11 +- xserver/hw/dmx/input/dmxbackend.c | 6 +- xserver/hw/dmx/input/dmxcommon.c | 5 - xserver/hw/dmx/input/dmxevents.c | 3 +- xserver/hw/dmx/input/usb-private.h | 4 +- xserver/hw/dmx/man/Makefile.in | 11 +- xserver/hw/dmx/man/Xdmx.man | 10 - xserver/hw/kdrive/Makefile.in | 11 +- xserver/hw/kdrive/ephyr/Makefile.am | 93 +- xserver/hw/kdrive/ephyr/Makefile.in | 226 +- xserver/hw/kdrive/ephyr/XF86dri.c | 647 - xserver/hw/kdrive/ephyr/ephyr.c | 486 +- xserver/hw/kdrive/ephyr/ephyr.h | 20 +- xserver/hw/kdrive/ephyr/ephyrdri.c | 202 +- xserver/hw/kdrive/ephyr/ephyrdri.h | 2 +- xserver/hw/kdrive/ephyr/ephyrdriext.c | 32 +- xserver/hw/kdrive/ephyr/ephyrglxext.c | 14 +- xserver/hw/kdrive/ephyr/ephyrhostglx.c | 664 +- xserver/hw/kdrive/ephyr/ephyrhostglx.h | 11 +- xserver/hw/kdrive/ephyr/ephyrhostproxy.c | 91 - xserver/hw/kdrive/ephyr/ephyrhostproxy.h | 51 - xserver/hw/kdrive/ephyr/ephyrhostvideo.c | 975 - xserver/hw/kdrive/ephyr/ephyrhostvideo.h | 231 - xserver/hw/kdrive/ephyr/ephyrinit.c | 43 +- xserver/hw/kdrive/ephyr/ephyrproxyext.c | 115 - xserver/hw/kdrive/ephyr/ephyrproxyext.h | 33 - xserver/hw/kdrive/ephyr/ephyrvideo.c | 772 +- xserver/hw/kdrive/ephyr/hostx.c | 1217 +- xserver/hw/kdrive/ephyr/hostx.h | 102 +- xserver/hw/kdrive/ephyr/man/Makefile.in | 11 +- xserver/hw/kdrive/ephyr/man/Xephyr.man | 6 +- xserver/hw/kdrive/ephyr/os.c | 2 +- xserver/hw/kdrive/ephyr/xf86dri.h | 124 - xserver/hw/kdrive/fake/Makefile.am | 2 +- xserver/hw/kdrive/fake/Makefile.in | 13 +- xserver/hw/kdrive/fbdev/Makefile.am | 2 +- xserver/hw/kdrive/fbdev/Makefile.in | 13 +- xserver/hw/kdrive/fbdev/fbdev.c | 173 +- xserver/hw/kdrive/fbdev/fbdev.h | 2 +- xserver/hw/kdrive/linux/Makefile.am | 2 +- xserver/hw/kdrive/linux/Makefile.in | 13 +- xserver/hw/kdrive/linux/evdev.c | 2 +- xserver/hw/kdrive/linux/linux.c | 2 +- xserver/hw/kdrive/linux/mouse.c | 12 +- xserver/hw/kdrive/linux/ps2.c | 2 +- xserver/hw/kdrive/openbsd/Makefile.in | 11 +- xserver/hw/kdrive/src/Makefile.am | 2 +- xserver/hw/kdrive/src/Makefile.in | 13 +- xserver/hw/kdrive/src/kdrive.c | 12 +- xserver/hw/kdrive/src/kdrive.h | 14 +- xserver/hw/kdrive/src/kinput.c | 40 +- xserver/hw/kdrive/src/kxv.c | 2 - xserver/hw/kdrive/wscons/Makefile.in | 11 +- xserver/hw/vfb/Makefile.in | 11 +- xserver/hw/vfb/man/Makefile.in | 11 +- xserver/hw/xfree86/Makefile.am | 43 +- xserver/hw/xfree86/Makefile.in | 79 +- xserver/hw/xfree86/common/Makefile.am | 2 +- xserver/hw/xfree86/common/Makefile.in | 13 +- xserver/hw/xfree86/common/compiler.h | 2 +- xserver/hw/xfree86/common/xf86.h | 25 - xserver/hw/xfree86/common/xf86AutoConfig.c | 17 +- xserver/hw/xfree86/common/xf86Config.c | 16 +- xserver/hw/xfree86/common/xf86Configure.c | 2 + xserver/hw/xfree86/common/xf86Cursor.c | 3 - xserver/hw/xfree86/common/xf86DPMS.c | 9 +- xserver/hw/xfree86/common/xf86Events.c | 32 +- xserver/hw/xfree86/common/xf86Helper.c | 14 +- xserver/hw/xfree86/common/xf86Mode.c | 17 +- xserver/hw/xfree86/common/xf86Module.h | 6 +- xserver/hw/xfree86/common/xf86Option.c | 2 +- xserver/hw/xfree86/common/xf86RandR.c | 16 +- xserver/hw/xfree86/common/xf86fbman.c | 12 +- xserver/hw/xfree86/common/xf86sbusBus.c | 6 +- xserver/hw/xfree86/common/xf86xvmc.c | 4 +- xserver/hw/xfree86/ddc/Makefile.am | 2 +- xserver/hw/xfree86/ddc/Makefile.in | 13 +- xserver/hw/xfree86/ddc/ddc.c | 7 +- xserver/hw/xfree86/ddc/xf86DDC.h | 2 - xserver/hw/xfree86/dixmods/Makefile.am | 4 +- xserver/hw/xfree86/dixmods/Makefile.in | 19 +- xserver/hw/xfree86/dixmods/extmod/modinit.h | 80 - xserver/hw/xfree86/dixmods/glxmodule.c | 3 - xserver/hw/xfree86/doc/Makefile.in | 11 +- xserver/hw/xfree86/dri/Makefile.in | 11 +- xserver/hw/xfree86/dri2/Makefile.in | 11 +- xserver/hw/xfree86/dri2/dri2.c | 19 +- xserver/hw/xfree86/dri2/dri2ext.c | 5 + xserver/hw/xfree86/exa/Makefile.am | 2 +- xserver/hw/xfree86/exa/Makefile.in | 13 +- xserver/hw/xfree86/exa/man/Makefile.in | 11 +- xserver/hw/xfree86/fbdevhw/Makefile.am | 2 +- xserver/hw/xfree86/fbdevhw/Makefile.in | 13 +- xserver/hw/xfree86/fbdevhw/fbdevhw.c | 1 + xserver/hw/xfree86/fbdevhw/man/Makefile.in | 11 +- xserver/hw/xfree86/i2c/Makefile.am | 2 +- xserver/hw/xfree86/i2c/Makefile.in | 13 +- xserver/hw/xfree86/int10/Makefile.am | 6 +- xserver/hw/xfree86/int10/Makefile.in | 16 +- xserver/hw/xfree86/loader/Makefile.am | 2 +- xserver/hw/xfree86/loader/Makefile.in | 13 +- xserver/hw/xfree86/man/Makefile.in | 11 +- xserver/hw/xfree86/man/xorg.conf.man | 18 +- xserver/hw/xfree86/modes/Makefile.am | 6 +- xserver/hw/xfree86/modes/Makefile.in | 19 +- xserver/hw/xfree86/modes/xf86Crtc.c | 112 +- xserver/hw/xfree86/modes/xf86Crtc.h | 3 - xserver/hw/xfree86/modes/xf86DisplayIDModes.c | 1 + xserver/hw/xfree86/modes/xf86Modes.h | 6 +- xserver/hw/xfree86/modes/xf86RandR12.c | 1 + xserver/hw/xfree86/modes/xf86RandR12.h | 3 - xserver/hw/xfree86/modes/xf86Rename.h | 94 - xserver/hw/xfree86/modes/xf86Rotate.c | 6 +- xserver/hw/xfree86/os-support/Makefile.in | 11 +- xserver/hw/xfree86/os-support/bsd/Makefile.am | 2 +- xserver/hw/xfree86/os-support/bsd/Makefile.in | 21 +- xserver/hw/xfree86/os-support/bus/Makefile.am | 2 +- xserver/hw/xfree86/os-support/bus/Makefile.in | 13 +- xserver/hw/xfree86/os-support/bus/Sbus.c | 8 +- .../hw/xfree86/os-support/hurd/Makefile.am | 2 +- .../hw/xfree86/os-support/hurd/Makefile.in | 13 +- .../hw/xfree86/os-support/hurd/hurd_init.c | 1 + .../hw/xfree86/os-support/hurd/hurd_mmap.c | 1 + .../hw/xfree86/os-support/hurd/hurd_video.c | 1 + .../hw/xfree86/os-support/linux/Makefile.am | 2 +- .../hw/xfree86/os-support/linux/Makefile.in | 13 +- .../xfree86/os-support/linux/lnx_platform.c | 14 +- .../hw/xfree86/os-support/linux/lnx_video.c | 3 +- .../hw/xfree86/os-support/misc/Makefile.am | 2 +- .../hw/xfree86/os-support/misc/Makefile.in | 13 +- xserver/hw/xfree86/os-support/shared/vidmem.c | 13 - .../hw/xfree86/os-support/solaris/Makefile.am | 2 +- .../hw/xfree86/os-support/solaris/Makefile.in | 13 +- .../hw/xfree86/os-support/stub/Makefile.am | 2 +- .../hw/xfree86/os-support/stub/Makefile.in | 13 +- xserver/hw/xfree86/os-support/xf86OSpriv.h | 2 - xserver/hw/xfree86/os-support/xf86_OSlib.h | 5 - xserver/hw/xfree86/os-support/xf86_OSproc.h | 2 - xserver/hw/xfree86/parser/Makefile.am | 2 +- xserver/hw/xfree86/parser/Makefile.in | 13 +- xserver/hw/xfree86/ramdac/Makefile.am | 2 +- xserver/hw/xfree86/ramdac/Makefile.in | 13 +- xserver/hw/xfree86/ramdac/xf86Cursor.c | 1 - xserver/hw/xfree86/sdksyms.sh | 4 + xserver/hw/xfree86/shadowfb/Makefile.am | 2 +- xserver/hw/xfree86/shadowfb/Makefile.in | 13 +- xserver/hw/xfree86/utils/Makefile.in | 11 +- xserver/hw/xfree86/utils/cvt/Makefile.am | 3 +- xserver/hw/xfree86/utils/cvt/Makefile.in | 14 +- xserver/hw/xfree86/utils/cvt/cvt.c | 1 + xserver/hw/xfree86/utils/gtf/Makefile.in | 11 +- xserver/hw/xfree86/utils/man/Makefile.in | 11 +- xserver/hw/xfree86/vbe/Makefile.am | 3 +- xserver/hw/xfree86/vbe/Makefile.in | 14 +- xserver/hw/xfree86/vbe/vbe.c | 18 +- xserver/hw/xfree86/vgahw/Makefile.am | 2 +- xserver/hw/xfree86/vgahw/Makefile.in | 13 +- xserver/hw/xfree86/x86emu/Makefile.am | 2 +- xserver/hw/xfree86/x86emu/Makefile.in | 13 +- xserver/hw/xfree86/x86emu/decode.c | 10 + xserver/hw/xfree86/x86emu/x86emu/regs.h | 9 + xserver/hw/xfree86/x86emu/x86emu/x86emui.h | 12 +- xserver/hw/xnest/Args.h | 2 +- xserver/hw/xnest/GCOps.c | 13 + xserver/hw/xnest/Makefile.in | 11 +- xserver/hw/xnest/Pixmap.c | 15 + xserver/hw/xnest/Screen.c | 1 + xserver/hw/xnest/XNPixmap.h | 2 + xserver/hw/xnest/man/Makefile.in | 11 +- xserver/hw/xquartz/GL/Makefile.in | 11 +- xserver/hw/xquartz/GL/glcontextmodes.c | 587 - xserver/hw/xquartz/GL/glcontextmodes.h | 60 - xserver/hw/xquartz/GL/indirect.c | 26 +- xserver/hw/xquartz/GL/visualConfigs.c | 6 +- xserver/hw/xquartz/Makefile.am | 5 +- xserver/hw/xquartz/Makefile.in | 25 +- xserver/hw/xquartz/X11Application.m | 13 + xserver/hw/xquartz/X11Controller.m | 10 +- xserver/hw/xquartz/applewm.c | 16 + xserver/hw/xquartz/bundle/Info.plist.cpp | 4 +- xserver/hw/xquartz/bundle/Makefile.in | 11 +- xserver/hw/xquartz/darwinfb.h | 2 +- xserver/hw/xquartz/mach-startup/Makefile.in | 11 +- xserver/hw/xquartz/mach-startup/stub.c | 4 + xserver/hw/xquartz/man/Makefile.in | 11 +- xserver/hw/xquartz/pbproxy/Makefile.in | 11 +- xserver/hw/xquartz/pbproxy/x-selection.m | 3 +- xserver/hw/xquartz/quartz.c | 3 + xserver/hw/xquartz/xpr/Makefile.am | 1 + xserver/hw/xquartz/xpr/Makefile.in | 12 +- xserver/hw/xquartz/xpr/appledri.c | 10 + xserver/hw/xquartz/xpr/x-hook.c | 29 +- xserver/hw/xquartz/xpr/xprCursor.c | 2 - xserver/hw/xwin/InitInput.c | 1 - xserver/hw/xwin/InitOutput.c | 40 + xserver/hw/xwin/Makefile.am | 10 +- xserver/hw/xwin/Makefile.in | 40 +- xserver/hw/xwin/XWin.exe.manifest | 2 +- xserver/hw/xwin/glx/Makefile.am | 36 +- xserver/hw/xwin/glx/Makefile.in | 152 +- xserver/hw/xwin/glx/gen_gl_wrappers.py | 730 +- xserver/hw/xwin/glx/glshim.c | 124 + xserver/hw/xwin/glx/{glwrap.c => glthunk.c} | 77 +- xserver/hw/xwin/glx/glwindows.h | 7 +- xserver/hw/xwin/glx/indirect.c | 45 +- xserver/hw/xwin/man/Makefile.in | 11 +- xserver/hw/xwin/win.h | 29 +- xserver/hw/xwin/winauth.c | 7 +- xserver/hw/xwin/winclipboard.h | 4 - xserver/hw/xwin/winclipboardthread.c | 16 +- xserver/hw/xwin/winclipboardwndproc.c | 11 - xserver/hw/xwin/winclipboardwrappers.c | 2 - xserver/hw/xwin/wincursor.c | 43 +- xserver/hw/xwin/windialogs.c | 74 +- xserver/hw/xwin/winfillsp.c | 2 +- xserver/hw/xwin/winglobals.c | 2 +- xserver/hw/xwin/winglobals.h | 5 +- xserver/hw/xwin/winkeybd.c | 64 +- xserver/hw/xwin/winmessages.h | 2 +- xserver/hw/xwin/winmouse.c | 50 +- xserver/hw/xwin/winmsgwindow.c | 180 + xserver/hw/xwin/winmultiwindowclass.c | 31 +- xserver/hw/xwin/winmultiwindowclass.h | 2 +- xserver/hw/xwin/winmultiwindowicons.c | 6 +- xserver/hw/xwin/winmultiwindowwindow.c | 15 +- xserver/hw/xwin/winmultiwindowwm.c | 56 +- xserver/hw/xwin/winmultiwindowwndproc.c | 30 +- xserver/hw/xwin/winpfbdd.c | 13 - xserver/hw/xwin/winprefs.c | 29 +- xserver/hw/xwin/winprefs.h | 10 +- xserver/hw/xwin/winscrinit.c | 6 +- xserver/hw/xwin/winsetsp.c | 52 +- xserver/hw/xwin/wintrayicon.c | 2 +- xserver/hw/xwin/winwin32rootless.c | 44 +- xserver/hw/xwin/winwin32rootlesswindow.c | 8 +- xserver/hw/xwin/winwin32rootlesswndproc.c | 27 +- xserver/hw/xwin/winwindow.c | 4 - xserver/hw/xwin/winwindow.h | 1 + xserver/hw/xwin/winwindowswm.c | 21 +- xserver/hw/xwin/winwndproc.c | 27 +- xserver/include/Makefile.am | 1 + xserver/include/Makefile.in | 12 +- xserver/include/busfault.h | 48 + xserver/include/callback.h | 1 + xserver/include/cursorstr.h | 2 - xserver/include/dix-config.h.in | 29 + xserver/include/dixstruct.h | 23 +- xserver/include/do-not-use-config.h.in | 65 +- xserver/include/extinit.h | 12 +- xserver/include/input.h | 17 +- xserver/include/inputstr.h | 2 +- xserver/include/list.h | 2 +- xserver/include/misc.h | 29 + xserver/include/os.h | 10 + xserver/include/privates.h | 1 - xserver/include/protocol-versions.h | 12 + xserver/include/regionstr.h | 2 + xserver/include/registry.h | 2 + xserver/include/servermd.h | 14 + xserver/include/xkbsrv.h | 3 + xserver/include/xorg-config.h.in | 3 + xserver/include/xorg-server.h.in | 12 + xserver/man/Makefile.in | 11 +- xserver/mi/Makefile.in | 11 +- xserver/mi/mieq.c | 2 +- xserver/mi/miinitext.c | 11 +- xserver/mi/mipointer.c | 23 +- xserver/mi/mipointer.h | 12 - xserver/mi/misprite.c | 10 +- xserver/mi/miwideline.c | 6 +- xserver/miext/Makefile.in | 11 +- xserver/miext/damage/Makefile.am | 2 +- xserver/miext/damage/Makefile.in | 13 +- xserver/miext/damage/damage.c | 151 +- xserver/miext/damage/damage.h | 20 +- xserver/miext/damage/damagestr.h | 3 - xserver/miext/rootless/Makefile.in | 11 +- xserver/miext/rootless/rootlessWindow.c | 6 +- xserver/miext/shadow/Makefile.am | 5 + xserver/miext/shadow/Makefile.in | 25 +- xserver/miext/shadow/c2p_core.h | 187 + xserver/miext/shadow/shadow.c | 2 +- xserver/miext/shadow/shadow.h | 12 + xserver/miext/shadow/shafb4.c | 139 + xserver/miext/shadow/shafb8.c | 143 + xserver/miext/shadow/shiplan2p4.c | 136 + xserver/miext/shadow/shiplan2p8.c | 137 + xserver/miext/shadow/shpacked.c | 1 - xserver/miext/sync/Makefile.am | 11 +- xserver/miext/sync/Makefile.in | 36 +- xserver/miext/sync/misync.c | 46 +- xserver/miext/sync/misync.h | 23 +- xserver/miext/sync/misyncfd.c | 99 + xserver/miext/sync/misyncfd.h | 45 + xserver/miext/sync/misyncshm.c | 186 + xserver/miext/sync/misyncshm.h | 28 + xserver/miext/sync/misyncstr.h | 15 + xserver/os/Makefile.am | 10 + xserver/os/Makefile.in | 40 +- xserver/os/WaitFor.c | 5 + xserver/os/access.c | 8 +- xserver/os/backtrace.c | 80 +- xserver/os/busfault.c | 150 + xserver/os/connection.c | 2 +- xserver/os/io.c | 100 +- xserver/os/log.c | 3 + xserver/os/osinit.c | 19 +- xserver/os/utils.c | 80 +- xserver/os/xstrans.c | 2 + xserver/present/Makefile.am | 17 + xserver/present/Makefile.in | 840 + xserver/present/present.c | 911 + xserver/present/present.h | 127 + xserver/present/present_event.c | 247 + xserver/present/present_fake.c | 140 + xserver/present/present_fence.c | 139 + xserver/present/present_notify.c | 114 + xserver/present/present_priv.h | 302 + xserver/present/present_request.c | 331 + xserver/present/present_screen.c | 236 + xserver/present/presentext.h | 29 + xserver/pseudoramiX/Makefile.am | 7 + xserver/pseudoramiX/Makefile.in | 766 + .../{hw/xquartz => pseudoramiX}/pseudoramiX.c | 0 .../{hw/xquartz => pseudoramiX}/pseudoramiX.h | 0 xserver/randr/Makefile.in | 11 +- xserver/randr/randrstr.h | 4 +- xserver/randr/rrcrtc.c | 9 +- xserver/record/Makefile.in | 11 +- xserver/record/record.c | 4 + xserver/render/Makefile.in | 11 +- xserver/test/Makefile.am | 19 +- xserver/test/Makefile.in | 48 +- xserver/test/input.c | 2 +- xserver/test/xi2/Makefile.am | 2 +- xserver/test/xi2/Makefile.in | 13 +- .../test/xi2/protocol-xipassivegrabdevice.c | 9 +- xserver/xfixes/Makefile.in | 11 +- xserver/xfixes/cursor.c | 10 +- xserver/xfixes/region.c | 26 + xserver/xkb/Makefile.in | 11 +- xserver/xkb/XKM_file_format.txt | 684 - xserver/xkb/xkb.c | 3 +- xserver/xkb/xkbActions.c | 151 +- xserver/xkb/xkbInit.c | 26 +- 514 files changed, 28402 insertions(+), 54598 deletions(-) delete mode 100644 xserver/config.h.in create mode 100644 xserver/config/10-quirks.conf delete mode 100644 xserver/config/dbus-api create mode 100644 xserver/config/non-seat0.conf.multi-seat delete mode 100644 xserver/damageext/damageext.h delete mode 100644 xserver/dbe/midbestr.h create mode 100644 xserver/dix/stubmain.c delete mode 100644 xserver/doc/c-extensions create mode 100644 xserver/dri3/Makefile.am create mode 100644 xserver/dri3/Makefile.in create mode 100644 xserver/dri3/dri3.c create mode 100644 xserver/dri3/dri3.h create mode 100644 xserver/dri3/dri3_priv.h create mode 100644 xserver/dri3/dri3_request.c create mode 100644 xserver/dri3/dri3_screen.c delete mode 100644 xserver/fix-miregion delete mode 100644 xserver/fix-miregion-private delete mode 100644 xserver/fix-patch-whitespace delete mode 100644 xserver/fix-region delete mode 100644 xserver/glx/dispatch.h delete mode 100644 xserver/glx/glapi.c delete mode 100644 xserver/glx/glapi.h delete mode 100644 xserver/glx/glapi_gentable.c delete mode 100644 xserver/glx/glapitable.h delete mode 100644 xserver/glx/glprocs.h delete mode 100644 xserver/glx/glthread.c delete mode 100644 xserver/glx/glthread.h delete mode 100644 xserver/glx/glxdri.c delete mode 100644 xserver/hw/dmx/dmxshadow.c delete mode 100644 xserver/hw/dmx/dmxshadow.h delete mode 100644 xserver/hw/dmx/glxProxy/glxutil.c delete mode 100644 xserver/hw/kdrive/ephyr/XF86dri.c delete mode 100644 xserver/hw/kdrive/ephyr/ephyrhostproxy.c delete mode 100644 xserver/hw/kdrive/ephyr/ephyrhostproxy.h delete mode 100644 xserver/hw/kdrive/ephyr/ephyrhostvideo.c delete mode 100644 xserver/hw/kdrive/ephyr/ephyrhostvideo.h delete mode 100644 xserver/hw/kdrive/ephyr/ephyrproxyext.c delete mode 100644 xserver/hw/kdrive/ephyr/ephyrproxyext.h delete mode 100644 xserver/hw/kdrive/ephyr/xf86dri.h delete mode 100644 xserver/hw/xfree86/dixmods/extmod/modinit.h delete mode 100644 xserver/hw/xfree86/modes/xf86Rename.h delete mode 100644 xserver/hw/xquartz/GL/glcontextmodes.c delete mode 100644 xserver/hw/xquartz/GL/glcontextmodes.h create mode 100644 xserver/hw/xwin/glx/glshim.c rename xserver/hw/xwin/glx/{glwrap.c => glthunk.c} (55%) create mode 100644 xserver/hw/xwin/winmsgwindow.c create mode 100644 xserver/include/busfault.h create mode 100644 xserver/miext/shadow/c2p_core.h create mode 100644 xserver/miext/shadow/shafb4.c create mode 100644 xserver/miext/shadow/shafb8.c create mode 100644 xserver/miext/shadow/shiplan2p4.c create mode 100644 xserver/miext/shadow/shiplan2p8.c create mode 100644 xserver/miext/sync/misyncfd.c create mode 100644 xserver/miext/sync/misyncfd.h create mode 100644 xserver/miext/sync/misyncshm.c create mode 100644 xserver/miext/sync/misyncshm.h create mode 100644 xserver/os/busfault.c create mode 100644 xserver/present/Makefile.am create mode 100644 xserver/present/Makefile.in create mode 100644 xserver/present/present.c create mode 100644 xserver/present/present.h create mode 100644 xserver/present/present_event.c create mode 100644 xserver/present/present_fake.c create mode 100644 xserver/present/present_fence.c create mode 100644 xserver/present/present_notify.c create mode 100644 xserver/present/present_priv.h create mode 100644 xserver/present/present_request.c create mode 100644 xserver/present/present_screen.c create mode 100644 xserver/present/presentext.h create mode 100644 xserver/pseudoramiX/Makefile.am create mode 100644 xserver/pseudoramiX/Makefile.in rename xserver/{hw/xquartz => pseudoramiX}/pseudoramiX.c (100%) rename xserver/{hw/xquartz => pseudoramiX}/pseudoramiX.h (100%) delete mode 100644 xserver/xkb/XKM_file_format.txt diff --git a/xserver/COPYING b/xserver/COPYING index 7aa0df080..cc52a3282 100644 --- a/xserver/COPYING +++ b/xserver/COPYING @@ -20,6 +20,7 @@ Copyright © 1999 Keith Packard Copyright © 2007-2009 Red Hat, Inc. Copyright © 2005-2008 Daniel Stone Copyright © 2006-2009 Simon Thum +Copyright © 2003-2008, 2013 Geert Uytterhoeven Copyright © 2006 Luc Verhaegen Permission is hereby granted, free of charge, to any person obtaining a diff --git a/xserver/ChangeLog b/xserver/ChangeLog index 5aabd0e52..83ced7328 100644 --- a/xserver/ChangeLog +++ b/xserver/ChangeLog @@ -1,23 +1,1988 @@ -commit 200f98894a43114586eb2d4405e766e8a4a59221 +commit 9182af8a09c326bb4b01d3645fb2936e93f02242 Author: Matt Dew -Date: Thu Dec 12 20:51:27 2013 -0700 +Date: Sun Apr 13 20:55:40 2014 -0600 - bump version from 1.14.4.901 to 1.14.5 + Bump version to 1.15.1 -commit c30db601a619b741260f02aa08ccec57ab9d43ba +commit eec04d76a39a7334de4e00ef9f0f6e44c92b3d91 +Author: Eric Anholt +Date: Thu Mar 6 18:50:07 2014 -0800 + + glx: Clear new FBConfig attributes to 0 by default. + + The visualSelectGroup wasn't getting set (since our DRI drivers don't + use it), and and since it's the top priority in the sort order, you + got random sorting of your visuals unless malloc really returned you + new memory. This manifested as Xephyr -glamor rendering to a + multisampled window on my system, which as you might guess was + slightly lower performance than expected. + + Signed-off-by: Eric Anholt + Reviewed-by: Michel Dänzer + +commit d6268c25a8d33241d817977a84f127f8ef0cb9ee +Author: Julien Cristau +Date: Wed Mar 26 23:24:20 2014 +0100 + + Xephyr: restore initial window resize lost in xcb conversion + + The XResizeWindow call wasn't replaced by the xcb equivalent, so we + were no longer setting the initial window size, only wm size hints. + + Regression from commit a2b73da "Xephyr: start converting hostx.c over to + xcb" + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74849 + + Signed-off-by: Julien Cristau + Reported-by: Laércio de Sousa + Tested-by: Jon TURNEY + Reviewed-by: Jon TURNEY + Signed-off-by: Keith Packard + +commit 300458fb8ad0a7957e941cd65f47d204c7886e22 Author: Matt Dew -Date: Thu Nov 21 21:55:35 2013 -0700 +Date: Fri Mar 21 23:49:41 2014 -0600 - bump version to 1.14.4.901 + Bump bersion to 1.15.0.901 -commit 384588bd8408d50b1b29b174af75c7b1cd3ff60d -Merge: 6cc5efa 7ddc6f7 +commit c971864565eb114e4b34f17b0d2244e8e6e1e005 +Author: Peter Hutterer +Date: Wed Feb 26 07:54:56 2014 +1000 + + config: search for PnPID on all parents (#75513) + + The PnPID for a device may not be on the immediate parent, so search up the + device tree until we find one. + + X.Org Bug 75513 + + Signed-off-by: Peter Hutterer + Tested-by: Benjamin Tissoires + (cherry picked from commit 795066477ee81b5b82e490eac8bed6b656d01f17) + +commit 2cbbe80efc485d2d05b06efe1e2e01f81f3e06f6 +Author: Peter Hutterer +Date: Thu Feb 20 13:18:05 2014 +1000 + + Xi: check for invalid modifiers for XI2 passive grabs + + The other values are checked correctly, but if a modifier was outside the + allowed range, it would go unnoticed and cause a out-of-bounds read error for + any mask equal or larger than 256. The DetailRec where we store the grab masks + is only sized to 8 * sizeof(Mask). + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + (cherry picked from commit 0f10cfd4b903d4db293ec47c8a9a0d8b33965803) + +commit b3656c0b52d57333c64f932676a237d0f3a97f36 +Author: Mark Kettenis +Date: Sun Dec 15 14:31:10 2013 +0100 + + sync: Avoid ridiculously long timeouts + + On OpenBSD, passing a timeout longer than 100000000 seconds to select(2) will + make it fail with EINVAL. As this is original 4.4BSD behaviour it is not + inconceivable that other systems suffer from the same problem. And Linux, + though not suffering from any 4.4BSD heritage, briefly did something similar: + + + + So avoid calling AdjustWaitForDelay() instead of setting the timeout to + (effectively) ULONG_MAX milliseconds. + + Signed-off-by: Mark Kettenis + Reviewed-by: Matthieu Herrb + (cherry picked from commit ddeca927498c9df3b5e62c7bf05e31e2a3aeaa52) + +commit b332cd20ee14049606e3656490d13a8efa6b23ee +Merge: f41ab8c 5e0432f Author: Matt Dew -Date: Sat Nov 16 15:27:35 2013 -0700 +Date: Thu Mar 6 22:03:03 2014 -0700 - Merge commit '7ddc6f7f1ed0e0f85b2d617c59d75d5de1cd2d5a' into server-1.14-branch + Merge branch 'server-1.15-branch' of git://people.freedesktop.org/~jeremyhu/xserver into server-1.15-branch -commit 6cc5efa68e5fdc301ab9a381bffe88fe5c7865e2 +commit f41ab8c60780ea8f87354e536e5b73cb23878eb7 +Author: Peter Hutterer +Date: Fri Jan 24 18:32:54 2014 +1000 + + dix: prevent a driver from initializing or submitting buttons > MAX_BUTTONS + + The server internally relies on arrays with a MAX_BUTTONS maximum size (which + is the max the core protocol can transport). Make sure a driver adheres to + that. + + Signed-off-by: Peter Hutterer + Reviewed-by: Daniel Stone + (cherry picked from commit 87ca80a7196949597113225405f3e4ee03bbee13) + +commit 4447d71b9a74afe91aaf4cc01eae12a44ef09306 +Author: Alan Coopersmith +Date: Tue Jan 28 20:27:51 2014 -0800 + + xf86DeleteScreen: move check for NULL pScrn before first dereference + + Flagged by cppcheck 1.62: + [hw/xfree86/common/xf86Helper.c:220] -> [hw/xfree86/common/xf86Helper.c:231]: + (warning) Possible null pointer dereference: pScrn - otherwise it is + redundant to check it against null. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + Signed-off-by: Keith Packard + (cherry picked from commit c1ac89c793614797e08d3d8e7fc9ba55be899130) + +commit 2ac840a14958fe74170518ee2c3a6b2dd88b20bd +Author: Alan Coopersmith +Date: Tue Jan 28 20:27:50 2014 -0800 + + On realloc failure, free font_path_string instead of leaking it + + Flagged by cppcheck 1.62: + [dix/dixfonts.c:1792]: (error) Common realloc mistake: + 'font_path_string' nulled but not freed upon failure + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + Signed-off-by: Keith Packard + (cherry picked from commit e6733ae91b7be52930f22a87de15fa05819ef948) + +commit 157cc02fc13c998bba70e1652907972015e15e8e +Author: Alan Coopersmith +Date: Fri Jan 24 23:42:49 2014 -0800 + + Check for calloc() failure in add_master() + + Reported-by: Ilja Van Sprundel + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit 9fc19168e7ca6308275bf8769d1ccb982f88465b) + +commit f11c5938d732af717aeebbbf3b356138f3411bb7 +Author: Peter Hutterer +Date: Fri Jan 24 16:51:02 2014 +1000 + + Xi: fix modifier offset in XIPassiveGrab swapping function + + The request is followed by mask_len 4-byte units, then followed by the actual + modifiers. + + Also fix up the swapping test, which had the same issue. + + Reported-by: Alan Coopersmith + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + (cherry picked from commit 76b3be75b62657e346731444736f7e4d200beb5b) + + Conflicts: + test/xi2/protocol-xipassivegrabdevice.c + +commit 345b7ead1dd262020e10b4aeb71044d46d16e134 +Author: Peter Hutterer +Date: Mon Jan 13 17:00:23 2014 +1000 + + os: restrict display names to digits + + We call atoi() on the server's display to get the socket but otherwise use the + unmodified display for log file name, xkb paths, etc. This results in + Xorg :banana being the equivalent of Xorg :0, except for the log files being + in /var/log/Xorg.banana.log. I'm not sure there's a good use-case for this + behaviour. + + Check the display for something that looks reasonable, i.e. digits only, but + do allow for :0.0 (i.e. digits, followed by a period, followed by one or two + digits). + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + (cherry picked from commit 71baa466b1f6b02fe503f9a3089b7b9d61aa0f80) + +commit 940d6a8e9d3544696654d5e68c615ab887f81945 +Author: Carlos Garnacho +Date: Thu Jan 2 21:33:30 2014 +0100 + + Xi: Ensure DeviceChanged is emitted after grabs are deactivated + + When a grab on a slave device is deactivated, the master device must + be checked, just in case there were events from other devices while + the slave device was stolen away by the passive grab. This may + introduce misbehaviors on mismatching valuators and device features + later on UpdateDeviceState(). + + Signed-off-by: Carlos Garnacho + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + (cherry picked from commit b2d5ee2e3684951b611fd2068d57cc65fd8305a3) + +commit 47da6e3f47a55aeeef2c849067dd2d09fc2fe481 +Author: Peter Hutterer +Date: Fri Jan 24 18:16:54 2014 +1000 + + dix: fix button state check before changing a button mapping + + dev->button->down is a bitmask, not a normal array. Use the helper function to + check, we technically allow the mapping to change after the physical button + has been pressed (but not yet processed yet), so only check BUTTON_PROCESSED. + + From XSetPointerMapping(3): + "If any of the buttons to be altered are logically in the down state, + XSetPointerMapping returns MappingBusy, and the mapping is not changed." + + Reported-by: Ilja Van Sprundel + Signed-off-by: Peter Hutterer + Reviewed-by: Daniel Stone + (cherry picked from commit 25d10464f440b8b34594b7c988a99a830ea39a29) + +commit 5e0432f797d58fe1a69ef538694f65bbba38737f +Author: Jeremy Huddleston Sequoia +Date: Wed Jan 1 11:10:41 2014 -0800 + + XQuartz: Avoid passing uninitialized pointers to X11ApplicationSetWindowMenu in AppleWMSetWindowMenu + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit 77df653ae3d8448be21221711851acde12c6bc1a) + +commit 859ced56d9ee168796c2fcf7fa6056e0c1491f3a +Author: Jeremy Huddleston Sequoia +Date: Wed Jan 1 11:04:07 2014 -0800 + + XQuartz: Check for allocated memory before using it in AppleWMSetWindowMenu + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit 3bc608a361a01043b226fb9aaebf88f6fd852925) + +commit 9444955d16f85926c75ee8eafb0ca796dcf16439 +Author: Jeremy Huddleston Sequoia +Date: Wed Jan 1 11:00:40 2014 -0800 + + XQuartz: Silence a clang static analysis warning about a memory leak + + It seems the alanyzer can't comprehend dixSetPrivate(). + + quartz.c:119:12: warning: Potential leak of memory pointed to by 'displayInfo' + return quartzProcs->AddScreen(index, pScreen); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit 64327226ddfba8f0653615cd678d2d4336fb993d) + +commit 64b0669d1c062e7e11fb0e3b8ea7fe56113fc86f +Author: Jeremy Huddleston Sequoia +Date: Wed Jan 1 10:55:10 2014 -0800 + + XQuartz: Silence a clang static analysis warning about a possible memory leak on exit + + stub.c:356:9: warning: Potential leak of memory pointed to by 'newargv' + asl_log(aslc, NULL, ASL_LEVEL_ERR, + ^~~~~~~ + stub.c:356:9: warning: Potential leak of memory pointed to by 'newenvp' + asl_log(aslc, NULL, ASL_LEVEL_ERR, + ^~~~~~~ + 2 warnings generated. + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit b2f6b3497c33a4897afae80a2cf69c596b9f81e8) + +commit 472e8e5d1c26573cef4bd42451230ef47791ed6f +Author: Jeremy Huddleston Sequoia +Date: Wed Jan 1 10:47:52 2014 -0800 + + XQuartz: Validate length in appledri before swapping + + Avoids potential memory corruption from bad requests + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit a03f096a85537d9e881cedaa6cb71aca43a97086) + +commit 782fe5c174def75a9e4cb188c00c2fec72821472 +Author: Jeremy Huddleston Sequoia +Date: Wed Jan 1 10:39:56 2014 -0800 + + XQuartz: Validate screen in AppleDRIQueryDirectRenderingCapable requests + + Return an error to the caller rather than crashing the server on + invalid screens. + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit b3572c0d1ab7888ac26d6b2b8be6d1d19ed9af3f) + +commit 045122566c0532378b50c1af3ffec3254e416fe2 +Author: Jeremy Huddleston Sequoia +Date: Sun Dec 29 12:45:23 2013 -0800 + + XQuartz: Simplify hook_run to quiet static analyzer + + x-hook.c:96:9: warning: Called function pointer is an uninitalized pointer value + (*fun[i])(arg, data[i]); + ^~~~~~~~~~~~~~~~~~~~~~~ + 1 warning generated. + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit 959e8f23af7850fcaf40d6c67f5228241a36a9ab) + +commit 33b2ae0f3b4a80fd962d876f7437d98fcfc27791 +Author: Jeremy Huddleston Sequoia +Date: Sun Dec 29 12:41:18 2013 -0800 + + XQuartz: Mark applicationWillTerminate: noreturn + + X11Controller.m:938:1: warning: method 'applicationWillTerminate:' could be declared with attribute 'noreturn' + [-Wmissing-noreturn,Semantic Issue] + { + ^ + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit f79af1941776fd6f1ec26c50603fcc35ca7d514b) + +commit 404f26866147be1c26585e59d9795e87e0c3e5fa +Author: Jeremy Huddleston Sequoia +Date: Sun Dec 29 12:36:51 2013 -0800 + + XQuartz: Fix get_proc_address signature + + indirect.c:675:28: warning: incompatible pointer types passing 'glx_gpa_proc (*)(const char *)' to parameter of type + 'glx_gpa_proc' (aka 'glx_func_ptr (*)(const char *)') [-Wincompatible-pointer-types,Semantic Issue] + __glXsetGetProcAddress(&get_proc_address); + ^~~~~~~~~~~~~~~~~ + ../../../glx/glxserver.h:122:42: note: passing argument to parameter 'get_proc_address' here [Semantic Issue] + void __glXsetGetProcAddress(glx_gpa_proc get_proc_address); + ^ + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit ea80279e292e59a9fe9651489f03e9f2f39810d9) + +commit 7803c4075b824ece79af0425cee736025c41d901 +Author: Jeremy Huddleston Sequoia +Date: Sun Dec 29 12:31:23 2013 -0800 + + XQuartz: Fix darwinfb.h header guard + + ./darwinfb.h:28:9: warning: '_DARWIN_FB_H' is used as a header guard here, followed by #define of a different macro + [-Wheader-guard,Lexical or Preprocessor Issue] + ^~~~~~~~~~~~ + ./darwinfb.h:29:9: note: '_DARWIN_DB_H' is defined here; did you mean '_DARWIN_FB_H'? [Lexical or Preprocessor Issue] + ^~~~~~~~~~~~ + _DARWIN_FB_H + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit 2e3ebec9520719a8e5c3c92390e83bcb5216f978) + +commit 6c055f0d78349ff08a570c5dcc92c6f7b6924993 +Author: Jeremy Huddleston Sequoia +Date: Sun Dec 29 12:22:55 2013 -0800 + + XQuartz: Silence some static analyzer warnings by annotating referencing counts + + Signed-off-by: Jeremy Huddleston Sequoia + (cherry picked from commit 9da6c0918f40359f28fe8889d5b7cae7efcc8377) + +commit 2ea973e12f5d954211e1d10085a4c74581b43aca +Author: Keith Packard +Date: Fri Dec 27 09:50:55 2013 -0800 + + Bump version to 1.15.0 + + Signed-off-by: Keith Packard + +commit 2eb9915eea358f941702d3dad7434197991885c5 +Author: Keith Packard +Date: Thu Dec 12 15:48:08 2013 -0800 + + present: Set complete notify mode to Skip as needed + + Skipped present pixmap calls were not setting the mode to + PresentCompleteModeSkip for skipped operations. + + Signed-off-by: Keith Packard + +commit e487babd525ef1bd016ec7b283fa08cf9e6c6f4f +Author: Keith Packard +Date: Thu Dec 12 14:52:35 2013 -0800 + + present: Don't abandon presents which are already queued for flip + + Presents which are not marked 'queued' and are in the window present + list are waiting for the flip event; discarding those won't work very + well (it'll end up trashing displayed content for the next frame), so + skip over those when looking for duplicate frame presents + + Signed-off-by: Keith Packard + +commit ca3a5b2a8f9f627bbaa9883e16512a21c2a0b81d +Author: Keith Packard +Date: Thu Dec 12 14:17:40 2013 -0800 + + present: Handle PresentOptionAsync for copy mode + + Check for Async flag and execute immediately if set, otherwise wait + for the next appropriate vblank before copying. + + Signed-off-by: Keith Packard + +commit a68df147421da21528b5be2d34678383922fa352 +Author: Keith Packard +Date: Thu Dec 19 14:31:07 2013 -0800 + + Bump version to 1.14.99.905 (1.15 RC5) + + Another week, another RC. This should be the last before 1.15 final + + Signed-off-by: Keith Packard + +commit 4b1ead9d3400acc3402c2480d7cc0527750c32f0 +Merge: 4d62646 929795d +Author: Keith Packard +Date: Thu Dec 19 14:14:59 2013 -0800 + + Merge remote-tracking branch 'whot/for-keith' + +commit 4d62646142718024b0981eb4f1fd0131e829161f +Merge: f4bfb14 81ba89d +Author: Keith Packard +Date: Mon Dec 16 09:27:57 2013 -0800 + + Merge remote-tracking branch 'jeremyhu/master' + +commit f4bfb14f53a939574da1f5995f0dad949898b86a +Author: Adam Jackson +Date: Thu Dec 12 10:57:40 2013 -0500 + + configure: Fix a typo near dri3/shmfence detection + + " is not the mate of ]. + + Reviewed-by: Jasper St. Pierre + Signed-off-by: Adam Jackson + +commit 8248b4af31ef71ac03158871b77f20eb456dbe38 +Author: Adam Jackson +Date: Fri Dec 13 15:07:48 2013 -0500 + + glx: Add null pointer protection to __glGetProcAddress + + This can't happen when GLX is the backing window system, but can + elsewhere. We may as well protect against it at a high level. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 128449dd6498a2f74c3770f89a9dae0f70e2b351 +Author: Adam Jackson +Date: Fri Dec 13 11:39:16 2013 -0500 + + present: Don't use the major/minor version from the protocol headers + + We want to advertise the version we implement, not the version the + protocol headers happen to describe. + + Reviewed-by: Jasper St. Pierre < + Signed-off-by: Adam Jackson + +commit ec6087bf070131bc3a26848fb9fb840f09b0e19d +Author: Adam Jackson +Date: Fri Dec 13 11:36:38 2013 -0500 + + dri3: Don't use the major/minor version from the protocol headers + + We want to advertise the version we implement, not the version the + protocol headers happen to describe. + + Reviewed-by: Jasper St. Pierre < + Signed-off-by: Adam Jackson + +commit e6fafd3de70d315130fb6e5732cfd02a5901b788 +Author: Adam Jackson +Date: Fri Dec 13 11:28:59 2013 -0500 + + dri3: Guard against buggy clients + + There's nothing to stop a client from sending these requests to screens + without DRI3 support, and if they do, we'll crash. Let's not do that. + + Reviewed-by: Jasper St. Pierre < + Signed-off-by: Adam Jackson + +commit 81ba89d6703a22178a153aa39478ba2d4bde262b +Author: Jeremy Huddleston Sequoia +Date: Fri Dec 13 01:39:44 2013 -0800 + + configure.ac: Add PRESENT_LIB to XQUARTZ_LIBS + + Undefined symbols for architecture x86_64: + "_present_extension_init", referenced from: + _staticExtensions in libXquartz.a(miinitext.o) + "_present_register_complete_notify", referenced from: + ___glXregisterPresentCompleteNotify in libglx.a(glxcmds.o) + + Signed-off-by: Jeremy Huddleston Sequoia + +commit d7c9235ee261b0f780320985233e00dec5e2689c +Author: Jeremy Huddleston Sequoia +Date: Sat Dec 7 01:36:33 2013 -0800 + + XQuartz: Use asl_log_descriptor to log stdout/stderr of child processes + + Signed-off-by: Jeremy Huddleston Sequoia + +commit ad8111d7c971ce448905c733d65ba0cfc72bdca4 +Author: Jeremy Huddleston Sequoia +Date: Sat Dec 7 01:14:37 2013 -0800 + + darwin: Don't leave stdin/stdout closed + + + + Signed-off-by: Jeremy Huddleston Sequoia + +commit 929795d50d788358d6269ce423f72c6cc40e334b +Author: Peter Hutterer +Date: Tue Dec 3 10:14:51 2013 +1000 + + dix: fix check for grab type + + Signed-off-by: Peter Hutterer + +commit 23394c7fea0f5c33333198c87ecfecc9f6c6a791 +Author: Peter Hutterer +Date: Tue Dec 3 08:36:45 2013 +1000 + + Xi: ungrab device when releasing a passive grab without ButtonReleaseMask (#71878) + + If an touch triggers an async button grab and that grab does not have the + ButtonReleaseMask set, the TouchEnd is never delivered, deliveries is 0 and + the grab is never deactivated. + + If the grab is pointer async and keyboard sync, the keyboard events are stuck + in EnqueueEvent until some other pointer event terminates the grab. + + Change this to check for the number of listeners. If we're about to deliver a + TouchEnd to a passive pointer grab, the number of listeners is already 1 - + pointer grabs always accept so other listeners were removed. + + X.Org Bug 71878 + + Signed-off-by: Peter Hutterer + +commit c1d30b5bd7f90e68bc38404fd0cc32578d6d3018 +Author: Ben Gamari +Date: Thu Nov 21 21:24:20 2013 -0500 + + Xi: Don't ActivateEarlyAccept POINTER_REGULAR listeners + + Bug #71878 describes a bug resulting in the server ceasing to respond to + keyboard input after a touch event. The problem might be the following: + + DeliverTouchBeginEvent tries to deliver an event to a listener of type + LISTENER_POINTER_REGULAR, taking the following if branch, + + if (listener->type == LISTENER_POINTER_REGULAR || + listener->type == LISTENER_POINTER_GRAB) { + rc = DeliverTouchEmulatedEvent(dev, ti, ev, listener, client, win, + grab, xi2mask); + if (rc == Success) { + listener->state = LISTENER_IS_OWNER; + /* async grabs cannot replay, so automatically accept this touch */ + if (dev->deviceGrab.grab && + dev->deviceGrab.fromPassiveGrab && + dev->deviceGrab.grab->pointerMode == GrabModeAsync) + ActivateEarlyAccept(dev, ti); + } + goto out; + } + + DeliverTouchEmulatedEvent succeeds. The deviceGrab meets all + three of the conditions of the inner if, enters + ActivateEarlyAccept which then fails due to, + + BUG_RETURN(ti->listeners[0].type != LISTENER_GRAB && + ti->listeners[0].type != LISTENER_POINTER_GRAB); + + That is, despite listener->type == LISTENER_POINTER_REGULAR. With my + non-existent knowledge of XINPUT, it seems like the solution here + might be to only ActivateEarlyAccept when listener->type == + LISTENER_POINTER_GRAB. + + Signed-off-by: Ben Gamari + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit fe07ec19e212a68076560d243a2a935c54589068 +Author: Keith Packard +Date: Tue Dec 10 11:27:47 2013 -0800 + + present: recursively set window pixmaps on flip + + Newly created windows inherit the pixmap of their parent, similarly, + reparenting a tree inherits the pixmap of the destination tree. + + Making present preserve the invariant that unredirected windows always + have the same pixmap as their parent ensures that the above cases work + correctly. + + v2: name the recursive function to 'set_tree_pixmap' instead of 'set_window_pixmap' + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit b3533d0b212b6747a8f9a01931253d6bdb648ee2 +Author: Keith Packard +Date: Tue Dec 10 10:29:11 2013 -0800 + + Bump version to 1.14.99.904 (1.15 RC4) + + Signed-off-by: Keith Packard + +commit 9a4d7572fe3be16bb5aded5f48d4217fdf725b1d +Author: Jon TURNEY +Date: Thu Sep 27 18:59:45 2012 +0100 + + hw/xwin/glx: Rewrite WGL wrappers after Xserver conversion to direct GL dispatch + + v1: Rewrite by Marc Haesen of the WGL wrapper function generation script to use + Khronos group XML. + + v2: Remove -dispatchheader option, since dispatch.h doesn't exist anymore, use + the private glapi interface to construct the GL dispatch table for the native + WGL thunks. + + v3: + Rewrite to generate shims for the OpenGL 1.2.1 (GL 1.2 + GL_ARB_imaging + +GL_ARB_multitexture + GL_ARB_texture_compression(?)) functions the server links + directly with rather than libGL. + + These shims dispatch to either the mesa GL DLL, or a thunking DLL containing + cdecl-to-stcall wrapper functions for the native GL DLL. + + Signed-off-by: Jon TURNEY + Reviewed-by: Adam Jackson + +commit cb48877a3c4cfb1ae2248000fcd3443e3092bdaa +Author: Jon TURNEY +Date: Fri Dec 6 14:00:21 2013 +0000 + + glx: Consistently use ARB-suffixed names for ARB_multitexture functions + + At the moment we have a mix of ARB and non-ARB suffixed forms for ARB_multitexture functions + e.g. glMultiTexCoord1fvARB and glMultiTexCoord1dv + + Consistently use the ARB-suffixed form, assuming that is present in all libGL + which provide the OpenGL 1.2.1 ABI we expect to be able to directly link with. + + Signed-off-by: Jon TURNEY + Reviewed-by: Adam Jackson + +commit 1a021f57a1e75ab63e8f87704f0394162402c4d4 +Author: Jon TURNEY +Date: Sun Dec 1 22:25:46 2013 +0000 + + ephyr: Fix compilation when ./configure'd with --enable-debug + + /jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c: In function ‘ephyrProcessMouseMotion’: + /jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c:946:188: error: ‘ephyrCurScreen’ undeclared (first use in this function) + /jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c: In function ‘ephyrProcessButtonPress’: + /jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c:980:186: error: ‘ephyrCurScreen’ undeclared (first use in this function) + /jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c: In function ‘ephyrProcessButtonRelease’: + /jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c:1007:186: error: ‘ephyrCurScreen’ undeclared (first use in this function) + + Fix ephyr compilation when ./configure'd with --enable-debug after commit + 46cf6bf5692ef751ec9d17ae2292565d4b13f14b, some instances of ephyrCurScreen were + not converted to screen->pScreen->myNum. + + v2: Don't use a trivial local variable which will be unused when ./configure'd + with --disable-debug + + Signed-off-by: Jon TURNEY + Reviewed-by: Adam Jackson + +commit 875dbcef5bfcb6a94ef8456be6151e133408793f +Author: Jon TURNEY +Date: Fri Nov 29 14:29:20 2013 +0000 + + configure.ac: Link XWin with present extension if we are building with it enabled + + Signed-off-by: Jon TURNEY + Reviewed-by: Adam Jackson + +commit e61e19959d9138d5b81b1f25b7aa3e257918170d +Author: Adam Jackson +Date: Tue Dec 3 13:45:43 2013 -0500 + + xquartz/glx: Convert to non-glapi dispatch + + CGL doesn't have anything like glXGetProcAddress, and the old code just + called down to dlsym in any case. It's a little mind-warping since + dlopening a framework actually loads multiple dylibs, but that's just + how OSX rolls. + + Signed-off-by: Adam Jackson + Reviewed-by: Jeremy Huddleston Sequoia + +commit a668aa0e41bc33ff2db7f9c53b6dc321a96926a9 +Author: Adam Jackson +Date: Tue Dec 3 15:03:13 2013 -0500 + + drisw: Wire up GetProcAddress + + Signed-off-by: Adam Jackson + Reviewed-by: Keith Packard + +commit 4fcdfeb7bc55d00d50d7f89788d9b929946ae3d9 +Author: Adam Jackson +Date: Tue Dec 3 15:02:57 2013 -0500 + + dri2: wire up GetProcAddress + + Signed-off-by: Adam Jackson + Reviewed-by: Keith Packard + +commit 47f00b3920be9d8df8b148263d744934f3a02cd4 +Author: Adam Jackson +Date: Tue Dec 3 15:01:44 2013 -0500 + + glx: Untangle the prototypes around the GetProcAddress thunk + + Signed-off-by: Adam Jackson + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Jon TURNEY + +commit c1fd143f2847ef425ec9891d9e1cba44a1bb007d +Author: Adam Jackson +Date: Tue Dec 3 13:11:52 2013 -0500 + + glx: Remove function stubs + + Now that we're calling non-1.2 ABI things by function pointer this is no + longer needed. + + Signed-off-by: Adam Jackson + Reviewed-by: Jeremy Huddleston Sequoia + Reviewed-by: Jon TURNEY + +commit 6b93e1f5ff39c6ac5b0d97d4245aeac9113eed8b +Author: Adam Jackson +Date: Tue Dec 3 13:11:09 2013 -0500 + + glx: Convert non-generated function pointer thunking + + Same concept as the generated code conversion. + + Signed-off-by: Adam Jackson + Reviewed-by: Jon TURNEY + +commit c4567a376083eb7b142a7f003ddf8372d376ea86 +Author: Adam Jackson +Date: Tue Dec 3 12:40:24 2013 -0500 + + glx: Convert generated code function pointer thunking + + We're meant not to call these by name due to ABI. Rather than try to + generate a bunch of little stub functions that do the lookup, just + inline it all directly into the calling function. + + This does not cache results. That's fine, this is not a performance + path, and if we're atop WGL then we effectively have to do this every + time anyway because wglGetProcAddress results are context-dependent. + + Signed-off-by: Adam Jackson + Jon TURNEY + +commit f69f4f417c6807405e45289b39a80f1b9a55f9e6 +Author: Keith Packard +Date: Tue Dec 10 07:09:17 2013 -0800 + + Depend on latest glproto (1.4.17) + + Signed-off-by: Keith Packard + +commit 576f3d36dd324bd0d16c9968f1ded5c5eead3569 +Author: Adam Jackson +Date: Mon Dec 9 13:16:01 2013 -0500 + + damageext: Die if we can't create the Xinerama resource type + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit f10f36d91db1b21c2ce5a531b4fa5f96fcbdc2f0 +Author: Adam Jackson +Date: Mon Sep 16 15:17:26 2013 -0400 + + damageext: Xineramify (v7) + + v7: Don't bother making resources for the backing listeners. [keithp] + + This is now slightly unlike how other resources are xineramified. We + create N+1 internal damage listeners, one that's a real resource and + reflects the protocol view, and then one per backend screen where the + report function piles onto the protocol view. The internal listeners + are not stored in the resource database directly, they just hang off the + xinerama resource. We don't wrap Subtract at the dispatch level, but we + do extend it for the Xinerama case to clip to the root window geometry. + + As a result of the N+1 design here, the damage reports we generate are + not quite minimal. However they are indistinguishable from sequential + rendering events happening before the client hears damage, and we don't + need to add a post-dispatch callback just for this one extension. + + Add is probably (still) somewhat broken since it will only hit screen 0, + but Add really only exists for DRI1's sake, and DRI1 disables itself + with Xinerama enabled anyway. In the absence of a use case, I'm leaving + it unwrapped under Xinerama; if someone wants to define how it ought to + work, be my guest. + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit 808303fe5232ba0320ae5a4310b1ed1322e85f1d +Author: Adam Jackson +Date: Mon Nov 4 17:49:34 2013 -0500 + + fixes: Fix PanoramiXSetWindowShapeRegion for root windows (v2) + + Root windows in Xinerama are in the coordinate space of their root window + pixmap, not in protocol space. + + v2: Only translate for root windows, sice the window shape is + drawable-relative. + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit 5c10c7ea2129b70015e745523918d143cc29318d +Author: Adam Jackson +Date: Mon Nov 4 17:49:33 2013 -0500 + + fixes: Fix PanoramiXSetPictureClipRegion for root windows (v2) + + Root windows in Xinerama are in the coordinate space of their root + window pixmap, not in protocol space. This fixes 'xcompmgr -n' when + Xinerama is active. + + v2: Only translate for root windows, since the clip origin is + drawable-relative. + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit 1dd839a425adc6e5a1dc377003ed86a374d81f0b +Author: Adam Jackson +Date: Thu Nov 7 13:59:30 2013 -0500 + + composite: Fix COW creation for Xinerama (v2) + + Say you have two 800x600 screens left/right of each other. A window + that's 200x200 at +700+0 in protocol coordinate space will appear to be + at -100+0 in the coordinate space of the right hand screen. Put another + way: windows are in the coordinate space of their root window pixmap. + + We weren't doing this translation for the COW, so when rendering came in + to it you'd see the top-left chunk of the COW on all screens. Cool + effect and all, but wrong. + + v2: Only translate when Xinerama is active [keithp] + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit 8dbe456abae1a32fb6c5c74fa456bc7301cccabe +Author: Adam Jackson +Date: Tue Oct 29 10:44:07 2013 -0400 + + xinerama: Export the screen region + + damageext wants this so it can intersect subtract requests against the + root window geometry. + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit c6d4c2a24140feee4ceae48c4c74fedcae9b68b3 +Author: Adam Jackson +Date: Fri Nov 15 15:13:31 2013 -0500 + + xfree86: Prefer fbdev to vesa + + On UEFI machines you'd prefer fbdev to grab efifb instead of vesa trying + to initialize and failing in a way we can't unwind from. On BIOS + machines this is harmless: either there is an fbdev driver and it'll + probably be more capable, or there's not and vesa will kick in anyway. + + Reviewed-by: Alex Deucher + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 7b5d4f147fdef9edfeaa9c6565375111079efd11 +Author: Adam Jackson +Date: Tue Nov 5 10:12:28 2013 -0500 + + composite: Don't double-redirect if someone asks for backing store twice + + v2: Belt-and-suspenders the unredirection path [vsyrjala] + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit a2b2c271e0ca87d3188ba2741b6db9bbbdc599f5 +Author: Adam Jackson +Date: Tue Nov 5 10:08:17 2013 -0500 + + composite: Automatically enable backing store support on the screen + + ... unless you explicitly disabled it with -bs on the command line, or + with the corresponding thing in xorg.conf. + + v2: Drop a bogus hunk from compChangeWindowAttributes [vsyrjala] + v3: s/TRUE/WhenMapped/ [jcristau] + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit e0cac005608a2e5618c7be59701318d684e0bb93 +Author: Adam Jackson +Date: Tue Nov 5 09:58:17 2013 -0500 + + bs: Set the screen's bs support level to WhenMapped + + Since we're using RedirectAutomatic to do this, we don't actually + preserve contents when unmapped. + + v2: Don't say WhenMapped if Composite didn't initialize [vsyrjala] + + Reviewed-by: Julien Cristau + Signed-off-by: Adam Jackson + +commit b61ccd5d9d368f3fbbae27ce14ac02a3db1884c4 +Author: Adam Jackson +Date: Tue Nov 5 10:20:04 2013 -0500 + + smartsched: Tweak the default scheduler intervals + + A default timeslice of 20ms means a pathological client can ruin up to + two frames per scheduler tick. And a fifth of a second is just insane. + + Pick two different numbers out of the hat. A 5ms slice means you can + probably keep up with two or three abusive clients, and letting it burst + to 15ms should give you about all the timeslice you need for a + fullscreen game (that's doing server-side rendering for some reason). + + If you're running on a system with a 10ms granularity on SIGALRM, then + this effectively changes the intervals to 10ms and 30ms. Which is still + better, just not as better. + + I suspect this is about as good as we can do without actually going + preemptive, which is an entire other nightmare. + + Reviewed-by: Julien Cristau + Signed-off-by: Adam Jackson + +commit 66310ea2893811614b3c3aade8992624a95a6ee7 +Author: Adam Jackson +Date: Fri Nov 8 09:22:37 2013 -0500 + + dri3: Disable when Xinerama is active + + Pretty sure this can't work. + + Reviewed-by: Julien Cristau + Signed-off-by: Adam Jackson + +commit 793fd5eefb0e417614d77fe1522c6548587fbd4e +Author: Adam Jackson +Date: Fri Nov 8 09:20:29 2013 -0500 + + dri2: Disable when Xinerama is active + + Would only work on ScreenRec 0, which means it's broken. + + Reviewed-by: Julien Cristau + Signed-off-by: Adam Jackson + +commit 2bf92108294805c5c6fef249c2f7de6ecf4975d8 +Author: Adam Jackson +Date: Fri Nov 8 09:06:59 2013 -0500 + + present: Disable when Xinerama is active + + Among much else Present depends on RANDR types, and RANDR isn't properly + Xinerama-aware yet anyway. + + Reviewed-by: Julien Cristau + Signed-off-by: Adam Jackson + +commit ac772cb187ddf7e04b8f4b3a071b90f18f4488d0 +Author: Eric Anholt +Date: Thu Nov 14 17:40:47 2013 -0800 + + glx: Fix incorrect use of dri_interface.h version defines in driver probing. + + If we extend __DRI_CORE or __DRI_SWRAST in dri_interface.h to allow a + new version, it shouldn't make old server code retroactively require + the new version from swrast drivers. + + Notably, new Mesa defines __DRI_SWRAST version 4, but we still want to + be able to probe version 1 drivers, since we don't use any features + beyond version 1 of the struct. + + Signed-off-by: Keith Packard + Reviewed-by: Ian Romanick + +commit 6e926b18ca1b182253bac435a1d53caaff7ffff6 +Author: Eric Anholt +Date: Thu Nov 14 17:40:46 2013 -0800 + + glx: Fix incorrect use of dri_interface.h version defines in extensions. + + Those defines are so you can compile-time check "do I have a + dri_interface.h that defines this new field of the struct?" You don't + want the server to claim it implements the new struct just because you + installed a new copy of Mesa. + + Signed-off-by: Keith Packard + Reviewed-by: Ian Romanick + +commit 57a8ce927332e855dd29ff30210a211a907adb25 +Author: Jon TURNEY +Date: Fri Nov 29 12:26:43 2013 +0000 + + configure.ac: Fixup for "Require libpciaccess for int10" + + On 16/11/2013 01:00, Connor Behan wrote: + > A --disable-pciaccess build will fail with an int10 module other than + > stub. + > + > Signed-off-by: Connor Behan + > --- + > configure.ac | 3 +++ + > 1 file changed, 3 insertions(+) + > + > diff --git a/configure.ac b/configure.ac + > index 5e621e0..a843770 100644 + > --- a/configure.ac + > +++ b/configure.ac + > @@ -1822,6 +1822,9 @@ if test "x$XORG" = xyes; then + > if test "x$CONFIG_UDEV_KMS" = xyes; then + > AC_MSG_ERROR([Platform device enumeration requires libpciaccess]) + > fi + > + if test "x$INT10" != xstub; then + > + AC_MSG_ERROR([Cannot build int10 without libpciaccess]) + > + fi + > fi + > AC_MSG_RESULT([$PCI]) + > + + This causes my build to fail where --disable-int10-module --disable-pciaccess + is the default (as INT10 still has the default value 'x86emu') + + Signed-off-by: Jon TURNEY + Reviewed-by: Jeremy Huddleston Sequoia + Tested-by: Jeremy Huddleston Sequoia + Signed-off-by: Keith Packard + +commit 653d33941b0808ef910aaa5f3aeab05d9c1a100b +Author: Keith Packard +Date: Tue Nov 26 12:18:12 2013 -0800 + + present: Report damage when flipping + + Limit damage to the 'update' region. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 5cf12c9569ac3d83fe1b7a8376c15f8f0b01655e +Author: Keith Packard +Date: Tue Nov 26 12:10:48 2013 -0800 + + present: Also set the root window pixmap when flipping + + This makes sure that things like software cursors continue to work + while the screen is flipped. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 4aa77378de69efdc10bced6ba650b0ebff50c112 +Author: Keith Packard +Date: Tue Nov 26 12:06:57 2013 -0800 + + present: Clear target_crtc if driver lacks Present support + + If the driver doesn't have the necessary hooks for Present, then the + target_crtc needs to be set to NULL to make sure the extension uses + the present_fake code. + + Signed-off-by: Keith Packard + Tested-by: Fredrik Höglund + Reviewed-by: Adam Jackson + +commit 3dd5bfe540b295bb37a2c2fd0ba4a31fb217612b +Author: Keith Packard +Date: Thu Nov 21 22:48:31 2013 -0800 + + present: Send GLX_BufferSwapComplete events from present extension + + This allows GL to support the GLX_INTEL_swap_event extension. + + v2: Return GLX_BLIT_COMPLETE_INTEL for unknown swap types + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit cde86e68fcb716f34c90f5a16eb868870f5c85e4 +Author: Keith Packard +Date: Mon Nov 25 23:06:08 2013 -0800 + + present: Set window pixmap to flipped pixmap + + This makes other drawing to the window appear on the screen. + + Note that no child windows can be affected because only full-screen + windows are eligible for flipping, and so we only need to set pixmap + for the window itself. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 04e138846e128670d409798aa2e797c3c5503a47 +Author: Keith Packard +Date: Mon Nov 25 23:10:17 2013 -0800 + + present: Leave vblank on window list until flip complete + + If the window is destroyed, then we've got cleanup work to do, even if + the vblank has already been executed -- we need to clear the window + pointer so that we don't try to deliver events to it. + + Leaving it on the window list meant that when walking that list, we + need to know whether the vblank is waiting to be executed or waiting + for the flip to complete, so a new 'queued' flag was added to the + vblank to distinguish between the two states. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit b121d62accb8c346b4e1b1bce99586e13712f04a +Author: Keith Packard +Date: Tue Nov 26 03:07:55 2013 -0800 + + present: Add a debug output line when skipping a pending present + + When an application provides two pixmaps for the same MSC, the + previous one is skipped. This just dumps out some information at that point + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit eafba23b34be31c141ddafb8380520ac9a0622ac +Author: Keith Packard +Date: Thu Nov 21 22:45:18 2013 -0800 + + miext/sync: Handle libxshmfence API change + + libxshmfence had an unfortunate 'int32_t' type for the mapped fence. + That changed to exposing a 'struct shmfence' instead, which is nice + and opaque and offers fine type checking across the API. + + This patch requires the newer version of the library and uses + the new interface type. + + Signed-off-by: Keith Packard + Reviewed-by: Julien Cristau + +commit b6d7ed4d787a652e8150532f384bfdf51760f3c2 +Author: Keith Packard +Date: Thu Nov 21 22:12:34 2013 -0800 + + miext: Move SyncShm FDs out of the way of clients + + Applications may end up allocating a bunch of shmfence objects, each + of which uses a file descriptor, which must be kept open lest some + other client ask for a copy of it later on. + + Lacking an API that can turn a memory mapping back into a file + descriptor, about the best we can do is push the file descriptors out + of the way of other X clients so that we don't run out of the ability + to accept new connections. + + This uses fcntl F_GETFD to push the FD up above MAXCLIENTS. + + Signed-off-by: Keith Packard + Reviewed-by: Julien Cristau + +commit cc63204926c6da83d9221c5f8c0dc8f5e2f2481d +Author: Keith Packard +Date: Wed Nov 13 14:16:33 2013 +0900 + + Xext: Use SHMDIR and O_TMPFILE when creating mapping files + + ShmCreateSegment asks for a file descriptor for a memory mapped file + created by the X server. This patch uses O_TMPFILE where available, + and also uses the SHMDIR directory to store the files, both for the + O_TMPFILE and mkstemp cases. + + Signed-off-by: Keith Packard + Reviewed-by: Julien Cristau + +commit 5a969f0928b84da5cfe0777dfb542caaacc915ad +Author: Keith Packard +Date: Wed Nov 13 12:17:10 2013 +0900 + + Select directory for MIT-SHM temp files at configure time + + By default, this looks through a list of directories to find one which + exists, but can be overridden with --with-shared-memory-dir=PATH + + This patch doesn't actually do anything with this directory, just + makes it available in the configuration + + Signed-off-by: Keith Packard + Reviewed-by: Julien Cristau + +commit d695cb7fb6bb8fd159a332d902673edbbd2237d7 +Author: Alan Coopersmith +Date: Mon Nov 25 22:19:34 2013 -0800 + + Xdmx: Initialize DMX extension even if not built with GLX support + + dmxAddExtensions takes an argument to determine if it should just + initialize the DMX extension, or both DMX & GLX, but if GLX wasn't + compiled in, the entire call was #ifdef'ed out, leaving the DMX + extension unavailable. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Julien Cristau + Signed-off-by: Keith Packard + +commit bd70def07754357d26b86c287037eb3884631daf +Author: Connor Behan +Date: Fri Nov 15 17:00:40 2013 -0800 + + configure.ac: Require libpciaccess for int10 + + A --disable-pciaccess build will fail with an int10 module other than + stub. + + Signed-off-by: Connor Behan + Reviewed-by: Adam Jackson + Signed-off-by: Keith Packard + +commit a575c1dc64c10bc88bd0e963ebb8ab137f59a078 +Author: Connor Behan +Date: Fri Nov 15 17:00:20 2013 -0800 + + configure.ac: Require libpciaccess for platform bus support + + There is currently no reason to build with --enable-config-udev-kms and + --disable-pciaccess but anyone who tries this should know that the build + will fail. + + Signed-off-by: Connor Behan + Reviewed-by: Adam Jackson + Signed-off-by: Keith Packard + +commit 361dfe74eaa2f1eddb54abdecca1d8b1b3f58704 +Author: Connor Behan +Date: Fri Nov 15 17:00:00 2013 -0800 + + configure.ac: Add whitespace near PCI configuration + + Signed-off-by: Connor Behan + Reviewed-by: Adam Jackson + Signed-off-by: Keith Packard + +commit 80481267662c8687e73081237913fa561e7a6561 +Author: Keith Packard +Date: Sat Nov 23 22:22:37 2013 -0800 + + Bump release to 1.14.99.903 (1.15 RC3) + + Signed-off-by: Keith Packard + +commit f1604002a32b7f098c2a16b4a8649c694af570c8 +Author: Keith Packard +Date: Mon Nov 18 22:36:17 2013 -0800 + + miext: Ensure xshmfence is only called when driver supports it + + This provides a place for drivers to insert their own FD-based + SyncFence implementations, and prevents applications from using DRI3 + SyncFence creation functions unless the driver has some support for + them. + + Signed-off-by: Keith Packard + Tested-by: Fredrik Höglund + +commit 037566c57caff93fd7717f385d4b532b81f19c77 +Author: Keith Packard +Date: Mon Nov 18 22:33:27 2013 -0800 + + Xext: Recover from miSyncInitFenceFromFD failure without crashing + + miSyncDestroyFence must not be called unless miSyncInitFence has been + invoked, so if miSyncInitFenceFromFD fails, we must free the fence + manually. + + Signed-off-by: Keith Packard + Tested-by: Fredrik Höglund + +commit e7000534a456fdf9cd4eaada3193846c8525f740 +Author: Chris Wilson +Date: Sat Oct 5 08:47:03 2013 +0100 + + glx/glxdri2: Unwrap EnterVT/LeaveVT upon CloseScreen + + In a similar spirit to + + commit d75e8146c414bfd512ba5dbd4a83acb334bbe19b + Author: Keith Packard + Date: Mon Jul 12 16:01:34 2010 -0700 + + Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998 + + we need to unwrap our pScrn->EnterVT/LeaveVT hooks around server + regeneration or else we cause an infinite recursion on the next VT + switch afterwards. + + Bugzilla: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1235516 + Signed-off-by: Chris Wilson + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit 6d5883bd7e5b765f8f0548501b825d9e56840799 +Author: Keith Packard +Date: Sat Nov 23 16:19:46 2013 -0800 + + xnest: Ignore GetImage() error in xnestGetImage() (v3) + + (I found an amended version of this patch and applied the difference + here - keithp) + + v3: Don't call Xsync before restoring error handler as any errors + generated by XGetImage() should be processed when this call + returns as suggested by Jamey Sharp + + Signed-off-by: Egbert Eich + Reviewed-by: Jamey Sharp + +commit 6403cbb143c67872ca9c58e3116ae7942def0ae1 +Author: Keith Packard +Date: Tue Nov 19 22:13:54 2013 -0800 + + present: When unflipping, copy to flip window rather than screen + + unflip happens after the clip lists have been updated, so instead of + smashing the whole screen and drawing over other windows, just draw to + the original flip window; it'll have the right clip list and so the + copy will work just fine. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 8bdd2ccc776ded3f527596b5009ef25129aa3287 +Author: Keith Packard +Date: Mon Nov 11 18:03:42 2013 -0800 + + present: Block for wait_fence in present_execute + + Pend presentation until wait_fence is also triggered by having the + SyncFence trigger invoke present_execute once triggered. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit e5a188cb919edee2e3a03054276bce0db02f7b62 +Author: Keith Packard +Date: Sat Nov 9 12:36:47 2013 -0800 + + present: Signal destroyed flip window with vblank->window == NULL + + This eliminates dereferencing freed window pointers when there is a + flip for that window in progress. The flip will complete, and then + immediately get undone (as we can't stop an in-progress flip). + + Remove the vblank->window_destroyed field as we can signal this with + vblank->window == NULL instead. + + Change check to vblank->window == NULL in: + + present_flip_notify + + Add check for vblank->window == NULL in: + present_vblank_notify + present_execute + + present_flip_notify was also using vblank->window->drawable.pScreen, + so stop doing that and use vblank->screen instead. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit a5bcc4f7b9499caf8993f0a6ef96088553399ca3 +Author: Keith Packard +Date: Sat Nov 9 12:33:02 2013 -0800 + + present: Ignore event_id 0 from driver vblank notify + + We use event_id 0 to mean 'no such event'; if a driver sends us that + event_id, make sure we don't accidentally match it. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 4f3c37a1f17ffcfbbff71d217e1caad3d0148c90 +Author: Keith Packard +Date: Thu Nov 7 14:17:12 2013 -0800 + + present: Round fake MSC computations intead of truncating + + If the timer fired too early, we'd sometimes mis-compute the MSC for + fake vblanks. Rounding the computation to the nearest MSC fixes this nicely. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit da9997f89f14ab619f244d5b2e80a423b028c789 +Author: Peter Hutterer +Date: Tue Nov 19 08:07:09 2013 +1000 + + configure: allow for --enable-libunwind and --disable-libunwind + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit 29240e5cbf6e7f875b128fc7bfc4d56b2350835a +Merge: 0492deb 8ff7e32 +Author: Keith Packard +Date: Thu Nov 14 17:02:04 2013 +0900 + + Merge remote-tracking branch 'whot/for-keith' + +commit 0492deb8f8238b7782e5a706ec6219d88aa1091d +Author: Adam Jackson +Date: Tue Oct 29 12:09:27 2013 -0400 + + mieq: Bump default queue size to 512 + + Based on some bugzilla scraping I did around November 2012. Of xserver + bugs in Red Hat bugzilla with an EQ size message in the log, the + distribution looked like: + + String | Matches + ------------------------------------- + Increasing EQ size to 512 | 460 + Increasing EQ size to 1024 | 52 + Increasing EQ size to 2048 | 6 + Increasing EQ size to 4096 | 0 + + Most of the "512" ones appear to be mostly harmless, some relatively + expensive path in either rendering or resource destruction simply taking + too long due to external pressures like paging or CPU contention. So + let's raise the initial queue size, both to reduce the number of + spurious abrt reports and to drop fewer events in all but the most + pathological cases. + + Signed-off-by: Adam Jackson + Reviewed-by: Jasper St. Pierre + Signed-off-by: Keith Packard + +commit d1440783a7367ff0d0c47d256bbca3b3cf8a5034 +Author: Dave Airlie +Date: Tue Oct 29 12:09:26 2013 -0400 + + xfree86: return NULL for compat output if no outputs. + + With outputless GPUs showing up we crash here if there are not outputs + try and recover with a bit of grace. + + Reviewed-by: Adam Jackson + Signed-off-by: Dave Airlie + Signed-off-by: Keith Packard + +commit d7ee27e5e415778240919082c83a65226c6f17e6 +Author: Dan Horák +Date: Tue Oct 29 12:09:25 2013 -0400 + + test: build the touch test only when building Xorg + + Reviewed-by: Adam Jackson + Signed-off-by: Dan Horák + Signed-off-by: Keith Packard + +commit 8ff7e32c3ef7b0c13c4ab9664f651e9782d35a85 +Author: Peter Hutterer +Date: Wed Nov 13 17:14:11 2013 +1000 + + include: export key_is_down and friends + + VNC needs key_is_down to check if a key is processed as down before it + simulates various key releases. Make it available, because I seriously can't + be bothered thinking about how to rewrite VNC to not need that. + + Signed-off-by: Peter Hutterer + Acked-by: Keith Packard + +commit 0ba7fc8472f1227fd1cd51bd58048f164b8ea1ab +Author: Alan Coopersmith +Date: Tue Nov 12 14:46:04 2013 -0800 + + Stop including inline assembly .il file for Solaris Studio builds + + Since all the inb/outb/etc. use in the X server itself (except for + xf86SlowBcopy) has been replaced by calls to libpciaccess, we no + longer need to pass inline assembly files to replace the gcc inline + assembly from hw/xfree86/common/compiler.h when building Xorg itself. + + The .il files are still generated and installed in the SDK for the + benefit of drivers who may use them. + + Binary diff of before and after showed that xf86SlowBcopy was the + only function changed across the Xorg binary and all modules built + in the Xserver build, it just calls the outb() function now instead + of having the outb instructions inlined, making it a slightly slower + bcopy. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit 550baf38f6096658f0bcf0ad647c4fedf93132f2 +Author: Peter Hutterer +Date: Fri Oct 4 10:55:52 2013 +1000 + + kdrive: fix cursor jumps on CursorOffScreen behavior + + This patch fixes cursor jumps when there is a grab on the Xephyr window and + the pointer moves outside the window. + + So on two side-by-side 640x480 screens, a coordinate of 0/481 + triggers KdCursorOffscreen. + + If the delta between two screens is 0, they share the same offset for + that dimension. When searching for the new screen, the loop always rules out + the current screen. So we get to the second screen, trigger the conditions + where dy <= 0 and decide that this new screen is the correct one. The result + is that whenever KdCursorOffScreen is called, the pointer jumps to the other + screen. + + Change to check for dy < 0 etc. so that the cursor stays on the same screen if + there is no other screen at the target location. + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit a94d945065177d73f3ee8dc0b9147264ba281136 +Author: Peter Hutterer +Date: Tue Oct 29 14:24:41 2013 +1000 + + kdrive: modify ephyr events to use POINTER_DESKTOP and scale them to that + + A multi-head Xephyr instance has the pointer stuck on one screen + because of bad coordinate calculation. The coordinates passed to + GetPointerEvents are per-screen, so the cursor gets stuck on the left-most + screen by default. + + Adjust and mark the events as POINTER_DESKTOP, so the DIX + can adjust them accordingly. + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit d66832a3b8a8675f1e5f3656dcb1bbe95598f0ea +Author: Keith Packard +Date: Thu Nov 14 13:21:54 2013 +1000 + + kdrive: handle WxH as valid geometry spec + + If a screen size was specified as WxH, the loop returned early and kdOrigin + was never advanced. Thus, screen->origin was always 0 (or whatever was given + at the -origin commandline flag). + + If a screen size was given with a bit depth (WxHxD), kdOrigin would always + advance by the current screen, offsetting the next screen. + + Signed-off-by: Keith Packard + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit c8c5105c1d5c093675d7f571f158147f22f7572b +Author: Peter Hutterer +Date: Tue Oct 29 14:33:56 2013 +1000 + + ephyr: xcb_connect returns an error, not NULL + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit 2aa67ccef6ad8f51deb94b66defc668ddb7d226c +Author: Keith Packard +Date: Thu Nov 14 10:26:20 2013 +0900 + + Update to version 1.14.99.902 + + 1.15 RC2 + + Signed-off-by: Keith Packard + +commit 9309d2a009a6a3b6090fc377fc7a3eded1a34dc0 +Author: Keith Packard +Date: Wed Nov 13 07:01:45 2013 +0900 + + xext: Fix shmint.h to not use headers outside of sdk_HEADERS + + shmint.h is part of sdk_HEADERS, and so can't use anything not + included in sdk_HEADERS. + + busfault.h includes dix-config.h which is not. Leave the use of + struct busfault in shmint.h and move the include of busfault.h to + shm.c. + + protocol-versions.h is not part of sdk_HEADERS, so instead of using + that, just use XTRANS_SEND_FDS to choose whether to expose the fd + passing requests directly. + + Reported-by: Julien Cristau + Signed-off-by: Keith Packard + Tested-by: Knut Petersen + Reviewed-by: Julien Cristau + + v2: also avoid using protocol-versions.h + +commit 4a251f5883b042cd902c192060a0be2b11148f2b +Author: Jeremy Huddleston Sequoia +Date: Fri Nov 8 14:55:33 2013 -0800 + + xfree86: Fix build without libpciaccess + + Regression fix from commit 04ab07ca19236d6c9a947e065fb69b0dd0d16639 + + Signed-off-by: Jeremy Huddleston Sequoia + Reviewed-by: Connor Behan + +commit 5b02d5b7aaabf1ba8dcbdfe4525b7995b4e79f92 +Author: Alan Coopersmith +Date: Thu Nov 7 21:08:56 2013 -0800 + + Enable XTRANS_SEND_FDS on Solaris too. + + Requires passing through the __EXTENSIONS__ and _XOPEN_SOURCE defines + in order to expose the msg_control members in struct msghdr. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Adam Jackson + +commit c4c154d18ef42dc550f2675a9ee88e07b1ca6bed +Author: Alan Coopersmith +Date: Thu Nov 7 21:05:33 2013 -0800 + + Avoid conflicts with Solaris defines that clash with our names + + When building on Solaris with _XOPEN_SOURCE set to a recent XPG release, + and other core headers start including , which + has a bunch of unfortunately named macros such as "CS", "ES", etc. for + x86 & x64 registers which clash with existing variable & struct member + names in Xorg - so #undef these so they don't interfere with our use. + + (Yes, have filed a bug against the system headers for exposing these, + but this solves the problem for building on existing releases.) + + Signed-off-by: Alan Coopersmith + Reviewed-by: Adam Jackson + +commit d7f9be0f8541368bf1a095ad1fbe7f38be6d3d15 +Author: Keith Packard +Date: Mon Nov 11 15:48:41 2013 -0800 + + Proper spelling of MAP_ANONYMOUS is MAP_ANON. + + The former doesn't exist on BSD and the latter is available everywhere + AFAIK (checked Solaris and Linux). + + You also might want to wrap that line ;). + + Reported-by: Mark Kettenis + Signed-off-by: Keith Packard + +commit fc84166e65c35ad75f566b135dcfc305ad5a2fde +Author: Keith Packard +Date: Thu Nov 7 15:18:28 2013 -0800 + + Get rid of the rest of the FD passing code when XTRANS_SEND_FDS isn't set + + req_fds and SetReqFds in include/dixstruct.h + + ReadFdFromClient, WriteFdToClient and the FD flushing in os/io.c + + Signed-off-by: Keith Packard + +commit a239e6faf3fce848ac0d10c48f8e817db68a493c +Merge: 43e5a43 f70a8bf +Author: Keith Packard +Date: Mon Nov 11 15:26:12 2013 -0800 + + Merge remote-tracking branch 'jeremyhu/master' + +commit 43e5a43fa8994e50cf01dd954118f4ef2c4e7933 +Author: Adam Jackson +Date: Thu Nov 7 12:01:41 2013 -0500 + + present: Don't try to initialize when building without present support + + There's a --disable-present, so it'd be nice if it worked. + + Signed-off-by: Adam Jackson + Reviewed-by: Jasper St. Pierre + Reviewed-by: Mark Kettenis + Signed-off-by: Keith Packard + +commit 0822a23e048b12c98c654e8b6af711c5f2c97141 +Author: Keith Packard +Date: Thu Nov 7 03:19:42 2013 -0800 + + present: Change debug output a bit to help diagnose missing vblank signals + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 20bb49ae9ba11d3dccfba191483cd682d9c9d96c +Author: Keith Packard +Date: Wed Nov 6 23:56:26 2013 -0800 + + Present: Check for window/fence destroyed when idling pixmaps + + A client destroying objects in the middle of an unflip can end up + having the screen flip window or fence set to NULL in the unflip + notify path. Check for these and don't try to use those objects. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 41da295eb50fa08eaacd0ecde99f43a716fcb41a +Author: Keith Packard +Date: Sun Nov 3 13:12:40 2013 -0800 + + Trap SIGBUS to handle truncated shared memory segments + + If a client passes a section of memory via file descriptor and then + subsequently truncates that file, the underlying pages will be freed + and the addresses invalidated. Subsequent accesses to the page will + fail with a SIGBUS error. + + Trap that SIGBUS, figure out which segment was causing the error and + then allocate new pages to fill in for that region. Mark the offending + shared segment as invalid and free the resource ID so that the client + will be able to tell when subsequently attempting to use the segment. + + Signed-off-by: Keith Packard + + v2: Use MAP_FIXED to simplify the recovery logic (Mark Kettenis) + v3: Also catch errors in ShmCreateSegment + + Conflicts: + include/dix-config.h.in + include/xorg-config.h.in + +commit 719e880d7698d92f9b854b217ef9680aaa446f2e +Author: Keith Packard +Date: Wed Nov 6 23:22:51 2013 -0800 + + Require libXtrans version 1.3.2 + + This has the FD passing support included + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit bee2ec54049377e0033d49abff20d7bd069c62aa +Author: Keith Packard +Date: Sun Nov 3 10:08:15 2013 -0800 + + Xext: Enable MIT-SHM FD-passing request definitions only when possible + + Check to see if xtrans FD passing is available and use that to + advertise the appropriate version of the SHM extension + + Signed-off-by: Keith Packard + Reviewed-by: Alan Coopersmith + +commit ea8acfe3e2f74a46c3f1e91809b4b99af18502b7 +Author: Keith Packard +Date: Wed Nov 6 23:06:28 2013 -0800 + + Require xextproto version 7.2.99.901 + + This includes the MIT-SHM FD passing requests + + Signed-off-by: Keith Packard + Reviewed-by: Alan Coopersmith + +commit 914672fefacc15386041e7c2bc3beed4faf45e9d +Author: Keith Packard +Date: Thu Nov 7 14:20:26 2013 -0800 + + Remove dix-config.h config variables from xorg-config.h + + xorg-config.h includes dix-config, so there's no need to duplicate. + + Signed-off-by: Keith Packard + +commit 7aad79c5a582ece301d950bd65f0bcb4b9956e86 +Author: Keith Packard +Date: Wed Nov 6 23:05:46 2013 -0800 + + Make XTrans FD passing support optional. Define only on Linux + + Until other operating systems have a libXtrans port for FD passing, + disable this on non-Linux systems. + + Note that this define affects how libXtrans gets built into the X + server, which is why it need only define the symbol + + Signed-off-by: Keith Packard + +commit f70a8bf3714d89bccaad36841ef9149e91ad3bba +Author: Jeremy Huddleston Sequoia +Date: Sun Nov 10 11:40:27 2013 -0800 + + XQuartz: Don't sleep forever on exit if usleep() returns an error + + Signed-off-by: Jeremy Huddleston Sequoia + +commit ebcc1c214c466582d7b92826b4860256fd9c582a +Author: Jeremy Huddleston Sequoia +Date: Sun Nov 10 11:26:49 2013 -0800 + + XQuartz: Update Info.plist copyright years + + Signed-off-by: Jeremy Huddleston Sequoia + +commit 81c123ea2dd833864f7ba217791e59acca0f7c97 +Author: Jeremy Huddleston Sequoia +Date: Mon Nov 4 12:13:45 2013 -0800 + + configure.ac: Move GLX section after DRI + + The GLX section of configura.ac checks the state of DRI2, so it + needs to be after DRI2=auto is resolved. + + Also reset libgl requirement to 7.1.0 in non-dri2 case. + + Signed-off-by: Jeremy Huddleston Sequoia + Reviewed-by: Adam Jackson + +commit ab4b1fb38a61feb73d8336cc7a3399eb9d3d25be +Author: Andreas Schwab +Date: Thu Aug 15 12:03:42 2013 +0200 + + ARM64: Add support for aarch64 + + Signed-off-by: Andreas Schwab + Reviewed-by: Mark Kettenis + Reviewed-by: Adam Jackson + Signed-off-by: Keith Packard + +commit 8fcf82cbf015609e00b3feb9bc567133c7aee5cf +Author: Keith Packard +Date: Tue Nov 5 18:39:11 2013 -0800 + + Use $GL_LIBS instead of -lGL for linking + + -lGL presumes that the GL library is in the system path, while + $GL_LIBS is auto-detected. + + Signed-off-by: Keith Packard + +commit f348935e7d2c84a438aba08eee2f2c4e0dc77d20 +Author: Keith Packard +Date: Tue Nov 5 18:37:12 2013 -0800 + + Link with xshmfence, reference miSyncShmScreenInit in sdksyms + + This gets the server to link with xshmfence again, and also ensures + that the miSyncShm code is linked into the server with the reference + from sdksyms. + + Signed-off-by: Keith Packard + +commit 5f1e832694e57986c0185048a941b3af51b2f85f +Author: Julien Cristau +Date: Tue Nov 5 07:08:21 2013 -0800 + + os: Actually use the computed clockid in GetTimeInMicros + + The selection of which clock to use for this function was not actually + getting used when fetching the final clock value. + + Reported-by: Julien Cristau + Signed-off-by: Keith Packard + +commit 903a058370645ea075ea98d380fd565efb6160c9 +Author: Keith Packard +Date: Mon Nov 4 19:01:26 2013 -0800 + + hw/xfree86: Link libdri3 only when DRI3 is defined + + Don't attempt to link non-existant libraries... + + Signed-off-by: Keith Packard + +commit aaf0e29619196a283fee7ead2020a91032d84f48 +Author: Keith Packard +Date: Sun Nov 3 09:56:02 2013 -0800 + + Disable DRI3 and sync fence FD functions if xshmfence isn't available + + Make sure the server can build when the xshmfence library isn't present + + Signed-off-by: Keith Packard + +commit 33c85beed521c9db140cadd8c5aa9992398ee1fe +Author: Keith Packard +Date: Fri Nov 1 01:01:58 2013 -0700 + + Set version to 1.14.99.901 (1.15 RC1) + + Signed-off-by: Keith Packard + +commit 9db1d66f6d2c6857de220d8f1c08965962fe1416 +Author: Keith Packard +Date: Fri Nov 1 01:43:59 2013 -0700 + + Add dri3 and present directorys to distribution + + Signed-off-by: Keith Packard + +commit 977e2644b1d9e13b44debcb9a372bbc832ee32a3 +Merge: 66c5ee0 f36f5a6 +Author: Keith Packard +Date: Fri Nov 1 00:34:18 2013 -0700 + + Merge remote-tracking branch 'whot/for-keith' + +commit 66c5ee0ff4690e630a69656331fd9d545c99c26c +Author: Egbert Eich +Date: Wed Aug 14 18:18:56 2013 +0200 + + config/APM: Add option to disable building of APM support on Linux + + APM support in the Xserver was used to restore the console mode + prior to a power management event. This was to ensure the mode + upon suspend/resume was one that the system firmware or kernel + could deal with. + APM support is now largely obsolete, KMS drivers don't require a + mode restoration anyhow. Therefore it should be possible to disable + this feature. + + (small modification by keithp - move test for XF86PM flag after check + for APM, then move XF86PM flag to xorg-config.h.in) + + Signed-off-by: Egbert Eich + Tested-by: Keith Packard + Signed-off-by: Keith Packard + +commit f36f5a65f639b6524191d888d5bf89e73027156c Author: Peter Hutterer Date: Wed Oct 30 15:40:58 2013 +1000 @@ -38,39 +2003,727 @@ Date: Wed Oct 30 15:40:58 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit f36f5a65f639b6524191d888d5bf89e73027156c) -commit 7ddc6f7f1ed0e0f85b2d617c59d75d5de1cd2d5a -Author: Jeremy Huddleston Sequoia -Date: Fri Nov 8 14:55:33 2013 -0800 +commit f994d99539192a10a8c83047e11991f52e0ca677 +Author: Egbert Eich +Date: Wed Aug 14 18:18:39 2013 +0200 - xfree86: Fix build without libpciaccess + config/ACPI: Add option to disable building of ACPI support on Linux - Regression fix from commit 04ab07ca19236d6c9a947e065fb69b0dd0d16639 + ACPI support in the Xserver was used to restore the console mode + prior to a power management event. This was to ensure the mode + upon suspend/resume was one that the system firmware or kernel + could deal with. + The feature depended on acpid to be running. Most of this functionality + is now take over by systemd, KMS drivers don't require a mode restoration + anyhow. Therefore it should be possible to disable this feature under + some circumstances. + + Tested-by: Keith Packard + Signed-off-by: Keith Packard + +commit 2aa5092b88174cb9988076ae96298217c97ad75f +Author: Egbert Eich +Date: Mon Aug 12 18:21:33 2013 +0200 + + DDX/Randr: Avoid server crash when xrandr SetConfig is called while switched away + + A call to Xrandr SetScreenConfig (for randr 1.1) causes the Xserver to + crash when xf86SetViewport() which does not check if the hardware is + accessible. + Wrap accesses to xf86SetViewport() with if (vtSema) { ... } to avoid that. + + Signed-off-by: Egbert Eich + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit 508e05777aba823c93a2417cc26d18c9f061ca26 +Author: Egbert Eich +Date: Mon Aug 12 18:20:36 2013 +0200 + + DDX/Events: Distinguish between Input- and GeneralHandlers in xf86VTSwitch() + + When enabling/disabling input handlers in xf86VTSwitch() we treat Input- + and GeneralHandlers equally. The result is that after a VT switch the + masks for EnabledDevices and AllSockets are equal and the distiction + between both types is lost. + + Signed-off-by: Egbert Eich + Reviewed-by: Daniel Stone + Reviewed-by: Peter Hutterer + Signed-off-by: Keith Packard + +commit 0cb33ce34081d7d123ec565582d7d19bdb3964ad +Author: Egbert Eich +Date: Sat Oct 5 08:02:28 2013 +0200 + + DDX/modes: Add a sanity check when using screen sizes from EDID + + EDID sometimes lies about screen sizes. Since the screen size is used + by clients to determine the DPI a wrong ration will lead to terrible + looking fonts. + Add a sanity check for the h/v ratio cutting off at 2.4. This would + still accept the cinemascope aspect ratio as valid. + Also add message suggesting to add a quirk table entry. + + Signed-off-by: Egbert Eich + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit 41d4beb2616ceb3f1a1b8694733e85bae70de59a +Author: Egbert Eich +Date: Wed Aug 14 11:50:26 2013 +0200 + + DDX/DPMS: Call dixSaveScreens() also when screen is turned on + + DMPS calls dixSaveScreens() when turned off but not when turned + on. In most cases this is irrelevant as DPMS is done when a + key is hit in which case dixSaveScreens() will be called to + unblank anyhow. This isn't the case if we use xset (or the + DPMS extension directly) to unblank. + Check screenIsSaved to make sure the state needs to be changed + before calling dixSaveScreens(). + + Signed-off-by: Egbert Eich + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit 623c4147650d0404cfbea0f9b7df66dc7d928e00 +Author: Søren Sandmann Pedersen +Date: Mon Oct 21 17:11:56 2013 -0400 + + ephyr: Ensure stride of private framebuffer is multiple of 4 + + The fb layer of X can't deal with strides that are not a multiple of + 4, so when Xephyr allocates its own framebuffer it should make sure to + align it. + + This fixes crashes and rendering corruption when Xephyr runs in a + depth that is different from the host X server and its screen size is + not a multiple of 4 / depth. (This is particularly easy to trigger if + you use the -resizeable option). + + Reviewed-by: Eric Anholt + Signed-off-by: Soren Sandmann + Reviewed-by: Adam Jackson + +commit 97cf53cc2ad7ecfdd495133bad31d0ec7d939326 +Author: Søren Sandmann Pedersen +Date: Mon Oct 21 16:58:54 2013 -0400 + + ephyr: hostx_screen_init(): Fix bits_per_pixel and bytes_per_line + + When the depth of the Xephyr server matches that of the host X server, + Xephyr simply uses the buffer associated with the XImage as its + framebuffer. In this case, it is correct to get the bits_per_pixel and + bytes_per_line values returned from hostx_screen_init() from the XImage. + + However, when the depth doesn't match the host, Xephyr uses a private + framebuffer that is periodically copied to the XImage. In this case, + the returned values of bits_per_pixel and bytes_per_line should be + those of the private framebuffer, not those of the XImage. + + Reviewed-by: Eric Anholt + Signed-off-by: Soren Sandmann + Reviewed-by: Adam Jackson + +commit 55246b67b755d4c1039d54971fe3f77ea60d604e +Author: Søren Sandmann Pedersen +Date: Tue Oct 8 17:45:40 2013 -0400 + + xf86AddBusDeviceToConfigure(): Store device in DevToConfig[i].pVideo + + After fc3ab84d the pVideo field in DevToConfig[i] is no longer + initialized, so it's always NULL. This causes the duplicate finding + algorithm in the beginning of the function to not work anymore as it + is based on this field. + + The symptom of this bug is that X -configure reports + + Number of created screens does not match number of detected devices. + Configuration failed. + Server terminated with error (2). Closing log file. + + rather than producing a working config file. + + This patch fixes that bug by initializing the field before calling + xf86PciConfigureNewDev(). + + Cc: tvignatti@gmail.com + Signed-off-by: Soren Sandmann + Reviewed-by: Adam Jackson + +commit 95bf478b78e466002c382bcde7d4d62591e9215d +Merge: abf5d5a bb745f2 +Author: Keith Packard +Date: Thu Oct 31 18:18:19 2013 -0700 + + Merge remote-tracking branch 'jeremyhu/master' + +commit abf5d5ac12437ebe156b4dd500c2acd69eea3654 +Author: Jeremy Huddleston Sequoia +Date: Thu Oct 31 08:57:56 2013 -0700 + + miext/damage: Partial revert of "Only wrap into the GC ops chain if there's a listener (v3)" + + Fixes regression from: 4dc2a76740d921c824a4d8193f39dd373475f02a + + http://lists.x.org/archives/xorg-devel/2013-May/036241.html + https://trac.macports.org/ticket/38993 Signed-off-by: Jeremy Huddleston Sequoia - Reviewed-by: Connor Behan - (cherry picked from commit 4a251f5883b042cd902c192060a0be2b11148f2b) + Reviewed-by: Adam Jackson + Signed-off-by: Keith Packard -commit c6fd9c11f7302f4ac77bce37687c8bbffbf8ed65 +commit e4636072949a76477fe7c9d54662a0b3536b1372 +Merge: 17ed7ac 5c5c1b7 +Author: Keith Packard +Date: Thu Oct 31 17:05:48 2013 -0700 + + Merge remote-tracking branch 'keithp/dri3' + +commit 17ed7ac1fe7426d66f688087c09da5ff1dbb41d3 +Author: Adam Jackson +Date: Thu Oct 31 18:39:22 2013 -0400 + + glx: Lie about GLX_Y_INVERTED_EXT + + Well, that was lame. The problem with reporting y inversion honestly is + that libGL asks the driver _its_ opinion of Y inversion, which it just + fabricates from whole cloth. So then when libGL goes to compare the + driver's idea of fbconfigs with that of the server - a fairly dumb idea + to begin with - nothing matches, and direct rendering fails, and + sadness. + + So until the DRI drivers are fixed we should just continue to lie about + Y inversion. GLX_DONT_CARE is what libGL would make up for that + attribute if we hadn't sent it, so just send that instead. + + Signed-off-by: Adam Jackson + Tested-by: Keith Packard + Signed-off-by: Keith Packard + +commit 5c5c1b77982a9af7279a90bc3c2be48adaa9c778 +Author: Keith Packard +Date: Thu Jul 11 16:11:57 2013 -0700 + + present: Add Present extension + + Provides both a software implementation using timers and driver hooks + to base everything on vblank intervals. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 563138298868f62501875d3016f03469dcffaad0 +Author: Keith Packard +Date: Tue Apr 9 19:59:39 2013 -0700 + + dri3: Add DRI3 extension + + Adds DRM compatible fences using futexes. + Uses FD passing to get pixmaps from DRM applications. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit fdec793cdc2ef9a6ea66b311cb1068a7bd4a3be3 +Author: Keith Packard +Date: Thu Jan 17 13:46:55 2013 -0800 + + Add support for MIT-SHM AttachFd request + + This passes a file descriptor from the client to the server, which is + then mmap'd + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 9fd35daa3160fd36f00ed354bfcbefefa1353cce +Author: Keith Packard +Date: Thu Jan 17 13:43:02 2013 -0800 + + Add interfaces to get FDs from clients over the socket + + This adds two interfaces: + + void SetReqFds(ClientPtr client, int req_fds) + + Marks the number of file descriptors expected for this + request. Call this before any request processing so that + any un-retrieved file descriptors will be closed + automatically. + + int ReadFdFromClient(ClientPtr client) + + Reads the next queued file descriptor from the connection. If + this request is not expecting any more file descriptors, or + if there are no more file descriptors available from the + connection, then this will return -1. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 264fc3abe5f18341d0cf9ddb6766e10e4154e447 +Author: Keith Packard +Date: Thu Oct 31 13:01:46 2013 -0700 + + misync: Don't smash custom screen sync functions + + There was a check to avoid smashing custom functions, but the sense + was backwards causing it to always smash them, and also not set them otherwise. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 2d96948ab5c952b68875ac63844cf7d778d4bf63 +Author: Keith Packard +Date: Thu Jul 11 16:10:34 2013 -0700 + + os: Add GetTimeInMicros + + 64-bit higher resolution current time value. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 0c33f47281c36726848daf513fb0483cdea57bff +Author: Keith Packard +Date: Thu Jul 11 16:09:34 2013 -0700 + + Add swapll to byte swap 64-bit datatypes + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 26f013ba45b08a02bb028a461af68288a86fadb1 +Author: Keith Packard +Date: Thu Jul 11 16:08:41 2013 -0700 + + Add a RegionDuplicate function + + This allocates a new region structure and copies a source region into + it in a single API rather than forcing the caller to do both steps themselves. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit d25c217964eb1fe54c3a54bca4cac7f47b4b9fdf +Author: Keith Packard +Date: Mon Jan 14 14:24:36 2013 -0800 + + Clean up a couple of warnings in os/ + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 7710f2b927ec8e3c631f72d66d494b523377b48e +Author: Keith Packard +Date: Fri Jan 18 21:43:40 2013 -0800 + + Xext: Move MIT-SHM 'ShmDesc' to shmint.h + + This data structure is required to use shared memory objects in any + extension. That includes the Xv extension, which (before this patch) + duplicated the definition of this structure in its own code. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit e8961b718d82f1c081ec110d8d962f64e8406b82 +Author: Peter Hutterer +Date: Tue Oct 22 14:24:52 2013 +1000 + + os: use a constant for backtrace array size + + Signed-off-by: Peter Hutterer + Reviewed-by: Jasper St. Pierre + +commit f12a9ed870017f35cf6d2a82b1405e843aae42ac +Author: Peter Hutterer +Date: Tue Oct 29 15:24:11 2013 +1000 + + configure: remove a comment + + 94ed0ba1b5043ad9fc33b42756af447d5ab15bbd moved backtracing into the DIX, so + this comment is outdated. since no-one noticed and it's easier to just grep + than update file references, remove the comment. + + Signed-off-by: Peter Hutterer + Reviewed-by: Jasper St. Pierre + +commit bb745f2b45768d0936f3960951e1a5cee8b03194 Author: Jeremy Huddleston Sequoia -Date: Sun Nov 10 11:40:27 2013 -0800 +Date: Thu Oct 31 08:50:57 2013 -0700 - XQuartz: Don't sleep forever on exit if usleep() returns an error + XQuartz: Bump bundle version to 2.7.6 Signed-off-by: Jeremy Huddleston Sequoia - (cherry picked from commit f70a8bf3714d89bccaad36841ef9149e91ad3bba) -commit c82a90815cef2d92f6aabb2b0991b3cda71d23c4 -Author: Jeremy Huddleston Sequoia -Date: Sun Nov 10 11:26:49 2013 -0800 +commit 2eedf42c229e2251035d716a96b654222155cd51 +Author: Adam Jackson +Date: Thu Oct 31 09:23:52 2013 -0400 - XQuartz: Update Info.plist copyright years + dri: Fix GLX_Y_INVERTED_EXT fbconfig attribute - Signed-off-by: Jeremy Huddleston Sequoia - (cherry picked from commit ebcc1c214c466582d7b92826b4860256fd9c582a) + We're Y-inverted from GL's coordinates, so this is correct. gnome-shell + doesn't seem to check this - somewhat reasonable since the only server + that answered the other way around was Xglx - but kwin does, and + upside-down hilarity ensues. + + Tested-by: maelcum on #xorg-devel + Signed-off-by: Adam Jackson + Signed-off-by: Keith Packard -commit 339af2ae943d943f8ce986fc7bdcb8aa52b44922 +commit 902ff0b3497d202b86bf9a411e17db7b694d6eaa +Author: Adam Jackson +Date: Tue Oct 29 12:58:14 2013 -0400 + + xfree86: Bump video/input/extension ABIs for 1.15 + + Signed-off-by: Adam Jackson + Reviewed-by: Julien Cristau + Signed-off-by: Keith Packard + +commit 899451ae595f5f51a500295c624bf7ad14aca602 +Author: Keith Packard +Date: Wed Oct 30 08:54:24 2013 -0700 + + kdrive/ephyr: Don't discard one-time driver structure at server reset + + KdScreenInfo is constructed at server startup time, and not + re-generated at server reset time. Freeing the 'driver' element at + reset time means this information is lost, and the server crashes + pretty quickly afterwards. + + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 85ae44f07fa21b4a48d95d736dc8135bd4f751d0 +Author: Michal Srb +Date: Wed Oct 30 13:33:51 2013 +0200 + + randr: deliver Output and Crtc events of attached output providers. + + Consider all attached output providers when looking for changed outputs and + crtcs. + + Reviewed-by: Dave Airlie + Signed-off-by: Michal Srb + Signed-off-by: Keith Packard + +commit a9ca93dcf9a711b3d60fbad31cbd44e0c82b6f42 +Author: Michal Srb +Date: Wed Oct 30 13:33:50 2013 +0200 + + randr: send RRResourceChangeNotify event + + Send RRResourceChangeNotify event when provider, output or crtc was created or + destroyed. I.e. when the list of resources returned by RRGetScreenResources and + RRGetProviders changes. + + Reviewed-by: Dave Airlie + Signed-off-by: Michal Srb + Signed-off-by: Keith Packard + +commit 4b39ea8a918fe6117bf34dc1cba67a4e56d0d1fb +Author: Michal Srb +Date: Wed Oct 30 13:33:49 2013 +0200 + + randr: send RRProviderChangeNotify event + + Send RRProviderChangeNotify event when a provider becomes output source or + offload sink. + + Reviewed-by: Dave Airlie + Signed-off-by: Michal Srb + Signed-off-by: Keith Packard + +commit 1470c0a132806fb2ce817515ad4ddfe66eb7c98f +Merge: 04ab07c 9f4afe7 +Author: Keith Packard +Date: Tue Oct 29 21:00:13 2013 -0700 + + Merge remote-tracking branch 'whot/for-keith' + +commit 9f4afe7e835cf9c513387ae01eaf8b7a6ba4aac9 +Author: Gaetan Nadon +Date: Mon Oct 28 18:32:36 2013 -0400 + + config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES + + Fix Automake warning: AC_OUTPUT should be used without arguments. + www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files + + Signed-off-by: Gaetan Nadon + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit e16dea72d6f45dd6d7788362bb7dbe76263719b1 +Author: Peter Hutterer +Date: Wed Oct 23 15:16:25 2013 +1000 + + dmx: queue button events with a flags of 0 + + Setting POINTER_SCREEN with a unset valuator mask causes a jump to 0/0. Set + the flags to 0 so we don't generate any motion on a button event. + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit 04ab07ca19236d6c9a947e065fb69b0dd0d16639 +Author: Connor Behan +Date: Thu Oct 17 18:26:28 2013 -0700 + + xfree86: Find primary entity when bus types are nominally different + + As of server 1.13, systems with DRM and Udev will have BUS_PLATFORM as + their primary bus type. However, drivers not implementing a + platformProbe function will still create entities of type BUS_PCI. We + need to account for this when checking for the primary entity. + + Signed-off-by: Connor Behan + Acked-by: Tormod Volden + Reviewed-by: Adam Jackson + Signed-off-by: Keith Packard + +commit b32a4c91ccd479638c2bd2c0143b6ea170c717d1 +Merge: be66809 c671e93 +Author: Keith Packard +Date: Tue Oct 29 09:37:30 2013 -0700 + + Merge remote-tracking branch 'idr/glx-float-fbconfig' + +commit be6680967a479eedbcab2fe1718c5f981e1029c7 +Author: Adam Jackson +Date: Wed Jul 10 10:00:46 2013 -0400 + + glx: convert to direct GL dispatch (v2) + + We now expect to be linked against something that provides the GL API, + instead of manually grubbing about in the DRI driver's dispatch table. + Since the GLX we expose calls GL functions that are meant to be looked + up dynamically, also add a way to thunk through to GetProcAddress. + + This includes a refresh of the generated sources, which requires a + correspondingly new Mesa. + + The GetProcAddress stubs are at the moment merely enough to make this + link against Mesa 9.2, but should really be provided for everything not + in the OpenGL 1.2 ABI. + + v2: Explicitly hide the GetProcAddress stubs so we can't conflict with + libGL symbols; fix leading tab/space issues [anholt] + + Reviewed-by: Keith Packard + Signed-off-by: Adam Jackson + +commit 8aacf47e1778d8b72811b025a82452b933d3c1f2 +Author: Adam Jackson +Date: Fri Oct 4 12:58:19 2013 -0400 + + glx: Remove DRI1 AIGLX (v2) + + Mesa doesn't ship DRI1 drivers as of 8.0, which is about 18 months and + three releases ago. The main reason to have wanted DRI1 AIGLX was to + get a GLX compositor working, but DRI1's (lack of) memory management API + meant that the cost of a GLX compositor was breaking direct GLX apps, + which isn't a great tradeoff. + + Of the DRI1 drivers Mesa has dropped, I believe only mga stands to lose + some functionality here, since it and only it has support for + NV_texture_rectangle. Since that's required for every extant GLX + compositor I know of, I conclude that anybody with a savage, say, would + probably not notice AIGLX going away, since they wouldn't be running a + GLX compositor in the first place. + + In the future we'd like to use GL in the server in a more natural way, + as just another EGL client, including in the GLX implementation itself. + Since there's no EGL implemented for DRI1 drivers, this would already + doom AIGLX on DRI1 (short of entirely forking the GLX implementation, + which I'm not enthusiastic about). + + v2: Remove DRI1 from AIGLX conditionals in configure.ac [anholt] + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 7f5adf73a0f9a951a6df201532b4031d38054369 +Author: Adam Jackson +Date: Wed Oct 2 17:38:05 2013 -0400 + + glx: Simplify glXDestroyContext + + We can just free the resource unconditionally here. ContextGone (which + FreeResourceByType will call) already does: + + cx->idExists = GL_FALSE; + if (!cx->currentClient) { + __glXFreeContext(cx); + } + + Reviewed-by: Ian Romanick + Signed-off-by: Adam Jackson + +commit 53653f4889dcaea0cf67f8a4180af71eeb4b2f6b +Author: Adam Jackson +Date: Mon Aug 5 15:46:11 2013 -0400 + + glx: Fix a corner case in DrawableGone + + Losing the drawable does not change our notion of current client. Since + the GL under us doesn't understand having a current context without + current drawables (sigh), we do still need to loseCurrent so that we + re-bind the context on the next request. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65030 + Reviewed-by: Ian Romanick + Signed-off-by: Adam Jackson + +commit 276d8057aa7f6e36c9c874257a6383f416c5cedd +Author: Adam Jackson +Date: Sat Aug 3 09:47:55 2013 -0400 + + glx: Fix memory leak in context garbage collection (v2) + + I broke this, back in: + + commit a48dadc98a28c969741979b70b7a639f24f4cbbd + Author: Adam Jackson + Date: Mon Mar 21 11:59:29 2011 -0400 + + glx: Reimplement context tags + + In that, I changed the glx client state to not explicitly track the list + of current contexts for the client (since that was what we were deriving + tags from). The bug was that I removed the code for same from + glxClientCallback without noticing that it had the side effect of + effectively de-currenting those contexts, so that ContextGone could free + them. So, if you had a client exit with a context still current, the + context's memory would leak. Not a huge deal for direct clients, but + viciously bad for indirect, since the swrast context state at the bottom + of Mesa is like 15M. + + Fix this by promoting Bool isCurrent to ClientPtr currentClient, so that + we have a back-pointer to chase when walking the list of contexts when + ClientStateGone happens. + + v2: Explicitly call __glXFreeContext on the ClientStateGone path. Our + current context might be one we got from EXT_import_context and whose + creating client has since died. Without the explicit call, the creating + client's FreeClientResources would not free the context because it's + still current, and the using client's FreeClientResources would not free + the context because it's not an XID it created. This matches the logic + from a48dadc. + + Reviewed-by: Ian Romanick + Signed-off-by: Adam Jackson + +commit 75b362763cca8b6139582ad85e3b58f0b2e30a1c +Author: Adam Jackson +Date: Tue Oct 8 15:02:44 2013 -0400 + + glx: Only take a Pixmap reference if creating the GLXPixmap succeeded + + Reviewed-by: Julien Cristau + Signed-off-by: Adam Jackson + +commit 4292a39c8014f9f4920bed3001802e4a3e523c5e +Author: Peter Hutterer +Date: Mon Oct 28 12:10:10 2013 +1000 + + Xi: fix logic error when calculating emulated motion events + + gcc -Wlogical-op + exevents.c: In function 'DeliverEmulatedMotionEvent': + exevents.c:1480:13: warning: logical 'or' of collectively exhaustive + tests is always true [-Wlogical-op] + + The relevant snippet of exevents.c: + + 1479 if (ti->listeners[0].type != LISTENER_POINTER_REGULAR || + 1480 ti->listeners[0].type != LISTENER_POINTER_GRAB) + 1481 return; + + This condition was always true, causing dropped motion events. + + Reported-by: Alan Coopersmith + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + +commit c671e935e7c44d4711ba9588ee96cb9796b879e6 +Author: Daniel Czarnowski +Date: Mon Oct 21 19:48:38 2013 +0200 + + glx: Enable GLX_ARB_fbconfig_float for DRI2 drivers + + v2 (idr): Maintain sort order of extension list. Fixed rebase error + (comment header for initializeExtensions was in front of + __glXDRIinvalidateBuffers). Re-write commit message. + + Signed-off-by: Daniel Czarnowski + Signed-off-by: Ian Romanick + Reviewed-by: Ian Romanick + +commit ccc8bb1153ec669f7540a174a81a8ec0e0d6dd67 +Author: Daniel Czarnowski +Date: Wed Oct 23 12:53:59 2013 +0200 + + glx: Handle float config types in glxConvertConfigs + + Replaces old use of floatMode attribute with new, extended range of + values in __DRI_ATTRIB_RENDER_TYPE. Also adds new conditions, where the + float modes support requires it. Enables support for not only float + configs, but packed float configs as well. + + v2 (idr): Whitespace and formatting fixes. Refactor render type + vs. pbuffer checking to a separate function that includes a quote from + the spec. Re-write commit message. Fix compiler warnings: + + glxdricommon.c: In function 'glxConvertConfigs': + glxdricommon.c:212:35: warning: pointer targets in passing argument 3 of 'core->getConfigAttrib' differ in signedness [-Wpointer-sign] + glxdricommon.c:212:35: note: expected 'unsigned int *' but argument is of type 'int *' + glxdricommon.c:230:35: warning: pointer targets in passing argument 3 of 'core->getConfigAttrib' differ in signedness [-Wpointer-sign] + glxdricommon.c:230:35: note: expected 'unsigned int *' but argument is of type 'int *' + + Signed-off-by: Daniel Czarnowski + Signed-off-by: Ian Romanick + Reviewed-by: Ian Romanick + +commit 4e5eb15b4cc170499cf87e6633c1737f0b1c514b +Author: Daniel Czarnowski +Date: Mon Oct 21 19:57:53 2013 +0200 + + glx: Correctly set render type enum + + The type specified is bits, but the context wants an enum. + + v2 (idr): Fix various whitespace and formatting problems. Rename + convFBconfRenderTypeBits2CtxRenderType to + renderTypeBitsToRenderTypeEnum. Re-write commit message. + + Signed-off-by: Daniel Czarnowski + Signed-off-by: Ian Romanick + Reviewed-by: Ian Romanick + +commit eabb523aa45f3d8940cadac197ef1225fbfd5c56 +Author: Daniel Czarnowski +Date: Mon Oct 21 19:45:35 2013 +0200 + + glx: Allow float renderType in glXCreateContextAttribsARB + + This enables GLX_RGBA_FLOAT_TYPE_ARB and + GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT as valid renderType parameters to + glXCreateContextAttribsARB. + + v2 (idr) : Use C-style comments and fix word wrapping. Re-write commit + message. + + Signed-off-by: Daniel Czarnowski + Signed-off-by: Ian Romanick + Reviewed-by: Ian Romanick + +commit 7ecfab47eb221dbb996ea6c033348b8eceaeb893 Author: Eric Anholt Date: Tue Oct 22 14:22:04 2013 -0700 @@ -88,357 +2741,44 @@ Date: Tue Oct 22 14:22:04 2013 -0700 Reviewed-by: Adam Jackson Signed-off-by: Keith Packard -commit 833639d2653a869c2ec8692640213e2ffa16fbb4 -Merge: cf684f0 94b7f26 -Author: Matt Dew -Date: Tue Nov 5 20:06:28 2013 -0700 +commit 83bb366e71ef41165998eed2934208f84714a37e +Author: Strake +Date: Thu Oct 17 23:20:20 2013 -0500 - Merge commit '94b7f26aeda31cf55ff9b7c04f390ba6d35977e4' into server-1.14-branch - -commit cf684f05180e8b3eb29ca94bbab84abb99f0f578 -Author: Michal Srb -Date: Wed Oct 30 13:33:51 2013 +0200 - - randr: deliver Output and Crtc events of attached output providers. + unbreak KdEnableInput - Consider all attached output providers when looking for changed outputs and - crtcs. - - Reviewed-by: Dave Airlie - Signed-off-by: Michal Srb - Signed-off-by: Keith Packard - (cherry picked from commit 85ae44f07fa21b4a48d95d736dc8135bd4f751d0) - -commit 87d66ccfec6808fd753da04254c096fa4a3d14cb -Author: Michal Srb -Date: Wed Oct 30 13:33:50 2013 +0200 - - randr: send RRResourceChangeNotify event (abi unbreak) - - Send RRResourceChangeNotify event when provider, output or crtc was created or - destroyed. I.e. when the list of resources returned by RRGetScreenResources and - RRGetProviders changes. - - [airlied: move structure member to avoid ABI breakage] - - Reviewed-by: Dave Airlie - Signed-off-by: Michal Srb - Signed-off-by: Keith Packard - (cherry picked from commit a9ca93dcf9a711b3d60fbad31cbd44e0c82b6f42) - -commit 9cc5d700b1e963284992ea3be7c93d425120c713 -Author: Michal Srb -Date: Wed Oct 30 13:33:49 2013 +0200 - - randr: send RRProviderChangeNotify event (abi unbreak) - - Send RRProviderChangeNotify event when a provider becomes output source or - offload sink. - - [airlied: unbreak the ABI for 1.14 backport.] - - Reviewed-by: Dave Airlie - Signed-off-by: Michal Srb - Signed-off-by: Keith Packard - (cherry picked from commit 4b39ea8a918fe6117bf34dc1cba67a4e56d0d1fb) - -commit 4cd0af4bb2662554e9bf3c044b8233019515e758 -Author: Dave Airlie -Date: Wed Jan 9 14:26:35 2013 +1000 - - randr: report changes when we disconnect a GPU slave - - When we disconnect an output/offload slave set the changed bits, - so a later TellChanged can do something. - - Then when we remove a GPU slave device, sent change notification - to the protocol screen. - - This allows hot unplugged USB devices to disappear in clients. + pi = ki = 0 here, so not follow them. + Signed-off-by: Strake Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - (cherry picked from commit 9d26e8eaf5a2d7c3e65670ac20254c60f665c463) + Signed-off-by: Peter Hutterer -commit 33b110d2dd74d4474c13f529b36fe30019fabcfc -Author: Dave Airlie -Date: Wed Jan 9 14:25:43 2013 +1000 +commit 8db4121a3c7104548fd4a138ac1d1bdea5fd22d9 +Author: Keith Packard +Date: Fri Oct 18 17:31:01 2013 -0700 - randr: only respected changed on the protocol screen + Update to version 1.14.99.3 - We don't want to know about changes on the non-protocol screen, - we will fix up setchanged to make sure non-protocol screens update - the protocol screens when they have a change. - - Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - (cherry picked from commit e233bda3e7c68234b34a8b7ad04b27c6e2009a8f) - -commit 8d923f090fd793a52b2a9a84353a242b30b12b99 -Author: Dave Airlie -Date: Wed Jan 9 14:29:47 2013 +1000 - - randr: make SetChanged modify the main protocol screen not the gpu screen - - When SetChanged is called we now modify the main protocol screen, - not the the gpu screen. Since changed stuff should work at the protocol level. - - Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - (cherry picked from commit b3f70f38edebac87afe9351538365292f1aaaff3) - -commit cc9579aee3b44e43a69fbf8c24ef88dfabe7f16d -Author: Dave Airlie -Date: Wed Jan 9 14:23:57 2013 +1000 - - randr: don't directly set changed bits in randr screen - - Introduce a wrapper interface so we can fix things up for multi-gpu - situations later. - - This just introduces the API for now. - - Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - (cherry picked from commit f9c8248b8326ad01f33f31531c6b2479baf80f02) - -commit 98ef5bc9aa421961e6c1654963af86d5ff3092db -Author: Adam Jackson -Date: Wed Aug 21 14:12:52 2013 -0400 - - randr: Fix a copypasta bug in CRTC confinement - - Reviewed-by: Michel Dänzer - Signed-off-by: Adam Jackson - (cherry picked from commit 1c8beedfe4343377fa3504f8ab71430cc137b22c) - -commit 2bea21ea7e6d474d2a075dd7d37464929ff5855b -Author: Aaron Plattner -Date: Tue Apr 30 14:14:23 2013 -0700 - - xfree86: detach scanout pixmaps when detaching output GPUs - - Commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6 fixed a bit of a - chicken-and-egg problem by detaching GPU screens when their providers - are destroyed, which happens before CloseScreen is called. However, - this created a new problem: the GPU screen tears down its RandR crtc - objects during CloseScreen and if one of them is active, it tries to - detach the scanout pixmap then. This crashes because - RRCrtcDetachScanoutPixmap tries to get the master screen's screen - pixmap, but crtc->pScreen->current_master is already NULL at that - point. - - It doesn't make sense for an unbound GPU screen to still be scanning - out its former master screen's pixmap, so detach them first when the - provider is destroyed. - - Signed-off-by: Aaron Plattner - Reviewed-by: Dave Airlie - Signed-off-by: Keith Packard - (cherry picked from commit bdd1e22cbde9ea2324e4e1991c9e152f22f88151) - -commit 9fbbea8cda199c5efdf3d3ae7485eb9ba62cde8b -Author: Dave Airlie -Date: Tue Nov 5 13:19:41 2013 +1000 - - Revert "Merge commit 'f98d6cfa0de41cf33e7555342753897c07af84ef' into server-1.14-branch" - - This reverts commit ad2fa50b5371f6e71a66d47e73304599c90f9118, reversing - changes made to bab4908579f6b034ea38f8df2f8dc1f9f026f5e1. - - oops i broke ABI. - - Signed-off-by: Dave Airlie - -commit 94b7f26aeda31cf55ff9b7c04f390ba6d35977e4 -Author: Jeremy Huddleston Sequoia -Date: Thu Oct 31 08:57:56 2013 -0700 - - miext/damage: Partial revert of "Only wrap into the GC ops chain if there's a listener (v3)" - - Fixes regression from: 4dc2a76740d921c824a4d8193f39dd373475f02a - - http://lists.x.org/archives/xorg-devel/2013-May/036241.html - https://trac.macports.org/ticket/38993 - - Signed-off-by: Jeremy Huddleston Sequoia - Reviewed-by: Adam Jackson - Signed-off-by: Keith Packard - (cherry picked from commit abf5d5ac12437ebe156b4dd500c2acd69eea3654) - -commit 0a1628bca7b6c85054041312987b73e701aecb80 -Author: Jeremy Huddleston Sequoia -Date: Tue Oct 29 11:06:55 2013 -0700 - - XQuartz: Bump bundle version to 2.7.5 - - Signed-off-by: Jeremy Huddleston Sequoia - -commit ad2fa50b5371f6e71a66d47e73304599c90f9118 -Merge: bab4908 f98d6cf -Author: Matt Dew -Date: Thu Oct 31 23:53:04 2013 -0600 - - Merge commit 'f98d6cfa0de41cf33e7555342753897c07af84ef' into server-1.14-branch - -commit bab4908579f6b034ea38f8df2f8dc1f9f026f5e1 -Author: Connor Behan -Date: Thu Oct 17 18:26:28 2013 -0700 - - xfree86: Find primary entity when bus types are nominally different - - As of server 1.13, systems with DRM and Udev will have BUS_PLATFORM as - their primary bus type. However, drivers not implementing a - platformProbe function will still create entities of type BUS_PCI. We - need to account for this when checking for the primary entity. - - Signed-off-by: Connor Behan - Acked-by: Tormod Volden - Reviewed-by: Adam Jackson Signed-off-by: Keith Packard -commit 4c40d9c4e4e4b39e81097cf6152d9940422fb5ab -Author: Matt Dew -Date: Thu Oct 31 23:09:03 2013 -0600 +commit e3220d7bae4548bf64e5879c981ad070ac1f78f7 +Merge: 73b2660 2523a44 +Author: Keith Packard +Date: Fri Oct 18 17:22:52 2013 -0700 - bump version from 1.14.3.901, to 1.14.4 - -commit f98d6cfa0de41cf33e7555342753897c07af84ef -Author: Michal Srb -Date: Wed Oct 30 13:33:51 2013 +0200 - - randr: deliver Output and Crtc events of attached output providers. + Merge commit '2523a445a09a75a8baf642608d099a5e12d5437f' - Consider all attached output providers when looking for changed outputs and - crtcs. - - Reviewed-by: Dave Airlie - Signed-off-by: Michal Srb - Signed-off-by: Keith Packard + This is merging the commits along Peter's for-keith branch, without + also merging in the spurious merge at the top of that branch. -commit 14f89fb291f058a39e45cef012607a43edc5c9fe -Author: Michal Srb -Date: Wed Oct 30 13:33:50 2013 +0200 +commit f8662a133690773692dfa392ecfa3b8b56af8fa9 +Merge: 7cf1b59 2523a44 +Author: Peter Hutterer +Date: Fri Oct 18 16:50:12 2013 +1000 - randr: send RRResourceChangeNotify event - - Send RRResourceChangeNotify event when provider, output or crtc was created or - destroyed. I.e. when the list of resources returned by RRGetScreenResources and - RRGetProviders changes. - - Reviewed-by: Dave Airlie - Signed-off-by: Michal Srb - Signed-off-by: Keith Packard + Merge branch 'xsync-transition-bug-59644' into for-keith -commit 4c79ea71a11c705a654a49f3edc2f01b4cdc61e2 -Author: Michal Srb -Date: Wed Oct 30 13:33:49 2013 +0200 - - randr: send RRProviderChangeNotify event - - Send RRProviderChangeNotify event when a provider becomes output source or - offload sink. - - Reviewed-by: Dave Airlie - Signed-off-by: Michal Srb - Signed-off-by: Keith Packard - -commit d94e40f0498b998c89e396a024d9a7bdc326cc41 -Author: Dave Airlie -Date: Wed Jan 9 14:26:35 2013 +1000 - - randr: report changes when we disconnect a GPU slave - - When we disconnect an output/offload slave set the changed bits, - so a later TellChanged can do something. - - Then when we remove a GPU slave device, sent change notification - to the protocol screen. - - This allows hot unplugged USB devices to disappear in clients. - - Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - -commit e233bda3e7c68234b34a8b7ad04b27c6e2009a8f -Author: Dave Airlie -Date: Wed Jan 9 14:25:43 2013 +1000 - - randr: only respected changed on the protocol screen - - We don't want to know about changes on the non-protocol screen, - we will fix up setchanged to make sure non-protocol screens update - the protocol screens when they have a change. - - Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - -commit 61df3350d000e32ea60f6b1cd222c5adc2e35617 -Author: Dave Airlie -Date: Wed Jan 9 14:29:47 2013 +1000 - - randr: make SetChanged modify the main protocol screen not the gpu screen - - When SetChanged is called we now modify the main protocol screen, - not the the gpu screen. Since changed stuff should work at the protocol level. - - Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - -commit 0454e4485186953195dc48d7b403eb610102d0a5 -Author: Dave Airlie -Date: Wed Jan 9 14:23:57 2013 +1000 - - randr: don't directly set changed bits in randr screen - - Introduce a wrapper interface so we can fix things up for multi-gpu - situations later. - - This just introduces the API for now. - - Reviewed-by: Peter Hutterer - Signed-off-by: Dave Airlie - -commit c635df3a7dcc1eaa0dbd3c3e1b02adcfcfb74e0a -Author: Adam Jackson -Date: Wed Aug 21 14:12:52 2013 -0400 - - randr: Fix a copypasta bug in CRTC confinement - - Reviewed-by: Michel Dänzer - Signed-off-by: Adam Jackson - -commit c856013cd2ca361dfa1b808071b7869c81224ec5 -Author: Aaron Plattner -Date: Tue Apr 30 14:14:23 2013 -0700 - - xfree86: detach scanout pixmaps when detaching output GPUs - - Commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6 fixed a bit of a - chicken-and-egg problem by detaching GPU screens when their providers - are destroyed, which happens before CloseScreen is called. However, - this created a new problem: the GPU screen tears down its RandR crtc - objects during CloseScreen and if one of them is active, it tries to - detach the scanout pixmap then. This crashes because - RRCrtcDetachScanoutPixmap tries to get the master screen's screen - pixmap, but crtc->pScreen->current_master is already NULL at that - point. - - It doesn't make sense for an unbound GPU screen to still be scanning - out its former master screen's pixmap, so detach them first when the - provider is destroyed. - - Signed-off-by: Aaron Plattner - Reviewed-by: Dave Airlie - Signed-off-by: Keith Packard - -commit ca11bdc890f14fbe2ab4c32fb7a36ae50672b81a -Author: Matt Dew -Date: Sat Oct 26 13:51:05 2013 -0600 - - Bump version from 1.14.3 to 1.14.3.901. - -commit 07069f5d71dd0869fe9a6f9ab87c467e7ec75011 +commit 2523a445a09a75a8baf642608d099a5e12d5437f Author: Peter Hutterer Date: Thu Oct 17 12:02:27 2013 +1000 @@ -454,9 +2794,8 @@ Date: Thu Oct 17 12:02:27 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson Reviewed-by: Keith Packard - (cherry picked from commit 2523a445a09a75a8baf642608d099a5e12d5437f) -commit fa5e4dcfb6236b8be0bf57edd1ff4f59cb2f8f6b +commit e57ec99b03b2ad840c384a97ab2766ce9da0f5cc Author: Peter Hutterer Date: Wed Oct 16 16:31:15 2013 +1000 @@ -524,9 +2863,8 @@ Date: Wed Oct 16 16:31:15 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson Reviewed-by: Keith Packard - (cherry picked from commit e57ec99b03b2ad840c384a97ab2766ce9da0f5cc) -commit 7b7753e97f0dfadfdcf28ce18b17a759b57f6be1 +commit 06b87aa528d7a739ba20101a1f83b1a428691a01 Author: Peter Hutterer Date: Wed Oct 16 10:08:46 2013 +1000 @@ -549,9 +2887,8 @@ Date: Wed Oct 16 10:08:46 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson Reviewed-by: Keith Packard - (cherry picked from commit 06b87aa528d7a739ba20101a1f83b1a428691a01) -commit 3866624a45074ba37a2e605d00df602c0222cd85 +commit efc1035ca958f2c9d266338a308518a0834b1773 Author: Peter Hutterer Date: Wed Oct 16 09:36:01 2013 +1000 @@ -563,9 +2900,8 @@ Date: Wed Oct 16 09:36:01 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson Reviewed-by: Keith Packard - (cherry picked from commit efc1035ca958f2c9d266338a308518a0834b1773) -commit 47e30b3649fc15efbc8cf06c604254d84652ede0 +commit b7c9bd9cf276e92a73be57ff2ed32b47a80f13fb Author: Peter Hutterer Date: Wed Oct 16 09:21:47 2013 +1000 @@ -578,9 +2914,8 @@ Date: Wed Oct 16 09:21:47 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson Reviewed-by: Keith Packard - (cherry picked from commit b7c9bd9cf276e92a73be57ff2ed32b47a80f13fb) -commit b47c02f21660bd99a5af5aa374294a22813d6679 +commit 2efe49c1029f959fe80879bcf50df42e8b80451d Author: Peter Hutterer Date: Wed Oct 16 13:01:01 2013 +1000 @@ -593,9 +2928,8 @@ Date: Wed Oct 16 13:01:01 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson Reviewed-by: Keith Packard - (cherry picked from commit 2efe49c1029f959fe80879bcf50df42e8b80451d) -commit 0033e969f4de84aa08ae321bc268a1461e12824b +commit 5c7cfd4c6978834551848e1be62af240102e39b5 Author: Peter Hutterer Date: Tue Oct 15 10:11:20 2013 +1000 @@ -606,160 +2940,8 @@ Date: Tue Oct 15 10:11:20 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson Reviewed-by: Keith Packard - (cherry picked from commit 5c7cfd4c6978834551848e1be62af240102e39b5) -commit 0c809f459c9997f743961081bc089fd2999fdcdb -Author: Peter Hutterer -Date: Wed Sep 4 15:34:29 2013 +1000 - - dix: only deliver for the current grab type - - Use the grabtype to determine which type of event to send - all other events - are pointless and may result in erroneous events being delivered. - - Signed-off-by: Peter Hutterer - (cherry picked from commit 7cf1b595c8c8f9776a39559d2878cf90af3f2859) - -commit acb447ef69bdfcae4fe7de4eef880c3bae0f7d4c -Author: Peter Hutterer -Date: Wed Sep 4 15:34:28 2013 +1000 - - dix: don't attempt to deliver an event for a different grabtype - - For an active grab, grab->eventMask can be either the core or the XI1 mask. - With the overlap of event filters, calling DeliverOneGrabbedEvent(XI1) for a - ProximityOut event will trigger if the client has selected for enter events - - the filter is the same for both. - - Thus, we end up delivering a proximity event to a client not expecting one. - - Signed-off-by: Peter Hutterer - (cherry picked from commit 78944d62ffc7fec6f75b6f514ab7a139ba9bc77b) - -commit f5b22ee8ba829aa095df3d091ec0a74e0aa42778 -Author: Peter Hutterer -Date: Wed Sep 4 15:34:27 2013 +1000 - - include: change grabtypes to start at 1 - - Avoid erroneous detection of an unset grabtype as CORE - - Signed-off-by: Peter Hutterer - (cherry picked from commit 6159811a1aaf848016dbfa7bde68df097027870c) - -commit d409cc884c53e7f66ee9266c85cdb7c100365c8f -Author: Peter Hutterer -Date: Wed Sep 4 15:34:26 2013 +1000 - - dix: only allow button and key events to freeze a sync'd pointer - - If a client calls XAllowEvents(SyncPointer) it expects events as normal until - the next button press or release event - that freezes the device. An e.g. - proximity event must thus not freeze the pointer. - - As per the spec, only button and key events may do so, so narrow it to these - cases. - - Signed-off-by: Peter Hutterer - (cherry picked from commit be6ea80b79b3d6eb97106ea142e01acbdf059995) - -commit 551dbf744b38a3da3d39b9154cb30d1197297eb1 -Author: Egbert Eich -Date: Fri Aug 16 19:52:16 2013 +0200 - - DIX/Xi: Pass correct client to CheckDeviceGrabAndHintWindow() - - If we have a client which has registered for a DeviceButton grab - be sure to pass this to CheckDeviceGrabAndHintWindow(). Since the - order of clients is arbitrary there is no guarantee that the last - client in the list is the one that belongs to this class. - - Signed-off-by: Egbert Eich - Reviewed-by: Peter Hutterer - Signed-off-by: Peter Hutterer - (cherry picked from commit 05ea6307fa4f0bee3d3bf536396059f3906791a0) - -commit cc7084af0d61e88ec0a62e14d6eef10c0b2b8b38 -Author: Peter Hutterer -Date: Mon Aug 26 15:51:46 2013 +1000 - - Xi: allow for XIAllowEvent requests larger than XI < 2.2 size (#68554) - - XIAllowEvents changed length in XI 2.2 (for the touchid). A bug in libXi - causes libXi to always use the new request length if the server supports - 2.2, regardless of the client's XIQueryVersion request. - - The server takes the client's XIQueryVersion request into account though, - resulting in a BadLength error if a 2.[0,1] client calls XIAllowEvents on a - XI 2.2+ server. - - Can't fix this in libXi, so work around this in the server. - - X.Org Bug 68554 - - Signed-off-by: Peter Hutterer - Reviewed-by: Adam Jackson - (cherry picked from commit 94d4e29aedc69431fa9b299ca1b67947173d7a24) - -commit 2ac257d845e7f52975123741292056b3df02f908 -Author: Peter Hutterer -Date: Fri Aug 16 15:30:59 2013 +1000 - - dix: check for grab type before checking XI2 mask - - if the grab type isn't XI2, grab->xi2mask is random. That random data may - have the enter/leave mask set, leading to events sent to the client that the - client can't handler. - - Source of these errors: - _xgeWireToEvent: Unknown extension 131, this should never happen. - - Simplest reproducer: - Start Xephyr, press button inside window, move out. As the pointer leaves - the Xephyr window, the errors appear. - - Signed-off-by: Peter Hutterer - Reviewed-by: Adam Jackson - (cherry picked from commit 82939e02392cbb880313fe92957091ff89ce2f2b) - -commit 3ac50dca8b4b9b6b3a7e16c5855ca246a70c9232 -Author: Peter Hutterer -Date: Fri Aug 23 09:04:01 2013 +1000 - - test: fix the gcc diagnostics pragma - - pop without push restores the commandline options. The proper way is to - push, then ignore, then pop. - - And while we're at it, change the pop argument to a comment - pop ignores - the argument, but be proper about it. - - Signed-off-by: Peter Hutterer - (cherry picked from commit d803f296c616ccf55711cf0af9e7d3eae2edda16) - -commit ec6de521161d5c45885c8751c250d3fabcbc2194 -Merge: 1427621 a1985e8 -Author: Matt Dew -Date: Mon Oct 21 21:03:29 2013 -0600 - - Merge commit 'a1985e892f5b5f0959235a631d8bcf676b78bfbc' into server-1.14-branch - -commit 14276213ac4d59316d5745ccb9a2fb23eb10cf99 -Author: Alan Coopersmith -Date: Mon Aug 5 20:46:45 2013 -0700 - - Allow disabling XFree86-DGA, DRI, VidModeExtension extensions - - Code to recognize these in extension enable/disable options was wrapped - in #ifdef XorgLoader, but that's not defined when building miinitext.c - since the great module merge of 1.13. Change to an #ifdef that is defined. - - Signed-off-by: Alan Coopersmith - Reviewed-by: Robert Hooker - Reviewed-by: Daniel Stone - Signed-off-by: Keith Packard - -commit 296057914570bd319bce9b718e6b90f46e6cc661 +commit 73b2660d7273d175d279d22f8ca0c3932a14ff1c Author: Alan Coopersmith Date: Mon Sep 16 21:47:16 2013 -0700 @@ -786,63 +2968,1098 @@ Date: Mon Sep 16 21:47:16 2013 -0700 Signed-off-by: Alan Coopersmith Reviewed-by: Julien Cristau -commit a1985e892f5b5f0959235a631d8bcf676b78bfbc -Author: Julien Cristau -Date: Sat Jul 27 12:09:07 2013 +0200 +commit 8afe20d4e34adcfd29bdf43a01d55335ea2c5dba +Author: Alan Coopersmith +Date: Mon Sep 16 21:45:29 2013 -0700 - dix: add missing include for DeleteWindowFromAnySelections + Update GLX dependencies now that DRI & DRI2 are builtins, not modules - Fixes build error with XACE disabled: - window.c:886:5: error: implicit declaration of function 'DeleteWindowFromAnySelections' [-Werror=implicit-function-declaration] - DeleteWindowFromAnySelections(pWin); - ^ - - Debian bug#701372 - - Reported-by: Matthias Klose - Signed-off-by: Julien Cristau - Reviewed-by: Alan Coopersmith - Signed-off-by: Keith Packard - (cherry picked from commit fe7463b8ce0de301c2f82b108c93963424f77219) + Signed-off-by: Alan Coopersmith -commit 19c2d516c2b5182e8b45649485aa3123b229b66a -Author: Julien Cristau -Date: Fri Aug 2 20:07:36 2013 +0200 +commit 2704bdb24a2c7bac65b90e05f1a68438b34ecf58 +Author: Alan Coopersmith +Date: Tue Sep 3 22:53:28 2013 -0700 - xfree86: improve check for posix saved ids + DMX glxproxy: Don't allocate & copy data just to free it unused - Replace hardcoded SVR4 || linux || CSRG_BASED with an autoconf check and - the _POSIX_SAVED_IDS macro. + Two functions in the DMX glxproxy code loop over all the backend + screens, starting at the highest numbered and counting down to + the lowest. + + Previously, for each screen, the code would allocate a buffer + large enough to read the reply from the backend, copy that reply + into the buffer, and then if it wasn't the final screen, free it. + Only the buffer from the final screen is used, to pass on to the + client in the reply. + + This modifies it to just immediately discard the responses from + the screens as we loop through it, only doing the allocate & copy + work for the one buffer we pass back to the client. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Alex Deucher + +commit 6c06c268adbab63ebe7490489aa030724cbdc54b +Author: Alan Coopersmith +Date: Sun Aug 18 18:02:49 2013 -0700 + + Skip damage calls if DamageCreate fails in exa functions + + Fixes parfait errors such as: + Null pointer dereference (CWE 476): Write to null pointer pDamage + at line 1833 of miext/damage/damage.c in function 'DamageRegister'. + Function DamageCreate may return constant 'NULL' at line 1775, + called at line 232 of exa/exa_migration_mixed.c + in function 'exaPrepareAccessReg_mixed'. + Constant 'NULL' passed into function DamageRegister, + argument pDamage, from call at line 237. + Null pointer introduced at line 1775 of miext/damage/damage.c + in function 'DamageCreate'. + Null pointer dereference (CWE 476): Write to null pointer pDamage + at line 1833 of miext/damage/damage.c in function 'DamageRegister'. + Function DamageCreate may return constant 'NULL' at line 1775, + called at line 104 of exa/exa_mixed.c + in function 'exaCreatePixmap_mixed'. + Constant 'NULL' passed into function DamageRegister, + argument pDamage, from call at line 109. + Null pointer introduced at line 1775 of miext/damage/damage.c + in function 'DamageCreate'. + + Checks are similar to handling results of other calls to DamageCreate. + + [ This bug was found by the Parfait 1.3.0 bug checking tool. + http://labs.oracle.com/pls/apex/f?p=labs:49:::::P49_PROJECT_ID:13 ] + + Signed-off-by: Alan Coopersmith + +commit 7cf1b595c8c8f9776a39559d2878cf90af3f2859 +Author: Peter Hutterer +Date: Wed Sep 4 15:34:29 2013 +1000 + + dix: only deliver for the current grab type + + Use the grabtype to determine which type of event to send - all other events + are pointless and may result in erroneous events being delivered. - Suggested-by: Mark Kettenis - Signed-off-by: Julien Cristau - Reviewed-by: Alan Coopersmith - Reviewed-by: Mark Kettenis . Signed-off-by: Peter Hutterer - (cherry picked from commit c218ba8423a73a7a643cb17789db8a1dd0901ca6) -commit b39a6ab645815a6012d9b2feaa049336ea09aa76 -Author: Julien Cristau -Date: Fri Aug 2 23:46:00 2013 +0200 +commit 78944d62ffc7fec6f75b6f514ab7a139ba9bc77b +Author: Peter Hutterer +Date: Wed Sep 4 15:34:28 2013 +1000 - test: include dix-config.h in hashtabletest.c + dix: don't attempt to deliver an event for a different grabtype - Missing _XSERVER64 define caused inconsistent sizeof(XID) between the - test and hashtable code, leading to test failures on 64bit big endian - archs like s390x or ppc64. + For an active grab, grab->eventMask can be either the core or the XI1 mask. + With the overlap of event filters, calling DeliverOneGrabbedEvent(XI1) for a + ProximityOut event will trigger if the client has selected for enter events - + the filter is the same for both. - Signed-off-by: Julien Cristau + Thus, we end up delivering a proximity event to a client not expecting one. + + Signed-off-by: Peter Hutterer + +commit 6159811a1aaf848016dbfa7bde68df097027870c +Author: Peter Hutterer +Date: Wed Sep 4 15:34:27 2013 +1000 + + include: change grabtypes to start at 1 + + Avoid erroneous detection of an unset grabtype as CORE + + Signed-off-by: Peter Hutterer + +commit be6ea80b79b3d6eb97106ea142e01acbdf059995 +Author: Peter Hutterer +Date: Wed Sep 4 15:34:26 2013 +1000 + + dix: only allow button and key events to freeze a sync'd pointer + + If a client calls XAllowEvents(SyncPointer) it expects events as normal until + the next button press or release event - that freezes the device. An e.g. + proximity event must thus not freeze the pointer. + + As per the spec, only button and key events may do so, so narrow it to these + cases. + + Signed-off-by: Peter Hutterer + +commit 93a27b2dd0d7ed51120f42456a91a7c59902ebc2 +Author: Michele Baldessari +Date: Sun Sep 15 19:30:38 2013 +0100 + + Xephyr: restore cursor visibility + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=69388 + + Commit c100211034ab69ce453a1644fb61c6808d7e3eda (dix: only show the cursor + if a window defines one (#58398)) broke the default cursor behaviour in + Xephyr (unless run with -retro). Restore the default cursor visibility + so that '-retro' or '-host-cursor' are not needed to have a visible + cursor. + + Signed-off-by: Michele Baldessari + Reviewed-by: Peter Hutterer + + as of ba387cf21f7d95987211f75d8024601e7d64e322 "ephyr: Use host (HW) cursors + by default." this only applies if -sw-cursor is given on the cmdline. + + Signed-off-by: Peter Hutterer + +commit 70efc799cbeec26f19831b3b14c0d4646198a077 +Author: Michele Baldessari +Date: Sun Sep 15 19:56:34 2013 +0100 + + Fix Xephyr compilation when DEBUG is enabled + + When DEBUG is enabled Xephyr compilation fails: + ephyrdriext.c:343:133: error: 'is_ok' undeclared (first use in this + function) + EPHYR_LOG("leave. is_ok:%d\n", is_ok); + + Just reemove bogus is_ok variable. + + Signed-off-by: Michele Baldessari Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer - (cherry picked from commit 930c6ff15d437dfb0f897e8cb4253abba70819cc) -commit 9acb64f54ee9dd2fe41afda159b919280850ad8e -Author: Matt Dew -Date: Thu Sep 12 21:17:40 2013 -0600 +commit 5ac4bfca64bd75474e550b26bc1195a5ca245752 +Author: Adam Jackson +Date: Tue Sep 10 14:18:18 2013 -0400 - bump version from 1.14.2.902 to 1.14.3 + input: calloc minimization for xi2mask_new + + There's no reason to do this as (nmasks + 2) callocs, and it's a + surprisingly hot path. Turns out you hit this ~once per passive grab, + and you do a few bajillion passive grab changes every time you enter or + leave the overview in gnome-shell. According to a callgrind of Xorg + with gnome-shell-perf-tool run against it: + + Ir before: 721437275 + Ir after: 454227086 + + Signed-off-by: Adam Jackson + Reviewed-by: Jasper St. Pierre + Signed-off-by: Peter Hutterer -commit af1c57152e10cfa55843e6330cffc6a3c8c517d3 +commit 44d502c6f1d03a9e548f0941cde0228b6fde8394 +Author: Jon TURNEY +Date: Sun Oct 6 16:45:52 2013 +0100 + + hw/xwin: Fix for "glx: Remove screen number from __GLXconfig" + + Fix compilation after commit c3c976f54c3c282d6fa6c8360688e036bc43d210 "glx: + Remove screen number from __GLXconfig" + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Adam Jackson + +commit 6a9bd103cb993e873cb82664b677ceed73c0bd85 +Merge: ea3b7db 8aae28e +Author: Keith Packard +Date: Mon Oct 7 17:29:38 2013 -0700 + + Merge remote-tracking branch 'jeremyhu/master' + +commit ea3b7db4b747f883ef7b8b524ee13bf8a63add14 +Author: Emil Velikov +Date: Mon Oct 7 18:29:25 2013 +0100 + + configure.ac: Include missing proto declarations in SDK_REQUIRED_MODULES + + Commits a1d41e311c21e, 7d859bd87834d & 3ed2c6e11298c made extinit.h require + the XF86 Big Font, XRes & ScrnSaver proto headers, but failed to add them + to the SDK_REQUIRED_MODULES so pkg-config would find them for driver builds. + + Signed-off-by: Emil Velikov + Reviewed-by: Daniel Stone + Signed-off-by: Keith Packard + +commit 8aae28e3cbdd49bfa8d940a4a517c94a53b94f86 +Author: Jeremy Huddleston Sequoia +Date: Sun Oct 6 09:20:45 2013 -0700 + + XQuartz: Dont't set screen on __GLXConfig + + Fixes regression introduced by c3c976f54c3c282d6fa6c8360688e036bc43d210 + + Signed-off-by: Jeremy Huddleston Sequoia + +commit c5f8eb968efa970201712105a1ac880b517e7b6d +Author: Jeremy Huddleston Sequoia +Date: Sun Oct 6 09:18:15 2013 -0700 + + rootless: Use miCopyRegion instead of fbCopyRegion + + Fixes regression introduced by e657635dbe6b92875b0e88370557c2cbab673a49 + + Signed-off-by: Jeremy Huddleston Sequoia + +commit ccbe17b1c6da1ad9d085fc8133cdd15dc7004a4a +Author: Pino Toscano +Date: Wed Aug 28 17:15:03 2013 +0200 + + os: move for any !win32 system + + It is needed in IPv6 configurations (for inet_pton) also when + SIOCGIFCONF is not defined. + + Signed-off-by: Pino Toscano + Acked-by: Samuel Thibault + Signed-off-by: Julien Cristau + +commit c079b8e675dd2762c9e07fe5d8c07612299dceb7 +Author: Pino Toscano +Date: Wed Aug 28 17:04:48 2013 +0200 + + xfree86/hurd: include + + Needed for using get_privileged_port. + + Signed-off-by: Pino Toscano + Acked-by: Samuel Thibault + Signed-off-by: Julien Cristau + +commit f0659a7f68a5a334879af01a6a63742eab1bf5de +Author: Keith Packard +Date: Fri Oct 4 16:44:46 2013 -0700 + + Bump version to 1.14.99.2 + + Signed-off-by: Keith Packard + +commit f2d149b6d10edea7233d93c7e19f71decf11dc62 +Author: Keith Packard +Date: Fri Oct 4 16:43:41 2013 -0700 + + kdrive/ephyr: Remove duplicate ephyrExtensions and ephyrExtensionInit decls + + These were duplicated when GLX support was re-added on two different branches. + + Signed-off-by: Keith Packard + +commit e0a678f0596f3547b98d74d5f0438b484b059458 +Author: Gaetan Nadon +Date: Sat Sep 28 15:26:38 2013 -0400 + + xfree86: add a comment as to why the logdir is created + + Without the logdir, the xserver will write the content of the log file on the + terminal stating that it cannot be written and will stop. + + Refer to https://bugs.freedesktop.org/show_bug.cgi?id=3889 + + Reviewed-By: Matt Dew + Signed-off-by: Gaetan Nadon + Signed-off-by: Keith Packard + +commit 5bdbf2dba3f7da4a593b286020eab0c7857e940c +Author: Gaetan Nadon +Date: Sat Sep 28 15:26:37 2013 -0400 + + xfree86: Use $(MKDIR_P) for better code portability + + Still true that we should not use the lower case $(mkdir_p) version. + However, remove the 2005 comment as the MKDIR_P is widely used now. + + Reviewed-By: Matt Dew + Signed-off-by: Gaetan Nadon + Signed-off-by: Keith Packard + +commit b8cfb0dc8426754b477b561bc158b8a24c143ddf +Author: Gaetan Nadon +Date: Sat Sep 28 15:26:36 2013 -0400 + + Uninstall X link and CYGWIN libXorg.exe.a in local install targets + + It is our duty to uninstall any files and/or directories that we installed + through install-data-local and install-exec-hook. + + Currently the X symbolic link to Xorg remains on disk after running + make uninstall. + + Note the exception for logdir which is usually shared by other modules. + + Reviewed-By: Matt Dew + Signed-off-by: Gaetan Nadon + Signed-off-by: Keith Packard + +commit 35a528e49269c3df75486cc606e51a8c1c083c06 +Author: Gaetan Nadon +Date: Sat Sep 28 15:26:35 2013 -0400 + + Xorg binary: use install-exec-hook rather than install-exec-local + + The former was explicitly designed to execute additional code after the binary + has been installed. The latter can be executed in any order, hence it's + current dependency on install-binPROGRAMS as a workaround. + + The CYGWIN libXorg.exe.a target is an installation target rather than + a post-installation one, so it should not be done as a hook. It does not depend + on the Xorg executable being installed. + + Automake: + "These hooks are run after all other install rules of the appropriate type, + exec or data, have completed. So, for instance, it is possible to perform + post-installation modifications using an install hook". + + "With the -local targets, there is no particular guarantee of execution order; + typically, they are run early, but with parallel make, there is no way + to be sure of that". + + Reviewed-by: Eric Anholt + Signed-off-by: Gaetan Nadon + Signed-off-by: Keith Packard + +commit a1d87576a30008253eb0cc92b44c9718f6665062 +Author: Gaetan Nadon +Date: Sat Sep 28 15:26:34 2013 -0400 + + Use $(LN_S) provided by AC_PROG_LN_S macro to create links + + For better code portability. + + Reviewed-By: Matt Dew + Signed-off-by: Gaetan Nadon + Signed-off-by: Keith Packard + +commit 28c8e1910797970dbf1d40794f1804a8fcc812bc +Author: Gaetan Nadon +Date: Sat Sep 28 15:26:33 2013 -0400 + + The Xorg binary is missing the extension $(EXEEXT) in the makefile + + This is not a problem on UNIX platforms, but on CYGWIN it creates a broken + link to Xorg rather than a link to Xorg.exe. + + From the CYGWIN log on tinderbox, we can see that the executable Xorg.exe is + installed correctly. We can see the command used to create the link: + + (cd /jhbuild/install/[...]/install/bin && rm -f X && ln -s Xorg X) + + Note that the "relink" makefile target correctly appends $(EXEEXT) to Xorg. + + Reviewed-By: Matt Dew + Signed-off-by: Gaetan Nadon + Signed-off-by: Keith Packard + +commit f3b529bf25db2700addbafc7aa4fc5b126ba9929 +Merge: 4399bd3 abc2bfc +Author: Keith Packard +Date: Fri Oct 4 14:04:48 2013 -0700 + + Merge remote-tracking branch 'anholt/ephyr-fixes' + +commit 4399bd38326b81f7b92365346504d7c6354772a9 +Author: Gaetan Nadon +Date: Mon Sep 30 13:30:46 2013 -0400 + + miext/shadow: missing c2p_core.h breaks "make distcheck" target. + + Reviewed-by: Julien Cristau + Signed-off-by: Gaetan Nadon + Signed-off-by: Keith Packard + +commit 9ccb4a63982942fdce19609d2cadbd8e51708462 +Merge: 5d2ec69 da5e201 +Author: Keith Packard +Date: Fri Oct 4 13:54:55 2013 -0700 + + Merge remote-tracking branch 'whot/for-keith' + +commit 5d2ec6933f6bb5116666ca1bfb07f0f20bf2a0b5 +Merge: 7d3d4ae 6ee4d9f +Author: Keith Packard +Date: Fri Oct 4 13:50:04 2013 -0700 + + Merge remote-tracking branch 'ajax/xserver-next' + +commit da5e20127a5b6e11a47eb6e61f3ea87b056cdf5f +Author: Gaetan Nadon +Date: Thu Sep 19 19:13:35 2013 -0400 + + test: add new os executable to .gitignore + + Signed-off-by: Gaetan Nadon + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit c73c36b537f996574628e69681833ea37dec2b6e +Author: Laércio de Sousa +Date: Wed Sep 18 13:42:17 2013 -0300 + + xserver: enable InputClass option "GrabDevice" by default for non-seat0 seats (#69478) + + This patch contributes to fill the remaining gaps which make + systemd-multi-seat-x wrapper still necessary in some multiseat setups. + + This also replaces previous evdev patch that does the same thing + for that particular driver. + + When option "-seat" is passed with an argument different from "seat0", + option "GrabDevice" for input devices is enabled by default + (no need of enabling it in xorg.conf's "InputClass" section). + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=69478 + + Signed-off-by: Laércio de Sousa + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit 160c2db32d0b9ee5316a44179a6af4f4722e3d0a +Author: Peter Hutterer +Date: Wed Sep 18 16:04:44 2013 +1000 + + dmx: provide enough space for axis mappings + + relmap/absmap is used as a evdev-axis-to-x-axis mapping. ABS_X maps to + axis 0, ABS_Y to 1, etc. skipping over non-existing axes so that the third bit + set in the ABS_* range is axis 2, and so on. This requires us to actually have + enough space to have all the ABS_*/REL_* range. + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + +commit 7d3d4ae55dd6ee338439e2424ac423b1df80501b +Author: Keith Packard +Date: Fri Sep 20 14:43:41 2013 -0500 + + damage: Must translate initial window damage by window offset + + Damage is reported relative to the drawable origin, but the window + borderClip is absolute. Translate the region by the window position + before reporting damage to adjust. + + Reported-by: Adam Jackson + Signed-off-by: Keith Packard + Reviewed-by: Adam Jackson + +commit 8010d3a48bd0b224dcb0883e39c2351ad364d846 +Author: Jeremy Huddleston Sequoia +Date: Sun Sep 15 08:10:33 2013 -0700 + + XQuartz: pbproxy: Fix build with -DDEBUG + + Signed-off-by: Jeremy Huddleston Sequoia + +commit 39c548da0cf0522ad246630605b96751ab6d39c0 +Author: Jeremy Huddleston Sequoia +Date: Sun Sep 15 08:07:44 2013 -0700 + + XQuartz: Fix build with moved pseudoramiX + + Regression from: e716baedc4d8e52a60f43ef21aba771b340d8c8b + + Signed-off-by: Jeremy Huddleston Sequoia + Reviewed-by: Jon TURNEY + +commit 6ee4d9f94ae2cc27c39381d7554134d9b4807a65 +Author: Adam Jackson +Date: Tue Jul 9 11:19:11 2013 -0400 + + glx: Fill in some missing attributes from DoGetFBConfigs + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit b257fabff00ae925bb7e70364dd1d738634087c9 +Author: Adam Jackson +Date: Thu Jul 4 10:31:40 2013 -0400 + + glx: Remove a dead comment + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit abd086502123086ce3d1fba25c159bb022d2750f +Author: Adam Jackson +Date: Mon Jul 8 17:01:13 2013 -0400 + + glx: Catch another failure case in drawable creation + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit c3c976f54c3c282d6fa6c8360688e036bc43d210 +Author: Adam Jackson +Date: Mon Jul 8 12:28:56 2013 -0400 + + glx: Remove screen number from __GLXconfig + + Not used. There's no real reason to match against this instead of + matching against fbconfig or visual ID anyway. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 1d1484e9bd55d1fa8316b1574754f28d5d31a076 +Author: Adam Jackson +Date: Mon Jul 8 12:09:13 2013 -0400 + + glx: Remove pixmapMode from __GLXconfig + + This has never been filled in with anything meaningful afaict, and you + can't get to it from the client in any event. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 34e6e60105796ad015469c10921c5ff09acf7eb0 +Author: Adam Jackson +Date: Tue Jul 2 12:33:36 2013 -0400 + + glx: Remove support for NV_vertex_program and NV_fragment_program + + Mesa doesn't implement these anymore, never really did outside of swrast + anyway. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit acf14c1de766c4ea206cd7ce7f25b780a589d33c +Author: Adam Jackson +Date: Tue Jul 2 10:35:19 2013 -0400 + + glx: realloc style fix in RenderLarge + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 9ebf739a6864c9ec38bf72f63ef2e3b9cd1951db +Author: Adam Jackson +Date: Tue Jul 2 10:30:40 2013 -0400 + + glx: Eliminate a small malloc from QueryContext + + No reason to have that be a failure path. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit b99f7975407f111b99d772cd28224d7dc1b34fe4 +Author: Adam Jackson +Date: Fri Nov 9 18:05:27 2012 -0500 + + glx: Handle failure to create the pixmap backing the pbuffer + + We happen not to sanitize the width/height we pass to CreatePixmap here, + oops. It's not exploitable, but it's certainly a crash, so let's just + throw BadAlloc instead. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 22fbfdcb31f335c22053a0e29f0e73c03cd70a76 +Author: Adam Jackson +Date: Fri Nov 9 17:52:12 2012 -0500 + + glx: Implement GLX_PRESERVED_CONTENTS drawable attribute + + We back pixmaps with pbuffers so they're never actually clobbered. Say + so when asked. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 2e20b8382cdf37ae5a2802f85b8f06a370f9645d +Author: Adam Jackson +Date: Fri Nov 9 17:12:49 2012 -0500 + + glx: Implement GLX_FBCONFIG_ID in GetDrawableAttributes + + Required by GLX 1.4, section 3.3.6, "Querying Attributes". + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 0d76191baeee005982754ac18ca995742e32d8c1 +Author: Adam Jackson +Date: Fri Nov 9 17:10:57 2012 -0500 + + glx: Implement GLX_{WIDTH,HEIGHT} in GetDrawableAttributes + + Required by GLX 1.4, section 3.3.6, "Querying Attributes". + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit d11f13e383dda1e9cabe32793d261d46edc44418 +Author: Adam Jackson +Date: Fri Nov 9 17:07:20 2012 -0500 + + glx: Compute number of attributes in GetDrawableAttributes on the fly + + This doesn't have any effect yet, but is needed to properly build the + reply for pbuffers. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 468b57324f838144d79e3a9d85a0bde853578c4b +Author: Adam Jackson +Date: Fri Nov 9 16:48:16 2012 -0500 + + glx: Style fixes + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 2b181ad0952851f47f23dcb1a36471685313c13e +Author: Adam Jackson +Date: Fri Nov 9 16:33:54 2012 -0500 + + glx: Pull GLX vendor string out of __GLXscreen + + Given how we're currently implementing GLX this can't meaningfully vary + per-screen. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit b9c489cf13e1ad35b7d9bea9de8d85e929374d17 +Author: Adam Jackson +Date: Wed Oct 31 10:05:24 2012 -0400 + + glx: Remove unused bits from the context struct + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit f579cc85c29f52b575c62e6ae1e16eb87c506bd3 +Author: Adam Jackson +Date: Thu Jul 4 10:08:40 2013 -0400 + + glxproxy: Don't track GLCLientm{aj,in}orVersion + + Basically just a port of 62f06b0d to glxproxy. + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit e549ffb5f19cf044bc3e2d368a6f081f8b84bfaa +Author: Adam Jackson +Date: Tue Oct 30 18:20:43 2012 -0400 + + dmx/glx: Remove unused __glXNop + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit d962b8ed272d4a8921c0dadf16cd926484e30d10 +Author: Adam Jackson +Date: Thu Aug 22 16:42:23 2013 -0400 + + damageext: Style fix + + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit c90add0f1ce0c85aea7a60635de765848d778266 +Author: Adam Jackson +Date: Wed Aug 21 11:57:24 2013 -0400 + + damage: Remove "post-rendering" hooks + + This is a revert of 974db58f5b730c3770ee461665a02dd4334d1dea. There are + no consumers of this API, we must not need it. + + Reviewed-by: Chris Wilson + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 0f3f8e4295d4c05f33b93e0ffd2f6f8cd5759bf7 +Author: Adam Jackson +Date: Wed Aug 21 11:13:11 2013 -0400 + + damage: Don't rewrite Text ops to GlyphBlt ops + + There's no particularly good reason to, and it breaks Xnest. + + Bugzilla: http://bugs.freedesktop.org/2454 + Reviewed-by: Chris Wilson + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit d08966227e7d567df8d26eebc80f35f886e59a4a +Author: Adam Jackson +Date: Mon Aug 26 14:03:51 2013 -0400 + + damage: Simplify DamageUnregister + + You can only register one drawable on a given damage, so there's no + reason to require the caller to specify the drawable, the damage is + enough. The implementation would do something fairly horrible if you + _did_ pass mismatched drawable and damage, so let's avoid the problem + entirely. + + v2: Simplify xf86RotateDestroy even more [anholt] + + Reviewed-by: Chris Wilson + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit 28708a045de7d9043d20fb06b61c44a46eb5526b +Author: Adam Jackson +Date: Mon Aug 26 13:52:14 2013 -0400 + + damage: Implicitly unregister on destroy + + There's no reason not to, and it simplifies quite a few callers. + + Reviewed-by: Chris Wilson + Reviewed-by: Eric Anholt + Signed-off-by: Adam Jackson + +commit e657635dbe6b92875b0e88370557c2cbab673a49 +Author: Adam Jackson +Date: Thu Oct 18 14:24:23 2012 -0400 + + fb: Remove unused compatibility wrappers + + Originally added in early 2009, not being used elsewhere anymore. + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit e4b15125bb06c97f1f34f7074fcdb597e718399c +Author: Adam Jackson +Date: Thu Oct 18 14:24:22 2012 -0400 + + mipointer: Remove deprecated miPointerCurrentScreen + + The only remaining use was in some debugging code in DMX. + + Reviewed-by: Peter Hutterer + Reviewed-by: Mark Kettenis + Signed-off-by: Adam Jackson + +commit b5d66b9513a0f1e13f5c5bc9e0958f4eac9bf6c3 +Author: Adam Jackson +Date: Thu Oct 18 14:24:21 2012 -0400 + + xfree86: Remove deprecated unimplemented xf86MapReadSideEffects + + Reviewed-by: Peter Hutterer + Reviewed-by: Mark Kettenis + Signed-off-by: Adam Jackson + +commit abbd85742a390e18497b96902a0c0d976739e3bd +Author: Adam Jackson +Date: Thu Oct 18 14:24:20 2012 -0400 + + dix: FIXES is not optional + + It's already not optional at configure time, this just makes it so at + build time too. + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit dff81687f5eac3eac9b49f58d4654cc30add2547 +Author: Adam Jackson +Date: Thu Oct 18 14:24:19 2012 -0400 + + vbe: Don't try to load the ddc submodule + + DDC is built into the server now. + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit bb82191bcfa8042f8d98ec8b1c6616dc31d2c5c8 +Author: Adam Jackson +Date: Thu Oct 18 14:24:18 2012 -0400 + + misprite: Delete some dead private storage + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit 3639ab4ce25dc82a3f8592b7322198f1d2aca5f9 +Author: Adam Jackson +Date: Tue Oct 16 14:56:25 2012 -0400 + + dri2: Don't bother with xf86LoaderCheckSymbol("DRI2Connect") + + The DRI2 code is now built-in to the server, even for Xorg. The only + thing this could protect against is trying to run a libglx built with + DRI2 support against an Xorg built without it, which is firmly in + "doctor it hurts when I do this" territory. + + Reviewed-by: Peter Hutterer + Reviewed-by: Ian Romanick + Signed-off-by: Adam Jackson + +commit 13b507409f9e01adebba50e7eb801b52e52692ba +Author: Adam Jackson +Date: Tue Oct 16 14:56:23 2012 -0400 + + list: Avoid using X types + + In particular, Bool. This is not an ABI break: + + /usr/include/X11/Xdefs.h:typedef int Bool; + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit dbe10ef0e35659ee0e5db73f29670a3894a3e3f5 +Author: Adam Jackson +Date: Tue Oct 16 14:56:22 2012 -0400 + + dbe: Fold the window private private into the window private + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit 1489637d567b0034a916f88079b5f360e7fce99c +Author: Adam Jackson +Date: Tue Oct 16 14:56:21 2012 -0400 + + dbe: Fold midbe reset into dix + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit 44d770750069486a8452fb2384f9b85745268e61 +Author: Adam Jackson +Date: Tue Oct 16 14:56:20 2012 -0400 + + dbe: Drop the unused idiom support + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit 8cce0cf4d378f6fa52bc2cd277737b8986ab683c +Author: Adam Jackson +Date: Tue Oct 16 14:56:19 2012 -0400 + + damage: Remove the 'damage window' resource type. + + Note that the existing code never actually creates a resource of this + type, so it can't possibly do anything. This is clearly meant to track + window destruction and clean up any associated Damages, but that's + already handled by miext/damage's DestroyWindow wrapper. + + Previous discussion: + http://lists.freedesktop.org/archives/xorg-devel/2011-March/020847.html + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit e674815e0a217ac01ec2d6a8517f8466b27fb39f +Author: Adam Jackson +Date: Tue Oct 16 14:56:18 2012 -0400 + + dmx: Remove ShadowFB support + + This has been listed as deprecated ever since DMX was merged. + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit 19d3a7cb5db3188210830efa746987ba50d839e9 +Author: Adam Jackson +Date: Tue Oct 16 14:56:17 2012 -0400 + + dix: Remove a dead parameter from DoGetImage + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit 4dca026880da90cff9734cf5787c5b57c02e7310 +Author: Adam Jackson +Date: Tue Oct 16 14:56:16 2012 -0400 + + mipointer: Remove EnqueueEvent from miPointerScreenFuncRec + + No DDX overrode this, and we never actually called through that slot + anyway. + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit ad076dc6e82019defa422500710b3b42c6309e39 +Author: Adam Jackson +Date: Tue Oct 16 14:56:15 2012 -0400 + + mipointer: Flatten calls to mieqSwitchScreen + + No DDX was overriding this. + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit e2b14a1d3bb27e86ff1d7aaf59af850d06263ef5 +Author: Adam Jackson +Date: Tue Oct 16 14:56:14 2012 -0400 + + os: Factor out some common code in input buffer handling + + Reviewed-by: Peter Hutterer + Signed-off-by: Adam Jackson + +commit 65fca558848acd907483d3c85c7cd4db5560f1b4 +Author: Radek Doulik +Date: Tue Aug 13 08:45:47 2013 +0200 + + xnest: Ignore GetImage() error in xnestGetImage() + + When an Xnest instance is not viewable it will crash when a client in + that instance calls GetImage. This is because the Xnest server will + itself receives a BadMatch error. + This patch ignores the error. The application which has requested the + image will receive garbage - this however is fully legal according + to the specs as obscured areas will always contain garbage if there + isn't some sort of backing store as discussed in + https://bugs.freedesktop.org/show_bug.cgi?id=9488 + The applied patch is a version from Dadek Doulik. + + v2: Call XSync() before changing error handlers as suggested by + Daniel Stone . + + Reviewed-by: Daniel Stone + Signed-off-by: Egbert Eich + +commit b902c8abb6d03e68c93e13881a350523b5ac900c +Author: Michal Srb +Date: Tue Aug 6 16:56:53 2013 +0200 + + Xnest: Implement xnestModifyPixmapHeader + + Xnest variant of ModifyPixmapHeader that creates new Pixmap in parent X + server if it's size is modified from 0x0 to anything bigger. + + xnestCreatePixmap doesn't create pixmap in parent X server if it has + dimensions 0x0. If it is later resized and accessed, Xnest will be + aborted with BadDrawable error from parent X server because it will + use XID 0. This happens with ScratchPixmap, for example as used from + XaceCensorImage. Applications using XACE crash Xnest. + + Reviewed-by: Adam Jackson + +commit 132507eba93e4dfd466d5c30c9b818cdc6f8536e +Author: Peter Harris +Date: Mon Jul 15 19:44:45 2013 -0400 + + security: Don't count RetainPermanent clients twice + + If a RetainPermanent client is subsequently killed by a KillClient + request, the reference count is decremented twice. This can cause the + server to prematurely kill other clients using the same Authorization. + + Reviewed-by: Adam Jackson + Signed-off-by: Peter Harris + +commit 20c2a3bcb11b5baf564e2c73a477ba23f5ae2b10 +Author: Peter Harris +Date: Mon Jul 15 19:44:29 2013 -0400 + + mi: Avoid stack smash when drawing dashed lines + + X.org Bug 54013 + + Reviewed-by: Adam Jackson + Signed-off-by: Peter Harris + +commit 9bf46610a9d20962854016032de4567974e87957 +Author: Chris Wilson +Date: Fri Jun 21 22:58:31 2013 +0100 + + os: Immediately queue initial WriteToClient + + If we immediately put the WriteToClient() buffer into the socket's write + queue, not only do we benefit from sending the response back to client + earlier, but we also avoid the overhead of copying the data into our own + staging buffer and causing extra work in the next select(). The write is + effectively free as typically we may only send one reply per client per + select() call, so the cost of the FlushClient() is the same. + + shmget10: 26400 -> 110000 + getimage10: 25000 -> 108000 + + shmget500: 3160 -> 13500 + getimage500: 1000 -> 1010 + + The knock-on effect is that on a mostly idle composited desktop, the CPU + overhead is dominated by the memmove in WriteToClient, which is in turn + eliminated by this patch. + + Reviewed-by: Adam Jackson + Signed-off-by: Chris Wilson + +commit ceffb34774d44ada83cc1994d20c8d65b46bd555 +Author: Laurent Carlier +Date: Sat Jun 8 00:43:56 2013 +0200 + + ephyr: restore GLX support + + It was removed since version 1.13 + + Signed-off-by: Sebastien Bacher + Acked-by: Daniel Stone + +commit f37972f4a67b49ba9649310a6778bd1bf31e0130 +Author: Keith Packard +Date: Wed Apr 24 14:58:27 2013 -0700 + + miext/sync: Fix multi-screen support in SyncFence initialization + + miSyncSetup was checking to see if the screen private key had been + registered, and if so, skipping the setup of the provided screen. + + Instead, it should register the private index only once, but then + initialize the screen unless it has already been initialized. This + latter step allows drivers to initialize the sync private structures + before the Sync extension itself is initialized. + + Reviewed-by: Adam Jackson + Signed-off-by: Keith Packard + +commit 1c8beedfe4343377fa3504f8ab71430cc137b22c +Author: Adam Jackson +Date: Wed Aug 21 14:12:52 2013 -0400 + + randr: Fix a copypasta bug in CRTC confinement + + Reviewed-by: Michel Dänzer + Signed-off-by: Adam Jackson + +commit 47ff382d1fce25a8b097d45b79489e891f1f1228 +Merge: 6f89ae3 3752a81 +Author: Keith Packard +Date: Mon Sep 9 15:13:42 2013 -0700 + + Merge remote-tracking branch 'jturney/master' + +commit 6f89ae3e64c4dfeea508813e546c10ba1da3ea8e +Author: Thomas Klausner +Date: Wed Sep 4 20:06:07 2013 +0200 + + Fix typo in configure warning. + + Signed-off-by: Thomas Klausner + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit 47218a6e09549781fd61dbf5e0d3d5c81da64323 +Author: Thomas Klausner +Date: Wed Sep 4 20:05:51 2013 +0200 + + Fix bug in cursor handling. + + CreateCursor (Xlib call XCreatePixmapCursor) with a non-bitmap + source pixmap and a None mask is supposed to error out with BadMatch, + but didn't. + + From der Mouse , changed following + comments by Alan Coopersmith . + + Signed-off-by: Thomas Klausner + Reviewed-by: Jasper St. Pierre + Signed-off-by: Peter Hutterer + +commit 1110b71e360195aab040d835b54540ab558638c5 Author: Chris Clayton Date: Wed Sep 4 15:42:04 2013 +1000 @@ -862,13 +4079,958 @@ Date: Wed Sep 4 15:42:04 2013 +1000 Reviewed-by: Keith Packard Signed-off-by: Peter Hutterer -commit 0e37fefea5e91dfdcd18ffd941daa7d05cc3180d -Author: Matt Dew -Date: Thu Aug 22 17:43:51 2013 -0600 +commit abc2bfca16adcd1e5657d4ce54f4e1335d5ed53f +Author: Sebastien Bacher +Date: Fri Aug 23 21:21:44 2013 +0200 - bump rev number from 1.14.2.901 to 1.14.2.902 + kdrive: initialize GLX for xephyr + + Like commit ac1a60e7b6f06fd075cc5bf55d6bc67206a01d29, re-add + initialization of GLX after it was accidentally dropped from non-Xorg + servers in 5f5bbbe543f65c48ecbb5cce80116a86ca3fbe86. + + Signed-off-by: Sebastien Bacher + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62346 + Reviewed-by: Eric Anholt + Reviewed-by: Adam Jackson + Reviewed-by: Julien Cristau + Signed-off-by: Eric Anholt -commit 917c11ff97eb302d3c2d0565c8dd6d93101d6466 +commit aa5534ec6931ffcc81cca76b98785d57de8e0e52 +Author: Eric Anholt +Date: Fri Aug 23 11:23:00 2013 -0700 + + ephyr: Do grab/ungrab for ctrl+shift, not just shift+ctrl. + + Given that the window title says "ctrl+shift", having pressing those + keys in that order not ungrab you is fairly mean. + + Signed-off-by: Eric Anholt + Reviewed-by: Adam Jackson + Reviewed-by: Julien Cristau + +commit 5cc15e1c427bacd73db7381df3474a23f7616624 +Author: Eric Anholt +Date: Fri Aug 23 11:19:17 2013 -0700 + + ephyr: Flush the X connection when updating the window title. + + Otherwise when you're doing the ctrl-shift mouse grab thing, you + don't know what state you're in until the next rendering occurs. + + Signed-off-by: Eric Anholt + Reviewed-by: Adam Jackson + Reviewed-by: Julien Cristau + +commit ba387cf21f7d95987211f75d8024601e7d64e322 +Author: Eric Anholt +Date: Fri Aug 23 11:17:14 2013 -0700 + + ephyr: Use host (HW) cursors by default. + + Unless you're working on the sw cursor rendering code, you surely want + to have real hardware cursors. + + Signed-off-by: Eric Anholt + Reviewed-by: Adam Jackson + Reviewed-by: Julien Cristau + +commit 0f5a2f13dc284dd5f0f28e2c4323b2e08d253a7d +Author: Eric Anholt +Date: Fri Aug 23 11:04:22 2013 -0700 + + ephyr: Garbage collect some DOA host window clipping code. + + Introduced in 79782726617d4b5a4f9b376f21936d035fc870e1 but never used. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 090de17d361dc9828203a2562565d6499998db46 +Author: Eric Anholt +Date: Fri Aug 23 10:56:22 2013 -0700 + + ephyr: Garbage collect some dead XV clipping code. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 347d0fa6961c2b3dc4efd4e7cca8ef98cd3ea06e +Author: Eric Anholt +Date: Fri Aug 23 10:44:23 2013 -0700 + + ephyr: Remove the helper libs for each of the optional components. + + Note that EXTRA_DIST was always unnecessary, because automake notices + conditional compile of source files and includes them. + + Copyright header is added because git noted that this was a 61% + rewrite. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 74dff87790dbb3dcb23634f1e8cd54018e5ddc9d +Author: Eric Anholt +Date: Fri Aug 23 10:40:52 2013 -0700 + + ephyr: Remove the remaining bits of host/server XV split. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 2f994dfe9d1add9ea8cb9c88ddb0d15843854788 +Author: Eric Anholt +Date: Fri Aug 23 10:14:36 2013 -0700 + + ephyr: Remove the host/server split of the actual XV video operations. + + I suspect there's more cleanup possible in ephyrHostXVPutImage() by + sticking a bunch of the args in the port priv earlier. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 0b7ce74315213ccd31802847e5a83e67090ded14 +Author: Eric Anholt +Date: Fri Aug 23 10:01:23 2013 -0700 + + ephyr: Remove another host/server split for XV image formats. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 1dcc28bcb402d7286d18b41b469062a5c176d7eb +Author: Eric Anholt +Date: Thu Aug 22 17:00:41 2013 -0700 + + ephyr: Remove the host/server split for video encodings. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 28a37757e11068b4594f4128a0d64c6bc9a53ee0 +Author: Eric Anholt +Date: Thu Aug 22 17:26:21 2013 -0700 + + ephyr: Remove the host/server split for XV formats. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 41134d393a37dd5b971b018a3888fbfea0b9c736 +Author: Eric Anholt +Date: Thu Aug 22 17:21:37 2013 -0700 + + ephyr: Remove the host/server split for XV attributes. + + v2: Fix leaks of xcb replies (caught by Julien) + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 1342a93c49beb6e4924534304119d57fa587ad0f +Author: Eric Anholt +Date: Thu Aug 22 17:26:08 2013 -0700 + + ephyr: Remove the host/server split for XV adaptors. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit fad79d2e3e53de4f25b3d1dd7accb558464a4a46 +Author: Eric Anholt +Date: Sun Aug 18 20:08:32 2013 +0200 + + ephyr: Refactor XV adaptor feature detection. + + This obviously wanted a helper function beforehand, but even more so + now that we have XCB. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 7a9c311add62026972419ef0b04a55680072bfeb +Author: Eric Anholt +Date: Sun Aug 18 20:02:53 2013 +0200 + + ephyr: Remove some pointless indirection in the XV code. + + Now that we have XCB on the server side, we don't need to split these + functions out. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 46cf6bf5692ef751ec9d17ae2292565d4b13f14b +Author: Eric Anholt +Date: Sun Aug 18 18:38:29 2013 +0200 + + ephyr: Move event processing into ephyr.c. + + No more extra event structure to translate between hostx.c and + ephyr.c! + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 847c856effde482c13cdefcdca8176cee3bf67c4 +Author: Eric Anholt +Date: Sun Aug 18 17:28:08 2013 +0200 + + ephyr: Move the host screen info into the kdrive screen private. + + We can include xcb bits from the same place as server headers, so + there's no need to hide them any more. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 8dadc78e233f341f1ecb8d404de03d98ab210620 +Author: Eric Anholt +Date: Sun Aug 18 16:45:06 2013 +0200 + + ephyr: Rename and use the proper type for what was host_screen->info. + + Now that we can include server headers in talking to host X, we don't + need to hide any more. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 18d836f6dde46bcac8b794d34f76032688c28851 +Author: Eric Anholt +Date: Sun Aug 18 14:12:45 2013 +0200 + + ephyr: Expose a single function for detecting extensions. + + v2: Fix trying to include xcb-dri in the non-dri-build case (Noted by + Julien) + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 3aacb22d6473480c31fb08f0b2527747dbf5be57 +Author: Eric Anholt +Date: Sun Aug 18 14:01:53 2013 +0200 + + ephyr: Drop dead ephyrHostAtomToLocal code. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 4aaad0bfbcef018eb36839b1d034c3f60022694a +Author: Julien Cristau +Date: Wed Oct 20 20:10:43 2010 +0200 + + Xephyr: we're not using Xlib anymore, no need to undef _XSERVER64 + + Drop obsolete comments about interaction between Xlib code and that + macro, and stop undefining it. + + Signed-off-by: Julien Cristau + Reviewed-by: Eric Anholt + +commit 0fc2f9f04a44599f598380d4df992bec60c0e3a1 +Author: Julien Cristau +Date: Sat Sep 25 16:05:07 2010 +0200 + + Xephyr: handle errors in event loop + + Signed-off-by: Julien Cristau + Reviewed-by: Eric Anholt + Reviewed-by: Mikhail Gusarov + +commit 3309a73c826f02c4b2e14180a3254546314ec323 +Author: Julien Cristau +Date: Fri Jun 25 14:20:57 2010 +0100 + + Xephyr: drop remaining Xlib dependency + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit 7da2174cf93f59b7e0372a6dc9d37a510076e187 +Author: Julien Cristau +Date: Mon Jun 21 14:39:03 2010 +0100 + + Xephyr: move glx code to xcb + + v2: Rebase on master, notably adding XCB for + X_GLXvop_MakeCurrentReadSGI (anholt). + v3: Fix use-after-free (caught by Julien). + + Reviewed-by: Mikhail Gusarov (v1) + Signed-off-by: Julien Cristau + Signed-off-by: Eric Anholt + +commit 19c2699b954e2978301c4449dfccc7ca40bf6ae6 +Author: Julien Cristau +Date: Wed Jun 23 18:36:00 2010 +0100 + + Xephyr: remove unused DRI1 code + + Reviewed-by: Mikhail Gusarov + Signed-off-by: Julien Cristau + +commit 68b7db19e8d3c1ac55a811327d3058f4c8fb45ec +Author: Julien Cristau +Date: Sun Jun 20 00:07:08 2010 +0100 + + Xephyr: move ephyrdri over to xcb + + Require new xcb-xf86dri to get fixed GetDrawableInfo. + + Reviewed-by: Mikhail Gusarov + Signed-off-by: Julien Cristau + +commit aea119cd05807ed77336f96a40f8e4607c6ce169 +Author: Julien Cristau +Date: Sun Jun 20 11:13:26 2010 +0100 + + Xephyr: use xcb-xv instead of libXv + + v2: Massive, conflict-filled rebase. I think I resolved everything + right, but this host xv code makes my eyes bleed. Touch-tested XV + after the rebase (anholt). + + Reviewed-by: Mikhail Gusarov (v1) + Signed-off-by: Julien Cristau + Signed-off-by: Eric Anholt + +commit 3ea75a59d5fec3c4099388724942e216f2344328 +Author: Julien Cristau +Date: Mon Jun 21 17:20:32 2010 +0100 + + Xephyr: use xcb for event handling + + v2: Rebase on indentation changes, squash in a simpler variant of the + later event compression patch, fix server hang or segfault on + window close by reimplementing the x_io_error_handler in the new + XCB event loop (anholt). + + Reviewed-by: Mikhail Gusarov (v1) + Signed-off-by: Julien Cristau + Signed-off-by: Eric Anholt + +commit ff26845252889f7cc3258a0d3aa116189acc6aae +Author: Julien Cristau +Date: Thu Jun 24 23:45:16 2010 +0100 + + Xephyr: some more hostx.c xcb-ification + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit 9b55f76a265aab0d9943a40208a38800e5782ba5 +Author: Julien Cristau +Date: Thu Jun 24 23:35:15 2010 +0100 + + Xephyr: move HostX.visual to xcb + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit 126312fb4a6e06024a306341e675163108426390 +Author: Julien Cristau +Date: Thu Jun 24 23:26:48 2010 +0100 + + Xephyr: replace XKeycodeToKeysym with xcb-keysyms + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit 8543d3fdfd47d2a0423f3ef8e7429c23c5d6b053 +Author: Julien Cristau +Date: Thu Jun 24 23:17:32 2010 +0100 + + Xephyr: delete unused hostx_get_extension_info function + + v2: Also remove the prototype (anholt) + + Reviewed-by: Mikhail Gusarov (v1) + Signed-off-by: Julien Cristau + Signed-off-by: Eric Anholt + +commit d72c11b9df4a98fd80cb6635d34964483e33bc41 +Author: Julien Cristau +Date: Mon Jun 21 14:25:11 2010 +0100 + + Xephyr: delete unused proxy code + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit a71ea3f96769da157dde82a591e43264820772ac +Author: Julien Cristau +Date: Sun Jun 20 23:34:54 2010 +0100 + + Xephyr: xcb-ify visual list construction + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit ac2b0348c00d692ec1bd8d6c8ab99e9198e755a7 +Author: Julien Cristau +Date: Sun Jun 20 23:34:39 2010 +0100 + + Xephyr: xcb-ify pointer/keyboard grab + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit 1f93e6b350d1b9a058009052a666a2e8796708cb +Author: Julien Cristau +Date: Sun Jun 20 23:34:03 2010 +0100 + + Xephyr: no need for XDisplayKeycodes + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit 73398e5bf61c30e69a40a19a1057c2263fbb91ef +Author: Julien Cristau +Date: Thu Jun 24 23:00:38 2010 +0100 + + Xephyr: use xcb-shape instead of XShape* + + Reviewed-by: Mikhail Gusarov + Reviewed-by: Eric Anholt + Signed-off-by: Julien Cristau + +commit a2b73da78de4e627965213d24a6c33f243a60eb6 +Author: Julien Cristau +Date: Sun Jun 20 00:05:40 2010 +0100 + + Xephyr: start converting hostx.c over to xcb + + v2: Dropped the hostx_load_keymap changes, now that that function is + gutted (anholt). + + Reviewed-by: Mikhail Gusarov (v1) + Signed-off-by: Julien Cristau + Signed-off-by: Eric Anholt + +commit 762606b4cdfb57c5202ae128ce4dbb8afe172d4e +Author: Julien Cristau +Date: Fri Jun 25 17:59:13 2010 +0100 + + Xephyr: stop loading the host's keymap + + This isn't used anywhere. + + v2: Rebase to the top of the patch series (anholt) + + Reviewed-by: Mikhail Gusarov (v1) + Signed-off-by: Julien Cristau + Signed-off-by: Eric Anholt + +commit 3752a815800626ae93f64a856f5889aa6636344e +Author: Marc Haesen +Date: Sat Aug 10 17:38:38 2013 +0100 + + hw/xwin: Remove unnecessary and incorrect HWND casts + + Signed-off-by: Marc Haesen + Reviewed-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 34932cef6cc800fbdf2f375506057ed8cd1e07f6 +Author: Jon TURNEY +Date: Mon Apr 1 13:43:00 2013 +0100 + + hw/xwin: Fix compilation of winauth.c with -Werror=implicit-function-declaration + + /jhbuild/checkout/xorg/xserver/hw/xwin/winauth.c: In function ‘MitGenerateCookie’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winauth.c:87:5: error: implicit declaration of function ‘MitAddCookie’ [-Werror=implicit-function-declaration] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit 2a08554a0bf80b862c15676c31ecd463b616518c +Author: Jon TURNEY +Date: Mon Jun 17 23:54:01 2013 +0100 + + hw/xwin: Remove unused extern g_fUseUnicode from winclipboardwndproc.c + + Signed-off-by: Jon TURNEY + Reviewed-by: Marc Haesen + +commit 69401f38a697c941ea58351028f4cd4b810f9188 +Author: Jon TURNEY +Date: Mon Jun 17 18:37:26 2013 +0100 + + hw/xwin: Remove unneeded forward declaration of winProcessXEventsTimeout() + + Remove unneeded forward declaration of winProcessXEventsTimeout(), the actual + definition immediately follows. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit 9c45a1ad44f12ac25e1c3b7a18a3bceb85a2cf38 +Author: Jon TURNEY +Date: Mon Jun 17 16:58:47 2013 +0100 + + hw/xwin: Remove prototype for non-existent winDeinitClipboard() + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit acc46fc217352b94f77a6b5b14808ea89875a2a1 +Author: Jon TURNEY +Date: Mon Jun 17 00:40:13 2013 +0100 + + hw/xwin: Remove unused externs from winclipboardwrappers.c + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit fcc7767f8cd6c318861b1060ef6a3936750a0dd2 +Author: Jon TURNEY +Date: Mon Jun 10 17:31:12 2013 +0100 + + hw/xwin: Remove unused winProcQueryTreeOrig variable + + Unused since 47c7b6d3e626497747ae2780f259a15b8e6c846f "Remove no-longer needed + tricks used to prevent the clipboard client from being killed" + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit 8fa882a980abea6f05b4b59447a187aea2c793a1 +Author: Jon TURNEY +Date: Sat Aug 10 12:41:07 2013 +0100 + + hw/xwin: Fix ARGB cursor conversion on x86_64 + + Fix erroneous use of unsigned long * for lpBits in winXCursorToHCURSOR() which + leads to ARGB cursors being vertically streched on x86_64 by interleaving blank + rows of pixels. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit 4bfb2dce5eea4923eaf86eca33b96087b28235f5 +Author: Jon TURNEY +Date: Sun Apr 7 23:59:44 2013 +0100 + + hw/xwin: Fix an issue in winSetSpansNativeGDI() identifed by -Warray-bounds + + The BITMAPINFO local only has room for a single RBGQUAD in bmiColors, but we + access two (black and white for a mono-color DIB). Fix by changing to a dynamic + allocation big enough for a BITMAPINFO and a RGBQUAD. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit 784c006adb22c6693ad30dd0b1b05369cfaa7b5e +Author: Jon TURNEY +Date: Sat Aug 10 11:55:23 2013 +0100 + + hw/xwin: Fix -Warray-bounds warning in winXCursorToHCURSOR() + + Rewrite winXCursorToHCURSOR() so access to BITMAPINFO bmiColors member doesn't + trigger an -Warray-bounds warning. + + Note that the underlying storage is allocated as a BITMAPV4HEADER, so has + sufficent room for the extra RGBQUADs bmiColors after the BITMAPINFO bmiHeader. + + wincursor.c: In function 'winSetCursor': + wincursor.c:293:24: error: array subscript is above array bounds [-Werror=array-bounds] + wincursor.c:294:24: error: array subscript is above array bounds [-Werror=array-bounds] + wincursor.c:295:24: error: array subscript is above array bounds [-Werror=array-bounds] + wincursor.c:296:24: error: array subscript is above array bounds [-Werror=array-bounds] + wincursor.c:297:24: error: array subscript is above array bounds [-Werror=array-bounds] + wincursor.c:298:24: error: array subscript is above array bounds [-Werror=array-bounds] + wincursor.c:299:24: error: array subscript is above array bounds [-Werror=array-bounds] + wincursor.c:300:24: error: array subscript is above array bounds [-Werror=array-bounds] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit 41d03c9ccce665b919b180bbb819b78c750aa325 +Author: Marc Haesen +Date: Fri Aug 2 18:19:22 2013 +0100 + + hw/xwin: Correct size of _WINDOWSWM_NATIVE_HWND property on x86_64 + + Use the correct size of a HWND on x86_64 in XChangeProperty() and + XGetWindowProperty() calls for the _WINDOWSWM_NATIVE_HWND property. + + Signed-off-by: Marc Haesen + Reviewed-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 390cfec10ef7d52391f890c7593ac82a7d77d856 +Author: Colin Harrison +Date: Fri Aug 9 16:48:12 2013 +0100 + + hw/xwin: Correct winprefs.c function signatures for x64. + + Correct SetupRootMenu(), SetupSysMenu(), HandleCustomWM_INITMENU() and + HandleCustomWM_COMMAND() function signatures which use unsigned long parameters, + where just a specific HWND or HMENU handle type should have been used. + + Signed-off-by: Colin Harrison + Reviewed-by: Jon TURNEY + Reviewed-by: Marc Haesen + +commit e716baedc4d8e52a60f43ef21aba771b340d8c8b +Author: Jon TURNEY +Date: Sat Mar 31 14:42:45 2012 +0100 + + Move pseudoramiX code where it can be shared between Xwin and Xquartz + + Move pseudoramiX code to a separate top-level directory. Link Xwin and Xquartz + with libPseudoramiX + + I'm not sure moving this to a top-level directory is appropriate, but I'm not + sure where else it fits. + + Future work: pseudoramiX can probably be consolidated with the rrxinerama code + (which I think provides fake xinerama data when real XINERAMA is disabled and we + only have one screen) + + v2: fix distcheck + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit ce0217b98261dcf8b20cfb743831965dda1950ec +Author: Jon TURNEY +Date: Sat Aug 10 12:35:55 2013 +0100 + + hw/xwin: Fix winglobals.h for MinGW64 build + + Include pthread.h in winglobals.h to fix build with latest MinGW64 headers + + In file included from + winmultiwindowicons.c:47:0: + winglobals.h:92:1: error: unknown type name ‘pthread_mutex_t’ + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit b27756dbe6a1be4633ec47a8fe92a4c217f68f93 +Author: Jon TURNEY +Date: Sun Aug 11 12:15:11 2013 +0100 + + hw/xwin: Fix inclusion of shlobj.h in MinGW64 build + + Fix build with latest MinGW64 headers by wrapping Status type in shlobj.h as well + + In file included from InitOutput.c:51:0: + /usr/i686-w64-mingw32/sys-root/mingw/include/shlobj.h:1231:44: error: expected identifier or ‘(’ before ‘int’ + /usr/i686-w64-mingw32/sys-root/mingw/include/shlobj.h:1248:44: error: expected identifier or ‘(’ before ‘int’ + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + Reviewed-by: Marc Haesen + +commit 94d4e29aedc69431fa9b299ca1b67947173d7a24 +Author: Peter Hutterer +Date: Mon Aug 26 15:51:46 2013 +1000 + + Xi: allow for XIAllowEvent requests larger than XI < 2.2 size (#68554) + + XIAllowEvents changed length in XI 2.2 (for the touchid). A bug in libXi + causes libXi to always use the new request length if the server supports + 2.2, regardless of the client's XIQueryVersion request. + + The server takes the client's XIQueryVersion request into account though, + resulting in a BadLength error if a 2.[0,1] client calls XIAllowEvents on a + XI 2.2+ server. + + Can't fix this in libXi, so work around this in the server. + + X.Org Bug 68554 + + Signed-off-by: Peter Hutterer + Reviewed-by: Adam Jackson + +commit 82939e02392cbb880313fe92957091ff89ce2f2b +Author: Peter Hutterer +Date: Fri Aug 16 15:30:59 2013 +1000 + + dix: check for grab type before checking XI2 mask + + if the grab type isn't XI2, grab->xi2mask is random. That random data may + have the enter/leave mask set, leading to events sent to the client that the + client can't handler. + + Source of these errors: + _xgeWireToEvent: Unknown extension 131, this should never happen. + + Simplest reproducer: + Start Xephyr, press button inside window, move out. As the pointer leaves + the Xephyr window, the errors appear. + + Signed-off-by: Peter Hutterer + Reviewed-by: Adam Jackson + +commit 16894df1ffb6fe21bf723dd954578e8d934799ca +Author: Peter Hutterer +Date: Fri Aug 16 10:55:09 2013 +1000 + + Xi: replace loop with memset + + Signed-off-by: Peter Hutterer + Reviewed-by: Adam Jackson + +commit 8f2292b683f591052da2fe94fb3831a3c9a5aa61 +Author: Peter Hutterer +Date: Fri Aug 16 11:05:49 2013 +1000 + + include: wrap EMASKSIZE in parentheses + + Otherwise things like EMASKSIZE * foo will yield interesting results. + + Signed-off-by: Peter Hutterer + Reviewed-by: Adam Jackson + +commit d803f296c616ccf55711cf0af9e7d3eae2edda16 +Author: Peter Hutterer +Date: Fri Aug 23 09:04:01 2013 +1000 + + test: fix the gcc diagnostics pragma + + pop without push restores the commandline options. The proper way is to + push, then ignore, then pop. + + And while we're at it, change the pop argument to a comment - pop ignores + the argument, but be proper about it. + + Signed-off-by: Peter Hutterer + +commit 05ea6307fa4f0bee3d3bf536396059f3906791a0 +Author: Egbert Eich +Date: Fri Aug 16 19:52:16 2013 +0200 + + DIX/Xi: Pass correct client to CheckDeviceGrabAndHintWindow() + + If we have a client which has registered for a DeviceButton grab + be sure to pass this to CheckDeviceGrabAndHintWindow(). Since the + order of clients is arbitrary there is no guarantee that the last + client in the list is the one that belongs to this class. + + Signed-off-by: Egbert Eich + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit e01a3f65d3e6d92f92ef2992b338cc9625bde082 +Author: Eric Anholt +Date: Sat Aug 17 14:50:37 2013 +0200 + + ephyr: Fix warning about XID vs unsigned long * by changing function args + + There's no reason to pass the data back out to the caller, since the + caller was dropping it on the floor. The original data is a CARD32, + so no need to mess with weird unsigned longs. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit f1cefe020bd21c07dfcc9f204e79939499abbd35 +Author: Eric Anholt +Date: Sat Aug 17 14:38:08 2013 +0200 + + ephyr: Drop is_ok logging. + + The only cases that lead to !is_ok are already EPHYR_LOG_ERROR, and it + fixes set-but-unused compiler warnings. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 77c7a2014e3942b55c0b78308edf02eab33f2e60 +Author: Eric Anholt +Date: Sat Aug 17 14:36:09 2013 +0200 + + kdrive: Fix const cast warnings in arguments processing. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 7107937e473a3557c37d719cb100b2e9b09075dd +Author: Eric Anholt +Date: Sat Aug 17 13:11:17 2013 +0200 + + kdrive: Fix const cast warnings in driver name handling. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 56c405d46a86853771a0b808da4c8a9ef626960c +Author: Eric Anholt +Date: Sat Aug 17 13:07:23 2013 +0200 + + kdrive: Fix a few easy cast warnings. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit a9c48a07eea50468fa47ab178cdd91edb0b5727f +Author: Eric Anholt +Date: Sat Aug 17 13:06:23 2013 +0200 + + kdrive: Drop dead code. + + This is unused as of the introduction of a helper in + e7150db5350bc2113ff4126019b489847a4dc217 + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 873ae962bdb7559c952b5955ba262285701982a8 +Author: Eric Anholt +Date: Sat Aug 17 13:01:57 2013 +0200 + + ephyr: Fix dead code warning. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 34af2eebe19e2f8afe35a5614d4d44fa4fd89d6b +Author: Eric Anholt +Date: Sat Aug 17 13:01:32 2013 +0200 + + ephyr: Fix const-cast warnings for setting window title. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit 7edf5066db48434739ac64e0576fbb4fdf0f37f9 +Author: Eric Anholt +Date: Sat Aug 17 12:54:33 2013 +0200 + + ephyr: Fix const cast warnings in ephyrhostvideo. + + Signed-off-by: Eric Anholt + Reviewed-by: Julien Cristau + +commit fe7463b8ce0de301c2f82b108c93963424f77219 +Author: Julien Cristau +Date: Sat Jul 27 12:09:07 2013 +0200 + + dix: add missing include for DeleteWindowFromAnySelections + + Fixes build error with XACE disabled: + window.c:886:5: error: implicit declaration of function 'DeleteWindowFromAnySelections' [-Werror=implicit-function-declaration] + DeleteWindowFromAnySelections(pWin); + ^ + + Debian bug#701372 + + Reported-by: Matthias Klose + Signed-off-by: Julien Cristau + Reviewed-by: Alan Coopersmith + Signed-off-by: Keith Packard + +commit 6a49f8836a649322d38a364d9ae084be40fb2305 +Author: Keith Packard +Date: Sat Aug 17 12:17:36 2013 +0200 + + Add .dir-locals.el + + Enforce X.org style with an emacs configuration file + + Signed-off-by: Keith Packard + +commit f67d022523c59a27f3bf8791aa9ca6624318b1fd +Merge: 5a36cdd 9680f6a +Author: Keith Packard +Date: Tue Aug 6 07:12:12 2013 +0200 + + Merge commit '9680f6a12d642c2e4bfa09bf459d678214059d74' + +commit 5a36cdd91530d27627e39159a89b53f9fbb75280 +Author: Alan Coopersmith +Date: Mon Aug 5 20:46:45 2013 -0700 + + Allow disabling XFree86-DGA, DRI, VidModeExtension extensions + + Code to recognize these in extension enable/disable options was wrapped + in #ifdef XorgLoader, but that's not defined when building miinitext.c + since the great module merge of 1.13. Change to an #ifdef that is defined. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Robert Hooker + Reviewed-by: Daniel Stone + Signed-off-by: Keith Packard + +commit 9680f6a12d642c2e4bfa09bf459d678214059d74 +Author: Peter Hutterer +Date: Tue Aug 6 13:14:56 2013 +1000 + + xfree86: de-duplicate some AM_CPPFLAGS + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + +commit bbef8e46f2fed8f823ee4b97e96c3fcee28f3b75 +Author: Peter Hutterer +Date: Tue Aug 6 13:08:13 2013 +1000 + + Replace INCLUDES with AM_CPPFLAGS + + newer automake gets quite noisy about this. + hw/xfree86/ddc/Makefile.am:7: warning: + 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') + and many more of these. + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + +commit c218ba8423a73a7a643cb17789db8a1dd0901ca6 +Author: Julien Cristau +Date: Fri Aug 2 20:07:36 2013 +0200 + + xfree86: improve check for posix saved ids + + Replace hardcoded SVR4 || linux || CSRG_BASED with an autoconf check and + the _POSIX_SAVED_IDS macro. + + Suggested-by: Mark Kettenis + Signed-off-by: Julien Cristau + Reviewed-by: Alan Coopersmith + Reviewed-by: Mark Kettenis . + Signed-off-by: Peter Hutterer + +commit 930c6ff15d437dfb0f897e8cb4253abba70819cc +Author: Julien Cristau +Date: Fri Aug 2 23:46:00 2013 +0200 + + test: include dix-config.h in hashtabletest.c + + Missing _XSERVER64 define caused inconsistent sizeof(XID) between the + test and hashtable code, leading to test failures on 64bit big endian + archs like s390x or ppc64. + + Signed-off-by: Julien Cristau + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit b6e5c4669e0db391966deb397e8c975ec7f0124d Author: Maarten Lankhorst Date: Tue Jul 30 15:31:24 2013 +0200 @@ -881,9 +5043,8 @@ Date: Tue Jul 30 15:31:24 2013 +0200 Signed-off-by: Maarten Lankhorst Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer - (cherry picked from commit b6e5c4669e0db391966deb397e8c975ec7f0124d) -commit 804836c53083fdb9f43be6f51740df5d12d57cb4 +commit 500e844a24962c9e70abb3d614f1973013b2de73 Author: Maarten Lankhorst Date: Tue Jul 30 14:45:21 2013 +0200 @@ -896,29 +5057,28 @@ Date: Tue Jul 30 14:45:21 2013 +0200 Signed-off-by: Maarten Lankhorst Reviewed-by: Keith Packard Signed-off-by: Peter Hutterer - (cherry picked from commit 500e844a24962c9e70abb3d614f1973013b2de73) -commit 7250c310b50c96709f2082e7752fc889557abc26 -Author: Peter Hutterer -Date: Tue Aug 13 10:50:25 2013 +1000 +commit e1ab8f239bdc6af17ef6cd0e9c6187c4e2e2f5bc +Author: Dave Airlie +Date: Wed Jul 31 11:35:44 2013 +1000 - Revert "test: fix XIQueryVersion check for new behaviour" + xfree86/man: document AutoAddGPU - This reverts commit cdcb708678c4785cd7b026b90e316691176e5244. - -commit cdcb708678c4785cd7b026b90e316691176e5244 -Author: Peter Hutterer -Date: Tue Jul 30 08:03:12 2013 +1000 - - test: fix XIQueryVersion check for new behaviour - - As of 4360514d1cc8e3132f93f56172d291074e8c770f, XIQueryVersion supports - requesting versions 2.2+ in random order, only 2.0 and 2.1 are restricted. + This at least mentions AutoAddGPU and hints at when you might + want to disable it. + Signed-off-by: Dave Airlie + Reviewed-by: Alex Deucher Signed-off-by: Peter Hutterer - (cherry picked from commit a5abf790183798ad8aa2c29c056df3647777cfbd) -commit e6da18f67516dcee394cd0eff591a255b59fe544 +commit ff38bbe81ace85bf675bbaa0a9ca5f3b32ede449 +Merge: bdd1e22 4360514 +Author: Keith Packard +Date: Thu Jul 25 22:50:27 2013 -0700 + + Merge remote-tracking branch 'whot/for-keith' + +commit 4360514d1cc8e3132f93f56172d291074e8c770f Author: Keith Packard Date: Wed Jul 10 22:42:55 2013 -0700 @@ -930,9 +5090,32 @@ Date: Wed Jul 10 22:42:55 2013 -0700 Signed-off-by: Keith Packard Signed-off-by: Peter Hutterer - (cherry picked from commit 4360514d1cc8e3132f93f56172d291074e8c770f) -commit 0857f3c72d0d1bf5eac52f084e9a1adf077e7397 +commit bdd1e22cbde9ea2324e4e1991c9e152f22f88151 +Author: Aaron Plattner +Date: Tue Apr 30 14:14:23 2013 -0700 + + xfree86: detach scanout pixmaps when detaching output GPUs + + Commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6 fixed a bit of a + chicken-and-egg problem by detaching GPU screens when their providers + are destroyed, which happens before CloseScreen is called. However, + this created a new problem: the GPU screen tears down its RandR crtc + objects during CloseScreen and if one of them is active, it tries to + detach the scanout pixmap then. This crashes because + RRCrtcDetachScanoutPixmap tries to get the master screen's screen + pixmap, but crtc->pScreen->current_master is already NULL at that + point. + + It doesn't make sense for an unbound GPU screen to still be scanning + out its former master screen's pixmap, so detach them first when the + provider is destroyed. + + Signed-off-by: Aaron Plattner + Reviewed-by: Dave Airlie + Signed-off-by: Keith Packard + +commit 3d8756631070c440cefa31b35fea3d407f187810 Author: Peter Hutterer Date: Mon Jul 22 13:43:07 2013 +1000 @@ -953,9 +5136,8 @@ Date: Mon Jul 22 13:43:07 2013 +1000 absolute, regardless of the mode. Signed-off-by: Peter Hutterer - (cherry picked from commit 3d8756631070c440cefa31b35fea3d407f187810) -commit ef54bd89b17f3dd1f854435339f66d357121c64c +commit 4fb686d6a6777950f0e0d55b848cd2af4cbad372 Author: Peter Hutterer Date: Wed Jul 24 11:50:00 2013 +1000 @@ -969,59 +5151,398 @@ Date: Wed Jul 24 11:50:00 2013 +1000 and the second touch is not an emulating pointer. Signed-off-by: Peter Hutterer - (cherry picked from commit 4fb686d6a6777950f0e0d55b848cd2af4cbad372) -commit bc41226f7741098e55a3b0df924986991576d50a -Merge: 4ebd618 2cd62dc -Author: Matt Dew -Date: Thu Jul 25 22:56:24 2013 -0600 +commit 43ac0491e36cdbb716b5c9d39c97d0aba3bebd75 +Author: Jon TURNEY +Date: Mon Apr 8 01:28:36 2013 +0100 - Merge branch 'server-1.14-touch-fixes' of git://people.freedesktop.org/~whot/xserver into server-1.14-branch + hw/xwin: Fix numerous 64-bit format/type cast issues with debug printing of pointers + + Numerous pieces of debug output cast a pointer to an int and then use a "%08x" + printf format. + + Use "%p" format for 64-bit portability. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison -commit 4ebd618bc5ef71507e708e7191091828eca3a7e8 -Author: Matt Dew -Date: Thu Jul 25 22:24:00 2013 -0600 +commit e95bb97073ca77193e4c51bd1504403fbe245533 +Author: Colin Harrison +Date: Tue Jun 25 21:34:43 2013 +0100 - Bah, bad rev number. Fixed: changed 1.14.3-rc1 to 1.14.2.901 + hw/xwin: Fix possible crash in winMultiWindowGetClassHint + + Fix a possible crash in winMultiWindowGetClassHint() when an application doesn't + null terminate the WM_CLASS property class name (which is an ICCCM conformance + bug in the application) + + (Reported for running the contiki cooja simulator in multiwindow mode, although + it seems that many Java clients may have this problem, see [1]) + + Based on a patch by Marc Haesen. + + v2: Avoid using strnlen() which is missing on MinGW + v3: Align with Xming patch + + [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6961123 + + Signed-off-by: Colin Harrison + Reviewed-by: Yaakov Selkowitz + Reviewed-by: Jon TURNEY -commit fef66ffe7a7e899a9126a1e431b94d881163b00d -Author: Matt Dew -Date: Thu Jul 25 22:02:26 2013 -0600 +commit 4bc375aa2f08bd092f60d3e358d345fc9a0d3637 +Author: Jon TURNEY +Date: Tue Jun 18 19:21:02 2013 +0100 - bump rev from 1.14.2 to 1.14.3-rc1 + hw/xwin: Remove obsolete WIN_XEVENTS_SHUTDOWN + + Remove obsolete WIN_XEVENTS_SHUTDOWN. This event is never generated. + + (I think the idea was to listen for WM_DELETE_WINDOW, but that's not a very + useful thing to do for a hidden window.) + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison -commit 2cd62dc02b67c70d2417b2ccd307ead9596a2967 +commit 2663203cd6994166e107e796c4724a4ed3b59370 +Author: Jon TURNEY +Date: Tue Jun 18 18:03:05 2013 +0100 + + configure.ac: Check for python at configure time when building XWin with AIGLX + + Check for python at configure time when building XWin with AIGLX, it's used to + generate the wrapper code for native GL functions. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 9fe360bf2be5c959fb21835955ef550098ccbbf0 +Author: Jon TURNEY +Date: Sun Jun 16 00:07:57 2013 +0100 + + hw/xwin: Avoid a null dereference if CreateDIBSection() fails in NetWMToWinIconAlpha() + + Avoid a null dereference of DIB_pixels if CreateDIBSection() fails in + NetWMToWinIconAlpha() + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 71b5f56302bbd8be62f63f0dd62cbcd33aab3ac5 +Author: Jon TURNEY +Date: Thu Feb 21 17:12:17 2013 +0000 + + hw/xwin: Handle WM_MOUSEHWHEEL + + Handle WM_MOUSEHWHEEL tilt wheel messages, similarly to WM_MOUSEWHEEL scroll + wheel messages, to generate X button 6 and 7 presses and releases. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit cf9c777ee094d660e0c95559373fd23ee910362e +Author: Jon TURNEY +Date: Thu Feb 21 17:10:45 2013 +0000 + + hw/xwin: Map extra mouse buttons 1 and 2 to X buttons 8 and 9 + + Map extra mouse buttons 1 and 2 to X buttons 8 and 9, as conventional, leaving X + buttons 6 and 7 for tilt wheel. + + Also add button labels for buttons 6, 7, 8 and 9 and change btn_labels in from a + dynamic allocation to a fixed one of the required size for all the labels we + use. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit c9d7b9516f4a04cb9012c6c1e9466491a468aa07 +Author: Jon TURNEY +Date: Tue Feb 19 14:38:40 2013 +0000 + + hw/xwin: Remove unneeded WM_XBUTTON message defines + + Remove unneeded WM_XBUTTON message defines, they have been provided by w32api + for a long time now. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 5dccfc63f9c7056e7cd30884e1d3ccea86a2f419 +Author: Jon TURNEY +Date: Mon Dec 17 22:38:00 2012 +0000 + + hw/xwin: Change winTranslateKey() to return it's result as it's return value + + Change winTranslateKey() to return it's result as it's return value, and change + it's uses as well. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 9b4cec76f1d7792d4bf64fa069ea6b64bc42da0d +Author: Oliver Schmidt +Date: Mon Nov 5 15:05:32 2012 +0000 + + hw/xwin: Consider left and right modifier keys independently on gaining focus + + Handle left and right ctrl and shift keys independently + + Assume that all modifiers are cleared when all keys are released on focus lost, + as internalKeyState doesn't record which modifier key was pressed. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 235149d0b4af9097e47b3af0ba56d4eb0179518c +Author: Jon TURNEY +Date: Mon Apr 5 14:22:39 2010 +0100 + + hw/xwin: Remove an extra '\n' from some log messages + + Remove an extra '\n' from internal client IOError log messages + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit c7aa9f7578e721b0c9e565e7a085b6aeb30bf2ac +Author: Jon TURNEY +Date: Sat Feb 4 17:04:11 2012 +0000 + + hw/xwin: _NET_WM_STATE is ATOM[] not ATOM + + _NET_WM_STATE is ATOM[] not ATOM, a list of window state hints, so check all of + the atoms, not just the first one + + See EWMH specifcation, section "Application Window Properties" + + v2: Actually use [] on the returned atom data + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 682ccac90b18f293520f77db5b163fcb40328e2b +Author: Jon TURNEY +Date: Wed Aug 31 21:35:14 2011 +0100 + + hw/xwin: Improve WM_ENDSESSION handling using separate messaging window thread + + Currently, WM_ENDSESSION just calls GiveUp() to set the DE_TERMINATE flag. But + for the X server to exit cleanly, we also need the X server dispatch loop to be + unblocked so it can notice that DE_TERMINATE has been set and exit, removing + it's lock file and any unix domain socket. + + It appears that the system will terminate the process when the last UI thread in + that process returns from processing WM_ENDSESSION for the last top-level + window. + + Since WM_ENDSESSION appears to sent by the system via SendMessage() + (synchronously) and the wndproc is called to process it in the message thread + for that window (the X server thread), we can't easily terminate the X server + dispatch loop from inside the WM_ENDSESSION message processing. + + So, create a messaging window, a hidden, top-level window, with a separate + thread to catch this message, and process it by calling GiveUp() and then + blocking on a mutex until the X server dispatch loop exits. + + Also, notice when this is a shutdown cancel WM_ENDSESSION message and take no + action. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 15febb05d77cc7e7185c942f35459838f75cfdc0 +Author: Jon TURNEY +Date: Mon Sep 3 15:19:43 2012 +0100 + + Allow DDX to provide a main() + + XQuartz already conditionally renames main() as dix_main() so it can provide + it's own main(). This isn't the ideal way of doing this, as it prevents libdix + built this way from being useful with any other DDX. + + So instead, always name that function dix_main(), and also provide a stub main() + which just calls dix_main(), which can be overriden in the DDX. + + Add a main() to XWin (XQuartz already has one, of course). + + It's no longer neccessary to link XWin and XQuartz with libmain. + + v2: Remove unneeded stub main hw/xwin/InitOutput.c + + Signed-off-by: Jon TURNEY + Reviewed-by: Julien Cristau + Reviewed-by: Colin Harrison + +commit d5ebe20f9ba9569351c4a41449866679fd60ba45 +Merge: 21ea7eb 33f7e60 +Author: Keith Packard +Date: Mon Jul 22 20:34:41 2013 -0700 + + Merge remote-tracking branch 'alanc/master' + +commit 21ea7ebb6a1ad56f3060747af0df235ca6ff27fa Author: Peter Hutterer -Date: Fri Mar 1 08:43:58 2013 +1000 +Date: Fri Jul 19 08:56:38 2013 +1000 - Xi: return !Success from DeliverTouchEmulatedEvent if we didn't deliver + dix: scale y back instead of x up when pre-scaling coordinates - All callers currently ignore the new value, so this patch has no effect. - Inverse call graph: + The peculiar way we handle coordinates results in relative coordinates on + absolute devices being added to the last value, then that value is mapped to + the screen (taking the device dimensions into account). From that mapped + value we get the final coordinates, both screen and device coordinates. - DeliverTouchEmulatedEvent - DeliverEmulatedMotionEvent Ignores value - DeliverTouchBeginEvent - DeliverTouchEvent - DeliverTouchEvents Ignores value - DeliverTouchEndEvent - DeliverTouchEvent - DeliverTouchEvents Ignores value + To avoid uneven scaling on relative coordinates, they are pre-scaled by + screen ratio:resolution:device ratio factor before being mapped. This + ensures that a circle drawn on the device is a circle on the screen. + + Previously, we used the ratio to scale x up. Synaptics already does its own + scaling based on the resolution and that is done by scaling y down by the + ratio. So we can remove the code from the driver and get approximately the + same behaviour here. + + Minor ABI bump, so we can remove this from synaptics. + + Signed-off-by: Peter Hutterer + Tested-by: Emmanuel Benisty + +commit 33f7e60785f12770ce10558c2ca7ce1323eefc59 +Author: Thomas Klausner +Date: Fri Jul 12 08:21:19 2013 +0200 + + Fix typo in header guard. + + Signed-off-by: Thomas Klausner + Reviewed-by: Alan Coopersmith + Signed-off-by: Alan Coopersmith + +commit ddc52b9cbae017f04c7a232af4e8b16c9f96823d +Author: Alan Coopersmith +Date: Fri Jul 5 22:43:17 2013 -0700 + + Xephyr: Use _XEatDataWords (from Xlib 1.6) instead of _XEatData + + Simplifies code and reduces risk of overflow from converting length + field in X replies from words to bytes. + + One call to _XEatData is left in ephyrHostGLXGetStringFromServer where + it's already been checked for overflow, and other values have been + subtracted from it to reduce the size of data remaining to be eaten. + + Signed-off-by: Alan Coopersmith + +commit a3d43edf71847f4b486f971405d2b457f81b73d1 +Author: Alan Coopersmith +Date: Fri Jul 5 22:35:32 2013 -0700 + + glxproxy: Use _XEatDataWords (from Xlib 1.6) instead of _XEatData + + Reduces risk of overflow from converting length field in X replies + from words to bytes. (Also seems to be what several calls were + already incorrectly passing to _XEatData.) + + Signed-off-by: Alan Coopersmith + +commit 87b0cabc145a9b5f6faffdfb544ce1c647b8ab72 +Author: Alan Coopersmith +Date: Fri Jul 5 22:32:10 2013 -0700 + + glxproxy: Use _XReadPad instead of _XEatData to clean up the slop + + Xlib already provides a function to eat padding bytes after the + data read, so use it instead of calculating it ourselves. + + Signed-off-by: Alan Coopersmith + +commit 1cb182cbdc11fc1c97507c57875f1d2453f27328 +Author: Alan Coopersmith +Date: Mon Apr 15 08:41:14 2013 -0700 + + Xephyr: integer overflow in XF86DRIGetClientDriverName() + + clientDriverNameLength is a CARD32 and needs to be bounds checked before + adding one to it to come up with the total size to allocate, to avoid + integer overflow leading to underallocation and writing data from the + network past the end of the allocated buffer. + + Reported-by: Ilja Van Sprundel + Signed-off-by: Alan Coopersmith + Reviewed-by: Julien Cristau + +commit 20644e53b385c54d73242c86a7d3f981d18a3843 +Author: Alan Coopersmith +Date: Mon Apr 15 08:39:03 2013 -0700 + + Xephyr: integer overflow in XF86DRIOpenConnection() + + busIdStringLength is a CARD32 and needs to be bounds checked before adding + one to it to come up with the total size to allocate, to avoid integer + overflow leading to underallocation and writing data from the network past + the end of the allocated buffer. + + Reported-by: Ilja Van Sprundel + Signed-off-by: Alan Coopersmith + Reviewed-by: Julien Cristau + +commit c37ceda76bf9ec6f5166122e864663e10f106546 +Author: Alan Coopersmith +Date: Sun Apr 14 10:50:50 2013 -0700 + + Xephyr: integer overflow in ephyrHostGLXGetStringFromServer() + + reply.length & reply.size are CARD32s and need to be bounds checked before + multiplying or adding to come up with the total size to allocate, to avoid + integer overflow leading to underallocation and writing data from the + network past the end of the allocated buffer. + + Reported-by: Ilja Van Sprundel + Signed-off-by: Alan Coopersmith + +commit 5fbd8c45b46ab93522e417240aa770466c30b735 +Author: Alan Coopersmith +Date: Sun Apr 14 09:45:26 2013 -0700 + + Xdmx: integer overflow in GetGLXFBConfigs() + + numFBConfigs & numAttribs are CARD32s and need to be bounds checked before + multiplying by structure sizes to come up with the total size to allocate, + to avoid integer overflow leading to underallocation and writing data from + the network past the end of the allocated buffer. + + Reported-by: Ilja Van Sprundel + Signed-off-by: Alan Coopersmith + +commit c89bcd12f4fc7233830a8dbe7863c312f657da3c +Author: Alan Coopersmith +Date: Sun Apr 14 09:33:57 2013 -0700 + + Xdmx: integer overflow in GetGLXVisualConfigs() + + numVisuals & numProps are both CARD32 and need to be bounds checked before + multiplying by structure sizes to come up with the total size to allocate, + to avoid integer overflow leading to underallocation and writing data from + the network past the end of the allocated buffer. + + Reported-by: Ilja Van Sprundel + Signed-off-by: Alan Coopersmith + +commit 74469895e39fa38337f59edd64c4031ab9bb51d8 +Author: Peter Hutterer +Date: Mon Jul 15 13:06:28 2013 +1000 + + dix: allow a ConstantDeceleration between 0 and 1 (#66134) + + A constant deceleration of x simply means (delta * 1/x). We limited that to + values >= 1.0f for obvious reasons, but can also allow values from 0-1. + That means that ConstantDeceleration is actually a ConstantAcceleration, but + hey, if someone needs it... + + X.Org Bug 66134 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 9978b57b8d94f061d72a67b99a02b0ba16a11429) -commit c203568905bcbb65fb1e079b626d2c1e90ecb72d -Author: Peter Hutterer -Date: Mon May 13 15:22:12 2013 +1000 - - Xi: fix warning - remove unused 'rc' - - Signed-off-by: Peter Hutterer - (cherry picked from commit fd5ea0237db6d725a48f76b706135df9d3246b82) - -commit 93f063c40dc4b339ae9114551071c57b52d98dba +commit 0e3be0b25fcfeff386bad132526352c2e45f1932 Author: Peter Hutterer Date: Fri Jul 12 14:10:10 2013 +1000 @@ -1051,9 +5572,65 @@ Date: Fri Jul 12 14:10:10 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 0e3be0b25fcfeff386bad132526352c2e45f1932) -commit ecd178e632a99ae2f12d2d9b6e9a48eaa421335d +commit 24cbb47ca80cd7a47749ece0ff3a98657ddf3ae3 +Author: Peter Hutterer +Date: Fri Jul 12 12:17:47 2013 +1000 + + config: provide example configuration for multi-seat setups + + Seats other than seat0 need custom configuration. Provide that with a + default configuration file so we can share it across distros. + + This file intentionally does not end in .conf so it won't get picked up by + the server after a normal installation. gdm, or whatever starts up the + servers will have to explicitly specifiy this config file. + + This file replaces the one currently written by systemd's multi-seat-x + binary: + http://cgit.freedesktop.org/systemd/systemd/tree/src/login/multi-seat-x.c + + CC: Lennart Poettering + Signed-off-by: Peter Hutterer + Reviewed-by: Dan Nicholson + +commit 791121e00692e12cb4c38c8d018bd72eb5081eb7 +Author: François Tigeot +Date: Mon Jul 15 21:54:26 2013 +0200 + + Fix mouse header include on DragonFly and FreeBSD + + * __FreeBSD_kernel_version doesn't exist anymore + + * The removed check was for FreeBSD versions from before September 2000 + which are no longer supported anyway + + * Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=66045 + + Signed-off-by: François Tigeot + Signed-off-by: Peter Hutterer + +commit 59a6d3f1eb03010ab831b32b03706a1d6143c732 +Author: Jon TURNEY +Date: Thu Nov 8 13:41:13 2012 +0000 + + os: Remove any old logfile before trying to write to it + + If we are not backing up logfiles, remove the old logfile before trying to write + a new logfile, as otherwise the operation may fail if the previous logfile was + created by a different user. + + This change is useful when: + - The DDX doesn't use the logfile backup mechanism (i.e. not Xorg) + - The DDX is run by a non-root user, and then by a different non-root user + - The logfile directory doesn't have the restricted-deletion flag set + + Signed-off-by: Jon TURNEY + Acked-by: Yaakov Selkowitz + Reviewed-by: Yaakov Selkowitz + Signed-off-by: Peter Hutterer + +commit 8eeaa74bc241acb41f1d3ed64971e0b01e794776 Author: Peter Hutterer Date: Tue Jul 9 13:27:19 2013 +1000 @@ -1070,9 +5647,212 @@ Date: Tue Jul 9 13:27:19 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Jasper St. Pierre - (cherry picked from commit 8eeaa74bc241acb41f1d3ed64971e0b01e794776) -commit 54a7ae04a8475df6ce87e52ff995de22fafc7c92 +commit a2d6932ad48f2cbfcc4c5fb8272e47106d08ac78 +Author: Julien Cristau +Date: Mon Jul 1 19:39:30 2013 +0200 + + xkb: don't call atoi(NULL) when parsing argv + + If the -ardelay or -arinterval options have no argument, there's no + point trying to read it. + + See + http://www.forallsecure.com/bug-reports/feb3db57fc206d8df22ca53a6907f74973876272/ + + Reported-by: Alexandre Rebert + Signed-off-by: Julien Cristau + Reviewed-by: Alan Coopersmith + Signed-off-by: Peter Hutterer + +commit 77e51d5bbb97eb5c9d9dbff9a7c44d7e53620e68 +Author: Eric Anholt +Date: Mon Jun 17 15:51:19 2013 -0700 + + Revert "DRI2: re-allocate DRI2 drawable if pixmap serial changes" + + This reverts commit 3209b094a3b1466b579e8020e12a4f3fa78a5f3f. After a + long debug session by Paul Berry, it appears that this was the commit + that has been producing sporadic failures in piglit front buffer + rendering tests for the last several years. + + GetBuffers may return fresh buffers with invalid contents at a couple + reasonable times: + + - When first asked for a non-fake-front buffer. + - When the drawable size is changed, an Invalidate has been sent, and + obviously the app needs to redraw the whole buffer. + - After a glXSwapBuffers(), GL allows the backbuffer to be undefined, + and an Invalidate was sent to tell the GL that it should grab these + appropriate new buffers to avoid stalling. + + But with the patch being reverted, GetBuffers would also return fresh + invalid buffers when the drawable serial number changed, which is + approximately "whenever, for any reason". The app is not expecting + invalid buffer contents "whenever", nor is it valid. Because the GL + usually only GetBuffers after an Invalidate is sent, and the new + buffer allocation only happened during a GetBuffers, most apps saw no + problems. But apps that do (fake-)frontbuffer rendering do frequently + ask the server for the front buffer (since we drop the fake front + allocation when we're not doing front buffer rendering), and if the + drawable serial got bumped midway through a draw, the server would + pointlessly ditch the front *and* backbuffer full of important + drawing, resulting in bad rendering. + + The patch was originally to fix bugzilla: + https://bugs.freedesktop.org/show_bug.cgi?id=28365 + Specifically: + + To reproduce, start with a large-ish display (i.e. 1680x1050 on my + laptop), use the patched glxgears from bug 28252 to add the + -override option. Then run glxgears -override -geometry 640x480 + to create a 640x480 window in the top left corner, which will work + fine. Next, run xrandr -s 640x480 and watch the fireworks. + + I've tested with an override-redirect glxgears, both with vblank sync + enabled and disabled, both with gnome-shell and no window manager at + all, before and after this patch. The only problem observed was that + before and after the revert, sometimes when alt-tabbing to kill my + gears after completing the test gnome-shell would get confused about + override-redirectness of the glxgears window (according to a log + message) and apparently not bother doing any further compositing. + + Signed-off-by: Eric Anholt + Reviewed-by: Keith Packard + Reviewed-by: Chris Wilson + Tested-by: Chris Wilson + Signed-off-by: Keith Packard + +commit 227015d6544115258b74c31b700f9bd163540e24 +Merge: d9005d5 80054fc +Author: Keith Packard +Date: Tue Jun 18 10:53:08 2013 -0700 + + Merge remote-tracking branch 'jturney/master' + +commit 80054fcafb095aff76f6df00d348c7fd85e8ddbc +Author: Jon TURNEY +Date: Sat Mar 30 19:44:14 2013 +0000 + + hw/xwin: Update manifest to target all architectures, not just x86 + + Update manifest to target all architectures, not just x86 + + Also: Write explicit dependencies for Xwin.rc. XWin.exe.manifest and X.ico are + included the resource compiler output, so add a dependency on them to cause it + to be recompiled if they change. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 689e7ad9b0fccd582cd63796cc90a999f141f589 +Author: Jon TURNEY +Date: Sun Mar 31 18:36:37 2013 +0100 + + hw/xwin: Win32 Windows properties are of pointer type HANDLE, not an integer type + + Win32 Windows properties are of pointer type HANDLE, not an integer type, but we + use the Windows property WINDOW_WID_PROP to store the X window XID. + + Add appropriate casts to show it doesn't matter that an XID is smaller than a + pointer on 64-bit build. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit e1a0945e8d4a3858838a14e64022524efd73c905 +Author: Jon TURNEY +Date: Sun Mar 31 18:35:35 2013 +0100 + + hw/xwin: winMultiWindowGetTransientFor() returns an XID not a WindowPtr + + winMultiWindowGetTransientFor() accesses the WM_TRANSIENT_FOR property, which is + an X window XID (which we compare with WINDOW_WID_PROP) and not a WindowPtr. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit be201ac257687355bf0916d7c525d598ed9b1282 +Author: Jon TURNEY +Date: Sat Mar 30 19:47:16 2013 +0000 + + hw/xwin: Change winIconIsOverride() to take a HICON parameter + + Change winIconIsOverride() to take a HICON parameter, so some unneccessary + casts, which weren't portable to 64-bit Cygwin, can be removed. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit fc40f9a92cf5981bccc45bbc0b959cc06c5accc2 +Author: Jon TURNEY +Date: Sat Mar 30 19:41:06 2013 +0000 + + hw/xwin: Fix uses of CreateDialogParam() for 64-bit builds + + Fix uses of CreateDialogParam() to be more strictly correct, for 64-bit builds + + dwInitParam parameter is LPARAM, not int + Return type of DLGPROC is INT_PTR, not WINBOOL + + Also: Reporting the value of g_hDlgDepthChange is completely uninteresting, we + are just interested in GetLastError() if it is NULL + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit b542976846eb5d4c82910272af32ec8298da4177 +Author: Jon TURNEY +Date: Sat Mar 30 19:40:31 2013 +0000 + + hw/xwin: deprecated interface cygwin_conv_to_win32_path() doesn't exist in 64-bit cygwin + + The deprecated interface cygwin_conv_to_win32_path() doesn't exist in 64-bit + cygwin, but both the ID_ABOUT_CHANGELOG control and the referenced file who's + path we are converting haven't existed for a while, so just remove this unused, + cygwin-specific code. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 5a47c6420cfe298143310938f08cc36a503e8d3d +Author: Jon TURNEY +Date: Mon Apr 8 01:27:26 2013 +0100 + + hw/xwin: Fix a 64-bit portability issue with casting HINSTANCE result of ShellExecute() to an integer + + Fix a 64-bit portability issue with casting HINSTANCE result of ShellExecute() + to an integer: Since HINSTANCE is a pointer type, use INT_PTR rather than int. + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit d9005d58c0413dcc3a99150c13d05163881cf782 +Author: Peter Hutterer +Date: Tue Jun 4 14:39:33 2013 +1000 + + config: add a quirks file for devices needing special configuration + + This is the fedora quirks file configuring the special handling some devices + need. Rather than keeping this distro-specific add it to the tree so we can + share these quirks. + + Signed-off-by: Peter Hutterer + Reviewed-by: Jamey Sharp + +commit 04ce6f6f6c880281e42c9ebf21d6f980ddae79b4 +Author: Maarten Lankhorst +Date: Thu May 30 11:23:07 2013 +0200 + + dix: add missing dixFreeRegistry define + + Fixes a build failure on debian's udeb builds. + + Signed-off-by: Maarten Lankhorst + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit c21344add2fc589df83b29be5831c36a372201bd Author: Peter Hutterer Date: Mon May 27 13:46:49 2013 +1000 @@ -1084,9 +5864,88 @@ Date: Mon May 27 13:46:49 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard Signed-off-by: Keith Packard - (cherry picked from commit c21344add2fc589df83b29be5831c36a372201bd) -commit 1e29b269fd712ae1e3552eeddd3529015baee7ae +commit cb3018d8a15add48efb3335e1f79b66378166008 +Merge: c76a1b3 6589f3b +Author: Keith Packard +Date: Thu May 23 19:58:46 2013 -0600 + + Merge remote-tracking branch 'whot/unreviewed' + +commit c76a1b343d6a56aa9529e87f0eda8d61355d562b +Merge: 891123c 9a5ad65 +Author: Keith Packard +Date: Thu May 23 19:58:36 2013 -0600 + + Merge remote-tracking branch 'whot/touch-grab-race-condition-56578-v3' + +commit 891123ce9dac5e52685b9a921b33d8279ba52956 +Merge: 7e97166 49521ed +Author: Keith Packard +Date: Thu May 23 10:30:15 2013 -0600 + + Merge remote-tracking branch 'whot/for-keith' + +commit 6589f3b55e335eef6c658c8ba1fe15a062f7e31c +Author: Peter Hutterer +Date: Tue May 14 08:31:19 2013 +1000 + + dix: devices must have valuators before touch is initialized + + Signed-off-by: Peter Hutterer + +commit 756ab88d93542f0589c9bf46f40ccc57df64f0fd +Author: Peter Hutterer +Date: Fri Apr 26 15:10:08 2013 +1000 + + dix: fix device scaling to use a [min,max[ range. + + defmin/defmax are screen coords and thus use a min-inclusive, max-exclusive + range. device axes ranges are inclusive, so bump the max up by one to get the + scaling right. + + This fixes off-by-one coordinate errors if the coordinate matrix is used to + bind the device to a fraction of the screen. It introduces an off-by-one + scaling error in the device coordinate range, but since most devices have a + higher resolution than the screen (e.g. a Wacom I4 has 5080 dpi) the effect + of this should be limited. + + This error manifests when we have numScreens > 1, as the scaling from + desktop size back to screen size drops one device unit. + + Signed-off-by: Peter Hutterer + +commit 5cc2c96f824dbb28b9f8da61efc41596f8bd0561 +Author: Peter Hutterer +Date: Sat Mar 9 20:43:51 2013 +1000 + + dix: pre-scale x by the screen:device:resolution ratio + + commit 61a99aff9d33728a0b67920254d2d4d79f80cf39 + dix: pre-scale relative events from abs devices to desktop ratio (#31636) + + added pre-scaling of relative coordinates coming from absolute devices to + undo uneven scaling based on the screen dimensions. + + Devices have their own device width/height ratio as well (in a specific + resolution) and this must be applied for relative devices as well to avoid + scaling of the relative events into the device's ratio. + + e.g. a Wacom Intuos4 6x9 is in 16:10 format with equal horiz/vert + resolution (dpi). A movement by 1000/1000 coordinates is a perfect diagonal + on the tablet and must be reflected as such on the screen. + + However, we map the relative device-coordinate events to absolute screen + coordinates based on the axis ranges. This results in an effective scaling + of 1000/(1000 * 1.6) and thus an uneven x/y axis movement - the y + axis is always faster. + + So we need to pre-scale not only by the desktop dimenstions but also by the + device width/height ratio _and_ the resolution ratio. + + Signed-off-by: Peter Hutterer + +commit 9a5ad65330693b3273972b63d10f2907d9ab954a Author: Peter Hutterer Date: Wed May 15 19:01:11 2013 +1000 @@ -1096,9 +5955,8 @@ Date: Wed May 15 19:01:11 2013 +1000 wrapper to handle that case. Signed-off-by: Peter Hutterer - (cherry picked from commit 9a5ad65330693b3273972b63d10f2907d9ab954a) -commit c0be1168fd3dd2eb01187789ddc30d7aab909a98 +commit 35c2e263db01b2b61354298e5e85aa3cae8ac317 Author: Peter Hutterer Date: Tue May 14 14:51:31 2013 +1000 @@ -1128,9 +5986,24 @@ Date: Tue May 14 14:51:31 2013 +1000 [1] http://patchwork.freedesktop.org/patch/13464/ Signed-off-by: Peter Hutterer - (cherry picked from commit 35c2e263db01b2b61354298e5e85aa3cae8ac317) -commit 5c32bd0e2c104deaa2820c62289916fff6a4e3cd +commit 8b9dc2628115dcb3f3601ad19b1ae157df21b9ee +Author: Peter Hutterer +Date: Tue May 14 07:46:25 2013 +1000 + + dix: devices must have valuators before touch is initialized + + Signed-off-by: Peter Hutterer + +commit fd5ea0237db6d725a48f76b706135df9d3246b82 +Author: Peter Hutterer +Date: Mon May 13 15:22:12 2013 +1000 + + Xi: fix warning - remove unused 'rc' + + Signed-off-by: Peter Hutterer + +commit 481702101b86fff003430e952dc65fb41eb56400 Author: Peter Hutterer Date: Fri May 3 15:07:58 2013 +1000 @@ -1146,9 +6019,38 @@ Date: Fri May 3 15:07:58 2013 +1000 often) causes a crash). Signed-off-by: Peter Hutterer - (cherry picked from commit 481702101b86fff003430e952dc65fb41eb56400) -commit 0ee9704f3c70fa7cf77edef55d158ad78df72a25 +commit 49521edaf8930b335afac2185209e26e7000820b +Author: Peter Hutterer +Date: Wed May 15 08:51:51 2013 +1000 + + ephyr: add -resizeable to the man page + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + +commit 7a4bbfd9f2ce7aad23148ba01bb3f1071da606a3 +Author: Peter Hutterer +Date: Wed May 15 08:46:38 2013 +1000 + + ephyr: fix typo in man page + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + +commit 7e97166c4fc38076b6224e4dbdd632b43444149f +Author: Geert Uytterhoeven +Date: Tue May 14 13:04:53 2013 +0200 + + Shadow: Switch the Amiga/Atari bitplane code to the canonical X.Org license + + Also add my name to the list of authors in COPYING + + Reviewed-by: Alan Coopersmith + Signed-off-by: Geert Uytterhoeven + Signed-off-by: Keith Packard + +commit 3093f78d17e48a506aab170a9089cd10e21af299 Author: Peter Hutterer Date: Fri May 3 15:02:05 2013 +1000 @@ -1160,9 +6062,8 @@ Date: Fri May 3 15:02:05 2013 +1000 way. Signed-off-by: Peter Hutterer - (cherry picked from commit 3093f78d17e48a506aab170a9089cd10e21af299) -commit ef0fff102d1feb5bccffc918da5c0dc7c0d28f3b +commit 2566bdd8bc996cccde77b846819808c6239a89d2 Author: Peter Hutterer Date: Wed Apr 24 14:46:06 2013 +1000 @@ -1172,9 +6073,8 @@ Date: Wed Apr 24 14:46:06 2013 +1000 LISTENER_HAS_ACCEPTED state. Signed-off-by: Peter Hutterer - (cherry picked from commit 2566bdd8bc996cccde77b846819808c6239a89d2) -commit f3d63710d57aea0184ae07f0422a76b0fd6d415f +commit 5b00fc52270e9cfdfe7ac1838a21defe50fc3d31 Author: Peter Hutterer Date: Wed Apr 24 14:40:31 2013 +1000 @@ -1188,18 +6088,16 @@ Date: Wed Apr 24 14:40:31 2013 +1000 Move it to CloseDownClient() instead, cleaning up before we go. Signed-off-by: Peter Hutterer - (cherry picked from commit 5b00fc52270e9cfdfe7ac1838a21defe50fc3d31) -commit 6c880c143f6a32d3bbc529e4a0ab1663ddecf0a0 +commit 34c9b39d9937c2e19c2dffc9748605f90d40f965 Author: Peter Hutterer Date: Wed Apr 24 12:53:52 2013 +1000 dix: remove all listeners when freeing a touch Signed-off-by: Peter Hutterer - (cherry picked from commit 34c9b39d9937c2e19c2dffc9748605f90d40f965) -commit ab76a3a3fc56cf8f530e5ab9b6389b09da1cdc12 +commit 395124bd2782823de37e5c5b2f15dba49cff05f6 Author: Peter Hutterer Date: Wed Apr 17 20:15:35 2013 +1000 @@ -1217,27 +6115,24 @@ Date: Wed Apr 17 20:15:35 2013 +1000 Reported-by: Maarten Lankhorst Signed-off-by: Peter Hutterer - (cherry picked from commit 395124bd2782823de37e5c5b2f15dba49cff05f6) -commit 6bd9badc780ec9d1fb147dfa0c671979c75b722c +commit 925e35122ebad877395bcf13676e9dbeb254bdfa Author: Peter Hutterer Date: Tue Apr 23 15:52:18 2013 +1000 dix: AllocGrab can copy if an argument is passed in Signed-off-by: Peter Hutterer - (cherry picked from commit 925e35122ebad877395bcf13676e9dbeb254bdfa) -commit 479f8bf236d17e2a2093d349d2ef6471ff089a53 +commit 4980bcef9973ba1f90f53028f061669ee5d2661b Author: Peter Hutterer Date: Tue Apr 23 15:46:04 2013 +1000 dix: freeing a null grab is a bug, complain if doing so Signed-off-by: Peter Hutterer - (cherry picked from commit 4980bcef9973ba1f90f53028f061669ee5d2661b) -commit 27752301377698124634d48b62ba7fcf8310caab +commit ccfa0f2d5de557546815a5e4f59552e2af46b578 Author: Peter Hutterer Date: Tue Apr 23 15:39:32 2013 +1000 @@ -1246,9 +6141,8 @@ Date: Tue Apr 23 15:39:32 2013 +1000 no functional changes Signed-off-by: Peter Hutterer - (cherry picked from commit ccfa0f2d5de557546815a5e4f59552e2af46b578) -commit d8c0cc9bab1fe159f58c2b5e8056c2d94a623789 +commit 5363433a5cc64e2f83859aa1c32a89e5e1ddf9e4 Author: Peter Hutterer Date: Thu Apr 18 10:32:11 2013 +1000 @@ -1272,9 +6166,8 @@ Date: Thu Apr 18 10:32:11 2013 +1000 future. Signed-off-by: Peter Hutterer - (cherry picked from commit 5363433a5cc64e2f83859aa1c32a89e5e1ddf9e4) -commit 25b641bb324c33226313c15448592b785043eaba +commit 7dbf61817d3bd4b1fc71710677e56c5d8cfcdb4e Author: Peter Hutterer Date: Wed Apr 17 20:14:56 2013 +1000 @@ -1283,9 +6176,8 @@ Date: Wed Apr 17 20:14:56 2013 +1000 No functional changes. Signed-off-by: Peter Hutterer - (cherry picked from commit 7dbf61817d3bd4b1fc71710677e56c5d8cfcdb4e) -commit 88273287e1d7b3c06313f77d450f87a31bf53780 +commit a71a283934406d870bcd8dc376eb1c9ce1c8bbb4 Author: Peter Hutterer Date: Wed Apr 17 20:13:34 2013 +1000 @@ -1298,9 +6190,8 @@ Date: Wed Apr 17 20:13:34 2013 +1000 No functional changes. Signed-off-by: Peter Hutterer - (cherry picked from commit a71a283934406d870bcd8dc376eb1c9ce1c8bbb4) -commit 4081b00d36d074eedf5c8d04196998d23cff28cf +commit 5174b1f98204beee79eba74c4cda5f2be0a60a8f Author: Peter Hutterer Date: Thu Feb 28 11:02:40 2013 +1000 @@ -1314,9 +6205,8 @@ Date: Thu Feb 28 11:02:40 2013 +1000 this touch. Signed-off-by: Peter Hutterer - (cherry picked from commit 5174b1f98204beee79eba74c4cda5f2be0a60a8f) -commit 8666395484d0ff68526b1afd0044329ca3e9c907 +commit e7f79c48b0faea910dc881034c00eb807fcd6210 Author: Peter Hutterer Date: Fri Mar 1 12:52:35 2013 +1000 @@ -1325,9 +6215,8 @@ Date: Fri Mar 1 12:52:35 2013 +1000 No functional changes, this just enables it to be re-used easier. Signed-off-by: Peter Hutterer - (cherry picked from commit e7f79c48b0faea910dc881034c00eb807fcd6210) -commit 4dac09796ca7ec19c1a9b17f338babd51c999e2e +commit 0eb9390f6048049136347d5a5834d88bfc67cc09 Author: Peter Hutterer Date: Fri Mar 1 10:41:01 2013 +1000 @@ -1344,9 +6233,8 @@ Date: Fri Mar 1 10:41:01 2013 +1000 ProcessTouchEvents. Working around that is a bigger hack than this. Signed-off-by: Peter Hutterer - (cherry picked from commit 0eb9390f6048049136347d5a5834d88bfc67cc09) -commit c8a48358065ff94b8307d8aedfe58e54f34ba84f +commit a7d989d335f903ffd8b168cd2beeb82c78d30c21 Author: Peter Hutterer Date: Thu Feb 28 13:07:26 2013 +1000 @@ -1368,9 +6256,8 @@ Date: Thu Feb 28 13:07:26 2013 +1000 anyway) Signed-off-by: Peter Hutterer - (cherry picked from commit a7d989d335f903ffd8b168cd2beeb82c78d30c21) -commit 2fcf86036f95128e9b90ddbd5ffc6edbacd3de9f +commit 214d11d3fcdac51fc7afbf3770516ec14f9e13c1 Author: Peter Hutterer Date: Wed Feb 27 15:05:54 2013 +1000 @@ -1384,9 +6271,8 @@ Date: Wed Feb 27 15:05:54 2013 +1000 cannot accept/reject this. Signed-off-by: Peter Hutterer - (cherry picked from commit 214d11d3fcdac51fc7afbf3770516ec14f9e13c1) -commit e1c908f3931aa82c7c5f14aa162e02f3abf98faf +commit 026627fe19aad007544eccf209f0dea05e67a7a7 Author: Peter Hutterer Date: Fri Mar 1 09:15:37 2013 +1000 @@ -1396,9 +6282,8 @@ Date: Fri Mar 1 09:15:37 2013 +1000 the information of early acceptance. Signed-off-by: Peter Hutterer - (cherry picked from commit 026627fe19aad007544eccf209f0dea05e67a7a7) -commit 7343d05e3a502216532aa9901c3a8948ea118c78 +commit d905348134c80f19793eefb761731b00559ddf3a Author: Peter Hutterer Date: Thu Feb 28 15:28:46 2013 +1000 @@ -1408,9 +6293,8 @@ Date: Thu Feb 28 15:28:46 2013 +1000 accept here. Signed-off-by: Peter Hutterer - (cherry picked from commit d905348134c80f19793eefb761731b00559ddf3a) -commit 18346911ab0ce1ad66986b83f9afefadec25555e +commit 8b0d21044956f3810199d5e2f38ce33069e97be7 Author: Peter Hutterer Date: Thu Feb 28 13:04:36 2013 +1000 @@ -1421,9 +6305,8 @@ Date: Thu Feb 28 13:04:36 2013 +1000 9ad0fdb135a1c336771aee1f6eab75a6ad874aff. Signed-off-by: Peter Hutterer - (cherry picked from commit 8b0d21044956f3810199d5e2f38ce33069e97be7) -commit 000d469dd4d97424c72d82e4383ec295e31ffd34 +commit d08bae297f9d7651edb1923d6b0d6b14b3d674fc Author: Peter Hutterer Date: Thu Feb 28 13:08:27 2013 +1000 @@ -1440,9 +6323,8 @@ Date: Thu Feb 28 13:08:27 2013 +1000 event. Thus, check the return code. Signed-off-by: Peter Hutterer - (cherry picked from commit d08bae297f9d7651edb1923d6b0d6b14b3d674fc) -commit a7ec834d5e8c351cfa5d87b7902fa061826e3097 +commit 81554d274f04951c55ea7f2e38d0455e2025e08d Author: Peter Hutterer Date: Mon Feb 25 11:21:07 2013 +1000 @@ -1457,9 +6339,8 @@ Date: Mon Feb 25 11:21:07 2013 +1000 This requires us to count the actually delivered events too (first hunk). Signed-off-by: Peter Hutterer - (cherry picked from commit 81554d274f04951c55ea7f2e38d0455e2025e08d) -commit 636647bc7f9ed10918cbb228f7d448c8cf733667 +commit 363b6387da6e669099a2da3861c73a29808295a6 Author: Peter Hutterer Date: Wed Feb 13 11:26:11 2013 +1000 @@ -1471,9 +6352,8 @@ Date: Wed Feb 13 11:26:11 2013 +1000 from activating higher up in the window stack. Signed-off-by: Peter Hutterer - (cherry picked from commit 363b6387da6e669099a2da3861c73a29808295a6) -commit 87e027726f2d9223ce2fef2e4d26c18ae680a05e +commit 9cc45c18ad1511adf3fb163dd4cefbef106edb23 Author: Peter Hutterer Date: Wed Feb 13 10:49:23 2013 +1000 @@ -1485,199 +6365,55 @@ Date: Wed Feb 13 10:49:23 2013 +1000 the internal record is already cleaned up). Signed-off-by: Peter Hutterer - (cherry picked from commit 9cc45c18ad1511adf3fb163dd4cefbef106edb23) -commit 34f5ca3a70e966d6fe232179a47c3dc660773ad5 +commit 2f1aedcaed8fd99b823d451bf1fb02330c078f67 Author: Peter Hutterer -Date: Fri Mar 1 08:26:06 2013 +1000 +Date: Thu May 9 14:30:50 2013 +1000 - Xi: use a temp variable for the new listener + input: print warnings if drivers don't initialize properly - Instead of accessing ti->listener[0] all the time. - - No functional changes. + If drivers supply incorrect values don't just quietly return False, spew to + the log so we can detect what's going on. All these cases are driver bugs + and should be fixed immediately. Signed-off-by: Peter Hutterer - Reviewed-by: Keith Packard - (cherry picked from commit fc504a44d12d537d4e07f659f1863f200a0272ad) - -commit 54b125d1751385bcfc3c1b51d21ee6a7dc14143b -Author: Aaron Plattner -Date: Tue Apr 30 14:30:18 2013 -0700 - - xfree86: don't enable anything in xf86InitialConfiguration for GPU screens - - There's no point in turning on outputs connected to GPU screens during initial - configuration. Not only does this cause them to just display black, it also - confuses clients when these screens are attached to a master screen and RandR - reports that the outputs are already on. - - Also, don't print the warning about no outputs being found on GPU screens, - since that's expected. - - Signed-off-by: Aaron Plattner - Reviewed-by: Dave Airlie - (cherry picked from commit dbfeaf70623a83e1a3f3255c94d52e0e04702837) - -commit 29545a422bbdd11fda5cb61f27720332d68d0c36 -Author: Dave Airlie -Date: Wed Jan 9 12:52:13 2013 +1000 - - gpu: call CreateScreenResources for GPU screens - - I didn't think we needed this before, but after doing some more - work with reverse optimus it seems like it should be called. - - Reviewed-by: Keith Packard - Signed-off-by: Dave Airlie - (cherry picked from commit f2fd8ec3725a61abbc831f0a9ec28fa2b7020c47) - -commit f21cc327a56e3b453cf0dba04457223d61c27ea6 -Author: Dave Airlie -Date: Wed Jan 9 12:52:08 2013 +1000 - - dix: allow pixmap dirty helper to be used for non-shared pixmaps - - this allows the pixmap dirty helper to be used for reverse optimus, - where the GPU wants to copy from the shared pixmap to its VRAM copy. - - [airlied: slave_dst is wrong name now but pointless ABI churn at this point] - Reviewed-by: Keith Packard - Signed-off-by: Dave Airlie - (cherry picked from commit 8fcb9d91b69abc72ddef31b9f2e8585580c6cad2) - -commit d817284b01ad3bbe02c71d6b00af7526be77626b -Author: Dave Airlie -Date: Wed Jan 9 12:52:03 2013 +1000 - - xf86crtc: don't use scrn->display for gpu screens - - scrn->display is a property of the main screen really, and we don't - want to have the GPU screens use it for anything when picking modes - or a front buffer size. - - This fixes a bug where when you plugged a display link device, it - would try and allocate a screen the same size as the current running - one (3360x1050 in this case), which was too big for the device. Avoid - doing this and just pick sizes based on whats plugged into this device. - - Reviewed-by: Keith Packard - Signed-off-by: Dave Airlie - (cherry picked from commit 16077b81c502e04d77f81f683e0c213b9fe75393) - -commit 803d0ac49900903915f1dcd2496f085e5c1afa22 -Author: Dave Airlie -Date: Wed Jan 9 12:51:55 2013 +1000 - - dix/gpu: remove asserts for output/offload from same slave - - We should have no problem allowing output/offload from the same slave, - I asserted here, but in order to implement reverse optimus this makes - perfect sense. (reverse optimus is intel outputting to nvidia). - - Reviewed-by: Keith Packard - Signed-off-by: Dave Airlie - (cherry picked from commit f0d0d75bfe62553dde353f89e46ff13dd863fbe8) - -commit 3608d9f3dd6ae1d23e23294e9a56cb8158e65d19 -Author: Piotr Dziwinski -Date: Sat Feb 23 13:14:45 2013 +0100 - - glx: fix uninitialized var in __glXDRIscreenProbe - - Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=59825 - - Signed-off-by: Piotr Dziwinski - Reviewed-by: Keith Packard - Signed-off-by: Keith Packard - (cherry picked from commit cc3d1a5a6120e721a46c67446ba68f5596055633) - -commit 2767d9a17d62aede7cabac589c3388078bdb6022 -Author: Matt Dew -Date: Tue Jun 25 09:49:08 2013 -0600 - - Bump rev from 1.14.1.902 to 1.14.2 - -commit 7dec1d38799d82923e3241f73c83aa1ad357f72b -Author: Matt Dew -Date: Fri Jun 21 10:24:16 2013 -0600 - - Revert "dix: pre-scale x by the screen:device:resolution ratio" - - This reverts commit 14d89b9a466b521b985bc95fc4994637367362a8. - -commit 187cb5a037a03ab1e7702da5eebb2e7d884c6186 -Author: Alan Coopersmith -Date: Wed Apr 24 15:24:31 2013 -0700 - - Only call xf86platformVTProbe() when it's defined - - Fixes build on non-udev systems, since XSERVER_PLATFORM_BUS is only - defined in configure.ac if $CONFIG_UDEV_KMS is true. - - Signed-off-by: Alan Coopersmith Reviewed-by: Dave Airlie -commit 34259752340e287333fb03f3060c6db13d72f868 -Author: Matt Dew -Date: Thu Jun 13 16:25:26 2013 -0600 - - Bump rev from 1.14.1.901 to 1.14.1.902 - -commit 31e066546fd085725cc29e95867a04c70ce46ebc +commit 8a88b0ab52ba375ae84463a90503db88af10e368 Author: Peter Hutterer -Date: Fri Apr 26 15:10:08 2013 +1000 +Date: Thu May 9 14:30:49 2013 +1000 - dix: fix device scaling to use a [min,max[ range. + dix: don't overwrite proximity/focus classes - defmin/defmax are screen coords and thus use a min-inclusive, max-exclusive - range. device axes ranges are inclusive, so bump the max up by one to get the - scaling right. + InitPointerClassDeviceStruct/InitKeyboardDeviceStruct allocate a + proximity/focus class, respectively. If a driver calls + InitFocusClassDeviceStruct or InitProximityClassDeviceStruct beforehand, + the previously allocated class is overwritten, leaking the memory. - This fixes off-by-one coordinate errors if the coordinate matrix is used to - bind the device to a fraction of the screen. It introduces an off-by-one - scaling error in the device coordinate range, but since most devices have a - higher resolution than the screen (e.g. a Wacom I4 has 5080 dpi) the effect - of this should be limited. - - This error manifests when we have numScreens > 1, as the scaling from - desktop size back to screen size drops one device unit. + Neither takes a parameter other than the device, so we can simply skip + initialising it if we already have one. Signed-off-by: Peter Hutterer - (cherry picked from commit 756ab88d93542f0589c9bf46f40ccc57df64f0fd) + Reviewed-by: Dave Airlie -commit 14d89b9a466b521b985bc95fc4994637367362a8 +commit 34b0d07ebf4a7874fe7fd336bef5bbdd8debda1c Author: Peter Hutterer -Date: Sat Mar 9 20:43:51 2013 +1000 +Date: Fri May 10 09:44:29 2013 +1000 - dix: pre-scale x by the screen:device:resolution ratio + dix: reset the OsBuffers after killing all clients - commit 61a99aff9d33728a0b67920254d2d4d79f80cf39 - dix: pre-scale relative events from abs devices to desktop ratio (#31636) - - added pre-scaling of relative coordinates coming from absolute devices to - undo uneven scaling based on the screen dimensions. - - Devices have their own device width/height ratio as well (in a specific - resolution) and this must be applied for relative devices as well to avoid - scaling of the relative events into the device's ratio. - - e.g. a Wacom Intuos4 6x9 is in 16:10 format with equal horiz/vert - resolution (dpi). A movement by 1000/1000 coordinates is a perfect diagonal - on the tablet and must be reflected as such on the screen. - - However, we map the relative device-coordinate events to absolute screen - coordinates based on the axis ranges. This results in an effective scaling - of 1000/(1000 * 1.6) and thus an uneven x/y axis movement - the y - axis is always faster. - - So we need to pre-scale not only by the desktop dimenstions but also by the - device width/height ratio _and_ the resolution ratio. + ==21860== 24 bytes in 1 blocks are still reachable in loss record 85 of 397 + ==21860== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) + ==21860== by 0x61ED93: AllocateOutputBuffer (io.c:1037) + ==21860== by 0x61E15A: WriteToClient (io.c:764) + ==21860== by 0x457B30: ProcQueryExtension (extension.c:275) + ==21860== by 0x43596B: Dispatch (dispatch.c:432) + ==21860== by 0x425DAB: main (main.c:295) Signed-off-by: Peter Hutterer - (cherry picked from commit 5cc2c96f824dbb28b9f8da61efc41596f8bd0561) + Reviewed-by: Dave Airlie -commit 57f6dbb3032b934a39c15cd1980b345f477ce1e6 +commit 67c66606c760c263d7a4c2d1bba43ed6225a4e7c Author: Robert Morell Date: Thu May 9 13:09:02 2013 -0700 @@ -1700,83 +6436,55 @@ Date: Thu May 9 13:09:02 2013 -0700 Signed-off-by: Robert Morell Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer - (cherry picked from commit 67c66606c760c263d7a4c2d1bba43ed6225a4e7c) -commit 8cc686735296f1ff32089e64f78dfee46b8e7149 +commit ddc11397a56c745b5d1fb377e9d9b1fcc73802c8 Author: Peter Hutterer -Date: Thu May 9 14:30:49 2013 +1000 +Date: Mon Feb 27 18:36:39 2012 +1000 - dix: don't overwrite proximity/focus classes + dix: delete all callbacks before reset - InitPointerClassDeviceStruct/InitKeyboardDeviceStruct allocate a - proximity/focus class, respectively. If a driver calls - InitFocusClassDeviceStruct or InitProximityClassDeviceStruct beforehand, - the previously allocated class is overwritten, leaking the memory. + DeleteCallbackManager() introduced for better symmetry in the caller, they + do the same thing. - Neither takes a parameter other than the device, so we can simply skip - initialising it if we already have one. + ==20085== 24 bytes in 1 blocks are still reachable in loss record 11 of 103 + ==20085== at 0x4C2A4CD: malloc (vg_replace_malloc.c:236) + ==20085== by 0x43A097: CreateCallbackList (dixutils.c:837) + ==20085== by 0x43A1D3: AddCallback (dixutils.c:869) + ==20085== by 0x4B1736: GEExtensionInit (geext.c:209) + ==20085== by 0x41C8A8: InitExtensions (miinitext.c:389) + ==20085== by 0x5AC918: main (main.c:208) + + ==2042== 8 bytes in 1 blocks are still reachable in loss record 2 of 97 + ==2042== at 0x4C2A4CD: malloc (vg_replace_malloc.c:236) + ==2042== by 0x4C2A657: realloc (vg_replace_malloc.c:525) + ==2042== by 0x4802F5: XNFrealloc (utils.c:1095) + ==2042== by 0x43A17A: CreateCallbackList (dixutils.c:855) + ==2042== by 0x43A1EF: AddCallback (dixutils.c:870) + ==2042== by 0x4B1752: GEExtensionInit (geext.c:209) + ==2042== by 0x41C8A8: InitExtensions (miinitext.c:389) + ==2042== by 0x5AC9E4: main (main.c:208) + ==2042== Signed-off-by: Peter Hutterer - Reviewed-by: Dave Airlie - (cherry picked from commit 8a88b0ab52ba375ae84463a90503db88af10e368) + Reviewed-by: Keith Packard -commit bf115aa906795df872104083c1187c126c3b1d76 +commit 6993f8b459e25b1a7a0a03e209688a28ce6c2c56 Author: Peter Hutterer -Date: Wed Apr 17 19:47:42 2013 +1000 +Date: Wed Apr 24 14:59:11 2013 +1000 - dix: plug memory leak in freeing TouchClass + Xi: free barrier code at reset time - ==15562== 1,800 bytes in 1 blocks are definitely lost in loss record 298 of 330 - ==15562== at 0x4A06B6F: calloc (vg_replace_malloc.c:593) - ==15562== by 0x4312C7: InitTouchClassDeviceStruct (devices.c:1644) + ==29423== 16 bytes in 1 blocks are definitely lost in loss record 73 of 328 + ==29423== at 0x4A06B6F: calloc (vg_replace_malloc.c:593) + ==29423== by 0x5987C0: XIBarrierInit (xibarriers.c:908) + ==29423== by 0x58F370: XInputExtensionInit (extinit.c:1300) + ==29423== by 0x4F33C3: InitExtensions (miinitext.c:337) + ==29423== by 0x4997DB: main (main.c:208) Signed-off-by: Peter Hutterer - Reviewed-by: Alan Coopersmith - (cherry picked from commit 7d722796c678532e8c5897c673c43184da353f44) + Reviewed-by: Keith Packard -commit 6abc41689cfd274f5aa8bdfbfcd4e3dd7d0249fa -Author: Matt Dew -Date: Fri May 31 00:06:34 2013 -0600 - - bah, fixed release version: changed from rc1 to 1.901 - -commit 27c30396bf7ff16192fe5e17c6fe04ee58ee398b -Author: Matt Dew -Date: Thu May 30 22:34:17 2013 -0600 - - bump release info to 1.14.2-rc1 (from 1.14.1) - -commit bcc8eba00b57a63255e05bf80bad0cb95a5a5c3e -Author: Andreas Müller -Date: Tue Apr 16 14:30:43 2013 +0200 - - dixstruct.h: fix segfaults - char is unsigned for ARM and PowerPC architectures - - see ARM related bug reports [1-3] - - [1] https://github.com/archlinuxarm/PKGBUILDs/issues/446I - [2] http://www.raspberrypi.org/phpBB3/viewtopic.php?t=38568&p=321673 - [3] http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037805.html - - Signed-off-by: Andreas Müller - Reviewed-by: Mark Kettenis - Signed-off-by: Peter Hutterer - -commit a01839e8d3675abfef871a42415779961f1ee51c -Merge: 348de79 e90beb1 -Author: Matt Dew -Date: Thu May 23 22:08:23 2013 -0600 - - Merge branch 'server-1.14-branch' of git://people.freedesktop.org/~whot/xserver into server-1.14-branch - -commit 348de79d8c3993577912c7aaf891b7ae702ad32d -Merge: a11cf8d c760fb0 -Author: Matt Dew -Date: Thu May 23 14:49:33 2013 -0600 - - Merge commit 'c760fb0154848d47438908ba8b3da2fffc68a460' into server-1.14-branch - -commit e90beb18000cf49b9108c4f977abfd111ed908ad +commit 042c6d861f7bb7038ddcdd6b59766fd9094d0e52 Author: Peter Hutterer Date: Tue Apr 30 15:44:37 2013 +1000 @@ -1798,9 +6506,8 @@ Date: Tue Apr 30 15:44:37 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 042c6d861f7bb7038ddcdd6b59766fd9094d0e52) -commit d0725a0b8672465cc4d3b85fb705ddb64d020476 +commit d9848fb4b182ca21bacf28ed7410d1a502cb000e Author: Peter Hutterer Date: Thu Feb 14 16:24:53 2013 +1000 @@ -1808,9 +6515,8 @@ Date: Thu Feb 14 16:24:53 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit d9848fb4b182ca21bacf28ed7410d1a502cb000e) -commit 7eb73779a0c82386710c4b670a342c0340485d19 +commit d903d17d7f006fa333265b8476063b189c20d082 Author: Peter Hutterer Date: Thu Feb 14 16:19:34 2013 +1000 @@ -1818,9 +6524,8 @@ Date: Thu Feb 14 16:19:34 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit d903d17d7f006fa333265b8476063b189c20d082) -commit 6da756fb1d67d6de99077826a3d2434b0e3a1555 +commit 58ef34ee6d0f68aa28f6f1a26e56f49ec85ed9bf Author: Peter Hutterer Date: Thu Feb 14 16:13:22 2013 +1000 @@ -1828,9 +6533,8 @@ Date: Thu Feb 14 16:13:22 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 58ef34ee6d0f68aa28f6f1a26e56f49ec85ed9bf) -commit b606767f20c566e24704502eae682eacb41f450e +commit 5ea21560dd071ea4ab87430000d087fd5fe1f092 Author: Peter Hutterer Date: Thu Feb 14 15:34:32 2013 +1000 @@ -1841,18 +6545,50 @@ Date: Thu Feb 14 15:34:32 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 5ea21560dd071ea4ab87430000d087fd5fe1f092) -commit 00b8d11dafdbd1214695e0b54c6c2184ece6aa4d +commit d3d4af5f9e505d444b6c82c6ea238206433fd24b Author: Peter Hutterer -Date: Mon Feb 18 14:57:58 2013 +1000 +Date: Mon Feb 27 18:59:45 2012 +1000 - os: document pnprintf as sigsafe snprintf + dix: reset the registry before quitting + + Heaps of these: + ==2042== 15,360 bytes in 120 blocks are still reachable in loss record 94 of + 97 + ==2042== at 0x4C2A4CD: malloc (vg_replace_malloc.c:236) + ==2042== by 0x4C2A657: realloc (vg_replace_malloc.c:525) + ==2042== by 0x45FB91: double_size (registry.c:65) + ==2042== by 0x45FC97: RegisterRequestName (registry.c:85) + ==2042== by 0x460095: RegisterExtensionNames (registry.c:179) + ==2042== by 0x460729: dixResetRegistry (registry.c:334) + ==2042== by 0x5AC992: main (main.c:201) Signed-off-by: Peter Hutterer - (cherry picked from commit 44fc062f85df7288c17d2d64b73aa4957b91fd6d) + Reviewed-by: Keith Packard -commit 8318d6a89cb3ffad5c90670027ef997fd19994a1 +commit 6f44d672aa34d343f63f0ea81ad58154a66b57ec +Author: Peter Hutterer +Date: Mon Feb 27 17:17:41 2012 +1000 + + xkb: free XkbRulesUsed and XkbRulesDflt on extension cleanup + + ==2547== 1 bytes in 1 blocks are still reachable in loss record 1 of 111 + ==2547== at 0x4C2A4CD: malloc (vg_replace_malloc.c:236) + ==2547== by 0x64D1551: strdup (strdup.c:43) + ==2547== by 0x4802FB: Xstrdup (utils.c:1113) + ==2547== by 0x585B6C: XkbSetRulesUsed (xkbInit.c:219) + ==2547== by 0x58700F: InitKeyboardDeviceStruct (xkbInit.c:595) + ==2547== by 0x419FA3: vfbKeybdProc (InitInput.c:74) + ==2547== by 0x425A3D: ActivateDevice (devices.c:540) + ==2547== by 0x425F65: InitAndStartDevices (devices.c:713) + ==2547== by 0x5ACA57: main (main.c:259) + + and a few more of the above. + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit 623981ddaeb8836f3b0939e527c0e943f9c4e974 Author: Peter Hutterer Date: Fri Feb 1 09:06:20 2013 +1000 @@ -1867,9 +6603,33 @@ Date: Fri Feb 1 09:06:20 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 623981ddaeb8836f3b0939e527c0e943f9c4e974) -commit 1c215f5a9c7f8a75ad56f3b34b0b7de2ee9aa6ff +commit dce40e2266200421647044ec7e856656d2ef952d +Author: Peter Hutterer +Date: Tue Feb 26 12:34:21 2013 +1000 + + Xi: always return BadMatch for XTest devices ChangeDeviceControl requests + + The only controls that still do something are DEVICE_RESOLUTION and + DEVICE_ENABLE. + + XTest devices have no resolution to change, and they cannot be disabled. So + skip the lot, and prevent a crash in the DDX when it's trying to + de-reference pInfo->control_proc on device with no pInfo struct. + + Likewise, don't allow setting device mode or the valuators. + XTest pointers are always relative, they don't have a mode. + + Test cases: + xts5/XI/ChangeDeviceControl (1/10) + xts5/XI/SetDeviceValuators (1/6) + and a few others + + Reported-by: Knut Petersen + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit 23d1bc69f305edd5a6e2cfec3dfc84befda0881c Author: Peter Hutterer Date: Thu Mar 14 11:07:57 2013 +1000 @@ -1879,130 +6639,283 @@ Date: Thu Mar 14 11:07:57 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 23d1bc69f305edd5a6e2cfec3dfc84befda0881c) -commit 70236f770c7004016efe89dc5638ccbb9ef15bee -Author: Daniel Martin -Date: Thu Dec 20 13:50:17 2012 +0100 - - ephyr: Fix crash on 24bpp host framebuffer - - Use bytes_per_line and bits_per_pixel from the created XImage to fix - https://bugzilla.redhat.com/show_bug.cgi?id=518960 - - Signed-off-by: Daniel Martin - Reviewed-by: Peter Hutterer - Signed-off-by: Peter Hutterer - (cherry picked from commit bd58ebe4cf3b0ce60f87fb26a3715f774dabd349) - -commit a11cf8dd68275ba4676888e5957bff13efbfbb3d -Author: Maarten Lankhorst -Date: Mon Apr 15 16:53:48 2013 +0200 - - dix: copy event in TouchConvertToPointerEvent correctly - - Fixes reading random memory read beyond the end of original event. - - sizeof device_event: 424 - sizeof internal_event: 2800 - - Signed-off-by: Maarten Lankhorst - Reviewed-by: Peter Hutterer - Signed-off-by: Peter Hutterer - (cherry picked from commit 98b94c36d6b1d286bbd4cb414e54b4b95a1484b0) - -commit 05ca549d81f476561257076f354c781d590c9a4f -Author: Knut Petersen -Date: Tue Feb 26 07:52:59 2013 +0100 - - Never try to execute BellProcPtr NULL. - - This prevents xts XI/XDeviceBell-2 test - from segfaulting the server. - - Signed-off-by: Knut Petersen - Reviewed-by: Peter Hutterer - Signed-off-by: Peter Hutterer - (cherry picked from commit 4bff442ec5aa4b93a3f5c11782d4b7b9d1ae13ac) - -commit 2cc81338d1804a6a6c92f48773d3e1b2543a262b -Author: Rui Matos -Date: Sat Apr 13 04:22:54 2013 +0200 - - Xi: fix swapped grab mode args for keyboard devices in XIGrabDevice - - The protocol says that the grab_mode argument applies to the device - being grabbed and paired_device_mode to the paired master - device. GrabDevice() however takes in a pointer mode and a keyboard - mode and so we have to swap the values according the type of device - being grabbed. - - Signed-off-by: Rui Matos - Reviewed-by: Peter Hutterer - Signed-off-by: Peter Hutterer - (cherry picked from commit 9003399708936481083424b4ff8f18a16b88b7b3) - -commit 08998230789ff15843f726d7231ec0de2f67be6b +commit 27b11f5c19d67e2f6784d86cb7df86bbab3b58bb Author: Peter Hutterer -Date: Fri Apr 12 09:14:53 2013 +1000 +Date: Fri Feb 15 11:19:10 2013 +1000 - xfree86: change a log message + Xi: fix comment - XI2 grabs aren't keysym grabs - This path is technically executed through config/udev, but having two - messages in the form "config/udev: Adding drm device" makes it appear as if - the udev filters are wrong and it's trying to add the same device twice. In - fact, it's only one device, only added once, but a duplicate log message. + Comment dates back to a pre-release version of XI2 that supported keysym + grabs. That never made it into a release, it was ditched before. Signed-off-by: Peter Hutterer - Reviewed-by: Dave Airlie - (cherry picked from commit 131f883f85b9b734e5e5652f16ba1d3b5f4de12f) + Reviewed-by: Keith Packard -commit 2c9ac2689fc75cfa3293316acd51b9a39f37edfd -Author: Maarten Lankhorst -Date: Tue Apr 9 11:19:07 2013 +0200 - - Xi: Do not handle ET_TouchOwnership in ProcessTouchEvent - - The event struct is different, causing memory corruption on 1.13 and 1.14, - - as can be witnessed in https://bugs.freedesktop.org/show_bug.cgi?id=56578 - - Signed-off-by: Maarten Lankhorst - Reviewed-by: Peter Hutterer - Signed-off-by: Peter Hutterer - (cherry picked from commit 7347f39f94d8cebbf73ce1a2f94d1abdaf7ff383) - -commit 0a3630708b729a02cefc342456b243254f5b699d +commit 2746c681639f9512e6e45fb8d0151b996b6aff7f +Merge: 1e6cf8e 9878e09 Author: Keith Packard -Date: Tue Apr 9 16:23:19 2013 -0700 +Date: Mon May 6 10:52:40 2013 -0700 - Xi: Use correct destination when swapping barrier events - - Write the swapped values to the destination rather than the source. - - Signed-off-by: Keith Packard - Reviewed-by: Jasper St. Pierre - Signed-off-by: Peter Hutterer - (cherry picked from commit dbba50a1280cbda9ecff6f37884b4c5756c30bab) + Merge remote-tracking branch 'alanc/master' -commit 9ad9c1358567998564d177f06d98fc46dcb41009 -Author: Peter Hutterer -Date: Mon Mar 4 07:58:41 2013 +1000 +commit 1e6cf8ec20d07b73a11116564aba71b4e4291dcd +Merge: dbfeaf7 5860408a +Author: Keith Packard +Date: Mon May 6 10:20:21 2013 -0700 - dix: don't set non-exisiting flags on touch events - - Unlike pointer/keyboard events, the flags field for ET_Touch* is a set of - server-internal defines that we need to convert to XI protocol defines. - Currently only two of those defines actually translate to the protocol, so - make sure we don't send internal garbage down the wire. - - No effect to current clients since they shouldn't look at undefined bits - anyway. - - Signed-off-by: Peter Hutterer - (cherry picked from commit b86b3d10bb2fee1a922b8831e8bb415c339f3d99) + Merge remote-tracking branch 'jturney/unused-but-set-variable-warning-fix' -commit c760fb0154848d47438908ba8b3da2fffc68a460 +commit dbfeaf70623a83e1a3f3255c94d52e0e04702837 +Author: Aaron Plattner +Date: Tue Apr 30 14:30:18 2013 -0700 + + xfree86: don't enable anything in xf86InitialConfiguration for GPU screens + + There's no point in turning on outputs connected to GPU screens during initial + configuration. Not only does this cause them to just display black, it also + confuses clients when these screens are attached to a master screen and RandR + reports that the outputs are already on. + + Also, don't print the warning about no outputs being found on GPU screens, + since that's expected. + + Signed-off-by: Aaron Plattner + Reviewed-by: Dave Airlie + +commit 5860408a19d956f8cebb7ae39cfdbfcebd5e6360 +Author: Jon TURNEY +Date: Wed Apr 3 18:43:26 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in ProcWindowsWMFrameGetRect() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winwindowswm.c: In function ‘ProcWindowsWMFrameGetRect’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winwindowswm.c:322:12: error: variable ‘ir’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit bcfd523c150b34e9304d174ba812160c611f270d +Author: Jon TURNEY +Date: Wed Apr 3 18:34:38 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winMWExtWMUpdateWindowDecoration() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winwin32rootlesswindow.c: In function ‘winMWExtWMUpdateWindowDecoration’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winwin32rootlesswindow.c:189:11: error: variable ‘dwStyle’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit fbf819c24dc080f166cff29bf46b0feb604c6b8c +Author: Jon TURNEY +Date: Wed Apr 3 16:40:35 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winHotKeyAltTabPrimaryDD() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winpfbdd.c: In function ‘winHotKeyAltTabPrimaryDD’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winpfbdd.c:518:20: error: variable ‘rcSrc’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 7dae1e59ce6077f475c04a41fa00096a74114064 +Author: Jon TURNEY +Date: Wed Apr 3 16:33:39 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winMinimizeWindow() when built !XWIN_MULTIWINDOWEXTWM + + /jhbuild/checkout/xorg/xserver/hw/xwin/winmultiwindowwindow.c: In function ‘winMinimizeWindow’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winmultiwindowwindow.c:813:20: error: variable ‘pScreenInfo’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit b284666f09b77f9c2f048fee22015a353152a57f +Author: Jon TURNEY +Date: Wed Apr 3 16:27:45 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winClipboardProc() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winclipboardthread.c: In function ‘winClipboardProc’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winclipboardthread.c:88:25: error: variable ‘atomClipboardManager’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit d414a09bb7f8d4440b36cbc6f0b4ca0eaefe5cbf +Author: Jon TURNEY +Date: Wed Apr 3 16:25:54 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winWindowProc() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winwndproc.c: In function ‘winWindowProc’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winwndproc.c:65:22: error: variable ‘s_hInstance’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit 7726102671690eb28138d032c8398ac903b97606 +Author: Jon TURNEY +Date: Wed Apr 3 16:24:08 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winCopyWindowNativeGDI() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winwindow.c: In function ‘winCopyWindowNativeGDI’: + /jhbuild/checkout/xorg/xserver/hw/xwin/winwindow.c:131:15: error: variable ‘pwinRoot’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit b9a2566a6e2f56a0335cd4a089b2066c06a67455 +Author: Jon TURNEY +Date: Wed Apr 3 16:50:38 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winFinishScreenInitFB() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winscrinit.c:264:11: error: variable ‘pbits’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit c97fbd39adbc0a8cb8537f40b12c091aee29221a +Author: Jon TURNEY +Date: Wed Apr 3 16:18:27 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warning in winIsFakeCtrl_L() + + /jhbuild/checkout/xorg/xserver/hw/xwin/winkeybd.c:331:17: error: variable ‘lastMessage’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit cdb74fe17dcb3b5a9c61951f897deaf07f86775f +Author: Jon TURNEY +Date: Wed Apr 3 16:16:06 2013 +0100 + + hw/xwin: Fix unused-but-set-variable warnings in windialog.c + + /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c: In function ‘winChangeDepthDlgProc’: + /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c:432:22: error: variable ‘s_pScreen’ set but not used [-Werror=unused-but-set-variable] + /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c: In function ‘winAboutDlgProc’: + /jhbuild/checkout/xorg/xserver/hw/xwin/windialogs.c:564:22: error: variable ‘s_pScreen’ set but not used [-Werror=unused-but-set-variable] + + Signed-off-by: Jon TURNEY + Reviewed-by: Colin Harrison + +commit f2fd8ec3725a61abbc831f0a9ec28fa2b7020c47 +Author: Dave Airlie +Date: Wed Jan 9 12:52:13 2013 +1000 + + gpu: call CreateScreenResources for GPU screens + + I didn't think we needed this before, but after doing some more + work with reverse optimus it seems like it should be called. + + Reviewed-by: Keith Packard + Signed-off-by: Dave Airlie + +commit 8fcb9d91b69abc72ddef31b9f2e8585580c6cad2 +Author: Dave Airlie +Date: Wed Jan 9 12:52:08 2013 +1000 + + dix: allow pixmap dirty helper to be used for non-shared pixmaps + + this allows the pixmap dirty helper to be used for reverse optimus, + where the GPU wants to copy from the shared pixmap to its VRAM copy. + + [airlied: slave_dst is wrong name now but pointless ABI churn at this point] + Reviewed-by: Keith Packard + Signed-off-by: Dave Airlie + +commit 16077b81c502e04d77f81f683e0c213b9fe75393 +Author: Dave Airlie +Date: Wed Jan 9 12:52:03 2013 +1000 + + xf86crtc: don't use scrn->display for gpu screens + + scrn->display is a property of the main screen really, and we don't + want to have the GPU screens use it for anything when picking modes + or a front buffer size. + + This fixes a bug where when you plugged a display link device, it + would try and allocate a screen the same size as the current running + one (3360x1050 in this case), which was too big for the device. Avoid + doing this and just pick sizes based on whats plugged into this device. + + Reviewed-by: Keith Packard + Signed-off-by: Dave Airlie + +commit f0d0d75bfe62553dde353f89e46ff13dd863fbe8 +Author: Dave Airlie +Date: Wed Jan 9 12:51:55 2013 +1000 + + dix/gpu: remove asserts for output/offload from same slave + + We should have no problem allowing output/offload from the same slave, + I asserted here, but in order to implement reverse optimus this makes + perfect sense. (reverse optimus is intel outputting to nvidia). + + Reviewed-by: Keith Packard + Signed-off-by: Dave Airlie + +commit 9d26e8eaf5a2d7c3e65670ac20254c60f665c463 +Author: Dave Airlie +Date: Wed Jan 9 14:26:35 2013 +1000 + + randr: report changes when we disconnect a GPU slave + + When we disconnect an output/offload slave set the changed bits, + so a later TellChanged can do something. + + Then when we remove a GPU slave device, sent change notification + to the protocol screen. + + This allows hot unplugged USB devices to disappear in clients. + + Reviewed-by: Peter Hutterer + Signed-off-by: Dave Airlie + +commit b724324252d13ff95f62eebd12d125b194d2ccc2 +Author: Dave Airlie +Date: Wed Jan 9 14:25:43 2013 +1000 + + randr: only respected changed on the protocol screen + + We don't want to know about changes on the non-protocol screen, + we will fix up setchanged to make sure non-protocol screens update + the protocol screens when they have a change. + + Reviewed-by: Peter Hutterer + Signed-off-by: Dave Airlie + +commit b3f70f38edebac87afe9351538365292f1aaaff3 +Author: Dave Airlie +Date: Wed Jan 9 14:29:47 2013 +1000 + + randr: make SetChanged modify the main protocol screen not the gpu screen + + When SetChanged is called we now modify the main protocol screen, + not the the gpu screen. Since changed stuff should work at the protocol level. + + Reviewed-by: Peter Hutterer + Signed-off-by: Dave Airlie + +commit f9c8248b8326ad01f33f31531c6b2479baf80f02 +Author: Dave Airlie +Date: Wed Jan 9 14:23:57 2013 +1000 + + randr: don't directly set changed bits in randr screen + + Introduce a wrapper interface so we can fix things up for multi-gpu + situations later. + + This just introduces the API for now. + + Reviewed-by: Peter Hutterer + Signed-off-by: Dave Airlie + +commit 451ba4bd41b82acd4aec6236ba121e00cfeb311b Author: Chris Wilson Date: Thu Jan 10 03:26:33 2013 +0000 @@ -2026,57 +6939,342 @@ Date: Thu Jan 10 03:26:33 2013 +0000 Also-written-by: Maarten Lankhorst Reviewed-by: Keith Packard Signed-off-by: Keith Packard - (cherry picked from commit 451ba4bd41b82acd4aec6236ba121e00cfeb311b) -commit 5c296c32d9486201c0fbb51e905dd3f8542c4d88 -Author: Dave Airlie -Date: Wed Apr 10 16:32:15 2013 +1000 +commit 9878e097a7de2f86eff0dcfd9fe5d83b162197ec +Author: Alan Coopersmith +Date: Wed Apr 24 15:24:31 2013 -0700 - xf86: don't hotplug output devices while VT switched. + Only call xf86platformVTProbe() when it's defined - We don't want to hotplug output devices while we are VT switched, - as we get races between multiple X servers on the device open, and - drm device master status. This just queues device opens until we return - from VT switch. + Fixes build on non-udev systems, since XSERVER_PLATFORM_BUS is only + defined in configure.ac if $CONFIG_UDEV_KMS is true. - Reviewed-by: Chris Wilson - Signed-off-by: Dave Airlie - (cherry picked from commit 22cab8a28a433d03a4e6ba97f9a160271d73cb52) + Signed-off-by: Alan Coopersmith + Reviewed-by: Dave Airlie -commit 39ce034505b6526b5c945a6f44a34e020a22d187 -Author: Dave Airlie -Date: Wed Apr 10 16:32:11 2013 +1000 +commit e779402d531625ba4ed5d628d06c6b1e06b2ec7b +Author: Keith Packard +Date: Thu Apr 25 09:02:31 2013 -0700 - xf86: use new xf86VTOwner interface in a few places + shadow: Define c2p_unsupported - This replaces some previous uses of direct xf86Screens[0] accesses. + Just make this call BUG_WARN(1) to indicate that something unexpected + happened - Reviewed-by: Chris Wilson - Signed-off-by: Dave Airlie - (cherry picked from commit 5b359cf6135ca173d8f65cb92926332f07f91efe) + Signed-off-by: Keith Packard -commit 92135056375fe9a2b637487dd4a9274ab6dd338d -Author: Dave Airlie -Date: Wed Apr 10 16:32:02 2013 +1000 +commit 2b361fbda536f0125e4b87a6d455acc58f4e8690 +Author: Alan Coopersmith +Date: Sun Feb 10 10:24:59 2013 -0800 - xfree86: add VT owner interface + sparcPromPathname2Node: free name when returning error, instead of leaking it - This is just a simple interface to avoid accessing x86Screens[0] - directly. + Reported with other leaks found by cppcheck in bugzilla #50281 + https://bugs.freedesktop.org/show_bug.cgi?id=50281 - Reviewed-by: Chris Wilson - Signed-off-by: Dave Airlie - (cherry picked from commit d61ea1f64db45201c1a2b39c39293c5768d98092) + Signed-off-by: Alan Coopersmith + Reviewed-by: Keith Packard -commit f5796f98dadccf67c04f601178966614dd51a1b4 -Author: Peter Hutterer -Date: Wed Apr 17 16:12:00 2013 +1000 +commit 174ccd84931ece5a92a09c4a1d6a47e0958ebf7e +Author: Alan Coopersmith +Date: Sun Feb 10 10:24:59 2013 -0800 - xserver 1.14.1 + xf86SbusCmapLoadPalette: Delay malloc until needed, avoiding leak on error + Reported with other leaks found by cppcheck in bugzilla #50281 + https://bugs.freedesktop.org/show_bug.cgi?id=50281 + + V2: check for malloc failure + + Signed-off-by: Alan Coopersmith + +commit 6bca0184d167388cd417d113031317990489987d +Author: Alan Coopersmith +Date: Sun Feb 10 10:18:02 2013 -0800 + + dmxVDLRead: if we opened a file, close it instead of leaking it + + Reported with other leaks found by cppcheck in bugzilla #50281 + https://bugs.freedesktop.org/show_bug.cgi?id=50281 + + Signed-off-by: Alan Coopersmith + Reviewed-by: Keith Packard + +commit 8c5ff2e93f73b24adff741b25fc1e31b2f5dd0ac +Author: Alan Coopersmith +Date: Sun Feb 10 10:24:59 2013 -0800 + + __glXDRIscreenProbe: free screen when DRI2Connect fails, instead of leaking it + + Reported with other leaks found by cppcheck in bugzilla #50281 + https://bugs.freedesktop.org/show_bug.cgi?id=50281 + + V2: goto existing error handler, instead of replicating more of it here + + Signed-off-by: Alan Coopersmith + Reviewed-by: Keith Packard + +commit 9567fa9a7269765bc59ac71b931e16df261d794d +Author: Alan Coopersmith +Date: Sun Feb 10 10:24:59 2013 -0800 + + __glXDRIscreenCreateContext: free context on failure, instead of leaking it + + Reported with other leaks found by cppcheck in bugzilla #50281 + https://bugs.freedesktop.org/show_bug.cgi?id=50281 + + Signed-off-by: Alan Coopersmith + Reviewed-by: Ian Romanick + +commit 7ab98bafc9a3426fd40f8ae693430491333ba4fc +Merge: 53da26a 5ab2603 +Author: Keith Packard +Date: Wed Apr 24 14:14:45 2013 -0700 + + Merge remote-tracking branch 'geertu/master' + +commit 53da26afb76bcce70b91c5df23d25e7e85c010cf +Merge: 5ece86e d8d3c78 +Author: Keith Packard +Date: Wed Apr 24 10:27:19 2013 -0700 + + Merge remote-tracking branch 'whot/for-keith' + +commit 5ece86e921a1df457a9baab6a2357ccda4ad6957 +Merge: ef0a726 22cab8a +Author: Keith Packard +Date: Wed Apr 24 10:23:51 2013 -0700 + + Merge remote-tracking branch 'airlied/for-keithp-gpu-vt-owner' + +commit ef0a726bc8d5c415244cb4f86d664938b0127a5d +Author: Jeremy White +Date: Thu Mar 21 10:58:42 2013 -0500 + + Eliminate the use of xf86Rename.h + + Signed-off-by: Jeremy White + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit 2b539239e465faa9e8c6d96f1c6f00e593d46c18 +Author: Keith Packard +Date: Wed Apr 24 10:11:03 2013 -0700 + + Bump to 1.14.99.1 + + Snapshot with fix for CVE-2013-1940. + + Signed-off-by: Keith Packard + +commit d8d3c78b6ebdf63836951d2dbd2d3d621ff26da2 +Author: Andreas Müller +Date: Tue Apr 16 14:30:43 2013 +0200 + + dixstruct.h: fix segfaults - char is unsigned for ARM and PowerPC architectures + + see ARM related bug reports [1-3] + + [1] https://github.com/archlinuxarm/PKGBUILDs/issues/446I + [2] http://www.raspberrypi.org/phpBB3/viewtopic.php?t=38568&p=321673 + [3] http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037805.html + + Signed-off-by: Andreas Müller + Reviewed-by: Mark Kettenis Signed-off-by: Peter Hutterer -commit aac2d9d09c73fa2b9d02d8446718aa6ccd7e894a +commit 7d722796c678532e8c5897c673c43184da353f44 +Author: Peter Hutterer +Date: Wed Apr 17 19:47:42 2013 +1000 + + dix: plug memory leak in freeing TouchClass + + ==15562== 1,800 bytes in 1 blocks are definitely lost in loss record 298 of 330 + ==15562== at 0x4A06B6F: calloc (vg_replace_malloc.c:593) + ==15562== by 0x4312C7: InitTouchClassDeviceStruct (devices.c:1644) + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + +commit 5ab260317ad3b2aafff31a97df21620db52eacd1 +Author: Geert Uytterhoeven +Date: Sun Mar 10 21:04:19 2013 +0100 + + Xfbdev: Wire up Amiga afb4 and afb8 support + + Add support for Amiga-style bitplanes, with 4 or 8 bits per pixel. + + Signed-off-by: Geert Uytterhoeven + Acked-by: Keith Packard + +commit 672bc5bb38918304cf68114a1112cd48651a5e83 +Author: Geert Uytterhoeven +Date: Sun Mar 10 17:17:26 2013 +0100 + + Xfbdev: Wire up Atari iplan2p4 and iplan2p8 support + + Add support for Atari-style interleaved bitplanes, with 2 bytes interleave + and 4 or 8 bits per pixel. + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit 95a3c7536c1a4afe97aaf955980034cc69af9c2f +Author: Geert Uytterhoeven +Date: Sun Mar 10 17:17:26 2013 +0100 + + Xfbdev: Force shadowfb for frame buffers with non-packed pixels + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit 0e808110df216649e05503baecd06cd5a3e50421 +Author: Geert Uytterhoeven +Date: Sun Mar 10 17:17:26 2013 +0100 + + Xfbdev: Reject unsupported frame buffer types + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit cfd10576812c36f5844805eb95ed1f2d093d1691 +Author: Geert Uytterhoeven +Date: Sun Mar 10 21:03:44 2013 +0100 + + Shadow: Add support for Amiga afb8 + + Add support for Amiga-style bitplanes, with 8 bits per pixel. + + Signed-off-by: Geert Uytterhoeven + Acked-by: Keith Packard + +commit a1b8e7f1e6118b611ba9d332b8763ee2b44f550c +Author: Geert Uytterhoeven +Date: Wed Mar 27 09:37:02 2013 +0100 + + Shadow: Add support for Amiga afb4 + + Add support for Amiga-style bitplanes, with 4 bits per pixel. + + Signed-off-by: Geert Uytterhoeven + Acked-by: Keith Packard + +commit d7181e567d1629c387b834da7eecdf618d14718e +Author: Geert Uytterhoeven +Date: Sun Mar 10 17:16:17 2013 +0100 + + Shadow: Add support for Atari iplan2p8 + + Add support for Atari-style interleaved bitplanes, with 2 bytes interleave + and 8 bits per pixel. + + Signed-off-by: Geert Uytterhoeven + Acked-by: Keith Packard + +commit 3f7506b0fca72b2462b85bc4f613de809ae95859 +Author: Geert Uytterhoeven +Date: Sun Mar 10 21:01:02 2013 +0100 + + Shadow: Add support for Atari iplan2p4 + + Add support for Atari-style interleaved bitplanes, with 2 bytes interleave + and 4 bits per pixel. + + Signed-off-by: Geert Uytterhoeven + Acked-by: Keith Packard + +commit 87af9ab7d52578b0ea315fc4f8dfd906d19755fb +Author: Geert Uytterhoeven +Date: Sun Mar 10 17:15:05 2013 +0100 + + Shadow: Add c2p core + + Add Chunky-to-Planar core functionality, to be used by the Atari and Amiga + (interleaved) bitplanes code. + + Signed-off-by: Geert Uytterhoeven + Acked-by: Keith Packard + +commit 4ee2566c3e420a717be36f79126a14e15edac30f +Author: Geert Uytterhoeven +Date: Tue Mar 12 18:10:40 2013 +0100 + + Xfbdev: Treat 1 bpp pseudocolor as monochrome + + miCreateDefColormap() only preallocates black and white pixels if + depth > 1. + Hence override the visual, so fbdevCreateColormap() takes care of it. + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit 6dfb94a891ed445f47832ba1364fcbf1de018f4a +Author: Geert Uytterhoeven +Date: Tue Mar 12 14:16:10 2013 +0100 + + Xfbdev: Add support for monochrome visuals + + Monochrome supports StaticGray, with hardcoded black and white pixels. + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit 1049b32166760bdc00106625e213d31a8fc60bad +Author: Geert Uytterhoeven +Date: Tue Mar 12 14:19:25 2013 +0100 + + Xfbdev: Handle unset fix.line_length + + Older frame buffer devices may not fill in fix.line_length, in which + case it must be calculated by the application. + + Signed-off-by: Geert Uytterhoeven + +commit 5c509c360d97bea78ef461596ab4b7bde69020ac +Author: Geert Uytterhoeven +Date: Fri Feb 22 13:21:28 2013 +0100 + + Xfbdev: Make char *fbdevDevicePath const + + This fixes: + + hw/kdrive/fbdev/fbdev.c: In function 'fbdevInitialize': + hw/kdrive/fbdev/fbdev.c:41:25: warning: assignment discards 'const' qualifier from pointer target type [enabled by default] + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit b08afbc53c1d583c3913b92e67db44823077b112 +Author: Geert Uytterhoeven +Date: Tue Mar 12 15:20:00 2013 +0100 + + KDrive: Bail out if screen initialization failed + + Else we may get a segmentation fault later. + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit e7045c9dd208a1afe36526ab21ef15f8b01c8bd2 +Author: Geert Uytterhoeven +Date: Sat Feb 23 20:09:22 2013 +0100 + + test/input: Fix double-aligned test in dix_valuator_alloc() on m68k + + On m68k, doubles are not 64-bit aligned, just like on i386 and sh. + + Signed-off-by: Geert Uytterhoeven + +commit 8bb0616cc2799c2c34448da6337ea8cb9438cda7 +Author: Geert Uytterhoeven +Date: Fri Feb 22 21:10:07 2013 +0100 + + miext/shadow/shpacked.c: Remove unused PickBit() define + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Keith Packard + +commit 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f Author: Dave Airlie Date: Wed Apr 10 16:09:01 2013 +1000 @@ -2094,19 +7292,337 @@ Date: Wed Apr 10 16:09:01 2013 +1000 Signed-off-by: Dave Airlie Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer - (cherry picked from commit 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f) -commit 2eec013569f6daa952482ac5d9db8acc71fe01aa +commit ddc149beaf708e84fb5573c4322d4f859c517917 Author: Peter Hutterer -Date: Mon Feb 25 11:13:52 2013 +1000 +Date: Mon Feb 27 18:50:46 2012 +1000 - dix: fix a comment + Stop the shouting + + Meanwhile, here in the future lowercase letters have been invented. Signed-off-by: Peter Hutterer - Reviewed-by: Keith Packard - (cherry picked from commit 11bead1fa205a1353e6a33c6024c7e8ace80be7c) + Reviewed-by: Chase Douglas -commit bce06afc99ce1d948f9002e0c5c7bc29d66425da +commit 27356a45b4f6bad4d0bbf356e6d976d0c8dd257b +Author: Peter Hutterer +Date: Mon Feb 27 17:22:16 2012 +1000 + + dix: only allocate unused classes for master devices + + Slave devices don't need these and the matching code in CloseDevice() has a + IsMaster() condition on freeing these, causing a leak. + + ==16111== 384 bytes in 4 blocks are definitely lost in loss record 72 of 105 + ==16111== at 0x4C28BB4: calloc (vg_replace_malloc.c:467) + ==16111== by 0x42AEE2: AllocDevicePair (devices.c:2707) + ==16111== by 0x4BAA27: AllocXTestDevice (xtest.c:617) + ==16111== by 0x4BA89A: InitXTestDevices (xtest.c:570) + ==16111== by 0x425F5E: InitCoreDevices (devices.c:690) + ==16111== by 0x5ACB2D: main (main.c:257) + + Signed-off-by: Peter Hutterer + Reviewed-by: Chase Douglas + +commit 98b94c36d6b1d286bbd4cb414e54b4b95a1484b0 +Author: Maarten Lankhorst +Date: Mon Apr 15 16:53:48 2013 +0200 + + dix: copy event in TouchConvertToPointerEvent correctly + + Fixes reading random memory read beyond the end of original event. + + sizeof device_event: 424 + sizeof internal_event: 2800 + + Signed-off-by: Maarten Lankhorst + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit 4bff442ec5aa4b93a3f5c11782d4b7b9d1ae13ac +Author: Knut Petersen +Date: Tue Feb 26 07:52:59 2013 +0100 + + Never try to execute BellProcPtr NULL. + + This prevents xts XI/XDeviceBell-2 test + from segfaulting the server. + + Signed-off-by: Knut Petersen + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit 9003399708936481083424b4ff8f18a16b88b7b3 +Author: Rui Matos +Date: Sat Apr 13 04:22:54 2013 +0200 + + Xi: fix swapped grab mode args for keyboard devices in XIGrabDevice + + The protocol says that the grab_mode argument applies to the device + being grabbed and paired_device_mode to the paired master + device. GrabDevice() however takes in a pointer mode and a keyboard + mode and so we have to swap the values according the type of device + being grabbed. + + Signed-off-by: Rui Matos + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit d16284687ddeffde32a561b8c67b2e2e3d66aeaa +Author: Bryce Harrington +Date: Wed Apr 10 23:05:40 2013 -0700 + + xfree86: Revert workaround for drm race condition. + + Revert 70739e817b2d64bc020ea491f23a3574bdb6155e and mostly revert + c31eac647a9ecf0fb20dc98266cadf0ba923ba14. + + Further investigation shows the encountered race condition is between + lightdm and plymouth-splash, as implemented in the Ubuntu distribution + within the limitations of upstart's job coordination logic, and can (and + should) be fixed within those limiations. Not in xserver itself. + + This leaves some of the diagnostic improvements from the recent patch + series, in case others run into a similar situation. + + Signed-off-by: Bryce Harrington + Signed-off-by: Peter Hutterer + +commit 131f883f85b9b734e5e5652f16ba1d3b5f4de12f +Author: Peter Hutterer +Date: Fri Apr 12 09:14:53 2013 +1000 + + xfree86: change a log message + + This path is technically executed through config/udev, but having two + messages in the form "config/udev: Adding drm device" makes it appear as if + the udev filters are wrong and it's trying to add the same device twice. In + fact, it's only one device, only added once, but a duplicate log message. + + Signed-off-by: Peter Hutterer + Reviewed-by: Dave Airlie + +commit 22cab8a28a433d03a4e6ba97f9a160271d73cb52 +Author: Dave Airlie +Date: Wed Apr 10 16:32:15 2013 +1000 + + xf86: don't hotplug output devices while VT switched. + + We don't want to hotplug output devices while we are VT switched, + as we get races between multiple X servers on the device open, and + drm device master status. This just queues device opens until we return + from VT switch. + + Reviewed-by: Chris Wilson + Signed-off-by: Dave Airlie + +commit 5b359cf6135ca173d8f65cb92926332f07f91efe +Author: Dave Airlie +Date: Wed Apr 10 16:32:11 2013 +1000 + + xf86: use new xf86VTOwner interface in a few places + + This replaces some previous uses of direct xf86Screens[0] accesses. + + Reviewed-by: Chris Wilson + Signed-off-by: Dave Airlie + +commit d61ea1f64db45201c1a2b39c39293c5768d98092 +Author: Dave Airlie +Date: Wed Apr 10 16:32:02 2013 +1000 + + xfree86: add VT owner interface + + This is just a simple interface to avoid accessing x86Screens[0] + directly. + + Reviewed-by: Chris Wilson + Signed-off-by: Dave Airlie + +commit 7347f39f94d8cebbf73ce1a2f94d1abdaf7ff383 +Author: Maarten Lankhorst +Date: Tue Apr 9 11:19:07 2013 +0200 + + Xi: Do not handle ET_TouchOwnership in ProcessTouchEvent + + The event struct is different, causing memory corruption on 1.13 and 1.14, + + as can be witnessed in https://bugs.freedesktop.org/show_bug.cgi?id=56578 + + Signed-off-by: Maarten Lankhorst + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit dbba50a1280cbda9ecff6f37884b4c5756c30bab +Author: Keith Packard +Date: Tue Apr 9 16:23:19 2013 -0700 + + Xi: Use correct destination when swapping barrier events + + Write the swapped values to the destination rather than the source. + + Signed-off-by: Keith Packard + Reviewed-by: Jasper St. Pierre + Signed-off-by: Peter Hutterer + +commit b86b3d10bb2fee1a922b8831e8bb415c339f3d99 +Author: Peter Hutterer +Date: Mon Mar 4 07:58:41 2013 +1000 + + dix: don't set non-exisiting flags on touch events + + Unlike pointer/keyboard events, the flags field for ET_Touch* is a set of + server-internal defines that we need to convert to XI protocol defines. + Currently only two of those defines actually translate to the protocol, so + make sure we don't send internal garbage down the wire. + + No effect to current clients since they shouldn't look at undefined bits + anyway. + + Signed-off-by: Peter Hutterer + +commit ecf62755086fd65898998d5a509aee5f29a9583d +Author: Jeremy White +Date: Thu Mar 21 10:58:57 2013 -0500 + + Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. + + This removes a large number of redundant declaration warnings. + + Signed-off-by: Jeremy White + Reviewed-by: Robert Morell + Signed-off-by: Keith Packard + +commit e13f29984251dbbe6076264ed710c2922312eed1 +Author: Bryce Harrington +Date: Tue Mar 19 12:12:46 2013 -0700 + + xfree86: Be verbose if waiting on opening the drm device + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + Signed-off-by: Keith Packard + +commit 70739e817b2d64bc020ea491f23a3574bdb6155e +Author: Bryce Harrington +Date: Tue Mar 19 12:12:45 2013 -0700 + + xfree86: Fix race condition failure opening drm. + + If other processes have had drm open previously, xserver may attempt to + open the device too early and fail, with xserver error exit "Cannot + run in framebuffer mode" or Xorg.0.log messages about "setversion 1.4 + failed". + + In this situation, we're receiving back -EACCES from libdrm. To address + this we need to re-set ourselves as the drm master, and keep trying to + set the interface until it works (or until we give up). + + See https://bugs.launchpad.net/ubuntu/+source/libdrm/+bug/982889 + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + Signed-off-by: Keith Packard + +commit c31eac647a9ecf0fb20dc98266cadf0ba923ba14 +Author: Bryce Harrington +Date: Tue Mar 19 12:12:44 2013 -0700 + + xfree86: Keep trying to set interface on drm for 2 seconds. + + And if we've had to delay booting due to not being able to set the + interface, fess up. + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + Signed-off-by: Keith Packard + +commit d1cc210de8c13f2db9f6f284ecc652305c28801e +Author: Bryce Harrington +Date: Tue Mar 19 12:12:43 2013 -0700 + + xfree86: Provide more details on failure + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + Signed-off-by: Keith Packard + +commit f059d0dabc553a5f748d86de9115da00be5997d5 +Author: Bryce Harrington +Date: Tue Mar 19 12:12:42 2013 -0700 + + xfree86: Track error code and add label for error handling. + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + Signed-off-by: Keith Packard + +commit 4d7052bd7bbf49b573dc4d34ad14e7f058a0d884 +Author: Bryce Harrington +Date: Tue Mar 19 12:12:41 2013 -0700 + + xfree86: (Cleanup) Close fd if drm interface 1.4 could not be set. + + Signed-off-by: Bryce Harrington + Reviewed-by: Chris Wilson + Signed-off-by: Keith Packard + +commit 8928f8fa0bb154ce437af703ff702016f0dcf127 +Author: Geert Uytterhoeven +Date: Mon Mar 18 21:38:10 2013 +0100 + + kdrive/fbdev: revive randr new screen size logic + + hw/kdrive/fbdev/fbdev.c: In function 'fbdevRandRSetConfig': + hw/kdrive/fbdev/fbdev.c:470:19: warning: variable 'newheight' set but not used [-Wunused-but-set-variable] + hw/kdrive/fbdev/fbdev.c:470:9: warning: variable 'newwidth' set but not used [-Wunused-but-set-variable] + + Signed-off-by: Geert Uytterhoeven + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit 808c87bff710263f5a7b3c12a7e7fec54672fecd +Author: Peter Hutterer +Date: Mon Mar 25 14:51:58 2013 +1000 + + Revert "kdrive: fix "set but not used" warnings" + + Partial revert of commit 4149ee8ec0193acbf3812c7ee2627b93b9a89997, better + fix coming up. + + Signed-off-by: Peter Hutterer + +commit ac4c2abe985ce6816a3389c41eb23462c6ac2486 +Author: vdb@picaros.org +Date: Thu Mar 7 16:07:31 2013 +0100 + + xserver: add monitor Option "ZoomModes" [v2] + + Section "Monitor" + Identifier "a21inch" + Option "PreferredMode" "1600x1200" + Option "ZoomModes" "1600x1200 1280x1024 1280x1024 640x480" + EndSection + + The option's effect is to search for and mark once each named mode in + the output modes list. So the specification order is free and the zoom + modes sequence follows the order of the output modes list. All marked + modes are available via the Ctrl+Alt+Keypad-{Plus,Minus} key + combination. + + See also http://bugs.freedesktop.org/show_bug.cgi?id=17954. + + This option has its use for combined monitor and television setups. + It allows for easy switching between 60 Hz and 50 Hz modes even when a + monitor refuses to display the input signal. + + (Includes a few minor changes suggested by Aaron for v2) + + Signed-off-by: Servaas Vandenberghe + Reviewed-by: Aaron Plattner + Signed-off-by: Keith Packard + +commit 2967391c6d35f03121afa8003e0fb94b62495129 Author: Peter Hutterer Date: Thu Feb 28 10:43:05 2013 +1000 @@ -2117,9 +7633,148 @@ Date: Thu Feb 28 10:43:05 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard - (cherry picked from commit 2967391c6d35f03121afa8003e0fb94b62495129) -commit 8e16c2e3038c1c17cae73d8d9681dccce0fd402a +commit 2fdde2c40d83695438b6f5615f98bd7ae801b43d +Author: Peter Hutterer +Date: Mon Feb 25 15:21:32 2013 +1000 + + dix: update coords for touch events in PlayReleasedEvents + + Note: this is only hit for #ifdef PANORAMIX + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit 697071ab2b7f8910e01ed74618138538291cd1e8 +Author: Peter Hutterer +Date: Thu Feb 28 10:30:15 2013 +1000 + + Xi: compress two if statements with the same body + + We do the same thing here, compress them into one body. + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit 11bead1fa205a1353e6a33c6024c7e8ace80be7c +Author: Peter Hutterer +Date: Mon Feb 25 11:13:52 2013 +1000 + + dix: fix a comment + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit fc504a44d12d537d4e07f659f1863f200a0272ad +Author: Peter Hutterer +Date: Fri Mar 1 08:26:06 2013 +1000 + + Xi: use a temp variable for the new listener + + Instead of accessing ti->listener[0] all the time. + + No functional changes. + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit 9978b57b8d94f061d72a67b99a02b0ba16a11429 +Author: Peter Hutterer +Date: Fri Mar 1 08:43:58 2013 +1000 + + Xi: return !Success from DeliverTouchEmulatedEvent if we didn't deliver + + All callers currently ignore the new value, so this patch has no effect. + Inverse call graph: + + DeliverTouchEmulatedEvent + DeliverEmulatedMotionEvent Ignores value + DeliverTouchBeginEvent + DeliverTouchEvent + DeliverTouchEvents Ignores value + DeliverTouchEndEvent + DeliverTouchEvent + DeliverTouchEvents Ignores value + + Signed-off-by: Peter Hutterer + Reviewed-by: Keith Packard + +commit cc3d1a5a6120e721a46c67446ba68f5596055633 +Author: Piotr Dziwinski +Date: Sat Feb 23 13:14:45 2013 +0100 + + glx: fix uninitialized var in __glXDRIscreenProbe + + Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=59825 + + Signed-off-by: Piotr Dziwinski + Reviewed-by: Keith Packard + Signed-off-by: Keith Packard + +commit c2ede8f92f0d6f15b1b2a04889cb54cd1728780b +Merge: 190b032 7050aae +Author: Keith Packard +Date: Mon Mar 18 11:26:24 2013 -0700 + + Merge remote-tracking branch 'whot/for-keith' + +commit 190b0321510b99d4738915f540cea5c0c51e07e2 +Author: Zack Rusin +Date: Thu Feb 14 15:06:57 2013 -0800 + + GLX/DRI2: Do not expose INTEL_swap_event without swap control + + Swap events depent on the implementation of ScheduleSwap. By + unconditionally enabling GLX_INTEL_swap_event we're breaking + the system with drivers that don't support it because the apps + are forever stuck waiting for an event that will never be + delivered. So lets enable the extension only if the hooks it + depends on are actually there. + + Signed-off-by: Zack Rusin + Reviewed-by: Ian Romanick + Signed-off-by: Keith Packard + +commit 116f020102fd6c2a603069a639b113dfa31b48b7 +Merge: cf89aa5 0f537da +Author: Keith Packard +Date: Mon Mar 18 11:18:58 2013 -0700 + + Merge remote-tracking branch 'whot/next' + +commit cf89aa53748b964f9d9eceaa12a7d6f1a076d1ee +Author: Tomasz Lis +Date: Mon Mar 11 10:21:28 2013 +0100 + + Full support of sRGB capable fbconfigs. + + Changes to correctly initialize the sRGB capability attribute and + transfer it between XServer and the client. Modifications include + extension string, transferring visual config attribs and fbconfig + attribs. Also, attribute is initialized in the modules which do not + really use it (xquartz and xwin). + This version advertises both ARB and EXT strings, and initializes + the capability to default value of FALSE. It has corrected required + GLX version and does not influence swrast. The sRGB capable attribute + is attached only to those configs which do have this capability. + Both ARB and EXT versions share the same GLX extension enabling bit. + + Signed-off-by: Tomasz Lis + Reviewed-by: Ian Romanick + Signed-off-by: Keith Packard + +commit 679ccecd8bc6d797e99f3b707f8041b727ca7a49 +Author: Keith Packard +Date: Mon Mar 18 10:01:20 2013 -0700 + + Bump release to 1.14.99.0 + + Get us off the release number so that we don't conflict with the + stable branch. + + Signed-off-by: Keith Packard + +commit 7050aae69c2a55dfdbb5c6af7882307e90ba4275 Author: Robert Morell Date: Tue Mar 12 09:40:16 2013 -0700 @@ -2131,9 +7786,8 @@ Date: Tue Mar 12 09:40:16 2013 -0700 Reviewed-by: Jamey Sharp Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer - (cherry picked from commit 7050aae69c2a55dfdbb5c6af7882307e90ba4275) -commit 44def3caf002f9fc53b971014e4e2d62afe39435 +commit 31595b528645a7e4903eb81da0fc332d78407f25 Author: Robert Morell Date: Tue Mar 12 09:37:43 2013 -0700 @@ -2144,9 +7798,8 @@ Date: Tue Mar 12 09:37:43 2013 -0700 Signed-off-by: Robert Morell Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer - (cherry picked from commit 31595b528645a7e4903eb81da0fc332d78407f25) -commit 27a49db31a146b8e2f1133c23262ecadc5ff4157 +commit 3ac2e61705432951f9e1b96b42b4214e7f748f94 Author: Peter Hutterer Date: Sat Mar 9 17:12:53 2013 +1000 @@ -2164,7 +7817,20 @@ Date: Sat Mar 9 17:12:53 2013 +1000 Signed-off-by: Peter Hutterer Tested-by: Daniel Martin - (cherry picked from commit 3ac2e61705432951f9e1b96b42b4214e7f748f94) + +commit 5047810a4c20fab444b8c6eb146c55dcdb0d4219 +Author: Aaron Plattner +Date: Wed Mar 6 09:40:28 2013 -0800 + + fb: Rename wfbDestroyGlyphCache + + Renaming this function was missed in commit + 9cbcb5bd6a5360a128d15b77a02d8d3351f74366, so both libfb.so and libwfb.so define + functions named fbDestroyGlyphCache. + + Signed-off-by: Aaron Plattner + Reviewed-by: Søren Sandmann + Signed-off-by: Keith Packard commit 103b77c59e3638a45179bf6d7908f5c738d2d872 Author: Keith Packard @@ -2174,6 +7840,136 @@ Date: Tue Mar 5 22:31:17 2013 -0800 Signed-off-by: Keith Packard +commit 0f537da72d414ed84e3cd14e3bb7e08565136bd7 +Author: Andreas Wettstein +Date: Sun Mar 3 20:25:44 2013 +0100 + + xkb: Fixes to LatchMods/LatchGroup + + The main problem this patch addresses is that if a latch is put on + multi-level key with a Latch/Lock/Set, it is possible that after all + keys are released, still base modifiers are set, which typically will + make the keyboard unusable. To see how it happens (without the patch), + assume that key AltGr sets Mod5 when pressed by itself, and latches Mod3 + when pressed together with Shift. Now press Shift, then AltGr and + release both keys in reverse order. Mod3 is now latched, and the + LatchMods filter remains active as the second filter. Now press AltGr; + Mod5 base modifier gets set, and the SetMods filter will become active + as the first filter. Release AltGr: First, the SetMods filter will set + clearMods to Mod5, then the LatchMods filter will overwrite clearMods + with Mod3. Result: the Mod5 base modifier will remain set. This + example becomes practically relevant for the revised German standard + layout (DIN 2137-1:2012-06). + + Other changes implement the latch behaviour more accurately according to + the specification. For example, releasing a modifier latching key can + at the same time clear a locked modifier, promote another modifier that + is latched to locked, and latch a third modifier. Overall, what the + code does should be straightforward to compare what the XKB protocol + specification demands, see the table in section 6.3. + + Finally, releasing a key no longer cancels a latch that has not become + pending yet. In my opinion, the specification is not clear; it speaks + of "operating" a key, which the patch effectivly interprets as "press" + rather than "press or release". From my experience, using the latter + interpretation makes latches on higher levels practically unusable. In + the example given above, one would have to release AltGr always before + Shift to get the Mod3-Latch. The practical relevance of latches on + higher levels is once more given by the revised German standard layout. + + Signed-off-by: Andreas Wettstein + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit eadda231091aa6feb68207ee22f6bc3a390d4556 +Author: Peter Hutterer +Date: Fri Feb 15 11:19:09 2013 +1000 + + xephyr: fix "set but not used warnings" + + ephyrvideo.c: In function 'ephyrPutVideo': + ephyrvideo.c:1009:42: warning: variable 'drw_h' set but not used + ephyrvideo.c:1009:31: warning: variable 'drw_w' set but not used + ephyrvideo.c:1009:20: warning: variable 'drw_y' set but not used + ephyrvideo.c:1009:9: warning: variable 'drw_x' set but not used + ephyrvideo.c: In function 'ephyrGetVideo': + ephyrvideo.c:1058:42: warning: variable 'drw_h' set but not used + ephyrvideo.c:1058:31: warning: variable 'drw_w' set but not used + ephyrvideo.c:1058:20: warning: variable 'drw_y' set but not used + ephyrvideo.c:1058:9: warning: variable 'drw_x' set but not used + ephyrvideo.c: In function 'ephyrPutStill': + ephyrvideo.c:1107:42: warning: variable 'drw_h' set but not used + ephyrvideo.c:1107:31: warning: variable 'drw_w' set but not used + ephyrvideo.c:1107:20: warning: variable 'drw_y' set but not used + ephyrvideo.c:1107:9: warning: variable 'drw_x' set but not used + ephyrvideo.c: In function 'ephyrGetStill': + ephyrvideo.c:1156:42: warning: variable 'drw_h' set but not used + ephyrvideo.c:1156:31: warning: variable 'drw_w' set but not used + ephyrvideo.c:1156:20: warning: variable 'drw_y' set but not used + ephyrvideo.c:1156:9: warning: variable 'drw_x' set but not used + + Signed-off-by: Peter Hutterer + Reviewed-by: Robert Morell + +commit 4149ee8ec0193acbf3812c7ee2627b93b9a89997 +Author: Peter Hutterer +Date: Fri Feb 15 11:19:08 2013 +1000 + + kdrive: fix "set but not used" warnings + + kinput.c: In function 'KdEnqueueKeyboardEvent': + kinput.c:1845:16: warning: variable 'ctrl' set but not used + kinput.c:1844:17: warning: variable 'keyc' set but not used + + kinput.c: In function 'KdEnqueuePointerEvent': + kinput.c:1887:12: warning: variable 'ms' set but not used + + kxv.c: In function 'KdXVDisable': + kxv.c:1181:19: warning: variable 'ScreenPriv' set but not used + + mouse.c: In function 'ps2SkipInit': + mouse.c:444:9: warning: variable 'skipping' set but not used + mouse.c: In function 'ps2Init': + mouse.c:473:10: warning: variable 'waiting' set but not used + mouse.c:472:9: warning: variable 'skipping' set but not used + + fbdev.c: In function 'fbdevRandRSetConfig': + fbdev.c:468:19: warning: variable 'newheight' set but not used + fbdev.c:468:9: warning: variable 'newwidth' set but not used + + Signed-off-by: Peter Hutterer + Reviewed-by: Robert Morell + +commit 44fc062f85df7288c17d2d64b73aa4957b91fd6d +Author: Peter Hutterer +Date: Mon Feb 18 14:57:58 2013 +1000 + + os: document pnprintf as sigsafe snprintf + + Signed-off-by: Peter Hutterer + +commit c100211034ab69ce453a1644fb61c6808d7e3eda +Author: Peter Hutterer +Date: Tue Dec 18 14:12:40 2012 +1000 + + dix: only show the cursor if a window defines one (#58398) + + e02f864fdf "Suppress cursor display until the first XDefineCursor() request" + disabled cursor display a priori unless -retro is given. + + On a plain server, caling XFixesHideCursor() and XFixesShowCursor() would + show the default root cursor, despite no client actually defining a cursor. + + Change the logic, disable CursorVisible by default and only enable it from + the window's CWCursor logic. If no window ever defines a cursor, said cursor + stays invisible. + + X.Org Bug 58398 + + Signed-off-by: Peter Hutterer + Tested-by: Bastien Nocera + Reviewed-by: Daniel Martin + commit 6238bd68bd71323f8b4f1808f34dabe2ae447fe3 Author: Aaron Plattner Date: Tue Mar 5 13:04:46 2013 -0800 @@ -2214,6 +8010,19 @@ Date: Sun Mar 3 04:50:55 2013 -0500 Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer +commit bd58ebe4cf3b0ce60f87fb26a3715f774dabd349 +Author: Daniel Martin +Date: Thu Dec 20 13:50:17 2012 +0100 + + ephyr: Fix crash on 24bpp host framebuffer + + Use bytes_per_line and bits_per_pixel from the created XImage to fix + https://bugzilla.redhat.com/show_bug.cgi?id=518960 + + Signed-off-by: Daniel Martin + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + commit 8f4640bdb9d3988148e09a08d2c7e3bab1d538d6 Author: Dave Airlie Date: Wed Jan 9 12:58:28 2013 +1000 @@ -2269,6 +8078,226 @@ Date: Wed Jan 9 12:51:45 2013 +1000 Signed-off-by: Dave Airlie Reviewed-by: Aaron Plattner +commit e21e183059df5975e7086850d1931edb2c1bbd06 +Author: Marcin Slusarz +Date: Thu Feb 21 09:02:44 2013 +1000 + + os: use libunwind to generate backtraces + + Libunwind generates backtraces much more reliably than glibc's "backtrace". + + Before: + 0: /opt/xserver/bin/X (0x400000+0x18ce36) [0x58ce36] + 1: /opt/xserver/bin/X (xorg_backtrace+0x9) [0x58d119] + 2: /opt/xserver/bin/X (0x400000+0x190d69) [0x590d69] + 3: /lib64/libpthread.so.0 (0x7fb904268000+0x10a90) [0x7fb904278a90] + 4: /lib64/libc.so.6 (ioctl+0x7) [0x7fb902fbf987] + 5: /usr/lib64/libdrm.so.2 (drmIoctl+0x28) [0x7fb90405ffa8] + 6: /usr/lib64/libdrm.so.2 (drmCommandWrite+0x1b) [0x7fb90406235b] + 7: /usr/lib64/libdrm_nouveau.so.2 (nouveau_bo_wait+0x89) [0x7fb902009719] + 8: /opt/xserver/lib/xorg/modules/drivers/nouveau_drv.so (0x7fb90220e000+0x76f3) [0x7fb9022156f3] + 9: /opt/xserver/lib/xorg/modules/libexa.so (0x7fb9019c7000+0xbae0) [0x7fb9019d2ae0] + 10: /opt/xserver/bin/X (0x400000+0x17d2b3) [0x57d2b3] + 11: /opt/xserver/bin/X (0x400000+0xc9930) [0x4c9930] + 12: /opt/xserver/bin/X (0x400000+0x3a81a) [0x43a81a] + 13: /opt/xserver/bin/X (0x400000+0x3d6a1) [0x43d6a1] + 14: /opt/xserver/bin/X (0x400000+0x2c2ca) [0x42c2ca] + 15: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7fb902f019b5] + 16: /opt/xserver/bin/X (0x400000+0x2c60d) [0x42c60d] + 17: ?? [0x0] + + After: + 0: /opt/xserver/bin/X (OsSigHandler+0x39) [0x590d69] + 1: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x7fb904278a8f] + 2: /lib64/libc.so.6 (ioctl+0x7) [0x7fb902fbf987] + 3: /usr/lib64/libdrm.so.2 (drmIoctl+0x28) [0x7fb90405ffa8] + 4: /usr/lib64/libdrm.so.2 (drmCommandWrite+0x1b) [0x7fb90406235b] + 5: /usr/lib64/libdrm_nouveau.so.2 (nouveau_bo_wait+0x89) [0x7fb902009719] + 6: /opt/xserver/lib/xorg/modules/drivers/nouveau_drv.so (nouveau_exa_download_from_screen+0x1a3) [0x7fb9022156f3] + 7: /opt/xserver/lib/xorg/modules/libexa.so (exaGetImage+0x1f0) [0x7fb9019d2ae0] + 8: /opt/xserver/bin/X (miSpriteGetImage+0x173) [0x57d2b3] + 9: /opt/xserver/bin/X (compGetImage+0xb0) [0x4c9930] + 10: /opt/xserver/bin/X (ProcGetImage+0x55a) [0x43a81a] + 11: /opt/xserver/bin/X (Dispatch+0x341) [0x43d6a1] + 12: /opt/xserver/bin/X (main+0x3ba) [0x42c2ca] + 13: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7fb902f019b5] + 14: /opt/xserver/bin/X (_start+0x29) [0x42c60d] + 15: ? (?+0x29) [0x29] + + Signed-off-by: Marcin Slusarz + Reviewed-by: Peter Hutterer + Tested-by: Knut Petersen + +commit e27b2e61632b220ddc36d0d0387581a9f4774f21 +Author: Peter Harris +Date: Tue Feb 19 16:08:52 2013 -0500 + + xkb: Set nIndicators in XkbGetIndicatorMap + + Xlib doesn't use this value (it computes it from the reply length + instead) which is why nobody has noticed yet. But the spec + http://www.x.org/releases/X11R7.7/doc/kbproto/xkbproto.html + says that it should be set. + + Signed-off-by: Peter Harris + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit 3aac7a59dc6ef2d8bbf46ba5d37acdf6013e9450 +Author: Daniel Martin +Date: Tue Dec 11 17:23:55 2012 +0100 + + ephyr: Add -resizeable option + + With this option passed, ephyr windows can be resized like normal + windows on the fly, without the need of an explicit parent window. + + Signed-off-by: Daniel Martin + Reviewed-by: Peter Hutterer + Signed-off-by: Peter Hutterer + +commit f9198e278becec158b570204cf9fc1de822ac76b +Author: Peter Hutterer +Date: Mon Feb 27 16:43:10 2012 +1000 + + dix: FreeAllAtoms() on reset + + ==5712== 6 bytes in 1 blocks are still reachable in loss record 17 of 585 + ==5712== at 0x4A074CD: malloc (vg_replace_malloc.c:236) + ==5712== by 0x3D1DE885B1: strndup (strndup.c:46) + ==5712== by 0x41CB71: MakeAtom (atom.c:121) + ==5712== by 0x55AE3E: XIGetKnownProperty (xiproperty.c:401) + ==5712== by 0x4251C9: AddInputDevice (devices.c:312) + ==5712== by 0x42AC0C: AllocDevicePair (devices.c:2657) + ==5712== by 0x425E6E: InitCoreDevices (devices.c:677) + ==5712== by 0x5ACA05: main (main.c:257) + + Signed-off-by: Peter Hutterer + Reviewed-by: Chase Douglas + +commit 88517ced1fa2e621be2d05a319b522b3111da516 +Merge: 82425c6 73974dd +Author: Peter Hutterer +Date: Fri Feb 15 11:58:52 2013 +1000 + + Merge branch 'master' of git+ssh://people.freedesktop.org/~alanc/xserver into next + +commit 82425c66e7a8c436b5be7ad44880dd4be6c1f06a +Author: Peter Hutterer +Date: Thu Feb 14 10:21:47 2013 +1000 + + xfree86: remove redundant declaration of inputInfo + + xf86Cursor.c:19:18: warning: redundant redeclaration of 'inputInfo' + [-Wredundant-decls] + In file included from xf86Cursor.c:18:0: + ../../../include/inputstr.h:614:57: note: previous declaration of + 'inputInfo' was here + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + Reviewed-by: Mark Kettenis + +commit 6133c417595a9c8fc158b0d68fd4a7a2c58fdc47 +Author: Peter Hutterer +Date: Thu Feb 14 10:15:33 2013 +1000 + + xkb: remove unused variable 'names' + + xkb.c: In function '_XkbSetNamesCheck': + xkb.c:3987:18: warning: variable 'names' set but not used + [-Wunused-but-set-variable] + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + Reviewed-by: Mark Kettenis + +commit 63d00c6b146d7f5fb80f20f19066088059042a5e +Author: Peter Hutterer +Date: Thu Feb 14 10:13:53 2013 +1000 + + Xext: rename two shadowing variables + + panoramiX.c: In function 'PanoramiXCreateConnectionBlock': + panoramiX.c:599:10: warning: declaration of 'disableBackingStore' shadows a + global declaration [-Wshadow] + In file included from ../include/windowstr.h:60:0, + from panoramiX.c:47: + ../include/opaque.h:56:52: warning: shadowed declaration is here [-Wshadow] + + panoramiX.c: In function 'PanoramiXConsolidate': + panoramiX.c:834:19: warning: declaration of 'pScreen' shadows a previous + local [-Wshadow] + panoramiX.c:813:15: warning: shadowed declaration is here [-Wshadow] + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + Reviewed-by: Mark Kettenis + +commit 8bbea9f48f43e54c55c8b60ea36bda3134a86af2 +Author: Peter Hutterer +Date: Thu Feb 14 10:09:53 2013 +1000 + + Xext: renaming shadowing variable + + xvdisp.c: In function 'ProcXvStopVideo': + xvdisp.c:712:11: warning: declaration of 'rc' shadows a previous local + [-Wshadow] + xvdisp.c:705:17: warning: shadowed declaration is here [-Wshadow] + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + Reviewed-by: Mark Kettenis + +commit 7b79a2e4a11b5c5f0ebaa495828725e235d2b08e +Author: Peter Hutterer +Date: Thu Feb 14 10:06:55 2013 +1000 + + fb: drop two unneeded shadowing variables + + fbpict.c: In function 'fbGlyphs': + fbpict.c:188:6: warning: declaration of 'x' shadows a previous local + [-Wshadow] + fbpict.c:111:9: warning: shadowed declaration is here [-Wshadow] + fbpict.c:188:9: warning: declaration of 'y' shadows a previous local + [-Wshadow] + fbpict.c:111:12: warning: shadowed declaration is here [-Wshadow] + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + Reviewed-by: Soren Sandmann + Reviewed-by: Mark Kettenis + +commit 858d8b19b3a5bb59e5c5f9a9e68adce2495b5e31 +Author: Peter Hutterer +Date: Thu Feb 14 10:04:06 2013 +1000 + + xfree86: drop unused prevSIGIO + + Unused as of 5d309af2ed93e91c7d72f548a11052051efbb40f + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + Reviewed-by: Mark Kettenis + +commit 592d35aef0a8089a344543cf5a425e0537c0431b +Author: Peter Hutterer +Date: Thu Feb 14 10:02:02 2013 +1000 + + randr: fix "set but unused" warnings + + rrcrtc.c: In function 'RRCrtcDetachScanoutPixmap': + rrcrtc.c:366:9: warning: variable 'ret' set but not used + [-Wunused-but-set-variable] + rrcrtc.c: In function 'rrCheckPixmapBounding': + rrcrtc.c:505:13: warning: variable 'ret' set but not used + [-Wunused-but-set-variable] + rrcrtc.c:445:9: warning: unused variable 'i' [-Wunused-variable] + + Signed-off-by: Peter Hutterer + Reviewed-by: Alan Coopersmith + Reviewed-by: Mark Kettenis + commit 90642948cc78834d95f7a3bddaac7ff77b68ed7e Merge: 9a35d42 eda7dbf Author: Keith Packard @@ -2719,6 +8748,173 @@ Date: Sat Jan 26 14:13:33 2013 +1000 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard +commit 73974dd7ea9ca4d4cdd5464cb813088a6ee9770b +Author: Alan Coopersmith +Date: Sun Jan 27 15:42:02 2013 -0800 + + Avoid memory leak in ddc resort() if find_header() fails + + Call find_header first, returning on failure before calling malloc. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit b1129a1f1771c9d1653cc15aae94a614f081638a +Author: Alan Coopersmith +Date: Sun Jan 27 14:00:54 2013 -0800 + + xf86XvMCScreenInit: Avoid leak if dixRegisterPrivateKey fails + + Found by parfait 1.1 memory analyser: + Memory leak of pointer 'pAdapt' allocated with malloc((88 * num_adaptors)) + at line 162 of hw/xfree86/common/xf86xvmc.c in function 'xf86XvMCScreenInit'. + 'pAdapt' allocated at line 158 with malloc((88 * num_adaptors)). + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit 563db909bcf965b6103c1807bf9f00ede957077d +Author: Alan Coopersmith +Date: Sun Jan 27 13:55:50 2013 -0800 + + Avoid memory leak on realloc failure in localRegisterFreeBoxCallback + + Also avoids leaving invalid pointers in structures if realloc had to + move them elsewhere to make them larger. + + Found by parfait 1.1 code analyzer: + Memory leak of pointer 'newCallbacks' allocated with realloc(((char*)offman->FreeBoxesUpdateCallback), (8 * (offman->NumCallbacks + 1))) + at line 328 of hw/xfree86/common/xf86fbman.c in function 'localRegisterFreeBoxCallback'. + 'newCallbacks' allocated at line 320 with realloc(((char*)offman->FreeBoxesUpdateCallback), (8 * (offman->NumCallbacks + 1))). + newCallbacks leaks when newCallbacks != NULL at line 327. + Memory leak of pointer 'newPrivates' allocated with realloc(((char*)offman->devPrivates), (8 * (offman->NumCallbacks + 1))) + at line 328 of hw/xfree86/common/xf86fbman.c in function 'localRegisterFreeBoxCallback'. + 'newPrivates' allocated at line 324 with realloc(((char*)offman->devPrivates), (8 * (offman->NumCallbacks + 1))). + newPrivates leaks when newCallbacks == NULL at line 327. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit 08f75d3a9661c6c32800e1b4f150626200b889d9 +Author: Alan Coopersmith +Date: Sun Jan 27 13:50:30 2013 -0800 + + Avoid NULL pointer dereference in xf86TokenToOptinfo if token not found + + Reported by parfait 1.1 code analyzer: + + Error: Null pointer dereference (CWE 476) + Read from null pointer 'p' + at line 746 of hw/xfree86/common/xf86Option.c in function 'xf86TokenToOptName'. + Function 'xf86TokenToOptinfo' may return constant 'NULL' at line 721, called at line 745. + Null pointer introduced at line 721 in function 'xf86TokenToOptinfo'. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit c1c01e350834a23161b33bd34b2fa9c01d02a65b +Author: Alan Coopersmith +Date: Sun Jan 27 13:10:08 2013 -0800 + + Make xf86ValidateModes actually copy clock range list to screen pointer + + Our in-house parfait 1.1 code analysis tool complained that every exit + path from xf86ValidateModes() in hw/xfree86/common/xf86Mode.c leaks the + storeClockRanges allocation made at line 1501 with XNFalloc. + + Investigating, it seems that this code to copy the clock range list to + the clockRanges list in the screen pointer is just plain insane, and + according to git, has been since we first imported it from XFree86. + + We start at line 1495 by walking the linked list from scrp->clockRanges + until we find the end. But that was just a diversion, since we've found + the end and immediately forgotten it, and thus at 1499 we know that + storeClockRanges is NULL, but that's not a problem since we're going to + immediately overwrite that value as the first thing in the loop. + + So we move on through this loop at 1499, which takes us through the + linked list from the clockRanges variable, and for every entry in + that list allocates a new structure and copies cp to it. If we've + not filled in the screen's clockRanges pointer yet, we set it to + the first storeClockRanges we copied from cp. Otherwise, as best + I can tell, we just drop it into memory and let it leak away, as + parfait warned. + + And then we hit the loop action, which if we haven't hit the end of + the cp list, advances cp to the next item in the list, and then just + for the fun of it, also sets storeClockRanges to the ->next pointer it + has just copied from cp as well, even though it's going to overwrite + it as the very first instruction in the loop body. + + v2: rewritten using nt_list_* macros from Xorg's list.h header + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit 89badba082c81d20fe35cb064c16e131ff288ca3 +Author: Alan Coopersmith +Date: Sun Jan 27 12:08:47 2013 -0800 + + Free keymap on error in Xephyr's hostx_load_keymap + + Found by parfait 1.1 code analyser: + Memory leak of pointer 'keymap' allocated with XGetKeyboardMapping(HostX.dpy, min_keycode, ((max_keycode - min_keycode) + 1), &host_width) + at line 861 of hw/kdrive/ephyr/hostx.c in function 'hostx_load_keymap'. + 'keymap' allocated at line 845 with XGetKeyboardMapping(HostX.dpy, min_keycode, ((max_keycode - min_keycode) + 1), &host_width). + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit 48b94651205b175760904e448f94111d1ab85e13 +Author: Alan Coopersmith +Date: Sun Jan 27 11:20:45 2013 -0800 + + Stop leaking overlayWin in PanoramiXCompositeGetOverlayWindow error paths + + Found by parfait 1.1 code analyzer: + + Error: Memory leak (CWE 401) + Memory leak of pointer 'overlayWin' allocated with malloc(72) + at line 806 of composite/compext.c in function 'PanoramiXCompositeGetOverlayWindow'. + pointer allocated at line 794 with malloc(72). + leaks when rc != 0 at line 804. + at line 816 of composite/compext.c in function 'PanoramiXCompositeGetOverlayWindow'. + pointer allocated at line 794 with malloc(72). + leaks when pOc == NULL at line 815. + at line 825 of composite/compext.c in function 'PanoramiXCompositeGetOverlayWindow'. + pointer allocated at line 794 with malloc(72). + leaks when cs->pOverlayWin == NULL at line 822 + and compCreateOverlayWindow(pScreen) == 0 at line 823. + at line 834 of composite/compext.c in function 'PanoramiXCompositeGetOverlayWindow'. + pointer allocated at line 794 with malloc(72). + leaks when rc != 0 at line 832. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + +commit f4a9332ad149ed15353a9c482563bdd042d0b403 +Author: Alan Coopersmith +Date: Sun Jan 27 10:06:42 2013 -0800 + + Handle failure to create counter in init_system_idle_counter + + Check for NULL pointer (which can be returned for multiple reasons) + before trying to dereference it to add privates. To avoid memory leak + in error path, delay malloc of privates until we're ready to add them. + + In case we do return NULL up through SyncInitDeviceIdleTime, handle the + possibility of getting NULL passed back down to SyncRemoveDeviceIdleTime. + + As reported by parfait 1.1: + Error: Null pointer dereference (CWE 476) + Read from null pointer 'idle_time_counter' + at line 2764 of xserver/Xext/sync.c in function 'init_system_idle_counter'. + Function 'SyncCreateSystemCounter' may return constant 'NULL' at line 952, called at line 2756. + Null pointer introduced at line 952 in function 'SyncCreateSystemCounter'. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Peter Hutterer + commit 7fe5e6dfa5c1e71d8b7540b28c1d508687a2fbee Author: Jasper St. Pierre Date: Wed Jan 23 13:11:55 2013 -0500 diff --git a/xserver/Makefile.am b/xserver/Makefile.am index 9a628537d..5bf760b2e 100644 --- a/xserver/Makefile.am +++ b/xserver/Makefile.am @@ -17,6 +17,14 @@ if RECORD RECORD_DIR=record endif +if DRI3 +DRI3_DIR=dri3 +endif + +if PRESENT +PRESENT_DIR=present +endif + SUBDIRS = \ doc \ man \ @@ -27,6 +35,7 @@ SUBDIRS = \ Xext \ miext \ os \ + pseudoramiX \ randr \ render \ Xi \ @@ -37,6 +46,8 @@ SUBDIRS = \ damageext \ $(COMPOSITE_DIR) \ $(GLX_DIR) \ + $(PRESENT_DIR) \ + $(DRI3_DIR) \ exa \ config \ hw \ @@ -77,6 +88,7 @@ DIST_SUBDIRS = \ Xext \ miext \ os \ + pseudoramiX \ randr \ render \ Xi \ @@ -89,6 +101,8 @@ DIST_SUBDIRS = \ glx \ exa \ config \ + dri3 \ + present \ hw \ test diff --git a/xserver/Makefile.in b/xserver/Makefile.in index a8ff8cd0f..be8bca09c 100644 --- a/xserver/Makefile.in +++ b/xserver/Makefile.in @@ -237,9 +237,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -271,6 +274,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -300,6 +304,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -343,6 +349,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -356,12 +363,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -427,6 +434,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -511,6 +520,8 @@ ACLOCAL_AMFLAGS = -I m4 @GLX_TRUE@GLX_DIR = glx @DBE_TRUE@DBE_DIR = dbe @RECORD_TRUE@RECORD_DIR = record +@DRI3_TRUE@DRI3_DIR = dri3 +@PRESENT_TRUE@PRESENT_DIR = present SUBDIRS = \ doc \ man \ @@ -521,6 +532,7 @@ SUBDIRS = \ Xext \ miext \ os \ + pseudoramiX \ randr \ render \ Xi \ @@ -531,6 +543,8 @@ SUBDIRS = \ damageext \ $(COMPOSITE_DIR) \ $(GLX_DIR) \ + $(PRESENT_DIR) \ + $(DRI3_DIR) \ exa \ config \ hw \ @@ -556,6 +570,7 @@ DIST_SUBDIRS = \ Xext \ miext \ os \ + pseudoramiX \ randr \ render \ Xi \ @@ -568,6 +583,8 @@ DIST_SUBDIRS = \ glx \ exa \ config \ + dri3 \ + present \ hw \ test diff --git a/xserver/Xext/Makefile.in b/xserver/Xext/Makefile.in index 375642eeb..1184846cd 100644 --- a/xserver/Xext/Makefile.in +++ b/xserver/Xext/Makefile.in @@ -259,9 +259,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -293,6 +296,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -322,6 +326,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -365,6 +371,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -378,12 +385,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -449,6 +456,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/Xext/panoramiX.c b/xserver/Xext/panoramiX.c index be475f7f4..ce0d072da 100644 --- a/xserver/Xext/panoramiX.c +++ b/xserver/Xext/panoramiX.c @@ -53,9 +53,8 @@ Equipment Corporation. #include "servermd.h" #include "resource.h" #include "picturestr.h" -#ifdef XFIXES #include "xfixesint.h" -#endif +#include "damageextint.h" #ifdef COMPOSITE #include "compint.h" #endif @@ -75,7 +74,7 @@ int PanoramiXPixWidth = 0; int PanoramiXPixHeight = 0; int PanoramiXNumScreens = 0; -static RegionRec PanoramiXScreenRegion = { {0, 0, 0, 0}, NULL }; +_X_EXPORT RegionRec PanoramiXScreenRegion = { {0, 0, 0, 0}, NULL }; static int PanoramiXNumDepths; static DepthPtr PanoramiXDepths; @@ -583,9 +582,8 @@ PanoramiXExtensionInit(void) ProcVector[X_StoreNamedColor] = PanoramiXStoreNamedColor; PanoramiXRenderInit(); -#ifdef XFIXES PanoramiXFixesInit(); -#endif + PanoramiXDamageInit(); #ifdef COMPOSITE PanoramiXCompositeInit(); #endif @@ -596,7 +594,7 @@ Bool PanoramiXCreateConnectionBlock(void) { int i, j, length; - Bool disableBackingStore = FALSE; + Bool disable_backing_store = FALSE; int old_width, old_height; float width_mult, height_mult; xWindowRoot *root; @@ -622,10 +620,10 @@ PanoramiXCreateConnectionBlock(void) } if (pScreen->backingStoreSupport != screenInfo.screens[0]->backingStoreSupport) - disableBackingStore = TRUE; + disable_backing_store = TRUE; } - if (disableBackingStore) { + if (disable_backing_store) { for (i = 0; i < screenInfo.numScreens; i++) { pScreen = screenInfo.screens[i]; pScreen->backingStoreSupport = NotUseful; @@ -831,15 +829,15 @@ PanoramiXConsolidate(void) saver->type = XRT_WINDOW; FOR_NSCREENS(i) { - ScreenPtr pScreen = screenInfo.screens[i]; + ScreenPtr scr = screenInfo.screens[i]; - root->info[i].id = pScreen->root->drawable.id; + root->info[i].id = scr->root->drawable.id; root->u.win.class = InputOutput; root->u.win.root = TRUE; - saver->info[i].id = pScreen->screensaver.wid; + saver->info[i].id = scr->screensaver.wid; saver->u.win.class = InputOutput; saver->u.win.root = TRUE; - defmap->info[i].id = pScreen->defColormap; + defmap->info[i].id = scr->defColormap; } AddResource(root->info[0].id, XRT_WINDOW, root); @@ -890,9 +888,8 @@ PanoramiXResetProc(ExtensionEntry * extEntry) int i; PanoramiXRenderReset(); -#ifdef XFIXES PanoramiXFixesReset(); -#endif + PanoramiXDamageReset(); #ifdef COMPOSITE PanoramiXCompositeReset (); #endif diff --git a/xserver/Xext/panoramiXsrv.h b/xserver/Xext/panoramiXsrv.h index 7c605fe66..0fcde4fd5 100644 --- a/xserver/Xext/panoramiXsrv.h +++ b/xserver/Xext/panoramiXsrv.h @@ -11,6 +11,7 @@ extern _X_EXPORT int PanoramiXNumScreens; extern _X_EXPORT int PanoramiXPixWidth; extern _X_EXPORT int PanoramiXPixHeight; +extern _X_EXPORT RegionRec PanoramiXScreenRegion; extern _X_EXPORT VisualID PanoramiXTranslateVisualID(int screen, VisualID orig); extern _X_EXPORT void PanoramiXConsolidate(void); diff --git a/xserver/Xext/security.c b/xserver/Xext/security.c index 6cc9aa044..7bf6cc4b0 100644 --- a/xserver/Xext/security.c +++ b/xserver/Xext/security.c @@ -57,8 +57,9 @@ static DevPrivateKeyRec stateKeyRec; /* This is what we store as client security state */ typedef struct { - int haveState; - unsigned int trustLevel; + unsigned int haveState :1; + unsigned int live :1; + unsigned int trustLevel :2; XID authId; } SecurityStateRec; @@ -141,6 +142,7 @@ SecurityLabelInitial(void) state = dixLookupPrivate(&serverClient->devPrivates, stateKey); state->trustLevel = XSecurityClientTrusted; state->haveState = TRUE; + state->live = FALSE; } /* @@ -953,6 +955,7 @@ SecurityClientState(CallbackListPtr *pcbl, pointer unused, pointer calldata) state->trustLevel = XSecurityClientTrusted; state->authId = None; state->haveState = TRUE; + state->live = FALSE; break; case ClientStateRunning: @@ -963,6 +966,7 @@ SecurityClientState(CallbackListPtr *pcbl, pointer unused, pointer calldata) if (rc == Success) { /* it is a generated authorization */ pAuth->refcnt++; + state->live = TRUE; if (pAuth->refcnt == 1 && pAuth->timer) TimerCancel(pAuth->timer); @@ -975,9 +979,10 @@ SecurityClientState(CallbackListPtr *pcbl, pointer unused, pointer calldata) rc = dixLookupResourceByType((pointer *) &pAuth, state->authId, SecurityAuthorizationResType, serverClient, DixGetAttrAccess); - if (rc == Success) { + if (rc == Success && state->live) { /* it is a generated authorization */ pAuth->refcnt--; + state->live = FALSE; if (pAuth->refcnt == 0) SecurityStartAuthorizationTimer(pAuth); } diff --git a/xserver/Xext/shm.c b/xserver/Xext/shm.c index 55960907b..1957a9525 100644 --- a/xserver/Xext/shm.c +++ b/xserver/Xext/shm.c @@ -37,6 +37,7 @@ in this Software without prior written authorization from The Open Group. #include #include #include +#include #include #include #include "misc.h" @@ -53,7 +54,9 @@ in this Software without prior written authorization from The Open Group. #include "xace.h" #include #include +#include #include "protocol-versions.h" +#include "busfault.h" /* Needed for Solaris cross-zone shared memory extension */ #ifdef HAVE_SHMCTL64 @@ -89,15 +92,6 @@ in this Software without prior written authorization from The Open Group. #include "extinit.h" -typedef struct _ShmDesc { - struct _ShmDesc *next; - int shmid; - int refcnt; - char *addr; - Bool writable; - unsigned long size; -} ShmDescRec, *ShmDescPtr; - typedef struct _ShmScrPrivateRec { CloseScreenProcPtr CloseScreen; ShmFuncsPtr shmFuncs; @@ -391,8 +385,10 @@ ProcShmAttach(ClientPtr client) client->errorValue = stuff->readOnly; return BadValue; } - for (shmdesc = Shmsegs; - shmdesc && (shmdesc->shmid != stuff->shmid); shmdesc = shmdesc->next); + for (shmdesc = Shmsegs; shmdesc; shmdesc = shmdesc->next) { + if (!SHMDESC_IS_FD(shmdesc) && shmdesc->shmid == stuff->shmid) + break; + } if (shmdesc) { if (!stuff->readOnly && !shmdesc->writable) return BadAccess; @@ -402,6 +398,9 @@ ProcShmAttach(ClientPtr client) shmdesc = malloc(sizeof(ShmDescRec)); if (!shmdesc) return BadAlloc; +#ifdef SHM_FD_PASSING + shmdesc->is_fd = FALSE; +#endif shmdesc->addr = shmat(stuff->shmid, 0, stuff->readOnly ? SHM_RDONLY : 0); if ((shmdesc->addr == ((char *) -1)) || SHMSTAT(stuff->shmid, &buf)) { @@ -440,7 +439,14 @@ ShmDetachSegment(pointer value, /* must conform to DeleteType */ if (--shmdesc->refcnt) return TRUE; - shmdt(shmdesc->addr); +#if SHM_FD_PASSING + if (shmdesc->is_fd) { + if (shmdesc->busfault) + busfault_unregister(shmdesc->busfault); + munmap(shmdesc->addr, shmdesc->size); + } else +#endif + shmdt(shmdesc->addr); for (prev = &Shmsegs; *prev != shmdesc; prev = &(*prev)->next); *prev = shmdesc->next; free(shmdesc); @@ -1096,6 +1102,182 @@ ProcShmCreatePixmap(ClientPtr client) return BadAlloc; } +#ifdef SHM_FD_PASSING + +static void +ShmBusfaultNotify(void *context) +{ + ShmDescPtr shmdesc = context; + + ErrorF("shared memory 0x%x truncated by client\n", + (unsigned int) shmdesc->resource); + busfault_unregister(shmdesc->busfault); + shmdesc->busfault = NULL; + FreeResource (shmdesc->resource, RT_NONE); +} + +static int +ProcShmAttachFd(ClientPtr client) +{ + int fd; + ShmDescPtr shmdesc; + REQUEST(xShmAttachFdReq); + struct stat statb; + + SetReqFds(client, 1); + REQUEST_SIZE_MATCH(xShmAttachFdReq); + LEGAL_NEW_RESOURCE(stuff->shmseg, client); + if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) { + client->errorValue = stuff->readOnly; + return BadValue; + } + fd = ReadFdFromClient(client); + if (fd < 0) + return BadMatch; + + if (fstat(fd, &statb) < 0 || statb.st_size == 0) { + close(fd); + return BadMatch; + } + + shmdesc = malloc(sizeof(ShmDescRec)); + if (!shmdesc) { + close(fd); + return BadAlloc; + } + shmdesc->is_fd = TRUE; + shmdesc->addr = mmap(NULL, statb.st_size, + stuff->readOnly ? PROT_READ : PROT_READ|PROT_WRITE, + MAP_SHARED, + fd, 0); + + close(fd); + if ((shmdesc->addr == ((char *) -1))) { + free(shmdesc); + return BadAccess; + } + + shmdesc->refcnt = 1; + shmdesc->writable = !stuff->readOnly; + shmdesc->size = statb.st_size; + shmdesc->resource = stuff->shmseg; + + shmdesc->busfault = busfault_register_mmap(shmdesc->addr, shmdesc->size, ShmBusfaultNotify, shmdesc); + if (!shmdesc->busfault) { + munmap(shmdesc->addr, shmdesc->size); + free(shmdesc); + return BadAlloc; + } + + shmdesc->next = Shmsegs; + Shmsegs = shmdesc; + + if (!AddResource(stuff->shmseg, ShmSegType, (pointer) shmdesc)) + return BadAlloc; + return Success; +} + +static int +shm_tmpfile(void) +{ +#ifdef SHMDIR + int fd; + int flags; + char template[] = SHMDIR "/shmfd-XXXXXX"; +#ifdef O_TMPFILE + fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); + if (fd >= 0) { + ErrorF ("Using O_TMPFILE\n"); + return fd; + } + ErrorF ("Not using O_TMPFILE\n"); +#endif + fd = mkstemp(template); + if (fd < 0) + return -1; + unlink(template); + if (fcntl(fd, F_GETFD, &flags) >= 0) { + flags |= FD_CLOEXEC; + (void) fcntl(fd, F_SETFD, &flags); + } + return fd; +#else + return -1; +#endif +} + +static int +ProcShmCreateSegment(ClientPtr client) +{ + int fd; + ShmDescPtr shmdesc; + REQUEST(xShmCreateSegmentReq); + xShmCreateSegmentReply rep = { + .type = X_Reply, + .nfd = 1, + .sequenceNumber = client->sequence, + .length = 0, + }; + + REQUEST_SIZE_MATCH(xShmCreateSegmentReq); + if ((stuff->readOnly != xTrue) && (stuff->readOnly != xFalse)) { + client->errorValue = stuff->readOnly; + return BadValue; + } + fd = shm_tmpfile(); + if (fd < 0) + return BadAlloc; + if (ftruncate(fd, stuff->size) < 0) { + close(fd); + return BadAlloc; + } + shmdesc = malloc(sizeof(ShmDescRec)); + if (!shmdesc) { + close(fd); + return BadAlloc; + } + shmdesc->is_fd = TRUE; + shmdesc->addr = mmap(NULL, stuff->size, + stuff->readOnly ? PROT_READ : PROT_READ|PROT_WRITE, + MAP_SHARED, + fd, 0); + + if ((shmdesc->addr == ((char *) -1))) { + close(fd); + free(shmdesc); + return BadAccess; + } + + shmdesc->refcnt = 1; + shmdesc->writable = !stuff->readOnly; + shmdesc->size = stuff->size; + + shmdesc->busfault = busfault_register_mmap(shmdesc->addr, shmdesc->size, ShmBusfaultNotify, shmdesc); + if (!shmdesc->busfault) { + close(fd); + munmap(shmdesc->addr, shmdesc->size); + free(shmdesc); + return BadAlloc; + } + + shmdesc->next = Shmsegs; + Shmsegs = shmdesc; + + if (!AddResource(stuff->shmseg, ShmSegType, (pointer) shmdesc)) { + close(fd); + return BadAlloc; + } + + if (WriteFdToClient(client, fd, TRUE) < 0) { + FreeResource(stuff->shmseg, RT_NONE); + close(fd); + return BadAlloc; + } + WriteToClient(client, sizeof (xShmCreateSegmentReply), &rep); + return Success; +} +#endif /* SHM_FD_PASSING */ + static int ProcShmDispatch(ClientPtr client) { @@ -1125,6 +1307,12 @@ ProcShmDispatch(ClientPtr client) return ProcPanoramiXShmCreatePixmap(client); #endif return ProcShmCreatePixmap(client); +#ifdef SHM_FD_PASSING + case X_ShmAttachFd: + return ProcShmAttachFd(client); + case X_ShmCreateSegment: + return ProcShmCreateSegment(client); +#endif default: return BadRequest; } @@ -1225,6 +1413,30 @@ SProcShmCreatePixmap(ClientPtr client) return ProcShmCreatePixmap(client); } +#ifdef SHM_FD_PASSING +static int +SProcShmAttachFd(ClientPtr client) +{ + REQUEST(xShmAttachFdReq); + SetReqFds(client, 1); + swaps(&stuff->length); + REQUEST_SIZE_MATCH(xShmAttachFdReq); + swapl(&stuff->shmseg); + return ProcShmAttachFd(client); +} + +static int +SProcShmCreateSegment(ClientPtr client) +{ + REQUEST(xShmCreateSegmentReq); + swaps(&stuff->length); + REQUEST_SIZE_MATCH(xShmCreateSegmentReq); + swapl(&stuff->shmseg); + swapl(&stuff->size); + return ProcShmCreateSegment(client); +} +#endif /* SHM_FD_PASSING */ + static int SProcShmDispatch(ClientPtr client) { @@ -1242,6 +1454,12 @@ SProcShmDispatch(ClientPtr client) return SProcShmGetImage(client); case X_ShmCreatePixmap: return SProcShmCreatePixmap(client); +#ifdef SHM_FD_PASSING + case X_ShmAttachFd: + return SProcShmAttachFd(client); + case X_ShmCreateSegment: + return SProcShmCreateSegment(client); +#endif default: return BadRequest; } diff --git a/xserver/Xext/shmint.h b/xserver/Xext/shmint.h index fa6941c90..9dadea756 100644 --- a/xserver/Xext/shmint.h +++ b/xserver/Xext/shmint.h @@ -56,6 +56,30 @@ typedef struct _ShmFuncs { void (*PutImage) (XSHM_PUT_IMAGE_ARGS); } ShmFuncs, *ShmFuncsPtr; +#if XTRANS_SEND_FDS +#define SHM_FD_PASSING 1 +#endif + +typedef struct _ShmDesc { + struct _ShmDesc *next; + int shmid; + int refcnt; + char *addr; + Bool writable; + unsigned long size; +#ifdef SHM_FD_PASSING + Bool is_fd; + struct busfault *busfault; + XID resource; +#endif +} ShmDescRec, *ShmDescPtr; + +#ifdef SHM_FD_PASSING +#define SHMDESC_IS_FD(shmdesc) ((shmdesc)->is_fd) +#else +#define SHMDESC_IS_FD(shmdesc) (0) +#endif + extern _X_EXPORT void ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs); diff --git a/xserver/Xext/sync.c b/xserver/Xext/sync.c index 4ed60fdb6..c33b5b5bb 100644 --- a/xserver/Xext/sync.c +++ b/xserver/Xext/sync.c @@ -141,7 +141,7 @@ SyncCheckWarnIsCounter(const SyncObject * pSync, const char *warning) * interested in the counter. The two functions below are used to * delete and add triggers on this list. */ -static void +void SyncDeleteTriggerFromSyncObject(SyncTrigger * pTrigger) { SyncTriggerList *pCur; @@ -184,7 +184,7 @@ SyncDeleteTriggerFromSyncObject(SyncTrigger * pTrigger) } } -static int +int SyncAddTriggerToSyncObject(SyncTrigger * pTrigger) { SyncTriggerList *pCur; @@ -916,6 +916,42 @@ SyncCreate(ClientPtr client, XID id, unsigned char type) return pSync; } +int +SyncCreateFenceFromFD(ClientPtr client, DrawablePtr pDraw, XID id, int fd, BOOL initially_triggered) +{ +#if HAVE_XSHMFENCE + SyncFence *pFence; + int status; + + pFence = (SyncFence *) SyncCreate(client, id, SYNC_FENCE); + if (!pFence) + return BadAlloc; + + status = miSyncInitFenceFromFD(pDraw, pFence, fd, initially_triggered); + if (status != Success) { + dixFreeObjectWithPrivates(pFence, PRIVATE_SYNC_FENCE); + return status; + } + + if (!AddResource(id, RTFence, (pointer) pFence)) + return BadAlloc; + + return Success; +#else + return BadImplementation; +#endif +} + +int +SyncFDFromFence(ClientPtr client, DrawablePtr pDraw, SyncFence *pFence) +{ +#if HAVE_XSHMFENCE + return miSyncFDFromFence(pDraw, pFence); +#else + return BadImplementation; +#endif +} + static SyncCounter * SyncCreateCounter(ClientPtr client, XSyncCounter id, CARD64 initialvalue) { @@ -2794,7 +2830,6 @@ init_system_idle_counter(const char *name, int deviceid) { CARD64 resolution; XSyncValue idle; - IdleCounterPriv *priv = malloc(sizeof(IdleCounterPriv)); SyncCounter *idle_time_counter; IdleTimeQueryValue(NULL, &idle); @@ -2805,10 +2840,14 @@ init_system_idle_counter(const char *name, int deviceid) IdleTimeQueryValue, IdleTimeBracketValues); - priv->deviceid = deviceid; - priv->value_less = priv->value_greater = NULL; + if (idle_time_counter != NULL) { + IdleCounterPriv *priv = malloc(sizeof(IdleCounterPriv)); - idle_time_counter->pSysCounterInfo->private = priv; + priv->value_less = priv->value_greater = NULL; + priv->deviceid = deviceid; + + idle_time_counter->pSysCounterInfo->private = priv; + } return idle_time_counter; } @@ -2833,6 +2872,6 @@ void SyncRemoveDeviceIdleTime(SyncCounter *counter) /* FreeAllResources() frees all system counters before the devices are shut down, check if there are any left before freeing the device's counter */ - if (!xorg_list_is_empty(&SysCounterList)) + if (counter && !xorg_list_is_empty(&SysCounterList)) xorg_list_del(&counter->pSysCounterInfo->entry); } diff --git a/xserver/Xext/syncsrv.h b/xserver/Xext/syncsrv.h index c68229f46..45fca04da 100644 --- a/xserver/Xext/syncsrv.h +++ b/xserver/Xext/syncsrv.h @@ -136,4 +136,17 @@ extern void SyncDestroySystemCounter(pointer pCounter); extern SyncCounter *SyncInitDeviceIdleTime(DeviceIntPtr dev); extern void SyncRemoveDeviceIdleTime(SyncCounter *counter); + +int +SyncCreateFenceFromFD(ClientPtr client, DrawablePtr pDraw, XID id, int fd, BOOL initially_triggered); + +int +SyncFDFromFence(ClientPtr client, DrawablePtr pDraw, SyncFence *fence); + +void +SyncDeleteTriggerFromSyncObject(SyncTrigger * pTrigger); + +int +SyncAddTriggerToSyncObject(SyncTrigger * pTrigger); + #endif /* _SYNCSRV_H_ */ diff --git a/xserver/Xext/xvdisp.c b/xserver/Xext/xvdisp.c index 31b77839f..613867a6b 100644 --- a/xserver/Xext/xvdisp.c +++ b/xserver/Xext/xvdisp.c @@ -43,6 +43,7 @@ SOFTWARE. #include "xvdix.h" #ifdef MITSHM #include +#include "shmint.h" #endif #include "xvdisp.h" @@ -702,7 +703,7 @@ ProcXvUngrabPort(ClientPtr client) static int ProcXvStopVideo(ClientPtr client) { - int status, rc; + int status, ret; DrawablePtr pDraw; XvPortPtr pPort; @@ -716,9 +717,9 @@ ProcXvStopVideo(ClientPtr client) return status; } - rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixWriteAccess); - if (rc != Success) - return rc; + ret = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixWriteAccess); + if (ret != Success) + return ret; return XvdiStopVideo(client, pPort, pDraw); } @@ -949,18 +950,6 @@ ProcXvPutImage(ClientPtr client) } #ifdef MITSHM -/* redefined here since it's not in any header file */ -typedef struct _ShmDesc { - struct _ShmDesc *next; - int shmid; - int refcnt; - char *addr; - Bool writable; - unsigned long size; -} ShmDescRec, *ShmDescPtr; - -extern RESTYPE ShmSegType; -extern int ShmCompletionCode; static int ProcXvShmPutImage(ClientPtr client) diff --git a/xserver/Xext/xvmain.c b/xserver/Xext/xvmain.c index c2860b86a..0c5dc9bc1 100644 --- a/xserver/Xext/xvmain.c +++ b/xserver/Xext/xvmain.c @@ -156,8 +156,8 @@ XvExtensionInit(void) if (!dixRegisterPrivateKey(&XvScreenKeyRec, PRIVATE_SCREEN, 0)) return; - /* LOOK TO SEE IF ANY SCREENS WERE INITIALIZED; IF NOT THEN - INIT GLOBAL VARIABLES SO THE EXTENSION CAN FUNCTION */ + /* Look to see if any screens were initialized; if not then + init global variables so the extension can function */ if (XvScreenGeneration != serverGeneration) { if (!CreateResourceTypes()) { ErrorF("XvExtensionInit: Unable to allocate resource types\n"); diff --git a/xserver/Xi/Makefile.in b/xserver/Xi/Makefile.in index 55047df3b..fa329b042 100644 --- a/xserver/Xi/Makefile.in +++ b/xserver/Xi/Makefile.in @@ -189,9 +189,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -223,6 +226,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -252,6 +256,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -295,6 +301,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -308,12 +315,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -379,6 +386,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/Xi/chgdctl.c b/xserver/Xi/chgdctl.c index 31d3a57f3..d078aa248 100644 --- a/xserver/Xi/chgdctl.c +++ b/xserver/Xi/chgdctl.c @@ -122,6 +122,12 @@ ProcXChangeDeviceControl(ClientPtr client) if (ret != Success) goto out; + /* XTest devices are special, none of the below apply to them anyway */ + if (IsXTestDevice(dev, NULL)) { + ret = BadMatch; + goto out; + } + rep = (xChangeDeviceControlReply) { .repType = X_Reply, .RepType = X_ChangeDeviceControl, diff --git a/xserver/Xi/exevents.c b/xserver/Xi/exevents.c index 067e6b3e5..ad0265093 100644 --- a/xserver/Xi/exevents.c +++ b/xserver/Xi/exevents.c @@ -1413,7 +1413,8 @@ DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, !(ev->device_event.flags & TOUCH_CLIENT_ID)) TouchListenerAcceptReject(dev, ti, 0, XIAcceptTouch); - if (deliveries && ev->any.type == ET_TouchEnd && + if (ev->any.type == ET_TouchEnd && + ti->num_listeners == 1 && !dev->button->buttonsDown && dev->deviceGrab.fromPassiveGrab && GrabIsPointerGrab(grab)) { (*dev->deviceGrab.DeactivateGrab) (dev); @@ -1476,7 +1477,7 @@ DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, GrabPtr grab; XI2Mask *mask; - if (ti->listeners[0].type != LISTENER_POINTER_REGULAR || + if (ti->listeners[0].type != LISTENER_POINTER_REGULAR && ti->listeners[0].type != LISTENER_POINTER_GRAB) return; @@ -1782,8 +1783,25 @@ ProcessDeviceEvent(InternalEvent *ev, DeviceIntPtr device) DeliverDeviceEvents(GetSpriteWindow(device), (InternalEvent *) event, NullGrab, NullWindow, device); - if (deactivateDeviceGrab == TRUE) + if (deactivateDeviceGrab == TRUE) { (*device->deviceGrab.DeactivateGrab) (device); + + if (!IsMaster (device) && !IsFloating (device)) { + int flags, num_events = 0; + InternalEvent dce; + + flags = (IsPointerDevice (device)) ? + DEVCHANGE_POINTER_EVENT : DEVCHANGE_KEYBOARD_EVENT; + UpdateFromMaster (&dce, device, flags, &num_events); + BUG_WARN(num_events > 1); + + if (num_events == 1) + ChangeMasterDeviceClasses(GetMaster (device, MASTER_ATTACHED), + &dce.changed_event); + } + + } + event->detail.key = key; } @@ -1845,7 +1863,8 @@ DeliverTouchBeginEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, if (rc == Success) { listener->state = LISTENER_IS_OWNER; /* async grabs cannot replay, so automatically accept this touch */ - if (dev->deviceGrab.grab && + if (listener->type == LISTENER_POINTER_GRAB && + dev->deviceGrab.grab && dev->deviceGrab.fromPassiveGrab && dev->deviceGrab.grab->pointerMode == GrabModeAsync) ActivateEarlyAccept(dev, ti); @@ -1914,7 +1933,9 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev, } /* Event in response to reject */ - if (ev->device_event.flags & TOUCH_REJECT) { + if (ev->device_event.flags & TOUCH_REJECT || + (ev->device_event.flags & TOUCH_ACCEPT && !TouchResourceIsOwner(ti, listener->listener))) { + /* Touch has been rejected, or accepted by its owner which is not this listener */ if (listener->state != LISTENER_HAS_END) rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev); listener->state = LISTENER_HAS_END; @@ -1937,12 +1958,6 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev, if (normal_end) listener->state = LISTENER_HAS_END; } - else if (ev->device_event.flags & TOUCH_ACCEPT) { - /* Touch has been accepted by its owner, which is not this listener */ - if (listener->state != LISTENER_HAS_END) - rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev); - listener->state = LISTENER_HAS_END; - } out: return rc; @@ -2034,6 +2049,9 @@ InitProximityClassDeviceStruct(DeviceIntPtr dev) { ProximityClassPtr proxc; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->proximity != NULL, FALSE); + proxc = (ProximityClassPtr) malloc(sizeof(ProximityClassRec)); if (!proxc) return FALSE; @@ -2059,10 +2077,10 @@ InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval, { AxisInfoPtr ax; - if (!dev || !dev->valuator || (minval > maxval && mode == Absolute)) - return FALSE; - if (axnum >= dev->valuator->numAxes) - return FALSE; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->valuator == NULL, FALSE); + BUG_RETURN_VAL(axnum >= dev->valuator->numAxes, FALSE); + BUG_RETURN_VAL(minval > maxval && mode == Absolute, FALSE); ax = dev->valuator->axes + axnum; @@ -2092,8 +2110,9 @@ SetScrollValuator(DeviceIntPtr dev, int axnum, enum ScrollType type, InternalEvent dce; DeviceIntPtr master; - if (!dev || !dev->valuator || axnum >= dev->valuator->numAxes) - return FALSE; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->valuator == NULL, FALSE); + BUG_RETURN_VAL(axnum >= dev->valuator->numAxes, FALSE); switch (type) { case SCROLL_TYPE_VERTICAL: @@ -2164,7 +2183,8 @@ CheckGrabValues(ClientPtr client, GrabParameters *param) return BadValue; } - if (param->grabtype != XI2 && (param->modifiers != AnyModifier) && + if (param->modifiers != AnyModifier && + param->modifiers != XIAnyModifier && (param->modifiers & ~AllModifiersMask)) { client->errorValue = param->modifiers; return BadValue; @@ -2233,8 +2253,7 @@ GrabButton(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr modifier_device, } /** - * Grab the given key. If grabtype is XI, the key is a keycode. If - * grabtype is XI2, the key is a keysym. + * Grab the given key. */ int GrabKey(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr modifier_device, diff --git a/xserver/Xi/extinit.c b/xserver/Xi/extinit.c index 02fffe574..a49a42152 100644 --- a/xserver/Xi/extinit.c +++ b/xserver/Xi/extinit.c @@ -1171,6 +1171,8 @@ IResetProc(ExtensionEntry * unused) free(xi_all_devices.name); free(xi_all_master_devices.name); + + XIBarrierReset(); } /*********************************************************************** diff --git a/xserver/Xi/grabdev.c b/xserver/Xi/grabdev.c index 443ef56c1..9c6c429ed 100644 --- a/xserver/Xi/grabdev.c +++ b/xserver/Xi/grabdev.c @@ -175,10 +175,7 @@ CreateMaskFromList(ClientPtr client, XEventClass * list, int count, int device; DeviceIntPtr tdev; - for (i = 0; i < EMASKSIZE; i++) { - mask[i].mask = 0; - mask[i].dev = NULL; - } + memset(mask, 0, EMASKSIZE * sizeof(struct tmask)); for (i = 0; i < count; i++, list++) { device = *list >> 8; diff --git a/xserver/Xi/setdval.c b/xserver/Xi/setdval.c index 4c9c99f55..463e4f38c 100644 --- a/xserver/Xi/setdval.c +++ b/xserver/Xi/setdval.c @@ -110,6 +110,9 @@ ProcXSetDeviceValuators(ClientPtr client) if (dev->valuator == NULL) return BadMatch; + if (IsXTestDevice(dev, NULL)) + return BadMatch; + if (stuff->first_valuator + stuff->num_valuators > dev->valuator->numAxes) return BadValue; diff --git a/xserver/Xi/setmode.c b/xserver/Xi/setmode.c index 535655257..5ed09136e 100644 --- a/xserver/Xi/setmode.c +++ b/xserver/Xi/setmode.c @@ -104,6 +104,10 @@ ProcXSetDeviceMode(ClientPtr client) return rc; if (dev->valuator == NULL) return BadMatch; + + if (IsXTestDevice(dev, NULL)) + return BadMatch; + if ((dev->deviceGrab.grab) && !SameClient(dev->deviceGrab.grab, client)) rep.status = AlreadyGrabbed; else diff --git a/xserver/Xi/xibarriers.c b/xserver/Xi/xibarriers.c index fccab8615..6732ce9dc 100644 --- a/xserver/Xi/xibarriers.c +++ b/xserver/Xi/xibarriers.c @@ -917,3 +917,15 @@ XIBarrierInit(void) return PointerBarrierType; } + +void +XIBarrierReset(void) +{ + int i; + for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr pScreen = screenInfo.screens[i]; + BarrierScreenPtr cs = GetBarrierScreen(pScreen); + free(cs); + SetBarrierScreen(pScreen, NULL); + } +} diff --git a/xserver/Xi/xibarriers.h b/xserver/Xi/xibarriers.h index 11e84ec9f..f61b48214 100644 --- a/xserver/Xi/xibarriers.h +++ b/xserver/Xi/xibarriers.h @@ -36,8 +36,8 @@ int XIDestroyPointerBarrier(ClientPtr client, xXFixesDestroyPointerBarrierReq * stuff); -Bool -XIBarrierInit(void); +Bool XIBarrierInit(void); +void XIBarrierReset(void); int SProcXIBarrierReleasePointer(ClientPtr client); int ProcXIBarrierReleasePointer(ClientPtr client); diff --git a/xserver/Xi/xichangehierarchy.c b/xserver/Xi/xichangehierarchy.c index e2f4b8a0a..9e36354d1 100644 --- a/xserver/Xi/xichangehierarchy.c +++ b/xserver/Xi/xichangehierarchy.c @@ -143,6 +143,10 @@ add_master(ClientPtr client, xXIAddMasterInfo * c, int flags[MAXDEVICES]) int rc; name = calloc(c->name_len + 1, sizeof(char)); + if (name == NULL) { + rc = BadAlloc; + goto unwind; + } strncpy(name, (char *) &c[1], c->name_len); rc = AllocDevicePair(client, name, &ptr, &keybd, diff --git a/xserver/Xi/xipassivegrab.c b/xserver/Xi/xipassivegrab.c index eccec0ab8..700622d38 100644 --- a/xserver/Xi/xipassivegrab.c +++ b/xserver/Xi/xipassivegrab.c @@ -63,7 +63,7 @@ SProcXIPassiveGrabDevice(ClientPtr client) swaps(&stuff->mask_len); swaps(&stuff->num_modifiers); - mods = (uint32_t *) &stuff[1]; + mods = (uint32_t *) &stuff[1] + stuff->mask_len; for (i = 0; i < stuff->num_modifiers; i++, mods++) { swapl(mods); @@ -189,6 +189,10 @@ ProcXIPassiveGrabDevice(ClientPtr client) uint8_t status = Success; param.modifiers = *modifiers; + ret = CheckGrabValues(client, ¶m); + if (ret != Success) + goto out; + switch (stuff->grab_type) { case XIGrabtypeButton: status = GrabButton(client, dev, mod_dev, stuff->detail, diff --git a/xserver/aclocal.m4 b/xserver/aclocal.m4 index c8aa3c8a9..f0dad92b7 100644 --- a/xserver/aclocal.m4 +++ b/xserver/aclocal.m4 @@ -1657,7 +1657,7 @@ dnl DEALINGS IN THE SOFTWARE. # See the "minimum version" comment for each macro you use to see what # version you require. m4_defun([XORG_MACROS_VERSION],[ -m4_define([vers_have], [1.17.1]) +m4_define([vers_have], [1.19.0]) m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) m4_if(m4_cmp(maj_have, maj_needed), 0,, @@ -1707,6 +1707,7 @@ if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then AC_MSG_RESULT([no]) else if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then + TRADITIONALCPPFLAGS="-traditional" RAWCPPFLAGS="${RAWCPPFLAGS} -traditional" AC_MSG_RESULT([yes]) else @@ -1715,6 +1716,7 @@ else fi rm -f conftest.$ac_ext AC_SUBST(RAWCPPFLAGS) +AC_SUBST(TRADITIONALCPPFLAGS) ]) # XORG_PROG_RAWCPP # XORG_MANPAGE_SECTIONS() @@ -2239,9 +2241,10 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes]) ]) # XORG_WITH_ASCIIDOC # XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT]) -# -------------------------------- +# ------------------------------------------- # Minimum version: 1.5.0 # Minimum version for optional DEFAULT argument: 1.11.0 +# Minimum version for optional DOT checking: 1.18.0 # # Documentation tools are not always available on all platforms and sometimes # not at the appropriate level. This macro enables a module to test for the @@ -2261,6 +2264,7 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes]) # AC_DEFUN([XORG_WITH_DOXYGEN],[ AC_ARG_VAR([DOXYGEN], [Path to doxygen command]) +AC_ARG_VAR([DOT], [Path to the dot graphics utility]) m4_define([_defopt], m4_default([$2], [auto])) AC_ARG_WITH(doxygen, AS_HELP_STRING([--with-doxygen], @@ -2304,6 +2308,20 @@ m4_ifval([$1], AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed]) fi]) fi]) + +dnl Check for DOT if we have doxygen. The caller decides if it is mandatory +dnl HAVE_DOT is a variable that can be used in your doxygen.in config file: +dnl HAVE_DOT = @HAVE_DOT@ +HAVE_DOT=no +if test "x$have_doxygen" = "xyes"; then + AC_PATH_PROG([DOT], [dot]) + if test "x$DOT" != "x"; then + HAVE_DOT=yes + fi +fi + +AC_SUBST([HAVE_DOT]) +AM_CONDITIONAL([HAVE_DOT], [test "$HAVE_DOT" = "yes"]) AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes]) ]) # XORG_WITH_DOXYGEN @@ -2486,6 +2504,29 @@ fi]) AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes]) ]) # XORG_WITH_FOP +# XORG_WITH_M4([MIN-VERSION]) +# --------------------------- +# Minimum version: 1.19.0 +# +# This macro attempts to locate an m4 macro processor which supports +# -I option and is only useful for modules relying on M4 in order to +# expand macros in source code files. +# +# Interface to module: +# M4: returns the path of the m4 program found +# returns the path set by the user in the environment +# +AC_DEFUN([XORG_WITH_M4], [ +AC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4], + [AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4], + [[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \ + ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]], + [AC_MSG_ERROR([could not find m4 that supports -I option])], + [$PATH:/usr/gnu/bin])]) + +AC_SUBST([M4], [$ac_cv_path_M4]) +]) # XORG_WITH_M4 + # XORG_WITH_PS2PDF([DEFAULT]) # ---------------- # Minimum version: 1.6.0 @@ -2940,7 +2981,8 @@ AC_ARG_ENABLE(malloc0returnsnull, AC_MSG_CHECKING([whether malloc(0) returns NULL]) if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then - AC_RUN_IFELSE([AC_LANG_PROGRAM([ +AC_CACHE_VAL([xorg_cv_malloc0_returns_null], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([ #include ],[ char *m0, *r0, *c0, *p; @@ -2950,9 +2992,9 @@ if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then c0 = calloc(0,10); exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1); ])], - [MALLOC_ZERO_RETURNS_NULL=yes], - [MALLOC_ZERO_RETURNS_NULL=no], - [MALLOC_ZERO_RETURNS_NULL=yes]) + [xorg_cv_malloc0_returns_null=yes], + [xorg_cv_malloc0_returns_null=no])]) +MALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null fi AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL]) @@ -3241,7 +3283,7 @@ AC_LANG_CASE( XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast]) - XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition]) + XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition], [-fd]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement]) ] ) @@ -3250,16 +3292,17 @@ AC_LANG_CASE( XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow]) -XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute]) +# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls]) +XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op]) # These are currently disabled because they are noisy. They will be enabled # in the future once the codebase is sufficiently modernized to silence # them. For now, I don't want them to drown out the other warnings. -# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op]) # XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses]) # XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align]) +# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual]) # Turn some warnings into errors, so we don't accidently get successful builds # when there are problems that should be fixed. @@ -3501,12 +3544,12 @@ AC_DEFUN([XTRANS_TCP_FLAGS],[ AC_SEARCH_LIBS(socket, [socket]) AC_SEARCH_LIBS(gethostbyname, [nsl]) if test "$ac_cv_search_socket$ac_cv_search_gethostbyname" = "nono"; then - AC_HAVE_LIBRARY([ws2_32]) + AC_CHECK_LIB([ws2_32],[main]) fi # Needs to come after above checks for libsocket & libnsl for SVR4 systems AC_ARG_ENABLE(ipv6, - AC_HELP_STRING([--enable-ipv6],[Enable IPv6 support]), + AS_HELP_STRING([--enable-ipv6],[Enable IPv6 support]), [IPV6CONN=$enableval], [AC_CHECK_FUNC(getaddrinfo,[IPV6CONN=yes],[IPV6CONN=no])]) AC_MSG_CHECKING([if IPv6 support should be built]) @@ -3529,6 +3572,41 @@ AC_DEFUN([XTRANS_TCP_FLAGS],[ AC_INCLUDES_DEFAULT #include ]) + # XPG4v2/UNIX95 added msg_control - check to see if we need to define + # _XOPEN_SOURCE to get it (such as on Solaris) + AC_CHECK_MEMBER([struct msghdr.msg_control], [], [], + [ +AC_INCLUDES_DEFAULT +#include + ]) + # First try for Solaris in C99 compliant mode, which requires XPG6/UNIX03 + if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then + unset ac_cv_member_struct_msghdr_msg_control + AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=600]) + AC_CHECK_MEMBER([struct msghdr.msg_control], + [AC_DEFINE([_XOPEN_SOURCE], [600], + [Defined if needed to expose struct msghdr.msg_control]) + ], [], [ +#define _XOPEN_SOURCE 600 +AC_INCLUDES_DEFAULT +#include + ]) + fi + # If that didn't work, fall back to XPG5/UNIX98 with C89 + if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then + unset ac_cv_member_struct_msghdr_msg_control + AC_MSG_NOTICE([trying again with _XOPEN_SOURCE=500]) + AC_CHECK_MEMBER([struct msghdr.msg_control], + [AC_DEFINE([_XOPEN_SOURCE], [500], + [Defined if needed to expose struct msghdr.msg_control]) + ], [], [ +#define _XOPEN_SOURCE 500 +AC_INCLUDES_DEFAULT +#include + ]) + fi + + ]) # XTRANS_TCP_FLAGS # XTRANS_CONNECTION_FLAGS() @@ -3537,13 +3615,12 @@ AC_INCLUDES_DEFAULT # that use Xtrans functions AC_DEFUN([XTRANS_CONNECTION_FLAGS],[ AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_TYPE_SIGNAL]) [case $host_os in mingw*) unixdef="no" ;; *) unixdef="yes" ;; esac] AC_ARG_ENABLE(unix-transport, - AC_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]), + AS_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]), [UNIXCONN=$enableval], [UNIXCONN=$unixdef]) AC_MSG_CHECKING([if Xtrans should support UNIX socket connections]) if test "$UNIXCONN" = "yes"; then @@ -3551,7 +3628,7 @@ AC_DEFUN([XTRANS_CONNECTION_FLAGS],[ fi AC_MSG_RESULT($UNIXCONN) AC_ARG_ENABLE(tcp-transport, - AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]), + AS_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]), [TCPCONN=$enableval], [TCPCONN=yes]) AC_MSG_CHECKING([if Xtrans should support TCP socket connections]) AC_MSG_RESULT($TCPCONN) @@ -3564,7 +3641,7 @@ AC_DEFUN([XTRANS_CONNECTION_FLAGS],[ *) localdef="no" ;; esac] AC_ARG_ENABLE(local-transport, - AC_HELP_STRING([--enable-local-transport],[Enable os-specific local transport]), + AS_HELP_STRING([--enable-local-transport],[Enable os-specific local transport]), [LOCALCONN=$enableval], [LOCALCONN=$localdef]) AC_MSG_CHECKING([if Xtrans should support os-specific local connections]) AC_MSG_RESULT($LOCALCONN) @@ -3582,7 +3659,7 @@ AC_DEFUN([XTRANS_CONNECTION_FLAGS],[ AC_DEFUN([XTRANS_SECURE_RPC_FLAGS], [AC_REQUIRE([XTRANS_TCP_FLAGS]) AC_ARG_ENABLE(secure-rpc, - AC_HELP_STRING([--enable-secure-rpc],[Enable Secure RPC]), + AS_HELP_STRING([--enable-secure-rpc],[Enable Secure RPC]), [SECURE_RPC=$enableval], [SECURE_RPC="try"]) if test "x$SECURE_RPC" = "xyes" -o "x$SECURE_RPC" = "xtry" ; then diff --git a/xserver/composite/Makefile.in b/xserver/composite/Makefile.in index cc4481cab..5488d7a71 100644 --- a/xserver/composite/Makefile.in +++ b/xserver/composite/Makefile.in @@ -210,9 +210,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -244,6 +247,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -273,6 +277,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -316,6 +322,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -329,12 +336,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -400,6 +407,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/composite/compalloc.c b/xserver/composite/compalloc.c index cc69c68f2..b7d731e33 100644 --- a/xserver/composite/compalloc.c +++ b/xserver/composite/compalloc.c @@ -205,7 +205,7 @@ compRedirectWindow(ClientPtr pClient, WindowPtr pWin, int update) anyMarked = compMarkWindows(pWin, &pLayerWin); if (cw->damageRegistered) { - DamageUnregister(&pWin->drawable, cw->damage); + DamageUnregister(cw->damage); cw->damageRegistered = FALSE; } cw->update = CompositeRedirectManual; @@ -638,7 +638,7 @@ compSetParentPixmap(WindowPtr pWin) CompWindowPtr cw = GetCompWindow(pWin); if (cw->damageRegistered) { - DamageUnregister(&pWin->drawable, cw->damage); + DamageUnregister(cw->damage); cw->damageRegistered = FALSE; DamageEmpty(cw->damage); } diff --git a/xserver/composite/compext.c b/xserver/composite/compext.c index 8641eff5e..e4821c5fc 100644 --- a/xserver/composite/compext.c +++ b/xserver/composite/compext.c @@ -803,6 +803,7 @@ PanoramiXCompositeGetOverlayWindow(ClientPtr client) RT_WINDOW, client, DixGetAttrAccess); if (rc != Success) { client->errorValue = stuff->window; + free(overlayWin); return rc; } pScreen = pWin->drawable.pScreen; @@ -812,8 +813,10 @@ PanoramiXCompositeGetOverlayWindow(ClientPtr client) * interest in the overlay window */ pOc = compCreateOverlayClient(pScreen, client); - if (pOc == NULL) + if (pOc == NULL) { + free(overlayWin); return BadAlloc; + } /* * Make sure the overlay window exists @@ -822,6 +825,7 @@ PanoramiXCompositeGetOverlayWindow(ClientPtr client) if (cs->pOverlayWin == NULL) if (!compCreateOverlayWindow(pScreen)) { FreeResource(pOc->resource, RT_NONE); + free(overlayWin); return BadAlloc; } @@ -831,6 +835,7 @@ PanoramiXCompositeGetOverlayWindow(ClientPtr client) DixGetAttrAccess); if (rc != Success) { FreeResource(pOc->resource, RT_NONE); + free(overlayWin); return rc; } } diff --git a/xserver/composite/compinit.c b/xserver/composite/compinit.c index bc1130e78..3c910914e 100644 --- a/xserver/composite/compinit.c +++ b/xserver/composite/compinit.c @@ -117,11 +117,11 @@ compChangeWindowAttributes(WindowPtr pWin, unsigned long mask) if (ret && (mask & CWBackingStore) && pScreen->backingStoreSupport != NotUseful) { - if (pWin->backingStore != NotUseful) { + if (pWin->backingStore != NotUseful && !pWin->backStorage) { compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic); pWin->backStorage = (pointer) (intptr_t) 1; } - else { + else if (pWin->backingStore == NotUseful && pWin->backStorage) { compUnredirectWindow(serverClient, pWin, CompositeRedirectAutomatic); pWin->backStorage = NULL; @@ -355,6 +355,9 @@ compScreenInit(ScreenPtr pScreen) return FALSE; } + if (!disableBackingStore) + pScreen->backingStoreSupport = WhenMapped; + cs->PositionWindow = pScreen->PositionWindow; pScreen->PositionWindow = compPositionWindow; diff --git a/xserver/composite/compoverlay.c b/xserver/composite/compoverlay.c index d3cfaf06f..bf5434ccb 100644 --- a/xserver/composite/compoverlay.c +++ b/xserver/composite/compoverlay.c @@ -133,16 +133,19 @@ compCreateOverlayWindow(ScreenPtr pScreen) int result; int w = pScreen->width; int h = pScreen->height; + int x = 0, y = 0; #ifdef PANORAMIX if (!noPanoramiXExtension) { + x = -pScreen->x; + y = -pScreen->y; w = PanoramiXPixWidth; h = PanoramiXPixHeight; } #endif pWin = cs->pOverlayWin = - CreateWindow(cs->overlayWid, pRoot, 0, 0, w, h, 0, + CreateWindow(cs->overlayWid, pRoot, x, y, w, h, 0, InputOutput, CWBackPixmap | CWOverrideRedirect, &attrs[0], pRoot->drawable.depth, serverClient, pScreen->rootVisual, &result); diff --git a/xserver/config.h.in b/xserver/config.h.in deleted file mode 100644 index e69de29bb..000000000 diff --git a/xserver/config/10-quirks.conf b/xserver/config/10-quirks.conf new file mode 100644 index 000000000..c9b823ceb --- /dev/null +++ b/xserver/config/10-quirks.conf @@ -0,0 +1,54 @@ +# Collection of quirks and blacklist/whitelists for specific devices. + + +# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable +# http://bugs.freedesktop.org/show_bug.cgi?id=22442 +Section "InputClass" + Identifier "ThinkPad HDAPS accelerometer blacklist" + MatchProduct "ThinkPad HDAPS accelerometer data" + Option "Ignore" "on" +EndSection + +# https://bugzilla.redhat.com/show_bug.cgi?id=523914 +# Mouse does not move in PV Xen guest +# Explicitly tell evdev to not ignore the absolute axes. +Section "InputClass" + Identifier "Xen Virtual Pointer axis blacklist" + MatchProduct "Xen Virtual Pointer" + Option "IgnoreAbsoluteAxes" "off" + Option "IgnoreRelativeAxes" "off" +EndSection + +# https://bugzilla.redhat.com/show_bug.cgi?id=612140 +# please make Evoluent VerticalMouse 3 work out of the box +# Button mapping on this mouse is quirky +Section "InputClass" + Identifier "Evoluent VerticalMouse 3" + MatchProduct "Evoluent VerticalMouse 3" + # Sets following configuration: + # top button: left + # middle button: middle + # bottom button: right + # wheel click: middle + # thumb button: 8 (back) + Option "ButtonMapping" "1 2 2 4 5 6 7 3 8" +EndSection + + +# https://bugs.freedesktop.org/show_bug.cgi?id=55867 +# Bug 55867 - Doesn't know how to tag XI_TRACKBALL +Section "InputClass" + Identifier "Tag trackballs as XI_TRACKBALL" + MatchProduct "trackball" + MatchDriver "evdev" + Option "TypeName" "TRACKBALL" +EndSection + +# https://bugs.freedesktop.org/show_bug.cgi?id=62831 +# Bug 62831 - Mionix Naos 5000 mouse detected incorrectly +Section "InputClass" + Identifier "Tag Mionix Naos 5000 mouse XI_MOUSE" + MatchProduct "La-VIEW Technology Naos 5000 Mouse" + MatchDriver "evdev" + Option "TypeName" "MOUSE" +EndSection diff --git a/xserver/config/Makefile.am b/xserver/config/Makefile.am index 69bdcf730..327d07e7c 100644 --- a/xserver/config/Makefile.am +++ b/xserver/config/Makefile.am @@ -11,7 +11,7 @@ libconfig_la_LIBADD = $(UDEV_LIBS) if XORG xorgconfddir = $(datadir)/X11/$(XF86CONFIGDIR) -xorgconfd_DATA = 10-evdev.conf +xorgconfd_DATA = 10-evdev.conf 10-quirks.conf endif else @@ -44,4 +44,4 @@ endif # CONFIG_NEED_DBUS endif # !CONFIG_UDEV -EXTRA_DIST = xorg-server.conf x11-input.fdi 10-evdev.conf fdi2iclass.py +EXTRA_DIST = xorg-server.conf x11-input.fdi 10-evdev.conf non-seat0.conf.multi-seat fdi2iclass.py 10-quirks.conf diff --git a/xserver/config/Makefile.in b/xserver/config/Makefile.in index 8c03d3a4f..5a2e0642f 100644 --- a/xserver/config/Makefile.in +++ b/xserver/config/Makefile.in @@ -232,9 +232,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -266,6 +269,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -295,6 +299,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -338,6 +344,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -351,12 +358,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -422,6 +429,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -511,10 +520,10 @@ libconfig_la_SOURCES = config.c config-backends.h $(am__append_2) \ @CONFIG_NEED_DBUS_TRUE@@CONFIG_UDEV_FALSE@ $(am__append_8) @CONFIG_UDEV_TRUE@libconfig_la_LIBADD = $(UDEV_LIBS) $(am__append_8) @CONFIG_UDEV_TRUE@@XORG_TRUE@xorgconfddir = $(datadir)/X11/$(XF86CONFIGDIR) -@CONFIG_UDEV_TRUE@@XORG_TRUE@xorgconfd_DATA = 10-evdev.conf +@CONFIG_UDEV_TRUE@@XORG_TRUE@xorgconfd_DATA = 10-evdev.conf 10-quirks.conf @CONFIG_DBUS_API_TRUE@@CONFIG_NEED_DBUS_TRUE@@CONFIG_UDEV_FALSE@dbusconfigdir = $(sysconfdir)/dbus-1/system.d @CONFIG_DBUS_API_TRUE@@CONFIG_NEED_DBUS_TRUE@@CONFIG_UDEV_FALSE@dbusconfig_DATA = xorg-server.conf -EXTRA_DIST = xorg-server.conf x11-input.fdi 10-evdev.conf fdi2iclass.py +EXTRA_DIST = xorg-server.conf x11-input.fdi 10-evdev.conf non-seat0.conf.multi-seat fdi2iclass.py 10-quirks.conf all: all-am .SUFFIXES: diff --git a/xserver/config/dbus-api b/xserver/config/dbus-api deleted file mode 100644 index 018e98657..000000000 --- a/xserver/config/dbus-api +++ /dev/null @@ -1,40 +0,0 @@ -D-BUS Configuration API v2 ----------------------------- - -The X server will register the bus name org.x.config.displayN, and the -object /org/x/config/N, where N is the display number. - -Currently only hotplugging of input devices is supported. - -org.x.config.input: - org.x.config.input.version: - Returns one unsigned int32, which is the API version. - - org.x.config.input.add: - Takes an argument of key/value option pairs in arrays, e.g.: - [ss][ss][ss][ss] - is the signature for four options. These options will be passed - to the input driver as with any others. - Option names beginning with _ are not allowed; they are reserved - for internal use. - - Returns a number of signed int32s. Positive integers are the - device IDs of new devices; negative numbers are X error codes, - as defined in X.h. BadMatch will be returned if the options - given do not match any device. BadValue is returned for a malformed - message. (Example: 8 is new device ID 8; -8 is BadMatch.) - - Notably, BadAlloc is never returned: the server internally signals - to D-BUS that the attempt failed for lack of memory. - - org.x.config.input.remove: - Takes one uint32 argument, which is the device ID to remove, i.e.: - u - is the signature. - - Returns one signed int32 which represents an X status as defined in - X.h. See org.x.config.input.add. Error codes are negative numbers. - - org.x.config.input.listDevices: - Lists the currently active devices. No argument. - Return value is sequence of [ ] [ ] ..., i.e. [us]. diff --git a/xserver/config/hal.c b/xserver/config/hal.c index 2ead556b0..d8e8db7c2 100644 --- a/xserver/config/hal.c +++ b/xserver/config/hal.c @@ -184,8 +184,7 @@ device_added(LibHalContext * hal_ctx, const char *udi) parent = get_prop_string(hal_ctx, udi, "info.parent"); if (parent) { int usb_vendor, usb_product; - - attrs.pnp_id = get_prop_string(hal_ctx, parent, "pnp.id"); + char *old_parent; /* construct USB ID in lowercase - "0000:ffff" */ usb_vendor = libhal_device_get_property_int(hal_ctx, parent, @@ -203,7 +202,18 @@ device_added(LibHalContext * hal_ctx, const char *udi) == -1) attrs.usb_id = NULL; - free(parent); + attrs.pnp_id = get_prop_string(hal_ctx, parent, "pnp.id"); + old_parent = parent; + + while (!attrs.pnp_id && + (parent = get_prop_string(hal_ctx, parent, "info.parent"))) { + attrs.pnp_id = get_prop_string(hal_ctx, parent, "pnp.id"); + + free(old_parent); + old_parent = parent; + } + + free(old_parent); } input_options = input_option_new(NULL, "_source", "server/hal"); diff --git a/xserver/config/non-seat0.conf.multi-seat b/xserver/config/non-seat0.conf.multi-seat new file mode 100644 index 000000000..34008ce50 --- /dev/null +++ b/xserver/config/non-seat0.conf.multi-seat @@ -0,0 +1,18 @@ +# This is the default configuration for servers on seat-1 and above. +# +# Start the server with -config non-seat0.conf.multi-seat, or alternatively +# rename the file to end in .conf and put it in the standard config +# directory (though it will apply to _all_ seats!). +# +# * Disable VT switching with Ctrl-Alt-F1 +# * Force a grab on all input devices to detach them from the VT subsystem +# to avoid event leakage. + +Section "ServerFlags" + Option "DontVTSwitch" "on" +EndSection + +Section "InputClass" + Identifier "Force input devices to seat" + Option "GrabDevice" "on" +EndSection diff --git a/xserver/config/udev.c b/xserver/config/udev.c index de8924143..bcafbd9d8 100644 --- a/xserver/config/udev.c +++ b/xserver/config/udev.c @@ -130,10 +130,6 @@ device_added(struct udev_device *udev_device) LOG_PROPERTY(ppath, "NAME", name); } - if (pnp_id) - attrs.pnp_id = strdup(pnp_id); - LOG_SYSATTR(ppath, "id", pnp_id); - /* construct USB ID in lowercase hex - "0000:ffff" */ if (product && sscanf(product, "%*x/%4x/%4x/%*x", &usb_vendor, &usb_model) == 2) { @@ -143,6 +139,17 @@ device_added(struct udev_device *udev_device) else LOG_PROPERTY(ppath, "PRODUCT", product); } + + while (!pnp_id && (parent = udev_device_get_parent(parent))) { + pnp_id = udev_device_get_sysattr_value(parent, "id"); + if (!pnp_id) + continue; + + attrs.pnp_id = strdup(pnp_id); + ppath = udev_device_get_devnode(parent); + LOG_SYSATTR(ppath, "id", pnp_id); + } + } if (!name) name = "(unnamed)"; @@ -226,6 +233,10 @@ device_added(struct udev_device *udev_device) input_options = input_option_new(input_options, "config_info", config_info); + /* Default setting needed for non-seat0 seats */ + if (ServerIsNotSeat0()) + input_options = input_option_new(input_options, "GrabDevice", "on"); + LogMessage(X_INFO, "config/udev: Adding input device %s (%s)\n", name, path); rc = NewInputDeviceRequest(input_options, &attrs, &dev); diff --git a/xserver/configure b/xserver/configure index 7e9ad33e9..b67428d9e 100644 --- a/xserver/configure +++ b/xserver/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xorg-server 1.14.5. +# Generated by GNU Autoconf 2.69 for xorg-server 1.15.1. # # Report bugs to . # @@ -651,8 +651,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='xorg-server' PACKAGE_TARNAME='xorg-server' -PACKAGE_VERSION='1.14.5' -PACKAGE_STRING='xorg-server 1.14.5' +PACKAGE_VERSION='1.15.1' +PACKAGE_STRING='xorg-server 1.15.1' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -798,6 +798,7 @@ XWIN_TRUE KHRONOS_SPEC_DIR KHRONOS_OPENGL_REGISTRY_LIBS KHRONOS_OPENGL_REGISTRY_CFLAGS +PYTHON3 XWIN_SYS_LIBS XWIN_SERVER_NAME XWIN_LIBS @@ -816,8 +817,8 @@ DGA_FALSE DGA_TRUE SOLARIS_VT_FALSE SOLARIS_VT_TRUE -SOLARIS_ASM_INLINE_FALSE -SOLARIS_ASM_INLINE_TRUE +LNXAPM_FALSE +LNXAPM_TRUE LNXACPI_FALSE LNXACPI_TRUE LINUX_ALPHA_FALSE @@ -858,7 +859,6 @@ XF86VIDMODE_LIBS XF86VIDMODE_CFLAGS DGA_LIBS DGA_CFLAGS -SOLARIS_ASM_CFLAGS SOLARIS_INOUT_ARCH PCI_TXT_IDS_PATH PCIACCESS_LIBS @@ -884,6 +884,10 @@ LD_EXPORT_SYMBOLS_FLAG UTILS_SYS_LIBS XSERVER_SYS_LIBS XSERVER_LIBS +HAVE_LIBUNWIND_FALSE +HAVE_LIBUNWIND_TRUE +LIBUNWIND_LIBS +LIBUNWIND_CFLAGS XSERVERLIBS_LIBS XSERVERLIBS_CFLAGS XSERVERCFLAGS_LIBS @@ -943,16 +947,8 @@ XACE_FALSE XACE_TRUE XINERAMA_FALSE XINERAMA_TRUE -DRI2_AIGLX_FALSE -DRI2_AIGLX_TRUE -LIBDRM_LIBS -LIBDRM_CFLAGS -DRI2_FALSE -DRI2_TRUE -DRI2PROTO_LIBS -DRI2PROTO_CFLAGS -DRI_FALSE -DRI_TRUE +PRESENT_FALSE +PRESENT_TRUE GLX_SYS_LIBS GLX_DEFINES AIGLX_DRI_LOADER_FALSE @@ -963,6 +959,26 @@ GL_LIBS GL_CFLAGS XLIB_LIBS XLIB_CFLAGS +DRI2_AIGLX_FALSE +DRI2_AIGLX_TRUE +LIBDRM_LIBS +LIBDRM_CFLAGS +DRI3_FALSE +DRI3_TRUE +XSHMFENCE_FALSE +XSHMFENCE_TRUE +XSHMFENCE_LIBS +XSHMFENCE_CFLAGS +BUSFAULT_FALSE +BUSFAULT_TRUE +DRI3PROTO_LIBS +DRI3PROTO_CFLAGS +DRI2_FALSE +DRI2_TRUE +DRI2PROTO_LIBS +DRI2PROTO_CFLAGS +DRI_FALSE +DRI_TRUE CLIENTIDS_FALSE CLIENTIDS_TRUE RES_FALSE @@ -1057,8 +1073,6 @@ FREEBSD_KLDLOAD_FALSE FREEBSD_KLDLOAD_TRUE FBDEVHW_FALSE FBDEVHW_TRUE -LNXAPM_FALSE -LNXAPM_TRUE AGP_FALSE AGP_TRUE LIBOBJS @@ -1068,6 +1082,7 @@ SPECIAL_DTRACE_OBJECTS_TRUE XSERVER_DTRACE_FALSE XSERVER_DTRACE_TRUE DTRACE +TRADITIONALCPPFLAGS RAWCPPFLAGS RAWCPP YFLAGS @@ -1126,6 +1141,10 @@ STYLESHEET_SRCDIR XORG_SGML_PATH HAVE_DOXYGEN_FALSE HAVE_DOXYGEN_TRUE +HAVE_DOT_FALSE +HAVE_DOT_TRUE +HAVE_DOT +DOT DOXYGEN AM_BACKSLASH AM_DEFAULT_VERBOSITY @@ -1320,6 +1339,8 @@ enable_xdm_auth_1 enable_glx enable_dri enable_dri2 +enable_dri3 +enable_present enable_xinerama enable_xf86vidmode enable_xace @@ -1342,6 +1363,8 @@ enable_windowswm enable_libdrm enable_clientids enable_pciaccess +enable_linux_acpi +enable_linux_apm enable_xorg enable_dmx enable_xvfb @@ -1356,12 +1379,15 @@ enable_xfbdev enable_kdrive_kbd enable_kdrive_mouse enable_kdrive_evdev +enable_libunwind enable_install_setuid enable_unix_transport enable_tcp_transport enable_ipv6 enable_local_transport enable_secure_rpc +with_shared_memory_dir +enable_xtrans_send_fds with_xkb_bin_directory with_sha1 ' @@ -1378,6 +1404,7 @@ PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR DOXYGEN +DOT XMLTO FOP XSLTPROC @@ -1394,14 +1421,18 @@ DBUS_CFLAGS DBUS_LIBS HAL_CFLAGS HAL_LIBS +DRI2PROTO_CFLAGS +DRI2PROTO_LIBS +DRI3PROTO_CFLAGS +DRI3PROTO_LIBS +XSHMFENCE_CFLAGS +XSHMFENCE_LIBS +LIBDRM_CFLAGS +LIBDRM_LIBS XLIB_CFLAGS XLIB_LIBS GL_CFLAGS GL_LIBS -DRI2PROTO_CFLAGS -DRI2PROTO_LIBS -LIBDRM_CFLAGS -LIBDRM_LIBS SELINUX_CFLAGS SELINUX_LIBS XDMCP_CFLAGS @@ -1414,6 +1445,8 @@ XSERVERCFLAGS_CFLAGS XSERVERCFLAGS_LIBS XSERVERLIBS_CFLAGS XSERVERLIBS_LIBS +LIBUNWIND_CFLAGS +LIBUNWIND_LIBS XNESTMODULES_CFLAGS XNESTMODULES_LIBS PCIACCESS_CFLAGS @@ -1992,7 +2025,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xorg-server 1.14.5 to adapt to many kinds of systems. +\`configure' configures xorg-server 1.15.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2062,7 +2095,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xorg-server 1.14.5:";; + short | recursive ) echo "Configuration of xorg-server 1.15.1:";; esac cat <<\_ACEOF @@ -2120,6 +2153,8 @@ Optional Features: --disable-glx Build GLX extension (default: enabled) --enable-dri Build DRI extension (default: auto) --enable-dri2 Build DRI2 extension (default: auto) + --enable-dri3 Build DRI3 extension (default: auto) + --disable-present Build Present extension (default: enabled) --disable-xinerama Build Xinerama extension (default: enabled) --disable-xf86vidmode Build XF86VidMode extension (default: auto) --disable-xace Build X-ACE extension (default: enabled) @@ -2145,6 +2180,10 @@ Optional Features: --disable-clientids Build Xorg with client ID tracking (default: enabled) --enable-pciaccess Build Xorg with pciaccess library (default: enabled) + --disable-linux-acpi Disable building ACPI support on Linux (if + available). + --disable-linux-apm Disable building APM support on Linux (if + available). --enable-xorg Build Xorg server (default: auto) --enable-dmx Build DMX server (default: auto) --enable-xvfb Build Xvfb server (default: yes) @@ -2163,6 +2202,7 @@ Optional Features: --enable-kdrive-kbd Build kbd driver for kdrive (default: auto) --enable-kdrive-mouse Build mouse driver for kdrive (default: auto) --enable-kdrive-evdev Build evdev driver for kdrive (default: auto) + --enable-libunwind Use libunwind for backtracing (default: auto) --enable-install-setuid Install Xorg server as owned by root with setuid bit (default: auto) --enable-unix-transport Enable UNIX domain socket transport @@ -2171,6 +2211,8 @@ Optional Features: --enable-local-transport Enable os-specific local transport --enable-secure-rpc Enable Secure RPC + --disable-xtrans-send-fds + Use Xtrans support for fd passing (default: auto) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -2247,6 +2289,10 @@ Optional Packages: --with-khronos-spec-dir=PATH Path to Khronos OpenGL registry database files (default: auto) + --with-shared-memory-dir=PATH + Path to directory in a world-writable temporary + directory for anonymous shared memory (default: + auto) --with-xkb-bin-directory=DIR Directory containing xkbcomp program --with-sha1=libc|libmd|libnettle|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI @@ -2267,6 +2313,7 @@ Some influential environment variables: PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path DOXYGEN Path to doxygen command + DOT Path to the dot graphics utility XMLTO Path to xmlto command FOP Path to fop command XSLTPROC Path to xsltproc command @@ -2289,17 +2336,25 @@ Some influential environment variables: DBUS_LIBS linker flags for DBUS, overriding pkg-config HAL_CFLAGS C compiler flags for HAL, overriding pkg-config HAL_LIBS linker flags for HAL, overriding pkg-config - XLIB_CFLAGS C compiler flags for XLIB, overriding pkg-config - XLIB_LIBS linker flags for XLIB, overriding pkg-config - GL_CFLAGS C compiler flags for GL, overriding pkg-config - GL_LIBS linker flags for GL, overriding pkg-config DRI2PROTO_CFLAGS C compiler flags for DRI2PROTO, overriding pkg-config DRI2PROTO_LIBS linker flags for DRI2PROTO, overriding pkg-config + DRI3PROTO_CFLAGS + C compiler flags for DRI3PROTO, overriding pkg-config + DRI3PROTO_LIBS + linker flags for DRI3PROTO, overriding pkg-config + XSHMFENCE_CFLAGS + C compiler flags for XSHMFENCE, overriding pkg-config + XSHMFENCE_LIBS + linker flags for XSHMFENCE, overriding pkg-config LIBDRM_CFLAGS C compiler flags for LIBDRM, overriding pkg-config LIBDRM_LIBS linker flags for LIBDRM, overriding pkg-config + XLIB_CFLAGS C compiler flags for XLIB, overriding pkg-config + XLIB_LIBS linker flags for XLIB, overriding pkg-config + GL_CFLAGS C compiler flags for GL, overriding pkg-config + GL_LIBS linker flags for GL, overriding pkg-config SELINUX_CFLAGS C compiler flags for SELINUX, overriding pkg-config SELINUX_LIBS @@ -2323,6 +2378,10 @@ Some influential environment variables: C compiler flags for XSERVERLIBS, overriding pkg-config XSERVERLIBS_LIBS linker flags for XSERVERLIBS, overriding pkg-config + LIBUNWIND_CFLAGS + C compiler flags for LIBUNWIND, overriding pkg-config + LIBUNWIND_LIBS + linker flags for LIBUNWIND, overriding pkg-config XNESTMODULES_CFLAGS C compiler flags for XNESTMODULES, overriding pkg-config XNESTMODULES_LIBS @@ -2463,7 +2522,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xorg-server configure 1.14.5 +xorg-server configure 1.15.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2515,52 +2574,6 @@ fi } # ac_fn_c_try_compile -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl - # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. @@ -2598,6 +2611,97 @@ fi } # ac_fn_c_try_cpp +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ---------------------------------------------------------------------- ## +## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg ## +## ---------------------------------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes @@ -2671,6 +2775,52 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_header_compile +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl + # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. @@ -2784,97 +2934,6 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_func -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ---------------------------------------------------------------------- ## -## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg ## -## ---------------------------------------------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes @@ -3172,7 +3231,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xorg-server $as_me 1.14.5, which was +It was created by xorg-server $as_me 1.15.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3520,8 +3579,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -RELEASE_DATE="2013-12-12" -RELEASE_NAME="November Rain" +RELEASE_DATE="2014-04-13" +RELEASE_NAME="Heart Candy" am__api_version='1.12' @@ -3999,7 +4058,7 @@ fi # Define the identity of the package. PACKAGE='xorg-server' - VERSION='1.14.5' + VERSION='1.15.1' cat >>confdefs.h <<_ACEOF @@ -4045,19 +4104,6 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - -# Require xorg-macros minimum of 1.14 for XORG_COMPILER_BRAND in XORG_DEFAULT_OPTIONS - - - - - - - - - - - DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -5038,183 +5084,6 @@ else fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if ${ac_cv_prog_cc_c99+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); -} - -int -main () -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - ; - return 0; -} -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then : - -fi - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -5614,6 +5483,257 @@ done + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = xyes; then : + MINIX=yes +else + MINIX= +fi + + + if test "$MINIX" = yes; then + +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + + +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + + +$as_echo "#define _MINIX 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if ${ac_cv_safe_to_define___extensions__+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_safe_to_define___extensions__=yes +else + ac_cv_safe_to_define___extensions__=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h + + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h + + + +# Require xorg-macros minimum of 1.14 for XORG_COMPILER_BRAND in XORG_DEFAULT_OPTIONS + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 +$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } +if ${ac_cv_prog_cc_c99+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#include + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +#define debug(...) fprintf (stderr, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + your preprocessor is broken; +#endif +#if BIG_OK +#else + your preprocessor is broken; +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\0'; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static void +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str; + int number; + float fnumber; + + while (*format) + { + switch (*format++) + { + case 's': // string + str = va_arg (args_copy, const char *); + break; + case 'd': // int + number = va_arg (args_copy, int); + break; + case 'f': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); +} + +int +main () +{ + + // Check bool. + _Bool success = false; + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + test_varargs ("s, d' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' + || dynamic_array[ni.number - 1] != 543); + + ; + return 0; +} +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c99" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c99" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c99" != xno; then : + +fi + + + @@ -7035,6 +7155,55 @@ $as_echo "$supported" >&6; } fi fi + if test $found = "no" ; then + if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then + CFLAGS="$CFLAGS -Werror=unknown-warning-option" + fi + + if test "x$xorg_testset_cc_unused_command_line_argument" = "xyes" ; then + CFLAGS="$CFLAGS -Werror=unused-command-line-argument" + fi + + CFLAGS="$CFLAGS -fd" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -fd" >&5 +$as_echo_n "checking if $CC supports -fd... " >&6; } + cacheid=xorg_cv_cc_flag__fd + if eval \${$cacheid+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int i; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval $cacheid=yes +else + eval $cacheid=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + + + CFLAGS="$xorg_testset_save_CFLAGS" + + eval supported=\$$cacheid + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supported" >&5 +$as_echo "$supported" >&6; } + if test "$supported" = "yes" ; then + BASE_CFLAGS="$BASE_CFLAGS -fd" + found="yes" + fi + fi + @@ -7525,124 +7694,6 @@ $as_echo "$supported" >&6; } -xorg_testset_save_CFLAGS="$CFLAGS" - -if test "x$xorg_testset_cc_unknown_warning_option" = "x" ; then - CFLAGS="$CFLAGS -Werror=unknown-warning-option" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unknown-warning-option" >&5 -$as_echo_n "checking if $CC supports -Werror=unknown-warning-option... " >&6; } -if ${xorg_cv_cc_flag_unknown_warning_option+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - xorg_cv_cc_flag_unknown_warning_option=yes -else - xorg_cv_cc_flag_unknown_warning_option=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unknown_warning_option" >&5 -$as_echo "$xorg_cv_cc_flag_unknown_warning_option" >&6; } - xorg_testset_cc_unknown_warning_option=$xorg_cv_cc_flag_unknown_warning_option - CFLAGS="$xorg_testset_save_CFLAGS" -fi - -if test "x$xorg_testset_cc_unused_command_line_argument" = "x" ; then - if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then - CFLAGS="$CFLAGS -Werror=unknown-warning-option" - fi - CFLAGS="$CFLAGS -Werror=unused-command-line-argument" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unused-command-line-argument" >&5 -$as_echo_n "checking if $CC supports -Werror=unused-command-line-argument... " >&6; } -if ${xorg_cv_cc_flag_unused_command_line_argument+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - xorg_cv_cc_flag_unused_command_line_argument=yes -else - xorg_cv_cc_flag_unused_command_line_argument=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unused_command_line_argument" >&5 -$as_echo "$xorg_cv_cc_flag_unused_command_line_argument" >&6; } - xorg_testset_cc_unused_command_line_argument=$xorg_cv_cc_flag_unused_command_line_argument - CFLAGS="$xorg_testset_save_CFLAGS" -fi - -found="no" - - if test $found = "no" ; then - if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then - CFLAGS="$CFLAGS -Werror=unknown-warning-option" - fi - - if test "x$xorg_testset_cc_unused_command_line_argument" = "xyes" ; then - CFLAGS="$CFLAGS -Werror=unused-command-line-argument" - fi - - CFLAGS="$CFLAGS -Wcast-qual" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wcast-qual" >&5 -$as_echo_n "checking if $CC supports -Wcast-qual... " >&6; } - cacheid=xorg_cv_cc_flag__Wcast_qual - if eval \${$cacheid+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int i; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval $cacheid=yes -else - eval $cacheid=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi - - - CFLAGS="$xorg_testset_save_CFLAGS" - - eval supported=\$$cacheid - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supported" >&5 -$as_echo "$supported" >&6; } - if test "$supported" = "yes" ; then - BASE_CFLAGS="$BASE_CFLAGS -Wcast-qual" - found="yes" - fi - fi - - - - - - - - - - - - - - - xorg_testset_save_CFLAGS="$CFLAGS" if test "x$xorg_testset_cc_unknown_warning_option" = "x" ; then @@ -7866,13 +7917,132 @@ $as_echo "$supported" >&6; } fi +# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls]) + + + + + + + + + + + + + +xorg_testset_save_CFLAGS="$CFLAGS" + +if test "x$xorg_testset_cc_unknown_warning_option" = "x" ; then + CFLAGS="$CFLAGS -Werror=unknown-warning-option" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unknown-warning-option" >&5 +$as_echo_n "checking if $CC supports -Werror=unknown-warning-option... " >&6; } +if ${xorg_cv_cc_flag_unknown_warning_option+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int i; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + xorg_cv_cc_flag_unknown_warning_option=yes +else + xorg_cv_cc_flag_unknown_warning_option=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unknown_warning_option" >&5 +$as_echo "$xorg_cv_cc_flag_unknown_warning_option" >&6; } + xorg_testset_cc_unknown_warning_option=$xorg_cv_cc_flag_unknown_warning_option + CFLAGS="$xorg_testset_save_CFLAGS" +fi + +if test "x$xorg_testset_cc_unused_command_line_argument" = "x" ; then + if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then + CFLAGS="$CFLAGS -Werror=unknown-warning-option" + fi + CFLAGS="$CFLAGS -Werror=unused-command-line-argument" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror=unused-command-line-argument" >&5 +$as_echo_n "checking if $CC supports -Werror=unused-command-line-argument... " >&6; } +if ${xorg_cv_cc_flag_unused_command_line_argument+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int i; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + xorg_cv_cc_flag_unused_command_line_argument=yes +else + xorg_cv_cc_flag_unused_command_line_argument=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xorg_cv_cc_flag_unused_command_line_argument" >&5 +$as_echo "$xorg_cv_cc_flag_unused_command_line_argument" >&6; } + xorg_testset_cc_unused_command_line_argument=$xorg_cv_cc_flag_unused_command_line_argument + CFLAGS="$xorg_testset_save_CFLAGS" +fi + +found="no" + + if test $found = "no" ; then + if test "x$xorg_testset_cc_unknown_warning_option" = "xyes" ; then + CFLAGS="$CFLAGS -Werror=unknown-warning-option" + fi + + if test "x$xorg_testset_cc_unused_command_line_argument" = "xyes" ; then + CFLAGS="$CFLAGS -Werror=unused-command-line-argument" + fi + + CFLAGS="$CFLAGS -Wlogical-op" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wlogical-op" >&5 +$as_echo_n "checking if $CC supports -Wlogical-op... " >&6; } + cacheid=xorg_cv_cc_flag__Wlogical_op + if eval \${$cacheid+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int i; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval $cacheid=yes +else + eval $cacheid=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + + + CFLAGS="$xorg_testset_save_CFLAGS" + + eval supported=\$$cacheid + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supported" >&5 +$as_echo "$supported" >&6; } + if test "$supported" = "yes" ; then + BASE_CFLAGS="$BASE_CFLAGS -Wlogical-op" + found="yes" + fi + fi + + # These are currently disabled because they are noisy. They will be enabled # in the future once the codebase is sufficiently modernized to silence # them. For now, I don't want them to drown out the other warnings. -# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op]) # XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses]) # XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align]) +# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual]) # Turn some warnings into errors, so we don't accidently get successful builds # when there are problems that should be fixed. @@ -11719,6 +11889,7 @@ AM_BACKSLASH='\' + # Check whether --with-doxygen was given. if test "${with_doxygen+set}" = set; then : withval=$with_doxygen; use_doxygen=$withval @@ -11857,6 +12028,63 @@ $as_echo "$as_me: WARNING: doxygen version $doxygen_version found, but 1.6.1 nee ;; esac fi + +HAVE_DOT=no +if test "x$have_doxygen" = "xyes"; then + # Extract the first word of "dot", so it can be a program name with args. +set dummy dot; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_DOT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $DOT in + [\\/]* | ?:[\\/]*) + ac_cv_path_DOT="$DOT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +DOT=$ac_cv_path_DOT +if test -n "$DOT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5 +$as_echo "$DOT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$DOT" != "x"; then + HAVE_DOT=yes + fi +fi + + + if test "$HAVE_DOT" = "yes"; then + HAVE_DOT_TRUE= + HAVE_DOT_FALSE='#' +else + HAVE_DOT_TRUE='#' + HAVE_DOT_FALSE= +fi + if test "$have_doxygen" = yes; then HAVE_DOXYGEN_TRUE= HAVE_DOXYGEN_FALSE='#' @@ -20715,6 +20943,7 @@ if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then $as_echo "no" >&6; } else if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then + TRADITIONALCPPFLAGS="-traditional" RAWCPPFLAGS="${RAWCPPFLAGS} -traditional" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -20726,6 +20955,7 @@ rm -f conftest.$ac_ext + # Quoted so that make will expand $(CWARNFLAGS) in makefiles to allow # easier overrides at build time. XSERVER_CFLAGS='$(CWARNFLAGS)' @@ -21882,27 +22112,6 @@ else fi -for ac_header in linux/apm_bios.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "linux/apm_bios.h" "ac_cv_header_linux_apm_bios_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_apm_bios_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LINUX_APM_BIOS_H 1 -_ACEOF - LNXAPM=yes -fi - -done - - if test "x$LNXAPM" = xyes; then - LNXAPM_TRUE= - LNXAPM_FALSE='#' -else - LNXAPM_TRUE='#' - LNXAPM_FALSE= -fi - - for ac_header in linux/fb.h do : ac_fn_c_check_header_mongrel "$LINENO" "linux/fb.h" "ac_cv_header_linux_fb_h" "$ac_includes_default" @@ -23015,6 +23224,20 @@ else DRI2=auto fi +# Check whether --enable-dri3 was given. +if test "${enable_dri3+set}" = set; then : + enableval=$enable_dri3; DRI3=$enableval +else + DRI3=auto +fi + +# Check whether --enable-present was given. +if test "${enable_present+set}" = set; then : + enableval=$enable_present; PRESENT=$enableval +else + PRESENT=yes +fi + # Check whether --enable-xinerama was given. if test "${enable_xinerama+set}" = set; then : enableval=$enable_xinerama; XINERAMA=$enableval @@ -23169,6 +23392,20 @@ else PCI=yes fi +# Check whether --enable-linux_acpi was given. +if test "${enable_linux_acpi+set}" = set; then : + enableval=$enable_linux_acpi; enable_linux_acpi=$enableval +else + enable_linux_acpi=yes +fi + +# Check whether --enable-linux_apm was given. +if test "${enable_linux_apm+set}" = set; then : + enableval=$enable_linux_apm; enable_linux_apm=$enableval +else + enable_linux_apm=yes +fi + # Check whether --enable-xorg was given. if test "${enable_xorg+set}" = set; then : @@ -23268,6 +23505,13 @@ else KDRIVE_EVDEV=auto fi +# Check whether --enable-libunwind was given. +if test "${enable_libunwind+set}" = set; then : + enableval=$enable_libunwind; LIBUNWIND="$enableval" +else + LIBUNWIND="auto" +fi + # Check whether --enable-install-setuid was given. @@ -23310,40 +23554,6 @@ fi # Transport selection macro from xtrans.m4 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 -$as_echo_n "checking return type of signal handlers... " >&6; } -if ${ac_cv_type_signal+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -return *(signal (0, 0)) (0) == 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_type_signal=int -else - ac_cv_type_signal=void -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 -$as_echo "$ac_cv_type_signal" >&6; } - -cat >>confdefs.h <<_ACEOF -#define RETSIGTYPE $ac_cv_type_signal -_ACEOF - - - case $host_os in @@ -23534,7 +23744,6 @@ _ACEOF LIBS="-lws2_32 $LIBS" fi -ac_cv_lib_ws2_32=ac_cv_lib_ws2_32_main fi @@ -23591,6 +23800,57 @@ _ACEOF fi + # XPG4v2/UNIX95 added msg_control - check to see if we need to define + # _XOPEN_SOURCE to get it (such as on Solaris) + ac_fn_c_check_member "$LINENO" "struct msghdr" "msg_control" "ac_cv_member_struct_msghdr_msg_control" " +$ac_includes_default +#include + +" +if test "x$ac_cv_member_struct_msghdr_msg_control" = xyes; then : + +fi + + # First try for Solaris in C99 compliant mode, which requires XPG6/UNIX03 + if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then + unset ac_cv_member_struct_msghdr_msg_control + { $as_echo "$as_me:${as_lineno-$LINENO}: trying again with _XOPEN_SOURCE=600" >&5 +$as_echo "$as_me: trying again with _XOPEN_SOURCE=600" >&6;} + ac_fn_c_check_member "$LINENO" "struct msghdr" "msg_control" "ac_cv_member_struct_msghdr_msg_control" " +#define _XOPEN_SOURCE 600 +$ac_includes_default +#include + +" +if test "x$ac_cv_member_struct_msghdr_msg_control" = xyes; then : + +$as_echo "#define _XOPEN_SOURCE 600" >>confdefs.h + + +fi + + fi + # If that didn't work, fall back to XPG5/UNIX98 with C89 + if test "x$ac_cv_member_struct_msghdr_msg_control" = xno; then + unset ac_cv_member_struct_msghdr_msg_control + { $as_echo "$as_me:${as_lineno-$LINENO}: trying again with _XOPEN_SOURCE=500" >&5 +$as_echo "$as_me: trying again with _XOPEN_SOURCE=500" >&6;} + ac_fn_c_check_member "$LINENO" "struct msghdr" "msg_control" "ac_cv_member_struct_msghdr_msg_control" " +#define _XOPEN_SOURCE 500 +$ac_includes_default +#include + +" +if test "x$ac_cv_member_struct_msghdr_msg_control" = xyes; then : + +$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h + + +fi + + fi + + fi case $host_os in @@ -23766,6 +24026,7 @@ case $host_os in CONFIG_UDEV_KMS=no DGA=no DRI2=no + DRI3=no INT10MODULE=no PCI=no VGAHW=no @@ -23783,6 +24044,7 @@ case $host_os in VBE=no DRM=no DRI2=no + DRI3=no if test x$XQUARTZ = xauto; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Xquartz" >&5 @@ -23848,19 +24110,21 @@ SCRNSAVERPROTO="scrnsaverproto >= 1.1" RESOURCEPROTO="resourceproto >= 1.2.0" DRIPROTO="xf86driproto >= 2.1.0" DRI2PROTO="dri2proto >= 2.8" +DRI3PROTO="dri3proto >= 1.0" XINERAMAPROTO="xineramaproto" BIGFONTPROTO="xf86bigfontproto >= 1.2.0" DGAPROTO="xf86dgaproto >= 2.0.99.1" -GLPROTO="glproto >= 1.4.16" +GLPROTO="glproto >= 1.4.17" DMXPROTO="dmxproto >= 2.2.99.1" VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1" WINDOWSWMPROTO="windowswmproto" APPLEWMPROTO="applewmproto >= 1.4" +XSHMFENCE="xshmfence >= 1.1" XPROTO="xproto >= 7.0.22" RANDRPROTO="randrproto >= 1.4.0" RENDERPROTO="renderproto >= 0.11" -XEXTPROTO="xextproto >= 7.1.99" +XEXTPROTO="xextproto >= 7.2.99.901" INPUTPROTO="inputproto >= 2.3" KBPROTO="kbproto >= 1.0.3" FONTSPROTO="fontsproto" @@ -23868,7 +24132,8 @@ FIXESPROTO="fixesproto >= 5.0" DAMAGEPROTO="damageproto >= 1.1" XCMISCPROTO="xcmiscproto >= 1.2.0" BIGREQSPROTO="bigreqsproto >= 1.1.0" -XTRANS="xtrans >= 1.2.2" +XTRANS="xtrans >= 1.3.2" +PRESENTPROTO="presentproto >= 1.0" LIBAPPLEWM="applewm >= 1.4" LIBDMX="dmx >= 1.0.99.1" @@ -24627,6 +24892,7 @@ if test "x$SCREENSAVER" = xyes; then $as_echo "#define SCREENSAVER 1" >>confdefs.h REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $SCRNSAVERPROTO" fi if test "x$RES" = xyes; then @@ -24642,6 +24908,7 @@ if test "x$RES" = xyes; then $as_echo "#define RES 1" >>confdefs.h REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $RESOURCEPROTO" fi # The XRes extension may support client ID tracking only if it has @@ -24674,6 +24941,602 @@ else fi + if test "x$DRI" = xyes; then + DRI_TRUE= + DRI_FALSE='#' +else + DRI_TRUE='#' + DRI_FALSE= +fi + +if test "x$DRI" = xyes; then + +$as_echo "#define XF86DRI 1" >>confdefs.h + + REQUIRED_MODULES="$REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI" +fi + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DRI2PROTO" >&5 +$as_echo_n "checking for DRI2PROTO... " >&6; } + +if test -n "$DRI2PROTO_CFLAGS"; then + pkg_cv_DRI2PROTO_CFLAGS="$DRI2PROTO_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$DRI2PROTO\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$DRI2PROTO") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_DRI2PROTO_CFLAGS=`$PKG_CONFIG --cflags "$DRI2PROTO" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$DRI2PROTO_LIBS"; then + pkg_cv_DRI2PROTO_LIBS="$DRI2PROTO_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$DRI2PROTO\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$DRI2PROTO") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_DRI2PROTO_LIBS=`$PKG_CONFIG --libs "$DRI2PROTO" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DRI2PROTO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$DRI2PROTO" 2>&1` + else + DRI2PROTO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$DRI2PROTO" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$DRI2PROTO_PKG_ERRORS" >&5 + + HAVE_DRI2PROTO=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + HAVE_DRI2PROTO=no +else + DRI2PROTO_CFLAGS=$pkg_cv_DRI2PROTO_CFLAGS + DRI2PROTO_LIBS=$pkg_cv_DRI2PROTO_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + HAVE_DRI2PROTO=yes +fi +case "$DRI2,$HAVE_DRI2PROTO" in + yes,no) + as_fn_error $? "DRI2 requested, but dri2proto not found." "$LINENO" 5 + ;; + yes,yes | auto,yes) + +$as_echo "#define DRI2 1" >>confdefs.h + + DRI2=yes + LIBGL="gl >= 9.2.0" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO" + ;; +esac + if test "x$DRI2" = xyes; then + DRI2_TRUE= + DRI2_FALSE='#' +else + DRI2_TRUE='#' + DRI2_FALSE= +fi + + + + +# Check whether --with-shared-memory-dir was given. +if test "${with_shared_memory_dir+set}" = set; then : + withval=$with_shared_memory_dir; +else + with_shared_memory_dir=yes +fi + + +shmdirs="/run/shm /var/tmp /tmp" + +case x"$with_shared_memory_dir" in +xyes) + for dir in $shmdirs; do + case x"$with_shared_memory_dir" in + xyes) + echo Checking temp dir "$dir" + if test -d "$dir"; then + with_shared_memory_dir="$dir" + fi + ;; + esac + done + ;; +x/*) + ;; +xno) + ;; +*) + as_fn_error $? "Invalid directory specified for --with-shared-memory-dir: $with_shared_memory_dir" "$LINENO" 5 + ;; +esac + +case x"$with_shared_memory_dir" in +xyes) + as_fn_error $? "No directory found for shared memory temp files." "$LINENO" 5 + ;; +xno) + ;; +*) + +cat >>confdefs.h <<_ACEOF +#define SHMDIR "$with_shared_memory_dir" +_ACEOF + + ;; +esac + +# Check whether --enable-xtrans-send-fds was given. +if test "${enable_xtrans_send_fds+set}" = set; then : + enableval=$enable_xtrans_send_fds; XTRANS_SEND_FDS=$enableval +else + XTRANS_SEND_FDS=auto +fi + + +case "x$XTRANS_SEND_FDS" in +xauto) + case "$host_os" in + linux*|openbsd*|solaris*) + XTRANS_SEND_FDS=yes + ;; + *) + XTRANS_SEND_FDS=no + ;; + esac +esac + +case "x$XTRANS_SEND_FDS" in +xyes) + +$as_echo "#define XTRANS_SEND_FDS 1" >>confdefs.h + + ;; +esac + +case "$DRI3,$XTRANS_SEND_FDS" in + yes,yes | auto,yes) + ;; + yes,no) + as_fn_error $? "DRI3 requested, but xtrans fd passing support not found." "$LINENO" 5 + DRI3=no + ;; + no,*) + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: DRI3 disabled because xtrans fd passing support not found." >&5 +$as_echo "$as_me: DRI3 disabled because xtrans fd passing support not found." >&6;} + DRI3=no + ;; +esac + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DRI3PROTO" >&5 +$as_echo_n "checking for DRI3PROTO... " >&6; } + +if test -n "$DRI3PROTO_CFLAGS"; then + pkg_cv_DRI3PROTO_CFLAGS="$DRI3PROTO_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$DRI3PROTO\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$DRI3PROTO") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_DRI3PROTO_CFLAGS=`$PKG_CONFIG --cflags "$DRI3PROTO" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$DRI3PROTO_LIBS"; then + pkg_cv_DRI3PROTO_LIBS="$DRI3PROTO_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$DRI3PROTO\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$DRI3PROTO") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_DRI3PROTO_LIBS=`$PKG_CONFIG --libs "$DRI3PROTO" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DRI3PROTO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$DRI3PROTO" 2>&1` + else + DRI3PROTO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$DRI3PROTO" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$DRI3PROTO_PKG_ERRORS" >&5 + + HAVE_DRI3PROTO=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + HAVE_DRI3PROTO=no +else + DRI3PROTO_CFLAGS=$pkg_cv_DRI3PROTO_CFLAGS + DRI3PROTO_LIBS=$pkg_cv_DRI3PROTO_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + HAVE_DRI3PROTO=yes +fi + +case "$DRI3,$HAVE_DRI3PROTO" in + yes,yes | auto,yes) + ;; + yes,no) + as_fn_error $? "DRI3 requested, but dri3proto not found." "$LINENO" 5 + DRI3=no + ;; + no,*) + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: DRI3 disabled because dri3proto not found." >&5 +$as_echo "$as_me: DRI3 disabled because dri3proto not found." >&6;} + DRI3=no + ;; +esac + +for ac_func in sigaction +do : + ac_fn_c_check_func "$LINENO" "sigaction" "ac_cv_func_sigaction" +if test "x$ac_cv_func_sigaction" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SIGACTION 1 +_ACEOF + +fi +done + + +BUSFAULT=no + +case x"$ac_cv_func_sigaction" in + xyes) + +$as_echo "#define HAVE_SIGACTION 1" >>confdefs.h + + BUSFAULT=yes + ;; +esac + +case x"$BUSFAULT" in + xyes) + +$as_echo "#define BUSFAULT 1" >>confdefs.h + + ;; +esac + + if test x"$BUSFAULT" = xyes; then + BUSFAULT_TRUE= + BUSFAULT_FALSE='#' +else + BUSFAULT_TRUE='#' + BUSFAULT_FALSE= +fi + + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XSHMFENCE" >&5 +$as_echo_n "checking for XSHMFENCE... " >&6; } + +if test -n "$XSHMFENCE_CFLAGS"; then + pkg_cv_XSHMFENCE_CFLAGS="$XSHMFENCE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$XSHMFENCE\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$XSHMFENCE") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_XSHMFENCE_CFLAGS=`$PKG_CONFIG --cflags "$XSHMFENCE" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$XSHMFENCE_LIBS"; then + pkg_cv_XSHMFENCE_LIBS="$XSHMFENCE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$XSHMFENCE\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$XSHMFENCE") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_XSHMFENCE_LIBS=`$PKG_CONFIG --libs "$XSHMFENCE" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + XSHMFENCE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$XSHMFENCE" 2>&1` + else + XSHMFENCE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$XSHMFENCE" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$XSHMFENCE_PKG_ERRORS" >&5 + + HAVE_XSHMFENCE=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + HAVE_XSHMFENCE=no +else + XSHMFENCE_CFLAGS=$pkg_cv_XSHMFENCE_CFLAGS + XSHMFENCE_LIBS=$pkg_cv_XSHMFENCE_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + HAVE_XSHMFENCE=yes +fi + + if test "x$HAVE_XSHMFENCE" = xyes; then + XSHMFENCE_TRUE= + XSHMFENCE_FALSE='#' +else + XSHMFENCE_TRUE='#' + XSHMFENCE_FALSE= +fi + + +case x"$HAVE_XSHMFENCE" in + xyes) + +$as_echo "#define HAVE_XSHMFENCE 1" >>confdefs.h + + REQUIRED_LIBS="$REQUIRED_LIBS xshmfence" + ;; +esac + + +case "$DRI3,$HAVE_XSHMFENCE" in + yes,yes | auto,yes) + ;; + yes,no) + as_fn_error $? "DRI3 requested, but xshmfence not found." "$LINENO" 5 + DRI3=no + ;; + no,*) + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: DRI3 disabled because xshmfence not found." >&5 +$as_echo "$as_me: DRI3 disabled because xshmfence not found." >&6;} + DRI3=no + ;; +esac + +case x"$DRI3" in + xyes|xauto) + DRI3=yes + +$as_echo "#define DRI3 1" >>confdefs.h + + DRI3_LIB='$(top_builddir)/dri3/libdri3.la' + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI3PROTO" + { $as_echo "$as_me:${as_lineno-$LINENO}: DRI3 enabled" >&5 +$as_echo "$as_me: DRI3 enabled" >&6;}; + ;; +esac + + if test "x$DRI3" = xyes; then + DRI3_TRUE= + DRI3_FALSE='#' +else + DRI3_TRUE='#' + DRI3_FALSE= +fi + + +if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$DRI3" = xyes || test "x$CONFIG_UDEV_KMS" = xyes; then + if test "x$DRM" = xyes; then + +$as_echo "#define WITH_LIBDRM 1" >>confdefs.h + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBDRM" >&5 +$as_echo_n "checking for LIBDRM... " >&6; } + +if test -n "$LIBDRM_CFLAGS"; then + pkg_cv_LIBDRM_CFLAGS="$LIBDRM_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$LIBDRM\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$LIBDRM") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDRM_CFLAGS=`$PKG_CONFIG --cflags "$LIBDRM" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBDRM_LIBS"; then + pkg_cv_LIBDRM_LIBS="$LIBDRM_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$LIBDRM\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$LIBDRM") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBDRM_LIBS=`$PKG_CONFIG --libs "$LIBDRM" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBDRM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$LIBDRM" 2>&1` + else + LIBDRM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$LIBDRM" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBDRM_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements ($LIBDRM) were not met: + +$LIBDRM_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBDRM_CFLAGS +and LIBDRM_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBDRM_CFLAGS +and LIBDRM_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + LIBDRM_CFLAGS=$pkg_cv_LIBDRM_CFLAGS + LIBDRM_LIBS=$pkg_cv_LIBDRM_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + fi +fi + +if test "x$DRI2" = xyes; then + save_CFLAGS=$CFLAGS + CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifndef __DRI_DRI2 +#error DRI2 extension not available. +#endif +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + HAVE_DRI2EXTENSION=yes +else + HAVE_DRI2EXTENSION=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$save_CFLAGS + if test "x$HAVE_DRI2EXTENSION" = xyes; then + +$as_echo "#define DRI2_AIGLX 1" >>confdefs.h + + DRI2_AIGLX=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h." >&5 +$as_echo "$as_me: DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h." >&6;} + DRI2_AIGLX=no + fi +fi + if test "x$DRI2_AIGLX" = xyes; then + DRI2_AIGLX_TRUE= + DRI2_AIGLX_FALSE='#' +else + DRI2_AIGLX_TRUE='#' + DRI2_AIGLX_FALSE= +fi + + if test "x$GLX" = xyes; then pkg_failed=no @@ -24862,9 +25725,9 @@ fi $as_echo "#define GLXEXT 1" >>confdefs.h GLX_LIBS='$(top_builddir)/glx/libglx.la' - GLX_SYS_LIBS="$GLX_SYS_LIBS" + GLX_SYS_LIBS="$GLX_SYS_LIBS $GL_LIBS" else - GLX=no + GLX=no fi if test "x$GLX" = xyes; then GLX_TRUE= @@ -24876,15 +25739,15 @@ fi if test "x$GLX" = xno; then - AIGLX=no + AIGLX=no fi -if test "x$AIGLX" = xyes -a \( "x$DRI" = xyes -o "x$DRI2" = xyes \); then +if test "x$AIGLX" = xyes -a \( "x$DRI2" = xyes \); then $as_echo "#define AIGLX 1" >>confdefs.h fi - if { test "x$DRI" = xyes || test "x$DRI2" = xyes; } && test "x$AIGLX" = xyes; then + if { test "x$DRI2" = xyes; } && test "x$AIGLX" = xyes; then AIGLX_DRI_LOADER_TRUE= AIGLX_DRI_LOADER_FALSE='#' else @@ -24900,251 +25763,24 @@ fi - if test "x$DRI" = xyes; then - DRI_TRUE= - DRI_FALSE='#' + if test "x$PRESENT" = xyes; then + PRESENT_TRUE= + PRESENT_FALSE='#' else - DRI_TRUE='#' - DRI_FALSE= + PRESENT_TRUE='#' + PRESENT_FALSE= fi -if test "x$DRI" = xyes; then +if test "x$PRESENT" = xyes; then -$as_echo "#define XF86DRI 1" >>confdefs.h +$as_echo "#define PRESENT 1" >>confdefs.h - REQUIRED_MODULES="$REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI" - SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRIPROTO $GLPROTO $LIBDRI" + REQUIRED_MODULES="$REQUIRED_MODULES $PRESENTPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $PRESENTPROTO" + PRESENT_INC='-I$(top_srcdir)/present' + PRESENT_LIB='$(top_builddir)/present/libpresent.la' fi - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DRI2PROTO" >&5 -$as_echo_n "checking for DRI2PROTO... " >&6; } - -if test -n "$DRI2PROTO_CFLAGS"; then - pkg_cv_DRI2PROTO_CFLAGS="$DRI2PROTO_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$DRI2PROTO\""; } >&5 - ($PKG_CONFIG --exists --print-errors "$DRI2PROTO") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_DRI2PROTO_CFLAGS=`$PKG_CONFIG --cflags "$DRI2PROTO" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$DRI2PROTO_LIBS"; then - pkg_cv_DRI2PROTO_LIBS="$DRI2PROTO_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$DRI2PROTO\""; } >&5 - ($PKG_CONFIG --exists --print-errors "$DRI2PROTO") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_DRI2PROTO_LIBS=`$PKG_CONFIG --libs "$DRI2PROTO" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - DRI2PROTO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$DRI2PROTO" 2>&1` - else - DRI2PROTO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$DRI2PROTO" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$DRI2PROTO_PKG_ERRORS" >&5 - - HAVE_DRI2PROTO=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - HAVE_DRI2PROTO=no -else - DRI2PROTO_CFLAGS=$pkg_cv_DRI2PROTO_CFLAGS - DRI2PROTO_LIBS=$pkg_cv_DRI2PROTO_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - HAVE_DRI2PROTO=yes -fi -case "$DRI2,$HAVE_DRI2PROTO" in - yes,no) - as_fn_error $? "DRI2 requested, but dri2proto not found." "$LINENO" 5 - ;; - yes,yes | auto,yes) - -$as_echo "#define DRI2 1" >>confdefs.h - - DRI2=yes - SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO" - ;; -esac - if test "x$DRI2" = xyes; then - DRI2_TRUE= - DRI2_FALSE='#' -else - DRI2_TRUE='#' - DRI2_FALSE= -fi - - -if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$CONFIG_UDEV_KMS" = xyes; then - if test "x$DRM" = xyes; then - -$as_echo "#define WITH_LIBDRM 1" >>confdefs.h - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBDRM" >&5 -$as_echo_n "checking for LIBDRM... " >&6; } - -if test -n "$LIBDRM_CFLAGS"; then - pkg_cv_LIBDRM_CFLAGS="$LIBDRM_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$LIBDRM\""; } >&5 - ($PKG_CONFIG --exists --print-errors "$LIBDRM") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBDRM_CFLAGS=`$PKG_CONFIG --cflags "$LIBDRM" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$LIBDRM_LIBS"; then - pkg_cv_LIBDRM_LIBS="$LIBDRM_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$LIBDRM\""; } >&5 - ($PKG_CONFIG --exists --print-errors "$LIBDRM") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBDRM_LIBS=`$PKG_CONFIG --libs "$LIBDRM" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - LIBDRM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$LIBDRM" 2>&1` - else - LIBDRM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$LIBDRM" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBDRM_PKG_ERRORS" >&5 - - as_fn_error $? "Package requirements ($LIBDRM) were not met: - -$LIBDRM_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -Alternatively, you may set the environment variables LIBDRM_CFLAGS -and LIBDRM_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details." "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -Alternatively, you may set the environment variables LIBDRM_CFLAGS -and LIBDRM_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. - -To get pkg-config, see . -See \`config.log' for more details" "$LINENO" 5; } -else - LIBDRM_CFLAGS=$pkg_cv_LIBDRM_CFLAGS - LIBDRM_LIBS=$pkg_cv_LIBDRM_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -fi - fi -fi - -if test "x$DRI2" = xyes; then - save_CFLAGS=$CFLAGS - CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#ifndef __DRI_DRI2 -#error DRI2 extension not available. -#endif -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - HAVE_DRI2EXTENSION=yes -else - HAVE_DRI2EXTENSION=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS=$save_CFLAGS - if test "x$HAVE_DRI2EXTENSION" = xyes; then - -$as_echo "#define DRI2_AIGLX 1" >>confdefs.h - - DRI2_AIGLX=yes - else - { $as_echo "$as_me:${as_lineno-$LINENO}: DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h." >&5 -$as_echo "$as_me: DRI2 AIGLX disabled, __DRI_DRI2 not defined in dri_interface.h." >&6;} - DRI2_AIGLX=no - fi -fi - if test "x$DRI2_AIGLX" = xyes; then - DRI2_AIGLX_TRUE= - DRI2_AIGLX_FALSE='#' -else - DRI2_AIGLX_TRUE='#' - DRI2_AIGLX_FALSE= -fi - - # link Xorg with pthreads for llvm-pipe driver on OpenBSD if test "x$DRI2" = xyes; then case $host_os in @@ -25403,6 +26039,7 @@ if test "x$XF86BIGFONT" = xyes; then $as_echo "#define XF86BIGFONT 1" >>confdefs.h REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $BIGFONTPROTO" fi if test "x$DPMSExtension" = xyes; then @@ -25939,7 +26576,7 @@ $as_echo "#define BIGREQS 1" >>confdefs.h if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then DIX_LIB='$(top_builddir)/dix/dix.O' - OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS)' + OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS) $(LIBUNWIND_LIBS)' else DIX_LIB='$(top_builddir)/dix/libdix.la' OS_LIB='$(top_builddir)/os/libos.la' @@ -26582,6 +27219,99 @@ $as_echo "yes" >&6; } fi + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUNWIND" >&5 +$as_echo_n "checking for LIBUNWIND... " >&6; } + +if test -n "$LIBUNWIND_CFLAGS"; then + pkg_cv_LIBUNWIND_CFLAGS="$LIBUNWIND_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libunwind\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libunwind") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBUNWIND_CFLAGS=`$PKG_CONFIG --cflags "libunwind" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBUNWIND_LIBS"; then + pkg_cv_LIBUNWIND_LIBS="$LIBUNWIND_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libunwind\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libunwind") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBUNWIND_LIBS=`$PKG_CONFIG --libs "libunwind" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBUNWIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libunwind" 2>&1` + else + LIBUNWIND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libunwind" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBUNWIND_PKG_ERRORS" >&5 + + HAVE_LIBUNWIND=no +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + HAVE_LIBUNWIND=no +else + LIBUNWIND_CFLAGS=$pkg_cv_LIBUNWIND_CFLAGS + LIBUNWIND_LIBS=$pkg_cv_LIBUNWIND_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + HAVE_LIBUNWIND=yes +fi +if test "x$LIBUNWIND" = "xauto"; then + LIBUNWIND="$HAVE_LIBUNWIND" +fi + +if test "x$LIBUNWIND" = "xyes"; then + if test "x$HAVE_LIBUNWIND" != "xyes"; then + as_fn_error $? "libunwind requested but not installed." "$LINENO" 5 + fi + +$as_echo "#define HAVE_LIBUNWIND 1" >>confdefs.h + +fi + + if test "x$LIBUNWIND" = xyes; then + HAVE_LIBUNWIND_TRUE= + HAVE_LIBUNWIND_FALSE='#' +else + HAVE_LIBUNWIND_TRUE='#' + HAVE_LIBUNWIND_FALSE= +fi + + # Autotools has some unfortunate issues with library handling. In order to # get a server to rebuild when a dependency in the tree is changed, it must # be listed in SERVERNAME_DEPENDENCIES. However, no system libraries may be @@ -26731,7 +27461,7 @@ fi rm -f conftest* -XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SYNC_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC $DBE_INC" +XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SYNC_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC $DBE_INC $PRESENT_INC" @@ -26749,7 +27479,7 @@ fi if test "x$XVFB" = xyes; then - XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB" + XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB" XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS" @@ -26848,7 +27578,7 @@ if test "x$XNEST" = xyes; then if test "x$have_xnest" = xno; then as_fn_error $? "Xnest build explicitly requested, but required modules not found." "$LINENO" 5 fi - XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB" + XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB" XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS" @@ -26874,7 +27604,7 @@ if test "x$XORG" = xyes; then XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os' XORG_INCS="$XORG_DDXINCS $XORG_OSINCS" XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H" - XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB" + XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB" symbol_visibility= have_visibility=disabled @@ -26934,7 +27664,6 @@ $as_echo "$have_visibility" >&6; } $as_echo_n "checking whether to build Xorg PCI functions... " >&6; } if test "x$PCI" = xyes; then - pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PCIACCESS" >&5 $as_echo_n "checking for PCIACCESS... " >&6; } @@ -27025,9 +27754,9 @@ else $as_echo "yes" >&6; } fi - SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS" - XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS $LIBDRM_LIBS" - XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS $LIBDRM_CFLAGS" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS" + XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS $LIBDRM_LIBS" + XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS $LIBDRM_CFLAGS" $as_echo "#define XSERVER_LIBPCIACCESS 1" >>confdefs.h @@ -27049,23 +27778,30 @@ _ACEOF test "$prefix_NONE" && prefix=NONE test "$exec_prefix_NONE" && exec_prefix=NONE - case $host_os in - gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*) - xorg_bus_bsdpci="yes" - ;; - esac - case $host_cpu in - sparc*) case $host_os in - openbsd*) - xorg_bus_sparc="no" - ;; - *) - xorg_bus_sparc="yes" - ;; + gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*) + xorg_bus_bsdpci="yes" + ;; esac - ;; - esac + case $host_cpu in + sparc*) + case $host_os in + openbsd*) + xorg_bus_sparc="no" + ;; + *) + xorg_bus_sparc="yes" + ;; + esac + ;; + esac + else + if test "x$CONFIG_UDEV_KMS" = xyes; then + as_fn_error $? "Platform device enumeration requires libpciaccess" "$LINENO" 5 + fi + if test "x$INT10MODULE" = xyes && test "x$INT10" != xstub; then + as_fn_error $? "Cannot build int10 without libpciaccess" "$LINENO" 5 + fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCI" >&5 $as_echo "$PCI" >&6; } @@ -27080,9 +27816,6 @@ $as_echo "$XSERVER_PLATFORM_BUS" >&6; } case $host_os in linux*) - if test "x$LNXAPM" = xyes; then - XORG_CFLAGS="$XORG_CFLAGS -DXF86PM" - fi XORG_OS_SUBDIR="linux" linux_acpi="no" case $host_cpu in @@ -27090,11 +27823,28 @@ $as_echo "$XSERVER_PLATFORM_BUS" >&6; } linux_alpha=yes ;; i*86|amd64*|x86_64*|ia64*) - linux_acpi="yes" + linux_acpi=$enable_linux_acpi ;; *) ;; esac + for ac_header in linux/apm_bios.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "linux/apm_bios.h" "ac_cv_header_linux_apm_bios_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_apm_bios_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LINUX_APM_BIOS_H 1 +_ACEOF + linux_apm=$enable_linux_apm +fi + +done + + if test "x$linux_apm" = xyes -o "x$linux_acpi" = xyes; then + +$as_echo "#define XF86PM 1" >>confdefs.h + + fi ;; freebsd* | kfreebsd*-gnu | dragonfly*) XORG_OS_SUBDIR="bsd" @@ -27152,9 +27902,6 @@ $as_echo "Solaris \`echo ${host_os}|$SED -e 's/^.*solaris//\`" >&6; } if test "${OS_MINOR}" -lt 8 ; then as_fn_error $? "This release no longer supports Solaris versions older than Solaris 8." "$LINENO" 5 fi - if test "x$SUNCC" = "xyes"; then - solaris_asm_inline="yes" - fi ac_fn_c_check_decl "$LINENO" "_LP64" "ac_cv_have_decl__LP64" "$ac_includes_default" if test "x$ac_cv_have_decl__LP64" = xyes; then : SOLARIS_64="yes" @@ -27181,11 +27928,6 @@ fi xorg@lists.freedesktop.org." "$LINENO" 5 ;; esac - if test x$solaris_asm_inline = xyes ; then - SOLARIS_ASM_CFLAGS='$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il' - XORG_CFLAGS="${XORG_CFLAGS} "'$(SOLARIS_ASM_CFLAGS)' - fi - ;; gnu*) XORG_OS_SUBDIR="hurd" @@ -27863,12 +28605,12 @@ else LNXACPI_FALSE= fi - if test "x$solaris_asm_inline" = xyes; then - SOLARIS_ASM_INLINE_TRUE= - SOLARIS_ASM_INLINE_FALSE='#' + if test "x$linux_apm" = xyes; then + LNXAPM_TRUE= + LNXAPM_FALSE='#' else - SOLARIS_ASM_INLINE_TRUE='#' - SOLARIS_ASM_INLINE_FALSE= + LNXAPM_TRUE='#' + LNXAPM_FALSE= fi if test "x$solaris_vt" = xyes; then @@ -28275,8 +29017,8 @@ $as_echo "#define HAS_WINSOCK 1" >>confdefs.h ;; esac - XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB" - XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS $GLX_SYS_LIBS" + XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB" + XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS" @@ -28301,6 +29043,54 @@ $as_echo "#define DDXBEFORERESET 1" >>confdefs.h if test "x$XWIN" = xyes && test "x$AIGLX" = xyes ; then + # Extract the first word of "python3", so it can be a program name with args. +set dummy python3; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_PYTHON3+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PYTHON3"; then + ac_cv_prog_PYTHON3="$PYTHON3" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_PYTHON3="python3" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +PYTHON3=$ac_cv_prog_PYTHON3 +if test -n "$PYTHON3"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON3" >&5 +$as_echo "$PYTHON3" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test -z "$PYTHON3"; then + as_fn_error $? "python3 not found" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python module lxml" >&5 +$as_echo_n "checking for python module lxml... " >&6; } + $PYTHON3 -c "import lxml;" + if test $? -ne 0 ; then + as_fn_error $? "not found" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } if test "x$KHRONOS_SPEC_DIR" = "xauto" ; then pkg_failed=no @@ -28480,7 +29270,7 @@ $as_echo "#define XQUARTZ 1" >>confdefs.h $as_echo "#define ROOTLESS 1" >>confdefs.h - XQUARTZ_LIBS="$MAIN_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB" + XQUARTZ_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $PRESENT_LIB" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xp_init in -lXplugin" >&5 @@ -28802,12 +29592,12 @@ if test -n "$DMXMODULES_CFLAGS"; then pkg_cv_DMXMODULES_CFLAGS="$DMXMODULES_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu \$LIBXEXT x11 xrender xfixes \$LIBXI \$DMXPROTO xau \$XDMCP_MODULES\""; } >&5 - ($PKG_CONFIG --exists --print-errors "xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu \$LIBXEXT x11 >= 1.6 xrender xfixes \$LIBXI \$DMXPROTO xau \$XDMCP_MODULES\""; } >&5 + ($PKG_CONFIG --exists --print-errors "xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_DMXMODULES_CFLAGS=`$PKG_CONFIG --cflags "xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>/dev/null` + pkg_cv_DMXMODULES_CFLAGS=`$PKG_CONFIG --cflags "xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -28819,12 +29609,12 @@ if test -n "$DMXMODULES_LIBS"; then pkg_cv_DMXMODULES_LIBS="$DMXMODULES_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu \$LIBXEXT x11 xrender xfixes \$LIBXI \$DMXPROTO xau \$XDMCP_MODULES\""; } >&5 - ($PKG_CONFIG --exists --print-errors "xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xmuu \$LIBXEXT x11 >= 1.6 xrender xfixes \$LIBXI \$DMXPROTO xau \$XDMCP_MODULES\""; } >&5 + ($PKG_CONFIG --exists --print-errors "xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_DMXMODULES_LIBS=`$PKG_CONFIG --libs "xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>/dev/null` + pkg_cv_DMXMODULES_LIBS=`$PKG_CONFIG --libs "xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -28845,9 +29635,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - DMXMODULES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>&1` + DMXMODULES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>&1` else - DMXMODULES_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>&1` + DMXMODULES_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DMXMODULES_PKG_ERRORS" >&5 @@ -28962,7 +29752,7 @@ if test "x$DMX" = xyes; then fi DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC" XDMX_CFLAGS="$DMXMODULES_CFLAGS" - XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB" + XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB" XDMX_SYS_LIBS="$DMXMODULES_LIBS" @@ -29749,12 +30539,12 @@ $as_echo "#define KDRIVE_MOUSE 1" >>confdefs.h fi - XEPHYR_REQUIRED_LIBS="x11 $LIBXEXT xau xdmcp" + XEPHYR_REQUIRED_LIBS="xau xdmcp xcb xcb-shape xcb-aux xcb-image xcb-icccm xcb-shm xcb-keysyms" if test "x$XV" = xyes; then - XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv" + XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xcb-xv" fi if test "x$DRI" = xyes && test "x$GLX" = xyes; then - XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBGL libdrm" + XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS libdrm xcb-glx xcb-xf86dri > 1.6" fi if test "x$XEPHYR" = xauto; then @@ -29979,7 +30769,7 @@ fi KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS" - KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB" + KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB" KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la' case $host_os in *linux*) @@ -30196,7 +30986,7 @@ $as_echo "$as_me: WARNING: ***********************************************" >&2;} fi -ac_config_files="$ac_config_files Makefile glx/Makefile include/Makefile composite/Makefile damageext/Makefile dbe/Makefile dix/Makefile doc/Makefile doc/dtrace/Makefile man/Makefile fb/Makefile record/Makefile config/Makefile mi/Makefile miext/Makefile miext/sync/Makefile miext/damage/Makefile miext/shadow/Makefile miext/rootless/Makefile os/Makefile randr/Makefile render/Makefile xkb/Makefile Xext/Makefile Xi/Makefile xfixes/Makefile exa/Makefile hw/Makefile hw/xfree86/Makefile hw/xfree86/common/Makefile hw/xfree86/common/xf86Build.h hw/xfree86/ddc/Makefile hw/xfree86/dixmods/Makefile hw/xfree86/doc/Makefile hw/xfree86/dri/Makefile hw/xfree86/dri2/Makefile hw/xfree86/exa/Makefile hw/xfree86/exa/man/Makefile hw/xfree86/fbdevhw/Makefile hw/xfree86/fbdevhw/man/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile hw/xfree86/man/Makefile hw/xfree86/modes/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bsd/Makefile hw/xfree86/os-support/bus/Makefile hw/xfree86/os-support/hurd/Makefile hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/solaris/Makefile hw/xfree86/os-support/stub/Makefile hw/xfree86/parser/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/shadowfb/Makefile hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile hw/dmx/doxygen/doxygen.conf hw/dmx/doxygen/Makefile hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile hw/dmx/Makefile hw/dmx/man/Makefile hw/vfb/Makefile hw/vfb/man/Makefile hw/xnest/Makefile hw/xnest/man/Makefile hw/xwin/Makefile hw/xwin/glx/Makefile hw/xwin/man/Makefile hw/xquartz/Makefile hw/xquartz/GL/Makefile hw/xquartz/bundle/Makefile hw/xquartz/man/Makefile hw/xquartz/mach-startup/Makefile hw/xquartz/pbproxy/Makefile hw/xquartz/xpr/Makefile hw/kdrive/Makefile hw/kdrive/ephyr/Makefile hw/kdrive/ephyr/man/Makefile hw/kdrive/fake/Makefile hw/kdrive/fbdev/Makefile hw/kdrive/linux/Makefile hw/kdrive/openbsd/Makefile hw/kdrive/src/Makefile hw/kdrive/wscons/Makefile test/Makefile test/xi2/Makefile xserver.ent xorg-server.pc" +ac_config_files="$ac_config_files Makefile glx/Makefile include/Makefile composite/Makefile damageext/Makefile dbe/Makefile dix/Makefile doc/Makefile doc/dtrace/Makefile man/Makefile fb/Makefile record/Makefile config/Makefile mi/Makefile miext/Makefile miext/sync/Makefile miext/damage/Makefile miext/shadow/Makefile miext/rootless/Makefile os/Makefile pseudoramiX/Makefile randr/Makefile render/Makefile xkb/Makefile Xext/Makefile Xi/Makefile xfixes/Makefile exa/Makefile dri3/Makefile present/Makefile hw/Makefile hw/xfree86/Makefile hw/xfree86/common/Makefile hw/xfree86/common/xf86Build.h hw/xfree86/ddc/Makefile hw/xfree86/dixmods/Makefile hw/xfree86/doc/Makefile hw/xfree86/dri/Makefile hw/xfree86/dri2/Makefile hw/xfree86/exa/Makefile hw/xfree86/exa/man/Makefile hw/xfree86/fbdevhw/Makefile hw/xfree86/fbdevhw/man/Makefile hw/xfree86/i2c/Makefile hw/xfree86/int10/Makefile hw/xfree86/loader/Makefile hw/xfree86/man/Makefile hw/xfree86/modes/Makefile hw/xfree86/os-support/Makefile hw/xfree86/os-support/bsd/Makefile hw/xfree86/os-support/bus/Makefile hw/xfree86/os-support/hurd/Makefile hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/solaris/Makefile hw/xfree86/os-support/stub/Makefile hw/xfree86/parser/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/shadowfb/Makefile hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile hw/dmx/doxygen/doxygen.conf hw/dmx/doxygen/Makefile hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile hw/dmx/Makefile hw/dmx/man/Makefile hw/vfb/Makefile hw/vfb/man/Makefile hw/xnest/Makefile hw/xnest/man/Makefile hw/xwin/Makefile hw/xwin/glx/Makefile hw/xwin/man/Makefile hw/xquartz/Makefile hw/xquartz/GL/Makefile hw/xquartz/bundle/Makefile hw/xquartz/man/Makefile hw/xquartz/mach-startup/Makefile hw/xquartz/pbproxy/Makefile hw/xquartz/xpr/Makefile hw/kdrive/Makefile hw/kdrive/ephyr/Makefile hw/kdrive/ephyr/man/Makefile hw/kdrive/fake/Makefile hw/kdrive/fbdev/Makefile hw/kdrive/linux/Makefile hw/kdrive/openbsd/Makefile hw/kdrive/src/Makefile hw/kdrive/wscons/Makefile test/Makefile test/xi2/Makefile xserver.ent xorg-server.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -30331,6 +31121,10 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_DOT_TRUE}" && test -z "${HAVE_DOT_FALSE}"; then + as_fn_error $? "conditional \"HAVE_DOT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_DOXYGEN_TRUE}" && test -z "${HAVE_DOXYGEN_FALSE}"; then as_fn_error $? "conditional \"HAVE_DOXYGEN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30388,10 +31182,6 @@ if test -z "${AGP_TRUE}" && test -z "${AGP_FALSE}"; then as_fn_error $? "conditional \"AGP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${LNXAPM_TRUE}" && test -z "${LNXAPM_FALSE}"; then - as_fn_error $? "conditional \"LNXAPM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${FBDEVHW_TRUE}" && test -z "${FBDEVHW_FALSE}"; then as_fn_error $? "conditional \"FBDEVHW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30536,14 +31326,6 @@ if test -z "${CLIENTIDS_TRUE}" && test -z "${CLIENTIDS_FALSE}"; then as_fn_error $? "conditional \"CLIENTIDS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${GLX_TRUE}" && test -z "${GLX_FALSE}"; then - as_fn_error $? "conditional \"GLX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${AIGLX_DRI_LOADER_TRUE}" && test -z "${AIGLX_DRI_LOADER_FALSE}"; then - as_fn_error $? "conditional \"AIGLX_DRI_LOADER\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${DRI_TRUE}" && test -z "${DRI_FALSE}"; then as_fn_error $? "conditional \"DRI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30552,10 +31334,34 @@ if test -z "${DRI2_TRUE}" && test -z "${DRI2_FALSE}"; then as_fn_error $? "conditional \"DRI2\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUSFAULT_TRUE}" && test -z "${BUSFAULT_FALSE}"; then + as_fn_error $? "conditional \"BUSFAULT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${XSHMFENCE_TRUE}" && test -z "${XSHMFENCE_FALSE}"; then + as_fn_error $? "conditional \"XSHMFENCE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${DRI3_TRUE}" && test -z "${DRI3_FALSE}"; then + as_fn_error $? "conditional \"DRI3\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${DRI2_AIGLX_TRUE}" && test -z "${DRI2_AIGLX_FALSE}"; then as_fn_error $? "conditional \"DRI2_AIGLX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${GLX_TRUE}" && test -z "${GLX_FALSE}"; then + as_fn_error $? "conditional \"GLX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AIGLX_DRI_LOADER_TRUE}" && test -z "${AIGLX_DRI_LOADER_FALSE}"; then + as_fn_error $? "conditional \"AIGLX_DRI_LOADER\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${PRESENT_TRUE}" && test -z "${PRESENT_FALSE}"; then + as_fn_error $? "conditional \"PRESENT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${XINERAMA_TRUE}" && test -z "${XINERAMA_FALSE}"; then as_fn_error $? "conditional \"XINERAMA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30612,6 +31418,10 @@ if test -z "${DEBUG_TRUE}" && test -z "${DEBUG_FALSE}"; then as_fn_error $? "conditional \"DEBUG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_LIBUNWIND_TRUE}" && test -z "${HAVE_LIBUNWIND_FALSE}"; then + as_fn_error $? "conditional \"HAVE_LIBUNWIND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${CYGWIN_TRUE}" && test -z "${CYGWIN_FALSE}"; then as_fn_error $? "conditional \"CYGWIN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -30652,8 +31462,8 @@ if test -z "${LNXACPI_TRUE}" && test -z "${LNXACPI_FALSE}"; then as_fn_error $? "conditional \"LNXACPI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${SOLARIS_ASM_INLINE_TRUE}" && test -z "${SOLARIS_ASM_INLINE_FALSE}"; then - as_fn_error $? "conditional \"SOLARIS_ASM_INLINE\" was never defined. +if test -z "${LNXAPM_TRUE}" && test -z "${LNXAPM_FALSE}"; then + as_fn_error $? "conditional \"LNXAPM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${SOLARIS_VT_TRUE}" && test -z "${SOLARIS_VT_FALSE}"; then @@ -31181,7 +31991,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xorg-server $as_me 1.14.5, which was +This file was extended by xorg-server $as_me 1.15.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -31247,7 +32057,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xorg-server config.status 1.14.5 +xorg-server config.status 1.15.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -31686,6 +32496,7 @@ do "miext/shadow/Makefile") CONFIG_FILES="$CONFIG_FILES miext/shadow/Makefile" ;; "miext/rootless/Makefile") CONFIG_FILES="$CONFIG_FILES miext/rootless/Makefile" ;; "os/Makefile") CONFIG_FILES="$CONFIG_FILES os/Makefile" ;; + "pseudoramiX/Makefile") CONFIG_FILES="$CONFIG_FILES pseudoramiX/Makefile" ;; "randr/Makefile") CONFIG_FILES="$CONFIG_FILES randr/Makefile" ;; "render/Makefile") CONFIG_FILES="$CONFIG_FILES render/Makefile" ;; "xkb/Makefile") CONFIG_FILES="$CONFIG_FILES xkb/Makefile" ;; @@ -31693,6 +32504,8 @@ do "Xi/Makefile") CONFIG_FILES="$CONFIG_FILES Xi/Makefile" ;; "xfixes/Makefile") CONFIG_FILES="$CONFIG_FILES xfixes/Makefile" ;; "exa/Makefile") CONFIG_FILES="$CONFIG_FILES exa/Makefile" ;; + "dri3/Makefile") CONFIG_FILES="$CONFIG_FILES dri3/Makefile" ;; + "present/Makefile") CONFIG_FILES="$CONFIG_FILES present/Makefile" ;; "hw/Makefile") CONFIG_FILES="$CONFIG_FILES hw/Makefile" ;; "hw/xfree86/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/Makefile" ;; "hw/xfree86/common/Makefile") CONFIG_FILES="$CONFIG_FILES hw/xfree86/common/Makefile" ;; diff --git a/xserver/configure.ac b/xserver/configure.ac index 89183d338..1ce8a088a 100644 --- a/xserver/configure.ac +++ b/xserver/configure.ac @@ -26,11 +26,12 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.60) -AC_INIT([xorg-server], 1.14.5, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2013-12-12" -RELEASE_NAME="November Rain" +AC_INIT([xorg-server], 1.15.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2014-04-13" +RELEASE_NAME="Heart Candy" AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) +AC_USE_SYSTEM_EXTENSIONS # Require xorg-macros minimum of 1.14 for XORG_COMPILER_BRAND in XORG_DEFAULT_OPTIONS m4_ifndef([XORG_MACROS_VERSION], @@ -47,7 +48,7 @@ XORG_WITH_XSLTPROC XORG_ENABLE_UNIT_TESTS XORG_LD_WRAP([optional]) -m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install fontutil 1.1 or later before running autoconf/autogen])]) +m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install font-util 1.1 or later before running autoconf/autogen])]) XORG_FONT_MACROS_VERSION(1.1) dnl this gets generated by autoheader, and thus contains all the defines. we @@ -228,10 +229,6 @@ dnl AGPGART headers AC_CHECK_HEADERS([linux/agpgart.h sys/agpio.h sys/agpgart.h], AGP=yes) AM_CONDITIONAL(AGP, [test "x$AGP" = xyes]) -dnl APM header -AC_CHECK_HEADERS([linux/apm_bios.h], LNXAPM=yes) -AM_CONDITIONAL(LNXAPM, [test "x$LNXAPM" = xyes]) - dnl fbdev header AC_CHECK_HEADERS([linux/fb.h], FBDEV=yes) AM_CONDITIONAL(FBDEVHW, [test "x$FBDEV" = xyes]) @@ -300,7 +297,7 @@ AC_CHECK_HEADER([machine/apmvar.h],[ AM_CONDITIONAL(BSD_APM, [test "x$ac_cv_BSD_APM" = xyes]) AM_CONDITIONAL(BSD_KQUEUE_APM, [test "x$ac_cv_BSD_KQUEUE_APM" = xyes]) -dnl glibc backtrace support check (hw/xfree86/common/xf86Events.c) +dnl glibc backtrace support check AC_CHECK_HEADER([execinfo.h],[ AC_CHECK_LIB(c, backtrace, [ AC_DEFINE(HAVE_BACKTRACE, 1, [Has backtrace support]) @@ -644,6 +641,8 @@ AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM- AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes]) AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval]) AC_ARG_ENABLE(dri2, AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: auto)]), [DRI2=$enableval], [DRI2=auto]) +AC_ARG_ENABLE(dri3, AS_HELP_STRING([--enable-dri3], [Build DRI3 extension (default: auto)]), [DRI3=$enableval], [DRI3=auto]) +AC_ARG_ENABLE(present, AS_HELP_STRING([--disable-present], [Build Present extension (default: enabled)]), [PRESENT=$enableval], [PRESENT=yes]) AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes]) AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto]) AC_ARG_ENABLE(xace, AS_HELP_STRING([--disable-xace], [Build X-ACE extension (default: enabled)]), [XACE=$enableval], [XACE=yes]) @@ -666,6 +665,8 @@ AC_ARG_ENABLE(windowswm, AS_HELP_STRING([--enable-windowswm], [Build XWin w AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes]) AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes]) AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes]) +AC_ARG_ENABLE(linux_acpi, AC_HELP_STRING([--disable-linux-acpi], [Disable building ACPI support on Linux (if available).]), [enable_linux_acpi=$enableval], [enable_linux_acpi=yes]) +AC_ARG_ENABLE(linux_apm, AC_HELP_STRING([--disable-linux-apm], [Disable building APM support on Linux (if available).]), [enable_linux_apm=$enableval], [enable_linux_apm=yes]) dnl DDXes. AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) @@ -684,6 +685,7 @@ dnl kdrive options AC_ARG_ENABLE(kdrive-kbd, AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd driver for kdrive (default: auto)]), [KDRIVE_KBD=$enableval], [KDRIVE_KBD=auto]) AC_ARG_ENABLE(kdrive-mouse, AC_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto]) AC_ARG_ENABLE(kdrive-evdev, AC_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto]) +AC_ARG_ENABLE(libunwind, AS_HELP_STRING([--enable-libunwind], [Use libunwind for backtracing (default: auto)]), [LIBUNWIND="$enableval"], [LIBUNWIND="auto"]) dnl chown/chmod to be setuid root as part of build @@ -746,6 +748,7 @@ case $host_os in CONFIG_UDEV_KMS=no DGA=no DRI2=no + DRI3=no INT10MODULE=no PCI=no VGAHW=no @@ -763,6 +766,7 @@ case $host_os in VBE=no DRM=no DRI2=no + DRI3=no if test x$XQUARTZ = xauto; then AC_CACHE_CHECK([whether to build Xquartz],xorg_cv_Carbon_framework,[ @@ -812,20 +816,22 @@ SCRNSAVERPROTO="scrnsaverproto >= 1.1" RESOURCEPROTO="resourceproto >= 1.2.0" DRIPROTO="xf86driproto >= 2.1.0" DRI2PROTO="dri2proto >= 2.8" +DRI3PROTO="dri3proto >= 1.0" XINERAMAPROTO="xineramaproto" BIGFONTPROTO="xf86bigfontproto >= 1.2.0" DGAPROTO="xf86dgaproto >= 2.0.99.1" -GLPROTO="glproto >= 1.4.16" +GLPROTO="glproto >= 1.4.17" DMXPROTO="dmxproto >= 2.2.99.1" VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1" WINDOWSWMPROTO="windowswmproto" APPLEWMPROTO="applewmproto >= 1.4" +XSHMFENCE="xshmfence >= 1.1" dnl Required modules XPROTO="xproto >= 7.0.22" RANDRPROTO="randrproto >= 1.4.0" RENDERPROTO="renderproto >= 0.11" -XEXTPROTO="xextproto >= 7.1.99" +XEXTPROTO="xextproto >= 7.2.99.901" INPUTPROTO="inputproto >= 2.3" KBPROTO="kbproto >= 1.0.3" FONTSPROTO="fontsproto" @@ -833,7 +839,8 @@ FIXESPROTO="fixesproto >= 5.0" DAMAGEPROTO="damageproto >= 1.1" XCMISCPROTO="xcmiscproto >= 1.2.0" BIGREQSPROTO="bigreqsproto >= 1.1.0" -XTRANS="xtrans >= 1.2.2" +XTRANS="xtrans >= 1.3.2" +PRESENTPROTO="presentproto >= 1.0" dnl List of libraries that require a specific version LIBAPPLEWM="applewm >= 1.4" @@ -1066,12 +1073,14 @@ AM_CONDITIONAL(SCREENSAVER, [test "x$SCREENSAVER" = xyes]) if test "x$SCREENSAVER" = xyes; then AC_DEFINE(SCREENSAVER, 1, [Support MIT-SCREEN-SAVER extension]) REQUIRED_MODULES="$REQUIRED_MODULES $SCRNSAVERPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $SCRNSAVERPROTO" fi AM_CONDITIONAL(RES, [test "x$RES" = xyes]) if test "x$RES" = xyes; then AC_DEFINE(RES, 1, [Support X resource extension]) REQUIRED_MODULES="$REQUIRED_MODULES $RESOURCEPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $RESOURCEPROTO" fi # The XRes extension may support client ID tracking only if it has @@ -1093,34 +1102,6 @@ fi AC_MSG_RESULT([$CLIENTIDS]) AM_CONDITIONAL(CLIENTIDS, [test "x$CLIENTIDS" = xyes]) -if test "x$GLX" = xyes; then - PKG_CHECK_MODULES([XLIB], [x11]) - PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL) - AC_SUBST(XLIB_CFLAGS) - AC_DEFINE(GLXEXT, 1, [Build GLX extension]) - GLX_LIBS='$(top_builddir)/glx/libglx.la' - GLX_SYS_LIBS="$GLX_SYS_LIBS" -else - GLX=no -fi -AM_CONDITIONAL(GLX, test "x$GLX" = xyes) - -if test "x$GLX" = xno; then - AIGLX=no -fi - -if test "x$AIGLX" = xyes -a \( "x$DRI" = xyes -o "x$DRI2" = xyes \); then - AC_DEFINE(AIGLX, 1, [Build AIGLX loader]) -fi -AM_CONDITIONAL(AIGLX_DRI_LOADER, { test "x$DRI" = xyes || test "x$DRI2" = xyes; } && test "x$AIGLX" = xyes) - -if test "x$GLX_USE_TLS" = xyes ; then - GLX_DEFINES="-DGLX_USE_TLS -DPTHREADS" - GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread" -fi -AC_SUBST([GLX_DEFINES]) -AC_SUBST([GLX_SYS_LIBS]) - AM_CONDITIONAL(DRI, test "x$DRI" = xyes) if test "x$DRI" = xyes; then AC_DEFINE(XF86DRI, 1, [Build DRI extension]) @@ -1137,12 +1118,168 @@ case "$DRI2,$HAVE_DRI2PROTO" in yes,yes | auto,yes) AC_DEFINE(DRI2, 1, [Build DRI2 extension]) DRI2=yes + LIBGL="gl >= 9.2.0" SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO" ;; esac AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes) -if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$CONFIG_UDEV_KMS" = xyes; then +dnl +dnl Locate a suitable tmp file system for creating shared memeory files +dnl + +AC_ARG_WITH(shared-memory-dir, AS_HELP_STRING([--with-shared-memory-dir=PATH], [Path to directory in a world-writable temporary directory for anonymous shared memory (default: auto)]), +[], +[with_shared_memory_dir=yes]) + +shmdirs="/run/shm /var/tmp /tmp" + +case x"$with_shared_memory_dir" in +xyes) + for dir in $shmdirs; do + case x"$with_shared_memory_dir" in + xyes) + echo Checking temp dir "$dir" + if test -d "$dir"; then + with_shared_memory_dir="$dir" + fi + ;; + esac + done + ;; +x/*) + ;; +xno) + ;; +*) + AC_MSG_ERROR([Invalid directory specified for --with-shared-memory-dir: $with_shared_memory_dir]) + ;; +esac + +case x"$with_shared_memory_dir" in +xyes) + AC_MSG_ERROR([No directory found for shared memory temp files.]) + ;; +xno) + ;; +*) + AC_DEFINE_UNQUOTED(SHMDIR, ["$with_shared_memory_dir"], [Directory for shared memory temp files]) + ;; +esac + +AC_ARG_ENABLE(xtrans-send-fds, AS_HELP_STRING([--disable-xtrans-send-fds], [Use Xtrans support for fd passing (default: auto)]), [XTRANS_SEND_FDS=$enableval], [XTRANS_SEND_FDS=auto]) + +case "x$XTRANS_SEND_FDS" in +xauto) + case "$host_os" in + linux*|openbsd*|solaris*) + XTRANS_SEND_FDS=yes + ;; + *) + XTRANS_SEND_FDS=no + ;; + esac +esac + +case "x$XTRANS_SEND_FDS" in +xyes) + AC_DEFINE(XTRANS_SEND_FDS, 1, [Enable xtrans fd passing support]) + ;; +esac + +case "$DRI3,$XTRANS_SEND_FDS" in + yes,yes | auto,yes) + ;; + yes,no) + AC_MSG_ERROR([DRI3 requested, but xtrans fd passing support not found.]) + DRI3=no + ;; + no,*) + ;; + *) + AC_MSG_NOTICE([DRI3 disabled because xtrans fd passing support not found.]) + DRI3=no + ;; +esac + +PKG_CHECK_MODULES([DRI3PROTO], $DRI3PROTO, + [HAVE_DRI3PROTO=yes], [HAVE_DRI3PROTO=no]) + +case "$DRI3,$HAVE_DRI3PROTO" in + yes,yes | auto,yes) + ;; + yes,no) + AC_MSG_ERROR([DRI3 requested, but dri3proto not found.]) + DRI3=no + ;; + no,*) + ;; + *) + AC_MSG_NOTICE([DRI3 disabled because dri3proto not found.]) + DRI3=no + ;; +esac + +AC_CHECK_FUNCS([sigaction]) + +BUSFAULT=no + +case x"$ac_cv_func_sigaction" in + xyes) + AC_DEFINE(HAVE_SIGACTION, 1, [Have sigaction function]) + BUSFAULT=yes + ;; +esac + +case x"$BUSFAULT" in + xyes) + AC_DEFINE(BUSFAULT, 1, [Include busfault OS API]) + ;; +esac + +AM_CONDITIONAL(BUSFAULT, test x"$BUSFAULT" = xyes) + +PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE, + [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no]) + +AM_CONDITIONAL(XSHMFENCE, test "x$HAVE_XSHMFENCE" = xyes) + +case x"$HAVE_XSHMFENCE" in + xyes) + AC_DEFINE(HAVE_XSHMFENCE, 1, [Have X Shared Memory Fence library]) + REQUIRED_LIBS="$REQUIRED_LIBS xshmfence" + ;; +esac + + +case "$DRI3,$HAVE_XSHMFENCE" in + yes,yes | auto,yes) + ;; + yes,no) + AC_MSG_ERROR([DRI3 requested, but xshmfence not found.]) + DRI3=no + ;; + no,*) + ;; + *) + AC_MSG_NOTICE([DRI3 disabled because xshmfence not found.]) + DRI3=no + ;; +esac + +case x"$DRI3" in + xyes|xauto) + DRI3=yes + AC_DEFINE(DRI3, 1, [Build DRI3 extension]) + DRI3_LIB='$(top_builddir)/dri3/libdri3.la' + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI3PROTO" + AC_MSG_NOTICE([DRI3 enabled]); + ;; +esac + +AM_CONDITIONAL(DRI3, test "x$DRI3" = xyes) + +if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$DRI3" = xyes || test "x$CONFIG_UDEV_KMS" = xyes; then if test "x$DRM" = xyes; then AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support]) PKG_CHECK_MODULES([LIBDRM], $LIBDRM) @@ -1170,6 +1307,43 @@ if test "x$DRI2" = xyes; then fi AM_CONDITIONAL(DRI2_AIGLX, test "x$DRI2_AIGLX" = xyes) +if test "x$GLX" = xyes; then + PKG_CHECK_MODULES([XLIB], [x11]) + PKG_CHECK_MODULES([GL], $GLPROTO $LIBGL) + AC_SUBST(XLIB_CFLAGS) + AC_DEFINE(GLXEXT, 1, [Build GLX extension]) + GLX_LIBS='$(top_builddir)/glx/libglx.la' + GLX_SYS_LIBS="$GLX_SYS_LIBS $GL_LIBS" +else + GLX=no +fi +AM_CONDITIONAL(GLX, test "x$GLX" = xyes) + +if test "x$GLX" = xno; then + AIGLX=no +fi + +if test "x$AIGLX" = xyes -a \( "x$DRI2" = xyes \); then + AC_DEFINE(AIGLX, 1, [Build AIGLX loader]) +fi +AM_CONDITIONAL(AIGLX_DRI_LOADER, { test "x$DRI2" = xyes; } && test "x$AIGLX" = xyes) + +if test "x$GLX_USE_TLS" = xyes ; then + GLX_DEFINES="-DGLX_USE_TLS -DPTHREADS" + GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread" +fi +AC_SUBST([GLX_DEFINES]) +AC_SUBST([GLX_SYS_LIBS]) + +AM_CONDITIONAL(PRESENT, [test "x$PRESENT" = xyes]) +if test "x$PRESENT" = xyes; then + AC_DEFINE(PRESENT, 1, [Support Present extension]) + REQUIRED_MODULES="$REQUIRED_MODULES $PRESENTPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $PRESENTPROTO" + PRESENT_INC='-I$(top_srcdir)/present' + PRESENT_LIB='$(top_builddir)/present/libpresent.la' +fi + # link Xorg with pthreads for llvm-pipe driver on OpenBSD if test "x$DRI2" = xyes; then case $host_os in @@ -1223,6 +1397,7 @@ AM_CONDITIONAL(XF86BIGFONT, [test "x$XF86BIGFONT" = xyes]) if test "x$XF86BIGFONT" = xyes; then AC_DEFINE(XF86BIGFONT, 1, [Support XF86 Big font extension]) REQUIRED_MODULES="$REQUIRED_MODULES $BIGFONTPROTO" + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $BIGFONTPROTO" fi AM_CONDITIONAL(DPMSExtension, [test "x$DPMSExtension" = xyes]) @@ -1382,7 +1557,7 @@ AC_DEFINE(BIGREQS, 1, [Support BigRequests extension]) if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then DIX_LIB='$(top_builddir)/dix/dix.O' - OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS)' + OS_LIB='$(top_builddir)/os/os.O $(SHA1_LIBS) $(DLOPEN_LIBS) $(LIBUNWIND_LIBS)' else DIX_LIB='$(top_builddir)/dix/libdix.la' OS_LIB='$(top_builddir)/os/libos.la' @@ -1525,6 +1700,20 @@ AC_SUBST(SHA1_CFLAGS) PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS]) PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS]) +PKG_CHECK_MODULES(LIBUNWIND, libunwind, [HAVE_LIBUNWIND=yes], [HAVE_LIBUNWIND=no]) +if test "x$LIBUNWIND" = "xauto"; then + LIBUNWIND="$HAVE_LIBUNWIND" +fi + +if test "x$LIBUNWIND" = "xyes"; then + if test "x$HAVE_LIBUNWIND" != "xyes"; then + AC_MSG_ERROR([libunwind requested but not installed.]) + fi + AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support]) +fi + +AM_CONDITIONAL(HAVE_LIBUNWIND, [test "x$LIBUNWIND" = xyes]) + # Autotools has some unfortunate issues with library handling. In order to # get a server to rebuild when a dependency in the tree is changed, it must # be listed in SERVERNAME_DEPENDENCIES. However, no system libraries may be @@ -1612,7 +1801,7 @@ AC_EGREP_CPP([I_AM_SVR4],[ AC_DEFINE([SVR4],1,[Define to 1 on systems derived from System V Release 4]) AC_MSG_RESULT([yes])], AC_MSG_RESULT([no])) -XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SYNC_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC $DBE_INC" +XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SYNC_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC $DBE_INC $PRESENT_INC" dnl --------------------------------------------------------------------------- dnl DDX section. @@ -1625,7 +1814,7 @@ AC_MSG_RESULT([$XVFB]) AM_CONDITIONAL(XVFB, [test "x$XVFB" = xyes]) if test "x$XVFB" = xyes; then - XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB" + XVFB_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB" XVFB_SYS_LIBS="$XVFBMODULES_LIBS $GLX_SYS_LIBS" AC_SUBST([XVFB_LIBS]) AC_SUBST([XVFB_SYS_LIBS]) @@ -1646,7 +1835,7 @@ if test "x$XNEST" = xyes; then if test "x$have_xnest" = xno; then AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.]) fi - XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB" + XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $DIX_LIB $OS_LIB" XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS" AC_SUBST([XNEST_LIBS]) AC_SUBST([XNEST_SYS_LIBS]) @@ -1671,7 +1860,7 @@ if test "x$XORG" = xyes; then XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os' XORG_INCS="$XORG_DDXINCS $XORG_OSINCS" XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H" - XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB" + XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB" dnl ================================================================== dnl symbol visibility @@ -1722,31 +1911,37 @@ if test "x$XORG" = xyes; then AC_MSG_CHECKING([whether to build Xorg PCI functions]) if test "x$PCI" = xyes; then + PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS) + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS" + XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS $LIBDRM_LIBS" + XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS $LIBDRM_CFLAGS" - PKG_CHECK_MODULES([PCIACCESS], $LIBPCIACCESS) - SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $LIBPCIACCESS" - XORG_SYS_LIBS="$XORG_SYS_LIBS $PCIACCESS_LIBS $GLX_SYS_LIBS $LIBDRM_LIBS" - XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS $LIBDRM_CFLAGS" - - AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation]) - AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path]) - case $host_os in - gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*) - xorg_bus_bsdpci="yes" - ;; - esac - case $host_cpu in - sparc*) + AC_DEFINE(XSERVER_LIBPCIACCESS, 1, [Use libpciaccess for all pci manipulation]) + AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path]) case $host_os in - openbsd*) - xorg_bus_sparc="no" - ;; - *) - xorg_bus_sparc="yes" - ;; + gnu* | freebsd* | kfreebsd*-gnu | netbsd* | openbsd* | solaris* | dragonfly*) + xorg_bus_bsdpci="yes" + ;; esac - ;; - esac + case $host_cpu in + sparc*) + case $host_os in + openbsd*) + xorg_bus_sparc="no" + ;; + *) + xorg_bus_sparc="yes" + ;; + esac + ;; + esac + else + if test "x$CONFIG_UDEV_KMS" = xyes; then + AC_MSG_ERROR([Platform device enumeration requires libpciaccess]) + fi + if test "x$INT10MODULE" = xyes && test "x$INT10" != xstub; then + AC_MSG_ERROR([Cannot build int10 without libpciaccess]) + fi fi AC_MSG_RESULT([$PCI]) @@ -1760,9 +1955,6 @@ if test "x$XORG" = xyes; then case $host_os in linux*) - if test "x$LNXAPM" = xyes; then - XORG_CFLAGS="$XORG_CFLAGS -DXF86PM" - fi XORG_OS_SUBDIR="linux" linux_acpi="no" case $host_cpu in @@ -1770,11 +1962,16 @@ if test "x$XORG" = xyes; then linux_alpha=yes ;; i*86|amd64*|x86_64*|ia64*) - linux_acpi="yes" + linux_acpi=$enable_linux_acpi ;; *) ;; esac + dnl APM header + AC_CHECK_HEADERS([linux/apm_bios.h], [linux_apm=$enable_linux_apm]) + if test "x$linux_apm" = xyes -o "x$linux_acpi" = xyes; then + AC_DEFINE(XF86PM, 1, [Support APM/ACPI power management in the server]) + fi ;; freebsd* | kfreebsd*-gnu | dragonfly*) XORG_OS_SUBDIR="bsd" @@ -1805,9 +2002,6 @@ if test "x$XORG" = xyes; then if test "${OS_MINOR}" -lt 8 ; then AC_MSG_ERROR([This release no longer supports Solaris versions older than Solaris 8.]) fi - if test "x$SUNCC" = "xyes"; then - solaris_asm_inline="yes" - fi AC_CHECK_DECL([_LP64], [SOLARIS_64="yes"], [SOLARIS_64="no"]) case $host_cpu in @@ -1828,11 +2022,6 @@ if test "x$XORG" = xyes; then xorg@lists.freedesktop.org.]) ;; esac AC_SUBST([SOLARIS_INOUT_ARCH]) - if test x$solaris_asm_inline = xyes ; then - SOLARIS_ASM_CFLAGS='$(top_srcdir)/hw/xfree86/os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il' - XORG_CFLAGS="${XORG_CFLAGS} "'$(SOLARIS_ASM_CFLAGS)' - fi - AC_SUBST([SOLARIS_ASM_CFLAGS]) ;; gnu*) XORG_OS_SUBDIR="hurd" @@ -1932,7 +2121,7 @@ AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes]) AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes]) AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes]) AM_CONDITIONAL([LNXACPI], [test "x$linux_acpi" = xyes]) -AM_CONDITIONAL([SOLARIS_ASM_INLINE], [test "x$solaris_asm_inline" = xyes]) +AM_CONDITIONAL([LNXAPM], [test "x$linux_apm" = xyes]) AM_CONDITIONAL([SOLARIS_VT], [test "x$solaris_vt" = xyes]) AM_CONDITIONAL([DGA], [test "x$DGA" = xyes]) AM_CONDITIONAL([XF86VIDMODE], [test "x$XF86VIDMODE" = xyes]) @@ -1980,8 +2169,8 @@ if test "x$XWIN" = xyes; then ;; esac - XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB" - XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS $GLX_SYS_LIBS" + XWIN_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DAMAGE_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $OS_LIB" + XWIN_SYS_LIBS="$XWIN_SYS_LIBS $XWINMODULES_LIBS" AC_SUBST(XWIN_LIBS) AC_SUBST(XWIN_SERVER_NAME) AC_SUBST(XWIN_SYS_LIBS) @@ -1997,6 +2186,16 @@ if test "x$XWIN" = xyes; then dnl XWin with AIGLX requires OpenGL spec files in order to generate wrapper code for native GL functions if [test "x$XWIN" = xyes && test "x$AIGLX" = xyes] ; then + AC_CHECK_PROG(PYTHON3, python3, python3) + if test -z "$PYTHON3"; then + AC_MSG_ERROR([python3 not found]) + fi + AC_MSG_CHECKING(for python module lxml) + $PYTHON3 -c "import lxml;" + if test $? -ne 0 ; then + AC_MSG_ERROR([not found]) + fi + AC_MSG_RESULT(yes) if test "x$KHRONOS_SPEC_DIR" = "xauto" ; then PKG_CHECK_MODULES([KHRONOS_OPENGL_REGISTRY], [khronos-opengl-registry]) KHRONOS_SPEC_DIR=`pkg-config khronos-opengl-registry --variable=specdir` @@ -2020,7 +2219,7 @@ if test "x$XQUARTZ" = xyes; then AC_DEFINE(XQUARTZ,1,[Have Quartz]) AC_DEFINE(ROOTLESS,1,[Build Rootless code]) - XQUARTZ_LIBS="$MAIN_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB" + XQUARTZ_LIBS="$FB_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $PRESENT_LIB" AC_SUBST([XQUARTZ_LIBS]) AC_CHECK_LIB([Xplugin],[xp_init],[:]) @@ -2056,7 +2255,7 @@ AM_CONDITIONAL(STANDALONE_XPBPROXY, [test "x$STANDALONE_XPBPROXY" = xyes]) dnl DMX DDX PKG_CHECK_MODULES( [DMXMODULES], - [xmuu $LIBXEXT x11 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES], + [xmuu $LIBXEXT x11 >= 1.6 xrender xfixes $LIBXI $DMXPROTO xau $XDMCP_MODULES], [PKG_CHECK_MODULES( [XDMXCONFIG_DEP], [xaw7 xmu xt xpm x11], @@ -2082,7 +2281,7 @@ if test "x$DMX" = xyes; then fi DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC" XDMX_CFLAGS="$DMXMODULES_CFLAGS" - XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB" + XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB" XDMX_SYS_LIBS="$DMXMODULES_LIBS" AC_SUBST([XDMX_CFLAGS]) AC_SUBST([XDMX_LIBS]) @@ -2165,12 +2364,12 @@ if test "$KDRIVE" = yes; then AC_DEFINE(KDRIVE_MOUSE, 1, [Enable KDrive mouse driver]) fi - XEPHYR_REQUIRED_LIBS="x11 $LIBXEXT xau xdmcp" + XEPHYR_REQUIRED_LIBS="xau xdmcp xcb xcb-shape xcb-aux xcb-image xcb-icccm xcb-shm xcb-keysyms" if test "x$XV" = xyes; then - XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xv" + XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS xcb-xv" fi if test "x$DRI" = xyes && test "x$GLX" = xyes; then - XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS $LIBGL libdrm" + XEPHYR_REQUIRED_LIBS="$XEPHYR_REQUIRED_LIBS libdrm xcb-glx xcb-xf86dri > 1.6" fi if test "x$XEPHYR" = xauto; then @@ -2191,7 +2390,7 @@ if test "$KDRIVE" = yes; then KDRIVE_CFLAGS="$XSERVER_CFLAGS -DHAVE_KDRIVE_CONFIG_H $TSLIB_CFLAGS" - KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB" + KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $OS_LIB" KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.la' case $host_os in *linux*) @@ -2299,7 +2498,7 @@ if test "x$CONFIG_HAL" = xno && test "x$CONFIG_UDEV" = xno; then ***********************************************]) fi -AC_OUTPUT([ +AC_CONFIG_FILES([ Makefile glx/Makefile include/Makefile @@ -2320,6 +2519,7 @@ miext/damage/Makefile miext/shadow/Makefile miext/rootless/Makefile os/Makefile +pseudoramiX/Makefile randr/Makefile render/Makefile xkb/Makefile @@ -2327,6 +2527,8 @@ Xext/Makefile Xi/Makefile xfixes/Makefile exa/Makefile +dri3/Makefile +present/Makefile hw/Makefile hw/xfree86/Makefile hw/xfree86/common/Makefile @@ -2401,3 +2603,4 @@ test/xi2/Makefile xserver.ent xorg-server.pc ]) +AC_OUTPUT diff --git a/xserver/damageext/Makefile.in b/xserver/damageext/Makefile.in index 2761eaaba..e1022b183 100644 --- a/xserver/damageext/Makefile.in +++ b/xserver/damageext/Makefile.in @@ -178,9 +178,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -212,6 +215,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -241,6 +245,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -284,6 +290,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -297,12 +304,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -368,6 +375,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/damageext/damageext.c b/xserver/damageext/damageext.c index a942ffa68..5650953f2 100644 --- a/xserver/damageext/damageext.c +++ b/xserver/damageext/damageext.c @@ -1,5 +1,6 @@ /* * Copyright © 2002 Keith Packard + * Copyright 2013 Red Hat, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -25,26 +26,76 @@ #endif #include "damageextint.h" +#include "damagestr.h" #include "protocol-versions.h" #include "extinit.h" +#ifdef PANORAMIX +#include "panoramiX.h" +#include "panoramiXsrv.h" + +typedef struct { + DamageExtPtr ext; + DamagePtr damage[MAXSCREENS]; +} PanoramiXDamageRes; + +static RESTYPE XRT_DAMAGE; +static int (*PanoramiXSaveDamageCreate) (ClientPtr); + +#endif + static unsigned char DamageReqCode; static int DamageEventBase; static RESTYPE DamageExtType; -static RESTYPE DamageExtWinType; static DevPrivateKeyRec DamageClientPrivateKeyRec; #define DamageClientPrivateKey (&DamageClientPrivateKeyRec) +static void +DamageNoteCritical(ClientPtr pClient) +{ + DamageClientPtr pDamageClient = GetDamageClient(pClient); + + /* Composite extension marks clients with manual Subwindows as critical */ + if (pDamageClient->critical > 0) { + SetCriticalOutputPending(); + pClient->smart_priority = SMART_MAX_PRIORITY; + } +} + +static void +damageGetGeometry(DrawablePtr draw, int *x, int *y, int *w, int *h) +{ +#ifdef PANORAMIX + if (!noPanoramiXExtension && draw->type == DRAWABLE_WINDOW) { + WindowPtr win = (WindowPtr)draw; + + if (!win->parent) { + *x = screenInfo.x; + *y = screenInfo.y; + *w = screenInfo.width; + *h = screenInfo.height; + return; + } + } +#endif + + *x = draw->x; + *y = draw->y; + *w = draw->width; + *h = draw->height; +} + static void DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) { ClientPtr pClient = pDamageExt->pClient; - DamageClientPtr pDamageClient = GetDamageClient(pClient); DrawablePtr pDrawable = pDamageExt->pDrawable; xDamageNotifyEvent ev; - int i; + int i, x, y, w, h; + + damageGetGeometry(pDrawable, &x, &y, &w, &h); UpdateCurrentTimeIf(); ev = (xDamageNotifyEvent) { @@ -53,10 +104,10 @@ DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) .drawable = pDamageExt->drawable, .damage = pDamageExt->id, .timestamp = currentTime.milliseconds, - .geometry.x = pDrawable->x, - .geometry.y = pDrawable->y, - .geometry.width = pDrawable->width, - .geometry.height = pDrawable->height + .geometry.x = x, + .geometry.y = y, + .geometry.width = w, + .geometry.height = h }; if (pBoxes) { for (i = 0; i < nBoxes; i++) { @@ -73,15 +124,12 @@ DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) else { ev.area.x = 0; ev.area.y = 0; - ev.area.width = pDrawable->width; - ev.area.height = pDrawable->height; + ev.area.width = w; + ev.area.height = h; WriteEventsToClient(pClient, 1, (xEvent *) &ev); } - /* Composite extension marks clients with manual Subwindows as critical */ - if (pDamageClient->critical > 0) { - SetCriticalOutputPending(); - pClient->smart_priority = SMART_MAX_PRIORITY; - } + + DamageNoteCritical(pClient); } static void @@ -163,23 +211,62 @@ ProcDamageQueryVersion(ClientPtr client) return Success; } -static int -ProcDamageCreate(ClientPtr client) +static void +DamageExtRegister(DrawablePtr pDrawable, DamagePtr pDamage, Bool report) +{ + DamageSetReportAfterOp(pDamage, TRUE); + DamageRegister(pDrawable, pDamage); + + if (report) { + RegionPtr pRegion = &((WindowPtr) pDrawable)->borderClip; + RegionTranslate(pRegion, -pDrawable->x, -pDrawable->y); + DamageReportDamage(pDamage, pRegion); + RegionTranslate(pRegion, pDrawable->x, pDrawable->y); + } +} + +static DamageExtPtr +DamageExtCreate(DrawablePtr pDrawable, DamageReportLevel level, + ClientPtr client, XID id, XID drawable) +{ + DamageExtPtr pDamageExt = malloc(sizeof(DamageExtRec)); + if (!pDamageExt) + return NULL; + + pDamageExt->id = id; + pDamageExt->drawable = drawable; + pDamageExt->pDrawable = pDrawable; + pDamageExt->level = level; + pDamageExt->pClient = client; + pDamageExt->pDamage = DamageCreate(DamageExtReport, DamageExtDestroy, level, + FALSE, pDrawable->pScreen, pDamageExt); + if (!pDamageExt->pDamage) { + free(pDamageExt); + return NULL; + } + + if (!AddResource(id, DamageExtType, (pointer) pDamageExt)) + return NULL; + + DamageExtRegister(pDrawable, pDamageExt->pDamage, + pDrawable->type == DRAWABLE_WINDOW); + + return pDamageExt; +} + +static DamageExtPtr +doDamageCreate(ClientPtr client, int *rc) { DrawablePtr pDrawable; DamageExtPtr pDamageExt; DamageReportLevel level; - RegionPtr pRegion; - int rc; REQUEST(xDamageCreateReq); - REQUEST_SIZE_MATCH(xDamageCreateReq); - LEGAL_NEW_RESOURCE(stuff->damage, client); - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixGetAttrAccess | DixReadAccess); - if (rc != Success) - return rc; + *rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + DixGetAttrAccess | DixReadAccess); + if (*rc != Success) + return NULL; switch (stuff->level) { case XDamageReportRawRectangles: @@ -196,37 +283,27 @@ ProcDamageCreate(ClientPtr client) break; default: client->errorValue = stuff->level; - return BadValue; + *rc = BadValue; + return NULL; } - pDamageExt = malloc(sizeof(DamageExtRec)); + pDamageExt = DamageExtCreate(pDrawable, level, client, stuff->damage, + stuff->drawable); if (!pDamageExt) - return BadAlloc; - pDamageExt->id = stuff->damage; - pDamageExt->drawable = stuff->drawable; - pDamageExt->pDrawable = pDrawable; - pDamageExt->level = level; - pDamageExt->pClient = client; - pDamageExt->pDamage = DamageCreate(DamageExtReport, - DamageExtDestroy, - level, - FALSE, pDrawable->pScreen, pDamageExt); - if (!pDamageExt->pDamage) { - free(pDamageExt); - return BadAlloc; - } - if (!AddResource(stuff->damage, DamageExtType, (pointer) pDamageExt)) - return BadAlloc; + *rc = BadAlloc; - DamageSetReportAfterOp(pDamageExt->pDamage, TRUE); - DamageRegister(pDamageExt->pDrawable, pDamageExt->pDamage); + return pDamageExt; +} - if (pDrawable->type == DRAWABLE_WINDOW) { - pRegion = &((WindowPtr) pDrawable)->borderClip; - DamageReportDamage(pDamageExt->pDamage, pRegion); - } - - return Success; +static int +ProcDamageCreate(ClientPtr client) +{ + int rc; + REQUEST(xDamageCreateReq); + REQUEST_SIZE_MATCH(xDamageCreateReq); + LEGAL_NEW_RESOURCE(stuff->damage, client); + doDamageCreate(client, &rc); + return rc; } static int @@ -241,6 +318,88 @@ ProcDamageDestroy(ClientPtr client) return Success; } +#ifdef PANORAMIX +static RegionPtr +DamageExtSubtractWindowClip(DamageExtPtr pDamageExt) +{ + WindowPtr win = (WindowPtr)pDamageExt->pDrawable; + PanoramiXRes *res = NULL; + RegionPtr ret; + int i; + + if (!win->parent) + return &PanoramiXScreenRegion; + + dixLookupResourceByType((void **)&res, win->drawable.id, XRT_WINDOW, + serverClient, DixReadAccess); + if (!res) + return NULL; + + ret = RegionCreate(NULL, 0); + if (!ret) + return NULL; + + FOR_NSCREENS_FORWARD(i) { + ScreenPtr screen; + if (Success != dixLookupWindow(&win, res->info[i].id, serverClient, + DixReadAccess)) + goto out; + + screen = win->drawable.pScreen; + + RegionTranslate(ret, -screen->x, -screen->y); + if (!RegionUnion(ret, ret, &win->borderClip)) + goto out; + RegionTranslate(ret, screen->x, screen->y); + } + + return ret; + +out: + RegionDestroy(ret); + return NULL; +} + +static void +DamageExtFreeWindowClip(RegionPtr reg) +{ + if (reg != &PanoramiXScreenRegion) + RegionDestroy(reg); +} +#endif + +/* + * DamageSubtract intersects with borderClip, so we must reconstruct the + * protocol's perspective of same... + */ +static Bool +DamageExtSubtract(DamageExtPtr pDamageExt, const RegionPtr pRegion) +{ + DamagePtr pDamage = pDamageExt->pDamage; + +#ifdef PANORAMIX + if (!noPanoramiXExtension) { + RegionPtr damage = DamageRegion(pDamage); + RegionSubtract(damage, damage, pRegion); + + if (pDamageExt->pDrawable->type == DRAWABLE_WINDOW) { + DrawablePtr pDraw = pDamageExt->pDrawable; + RegionPtr clip = DamageExtSubtractWindowClip(pDamageExt); + if (clip) { + RegionTranslate(clip, -pDraw->x, -pDraw->y); + RegionIntersect(damage, damage, clip); + RegionTranslate(clip, pDraw->x, pDraw->y); + DamageExtFreeWindowClip(clip); + } + } + + return RegionNotEmpty(damage); + } +#endif + + return DamageSubtract(pDamage, pRegion); +} + static int ProcDamageSubtract(ClientPtr client) { @@ -260,7 +419,7 @@ ProcDamageSubtract(ClientPtr client) if (pRepair) { if (pParts) RegionIntersect(pParts, DamageRegion(pDamage), pRepair); - if (DamageSubtract(pDamage, pRepair)) + if (DamageExtSubtract(pDamageExt, pRepair)) DamageExtReport(pDamage, DamageRegion(pDamage), (void *) pDamageExt); } @@ -270,6 +429,7 @@ ProcDamageSubtract(ClientPtr client) DamageEmpty(pDamage); } } + return Success; } @@ -307,11 +467,14 @@ static const int version_requests[] = { #define NUM_VERSION_REQUESTS (sizeof (version_requests) / sizeof (version_requests[0])) static int (*ProcDamageVector[XDamageNumberRequests]) (ClientPtr) = { -/*************** Version 1 ******************/ + /*************** Version 1 ******************/ ProcDamageQueryVersion, - ProcDamageCreate, ProcDamageDestroy, ProcDamageSubtract, -/*************** Version 1.1 ****************/ -ProcDamageAdd,}; + ProcDamageCreate, + ProcDamageDestroy, + ProcDamageSubtract, + /*************** Version 1.1 ****************/ + ProcDamageAdd, +}; static int ProcDamageDispatch(ClientPtr client) @@ -387,11 +550,14 @@ SProcDamageAdd(ClientPtr client) } static int (*SProcDamageVector[XDamageNumberRequests]) (ClientPtr) = { -/*************** Version 1 ******************/ + /*************** Version 1 ******************/ SProcDamageQueryVersion, - SProcDamageCreate, SProcDamageDestroy, SProcDamageSubtract, -/*************** Version 1.1 ****************/ -SProcDamageAdd,}; + SProcDamageCreate, + SProcDamageDestroy, + SProcDamageSubtract, + /*************** Version 1.1 ****************/ + SProcDamageAdd, +}; static int SProcDamageDispatch(ClientPtr client) @@ -429,26 +595,13 @@ FreeDamageExt(pointer value, XID did) * Get rid of the resource table entry hanging from the window id */ pDamageExt->id = 0; - if (WindowDrawable(pDamageExt->pDrawable->type)) - FreeResourceByType(pDamageExt->pDrawable->id, DamageExtWinType, TRUE); if (pDamageExt->pDamage) { - DamageUnregister(pDamageExt->pDrawable, pDamageExt->pDamage); DamageDestroy(pDamageExt->pDamage); } free(pDamageExt); return Success; } -static int -FreeDamageExtWin(pointer value, XID wid) -{ - DamageExtPtr pDamageExt = (DamageExtPtr) value; - - if (pDamageExt->id) - FreeResource(pDamageExt->id, RT_NONE); - return Success; -} - static void SDamageNotifyEvent(xDamageNotifyEvent * from, xDamageNotifyEvent * to) { @@ -466,6 +619,127 @@ SDamageNotifyEvent(xDamageNotifyEvent * from, xDamageNotifyEvent * to) cpswaps(from->geometry.height, to->geometry.height); } +#ifdef PANORAMIX + +static void +PanoramiXDamageReport(DamagePtr pDamage, RegionPtr pRegion, void *closure) +{ + PanoramiXDamageRes *res = closure; + DamageExtPtr pDamageExt = res->ext; + WindowPtr pWin = (WindowPtr)pDamage->pDrawable; + ScreenPtr pScreen = pDamage->pScreen; + + /* happens on unmap? sigh xinerama */ + if (RegionNil(pRegion)) + return; + + /* translate root windows if necessary */ + if (!pWin->parent) + RegionTranslate(pRegion, pScreen->x, pScreen->y); + + /* add our damage to the protocol view */ + DamageReportDamage(pDamageExt->pDamage, pRegion); + + /* empty our view */ + DamageEmpty(pDamage); +} + +static void +PanoramiXDamageExtDestroy(DamagePtr pDamage, void *closure) +{ + PanoramiXDamageRes *damage = closure; + damage->damage[pDamage->pScreen->myNum] = NULL; +} + +static int +PanoramiXDamageCreate(ClientPtr client) +{ + PanoramiXDamageRes *damage; + PanoramiXRes *draw; + int i, rc; + + REQUEST(xDamageCreateReq); + + REQUEST_SIZE_MATCH(xDamageCreateReq); + LEGAL_NEW_RESOURCE(stuff->damage, client); + rc = dixLookupResourceByClass((void **)&draw, stuff->drawable, XRC_DRAWABLE, + client, DixGetAttrAccess | DixReadAccess); + if (rc != Success) + return rc; + + if (!(damage = calloc(1, sizeof(PanoramiXDamageRes)))) + return BadAlloc; + + if (!AddResource(stuff->damage, XRT_DAMAGE, damage)) + return BadAlloc; + + damage->ext = doDamageCreate(client, &rc); + if (rc == Success && draw->type == XRT_WINDOW) { + FOR_NSCREENS_FORWARD(i) { + DrawablePtr pDrawable; + DamagePtr pDamage = DamageCreate(PanoramiXDamageReport, + PanoramiXDamageExtDestroy, + DamageReportRawRegion, + FALSE, + screenInfo.screens[i], + damage); + if (!pDamage) { + rc = BadAlloc; + } else { + damage->damage[i] = pDamage; + rc = dixLookupDrawable(&pDrawable, draw->info[i].id, client, + M_WINDOW, + DixGetAttrAccess | DixReadAccess); + } + if (rc != Success) + break; + + DamageExtRegister(pDrawable, pDamage, i != 0); + } + } + + if (rc != Success) + FreeResource(stuff->damage, RT_NONE); + + return rc; +} + +static int +PanoramiXDamageDelete(void *res, XID id) +{ + int i; + PanoramiXDamageRes *damage = res; + + FOR_NSCREENS_BACKWARD(i) { + if (damage->damage[i]) { + DamageDestroy(damage->damage[i]); + damage->damage[i] = NULL; + } + } + + free(damage); + return 1; +} + +void +PanoramiXDamageInit(void) +{ + XRT_DAMAGE = CreateNewResourceType(PanoramiXDamageDelete, "XineramaDamage"); + if (!XRT_DAMAGE) + FatalError("Couldn't Xineramify Damage extension\n"); + + PanoramiXSaveDamageCreate = ProcDamageVector[X_DamageCreate]; + ProcDamageVector[X_DamageCreate] = PanoramiXDamageCreate; +} + +void +PanoramiXDamageReset(void) +{ + ProcDamageVector[X_DamageCreate] = PanoramiXSaveDamageCreate; +} + +#endif /* PANORAMIX */ + void DamageExtensionInit(void) { @@ -479,10 +753,6 @@ DamageExtensionInit(void) if (!DamageExtType) return; - DamageExtWinType = CreateNewResourceType(FreeDamageExtWin, "DamageExtWin"); - if (!DamageExtWinType) - return; - if (!dixRegisterPrivateKey (&DamageClientPrivateKeyRec, PRIVATE_CLIENT, sizeof(DamageClientRec))) return; @@ -500,5 +770,10 @@ DamageExtensionInit(void) (EventSwapPtr) SDamageNotifyEvent; SetResourceTypeErrorValue(DamageExtType, extEntry->errorBase + BadDamage); +#ifdef PANORAMIX + if (XRT_DAMAGE) + SetResourceTypeErrorValue(XRT_DAMAGE, + extEntry->errorBase + BadDamage); +#endif } } diff --git a/xserver/damageext/damageext.h b/xserver/damageext/damageext.h deleted file mode 100644 index bd9963509..000000000 --- a/xserver/damageext/damageext.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright © 2002 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_DIX_CONFIG_H -#include -#endif - -#ifndef _DAMAGEEXT_H_ -#define _DAMAGEEXT_H_ - -void - DamageExtensionInit(void); - -#endif /* _DAMAGEEXT_H_ */ diff --git a/xserver/damageext/damageextint.h b/xserver/damageext/damageextint.h index 272337922..e50149501 100644 --- a/xserver/damageext/damageextint.h +++ b/xserver/damageext/damageextint.h @@ -67,4 +67,7 @@ typedef struct _DamageExt { void DamageExtSetCritical(ClientPtr pClient, Bool critical); +void PanoramiXDamageInit(void); +void PanoramiXDamageReset(void); + #endif /* _DAMAGEEXTINT_H_ */ diff --git a/xserver/dbe/Makefile.am b/xserver/dbe/Makefile.am index 043555b8c..7d034c7f7 100644 --- a/xserver/dbe/Makefile.am +++ b/xserver/dbe/Makefile.am @@ -9,5 +9,4 @@ endif libdbe_la_SOURCES = \ dbe.c \ midbe.c \ - midbe.h \ - midbestr.h + midbe.h diff --git a/xserver/dbe/Makefile.in b/xserver/dbe/Makefile.in index f7b43363e..ab83ac2f5 100644 --- a/xserver/dbe/Makefile.in +++ b/xserver/dbe/Makefile.in @@ -209,9 +209,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -243,6 +246,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -272,6 +276,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -315,6 +321,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -328,12 +335,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -399,6 +406,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -483,8 +492,7 @@ AM_CFLAGS = $(DIX_CFLAGS) libdbe_la_SOURCES = \ dbe.c \ midbe.c \ - midbe.h \ - midbestr.h + midbe.h all: all-am diff --git a/xserver/dbe/dbe.c b/xserver/dbe/dbe.c index 9039d8045..5524615e2 100644 --- a/xserver/dbe/dbe.c +++ b/xserver/dbe/dbe.c @@ -90,10 +90,7 @@ DbeStubScreen(DbeScreenPrivPtr pDbeScreenPriv, int *nStubbedScreens) pDbeScreenPriv->GetVisualInfo = NULL; pDbeScreenPriv->AllocBackBufferName = NULL; pDbeScreenPriv->SwapBuffers = NULL; - pDbeScreenPriv->BeginIdiom = NULL; - pDbeScreenPriv->EndIdiom = NULL; pDbeScreenPriv->WinPrivDelete = NULL; - pDbeScreenPriv->ResetProc = NULL; (*nStubbedScreens)++; @@ -232,8 +229,7 @@ ProcDbeAllocateBackBufferName(ClientPtr client) * Allocate a window priv. */ - pDbeWindowPriv = - dixAllocateObjectWithPrivates(DbeWindowPrivRec, PRIVATE_DBE_WINDOW); + pDbeWindowPriv = calloc(1, sizeof(DbeWindowPrivRec)); if (!pDbeWindowPriv) return BadAlloc; @@ -543,44 +539,6 @@ ProcDbeSwapBuffers(ClientPtr client) } /* ProcDbeSwapBuffers() */ -/****************************************************************************** - * - * DBE DIX Procedure: ProcDbeBeginIdiom - * - * Description: - * - * This function is for processing a DbeBeginIdiom request. - * This request informs the server that a complex swap will immediately - * follow this request. - * - * Return Values: - * - * Success - * - *****************************************************************************/ - -static int -ProcDbeBeginIdiom(ClientPtr client) -{ - /* REQUEST(xDbeBeginIdiomReq); */ - DbeScreenPrivPtr pDbeScreenPriv; - register int i; - - REQUEST_SIZE_MATCH(xDbeBeginIdiomReq); - - for (i = 0; i < screenInfo.numScreens; i++) { - pDbeScreenPriv = DBE_SCREEN_PRIV(screenInfo.screens[i]); - - /* Call the DDX begin idiom procedure if there is one. */ - if (pDbeScreenPriv->BeginIdiom) { - (*pDbeScreenPriv->BeginIdiom) (client); - } - } - - return Success; - -} /* ProcDbeBeginIdiom() */ - /****************************************************************************** * * DBE DIX Procedure: ProcDbeGetVisualInfo @@ -818,7 +776,7 @@ ProcDbeDispatch(ClientPtr client) return (ProcDbeSwapBuffers(client)); case X_DbeBeginIdiom: - return (ProcDbeBeginIdiom(client)); + return Success; case X_DbeEndIdiom: return Success; @@ -980,32 +938,6 @@ SProcDbeSwapBuffers(ClientPtr client) } /* SProcDbeSwapBuffers() */ -/****************************************************************************** - * - * DBE DIX Procedure: SProcDbeBeginIdiom - * - * Description: - * - * This function is for processing a DbeBeginIdiom request on a swapped - * server. This request informs the server that a complex swap will - * immediately follow this request. - * - * Return Values: - * - * Success - * - *****************************************************************************/ - -static int -SProcDbeBeginIdiom(ClientPtr client) -{ - REQUEST(xDbeBeginIdiomReq); - - swaps(&stuff->length); - return (ProcDbeBeginIdiom(client)); - -} /* SProcDbeBeginIdiom() */ - /****************************************************************************** * * DBE DIX Procedure: SProcDbeGetVisualInfo @@ -1097,7 +1029,7 @@ SProcDbeDispatch(ClientPtr client) return (SProcDbeSwapBuffers(client)); case X_DbeBeginIdiom: - return (SProcDbeBeginIdiom(client)); + return Success; case X_DbeEndIdiom: return Success; @@ -1289,7 +1221,7 @@ DbeWindowPrivDelete(pointer pDbeWinPriv, XID id) NULL); /* We are done with the window priv. */ - dixFreeObjectWithPrivates(pDbeWindowPriv, PRIVATE_DBE_WINDOW); + free(pDbeWindowPriv); } return Success; @@ -1321,10 +1253,7 @@ DbeResetProc(ExtensionEntry * extEntry) if (pDbeScreenPriv) { /* Unwrap DestroyWindow, which was wrapped in DbeExtensionInit(). */ pScreen->DestroyWindow = pDbeScreenPriv->DestroyWindow; - - if (pDbeScreenPriv->ResetProc) - (*pDbeScreenPriv->ResetProc) (pScreen); - + pScreen->PositionWindow = pDbeScreenPriv->PositionWindow; free(pDbeScreenPriv); } } diff --git a/xserver/dbe/dbestruct.h b/xserver/dbe/dbestruct.h index f9d938af1..200206652 100644 --- a/xserver/dbe/dbestruct.h +++ b/xserver/dbe/dbestruct.h @@ -143,6 +143,20 @@ typedef struct _DbeWindowPrivRec { */ XID initIDs[DBE_INIT_MAX_IDS]; + /* Pointer to a drawable that contains the contents of the back buffer. + */ + PixmapPtr pBackBuffer; + + /* Pointer to a drawable that contains the contents of the front buffer. + * This pointer is only used for the XdbeUntouched swap action. For that + * swap action, we need to copy the front buffer (window) contents into + * this drawable, copy the contents of current back buffer drawable (the + * back buffer) into the window, swap the front and back drawable pointers, + * and then swap the drawable/resource associations in the resource + * database. + */ + PixmapPtr pFrontBuffer; + /* Device-specific private information. */ PrivateRec *devPrivates; @@ -180,16 +194,9 @@ typedef struct _DbeScreenPrivRec { int * /*pNumWindows */ , DbeSwapInfoPtr /*swapInfo */ ); - void (*BeginIdiom) (ClientPtr /*client */ - ); - void (*EndIdiom) (ClientPtr /*client */ - ); void (*WinPrivDelete) (DbeWindowPrivPtr /*pDbeWindowPriv */ , XID /*bufId */ ); - void (*ResetProc) (ScreenPtr /*pScreen */ - ); - } DbeScreenPrivRec, *DbeScreenPrivPtr; #endif /* DBE_STRUCT_H */ diff --git a/xserver/dbe/midbe.c b/xserver/dbe/midbe.c index d810d992e..3663fddcc 100644 --- a/xserver/dbe/midbe.c +++ b/xserver/dbe/midbe.c @@ -48,7 +48,6 @@ #include "resource.h" #include "opaque.h" #include "dbestruct.h" -#include "midbestr.h" #include "regionstr.h" #include "gcstruct.h" #include "inputstr.h" @@ -57,9 +56,6 @@ #include -static DevPrivateKeyRec miDbeWindowPrivPrivKeyRec; - -#define miDbeWindowPrivPrivKey (&miDbeWindowPrivPrivKeyRec) /****************************************************************************** * @@ -138,7 +134,6 @@ miDbeAllocBackBufferName(WindowPtr pWin, XID bufId, int swapAction) { ScreenPtr pScreen; DbeWindowPrivPtr pDbeWindowPriv; - MiDbeWindowPrivPrivPtr pDbeWindowPrivPriv; DbeScreenPrivPtr pDbeScreenPriv; GCPtr pGC; xRectangle clearRect; @@ -156,12 +151,8 @@ miDbeAllocBackBufferName(WindowPtr pWin, XID bufId, int swapAction) pDbeScreenPriv = DBE_SCREEN_PRIV(pScreen); - /* Setup the window priv priv. */ - pDbeWindowPrivPriv = MI_DBE_WINDOW_PRIV_PRIV(pDbeWindowPriv); - pDbeWindowPrivPriv->pDbeWindowPriv = pDbeWindowPriv; - /* Get a front pixmap. */ - if (!(pDbeWindowPrivPriv->pFrontBuffer = + if (!(pDbeWindowPriv->pFrontBuffer = (*pScreen->CreatePixmap) (pScreen, pDbeWindowPriv->width, pDbeWindowPriv->height, pWin->drawable.depth, 0))) { @@ -169,22 +160,22 @@ miDbeAllocBackBufferName(WindowPtr pWin, XID bufId, int swapAction) } /* Get a back pixmap. */ - if (!(pDbeWindowPrivPriv->pBackBuffer = + if (!(pDbeWindowPriv->pBackBuffer = (*pScreen->CreatePixmap) (pScreen, pDbeWindowPriv->width, pDbeWindowPriv->height, pWin->drawable.depth, 0))) { - (*pScreen->DestroyPixmap) (pDbeWindowPrivPriv->pFrontBuffer); + (*pScreen->DestroyPixmap) (pDbeWindowPriv->pFrontBuffer); return BadAlloc; } /* Security creation/labeling check. */ rc = XaceHook(XACE_RESOURCE_ACCESS, serverClient, bufId, - dbeDrawableResType, pDbeWindowPrivPriv->pBackBuffer, + dbeDrawableResType, pDbeWindowPriv->pBackBuffer, RT_WINDOW, pWin, DixCreateAccess); /* Make the back pixmap a DBE drawable resource. */ if (rc != Success || !AddResource(bufId, dbeDrawableResType, - pDbeWindowPrivPriv->pBackBuffer)) { + pDbeWindowPriv->pBackBuffer)) { /* free the buffer and the drawable resource */ FreeResource(bufId, RT_NONE); return (rc == Success) ? BadAlloc : rc; @@ -193,11 +184,11 @@ miDbeAllocBackBufferName(WindowPtr pWin, XID bufId, int swapAction) /* Clear the back buffer. */ pGC = GetScratchGC(pWin->drawable.depth, pWin->drawable.pScreen); if ((*pDbeScreenPriv->SetupBackgroundPainter) (pWin, pGC)) { - ValidateGC((DrawablePtr) pDbeWindowPrivPriv->pBackBuffer, pGC); + ValidateGC((DrawablePtr) pDbeWindowPriv->pBackBuffer, pGC); clearRect.x = clearRect.y = 0; - clearRect.width = pDbeWindowPrivPriv->pBackBuffer->drawable.width; - clearRect.height = pDbeWindowPrivPriv->pBackBuffer->drawable.height; - (*pGC->ops->PolyFillRect) ((DrawablePtr) pDbeWindowPrivPriv-> + clearRect.width = pDbeWindowPriv->pBackBuffer->drawable.width; + clearRect.height = pDbeWindowPriv->pBackBuffer->drawable.height; + (*pGC->ops->PolyFillRect) ((DrawablePtr) pDbeWindowPriv-> pBackBuffer, pGC, 1, &clearRect); } FreeScratchGC(pGC); @@ -210,9 +201,8 @@ miDbeAllocBackBufferName(WindowPtr pWin, XID bufId, int swapAction) */ /* Associate the new ID with an existing pixmap. */ - pDbeWindowPrivPriv = MI_DBE_WINDOW_PRIV_PRIV(pDbeWindowPriv); if (!AddResource(bufId, dbeDrawableResType, - (pointer) pDbeWindowPrivPriv->pBackBuffer)) { + (pointer) pDbeWindowPriv->pBackBuffer)) { return BadAlloc; } @@ -237,12 +227,10 @@ static void miDbeAliasBuffers(DbeWindowPrivPtr pDbeWindowPriv) { int i; - MiDbeWindowPrivPrivPtr pDbeWindowPrivPriv = - MI_DBE_WINDOW_PRIV_PRIV(pDbeWindowPriv); for (i = 0; i < pDbeWindowPriv->nBufferIDs; i++) { ChangeResourceValue(pDbeWindowPriv->IDs[i], dbeDrawableResType, - (pointer) pDbeWindowPrivPriv->pBackBuffer); + (pointer) pDbeWindowPriv->pBackBuffer); } } /* miDbeAliasBuffers() */ @@ -261,15 +249,15 @@ static int miDbeSwapBuffers(ClientPtr client, int *pNumWindows, DbeSwapInfoPtr swapInfo) { DbeScreenPrivPtr pDbeScreenPriv; + DbeWindowPrivPtr pDbeWindowPriv; GCPtr pGC; WindowPtr pWin; - MiDbeWindowPrivPrivPtr pDbeWindowPrivPriv; PixmapPtr pTmpBuffer; xRectangle clearRect; pWin = swapInfo[0].pWindow; pDbeScreenPriv = DBE_SCREEN_PRIV_FROM_WINDOW(pWin); - pDbeWindowPrivPriv = MI_DBE_WINDOW_PRIV_PRIV_FROM_WINDOW(pWin); + pDbeWindowPriv = DBE_WINDOW_PRIV(pWin); pGC = GetScratchGC(pWin->drawable.depth, pWin->drawable.pScreen); /* @@ -286,9 +274,9 @@ miDbeSwapBuffers(ClientPtr client, int *pNumWindows, DbeSwapInfoPtr swapInfo) break; case XdbeUntouched: - ValidateGC((DrawablePtr) pDbeWindowPrivPriv->pFrontBuffer, pGC); + ValidateGC((DrawablePtr) pDbeWindowPriv->pFrontBuffer, pGC); (*pGC->ops->CopyArea) ((DrawablePtr) pWin, - (DrawablePtr) pDbeWindowPrivPriv->pFrontBuffer, + (DrawablePtr) pDbeWindowPriv->pFrontBuffer, pGC, 0, 0, pWin->drawable.width, pWin->drawable.height, 0, 0); break; @@ -305,7 +293,7 @@ miDbeSwapBuffers(ClientPtr client, int *pNumWindows, DbeSwapInfoPtr swapInfo) */ ValidateGC((DrawablePtr) pWin, pGC); - (*pGC->ops->CopyArea) ((DrawablePtr) pDbeWindowPrivPriv->pBackBuffer, + (*pGC->ops->CopyArea) ((DrawablePtr) pDbeWindowPriv->pBackBuffer, (DrawablePtr) pWin, pGC, 0, 0, pWin->drawable.width, pWin->drawable.height, 0, 0); @@ -321,23 +309,23 @@ miDbeSwapBuffers(ClientPtr client, int *pNumWindows, DbeSwapInfoPtr swapInfo) case XdbeBackground: if ((*pDbeScreenPriv->SetupBackgroundPainter) (pWin, pGC)) { - ValidateGC((DrawablePtr) pDbeWindowPrivPriv->pBackBuffer, pGC); + ValidateGC((DrawablePtr) pDbeWindowPriv->pBackBuffer, pGC); clearRect.x = 0; clearRect.y = 0; - clearRect.width = pDbeWindowPrivPriv->pBackBuffer->drawable.width; - clearRect.height = pDbeWindowPrivPriv->pBackBuffer->drawable.height; - (*pGC->ops->PolyFillRect) ((DrawablePtr) pDbeWindowPrivPriv-> + clearRect.width = pDbeWindowPriv->pBackBuffer->drawable.width; + clearRect.height = pDbeWindowPriv->pBackBuffer->drawable.height; + (*pGC->ops->PolyFillRect) ((DrawablePtr) pDbeWindowPriv-> pBackBuffer, pGC, 1, &clearRect); } break; case XdbeUntouched: /* Swap pixmap pointers. */ - pTmpBuffer = pDbeWindowPrivPriv->pBackBuffer; - pDbeWindowPrivPriv->pBackBuffer = pDbeWindowPrivPriv->pFrontBuffer; - pDbeWindowPrivPriv->pFrontBuffer = pTmpBuffer; + pTmpBuffer = pDbeWindowPriv->pBackBuffer; + pDbeWindowPriv->pBackBuffer = pDbeWindowPriv->pFrontBuffer; + pDbeWindowPriv->pFrontBuffer = pTmpBuffer; - miDbeAliasBuffers(pDbeWindowPrivPriv->pDbeWindowPriv); + miDbeAliasBuffers(pDbeWindowPriv); break; @@ -427,8 +415,6 @@ miDbeSwapBuffers(ClientPtr client, int *pNumWindows, DbeSwapInfoPtr swapInfo) static void miDbeWinPrivDelete(DbeWindowPrivPtr pDbeWindowPriv, XID bufId) { - MiDbeWindowPrivPrivPtr pDbeWindowPrivPriv; - if (pDbeWindowPriv->nBufferIDs != 0) { /* We still have at least one more buffer ID associated with this * window. @@ -440,18 +426,15 @@ miDbeWinPrivDelete(DbeWindowPrivPtr pDbeWindowPriv, XID bufId) * free some stuff. */ - pDbeWindowPrivPriv = MI_DBE_WINDOW_PRIV_PRIV(pDbeWindowPriv); - /* Destroy the front and back pixmaps. */ - if (pDbeWindowPrivPriv->pFrontBuffer) { + if (pDbeWindowPriv->pFrontBuffer) { (*pDbeWindowPriv->pWindow->drawable.pScreen-> - DestroyPixmap) (pDbeWindowPrivPriv->pFrontBuffer); + DestroyPixmap) (pDbeWindowPriv->pFrontBuffer); } - if (pDbeWindowPrivPriv->pBackBuffer) { + if (pDbeWindowPriv->pBackBuffer) { (*pDbeWindowPriv->pWindow->drawable.pScreen-> - DestroyPixmap) (pDbeWindowPrivPriv->pBackBuffer); + DestroyPixmap) (pDbeWindowPriv->pBackBuffer); } - } /* miDbeWinPrivDelete() */ /****************************************************************************** @@ -627,10 +610,6 @@ miDbePositionWindow(WindowPtr pWin, int x, int y) else { /* Clear out the new DBE buffer pixmaps. */ - MiDbeWindowPrivPrivPtr pDbeWindowPrivPriv; - - pDbeWindowPrivPriv = MI_DBE_WINDOW_PRIV_PRIV(pDbeWindowPriv); - /* I suppose this could avoid quite a bit of work if * it computed the minimal area required. */ @@ -641,9 +620,9 @@ miDbePositionWindow(WindowPtr pWin, int x, int y) } /* Copy the contents of the old front pixmap to the new one. */ if (pWin->bitGravity != ForgetGravity) { - (*pGC->ops->CopyArea) ((DrawablePtr) pDbeWindowPrivPriv-> - pFrontBuffer, (DrawablePtr) pFrontBuffer, - pGC, sourcex, sourcey, savewidth, saveheight, + (*pGC->ops->CopyArea) ((DrawablePtr) pDbeWindowPriv->pFrontBuffer, + (DrawablePtr) pFrontBuffer, pGC, + sourcex, sourcey, savewidth, saveheight, destx, desty); } @@ -654,8 +633,8 @@ miDbePositionWindow(WindowPtr pWin, int x, int y) } /* Copy the contents of the old back pixmap to the new one. */ if (pWin->bitGravity != ForgetGravity) { - (*pGC->ops->CopyArea) ((DrawablePtr) pDbeWindowPrivPriv-> - pBackBuffer, (DrawablePtr) pBackBuffer, pGC, + (*pGC->ops->CopyArea) ((DrawablePtr) pDbeWindowPriv->pBackBuffer, + (DrawablePtr) pBackBuffer, pGC, sourcex, sourcey, savewidth, saveheight, destx, desty); } @@ -664,11 +643,11 @@ miDbePositionWindow(WindowPtr pWin, int x, int y) * pixmaps. */ - (*pScreen->DestroyPixmap) (pDbeWindowPrivPriv->pFrontBuffer); - (*pScreen->DestroyPixmap) (pDbeWindowPrivPriv->pBackBuffer); + (*pScreen->DestroyPixmap) (pDbeWindowPriv->pFrontBuffer); + (*pScreen->DestroyPixmap) (pDbeWindowPriv->pBackBuffer); - pDbeWindowPrivPriv->pFrontBuffer = pFrontBuffer; - pDbeWindowPrivPriv->pBackBuffer = pBackBuffer; + pDbeWindowPriv->pFrontBuffer = pFrontBuffer; + pDbeWindowPriv->pBackBuffer = pBackBuffer; /* Make sure all XID are associated with the new back pixmap. */ miDbeAliasBuffers(pDbeWindowPriv); @@ -680,30 +659,6 @@ miDbePositionWindow(WindowPtr pWin, int x, int y) } /* miDbePositionWindow() */ -/****************************************************************************** - * - * DBE MI Procedure: miDbeResetProc - * - * Description: - * - * This function is called from DbeResetProc(), which is called at the end - * of every server generation. This function peforms any MI-specific - * shutdown tasks. - * - *****************************************************************************/ - -static void -miDbeResetProc(ScreenPtr pScreen) -{ - DbeScreenPrivPtr pDbeScreenPriv; - - pDbeScreenPriv = DBE_SCREEN_PRIV(pScreen); - - /* Unwrap wrappers */ - pScreen->PositionWindow = pDbeScreenPriv->PositionWindow; - -} /* miDbeResetProc() */ - /****************************************************************************** * * DBE MI Procedure: miDbeInit @@ -717,10 +672,6 @@ miDbeResetProc(ScreenPtr pScreen) Bool miDbeInit(ScreenPtr pScreen, DbeScreenPrivPtr pDbeScreenPriv) { - if (!dixRegisterPrivateKey(&miDbeWindowPrivPrivKeyRec, PRIVATE_DBE_WINDOW, - sizeof(MiDbeWindowPrivPrivRec))) - return FALSE; - /* Wrap functions. */ pDbeScreenPriv->PositionWindow = pScreen->PositionWindow; pScreen->PositionWindow = miDbePositionWindow; @@ -729,9 +680,6 @@ miDbeInit(ScreenPtr pScreen, DbeScreenPrivPtr pDbeScreenPriv) pDbeScreenPriv->GetVisualInfo = miDbeGetVisualInfo; pDbeScreenPriv->AllocBackBufferName = miDbeAllocBackBufferName; pDbeScreenPriv->SwapBuffers = miDbeSwapBuffers; - pDbeScreenPriv->BeginIdiom = 0; - pDbeScreenPriv->EndIdiom = 0; - pDbeScreenPriv->ResetProc = miDbeResetProc; pDbeScreenPriv->WinPrivDelete = miDbeWinPrivDelete; return TRUE; diff --git a/xserver/dbe/midbestr.h b/xserver/dbe/midbestr.h deleted file mode 100644 index 70017b045..000000000 --- a/xserver/dbe/midbestr.h +++ /dev/null @@ -1,75 +0,0 @@ -/****************************************************************************** - * - * Copyright (c) 1994, 1995 Hewlett-Packard Company - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of the Hewlett-Packard - * Company shall not be used in advertising or otherwise to promote the - * sale, use or other dealings in this Software without prior written - * authorization from the Hewlett-Packard Company. - * - * Header file for users of machine-independent DBE code - * - *****************************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef MIDBE_STRUCT_H -#define MIDBE_STRUCT_H - -/* DEFINES */ - -#define MI_DBE_WINDOW_PRIV_PRIV(pDbeWindowPriv) \ - (!(pDbeWindowPriv) ? NULL : (MiDbeWindowPrivPrivPtr) \ - dixLookupPrivate(&(pDbeWindowPriv)->devPrivates, miDbeWindowPrivPrivKey)) - -#define MI_DBE_WINDOW_PRIV_PRIV_FROM_WINDOW(pWin)\ - MI_DBE_WINDOW_PRIV_PRIV(DBE_WINDOW_PRIV(pWin)) - -/* TYPEDEFS */ - -typedef struct _MiDbeWindowPrivPrivRec { - /* Place machine-specific fields in here. - * Since this is mi code, we do not really have machine-specific fields. - */ - - /* Pointer to a drawable that contains the contents of the back buffer. - */ - PixmapPtr pBackBuffer; - - /* Pointer to a drawable that contains the contents of the front buffer. - * This pointer is only used for the XdbeUntouched swap action. For that - * swap action, we need to copy the front buffer (window) contents into - * this drawable, copy the contents of current back buffer drawable (the - * back buffer) into the window, swap the front and back drawable pointers, - * and then swap the drawable/resource associations in the resource - * database. - */ - PixmapPtr pFrontBuffer; - - /* Pointer back to our window private with which we are associated. */ - DbeWindowPrivPtr pDbeWindowPriv; - -} MiDbeWindowPrivPrivRec, *MiDbeWindowPrivPrivPtr; - -#endif /* MIDBE_STRUCT_H */ diff --git a/xserver/dix/Makefile.am b/xserver/dix/Makefile.am index b7358aa72..e7ca2369c 100644 --- a/xserver/dix/Makefile.am +++ b/xserver/dix/Makefile.am @@ -4,7 +4,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include AM_CFLAGS = $(DIX_CFLAGS) libmain_la_SOURCES = \ - main.c + stubmain.c libdix_la_SOURCES = \ atom.c \ @@ -14,6 +14,7 @@ libdix_la_SOURCES = \ dispatch.c \ dispatch.h \ dixfonts.c \ + main.c \ dixutils.c \ enterleave.c \ enterleave.h \ diff --git a/xserver/dix/Makefile.in b/xserver/dix/Makefile.in index a232ade31..5bcfe3f09 100644 --- a/xserver/dix/Makefile.in +++ b/xserver/dix/Makefile.in @@ -78,19 +78,19 @@ CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libdix_la_LIBADD = am_libdix_la_OBJECTS = atom.lo colormap.lo cursor.lo devices.lo \ - dispatch.lo dixfonts.lo dixutils.lo enterleave.lo events.lo \ - eventconvert.lo extension.lo ffs.lo gc.lo getevents.lo \ - globals.lo glyphcurs.lo grabs.lo initatoms.lo inpututils.lo \ - pixmap.lo privates.lo property.lo ptrveloc.lo region.lo \ - registry.lo resource.lo selection.lo swaprep.lo swapreq.lo \ - tables.lo touch.lo window.lo + dispatch.lo dixfonts.lo main.lo dixutils.lo enterleave.lo \ + events.lo eventconvert.lo extension.lo ffs.lo gc.lo \ + getevents.lo globals.lo glyphcurs.lo grabs.lo initatoms.lo \ + inpututils.lo pixmap.lo privates.lo property.lo ptrveloc.lo \ + region.lo registry.lo resource.lo selection.lo swaprep.lo \ + swapreq.lo tables.lo touch.lo window.lo libdix_la_OBJECTS = $(am_libdix_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libmain_la_LIBADD = -am_libmain_la_OBJECTS = main.lo +am_libmain_la_OBJECTS = stubmain.lo libmain_la_OBJECTS = $(am_libmain_la_OBJECTS) PROGRAMS = $(noinst_PROGRAMS) am_dix_O_OBJECTS = @@ -224,9 +224,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -258,6 +261,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -287,6 +291,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -330,6 +336,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -343,12 +350,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -414,6 +421,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -496,7 +505,7 @@ noinst_LTLIBRARIES = libdix.la libmain.la AM_CPPFLAGS = -I$(top_srcdir)/include AM_CFLAGS = $(DIX_CFLAGS) libmain_la_SOURCES = \ - main.c + stubmain.c libdix_la_SOURCES = \ atom.c \ @@ -506,6 +515,7 @@ libdix_la_SOURCES = \ dispatch.c \ dispatch.h \ dixfonts.c \ + main.c \ dixutils.c \ enterleave.c \ enterleave.h \ @@ -641,6 +651,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/registry.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resource.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selection.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stubmain.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swaprep.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swapreq.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables.Plo@am__quote@ diff --git a/xserver/dix/cursor.c b/xserver/dix/cursor.c index cd8305c6c..8cc54bd1f 100644 --- a/xserver/dix/cursor.c +++ b/xserver/dix/cursor.c @@ -71,9 +71,7 @@ static GlyphSharePtr sharedGlyphs = (GlyphSharePtr) NULL; DevScreenPrivateKeyRec cursorScreenDevPriv; -#ifdef XFIXES static CARD32 cursorSerial; -#endif static void FreeCursorBits(CursorBitsPtr bits) @@ -272,10 +270,8 @@ AllocARGBCursor(unsigned char *psrcbits, unsigned char *pmaskbits, bits->refcnt = -1; CheckForEmptyMask(bits); pCurs->bits = bits; -#ifdef XFIXES pCurs->serialNumber = ++cursorSerial; pCurs->name = None; -#endif pCurs->foreRed = foreRed; pCurs->foreGreen = foreGreen; @@ -433,10 +429,8 @@ AllocGlyphCursor(Font source, unsigned sourceChar, Font mask, unsigned maskChar, CheckForEmptyMask(bits); pCurs->bits = bits; pCurs->refcnt = 1; -#ifdef XFIXES pCurs->serialNumber = ++cursorSerial; pCurs->name = None; -#endif pCurs->foreRed = foreRed; pCurs->foreGreen = foreGreen; diff --git a/xserver/dix/devices.c b/xserver/dix/devices.c index 9ef32bb24..8b9f5dd93 100644 --- a/xserver/dix/devices.c +++ b/xserver/dix/devices.c @@ -1052,6 +1052,7 @@ CloseDownDevices(void) inputInfo.pointer = NULL; XkbDeleteRulesDflts(); + XkbDeleteRulesUsed(); OsReleaseSignals(); } @@ -1276,6 +1277,10 @@ InitButtonClassDeviceStruct(DeviceIntPtr dev, int numButtons, Atom *labels, ButtonClassPtr butc; int i; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->button != NULL, FALSE); + BUG_RETURN_VAL(numButtons >= MAX_BUTTONS, FALSE); + butc = calloc(1, sizeof(ButtonClassRec)); if (!butc) return FALSE; @@ -1336,8 +1341,7 @@ InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes, Atom *labels, int i; ValuatorClassPtr valc; - if (!dev) - return FALSE; + BUG_RETURN_VAL(dev == NULL, FALSE); if (numAxes > MAX_VALUATORS) { LogMessage(X_WARNING, @@ -1446,6 +1450,9 @@ InitFocusClassDeviceStruct(DeviceIntPtr dev) { FocusClassPtr focc; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->focus != NULL, FALSE); + focc = malloc(sizeof(FocusClassRec)); if (!focc) return FALSE; @@ -1465,6 +1472,9 @@ InitPtrFeedbackClassDeviceStruct(DeviceIntPtr dev, PtrCtrlProcPtr controlProc) { PtrFeedbackPtr feedc; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->ptrfeed != NULL, FALSE); + feedc = malloc(sizeof(PtrFeedbackClassRec)); if (!feedc) return FALSE; @@ -1506,6 +1516,9 @@ InitStringFeedbackClassDeviceStruct(DeviceIntPtr dev, int i; StringFeedbackPtr feedc; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->stringfeed != NULL, FALSE); + feedc = malloc(sizeof(StringFeedbackClassRec)); if (!feedc) return FALSE; @@ -1540,6 +1553,9 @@ InitBellFeedbackClassDeviceStruct(DeviceIntPtr dev, BellProcPtr bellProc, { BellFeedbackPtr feedc; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->bell != NULL, FALSE); + feedc = malloc(sizeof(BellFeedbackClassRec)); if (!feedc) return FALSE; @@ -1559,6 +1575,9 @@ InitLedFeedbackClassDeviceStruct(DeviceIntPtr dev, LedCtrlProcPtr controlProc) { LedFeedbackPtr feedc; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->leds != NULL, FALSE); + feedc = malloc(sizeof(LedFeedbackClassRec)); if (!feedc) return FALSE; @@ -1579,6 +1598,9 @@ InitIntegerFeedbackClassDeviceStruct(DeviceIntPtr dev, { IntegerFeedbackPtr feedc; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->intfeed != NULL, FALSE); + feedc = malloc(sizeof(IntegerFeedbackClassRec)); if (!feedc) return FALSE; @@ -1599,6 +1621,11 @@ InitPointerDeviceStruct(DevicePtr device, CARD8 *map, int numButtons, { DeviceIntPtr dev = (DeviceIntPtr) device; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->button != NULL, FALSE); + BUG_RETURN_VAL(dev->valuator != NULL, FALSE); + BUG_RETURN_VAL(dev->ptrfeed != NULL, FALSE); + return (InitButtonClassDeviceStruct(dev, numButtons, btn_labels, map) && InitValuatorClassDeviceStruct(dev, numAxes, axes_labels, numMotionEvents, Relative) && @@ -1619,14 +1646,13 @@ InitTouchClassDeviceStruct(DeviceIntPtr device, unsigned int max_touches, TouchClassPtr touch; int i; - if (device->touch || !device->valuator) - return FALSE; + BUG_RETURN_VAL(device == NULL, FALSE); + BUG_RETURN_VAL(device->touch != NULL, FALSE); + BUG_RETURN_VAL(device->valuator == NULL, FALSE); /* Check the mode is valid, and at least X and Y axes. */ - if (mode != XIDirectTouch && mode != XIDependentTouch) - return FALSE; - if (num_axes < 2) - return FALSE; + BUG_RETURN_VAL(mode != XIDirectTouch && mode != XIDependentTouch, FALSE); + BUG_RETURN_VAL(num_axes < 2, FALSE); if (num_axes > MAX_VALUATORS) { LogMessage(X_WARNING, @@ -2767,9 +2793,10 @@ AllocDevicePair(ClientPtr client, const char *name, keyboard->type = (master) ? MASTER_KEYBOARD : SLAVE; /* The ClassesRec stores the device classes currently not used. */ - pointer->unused_classes = calloc(1, sizeof(ClassesRec)); - - keyboard->unused_classes = calloc(1, sizeof(ClassesRec)); + if (IsMaster(pointer)) { + pointer->unused_classes = calloc(1, sizeof(ClassesRec)); + keyboard->unused_classes = calloc(1, sizeof(ClassesRec)); + } *ptr = pointer; diff --git a/xserver/dix/dispatch.c b/xserver/dix/dispatch.c index 979ba48f0..8dcd9cbcf 100644 --- a/xserver/dix/dispatch.c +++ b/xserver/dix/dispatch.c @@ -220,8 +220,9 @@ UpdateCurrentTimeIf(void) #undef SMART_DEBUG -#define SMART_SCHEDULE_DEFAULT_INTERVAL 20 /* ms */ -#define SMART_SCHEDULE_MAX_SLICE 200 /* ms */ +/* in milliseconds */ +#define SMART_SCHEDULE_DEFAULT_INTERVAL 5 +#define SMART_SCHEDULE_MAX_SLICE 15 #if defined(WIN32) && !defined(__CYGWIN__) Bool SmartScheduleDisable = TRUE; @@ -465,6 +466,7 @@ Dispatch(void) free(clientReady); dispatchException &= ~DE_RESET; SmartScheduleLatencyLimited = 0; + ResetOsBuffers(); } static int VendorRelease = VENDOR_RELEASE; @@ -1973,7 +1975,7 @@ ProcPutImage(ClientPtr client) static int DoGetImage(ClientPtr client, int format, Drawable drawable, int x, int y, int width, int height, - Mask planemask, xGetImageReply ** im_return) + Mask planemask) { DrawablePtr pDraw, pBoundingDraw; int nlines, linesPerBuf, rc; @@ -2073,46 +2075,32 @@ DoGetImage(ClientPtr client, int format, Drawable drawable, xgi.length = length; - if (im_return) { - pBuf = calloc(1, sz_xGetImageReply + length); - if (!pBuf) - return BadAlloc; - if (widthBytesLine == 0) - linesPerBuf = 0; - else - linesPerBuf = height; - *im_return = (xGetImageReply *) pBuf; - *(xGetImageReply *) pBuf = xgi; - pBuf += sz_xGetImageReply; - } + xgi.length = bytes_to_int32(xgi.length); + if (widthBytesLine == 0 || height == 0) + linesPerBuf = 0; + else if (widthBytesLine >= IMAGE_BUFSIZE) + linesPerBuf = 1; else { - xgi.length = bytes_to_int32(xgi.length); - if (widthBytesLine == 0 || height == 0) - linesPerBuf = 0; - else 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 & ((1L << LOG2_BYTES_PER_SCANLINE_PAD) - 1))) { - linesPerBuf--; - length -= widthBytesLine; - } - while (length & ((1L << LOG2_BYTES_PER_SCANLINE_PAD) - 1)) { - linesPerBuf++; - length += widthBytesLine; - } - } - if (!(pBuf = calloc(1, length))) - return BadAlloc; - WriteReplyToClient(client, sizeof(xGetImageReply), &xgi); + 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 & ((1L << LOG2_BYTES_PER_SCANLINE_PAD) - 1))) { + linesPerBuf--; + length -= widthBytesLine; + } + while (length & ((1L << LOG2_BYTES_PER_SCANLINE_PAD) - 1)) { + linesPerBuf++; + length += widthBytesLine; + } + } + if (!(pBuf = calloc(1, length))) + return BadAlloc; + WriteReplyToClient(client, sizeof(xGetImageReply), &xgi); if (pDraw->type == DRAWABLE_WINDOW) { pVisibleRegion = NotClippedByChildren((WindowPtr) pDraw); @@ -2141,13 +2129,10 @@ DoGetImage(ClientPtr client, int format, Drawable drawable, /* Note that this is NOT a call to WriteSwappedDataToClient, as we do NOT byte swap */ - if (!im_return) { - ReformatImage(pBuf, (int) (nlines * widthBytesLine), - BitsPerPixel(pDraw->depth), ClientOrder(client)); + ReformatImage(pBuf, (int) (nlines * widthBytesLine), + BitsPerPixel(pDraw->depth), ClientOrder(client)); -/* Don't split me, gcc pukes when you do */ - WriteToClient(client, (int) (nlines * widthBytesLine), pBuf); - } + WriteToClient(client, (int) (nlines * widthBytesLine), pBuf); linesDone += nlines; } } @@ -2172,18 +2157,10 @@ DoGetImage(ClientPtr client, int format, Drawable drawable, /* Note: NOT a call to WriteSwappedDataToClient, as we do NOT byte swap */ - if (im_return) { - pBuf += nlines * widthBytesLine; - } - else { - ReformatImage(pBuf, - (int) (nlines * widthBytesLine), - 1, ClientOrder(client)); + ReformatImage(pBuf, (int) (nlines * widthBytesLine), + 1, ClientOrder(client)); -/* Don't split me, gcc pukes when you do */ - WriteToClient(client, (int) (nlines * widthBytesLine), - pBuf); - } + WriteToClient(client, (int)(nlines * widthBytesLine), pBuf); linesDone += nlines; } } @@ -2191,8 +2168,7 @@ DoGetImage(ClientPtr client, int format, Drawable drawable, } if (pVisibleRegion) RegionDestroy(pVisibleRegion); - if (!im_return) - free(pBuf); + free(pBuf); return Success; } @@ -2206,7 +2182,7 @@ ProcGetImage(ClientPtr client) return DoGetImage(client, stuff->format, stuff->drawable, stuff->x, stuff->y, (int) stuff->width, (int) stuff->height, - stuff->planeMask, (xGetImageReply **) NULL); + stuff->planeMask); } int @@ -2863,18 +2839,25 @@ ProcCreateCursor(ClientPtr client) return rc; } - rc = dixLookupResourceByType((pointer *) &msk, stuff->mask, RT_PIXMAP, - client, DixReadAccess); - if (rc != Success) { - if (stuff->mask != None) { + if (src->drawable.depth != 1) + return (BadMatch); + + /* Find and validate cursor mask pixmap, if one is provided */ + if (stuff->mask != None) { + rc = dixLookupResourceByType((pointer *) &msk, stuff->mask, RT_PIXMAP, + client, DixReadAccess); + if (rc != Success) { client->errorValue = stuff->mask; return rc; } + + if (src->drawable.width != msk->drawable.width + || src->drawable.height != msk->drawable.height + || src->drawable.depth != 1 || msk->drawable.depth != 1) + return BadMatch; } - else if (src->drawable.width != msk->drawable.width - || src->drawable.height != msk->drawable.height - || src->drawable.depth != 1 || msk->drawable.depth != 1) - return BadMatch; + else + msk = NULL; width = src->drawable.width; height = src->drawable.height; diff --git a/xserver/dix/dixfonts.c b/xserver/dix/dixfonts.c index 2e34d370f..9a686e69c 100644 --- a/xserver/dix/dixfonts.c +++ b/xserver/dix/dixfonts.c @@ -1789,11 +1789,14 @@ GetFontPath(ClientPtr client, int *count, int *length, unsigned char **result) fpe = font_path_elements[i]; len += fpe->name_length + 1; } - font_path_string = (unsigned char *) realloc(font_path_string, len); - if (!font_path_string) + c = realloc(font_path_string, len); + if (c == NULL) { + free(font_path_string); + font_path_string = NULL; return BadAlloc; + } - c = font_path_string; + font_path_string = c; *length = 0; for (i = 0; i < num_fpes; i++) { fpe = font_path_elements[i]; diff --git a/xserver/dix/dixutils.c b/xserver/dix/dixutils.c index 3f24629b4..c250bb1db 100644 --- a/xserver/dix/dixutils.c +++ b/xserver/dix/dixutils.c @@ -849,7 +849,7 @@ DeleteCallbackList(CallbackListPtr *pcbl) } void -InitCallbackManager(void) +DeleteCallbackManager(void) { int i; @@ -861,3 +861,9 @@ InitCallbackManager(void) numCallbackListsToCleanup = 0; listsToCleanup = NULL; } + +void +InitCallbackManager(void) +{ + DeleteCallbackManager(); +} diff --git a/xserver/dix/events.c b/xserver/dix/events.c index e3c0edfc9..4aaa54c85 100644 --- a/xserver/dix/events.c +++ b/xserver/dix/events.c @@ -1244,6 +1244,9 @@ PlayReleasedEvents(void) case ET_KeyRelease: case ET_ProximityIn: case ET_ProximityOut: + case ET_TouchBegin: + case ET_TouchUpdate: + case ET_TouchEnd: ev->root_x += screenInfo.screens[0]->x - pDev->spriteInfo->sprite->screen->x; ev->root_y += screenInfo.screens[0]->y - @@ -4693,7 +4696,7 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse, filter = GetEventFilter(mouse, (xEvent *) event); - if (grab && grab->type == XI2) { + if (grab && grab->grabtype == XI2) { Mask mask; mask = xi2mask_isset(grab->xi2mask, mouse, type); diff --git a/xserver/dix/getevents.c b/xserver/dix/getevents.c index dd1b2534a..23f9c33f5 100644 --- a/xserver/dix/getevents.c +++ b/xserver/dix/getevents.c @@ -770,6 +770,29 @@ add_to_scroll_valuator(DeviceIntPtr dev, ValuatorMask *mask, int valuator, doubl } +static void +scale_for_device_resolution(DeviceIntPtr dev, ValuatorMask *mask) +{ + double y; + ValuatorClassPtr v = dev->valuator; + int xrange = v->axes[0].max_value - v->axes[0].min_value + 1; + int yrange = v->axes[1].max_value - v->axes[1].min_value + 1; + + double screen_ratio = 1.0 * screenInfo.width/screenInfo.height; + double device_ratio = 1.0 * xrange/yrange; + double resolution_ratio = 1.0; + double ratio; + + if (!valuator_mask_fetch_double(mask, 1, &y)) + return; + + if (v->axes[0].resolution != 0 && v->axes[1].resolution != 0) + resolution_ratio = 1.0 * v->axes[0].resolution/v->axes[1].resolution; + + ratio = device_ratio/resolution_ratio/screen_ratio; + valuator_mask_set_double(mask, 1, y / ratio); +} + /** * Move the device's pointer by the values given in @valuators. * @@ -781,27 +804,14 @@ moveRelative(DeviceIntPtr dev, int flags, ValuatorMask *mask) { int i; Bool clip_xy = IsMaster(dev) || !IsFloating(dev); + ValuatorClassPtr v = dev->valuator; /* for abs devices in relative mode, we've just scaled wrong, since we mapped the device's shape into the screen shape. Undo this. */ - if ((flags & POINTER_ABSOLUTE) == 0 && dev->valuator && - dev->valuator->axes[0].min_value < dev->valuator->axes[0].max_value) { - - double ratio = 1.0 * screenInfo.width/screenInfo.height; - - if (ratio > 1.0) { - double y; - if (valuator_mask_fetch_double(mask, 1, &y)) { - y *= ratio; - valuator_mask_set_double(mask, 1, y); - } - } else { - double x; - if (valuator_mask_fetch_double(mask, 0, &x)) { - x *= ratio; - valuator_mask_set_double(mask, 0, x); - } - } + if ((flags & POINTER_ABSOLUTE) == 0 && v && v->numAxes > 1 && + v->axes[0].min_value < v->axes[0].max_value && + v->axes[1].min_value < v->axes[1].max_value) { + scale_for_device_resolution(dev, mask); } /* calc other axes, clip, drop back into valuators */ @@ -1644,6 +1654,8 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type, } #endif + BUG_RETURN_VAL(buttons >= MAX_BUTTONS, 0); + /* refuse events from disabled devices */ if (!pDev->enabled) return 0; diff --git a/xserver/dix/inpututils.c b/xserver/dix/inpututils.c index 9e38e1742..e5bcc31f7 100644 --- a/xserver/dix/inpututils.c +++ b/xserver/dix/inpututils.c @@ -60,7 +60,8 @@ check_butmap_change(DeviceIntPtr dev, CARD8 *map, int len, CARD32 *errval_out, } for (i = 0; i < len; i++) { - if (dev->button->map[i + 1] != map[i] && dev->button->down[i + 1]) + if (dev->button->map[i + 1] != map[i] && + button_is_down(dev, i + 1, BUTTON_PROCESSED)) return MappingBusy; } @@ -960,8 +961,15 @@ XI2Mask * xi2mask_new_with_size(size_t nmasks, size_t size) { int i; + int alloc_size; + unsigned char *cursor; + XI2Mask *mask; - XI2Mask *mask = calloc(1, sizeof(*mask)); + alloc_size = sizeof(struct _XI2Mask) + + nmasks * sizeof(unsigned char *) + + nmasks * size; + + mask = calloc(1, alloc_size); if (!mask) return NULL; @@ -969,20 +977,14 @@ xi2mask_new_with_size(size_t nmasks, size_t size) mask->nmasks = nmasks; mask->mask_size = size; - mask->masks = calloc(mask->nmasks, sizeof(*mask->masks)); - if (!mask->masks) - goto unwind; + mask->masks = (unsigned char **)(mask + 1); + cursor = (unsigned char *)(mask + 1) + nmasks * sizeof(unsigned char *); - for (i = 0; i < mask->nmasks; i++) { - mask->masks[i] = calloc(1, mask->mask_size); - if (!mask->masks[i]) - goto unwind; + for (i = 0; i < nmasks; i++) { + mask->masks[i] = cursor; + cursor += size; } return mask; - - unwind: - xi2mask_free(&mask); - return NULL; } /** @@ -1003,14 +1005,9 @@ xi2mask_new(void) void xi2mask_free(XI2Mask **mask) { - int i; - if (!(*mask)) return; - for (i = 0; (*mask)->masks && i < (*mask)->nmasks; i++) - free((*mask)->masks[i]); - free((*mask)->masks); free((*mask)); *mask = NULL; } diff --git a/xserver/dix/main.c b/xserver/dix/main.c index e558d702b..05dcbeddd 100644 --- a/xserver/dix/main.c +++ b/xserver/dix/main.c @@ -125,14 +125,10 @@ BOOL serverRunning = FALSE; pthread_mutex_t serverRunningMutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t serverRunningCond = PTHREAD_COND_INITIALIZER; -int dix_main(int argc, char *argv[], char *envp[]); +#endif int dix_main(int argc, char *argv[], char *envp[]) -#else -int -main(int argc, char *argv[], char *envp[]) -#endif { int i; HWEventQueueType alwaysCheckForInput[2]; @@ -358,10 +354,16 @@ main(int argc, char *argv[], char *envp[]) dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT); serverClient->devPrivates = NULL; + dixFreeRegistry(); + FreeFonts(); + FreeAllAtoms(); + FreeAuditTimer(); + DeleteCallbackManager(); + if (dispatchException & DE_TERMINATE) { CloseWellKnownConnections(); } diff --git a/xserver/dix/pixmap.c b/xserver/dix/pixmap.c index fe9214739..d5dc3831b 100644 --- a/xserver/dix/pixmap.c +++ b/xserver/dix/pixmap.c @@ -202,7 +202,6 @@ PixmapStopDirtyTracking(PixmapPtr src, PixmapPtr slave_dst) xorg_list_for_each_entry_safe(ent, safe, &screen->pixmap_dirty_list, ent) { if (ent->src == src && ent->slave_dst == slave_dst) { - DamageUnregister(&src->drawable, ent->damage); DamageDestroy(ent->damage); xorg_list_del(&ent->ent); free(ent); diff --git a/xserver/dix/privates.c b/xserver/dix/privates.c index 55b9345a7..41b1a7678 100644 --- a/xserver/dix/privates.c +++ b/xserver/dix/privates.c @@ -105,7 +105,6 @@ static const char *key_names[PRIVATE_LAST] = { [PRIVATE_CURSOR_BITS] = "CURSOR_BITS", /* extension privates */ - [PRIVATE_DBE_WINDOW] = "DBE_WINDOW", [PRIVATE_DAMAGE] = "DAMAGE", [PRIVATE_GLYPH] = "GLYPH", [PRIVATE_GLYPHSET] = "GLYPHSET", diff --git a/xserver/dix/ptrveloc.c b/xserver/dix/ptrveloc.c index d6fef9cf3..e75300a17 100644 --- a/xserver/dix/ptrveloc.c +++ b/xserver/dix/ptrveloc.c @@ -245,11 +245,10 @@ AccelSetDecelProperty(DeviceIntPtr dev, Atom atom, if (checkOnly) { if (rc) return rc; - return (v >= 1.0f) ? Success : BadValue; + return (v > 0) ? Success : BadValue; } - if (v >= 1.0f) - vel->const_acceleration = 1 / v; + vel->const_acceleration = 1 / v; return Success; } diff --git a/xserver/dix/region.c b/xserver/dix/region.c index 737d2a861..15f3d01a5 100644 --- a/xserver/dix/region.c +++ b/xserver/dix/region.c @@ -255,6 +255,21 @@ RegionDestroy(RegionPtr pReg) free(pReg); } +RegionPtr +RegionDuplicate(RegionPtr pOld) +{ + RegionPtr pNew; + + pNew = RegionCreate(&pOld->extents, 0); + if (!pNew) + return NULL; + if (!RegionCopy(pNew, pOld)) { + RegionDestroy(pNew); + return NULL; + } + return pNew; +} + void RegionPrint(RegionPtr rgn) { diff --git a/xserver/dix/registry.c b/xserver/dix/registry.c index 5bad0fdd4..82a3340e1 100644 --- a/xserver/dix/registry.c +++ b/xserver/dix/registry.c @@ -280,14 +280,9 @@ LookupResourceName(RESTYPE resource) return resources[resource] ? resources[resource] : XREGISTRY_UNKNOWN; } -/* - * Setup and teardown - */ void -dixResetRegistry(void) +dixFreeRegistry(void) { - ExtensionEntry extEntry = { .name = CORE }; - /* Free all memory */ while (nmajor--) { while (nminor[nmajor]) @@ -315,9 +310,23 @@ dixResetRegistry(void) nmajor = nevent = nerror = nresource = 0; + if (fh) { + fclose(fh); + fh = NULL; + } +} + +/* + * Setup and teardown + */ +void +dixResetRegistry(void) +{ + ExtensionEntry extEntry = { .name = CORE }; + + dixFreeRegistry(); + /* Open the protocol file */ - if (fh) - fclose(fh); fh = fopen(FILENAME, "r"); if (!fh) LogMessage(X_WARNING, diff --git a/xserver/dix/stubmain.c b/xserver/dix/stubmain.c new file mode 100644 index 000000000..7efb4b8e7 --- /dev/null +++ b/xserver/dix/stubmain.c @@ -0,0 +1,35 @@ +/*********************************************************** + +Copyright 2012 Jon TURNEY + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +******************************************************************/ + +int dix_main(int argc, char *argv[], char *envp[]); + +/* + A default implementation of main, which can be overridden by the DDX + */ +int +main(int argc, char *argv[], char *envp[]) +{ + return dix_main(argc, argv, envp); +} diff --git a/xserver/dix/window.c b/xserver/dix/window.c index 19cfcd668..0e9109e89 100644 --- a/xserver/dix/window.c +++ b/xserver/dix/window.c @@ -530,7 +530,11 @@ CreateRootWindow(ScreenPtr pScreen) if (disableBackingStore) pScreen->backingStoreSupport = NotUseful; if (enableBackingStore) - pScreen->backingStoreSupport = Always; + pScreen->backingStoreSupport = WhenMapped; +#ifdef COMPOSITE + if (noCompositeExtension) + pScreen->backingStoreSupport = NotUseful; +#endif pScreen->saveUnderSupport = NotUseful; @@ -1430,6 +1434,8 @@ ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client) } } + CursorVisible = TRUE; + if (pWin->realized) WindowHasNewCursor(pWin); @@ -2845,11 +2851,9 @@ HandleSaveSet(ClientPtr client) for (j = 0; j < client->numSaved; j++) { pWin = SaveSetWindow(client->saveSet[j]); -#ifdef XFIXES if (SaveSetToRoot(client->saveSet[j])) pParent = pWin->drawable.pScreen->root; else -#endif { pParent = pWin->parent; while (pParent && (wClient(pParent) == client)) @@ -2857,11 +2861,9 @@ HandleSaveSet(ClientPtr client) } if (pParent) { if (pParent != pWin->parent) { -#ifdef XFIXES /* unmap first so that ReparentWindow doesn't remap */ if (!SaveSetShouldMap(client->saveSet[j])) UnmapWindow(pWin, FALSE); -#endif ReparentWindow(pWin, pParent, pWin->drawable.x - wBorderWidth(pWin) - pParent->drawable.x, @@ -2870,9 +2872,7 @@ HandleSaveSet(ClientPtr client) if (!pWin->realized && pWin->mapped) pWin->mapped = FALSE; } -#ifdef XFIXES if (SaveSetShouldMap(client->saveSet[j])) -#endif MapWindow(pWin, client); } } @@ -3424,6 +3424,8 @@ ChangeWindowDeviceCursor(WindowPtr pWin, DeviceIntPtr pDev, CursorPtr pCursor) } out: + CursorVisible = TRUE; + if (pWin->realized) WindowHasNewCursor(pWin); diff --git a/xserver/doc/Makefile.in b/xserver/doc/Makefile.in index b2317cc1b..ed460d86d 100644 --- a/xserver/doc/Makefile.in +++ b/xserver/doc/Makefile.in @@ -207,9 +207,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -241,6 +244,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -270,6 +274,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -313,6 +319,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -326,12 +333,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -397,6 +404,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/doc/c-extensions b/xserver/doc/c-extensions deleted file mode 100644 index 4a9006150..000000000 --- a/xserver/doc/c-extensions +++ /dev/null @@ -1,68 +0,0 @@ -First of all: C89 or better. If you don't have that, port gcc first. - -Use of C language extensions throughout the X server tree ---------------------------------------------------------- - -Optional extensions: -The server will still build if your toolchain does not support these -extensions, although the results may not be optimal. - - * _X_SENTINEL(x): member x of the passed structure must be NULL, e.g.: - void parseOptions(Option *options _X_SENTINEL(0)); - parseOptions("foo", "bar", NULL); /* this is OK */ - parseOptions("foo", "bar", "baz"); /* this is not */ - This definition comes from Xfuncproto.h in the core - protocol headers. - * _X_ATTRIBUTE_PRINTF(x, y): This function has printf-like semantics; - check the format string when built with - -Wformat (gcc) or similar. - * _X_EXPORT: this function should appear in symbol tables. - * _X_HIDDEN: this function should not appear in the _dynamic_ symbol - table. - * _X_INTERNAL: like _X_HIDDEN, but attempt to ensure that this function - is never called from another module. - * _X_INLINE: inline this functon if possible (generally obeyed unless - disabling optimisations). - * _X_DEPRECATED: warn on use of this function. - -Mandatory extensions: -The server will not build if your toolchain does not support these extensions. - - * named initialisers: explicitly initialising structure members, e.g.: - struct foo bar = { .baz = quux, .brian = "dog" }; - * variadic macros: macros with a variable number of arguments, e.g.: - #define DebugF(x, ...) /**/ - * interleaved code and declarations: { foo = TRUE; int bar; do_stuff(); } - - -Use of library facilities throughout the X server tree -------------------------------------------------------------- - -Non-OS-dependent code can assume facilities at least as good as -the non-OS-facility parts of POSIX-1.2001. Ideally this would -be C99, but even gcc+glibc doesn't implement that yet. - -Unix-like systems are assumed to be at least as good as UNIX03. - -Note that there are two Windows ports, Cygwin and MinGW: -- Cygwin is more or less like Linux. -- MinGW is more restrictive. Windows does not provide the required -POSIX facilities, so some non-OS-dependent code is stubbed out or -has an alternate implementation if WIN32 is defined. Code that -needs to be portable to Windows should be careful to, well, be portable. - - -Required OS facilities -------------------------------------------------------------- - -Linux systems must be at least 2.4 or later. As a practical matter -though, 2.4 kernels never receive any testing. Use 2.6 already. - -TODO: Solaris. - -TODO: *BSD. - -Windows-dependent code assumes at least NT 5.1. - -OSX support is generally limited to the most recent version. Currently -that means 10.5. diff --git a/xserver/doc/dtrace/Makefile.in b/xserver/doc/dtrace/Makefile.in index d6f5b10ba..e58da4ff0 100644 --- a/xserver/doc/dtrace/Makefile.in +++ b/xserver/doc/dtrace/Makefile.in @@ -198,9 +198,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -232,6 +235,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -261,6 +265,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -304,6 +310,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -317,12 +324,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -388,6 +395,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/dri3/Makefile.am b/xserver/dri3/Makefile.am new file mode 100644 index 000000000..e47a734e0 --- /dev/null +++ b/xserver/dri3/Makefile.am @@ -0,0 +1,13 @@ +noinst_LTLIBRARIES = libdri3.la +AM_CFLAGS = \ + -DHAVE_XORG_CONFIG_H \ + @DIX_CFLAGS@ @XORG_CFLAGS@ + +libdri3_la_SOURCES = \ + dri3.h \ + dri3_priv.h \ + dri3.c \ + dri3_request.c \ + dri3_screen.c + +sdk_HEADERS = dri3.h diff --git a/xserver/dri3/Makefile.in b/xserver/dri3/Makefile.in new file mode 100644 index 000000000..ae22ab258 --- /dev/null +++ b/xserver/dri3/Makefile.in @@ -0,0 +1,830 @@ +# Makefile.in generated by automake 1.12.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2012 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@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = dri3 +DIST_COMMON = $(sdk_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/depcomp +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/xorg-tls.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 \ + $(top_builddir)/include/version-config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libdri3_la_LIBADD = +am_libdri3_la_OBJECTS = dri3.lo dri3_request.lo dri3_screen.lo +libdri3_la_OBJECTS = $(am_libdri3_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libdri3_la_SOURCES) +DIST_SOURCES = $(libdri3_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +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 = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(sdkdir)" +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@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +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_CFLAGS = @BASE_CFLAGS@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +BUNDLE_ID_PREFIX = @BUNDLE_ID_PREFIX@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHANGELOG_CMD = @CHANGELOG_CMD@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CWARNFLAGS = @CWARNFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGDIR = @DEFAULT_LOGDIR@ +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@ +DIX_LIB = @DIX_LIB@ +DLLTOOL = @DLLTOOL@ +DLOPEN_LIBS = @DLOPEN_LIBS@ +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@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_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@ +FONT100DPIDIR = @FONT100DPIDIR@ +FONT75DPIDIR = @FONT75DPIDIR@ +FONTMISCDIR = @FONTMISCDIR@ +FONTOTFDIR = @FONTOTFDIR@ +FONTROOTDIR = @FONTROOTDIR@ +FONTTTFDIR = @FONTTTFDIR@ +FONTTYPE1DIR = @FONTTYPE1DIR@ +FOP = @FOP@ +GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ +GLX_DEFINES = @GLX_DEFINES@ +GLX_SYS_LIBS = @GLX_SYS_LIBS@ +GLX_TLS = @GLX_TLS@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ +INSTALL = @INSTALL@ +INSTALL_CMD = @INSTALL_CMD@ +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@ +KHRONOS_OPENGL_REGISTRY_CFLAGS = @KHRONOS_OPENGL_REGISTRY_CFLAGS@ +KHRONOS_OPENGL_REGISTRY_LIBS = @KHRONOS_OPENGL_REGISTRY_LIBS@ +KHRONOS_SPEC_DIR = @KHRONOS_SPEC_DIR@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LD_NO_UNDEFINED_FLAG = @LD_NO_UNDEFINED_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ +LIBSHA1_LIBS = @LIBSHA1_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAIN_LIB = @MAIN_LIB@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAN_SUBSTS = @MAN_SUBSTS@ +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@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OS_LIB = @OS_LIB@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ +PCIACCESS_LIBS = @PCIACCESS_LIBS@ +PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RELEASE_DATE = @RELEASE_DATE@ +SDK_REQUIRED_MODULES = @SDK_REQUIRED_MODULES@ +SED = @SED@ +SELINUX_CFLAGS = @SELINUX_CFLAGS@ +SELINUX_LIBS = @SELINUX_LIBS@ +SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ +SET_MAKE = @SET_MAKE@ +SHA1_CFLAGS = @SHA1_CFLAGS@ +SHA1_LIBS = @SHA1_LIBS@ +SHELL = @SHELL@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRICT_CFLAGS = @STRICT_CFLAGS@ +STRIP = @STRIP@ +STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ +SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +UDEV_CFLAGS = @UDEV_CFLAGS@ +UDEV_LIBS = @UDEV_LIBS@ +UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VERSION = @VERSION@ +WINDOWSWM_CFLAGS = @WINDOWSWM_CFLAGS@ +WINDOWSWM_LIBS = @WINDOWSWM_LIBS@ +WINDRES = @WINDRES@ +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@ +XF86CONFIGDIR = @XF86CONFIGDIR@ +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@ +XKB_DFLT_LAYOUT = @XKB_DFLT_LAYOUT@ +XKB_DFLT_MODEL = @XKB_DFLT_MODEL@ +XKB_DFLT_OPTIONS = @XKB_DFLT_OPTIONS@ +XKB_DFLT_RULES = @XKB_DFLT_RULES@ +XKB_DFLT_VARIANT = @XKB_DFLT_VARIANT@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XMLTO = @XMLTO@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_DRIVER_LIBS = @XORG_DRIVER_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MALLOC_DEBUG_ENV = @XORG_MALLOC_DEBUG_ENV@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XORG_SGML_PATH = @XORG_SGML_PATH@ +XORG_SYS_LIBS = @XORG_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ +XQUARTZ_LIBS = @XQUARTZ_LIBS@ +XQUARTZ_SPARKLE = @XQUARTZ_SPARKLE@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_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@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ +XSLTPROC = @XSLTPROC@ +XSL_STYLESHEET = @XSL_STYLESHEET@ +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@ +__XCONFIGDIR__ = @__XCONFIGDIR__@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abi_ansic = @abi_ansic@ +abi_extension = @abi_extension@ +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_AR = @ac_ct_AR@ +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@ +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@ +symbol_visibility = @symbol_visibility@ +sysconfdir = @sysconfdir@ +sysconfigdir = @sysconfigdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +noinst_LTLIBRARIES = libdri3.la +AM_CFLAGS = \ + -DHAVE_XORG_CONFIG_H \ + @DIX_CFLAGS@ @XORG_CFLAGS@ + +libdri3_la_SOURCES = \ + dri3.h \ + dri3_priv.h \ + dri3.c \ + dri3_request.c \ + dri3_screen.c + +sdk_HEADERS = dri3.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(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 dri3/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign dri3/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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +libdri3.la: $(libdri3_la_OBJECTS) $(libdri3_la_DEPENDENCIES) $(EXTRA_libdri3_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libdri3_la_OBJECTS) $(libdri3_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dri3.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dri3_request.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dri3_screen.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-sdkHEADERS: $(sdk_HEADERS) + @$(NORMAL_INSTALL) + @list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(sdkdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(sdkdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(sdkdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(sdkdir)" || exit $$?; \ + done + +uninstall-sdkHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(sdkdir)'; $(am__uninstall_files_from_dir) + +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) + set x; \ + 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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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)$(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: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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 + +html-am: + +info: info-am + +info-am: + +install-data-am: install-sdkHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +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-noinstLTLIBRARIES cscopelist 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/xserver/dri3/dri3.c b/xserver/dri3/dri3.c new file mode 100644 index 000000000..76e07b40e --- /dev/null +++ b/xserver/dri3/dri3.c @@ -0,0 +1,92 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "dri3_priv.h" + +int dri3_request; +DevPrivateKeyRec dri3_screen_private_key; +DevPrivateKeyRec dri3_window_private_key; + +static Bool +dri3_close_screen(ScreenPtr screen) +{ + dri3_screen_priv_ptr screen_priv = dri3_screen_priv(screen); + + unwrap(screen_priv, screen, CloseScreen); + + free(screen_priv); + return (*screen->CloseScreen) (screen); +} + +Bool +dri3_screen_init(ScreenPtr screen, dri3_screen_info_ptr info) +{ + if (!dixRegisterPrivateKey(&dri3_screen_private_key, PRIVATE_SCREEN, 0)) + return FALSE; + + if (!dri3_screen_priv(screen)) { + dri3_screen_priv_ptr screen_priv = calloc(1, sizeof (dri3_screen_priv_rec)); + if (!screen_priv) + return FALSE; + + wrap(screen_priv, screen, CloseScreen, dri3_close_screen); + + screen_priv->info = info; + + dixSetPrivate(&screen->devPrivates, &dri3_screen_private_key, screen_priv); + } + + return TRUE; +} + +void +dri3_extension_init(void) +{ + ExtensionEntry *extension; + int i; + +#ifdef PANORAMIX + if (!noPanoramiXExtension) + return; +#endif + + extension = AddExtension(DRI3_NAME, DRI3NumberEvents, DRI3NumberErrors, + proc_dri3_dispatch, sproc_dri3_dispatch, + NULL, StandardMinorOpcode); + if (!extension) + goto bail; + + dri3_request = extension->base; + + for (i = 0; i < screenInfo.numScreens; i++) { + if (!dri3_screen_init(screenInfo.screens[i], NULL)) + goto bail; + } + return; + +bail: + FatalError("Cannot initialize DRI3 extension"); +} diff --git a/xserver/dri3/dri3.h b/xserver/dri3/dri3.h new file mode 100644 index 000000000..7c0c33018 --- /dev/null +++ b/xserver/dri3/dri3.h @@ -0,0 +1,65 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _DRI3_H_ +#define _DRI3_H_ + +#include + +#ifdef DRI3 + +#include +#include + +#define DRI3_SCREEN_INFO_VERSION 0 + +typedef int (*dri3_open_proc)(ScreenPtr screen, + RRProviderPtr provider, + int *fd); + +typedef PixmapPtr (*dri3_pixmap_from_fd_proc) (ScreenPtr screen, + int fd, + CARD16 width, + CARD16 height, + CARD16 stride, + CARD8 depth, + CARD8 bpp); + +typedef int (*dri3_fd_from_pixmap_proc) (ScreenPtr screen, + PixmapPtr pixmap, + CARD16 *stride, + CARD32 *size); + +typedef struct dri3_screen_info { + uint32_t version; + + dri3_open_proc open; + dri3_pixmap_from_fd_proc pixmap_from_fd; + dri3_fd_from_pixmap_proc fd_from_pixmap; +} dri3_screen_info_rec, *dri3_screen_info_ptr; + +extern _X_EXPORT Bool +dri3_screen_init(ScreenPtr screen, dri3_screen_info_ptr info); + +#endif + +#endif /* _DRI3_H_ */ diff --git a/xserver/dri3/dri3_priv.h b/xserver/dri3/dri3_priv.h new file mode 100644 index 000000000..e2fed839b --- /dev/null +++ b/xserver/dri3/dri3_priv.h @@ -0,0 +1,80 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _DRI3PRIV_H_ +#define _DRI3PRIV_H_ + +#include +#include "scrnintstr.h" +#include "misc.h" +#include "list.h" +#include "windowstr.h" +#include "dixstruct.h" +#include +#include "dri3.h" + +extern int dri3_request; + +extern DevPrivateKeyRec dri3_screen_private_key; + +typedef struct dri3_screen_priv { + CloseScreenProcPtr CloseScreen; + ConfigNotifyProcPtr ConfigNotify; + DestroyWindowProcPtr DestroyWindow; + + dri3_screen_info_ptr info; +} dri3_screen_priv_rec, *dri3_screen_priv_ptr; + +#define wrap(priv,real,mem,func) {\ + priv->mem = real->mem; \ + real->mem = func; \ +} + +#define unwrap(priv,real,mem) {\ + real->mem = priv->mem; \ +} + +static inline dri3_screen_priv_ptr +dri3_screen_priv(ScreenPtr screen) +{ + return (dri3_screen_priv_ptr)dixLookupPrivate(&(screen)->devPrivates, &dri3_screen_private_key); +} + +int +proc_dri3_dispatch(ClientPtr client); + +int +sproc_dri3_dispatch(ClientPtr client); + +/* DDX interface */ + +int +dri3_open(ClientPtr client, ScreenPtr screen, RRProviderPtr provider, int *fd); + +int +dri3_pixmap_from_fd(PixmapPtr *ppixmap, ScreenPtr screen, int fd, + CARD16 width, CARD16 height, CARD16 stride, CARD8 depth, CARD8 bpp); + +int +dri3_fd_from_pixmap(int *pfd, PixmapPtr pixmap, CARD16 *stride, CARD32 *size); + +#endif /* _DRI3PRIV_H_ */ diff --git a/xserver/dri3/dri3_request.c b/xserver/dri3/dri3_request.c new file mode 100644 index 000000000..4e1408fb5 --- /dev/null +++ b/xserver/dri3/dri3_request.c @@ -0,0 +1,395 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "dri3_priv.h" +#include +#include +#include +#include "../Xext/syncsdk.h" +#include + +static int +proc_dri3_query_version(ClientPtr client) +{ + REQUEST(xDRI3QueryVersionReq); + xDRI3QueryVersionReply rep = { + .type = X_Reply, + .sequenceNumber = client->sequence, + .length = 0, + .majorVersion = SERVER_DRI3_MAJOR_VERSION, + .minorVersion = SERVER_DRI3_MINOR_VERSION + }; + + REQUEST_SIZE_MATCH(xDRI3QueryVersionReq); + (void) stuff; + if (client->swapped) { + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swapl(&rep.majorVersion); + swapl(&rep.minorVersion); + } + WriteToClient(client, sizeof(rep), &rep); + return Success; +} + +static int +proc_dri3_open(ClientPtr client) +{ + REQUEST(xDRI3OpenReq); + xDRI3OpenReply rep = { + .type = X_Reply, + .nfd = 1, + .sequenceNumber = client->sequence, + .length = 0, + }; + RRProviderPtr provider; + DrawablePtr drawable; + ScreenPtr screen; + int fd; + int status; + + REQUEST_SIZE_MATCH(xDRI3OpenReq); + + status = dixLookupDrawable(&drawable, stuff->drawable, client, 0, DixReadAccess); + if (status != Success) + return status; + + if (stuff->provider == None) + provider = NULL; + else if (!RRProviderType) { + return BadMatch; + } else { + VERIFY_RR_PROVIDER(stuff->provider, provider, DixReadAccess); + if (drawable->pScreen != provider->pScreen) + return BadMatch; + } + screen = drawable->pScreen; + + status = dri3_open(client, screen, provider, &fd); + if (status != Success) + return status; + + if (client->swapped) { + swaps(&rep.sequenceNumber); + swapl(&rep.length); + } + + if (WriteFdToClient(client, fd, TRUE) < 0) { + close(fd); + return BadAlloc; + } + + WriteToClient(client, sizeof (rep), &rep); + + return Success; +} + +static int +proc_dri3_pixmap_from_buffer(ClientPtr client) +{ + REQUEST(xDRI3PixmapFromBufferReq); + int fd; + DrawablePtr drawable; + PixmapPtr pixmap; + int rc; + + SetReqFds(client, 1); + REQUEST_SIZE_MATCH(xDRI3PixmapFromBufferReq); + LEGAL_NEW_RESOURCE(stuff->pixmap, client); + rc = dixLookupDrawable(&drawable, stuff->drawable, client, M_ANY, DixGetAttrAccess); + if (rc != Success) { + client->errorValue = stuff->drawable; + return rc; + } + + if (!stuff->width || !stuff->height) { + client->errorValue = 0; + return BadValue; + } + + if (stuff->width > 32767 || stuff->height > 32767) + return BadAlloc; + + if (stuff->depth != 1) { + DepthPtr depth = drawable->pScreen->allowedDepths; + int i; + for (i = 0; i < drawable->pScreen->numDepths; i++, depth++) + if (depth->depth == stuff->depth) + break; + if (i == drawable->pScreen->numDepths) { + client->errorValue = stuff->depth; + return BadValue; + } + } + + fd = ReadFdFromClient(client); + if (fd < 0) + return BadValue; + + rc = dri3_pixmap_from_fd(&pixmap, + drawable->pScreen, fd, + stuff->width, stuff->height, + stuff->stride, stuff->depth, + stuff->bpp); + close (fd); + if (rc != Success) + return rc; + + pixmap->drawable.id = stuff->pixmap; + + /* security creation/labeling check */ + rc = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->pixmap, RT_PIXMAP, + pixmap, RT_NONE, NULL, DixCreateAccess); + + if (rc != Success) { + (*drawable->pScreen->DestroyPixmap) (pixmap); + return rc; + } + if (AddResource(stuff->pixmap, RT_PIXMAP, (pointer) pixmap)) + return Success; + + return Success; +} + +static int +proc_dri3_buffer_from_pixmap(ClientPtr client) +{ + REQUEST(xDRI3BufferFromPixmapReq); + xDRI3BufferFromPixmapReply rep = { + .type = X_Reply, + .nfd = 1, + .sequenceNumber = client->sequence, + .length = 0, + }; + int rc; + int fd; + PixmapPtr pixmap; + + REQUEST_SIZE_MATCH(xDRI3BufferFromPixmapReq); + rc = dixLookupResourceByType((pointer *) &pixmap, stuff->pixmap, RT_PIXMAP, + client, DixWriteAccess); + if (rc != Success) { + client->errorValue = stuff->pixmap; + return rc; + } + + rep.width = pixmap->drawable.width; + rep.height = pixmap->drawable.height; + rep.depth = pixmap->drawable.depth; + rep.bpp = pixmap->drawable.bitsPerPixel; + + rc = dri3_fd_from_pixmap(&fd, pixmap, &rep.stride, &rep.size); + if (rc != Success) + return rc; + + if (client->swapped) { + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swapl(&rep.size); + swaps(&rep.width); + swaps(&rep.height); + swaps(&rep.stride); + } + if (WriteFdToClient(client, fd, TRUE) < 0) { + close(fd); + return BadAlloc; + } + + WriteToClient(client, sizeof(rep), &rep); + + return client->noClientException; +} + +static int +proc_dri3_fence_from_fd(ClientPtr client) +{ + REQUEST(xDRI3FenceFromFDReq); + DrawablePtr drawable; + int fd; + int status; + + SetReqFds(client, 1); + REQUEST_SIZE_MATCH(xDRI3FenceFromFDReq); + LEGAL_NEW_RESOURCE(stuff->fence, client); + + status = dixLookupDrawable(&drawable, stuff->drawable, client, M_ANY, DixGetAttrAccess); + if (status != Success) + return status; + + fd = ReadFdFromClient(client); + if (fd < 0) + return BadValue; + + status = SyncCreateFenceFromFD(client, drawable, stuff->fence, + fd, stuff->initially_triggered); + + return status; +} + +static int +proc_dri3_fd_from_fence(ClientPtr client) +{ + REQUEST(xDRI3FDFromFenceReq); + xDRI3FDFromFenceReply rep = { + .type = X_Reply, + .nfd = 1, + .sequenceNumber = client->sequence, + .length = 0, + }; + DrawablePtr drawable; + int fd; + int status; + SyncFence *fence; + + REQUEST_SIZE_MATCH(xDRI3FDFromFenceReq); + + status = dixLookupDrawable(&drawable, stuff->drawable, client, M_ANY, DixGetAttrAccess); + if (status != Success) + return status; + status = SyncVerifyFence(&fence, stuff->fence, client, DixWriteAccess); + if (status != Success) + return status; + + fd = SyncFDFromFence(client, drawable, fence); + if (fd < 0) + return BadMatch; + + if (client->swapped) { + swaps(&rep.sequenceNumber); + swapl(&rep.length); + } + if (WriteFdToClient(client, fd, FALSE) < 0) + return BadAlloc; + + WriteToClient(client, sizeof(rep), &rep); + + return client->noClientException; +} + +int (*proc_dri3_vector[DRI3NumberRequests]) (ClientPtr) = { + proc_dri3_query_version, /* 0 */ + proc_dri3_open, /* 1 */ + proc_dri3_pixmap_from_buffer, /* 2 */ + proc_dri3_buffer_from_pixmap, /* 3 */ + proc_dri3_fence_from_fd, /* 4 */ + proc_dri3_fd_from_fence, /* 5 */ +}; + +int +proc_dri3_dispatch(ClientPtr client) +{ + REQUEST(xReq); + if (stuff->data >= DRI3NumberRequests || !proc_dri3_vector[stuff->data]) + return BadRequest; + return (*proc_dri3_vector[stuff->data]) (client); +} + +static int +sproc_dri3_query_version(ClientPtr client) +{ + REQUEST(xDRI3QueryVersionReq); + + swaps(&stuff->length); + swapl(&stuff->majorVersion); + swapl(&stuff->minorVersion); + return (*proc_dri3_vector[stuff->dri3ReqType]) (client); +} + +static int +sproc_dri3_open(ClientPtr client) +{ + REQUEST(xDRI3OpenReq); + + swaps(&stuff->length); + swapl(&stuff->drawable); + swapl(&stuff->provider); + return (*proc_dri3_vector[stuff->dri3ReqType]) (client); +} + +static int +sproc_dri3_pixmap_from_buffer(ClientPtr client) +{ + REQUEST(xDRI3PixmapFromBufferReq); + + swaps(&stuff->length); + swapl(&stuff->pixmap); + swapl(&stuff->drawable); + swapl(&stuff->size); + swaps(&stuff->width); + swaps(&stuff->height); + swaps(&stuff->stride); + return (*proc_dri3_vector[stuff->dri3ReqType]) (client); +} + +static int +sproc_dri3_buffer_from_pixmap(ClientPtr client) +{ + REQUEST(xDRI3BufferFromPixmapReq); + + swaps(&stuff->length); + swapl(&stuff->pixmap); + return (*proc_dri3_vector[stuff->dri3ReqType]) (client); +} + +static int +sproc_dri3_fence_from_fd(ClientPtr client) +{ + REQUEST(xDRI3FenceFromFDReq); + + swaps(&stuff->length); + swapl(&stuff->drawable); + swapl(&stuff->fence); + return (*proc_dri3_vector[stuff->dri3ReqType]) (client); +} + +static int +sproc_dri3_fd_from_fence(ClientPtr client) +{ + REQUEST(xDRI3FDFromFenceReq); + + swaps(&stuff->length); + swapl(&stuff->drawable); + swapl(&stuff->fence); + return (*proc_dri3_vector[stuff->dri3ReqType]) (client); +} + +int (*sproc_dri3_vector[DRI3NumberRequests]) (ClientPtr) = { + sproc_dri3_query_version, /* 0 */ + sproc_dri3_open, /* 1 */ + sproc_dri3_pixmap_from_buffer, /* 2 */ + sproc_dri3_buffer_from_pixmap, /* 3 */ + sproc_dri3_fence_from_fd, /* 4 */ + sproc_dri3_fd_from_fence, /* 5 */ +}; + +int +sproc_dri3_dispatch(ClientPtr client) +{ + REQUEST(xReq); + if (stuff->data >= DRI3NumberRequests || !sproc_dri3_vector[stuff->data]) + return BadRequest; + return (*sproc_dri3_vector[stuff->data]) (client); +} diff --git a/xserver/dri3/dri3_screen.c b/xserver/dri3/dri3_screen.c new file mode 100644 index 000000000..c88029612 --- /dev/null +++ b/xserver/dri3/dri3_screen.c @@ -0,0 +1,86 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "dri3_priv.h" +#include +#include +#include +#include + +int +dri3_open(ClientPtr client, ScreenPtr screen, RRProviderPtr provider, int *fd) +{ + dri3_screen_priv_ptr ds = dri3_screen_priv(screen); + dri3_screen_info_ptr info = ds->info; + int rc; + + if (!info || !info->open) + return BadMatch; + + rc = (*info->open) (screen, provider, fd); + if (rc != Success) + return rc; + + return Success; +} + +int +dri3_pixmap_from_fd(PixmapPtr *ppixmap, ScreenPtr screen, int fd, + CARD16 width, CARD16 height, CARD16 stride, CARD8 depth, CARD8 bpp) +{ + dri3_screen_priv_ptr ds = dri3_screen_priv(screen); + dri3_screen_info_ptr info = ds->info; + PixmapPtr pixmap; + + if (!info || !info->pixmap_from_fd) + return BadImplementation; + + pixmap = (*info->pixmap_from_fd) (screen, fd, width, height, stride, depth, bpp); + if (!pixmap) + return BadAlloc; + + *ppixmap = pixmap; + return Success; +} + +int +dri3_fd_from_pixmap(int *pfd, PixmapPtr pixmap, CARD16 *stride, CARD32 *size) +{ + ScreenPtr screen = pixmap->drawable.pScreen; + dri3_screen_priv_ptr ds = dri3_screen_priv(screen); + dri3_screen_info_ptr info = ds->info; + int fd; + + if (!info || !info->fd_from_pixmap) + return BadImplementation; + + fd = (*info->fd_from_pixmap)(screen, pixmap, stride, size); + if (fd < 0) + return BadAlloc; + *pfd = fd; + return Success; +} + diff --git a/xserver/exa/Makefile.am b/xserver/exa/Makefile.am index 8b759cd76..6a09966f8 100644 --- a/xserver/exa/Makefile.am +++ b/xserver/exa/Makefile.am @@ -1,14 +1,10 @@ noinst_LTLIBRARIES = libexa.la -# Override these since EXA doesn't need them and the needed files aren't -# built (in hw/xfree86/os-support/solaris) until after EXA is built -SOLARIS_ASM_CFLAGS="" - if XORG sdk_HEADERS = exa.h endif -INCLUDES = \ +AM_CPPFLAGS = \ $(XORG_INCS) \ -I$(srcdir)/../miext/cw diff --git a/xserver/exa/Makefile.in b/xserver/exa/Makefile.in index 9b64fee9a..96c32fae3 100644 --- a/xserver/exa/Makefile.in +++ b/xserver/exa/Makefile.in @@ -211,9 +211,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -245,6 +248,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -274,6 +278,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -317,6 +323,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -330,15 +337,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ - -# Override these since EXA doesn't need them and the needed files aren't -# built (in hw/xfree86/os-support/solaris) until after EXA is built -SOLARIS_ASM_CFLAGS = "" SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -404,6 +408,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -484,7 +490,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libexa.la @XORG_TRUE@sdk_HEADERS = exa.h -INCLUDES = \ +AM_CPPFLAGS = \ $(XORG_INCS) \ -I$(srcdir)/../miext/cw diff --git a/xserver/exa/exa_classic.c b/xserver/exa/exa_classic.c index 1fa534bc6..0fa422fcd 100644 --- a/xserver/exa/exa_classic.c +++ b/xserver/exa/exa_classic.c @@ -192,7 +192,6 @@ exaModifyPixmapHeader_classic(PixmapPtr pPixmap, int width, int height, * gpu memory, so there's no need to track damage. */ if (pExaPixmap->pDamage) { - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; } diff --git a/xserver/exa/exa_migration_mixed.c b/xserver/exa/exa_migration_mixed.c index 445c4fcbf..cf66327b3 100644 --- a/xserver/exa/exa_migration_mixed.c +++ b/xserver/exa/exa_migration_mixed.c @@ -190,7 +190,6 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg) * copy anymore. Drivers that prefer DFS, should fail prepare * access. */ - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; @@ -234,10 +233,13 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg) pPixmap->drawable.pScreen, pPixmap); - DamageRegister(&pPixmap->drawable, pExaPixmap->pDamage); - /* This ensures that pending damage reflects the current operation. */ - /* This is used by exa to optimize migration. */ - DamageSetReportAfterOp(pExaPixmap->pDamage, TRUE); + if (pExaPixmap->pDamage) { + DamageRegister(&pPixmap->drawable, pExaPixmap->pDamage); + /* This ensures that pending damage reflects the current + * operation. This is used by exa to optimize migration. + */ + DamageSetReportAfterOp(pExaPixmap->pDamage, TRUE); + } if (has_gpu_copy) { exaPixmapDirty(pPixmap, 0, 0, pPixmap->drawable.width, diff --git a/xserver/exa/exa_mixed.c b/xserver/exa/exa_mixed.c index 0fb409102..b43dfec42 100644 --- a/xserver/exa/exa_mixed.c +++ b/xserver/exa/exa_mixed.c @@ -106,10 +106,13 @@ exaCreatePixmap_mixed(ScreenPtr pScreen, int w, int h, int depth, pPixmap->drawable.pScreen, pPixmap); - DamageRegister(&pPixmap->drawable, pExaPixmap->pDamage); - /* This ensures that pending damage reflects the current operation. */ - /* This is used by exa to optimize migration. */ - DamageSetReportAfterOp(pExaPixmap->pDamage, TRUE); + if (pExaPixmap->pDamage) { + DamageRegister(&pPixmap->drawable, pExaPixmap->pDamage); + /* This ensures that pending damage reflects the current + * operation. This is used by exa to optimize migration. + */ + DamageSetReportAfterOp(pExaPixmap->pDamage, TRUE); + } } } @@ -139,7 +142,6 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth, if (pPixData) { if (pExaPixmap->driverPriv) { if (pExaPixmap->pDamage) { - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; } @@ -189,7 +191,6 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth, if (pExaPixmap->sys_ptr) { free(pExaPixmap->sys_ptr); pExaPixmap->sys_ptr = NULL; - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; RegionEmpty(&pExaPixmap->validSys); diff --git a/xserver/fb/Makefile.in b/xserver/fb/Makefile.in index 3571e6877..288b5c78d 100644 --- a/xserver/fb/Makefile.in +++ b/xserver/fb/Makefile.in @@ -240,9 +240,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -274,6 +277,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -303,6 +307,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -346,6 +352,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -359,12 +366,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -430,6 +437,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/fb/fb.h b/xserver/fb/fb.h index b869d122c..26957df4c 100644 --- a/xserver/fb/fb.h +++ b/xserver/fb/fb.h @@ -1111,17 +1111,6 @@ fbInitVisuals(VisualPtr * visualp, * fbcopy.c */ -/* Compatibility definition, to be removed at next ABI change. */ -typedef void (*fbCopyProc) (DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GCPtr pGC, - BoxPtr pDstBox, - int nbox, - int dx, - int dy, - Bool reverse, - Bool upsidedown, Pixel bitplane, void *closure); - extern _X_EXPORT void fbCopyNtoN(DrawablePtr pSrcDrawable, @@ -1133,29 +1122,6 @@ fbCopyNtoN(DrawablePtr pSrcDrawable, int dy, Bool reverse, Bool upsidedown, Pixel bitplane, void *closure); -/* Compatibility wrapper, to be removed at next ABI change. */ -extern _X_EXPORT void - -fbCopyRegion(DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GCPtr pGC, - RegionPtr pDstRegion, - int dx, - int dy, fbCopyProc copyProc, Pixel bitPlane, void *closure); - -/* Compatibility wrapper, to be removed at next ABI change. */ -extern _X_EXPORT RegionPtr - -fbDoCopy(DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GCPtr pGC, - int xIn, - int yIn, - int widthSrc, - int heightSrc, - int xOut, - int yOut, fbCopyProc copyProc, Pixel bitplane, void *closure); - extern _X_EXPORT void fbCopy1toN(DrawablePtr pSrcDrawable, diff --git a/xserver/fb/fbcopy.c b/xserver/fb/fbcopy.c index e9c252a5e..541ef713b 100644 --- a/xserver/fb/fbcopy.c +++ b/xserver/fb/fbcopy.c @@ -28,33 +28,6 @@ #include "fb.h" -/* Compatibility wrapper, to be removed at next ABI change. */ -void -fbCopyRegion(DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GCPtr pGC, - RegionPtr pDstRegion, - int dx, int dy, fbCopyProc copyProc, Pixel bitPlane, void *closure) -{ - miCopyRegion(pSrcDrawable, pDstDrawable, pGC, pDstRegion, dx, dy, copyProc, - bitPlane, closure); -} - -/* Compatibility wrapper, to be removed at next ABI change. */ -RegionPtr -fbDoCopy(DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GCPtr pGC, - int xIn, - int yIn, - int widthSrc, - int heightSrc, - int xOut, int yOut, fbCopyProc copyProc, Pixel bitPlane, void *closure) -{ - return miDoCopy(pSrcDrawable, pDstDrawable, pGC, xIn, yIn, widthSrc, - heightSrc, xOut, yOut, copyProc, bitPlane, closure); -} - void fbCopyNtoN(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, diff --git a/xserver/fb/fbpict.c b/xserver/fb/fbpict.c index 2804ff481..b50385805 100644 --- a/xserver/fb/fbpict.c +++ b/xserver/fb/fbpict.c @@ -185,19 +185,15 @@ fbGlyphs(CARD8 op, if (maskFormat) { pixman_format_code_t format; pixman_box32_t extents; - int x, y; format = maskFormat->format | (maskFormat->depth << 24); pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents); - x = extents.x1; - y = extents.y1; - pixman_composite_glyphs(op, srcImage, dstImage, format, xSrc + srcXoff + xDst, ySrc + srcYoff + yDst, - x, y, - x + dstXoff, y + dstYoff, + extents.x1, extents.y1, + extents.x1 + dstXoff, extents.y1 + dstYoff, extents.x2 - extents.x1, extents.y2 - extents.y1, glyphCache, n_glyphs, pglyphs); diff --git a/xserver/fb/wfbrename.h b/xserver/fb/wfbrename.h index 588440c2b..54d00d003 100644 --- a/xserver/fb/wfbrename.h +++ b/xserver/fb/wfbrename.h @@ -52,6 +52,7 @@ #define fbCreatePixmap wfbCreatePixmap #define fbCreatePixmapBpp wfbCreatePixmapBpp #define fbCreateWindow wfbCreateWindow +#define fbDestroyGlyphCache wfbDestroyGlyphCache #define fbDestroyPixmap wfbDestroyPixmap #define fbDestroyWindow wfbDestroyWindow #define fbDoCopy wfbDoCopy diff --git a/xserver/fix-miregion b/xserver/fix-miregion deleted file mode 100644 index fc502bbfd..000000000 --- a/xserver/fix-miregion +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -sed -i \ --e 's/miRegionCreate\b/RegionCreate/g' \ --e 's/miRegionInit\b/RegionInit/g' \ --e 's/miRegionDestroy\b/RegionDestroy/g' \ --e 's/miRegionUninit\b/RegionUninit/g' \ --e 's/miRegionCopy\b/RegionCopy/g' \ --e 's/miIntersect\b/RegionIntersect/g' \ --e 's/miUnion\b/RegionUnion/g' \ --e 's/miRegionAppend\b/RegionAppend/g' \ --e 's/miRegionValidate\b/RegionValidate/g' \ --e 's/miRectsToRegion\b/RegionFromRects/g' \ --e 's/miSubtract\b/RegionSubtract/g' \ --e 's/miInverse\b/RegionInverse/g' \ --e 's/miRectIn\b/RegionContainsRect/g' \ --e 's/miTranslateRegion\b/RegionTranslate/g' \ --e 's/miRegionReset\b/RegionReset/g' \ --e 's/miRegionBreak\b/RegionBreak/g' \ --e 's/miPointInRegion\b/RegionContainsPoint/g' \ --e 's/miRegionEqual\b/RegionEqual/g' \ --e 's/miRegionNotEmpty\b/RegionNotEmpty/g' \ --e 's/miRegionEmpty\b/RegionEmpty/g' \ --e 's/miRegionExtents\b/RegionExtents/g' \ --e 's/miPrintRegion\b/RegionPrint/g' \ --e 's/miRectAlloc\b/RegionRectAlloc/g' \ --e 's/miValidRegion\b/RegionIsValid/g' \ --e 's/miRegionBroken\b/RegionBroken/g' \ --e 's/miClipSpans\b/RegionClipSpans/g' \ -"$@" diff --git a/xserver/fix-miregion-private b/xserver/fix-miregion-private deleted file mode 100644 index ebc24fac0..000000000 --- a/xserver/fix-miregion-private +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -sed -i \ --e 's/miEmptyBox\b/RegionEmptyBox/g' \ --e 's/miEmptyData\b/RegionEmptyData/g' \ --e 's/miBrokenData\b/RegionBrokenData/g' \ --e 's/miBrokenRegion\b/RegionBrokenRegion/g' \ --e 's/miCoalesce\b/RegionCoalesce/g' \ --e 's/miAppendNonO\b/RegionAppendNonO/g' \ --e 's/miRegionOp\b/RegionOp/g' \ --e 's/miSetExtents\b/RegionSetExtents/g' \ --e 's/miIntersectO\b/RegionIntersectO/g' \ --e 's/miUnionO\b/RegionUnionO/g' \ --e 's/miSubtractO\b/RegionSubtractO/g' \ -"$@" diff --git a/xserver/fix-patch-whitespace b/xserver/fix-patch-whitespace deleted file mode 100644 index 2d06d8ea8..000000000 --- a/xserver/fix-patch-whitespace +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -git diff --check | -sed -n 's!^\([^:]*\):\([^:]*\):.*!sed -i "\2 s/[ \t]*$//; \2 s/ *\t/\t/g" \1!p' | -sh diff --git a/xserver/fix-region b/xserver/fix-region deleted file mode 100644 index ef8eb4218..000000000 --- a/xserver/fix-region +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -sed -i \ - -e 's/REGION_NIL\b/RegionNil/g' \ - -e 's/REGION_NAR\b/RegionNar/g' \ - -e 's/REGION_NUM_RECTS\b/RegionNumRects/g' \ - -e 's/REGION_SIZE\b/RegionSize/g' \ - -e 's/REGION_RECTS\b/RegionRects/g' \ - -e 's/REGION_BOXPTR\b/RegionBoxptr/g' \ - -e 's/REGION_BOX\b/RegionBox/g' \ - -e 's/REGION_TOP\b/RegionTop/g' \ - -e 's/REGION_END\b/RegionEnd/g' \ - -e 's/REGION_SZOF\b/RegionSizeof/g' \ - -e 's/REGION_CREATE *([^,]*, */RegionCreate(/g' \ - -e 's/REGION_COPY *([^,]*, */RegionCopy(/g' \ - -e 's/REGION_DESTROY *([^,]*, */RegionDestroy(/g' \ - -e 's/REGION_INTERSECT *([^,]*, */RegionIntersect(/g' \ - -e 's/REGION_UNION *([^,]*, */RegionUnion(/g' \ - -e 's/REGION_SUBTRACT *([^,]*, */RegionSubtract(/g' \ - -e 's/REGION_INVERSE *([^,]*, */RegionInverse(/g' \ - -e 's/REGION_TRANSLATE *([^,]*, */RegionTranslate(/g' \ - -e 's/RECT_IN_REGION *([^,]*, */RegionContainsRect(/g' \ - -e 's/POINT_IN_REGION *([^,]*, */RegionContainsPoint(/g' \ - -e 's/REGION_EQUAL *([^,]*, */RegionEqual(/g' \ - -e 's/REGION_APPEND *([^,]*, */RegionAppend(/g' \ - -e 's/REGION_VALIDATE *([^,]*, */RegionValidate(/g' \ - -e 's/BITMAP_TO_REGION\b/BitmapToRegion/g' \ - -e 's/RECTS_TO_REGION *([^,]*, */RegionFromRects(/g' \ - -e 's/REGION_BREAK *([^,]*, */RegionBreak(/g' \ - -e 's/REGION_INIT *([^,]*, */RegionInit(/g' \ - -e 's/REGION_UNINIT *([^,]*, */RegionUninit(/g' \ - -e 's/REGION_RESET *([^,]*, */RegionReset(/g' \ - -e 's/REGION_NOTEMPTY *([^,]*, */RegionNotEmpty(/g' \ - -e 's/REGION_BROKEN *([^,]*, */RegionBroken(/g' \ - -e 's/REGION_EMPTY *([^,]*, */RegionEmpty(/g' \ - -e 's/REGION_EXTENTS *([^,]*, */RegionExtents(/g' \ - -e 's/REGION_NULL *([^,]*, */RegionNull(/g' \ - -e 's/REGION_NULL$/RegionNull/g' \ - "$@" diff --git a/xserver/glx/Makefile.am b/xserver/glx/Makefile.am index 591c4ac66..54e81406d 100644 --- a/xserver/glx/Makefile.am +++ b/xserver/glx/Makefile.am @@ -15,18 +15,19 @@ AM_CFLAGS = \ # none yet #sdk_HEADERS = -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/hw/xfree86/os-support \ -I$(top_srcdir)/hw/xfree86/os-support/bus \ -I$(top_srcdir)/hw/xfree86/common \ -I$(top_srcdir)/hw/xfree86/dri \ - -I$(top_srcdir)/mi + -I$(top_srcdir)/mi \ + -I$(top_srcdir)/present if DRI2_AIGLX -INCLUDES += -I$(top_srcdir)/hw/xfree86/dri2 +AM_CPPFLAGS += -I$(top_srcdir)/hw/xfree86/dri2 endif -glapi_sources = \ +indirect_sources = \ indirect_dispatch.c \ indirect_dispatch.h \ indirect_dispatch_swap.c \ @@ -35,22 +36,10 @@ glapi_sources = \ indirect_size.h \ indirect_size_get.c \ indirect_size_get.h \ - indirect_table.c \ - dispatch.h \ - glapitable.h \ - glapi.c \ - glapi.h \ - glapi_gentable.c \ - glprocs.h \ - glthread.c \ - glthread.h + indirect_table.c libglxdri_la_SOURCES = -if DRI -libglxdri_la_SOURCES += glxdri.c -endif - if DRI2_AIGLX libglxdri_la_SOURCES += glxdri2.c endif @@ -59,7 +48,6 @@ libglxdri_la_LIBADD = $(DLOPEN_LIBS) libglx_la_SOURCES = \ $(indirect_sources) \ - $(glapi_sources) \ clientinfo.c \ createcontext.c \ extension_string.c \ diff --git a/xserver/glx/Makefile.in b/xserver/glx/Makefile.in index 8405188d6..92246a693 100644 --- a/xserver/glx/Makefile.in +++ b/xserver/glx/Makefile.in @@ -51,8 +51,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @DRI2_AIGLX_TRUE@am__append_1 = -I$(top_srcdir)/hw/xfree86/dri2 -@DRI_TRUE@am__append_2 = glxdri.c -@DRI2_AIGLX_TRUE@am__append_3 = glxdri2.c +@DRI2_AIGLX_TRUE@am__append_2 = glxdri2.c subdir = glx DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/depcomp @@ -79,8 +78,7 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = libglx_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_1 = indirect_dispatch.lo indirect_dispatch_swap.lo \ - indirect_reqsize.lo indirect_size_get.lo indirect_table.lo \ - glapi.lo glapi_gentable.lo glthread.lo + indirect_reqsize.lo indirect_size_get.lo indirect_table.lo am_libglx_la_OBJECTS = $(am__objects_1) clientinfo.lo createcontext.lo \ extension_string.lo indirect_util.lo indirect_program.lo \ indirect_texture_compression.lo glxcmds.lo glxcmdsswap.lo \ @@ -94,10 +92,9 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libglxdri_la_DEPENDENCIES = $(am__DEPENDENCIES_1) -am__libglxdri_la_SOURCES_DIST = glxdri.c glxdri2.c -@DRI_TRUE@am__objects_2 = glxdri.lo -@DRI2_AIGLX_TRUE@am__objects_3 = glxdri2.lo -am_libglxdri_la_OBJECTS = $(am__objects_2) $(am__objects_3) +am__libglxdri_la_SOURCES_DIST = glxdri2.c +@DRI2_AIGLX_TRUE@am__objects_2 = glxdri2.lo +am_libglxdri_la_OBJECTS = $(am__objects_2) libglxdri_la_OBJECTS = $(am_libglxdri_la_OBJECTS) @AIGLX_DRI_LOADER_TRUE@am_libglxdri_la_rpath = AM_V_P = $(am__v_P_@AM_V@) @@ -198,9 +195,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -232,6 +232,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -261,6 +262,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -304,6 +307,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -317,12 +321,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -388,6 +392,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -479,12 +485,12 @@ AM_CFLAGS = \ # none yet #sdk_HEADERS = -INCLUDES = -I$(top_srcdir)/hw/xfree86/os-support \ +AM_CPPFLAGS = -I$(top_srcdir)/hw/xfree86/os-support \ -I$(top_srcdir)/hw/xfree86/os-support/bus \ -I$(top_srcdir)/hw/xfree86/common \ -I$(top_srcdir)/hw/xfree86/dri -I$(top_srcdir)/mi \ - $(am__append_1) -glapi_sources = \ + -I$(top_srcdir)/present $(am__append_1) +indirect_sources = \ indirect_dispatch.c \ indirect_dispatch.h \ indirect_dispatch_swap.c \ @@ -493,21 +499,12 @@ glapi_sources = \ indirect_size.h \ indirect_size_get.c \ indirect_size_get.h \ - indirect_table.c \ - dispatch.h \ - glapitable.h \ - glapi.c \ - glapi.h \ - glapi_gentable.c \ - glprocs.h \ - glthread.c \ - glthread.h + indirect_table.c -libglxdri_la_SOURCES = $(am__append_2) $(am__append_3) +libglxdri_la_SOURCES = $(am__append_2) libglxdri_la_LIBADD = $(DLOPEN_LIBS) libglx_la_SOURCES = \ $(indirect_sources) \ - $(glapi_sources) \ clientinfo.c \ createcontext.c \ extension_string.c \ @@ -606,12 +603,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clientinfo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/createcontext.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extension_string.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glapi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glapi_gentable.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glthread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxcmds.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxcmdsswap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxdri.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxdri2.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxdricommon.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxdriswrast.Plo@am__quote@ diff --git a/xserver/glx/createcontext.c b/xserver/glx/createcontext.c index 13d21ccb9..cbeddec26 100644 --- a/xserver/glx/createcontext.c +++ b/xserver/glx/createcontext.c @@ -68,6 +68,8 @@ validate_render_type(uint32_t render_type) switch (render_type) { case GLX_RGBA_TYPE: case GLX_COLOR_INDEX_TYPE: + case GLX_RGBA_FLOAT_TYPE_ARB: + case GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT: return True; default: return False; @@ -320,7 +322,7 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc) ctx->id = req->context; ctx->share_id = req->shareList; ctx->idExists = True; - ctx->isCurrent = False; + ctx->currentClient = False; ctx->isDirect = req->isDirect; ctx->hasUnflushedCommands = False; ctx->renderMode = GL_RENDER; diff --git a/xserver/glx/dispatch.h b/xserver/glx/dispatch.h deleted file mode 100644 index 720865304..000000000 --- a/xserver/glx/dispatch.h +++ /dev/null @@ -1,19816 +0,0 @@ -/* DO NOT EDIT - This file generated automatically by gl_table.py (from Mesa) script */ - -/* - * (C) Copyright IBM Corporation 2005 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sub license, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * IBM, - * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#if !defined( _DISPATCH_H_ ) -#define _DISPATCH_H_ - -/** - * \file main/dispatch.h - * Macros for handling GL dispatch tables. - * - * For each known GL function, there are 3 macros in this file. The first - * macro is named CALL_FuncName and is used to call that GL function using - * the specified dispatch table. The other 2 macros, called GET_FuncName - * can SET_FuncName, are used to get and set the dispatch pointer for the - * named function in the specified dispatch table. - */ - -/* GLXEXT is defined when building the GLX extension in the xserver. - */ -#if !defined(GLXEXT) -#include "main/mfeatures.h" -#endif - -#define CALL_by_offset(disp, cast, offset, parameters) \ - (*(cast (GET_by_offset(disp, offset)))) parameters -#define GET_by_offset(disp, offset) \ - (offset >= 0) ? (((_glapi_proc *)(disp))[offset]) : NULL -#define SET_by_offset(disp, offset, fn) \ - do { \ - if ( (offset) < 0 ) { \ - /* fprintf( stderr, "[%s:%u] SET_by_offset(%p, %d, %s)!\n", */ \ - /* __func__, __LINE__, disp, offset, # fn); */ \ - /* abort(); */ \ - } \ - else { \ - ( (_glapi_proc *) (disp) )[offset] = (_glapi_proc) fn; \ - } \ - } while(0) - -/* total number of offsets below */ -#define _gloffset_COUNT 973 - -#define _gloffset_NewList 0 -#define _gloffset_EndList 1 -#define _gloffset_CallList 2 -#define _gloffset_CallLists 3 -#define _gloffset_DeleteLists 4 -#define _gloffset_GenLists 5 -#define _gloffset_ListBase 6 -#define _gloffset_Begin 7 -#define _gloffset_Bitmap 8 -#define _gloffset_Color3b 9 -#define _gloffset_Color3bv 10 -#define _gloffset_Color3d 11 -#define _gloffset_Color3dv 12 -#define _gloffset_Color3f 13 -#define _gloffset_Color3fv 14 -#define _gloffset_Color3i 15 -#define _gloffset_Color3iv 16 -#define _gloffset_Color3s 17 -#define _gloffset_Color3sv 18 -#define _gloffset_Color3ub 19 -#define _gloffset_Color3ubv 20 -#define _gloffset_Color3ui 21 -#define _gloffset_Color3uiv 22 -#define _gloffset_Color3us 23 -#define _gloffset_Color3usv 24 -#define _gloffset_Color4b 25 -#define _gloffset_Color4bv 26 -#define _gloffset_Color4d 27 -#define _gloffset_Color4dv 28 -#define _gloffset_Color4f 29 -#define _gloffset_Color4fv 30 -#define _gloffset_Color4i 31 -#define _gloffset_Color4iv 32 -#define _gloffset_Color4s 33 -#define _gloffset_Color4sv 34 -#define _gloffset_Color4ub 35 -#define _gloffset_Color4ubv 36 -#define _gloffset_Color4ui 37 -#define _gloffset_Color4uiv 38 -#define _gloffset_Color4us 39 -#define _gloffset_Color4usv 40 -#define _gloffset_EdgeFlag 41 -#define _gloffset_EdgeFlagv 42 -#define _gloffset_End 43 -#define _gloffset_Indexd 44 -#define _gloffset_Indexdv 45 -#define _gloffset_Indexf 46 -#define _gloffset_Indexfv 47 -#define _gloffset_Indexi 48 -#define _gloffset_Indexiv 49 -#define _gloffset_Indexs 50 -#define _gloffset_Indexsv 51 -#define _gloffset_Normal3b 52 -#define _gloffset_Normal3bv 53 -#define _gloffset_Normal3d 54 -#define _gloffset_Normal3dv 55 -#define _gloffset_Normal3f 56 -#define _gloffset_Normal3fv 57 -#define _gloffset_Normal3i 58 -#define _gloffset_Normal3iv 59 -#define _gloffset_Normal3s 60 -#define _gloffset_Normal3sv 61 -#define _gloffset_RasterPos2d 62 -#define _gloffset_RasterPos2dv 63 -#define _gloffset_RasterPos2f 64 -#define _gloffset_RasterPos2fv 65 -#define _gloffset_RasterPos2i 66 -#define _gloffset_RasterPos2iv 67 -#define _gloffset_RasterPos2s 68 -#define _gloffset_RasterPos2sv 69 -#define _gloffset_RasterPos3d 70 -#define _gloffset_RasterPos3dv 71 -#define _gloffset_RasterPos3f 72 -#define _gloffset_RasterPos3fv 73 -#define _gloffset_RasterPos3i 74 -#define _gloffset_RasterPos3iv 75 -#define _gloffset_RasterPos3s 76 -#define _gloffset_RasterPos3sv 77 -#define _gloffset_RasterPos4d 78 -#define _gloffset_RasterPos4dv 79 -#define _gloffset_RasterPos4f 80 -#define _gloffset_RasterPos4fv 81 -#define _gloffset_RasterPos4i 82 -#define _gloffset_RasterPos4iv 83 -#define _gloffset_RasterPos4s 84 -#define _gloffset_RasterPos4sv 85 -#define _gloffset_Rectd 86 -#define _gloffset_Rectdv 87 -#define _gloffset_Rectf 88 -#define _gloffset_Rectfv 89 -#define _gloffset_Recti 90 -#define _gloffset_Rectiv 91 -#define _gloffset_Rects 92 -#define _gloffset_Rectsv 93 -#define _gloffset_TexCoord1d 94 -#define _gloffset_TexCoord1dv 95 -#define _gloffset_TexCoord1f 96 -#define _gloffset_TexCoord1fv 97 -#define _gloffset_TexCoord1i 98 -#define _gloffset_TexCoord1iv 99 -#define _gloffset_TexCoord1s 100 -#define _gloffset_TexCoord1sv 101 -#define _gloffset_TexCoord2d 102 -#define _gloffset_TexCoord2dv 103 -#define _gloffset_TexCoord2f 104 -#define _gloffset_TexCoord2fv 105 -#define _gloffset_TexCoord2i 106 -#define _gloffset_TexCoord2iv 107 -#define _gloffset_TexCoord2s 108 -#define _gloffset_TexCoord2sv 109 -#define _gloffset_TexCoord3d 110 -#define _gloffset_TexCoord3dv 111 -#define _gloffset_TexCoord3f 112 -#define _gloffset_TexCoord3fv 113 -#define _gloffset_TexCoord3i 114 -#define _gloffset_TexCoord3iv 115 -#define _gloffset_TexCoord3s 116 -#define _gloffset_TexCoord3sv 117 -#define _gloffset_TexCoord4d 118 -#define _gloffset_TexCoord4dv 119 -#define _gloffset_TexCoord4f 120 -#define _gloffset_TexCoord4fv 121 -#define _gloffset_TexCoord4i 122 -#define _gloffset_TexCoord4iv 123 -#define _gloffset_TexCoord4s 124 -#define _gloffset_TexCoord4sv 125 -#define _gloffset_Vertex2d 126 -#define _gloffset_Vertex2dv 127 -#define _gloffset_Vertex2f 128 -#define _gloffset_Vertex2fv 129 -#define _gloffset_Vertex2i 130 -#define _gloffset_Vertex2iv 131 -#define _gloffset_Vertex2s 132 -#define _gloffset_Vertex2sv 133 -#define _gloffset_Vertex3d 134 -#define _gloffset_Vertex3dv 135 -#define _gloffset_Vertex3f 136 -#define _gloffset_Vertex3fv 137 -#define _gloffset_Vertex3i 138 -#define _gloffset_Vertex3iv 139 -#define _gloffset_Vertex3s 140 -#define _gloffset_Vertex3sv 141 -#define _gloffset_Vertex4d 142 -#define _gloffset_Vertex4dv 143 -#define _gloffset_Vertex4f 144 -#define _gloffset_Vertex4fv 145 -#define _gloffset_Vertex4i 146 -#define _gloffset_Vertex4iv 147 -#define _gloffset_Vertex4s 148 -#define _gloffset_Vertex4sv 149 -#define _gloffset_ClipPlane 150 -#define _gloffset_ColorMaterial 151 -#define _gloffset_CullFace 152 -#define _gloffset_Fogf 153 -#define _gloffset_Fogfv 154 -#define _gloffset_Fogi 155 -#define _gloffset_Fogiv 156 -#define _gloffset_FrontFace 157 -#define _gloffset_Hint 158 -#define _gloffset_Lightf 159 -#define _gloffset_Lightfv 160 -#define _gloffset_Lighti 161 -#define _gloffset_Lightiv 162 -#define _gloffset_LightModelf 163 -#define _gloffset_LightModelfv 164 -#define _gloffset_LightModeli 165 -#define _gloffset_LightModeliv 166 -#define _gloffset_LineStipple 167 -#define _gloffset_LineWidth 168 -#define _gloffset_Materialf 169 -#define _gloffset_Materialfv 170 -#define _gloffset_Materiali 171 -#define _gloffset_Materialiv 172 -#define _gloffset_PointSize 173 -#define _gloffset_PolygonMode 174 -#define _gloffset_PolygonStipple 175 -#define _gloffset_Scissor 176 -#define _gloffset_ShadeModel 177 -#define _gloffset_TexParameterf 178 -#define _gloffset_TexParameterfv 179 -#define _gloffset_TexParameteri 180 -#define _gloffset_TexParameteriv 181 -#define _gloffset_TexImage1D 182 -#define _gloffset_TexImage2D 183 -#define _gloffset_TexEnvf 184 -#define _gloffset_TexEnvfv 185 -#define _gloffset_TexEnvi 186 -#define _gloffset_TexEnviv 187 -#define _gloffset_TexGend 188 -#define _gloffset_TexGendv 189 -#define _gloffset_TexGenf 190 -#define _gloffset_TexGenfv 191 -#define _gloffset_TexGeni 192 -#define _gloffset_TexGeniv 193 -#define _gloffset_FeedbackBuffer 194 -#define _gloffset_SelectBuffer 195 -#define _gloffset_RenderMode 196 -#define _gloffset_InitNames 197 -#define _gloffset_LoadName 198 -#define _gloffset_PassThrough 199 -#define _gloffset_PopName 200 -#define _gloffset_PushName 201 -#define _gloffset_DrawBuffer 202 -#define _gloffset_Clear 203 -#define _gloffset_ClearAccum 204 -#define _gloffset_ClearIndex 205 -#define _gloffset_ClearColor 206 -#define _gloffset_ClearStencil 207 -#define _gloffset_ClearDepth 208 -#define _gloffset_StencilMask 209 -#define _gloffset_ColorMask 210 -#define _gloffset_DepthMask 211 -#define _gloffset_IndexMask 212 -#define _gloffset_Accum 213 -#define _gloffset_Disable 214 -#define _gloffset_Enable 215 -#define _gloffset_Finish 216 -#define _gloffset_Flush 217 -#define _gloffset_PopAttrib 218 -#define _gloffset_PushAttrib 219 -#define _gloffset_Map1d 220 -#define _gloffset_Map1f 221 -#define _gloffset_Map2d 222 -#define _gloffset_Map2f 223 -#define _gloffset_MapGrid1d 224 -#define _gloffset_MapGrid1f 225 -#define _gloffset_MapGrid2d 226 -#define _gloffset_MapGrid2f 227 -#define _gloffset_EvalCoord1d 228 -#define _gloffset_EvalCoord1dv 229 -#define _gloffset_EvalCoord1f 230 -#define _gloffset_EvalCoord1fv 231 -#define _gloffset_EvalCoord2d 232 -#define _gloffset_EvalCoord2dv 233 -#define _gloffset_EvalCoord2f 234 -#define _gloffset_EvalCoord2fv 235 -#define _gloffset_EvalMesh1 236 -#define _gloffset_EvalPoint1 237 -#define _gloffset_EvalMesh2 238 -#define _gloffset_EvalPoint2 239 -#define _gloffset_AlphaFunc 240 -#define _gloffset_BlendFunc 241 -#define _gloffset_LogicOp 242 -#define _gloffset_StencilFunc 243 -#define _gloffset_StencilOp 244 -#define _gloffset_DepthFunc 245 -#define _gloffset_PixelZoom 246 -#define _gloffset_PixelTransferf 247 -#define _gloffset_PixelTransferi 248 -#define _gloffset_PixelStoref 249 -#define _gloffset_PixelStorei 250 -#define _gloffset_PixelMapfv 251 -#define _gloffset_PixelMapuiv 252 -#define _gloffset_PixelMapusv 253 -#define _gloffset_ReadBuffer 254 -#define _gloffset_CopyPixels 255 -#define _gloffset_ReadPixels 256 -#define _gloffset_DrawPixels 257 -#define _gloffset_GetBooleanv 258 -#define _gloffset_GetClipPlane 259 -#define _gloffset_GetDoublev 260 -#define _gloffset_GetError 261 -#define _gloffset_GetFloatv 262 -#define _gloffset_GetIntegerv 263 -#define _gloffset_GetLightfv 264 -#define _gloffset_GetLightiv 265 -#define _gloffset_GetMapdv 266 -#define _gloffset_GetMapfv 267 -#define _gloffset_GetMapiv 268 -#define _gloffset_GetMaterialfv 269 -#define _gloffset_GetMaterialiv 270 -#define _gloffset_GetPixelMapfv 271 -#define _gloffset_GetPixelMapuiv 272 -#define _gloffset_GetPixelMapusv 273 -#define _gloffset_GetPolygonStipple 274 -#define _gloffset_GetString 275 -#define _gloffset_GetTexEnvfv 276 -#define _gloffset_GetTexEnviv 277 -#define _gloffset_GetTexGendv 278 -#define _gloffset_GetTexGenfv 279 -#define _gloffset_GetTexGeniv 280 -#define _gloffset_GetTexImage 281 -#define _gloffset_GetTexParameterfv 282 -#define _gloffset_GetTexParameteriv 283 -#define _gloffset_GetTexLevelParameterfv 284 -#define _gloffset_GetTexLevelParameteriv 285 -#define _gloffset_IsEnabled 286 -#define _gloffset_IsList 287 -#define _gloffset_DepthRange 288 -#define _gloffset_Frustum 289 -#define _gloffset_LoadIdentity 290 -#define _gloffset_LoadMatrixf 291 -#define _gloffset_LoadMatrixd 292 -#define _gloffset_MatrixMode 293 -#define _gloffset_MultMatrixf 294 -#define _gloffset_MultMatrixd 295 -#define _gloffset_Ortho 296 -#define _gloffset_PopMatrix 297 -#define _gloffset_PushMatrix 298 -#define _gloffset_Rotated 299 -#define _gloffset_Rotatef 300 -#define _gloffset_Scaled 301 -#define _gloffset_Scalef 302 -#define _gloffset_Translated 303 -#define _gloffset_Translatef 304 -#define _gloffset_Viewport 305 -#define _gloffset_ArrayElement 306 -#define _gloffset_BindTexture 307 -#define _gloffset_ColorPointer 308 -#define _gloffset_DisableClientState 309 -#define _gloffset_DrawArrays 310 -#define _gloffset_DrawElements 311 -#define _gloffset_EdgeFlagPointer 312 -#define _gloffset_EnableClientState 313 -#define _gloffset_IndexPointer 314 -#define _gloffset_Indexub 315 -#define _gloffset_Indexubv 316 -#define _gloffset_InterleavedArrays 317 -#define _gloffset_NormalPointer 318 -#define _gloffset_PolygonOffset 319 -#define _gloffset_TexCoordPointer 320 -#define _gloffset_VertexPointer 321 -#define _gloffset_AreTexturesResident 322 -#define _gloffset_CopyTexImage1D 323 -#define _gloffset_CopyTexImage2D 324 -#define _gloffset_CopyTexSubImage1D 325 -#define _gloffset_CopyTexSubImage2D 326 -#define _gloffset_DeleteTextures 327 -#define _gloffset_GenTextures 328 -#define _gloffset_GetPointerv 329 -#define _gloffset_IsTexture 330 -#define _gloffset_PrioritizeTextures 331 -#define _gloffset_TexSubImage1D 332 -#define _gloffset_TexSubImage2D 333 -#define _gloffset_PopClientAttrib 334 -#define _gloffset_PushClientAttrib 335 -#define _gloffset_BlendColor 336 -#define _gloffset_BlendEquation 337 -#define _gloffset_DrawRangeElements 338 -#define _gloffset_ColorTable 339 -#define _gloffset_ColorTableParameterfv 340 -#define _gloffset_ColorTableParameteriv 341 -#define _gloffset_CopyColorTable 342 -#define _gloffset_GetColorTable 343 -#define _gloffset_GetColorTableParameterfv 344 -#define _gloffset_GetColorTableParameteriv 345 -#define _gloffset_ColorSubTable 346 -#define _gloffset_CopyColorSubTable 347 -#define _gloffset_ConvolutionFilter1D 348 -#define _gloffset_ConvolutionFilter2D 349 -#define _gloffset_ConvolutionParameterf 350 -#define _gloffset_ConvolutionParameterfv 351 -#define _gloffset_ConvolutionParameteri 352 -#define _gloffset_ConvolutionParameteriv 353 -#define _gloffset_CopyConvolutionFilter1D 354 -#define _gloffset_CopyConvolutionFilter2D 355 -#define _gloffset_GetConvolutionFilter 356 -#define _gloffset_GetConvolutionParameterfv 357 -#define _gloffset_GetConvolutionParameteriv 358 -#define _gloffset_GetSeparableFilter 359 -#define _gloffset_SeparableFilter2D 360 -#define _gloffset_GetHistogram 361 -#define _gloffset_GetHistogramParameterfv 362 -#define _gloffset_GetHistogramParameteriv 363 -#define _gloffset_GetMinmax 364 -#define _gloffset_GetMinmaxParameterfv 365 -#define _gloffset_GetMinmaxParameteriv 366 -#define _gloffset_Histogram 367 -#define _gloffset_Minmax 368 -#define _gloffset_ResetHistogram 369 -#define _gloffset_ResetMinmax 370 -#define _gloffset_TexImage3D 371 -#define _gloffset_TexSubImage3D 372 -#define _gloffset_CopyTexSubImage3D 373 -#define _gloffset_ActiveTextureARB 374 -#define _gloffset_ClientActiveTextureARB 375 -#define _gloffset_MultiTexCoord1dARB 376 -#define _gloffset_MultiTexCoord1dvARB 377 -#define _gloffset_MultiTexCoord1fARB 378 -#define _gloffset_MultiTexCoord1fvARB 379 -#define _gloffset_MultiTexCoord1iARB 380 -#define _gloffset_MultiTexCoord1ivARB 381 -#define _gloffset_MultiTexCoord1sARB 382 -#define _gloffset_MultiTexCoord1svARB 383 -#define _gloffset_MultiTexCoord2dARB 384 -#define _gloffset_MultiTexCoord2dvARB 385 -#define _gloffset_MultiTexCoord2fARB 386 -#define _gloffset_MultiTexCoord2fvARB 387 -#define _gloffset_MultiTexCoord2iARB 388 -#define _gloffset_MultiTexCoord2ivARB 389 -#define _gloffset_MultiTexCoord2sARB 390 -#define _gloffset_MultiTexCoord2svARB 391 -#define _gloffset_MultiTexCoord3dARB 392 -#define _gloffset_MultiTexCoord3dvARB 393 -#define _gloffset_MultiTexCoord3fARB 394 -#define _gloffset_MultiTexCoord3fvARB 395 -#define _gloffset_MultiTexCoord3iARB 396 -#define _gloffset_MultiTexCoord3ivARB 397 -#define _gloffset_MultiTexCoord3sARB 398 -#define _gloffset_MultiTexCoord3svARB 399 -#define _gloffset_MultiTexCoord4dARB 400 -#define _gloffset_MultiTexCoord4dvARB 401 -#define _gloffset_MultiTexCoord4fARB 402 -#define _gloffset_MultiTexCoord4fvARB 403 -#define _gloffset_MultiTexCoord4iARB 404 -#define _gloffset_MultiTexCoord4ivARB 405 -#define _gloffset_MultiTexCoord4sARB 406 -#define _gloffset_MultiTexCoord4svARB 407 - -#if !FEATURE_remap_table - -#define _gloffset_AttachShader 408 -#define _gloffset_CreateProgram 409 -#define _gloffset_CreateShader 410 -#define _gloffset_DeleteProgram 411 -#define _gloffset_DeleteShader 412 -#define _gloffset_DetachShader 413 -#define _gloffset_GetAttachedShaders 414 -#define _gloffset_GetProgramInfoLog 415 -#define _gloffset_GetProgramiv 416 -#define _gloffset_GetShaderInfoLog 417 -#define _gloffset_GetShaderiv 418 -#define _gloffset_IsProgram 419 -#define _gloffset_IsShader 420 -#define _gloffset_StencilFuncSeparate 421 -#define _gloffset_StencilMaskSeparate 422 -#define _gloffset_StencilOpSeparate 423 -#define _gloffset_UniformMatrix2x3fv 424 -#define _gloffset_UniformMatrix2x4fv 425 -#define _gloffset_UniformMatrix3x2fv 426 -#define _gloffset_UniformMatrix3x4fv 427 -#define _gloffset_UniformMatrix4x2fv 428 -#define _gloffset_UniformMatrix4x3fv 429 -#define _gloffset_ClampColor 430 -#define _gloffset_ClearBufferfi 431 -#define _gloffset_ClearBufferfv 432 -#define _gloffset_ClearBufferiv 433 -#define _gloffset_ClearBufferuiv 434 -#define _gloffset_GetStringi 435 -#define _gloffset_TexBuffer 436 -#define _gloffset_FramebufferTexture 437 -#define _gloffset_GetBufferParameteri64v 438 -#define _gloffset_GetInteger64i_v 439 -#define _gloffset_VertexAttribDivisor 440 -#define _gloffset_LoadTransposeMatrixdARB 441 -#define _gloffset_LoadTransposeMatrixfARB 442 -#define _gloffset_MultTransposeMatrixdARB 443 -#define _gloffset_MultTransposeMatrixfARB 444 -#define _gloffset_SampleCoverageARB 445 -#define _gloffset_CompressedTexImage1DARB 446 -#define _gloffset_CompressedTexImage2DARB 447 -#define _gloffset_CompressedTexImage3DARB 448 -#define _gloffset_CompressedTexSubImage1DARB 449 -#define _gloffset_CompressedTexSubImage2DARB 450 -#define _gloffset_CompressedTexSubImage3DARB 451 -#define _gloffset_GetCompressedTexImageARB 452 -#define _gloffset_DisableVertexAttribArrayARB 453 -#define _gloffset_EnableVertexAttribArrayARB 454 -#define _gloffset_GetProgramEnvParameterdvARB 455 -#define _gloffset_GetProgramEnvParameterfvARB 456 -#define _gloffset_GetProgramLocalParameterdvARB 457 -#define _gloffset_GetProgramLocalParameterfvARB 458 -#define _gloffset_GetProgramStringARB 459 -#define _gloffset_GetProgramivARB 460 -#define _gloffset_GetVertexAttribdvARB 461 -#define _gloffset_GetVertexAttribfvARB 462 -#define _gloffset_GetVertexAttribivARB 463 -#define _gloffset_ProgramEnvParameter4dARB 464 -#define _gloffset_ProgramEnvParameter4dvARB 465 -#define _gloffset_ProgramEnvParameter4fARB 466 -#define _gloffset_ProgramEnvParameter4fvARB 467 -#define _gloffset_ProgramLocalParameter4dARB 468 -#define _gloffset_ProgramLocalParameter4dvARB 469 -#define _gloffset_ProgramLocalParameter4fARB 470 -#define _gloffset_ProgramLocalParameter4fvARB 471 -#define _gloffset_ProgramStringARB 472 -#define _gloffset_VertexAttrib1dARB 473 -#define _gloffset_VertexAttrib1dvARB 474 -#define _gloffset_VertexAttrib1fARB 475 -#define _gloffset_VertexAttrib1fvARB 476 -#define _gloffset_VertexAttrib1sARB 477 -#define _gloffset_VertexAttrib1svARB 478 -#define _gloffset_VertexAttrib2dARB 479 -#define _gloffset_VertexAttrib2dvARB 480 -#define _gloffset_VertexAttrib2fARB 481 -#define _gloffset_VertexAttrib2fvARB 482 -#define _gloffset_VertexAttrib2sARB 483 -#define _gloffset_VertexAttrib2svARB 484 -#define _gloffset_VertexAttrib3dARB 485 -#define _gloffset_VertexAttrib3dvARB 486 -#define _gloffset_VertexAttrib3fARB 487 -#define _gloffset_VertexAttrib3fvARB 488 -#define _gloffset_VertexAttrib3sARB 489 -#define _gloffset_VertexAttrib3svARB 490 -#define _gloffset_VertexAttrib4NbvARB 491 -#define _gloffset_VertexAttrib4NivARB 492 -#define _gloffset_VertexAttrib4NsvARB 493 -#define _gloffset_VertexAttrib4NubARB 494 -#define _gloffset_VertexAttrib4NubvARB 495 -#define _gloffset_VertexAttrib4NuivARB 496 -#define _gloffset_VertexAttrib4NusvARB 497 -#define _gloffset_VertexAttrib4bvARB 498 -#define _gloffset_VertexAttrib4dARB 499 -#define _gloffset_VertexAttrib4dvARB 500 -#define _gloffset_VertexAttrib4fARB 501 -#define _gloffset_VertexAttrib4fvARB 502 -#define _gloffset_VertexAttrib4ivARB 503 -#define _gloffset_VertexAttrib4sARB 504 -#define _gloffset_VertexAttrib4svARB 505 -#define _gloffset_VertexAttrib4ubvARB 506 -#define _gloffset_VertexAttrib4uivARB 507 -#define _gloffset_VertexAttrib4usvARB 508 -#define _gloffset_VertexAttribPointerARB 509 -#define _gloffset_BindBufferARB 510 -#define _gloffset_BufferDataARB 511 -#define _gloffset_BufferSubDataARB 512 -#define _gloffset_DeleteBuffersARB 513 -#define _gloffset_GenBuffersARB 514 -#define _gloffset_GetBufferParameterivARB 515 -#define _gloffset_GetBufferPointervARB 516 -#define _gloffset_GetBufferSubDataARB 517 -#define _gloffset_IsBufferARB 518 -#define _gloffset_MapBufferARB 519 -#define _gloffset_UnmapBufferARB 520 -#define _gloffset_BeginQueryARB 521 -#define _gloffset_DeleteQueriesARB 522 -#define _gloffset_EndQueryARB 523 -#define _gloffset_GenQueriesARB 524 -#define _gloffset_GetQueryObjectivARB 525 -#define _gloffset_GetQueryObjectuivARB 526 -#define _gloffset_GetQueryivARB 527 -#define _gloffset_IsQueryARB 528 -#define _gloffset_AttachObjectARB 529 -#define _gloffset_CompileShaderARB 530 -#define _gloffset_CreateProgramObjectARB 531 -#define _gloffset_CreateShaderObjectARB 532 -#define _gloffset_DeleteObjectARB 533 -#define _gloffset_DetachObjectARB 534 -#define _gloffset_GetActiveUniformARB 535 -#define _gloffset_GetAttachedObjectsARB 536 -#define _gloffset_GetHandleARB 537 -#define _gloffset_GetInfoLogARB 538 -#define _gloffset_GetObjectParameterfvARB 539 -#define _gloffset_GetObjectParameterivARB 540 -#define _gloffset_GetShaderSourceARB 541 -#define _gloffset_GetUniformLocationARB 542 -#define _gloffset_GetUniformfvARB 543 -#define _gloffset_GetUniformivARB 544 -#define _gloffset_LinkProgramARB 545 -#define _gloffset_ShaderSourceARB 546 -#define _gloffset_Uniform1fARB 547 -#define _gloffset_Uniform1fvARB 548 -#define _gloffset_Uniform1iARB 549 -#define _gloffset_Uniform1ivARB 550 -#define _gloffset_Uniform2fARB 551 -#define _gloffset_Uniform2fvARB 552 -#define _gloffset_Uniform2iARB 553 -#define _gloffset_Uniform2ivARB 554 -#define _gloffset_Uniform3fARB 555 -#define _gloffset_Uniform3fvARB 556 -#define _gloffset_Uniform3iARB 557 -#define _gloffset_Uniform3ivARB 558 -#define _gloffset_Uniform4fARB 559 -#define _gloffset_Uniform4fvARB 560 -#define _gloffset_Uniform4iARB 561 -#define _gloffset_Uniform4ivARB 562 -#define _gloffset_UniformMatrix2fvARB 563 -#define _gloffset_UniformMatrix3fvARB 564 -#define _gloffset_UniformMatrix4fvARB 565 -#define _gloffset_UseProgramObjectARB 566 -#define _gloffset_ValidateProgramARB 567 -#define _gloffset_BindAttribLocationARB 568 -#define _gloffset_GetActiveAttribARB 569 -#define _gloffset_GetAttribLocationARB 570 -#define _gloffset_DrawBuffersARB 571 -#define _gloffset_ClampColorARB 572 -#define _gloffset_DrawArraysInstancedARB 573 -#define _gloffset_DrawElementsInstancedARB 574 -#define _gloffset_RenderbufferStorageMultisample 575 -#define _gloffset_FramebufferTextureARB 576 -#define _gloffset_FramebufferTextureFaceARB 577 -#define _gloffset_ProgramParameteriARB 578 -#define _gloffset_VertexAttribDivisorARB 579 -#define _gloffset_FlushMappedBufferRange 580 -#define _gloffset_MapBufferRange 581 -#define _gloffset_TexBufferARB 582 -#define _gloffset_BindVertexArray 583 -#define _gloffset_GenVertexArrays 584 -#define _gloffset_CopyBufferSubData 585 -#define _gloffset_ClientWaitSync 586 -#define _gloffset_DeleteSync 587 -#define _gloffset_FenceSync 588 -#define _gloffset_GetInteger64v 589 -#define _gloffset_GetSynciv 590 -#define _gloffset_IsSync 591 -#define _gloffset_WaitSync 592 -#define _gloffset_DrawElementsBaseVertex 593 -#define _gloffset_DrawElementsInstancedBaseVertex 594 -#define _gloffset_DrawRangeElementsBaseVertex 595 -#define _gloffset_MultiDrawElementsBaseVertex 596 -#define _gloffset_BlendEquationSeparateiARB 597 -#define _gloffset_BlendEquationiARB 598 -#define _gloffset_BlendFuncSeparateiARB 599 -#define _gloffset_BlendFunciARB 600 -#define _gloffset_BindSampler 601 -#define _gloffset_DeleteSamplers 602 -#define _gloffset_GenSamplers 603 -#define _gloffset_GetSamplerParameterIiv 604 -#define _gloffset_GetSamplerParameterIuiv 605 -#define _gloffset_GetSamplerParameterfv 606 -#define _gloffset_GetSamplerParameteriv 607 -#define _gloffset_IsSampler 608 -#define _gloffset_SamplerParameterIiv 609 -#define _gloffset_SamplerParameterIuiv 610 -#define _gloffset_SamplerParameterf 611 -#define _gloffset_SamplerParameterfv 612 -#define _gloffset_SamplerParameteri 613 -#define _gloffset_SamplerParameteriv 614 -#define _gloffset_ColorP3ui 615 -#define _gloffset_ColorP3uiv 616 -#define _gloffset_ColorP4ui 617 -#define _gloffset_ColorP4uiv 618 -#define _gloffset_MultiTexCoordP1ui 619 -#define _gloffset_MultiTexCoordP1uiv 620 -#define _gloffset_MultiTexCoordP2ui 621 -#define _gloffset_MultiTexCoordP2uiv 622 -#define _gloffset_MultiTexCoordP3ui 623 -#define _gloffset_MultiTexCoordP3uiv 624 -#define _gloffset_MultiTexCoordP4ui 625 -#define _gloffset_MultiTexCoordP4uiv 626 -#define _gloffset_NormalP3ui 627 -#define _gloffset_NormalP3uiv 628 -#define _gloffset_SecondaryColorP3ui 629 -#define _gloffset_SecondaryColorP3uiv 630 -#define _gloffset_TexCoordP1ui 631 -#define _gloffset_TexCoordP1uiv 632 -#define _gloffset_TexCoordP2ui 633 -#define _gloffset_TexCoordP2uiv 634 -#define _gloffset_TexCoordP3ui 635 -#define _gloffset_TexCoordP3uiv 636 -#define _gloffset_TexCoordP4ui 637 -#define _gloffset_TexCoordP4uiv 638 -#define _gloffset_VertexAttribP1ui 639 -#define _gloffset_VertexAttribP1uiv 640 -#define _gloffset_VertexAttribP2ui 641 -#define _gloffset_VertexAttribP2uiv 642 -#define _gloffset_VertexAttribP3ui 643 -#define _gloffset_VertexAttribP3uiv 644 -#define _gloffset_VertexAttribP4ui 645 -#define _gloffset_VertexAttribP4uiv 646 -#define _gloffset_VertexP2ui 647 -#define _gloffset_VertexP2uiv 648 -#define _gloffset_VertexP3ui 649 -#define _gloffset_VertexP3uiv 650 -#define _gloffset_VertexP4ui 651 -#define _gloffset_VertexP4uiv 652 -#define _gloffset_BindTransformFeedback 653 -#define _gloffset_DeleteTransformFeedbacks 654 -#define _gloffset_DrawTransformFeedback 655 -#define _gloffset_GenTransformFeedbacks 656 -#define _gloffset_IsTransformFeedback 657 -#define _gloffset_PauseTransformFeedback 658 -#define _gloffset_ResumeTransformFeedback 659 -#define _gloffset_ClearDepthf 660 -#define _gloffset_DepthRangef 661 -#define _gloffset_GetShaderPrecisionFormat 662 -#define _gloffset_ReleaseShaderCompiler 663 -#define _gloffset_ShaderBinary 664 -#define _gloffset_GetGraphicsResetStatusARB 665 -#define _gloffset_GetnColorTableARB 666 -#define _gloffset_GetnCompressedTexImageARB 667 -#define _gloffset_GetnConvolutionFilterARB 668 -#define _gloffset_GetnHistogramARB 669 -#define _gloffset_GetnMapdvARB 670 -#define _gloffset_GetnMapfvARB 671 -#define _gloffset_GetnMapivARB 672 -#define _gloffset_GetnMinmaxARB 673 -#define _gloffset_GetnPixelMapfvARB 674 -#define _gloffset_GetnPixelMapuivARB 675 -#define _gloffset_GetnPixelMapusvARB 676 -#define _gloffset_GetnPolygonStippleARB 677 -#define _gloffset_GetnSeparableFilterARB 678 -#define _gloffset_GetnTexImageARB 679 -#define _gloffset_GetnUniformdvARB 680 -#define _gloffset_GetnUniformfvARB 681 -#define _gloffset_GetnUniformivARB 682 -#define _gloffset_GetnUniformuivARB 683 -#define _gloffset_ReadnPixelsARB 684 -#define _gloffset_TexStorage1D 685 -#define _gloffset_TexStorage2D 686 -#define _gloffset_TexStorage3D 687 -#define _gloffset_TextureStorage1DEXT 688 -#define _gloffset_TextureStorage2DEXT 689 -#define _gloffset_TextureStorage3DEXT 690 -#define _gloffset_PolygonOffsetEXT 691 -#define _gloffset_GetPixelTexGenParameterfvSGIS 692 -#define _gloffset_GetPixelTexGenParameterivSGIS 693 -#define _gloffset_PixelTexGenParameterfSGIS 694 -#define _gloffset_PixelTexGenParameterfvSGIS 695 -#define _gloffset_PixelTexGenParameteriSGIS 696 -#define _gloffset_PixelTexGenParameterivSGIS 697 -#define _gloffset_SampleMaskSGIS 698 -#define _gloffset_SamplePatternSGIS 699 -#define _gloffset_ColorPointerEXT 700 -#define _gloffset_EdgeFlagPointerEXT 701 -#define _gloffset_IndexPointerEXT 702 -#define _gloffset_NormalPointerEXT 703 -#define _gloffset_TexCoordPointerEXT 704 -#define _gloffset_VertexPointerEXT 705 -#define _gloffset_PointParameterfEXT 706 -#define _gloffset_PointParameterfvEXT 707 -#define _gloffset_LockArraysEXT 708 -#define _gloffset_UnlockArraysEXT 709 -#define _gloffset_SecondaryColor3bEXT 710 -#define _gloffset_SecondaryColor3bvEXT 711 -#define _gloffset_SecondaryColor3dEXT 712 -#define _gloffset_SecondaryColor3dvEXT 713 -#define _gloffset_SecondaryColor3fEXT 714 -#define _gloffset_SecondaryColor3fvEXT 715 -#define _gloffset_SecondaryColor3iEXT 716 -#define _gloffset_SecondaryColor3ivEXT 717 -#define _gloffset_SecondaryColor3sEXT 718 -#define _gloffset_SecondaryColor3svEXT 719 -#define _gloffset_SecondaryColor3ubEXT 720 -#define _gloffset_SecondaryColor3ubvEXT 721 -#define _gloffset_SecondaryColor3uiEXT 722 -#define _gloffset_SecondaryColor3uivEXT 723 -#define _gloffset_SecondaryColor3usEXT 724 -#define _gloffset_SecondaryColor3usvEXT 725 -#define _gloffset_SecondaryColorPointerEXT 726 -#define _gloffset_MultiDrawArraysEXT 727 -#define _gloffset_MultiDrawElementsEXT 728 -#define _gloffset_FogCoordPointerEXT 729 -#define _gloffset_FogCoorddEXT 730 -#define _gloffset_FogCoorddvEXT 731 -#define _gloffset_FogCoordfEXT 732 -#define _gloffset_FogCoordfvEXT 733 -#define _gloffset_PixelTexGenSGIX 734 -#define _gloffset_BlendFuncSeparateEXT 735 -#define _gloffset_FlushVertexArrayRangeNV 736 -#define _gloffset_VertexArrayRangeNV 737 -#define _gloffset_CombinerInputNV 738 -#define _gloffset_CombinerOutputNV 739 -#define _gloffset_CombinerParameterfNV 740 -#define _gloffset_CombinerParameterfvNV 741 -#define _gloffset_CombinerParameteriNV 742 -#define _gloffset_CombinerParameterivNV 743 -#define _gloffset_FinalCombinerInputNV 744 -#define _gloffset_GetCombinerInputParameterfvNV 745 -#define _gloffset_GetCombinerInputParameterivNV 746 -#define _gloffset_GetCombinerOutputParameterfvNV 747 -#define _gloffset_GetCombinerOutputParameterivNV 748 -#define _gloffset_GetFinalCombinerInputParameterfvNV 749 -#define _gloffset_GetFinalCombinerInputParameterivNV 750 -#define _gloffset_ResizeBuffersMESA 751 -#define _gloffset_WindowPos2dMESA 752 -#define _gloffset_WindowPos2dvMESA 753 -#define _gloffset_WindowPos2fMESA 754 -#define _gloffset_WindowPos2fvMESA 755 -#define _gloffset_WindowPos2iMESA 756 -#define _gloffset_WindowPos2ivMESA 757 -#define _gloffset_WindowPos2sMESA 758 -#define _gloffset_WindowPos2svMESA 759 -#define _gloffset_WindowPos3dMESA 760 -#define _gloffset_WindowPos3dvMESA 761 -#define _gloffset_WindowPos3fMESA 762 -#define _gloffset_WindowPos3fvMESA 763 -#define _gloffset_WindowPos3iMESA 764 -#define _gloffset_WindowPos3ivMESA 765 -#define _gloffset_WindowPos3sMESA 766 -#define _gloffset_WindowPos3svMESA 767 -#define _gloffset_WindowPos4dMESA 768 -#define _gloffset_WindowPos4dvMESA 769 -#define _gloffset_WindowPos4fMESA 770 -#define _gloffset_WindowPos4fvMESA 771 -#define _gloffset_WindowPos4iMESA 772 -#define _gloffset_WindowPos4ivMESA 773 -#define _gloffset_WindowPos4sMESA 774 -#define _gloffset_WindowPos4svMESA 775 -#define _gloffset_MultiModeDrawArraysIBM 776 -#define _gloffset_MultiModeDrawElementsIBM 777 -#define _gloffset_DeleteFencesNV 778 -#define _gloffset_FinishFenceNV 779 -#define _gloffset_GenFencesNV 780 -#define _gloffset_GetFenceivNV 781 -#define _gloffset_IsFenceNV 782 -#define _gloffset_SetFenceNV 783 -#define _gloffset_TestFenceNV 784 -#define _gloffset_AreProgramsResidentNV 785 -#define _gloffset_BindProgramNV 786 -#define _gloffset_DeleteProgramsNV 787 -#define _gloffset_ExecuteProgramNV 788 -#define _gloffset_GenProgramsNV 789 -#define _gloffset_GetProgramParameterdvNV 790 -#define _gloffset_GetProgramParameterfvNV 791 -#define _gloffset_GetProgramStringNV 792 -#define _gloffset_GetProgramivNV 793 -#define _gloffset_GetTrackMatrixivNV 794 -#define _gloffset_GetVertexAttribPointervNV 795 -#define _gloffset_GetVertexAttribdvNV 796 -#define _gloffset_GetVertexAttribfvNV 797 -#define _gloffset_GetVertexAttribivNV 798 -#define _gloffset_IsProgramNV 799 -#define _gloffset_LoadProgramNV 800 -#define _gloffset_ProgramParameters4dvNV 801 -#define _gloffset_ProgramParameters4fvNV 802 -#define _gloffset_RequestResidentProgramsNV 803 -#define _gloffset_TrackMatrixNV 804 -#define _gloffset_VertexAttrib1dNV 805 -#define _gloffset_VertexAttrib1dvNV 806 -#define _gloffset_VertexAttrib1fNV 807 -#define _gloffset_VertexAttrib1fvNV 808 -#define _gloffset_VertexAttrib1sNV 809 -#define _gloffset_VertexAttrib1svNV 810 -#define _gloffset_VertexAttrib2dNV 811 -#define _gloffset_VertexAttrib2dvNV 812 -#define _gloffset_VertexAttrib2fNV 813 -#define _gloffset_VertexAttrib2fvNV 814 -#define _gloffset_VertexAttrib2sNV 815 -#define _gloffset_VertexAttrib2svNV 816 -#define _gloffset_VertexAttrib3dNV 817 -#define _gloffset_VertexAttrib3dvNV 818 -#define _gloffset_VertexAttrib3fNV 819 -#define _gloffset_VertexAttrib3fvNV 820 -#define _gloffset_VertexAttrib3sNV 821 -#define _gloffset_VertexAttrib3svNV 822 -#define _gloffset_VertexAttrib4dNV 823 -#define _gloffset_VertexAttrib4dvNV 824 -#define _gloffset_VertexAttrib4fNV 825 -#define _gloffset_VertexAttrib4fvNV 826 -#define _gloffset_VertexAttrib4sNV 827 -#define _gloffset_VertexAttrib4svNV 828 -#define _gloffset_VertexAttrib4ubNV 829 -#define _gloffset_VertexAttrib4ubvNV 830 -#define _gloffset_VertexAttribPointerNV 831 -#define _gloffset_VertexAttribs1dvNV 832 -#define _gloffset_VertexAttribs1fvNV 833 -#define _gloffset_VertexAttribs1svNV 834 -#define _gloffset_VertexAttribs2dvNV 835 -#define _gloffset_VertexAttribs2fvNV 836 -#define _gloffset_VertexAttribs2svNV 837 -#define _gloffset_VertexAttribs3dvNV 838 -#define _gloffset_VertexAttribs3fvNV 839 -#define _gloffset_VertexAttribs3svNV 840 -#define _gloffset_VertexAttribs4dvNV 841 -#define _gloffset_VertexAttribs4fvNV 842 -#define _gloffset_VertexAttribs4svNV 843 -#define _gloffset_VertexAttribs4ubvNV 844 -#define _gloffset_GetTexBumpParameterfvATI 845 -#define _gloffset_GetTexBumpParameterivATI 846 -#define _gloffset_TexBumpParameterfvATI 847 -#define _gloffset_TexBumpParameterivATI 848 -#define _gloffset_AlphaFragmentOp1ATI 849 -#define _gloffset_AlphaFragmentOp2ATI 850 -#define _gloffset_AlphaFragmentOp3ATI 851 -#define _gloffset_BeginFragmentShaderATI 852 -#define _gloffset_BindFragmentShaderATI 853 -#define _gloffset_ColorFragmentOp1ATI 854 -#define _gloffset_ColorFragmentOp2ATI 855 -#define _gloffset_ColorFragmentOp3ATI 856 -#define _gloffset_DeleteFragmentShaderATI 857 -#define _gloffset_EndFragmentShaderATI 858 -#define _gloffset_GenFragmentShadersATI 859 -#define _gloffset_PassTexCoordATI 860 -#define _gloffset_SampleMapATI 861 -#define _gloffset_SetFragmentShaderConstantATI 862 -#define _gloffset_PointParameteriNV 863 -#define _gloffset_PointParameterivNV 864 -#define _gloffset_ActiveStencilFaceEXT 865 -#define _gloffset_BindVertexArrayAPPLE 866 -#define _gloffset_DeleteVertexArraysAPPLE 867 -#define _gloffset_GenVertexArraysAPPLE 868 -#define _gloffset_IsVertexArrayAPPLE 869 -#define _gloffset_GetProgramNamedParameterdvNV 870 -#define _gloffset_GetProgramNamedParameterfvNV 871 -#define _gloffset_ProgramNamedParameter4dNV 872 -#define _gloffset_ProgramNamedParameter4dvNV 873 -#define _gloffset_ProgramNamedParameter4fNV 874 -#define _gloffset_ProgramNamedParameter4fvNV 875 -#define _gloffset_PrimitiveRestartIndexNV 876 -#define _gloffset_PrimitiveRestartNV 877 -#define _gloffset_DepthBoundsEXT 878 -#define _gloffset_BlendEquationSeparateEXT 879 -#define _gloffset_BindFramebufferEXT 880 -#define _gloffset_BindRenderbufferEXT 881 -#define _gloffset_CheckFramebufferStatusEXT 882 -#define _gloffset_DeleteFramebuffersEXT 883 -#define _gloffset_DeleteRenderbuffersEXT 884 -#define _gloffset_FramebufferRenderbufferEXT 885 -#define _gloffset_FramebufferTexture1DEXT 886 -#define _gloffset_FramebufferTexture2DEXT 887 -#define _gloffset_FramebufferTexture3DEXT 888 -#define _gloffset_GenFramebuffersEXT 889 -#define _gloffset_GenRenderbuffersEXT 890 -#define _gloffset_GenerateMipmapEXT 891 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 892 -#define _gloffset_GetRenderbufferParameterivEXT 893 -#define _gloffset_IsFramebufferEXT 894 -#define _gloffset_IsRenderbufferEXT 895 -#define _gloffset_RenderbufferStorageEXT 896 -#define _gloffset_BlitFramebufferEXT 897 -#define _gloffset_BufferParameteriAPPLE 898 -#define _gloffset_FlushMappedBufferRangeAPPLE 899 -#define _gloffset_BindFragDataLocationEXT 900 -#define _gloffset_GetFragDataLocationEXT 901 -#define _gloffset_GetUniformuivEXT 902 -#define _gloffset_GetVertexAttribIivEXT 903 -#define _gloffset_GetVertexAttribIuivEXT 904 -#define _gloffset_Uniform1uiEXT 905 -#define _gloffset_Uniform1uivEXT 906 -#define _gloffset_Uniform2uiEXT 907 -#define _gloffset_Uniform2uivEXT 908 -#define _gloffset_Uniform3uiEXT 909 -#define _gloffset_Uniform3uivEXT 910 -#define _gloffset_Uniform4uiEXT 911 -#define _gloffset_Uniform4uivEXT 912 -#define _gloffset_VertexAttribI1iEXT 913 -#define _gloffset_VertexAttribI1ivEXT 914 -#define _gloffset_VertexAttribI1uiEXT 915 -#define _gloffset_VertexAttribI1uivEXT 916 -#define _gloffset_VertexAttribI2iEXT 917 -#define _gloffset_VertexAttribI2ivEXT 918 -#define _gloffset_VertexAttribI2uiEXT 919 -#define _gloffset_VertexAttribI2uivEXT 920 -#define _gloffset_VertexAttribI3iEXT 921 -#define _gloffset_VertexAttribI3ivEXT 922 -#define _gloffset_VertexAttribI3uiEXT 923 -#define _gloffset_VertexAttribI3uivEXT 924 -#define _gloffset_VertexAttribI4bvEXT 925 -#define _gloffset_VertexAttribI4iEXT 926 -#define _gloffset_VertexAttribI4ivEXT 927 -#define _gloffset_VertexAttribI4svEXT 928 -#define _gloffset_VertexAttribI4ubvEXT 929 -#define _gloffset_VertexAttribI4uiEXT 930 -#define _gloffset_VertexAttribI4uivEXT 931 -#define _gloffset_VertexAttribI4usvEXT 932 -#define _gloffset_VertexAttribIPointerEXT 933 -#define _gloffset_FramebufferTextureLayerEXT 934 -#define _gloffset_ColorMaskIndexedEXT 935 -#define _gloffset_DisableIndexedEXT 936 -#define _gloffset_EnableIndexedEXT 937 -#define _gloffset_GetBooleanIndexedvEXT 938 -#define _gloffset_GetIntegerIndexedvEXT 939 -#define _gloffset_IsEnabledIndexedEXT 940 -#define _gloffset_ClearColorIiEXT 941 -#define _gloffset_ClearColorIuiEXT 942 -#define _gloffset_GetTexParameterIivEXT 943 -#define _gloffset_GetTexParameterIuivEXT 944 -#define _gloffset_TexParameterIivEXT 945 -#define _gloffset_TexParameterIuivEXT 946 -#define _gloffset_BeginConditionalRenderNV 947 -#define _gloffset_EndConditionalRenderNV 948 -#define _gloffset_BeginTransformFeedbackEXT 949 -#define _gloffset_BindBufferBaseEXT 950 -#define _gloffset_BindBufferOffsetEXT 951 -#define _gloffset_BindBufferRangeEXT 952 -#define _gloffset_EndTransformFeedbackEXT 953 -#define _gloffset_GetTransformFeedbackVaryingEXT 954 -#define _gloffset_TransformFeedbackVaryingsEXT 955 -#define _gloffset_ProvokingVertexEXT 956 -#define _gloffset_GetTexParameterPointervAPPLE 957 -#define _gloffset_TextureRangeAPPLE 958 -#define _gloffset_GetObjectParameterivAPPLE 959 -#define _gloffset_ObjectPurgeableAPPLE 960 -#define _gloffset_ObjectUnpurgeableAPPLE 961 -#define _gloffset_ActiveProgramEXT 962 -#define _gloffset_CreateShaderProgramEXT 963 -#define _gloffset_UseShaderProgramEXT 964 -#define _gloffset_TextureBarrierNV 965 -#define _gloffset_StencilFuncSeparateATI 966 -#define _gloffset_ProgramEnvParameters4fvEXT 967 -#define _gloffset_ProgramLocalParameters4fvEXT 968 -#define _gloffset_GetQueryObjecti64vEXT 969 -#define _gloffset_GetQueryObjectui64vEXT 970 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 971 -#define _gloffset_EGLImageTargetTexture2DOES 972 - -#else /* !FEATURE_remap_table */ - -#define driDispatchRemapTable_size 565 -extern int driDispatchRemapTable[driDispatchRemapTable_size]; - -#define AttachShader_remap_index 0 -#define CreateProgram_remap_index 1 -#define CreateShader_remap_index 2 -#define DeleteProgram_remap_index 3 -#define DeleteShader_remap_index 4 -#define DetachShader_remap_index 5 -#define GetAttachedShaders_remap_index 6 -#define GetProgramInfoLog_remap_index 7 -#define GetProgramiv_remap_index 8 -#define GetShaderInfoLog_remap_index 9 -#define GetShaderiv_remap_index 10 -#define IsProgram_remap_index 11 -#define IsShader_remap_index 12 -#define StencilFuncSeparate_remap_index 13 -#define StencilMaskSeparate_remap_index 14 -#define StencilOpSeparate_remap_index 15 -#define UniformMatrix2x3fv_remap_index 16 -#define UniformMatrix2x4fv_remap_index 17 -#define UniformMatrix3x2fv_remap_index 18 -#define UniformMatrix3x4fv_remap_index 19 -#define UniformMatrix4x2fv_remap_index 20 -#define UniformMatrix4x3fv_remap_index 21 -#define ClampColor_remap_index 22 -#define ClearBufferfi_remap_index 23 -#define ClearBufferfv_remap_index 24 -#define ClearBufferiv_remap_index 25 -#define ClearBufferuiv_remap_index 26 -#define GetStringi_remap_index 27 -#define TexBuffer_remap_index 28 -#define FramebufferTexture_remap_index 29 -#define GetBufferParameteri64v_remap_index 30 -#define GetInteger64i_v_remap_index 31 -#define VertexAttribDivisor_remap_index 32 -#define LoadTransposeMatrixdARB_remap_index 33 -#define LoadTransposeMatrixfARB_remap_index 34 -#define MultTransposeMatrixdARB_remap_index 35 -#define MultTransposeMatrixfARB_remap_index 36 -#define SampleCoverageARB_remap_index 37 -#define CompressedTexImage1DARB_remap_index 38 -#define CompressedTexImage2DARB_remap_index 39 -#define CompressedTexImage3DARB_remap_index 40 -#define CompressedTexSubImage1DARB_remap_index 41 -#define CompressedTexSubImage2DARB_remap_index 42 -#define CompressedTexSubImage3DARB_remap_index 43 -#define GetCompressedTexImageARB_remap_index 44 -#define DisableVertexAttribArrayARB_remap_index 45 -#define EnableVertexAttribArrayARB_remap_index 46 -#define GetProgramEnvParameterdvARB_remap_index 47 -#define GetProgramEnvParameterfvARB_remap_index 48 -#define GetProgramLocalParameterdvARB_remap_index 49 -#define GetProgramLocalParameterfvARB_remap_index 50 -#define GetProgramStringARB_remap_index 51 -#define GetProgramivARB_remap_index 52 -#define GetVertexAttribdvARB_remap_index 53 -#define GetVertexAttribfvARB_remap_index 54 -#define GetVertexAttribivARB_remap_index 55 -#define ProgramEnvParameter4dARB_remap_index 56 -#define ProgramEnvParameter4dvARB_remap_index 57 -#define ProgramEnvParameter4fARB_remap_index 58 -#define ProgramEnvParameter4fvARB_remap_index 59 -#define ProgramLocalParameter4dARB_remap_index 60 -#define ProgramLocalParameter4dvARB_remap_index 61 -#define ProgramLocalParameter4fARB_remap_index 62 -#define ProgramLocalParameter4fvARB_remap_index 63 -#define ProgramStringARB_remap_index 64 -#define VertexAttrib1dARB_remap_index 65 -#define VertexAttrib1dvARB_remap_index 66 -#define VertexAttrib1fARB_remap_index 67 -#define VertexAttrib1fvARB_remap_index 68 -#define VertexAttrib1sARB_remap_index 69 -#define VertexAttrib1svARB_remap_index 70 -#define VertexAttrib2dARB_remap_index 71 -#define VertexAttrib2dvARB_remap_index 72 -#define VertexAttrib2fARB_remap_index 73 -#define VertexAttrib2fvARB_remap_index 74 -#define VertexAttrib2sARB_remap_index 75 -#define VertexAttrib2svARB_remap_index 76 -#define VertexAttrib3dARB_remap_index 77 -#define VertexAttrib3dvARB_remap_index 78 -#define VertexAttrib3fARB_remap_index 79 -#define VertexAttrib3fvARB_remap_index 80 -#define VertexAttrib3sARB_remap_index 81 -#define VertexAttrib3svARB_remap_index 82 -#define VertexAttrib4NbvARB_remap_index 83 -#define VertexAttrib4NivARB_remap_index 84 -#define VertexAttrib4NsvARB_remap_index 85 -#define VertexAttrib4NubARB_remap_index 86 -#define VertexAttrib4NubvARB_remap_index 87 -#define VertexAttrib4NuivARB_remap_index 88 -#define VertexAttrib4NusvARB_remap_index 89 -#define VertexAttrib4bvARB_remap_index 90 -#define VertexAttrib4dARB_remap_index 91 -#define VertexAttrib4dvARB_remap_index 92 -#define VertexAttrib4fARB_remap_index 93 -#define VertexAttrib4fvARB_remap_index 94 -#define VertexAttrib4ivARB_remap_index 95 -#define VertexAttrib4sARB_remap_index 96 -#define VertexAttrib4svARB_remap_index 97 -#define VertexAttrib4ubvARB_remap_index 98 -#define VertexAttrib4uivARB_remap_index 99 -#define VertexAttrib4usvARB_remap_index 100 -#define VertexAttribPointerARB_remap_index 101 -#define BindBufferARB_remap_index 102 -#define BufferDataARB_remap_index 103 -#define BufferSubDataARB_remap_index 104 -#define DeleteBuffersARB_remap_index 105 -#define GenBuffersARB_remap_index 106 -#define GetBufferParameterivARB_remap_index 107 -#define GetBufferPointervARB_remap_index 108 -#define GetBufferSubDataARB_remap_index 109 -#define IsBufferARB_remap_index 110 -#define MapBufferARB_remap_index 111 -#define UnmapBufferARB_remap_index 112 -#define BeginQueryARB_remap_index 113 -#define DeleteQueriesARB_remap_index 114 -#define EndQueryARB_remap_index 115 -#define GenQueriesARB_remap_index 116 -#define GetQueryObjectivARB_remap_index 117 -#define GetQueryObjectuivARB_remap_index 118 -#define GetQueryivARB_remap_index 119 -#define IsQueryARB_remap_index 120 -#define AttachObjectARB_remap_index 121 -#define CompileShaderARB_remap_index 122 -#define CreateProgramObjectARB_remap_index 123 -#define CreateShaderObjectARB_remap_index 124 -#define DeleteObjectARB_remap_index 125 -#define DetachObjectARB_remap_index 126 -#define GetActiveUniformARB_remap_index 127 -#define GetAttachedObjectsARB_remap_index 128 -#define GetHandleARB_remap_index 129 -#define GetInfoLogARB_remap_index 130 -#define GetObjectParameterfvARB_remap_index 131 -#define GetObjectParameterivARB_remap_index 132 -#define GetShaderSourceARB_remap_index 133 -#define GetUniformLocationARB_remap_index 134 -#define GetUniformfvARB_remap_index 135 -#define GetUniformivARB_remap_index 136 -#define LinkProgramARB_remap_index 137 -#define ShaderSourceARB_remap_index 138 -#define Uniform1fARB_remap_index 139 -#define Uniform1fvARB_remap_index 140 -#define Uniform1iARB_remap_index 141 -#define Uniform1ivARB_remap_index 142 -#define Uniform2fARB_remap_index 143 -#define Uniform2fvARB_remap_index 144 -#define Uniform2iARB_remap_index 145 -#define Uniform2ivARB_remap_index 146 -#define Uniform3fARB_remap_index 147 -#define Uniform3fvARB_remap_index 148 -#define Uniform3iARB_remap_index 149 -#define Uniform3ivARB_remap_index 150 -#define Uniform4fARB_remap_index 151 -#define Uniform4fvARB_remap_index 152 -#define Uniform4iARB_remap_index 153 -#define Uniform4ivARB_remap_index 154 -#define UniformMatrix2fvARB_remap_index 155 -#define UniformMatrix3fvARB_remap_index 156 -#define UniformMatrix4fvARB_remap_index 157 -#define UseProgramObjectARB_remap_index 158 -#define ValidateProgramARB_remap_index 159 -#define BindAttribLocationARB_remap_index 160 -#define GetActiveAttribARB_remap_index 161 -#define GetAttribLocationARB_remap_index 162 -#define DrawBuffersARB_remap_index 163 -#define ClampColorARB_remap_index 164 -#define DrawArraysInstancedARB_remap_index 165 -#define DrawElementsInstancedARB_remap_index 166 -#define RenderbufferStorageMultisample_remap_index 167 -#define FramebufferTextureARB_remap_index 168 -#define FramebufferTextureFaceARB_remap_index 169 -#define ProgramParameteriARB_remap_index 170 -#define VertexAttribDivisorARB_remap_index 171 -#define FlushMappedBufferRange_remap_index 172 -#define MapBufferRange_remap_index 173 -#define TexBufferARB_remap_index 174 -#define BindVertexArray_remap_index 175 -#define GenVertexArrays_remap_index 176 -#define CopyBufferSubData_remap_index 177 -#define ClientWaitSync_remap_index 178 -#define DeleteSync_remap_index 179 -#define FenceSync_remap_index 180 -#define GetInteger64v_remap_index 181 -#define GetSynciv_remap_index 182 -#define IsSync_remap_index 183 -#define WaitSync_remap_index 184 -#define DrawElementsBaseVertex_remap_index 185 -#define DrawElementsInstancedBaseVertex_remap_index 186 -#define DrawRangeElementsBaseVertex_remap_index 187 -#define MultiDrawElementsBaseVertex_remap_index 188 -#define BlendEquationSeparateiARB_remap_index 189 -#define BlendEquationiARB_remap_index 190 -#define BlendFuncSeparateiARB_remap_index 191 -#define BlendFunciARB_remap_index 192 -#define BindSampler_remap_index 193 -#define DeleteSamplers_remap_index 194 -#define GenSamplers_remap_index 195 -#define GetSamplerParameterIiv_remap_index 196 -#define GetSamplerParameterIuiv_remap_index 197 -#define GetSamplerParameterfv_remap_index 198 -#define GetSamplerParameteriv_remap_index 199 -#define IsSampler_remap_index 200 -#define SamplerParameterIiv_remap_index 201 -#define SamplerParameterIuiv_remap_index 202 -#define SamplerParameterf_remap_index 203 -#define SamplerParameterfv_remap_index 204 -#define SamplerParameteri_remap_index 205 -#define SamplerParameteriv_remap_index 206 -#define ColorP3ui_remap_index 207 -#define ColorP3uiv_remap_index 208 -#define ColorP4ui_remap_index 209 -#define ColorP4uiv_remap_index 210 -#define MultiTexCoordP1ui_remap_index 211 -#define MultiTexCoordP1uiv_remap_index 212 -#define MultiTexCoordP2ui_remap_index 213 -#define MultiTexCoordP2uiv_remap_index 214 -#define MultiTexCoordP3ui_remap_index 215 -#define MultiTexCoordP3uiv_remap_index 216 -#define MultiTexCoordP4ui_remap_index 217 -#define MultiTexCoordP4uiv_remap_index 218 -#define NormalP3ui_remap_index 219 -#define NormalP3uiv_remap_index 220 -#define SecondaryColorP3ui_remap_index 221 -#define SecondaryColorP3uiv_remap_index 222 -#define TexCoordP1ui_remap_index 223 -#define TexCoordP1uiv_remap_index 224 -#define TexCoordP2ui_remap_index 225 -#define TexCoordP2uiv_remap_index 226 -#define TexCoordP3ui_remap_index 227 -#define TexCoordP3uiv_remap_index 228 -#define TexCoordP4ui_remap_index 229 -#define TexCoordP4uiv_remap_index 230 -#define VertexAttribP1ui_remap_index 231 -#define VertexAttribP1uiv_remap_index 232 -#define VertexAttribP2ui_remap_index 233 -#define VertexAttribP2uiv_remap_index 234 -#define VertexAttribP3ui_remap_index 235 -#define VertexAttribP3uiv_remap_index 236 -#define VertexAttribP4ui_remap_index 237 -#define VertexAttribP4uiv_remap_index 238 -#define VertexP2ui_remap_index 239 -#define VertexP2uiv_remap_index 240 -#define VertexP3ui_remap_index 241 -#define VertexP3uiv_remap_index 242 -#define VertexP4ui_remap_index 243 -#define VertexP4uiv_remap_index 244 -#define BindTransformFeedback_remap_index 245 -#define DeleteTransformFeedbacks_remap_index 246 -#define DrawTransformFeedback_remap_index 247 -#define GenTransformFeedbacks_remap_index 248 -#define IsTransformFeedback_remap_index 249 -#define PauseTransformFeedback_remap_index 250 -#define ResumeTransformFeedback_remap_index 251 -#define ClearDepthf_remap_index 252 -#define DepthRangef_remap_index 253 -#define GetShaderPrecisionFormat_remap_index 254 -#define ReleaseShaderCompiler_remap_index 255 -#define ShaderBinary_remap_index 256 -#define GetGraphicsResetStatusARB_remap_index 257 -#define GetnColorTableARB_remap_index 258 -#define GetnCompressedTexImageARB_remap_index 259 -#define GetnConvolutionFilterARB_remap_index 260 -#define GetnHistogramARB_remap_index 261 -#define GetnMapdvARB_remap_index 262 -#define GetnMapfvARB_remap_index 263 -#define GetnMapivARB_remap_index 264 -#define GetnMinmaxARB_remap_index 265 -#define GetnPixelMapfvARB_remap_index 266 -#define GetnPixelMapuivARB_remap_index 267 -#define GetnPixelMapusvARB_remap_index 268 -#define GetnPolygonStippleARB_remap_index 269 -#define GetnSeparableFilterARB_remap_index 270 -#define GetnTexImageARB_remap_index 271 -#define GetnUniformdvARB_remap_index 272 -#define GetnUniformfvARB_remap_index 273 -#define GetnUniformivARB_remap_index 274 -#define GetnUniformuivARB_remap_index 275 -#define ReadnPixelsARB_remap_index 276 -#define TexStorage1D_remap_index 277 -#define TexStorage2D_remap_index 278 -#define TexStorage3D_remap_index 279 -#define TextureStorage1DEXT_remap_index 280 -#define TextureStorage2DEXT_remap_index 281 -#define TextureStorage3DEXT_remap_index 282 -#define PolygonOffsetEXT_remap_index 283 -#define GetPixelTexGenParameterfvSGIS_remap_index 284 -#define GetPixelTexGenParameterivSGIS_remap_index 285 -#define PixelTexGenParameterfSGIS_remap_index 286 -#define PixelTexGenParameterfvSGIS_remap_index 287 -#define PixelTexGenParameteriSGIS_remap_index 288 -#define PixelTexGenParameterivSGIS_remap_index 289 -#define SampleMaskSGIS_remap_index 290 -#define SamplePatternSGIS_remap_index 291 -#define ColorPointerEXT_remap_index 292 -#define EdgeFlagPointerEXT_remap_index 293 -#define IndexPointerEXT_remap_index 294 -#define NormalPointerEXT_remap_index 295 -#define TexCoordPointerEXT_remap_index 296 -#define VertexPointerEXT_remap_index 297 -#define PointParameterfEXT_remap_index 298 -#define PointParameterfvEXT_remap_index 299 -#define LockArraysEXT_remap_index 300 -#define UnlockArraysEXT_remap_index 301 -#define SecondaryColor3bEXT_remap_index 302 -#define SecondaryColor3bvEXT_remap_index 303 -#define SecondaryColor3dEXT_remap_index 304 -#define SecondaryColor3dvEXT_remap_index 305 -#define SecondaryColor3fEXT_remap_index 306 -#define SecondaryColor3fvEXT_remap_index 307 -#define SecondaryColor3iEXT_remap_index 308 -#define SecondaryColor3ivEXT_remap_index 309 -#define SecondaryColor3sEXT_remap_index 310 -#define SecondaryColor3svEXT_remap_index 311 -#define SecondaryColor3ubEXT_remap_index 312 -#define SecondaryColor3ubvEXT_remap_index 313 -#define SecondaryColor3uiEXT_remap_index 314 -#define SecondaryColor3uivEXT_remap_index 315 -#define SecondaryColor3usEXT_remap_index 316 -#define SecondaryColor3usvEXT_remap_index 317 -#define SecondaryColorPointerEXT_remap_index 318 -#define MultiDrawArraysEXT_remap_index 319 -#define MultiDrawElementsEXT_remap_index 320 -#define FogCoordPointerEXT_remap_index 321 -#define FogCoorddEXT_remap_index 322 -#define FogCoorddvEXT_remap_index 323 -#define FogCoordfEXT_remap_index 324 -#define FogCoordfvEXT_remap_index 325 -#define PixelTexGenSGIX_remap_index 326 -#define BlendFuncSeparateEXT_remap_index 327 -#define FlushVertexArrayRangeNV_remap_index 328 -#define VertexArrayRangeNV_remap_index 329 -#define CombinerInputNV_remap_index 330 -#define CombinerOutputNV_remap_index 331 -#define CombinerParameterfNV_remap_index 332 -#define CombinerParameterfvNV_remap_index 333 -#define CombinerParameteriNV_remap_index 334 -#define CombinerParameterivNV_remap_index 335 -#define FinalCombinerInputNV_remap_index 336 -#define GetCombinerInputParameterfvNV_remap_index 337 -#define GetCombinerInputParameterivNV_remap_index 338 -#define GetCombinerOutputParameterfvNV_remap_index 339 -#define GetCombinerOutputParameterivNV_remap_index 340 -#define GetFinalCombinerInputParameterfvNV_remap_index 341 -#define GetFinalCombinerInputParameterivNV_remap_index 342 -#define ResizeBuffersMESA_remap_index 343 -#define WindowPos2dMESA_remap_index 344 -#define WindowPos2dvMESA_remap_index 345 -#define WindowPos2fMESA_remap_index 346 -#define WindowPos2fvMESA_remap_index 347 -#define WindowPos2iMESA_remap_index 348 -#define WindowPos2ivMESA_remap_index 349 -#define WindowPos2sMESA_remap_index 350 -#define WindowPos2svMESA_remap_index 351 -#define WindowPos3dMESA_remap_index 352 -#define WindowPos3dvMESA_remap_index 353 -#define WindowPos3fMESA_remap_index 354 -#define WindowPos3fvMESA_remap_index 355 -#define WindowPos3iMESA_remap_index 356 -#define WindowPos3ivMESA_remap_index 357 -#define WindowPos3sMESA_remap_index 358 -#define WindowPos3svMESA_remap_index 359 -#define WindowPos4dMESA_remap_index 360 -#define WindowPos4dvMESA_remap_index 361 -#define WindowPos4fMESA_remap_index 362 -#define WindowPos4fvMESA_remap_index 363 -#define WindowPos4iMESA_remap_index 364 -#define WindowPos4ivMESA_remap_index 365 -#define WindowPos4sMESA_remap_index 366 -#define WindowPos4svMESA_remap_index 367 -#define MultiModeDrawArraysIBM_remap_index 368 -#define MultiModeDrawElementsIBM_remap_index 369 -#define DeleteFencesNV_remap_index 370 -#define FinishFenceNV_remap_index 371 -#define GenFencesNV_remap_index 372 -#define GetFenceivNV_remap_index 373 -#define IsFenceNV_remap_index 374 -#define SetFenceNV_remap_index 375 -#define TestFenceNV_remap_index 376 -#define AreProgramsResidentNV_remap_index 377 -#define BindProgramNV_remap_index 378 -#define DeleteProgramsNV_remap_index 379 -#define ExecuteProgramNV_remap_index 380 -#define GenProgramsNV_remap_index 381 -#define GetProgramParameterdvNV_remap_index 382 -#define GetProgramParameterfvNV_remap_index 383 -#define GetProgramStringNV_remap_index 384 -#define GetProgramivNV_remap_index 385 -#define GetTrackMatrixivNV_remap_index 386 -#define GetVertexAttribPointervNV_remap_index 387 -#define GetVertexAttribdvNV_remap_index 388 -#define GetVertexAttribfvNV_remap_index 389 -#define GetVertexAttribivNV_remap_index 390 -#define IsProgramNV_remap_index 391 -#define LoadProgramNV_remap_index 392 -#define ProgramParameters4dvNV_remap_index 393 -#define ProgramParameters4fvNV_remap_index 394 -#define RequestResidentProgramsNV_remap_index 395 -#define TrackMatrixNV_remap_index 396 -#define VertexAttrib1dNV_remap_index 397 -#define VertexAttrib1dvNV_remap_index 398 -#define VertexAttrib1fNV_remap_index 399 -#define VertexAttrib1fvNV_remap_index 400 -#define VertexAttrib1sNV_remap_index 401 -#define VertexAttrib1svNV_remap_index 402 -#define VertexAttrib2dNV_remap_index 403 -#define VertexAttrib2dvNV_remap_index 404 -#define VertexAttrib2fNV_remap_index 405 -#define VertexAttrib2fvNV_remap_index 406 -#define VertexAttrib2sNV_remap_index 407 -#define VertexAttrib2svNV_remap_index 408 -#define VertexAttrib3dNV_remap_index 409 -#define VertexAttrib3dvNV_remap_index 410 -#define VertexAttrib3fNV_remap_index 411 -#define VertexAttrib3fvNV_remap_index 412 -#define VertexAttrib3sNV_remap_index 413 -#define VertexAttrib3svNV_remap_index 414 -#define VertexAttrib4dNV_remap_index 415 -#define VertexAttrib4dvNV_remap_index 416 -#define VertexAttrib4fNV_remap_index 417 -#define VertexAttrib4fvNV_remap_index 418 -#define VertexAttrib4sNV_remap_index 419 -#define VertexAttrib4svNV_remap_index 420 -#define VertexAttrib4ubNV_remap_index 421 -#define VertexAttrib4ubvNV_remap_index 422 -#define VertexAttribPointerNV_remap_index 423 -#define VertexAttribs1dvNV_remap_index 424 -#define VertexAttribs1fvNV_remap_index 425 -#define VertexAttribs1svNV_remap_index 426 -#define VertexAttribs2dvNV_remap_index 427 -#define VertexAttribs2fvNV_remap_index 428 -#define VertexAttribs2svNV_remap_index 429 -#define VertexAttribs3dvNV_remap_index 430 -#define VertexAttribs3fvNV_remap_index 431 -#define VertexAttribs3svNV_remap_index 432 -#define VertexAttribs4dvNV_remap_index 433 -#define VertexAttribs4fvNV_remap_index 434 -#define VertexAttribs4svNV_remap_index 435 -#define VertexAttribs4ubvNV_remap_index 436 -#define GetTexBumpParameterfvATI_remap_index 437 -#define GetTexBumpParameterivATI_remap_index 438 -#define TexBumpParameterfvATI_remap_index 439 -#define TexBumpParameterivATI_remap_index 440 -#define AlphaFragmentOp1ATI_remap_index 441 -#define AlphaFragmentOp2ATI_remap_index 442 -#define AlphaFragmentOp3ATI_remap_index 443 -#define BeginFragmentShaderATI_remap_index 444 -#define BindFragmentShaderATI_remap_index 445 -#define ColorFragmentOp1ATI_remap_index 446 -#define ColorFragmentOp2ATI_remap_index 447 -#define ColorFragmentOp3ATI_remap_index 448 -#define DeleteFragmentShaderATI_remap_index 449 -#define EndFragmentShaderATI_remap_index 450 -#define GenFragmentShadersATI_remap_index 451 -#define PassTexCoordATI_remap_index 452 -#define SampleMapATI_remap_index 453 -#define SetFragmentShaderConstantATI_remap_index 454 -#define PointParameteriNV_remap_index 455 -#define PointParameterivNV_remap_index 456 -#define ActiveStencilFaceEXT_remap_index 457 -#define BindVertexArrayAPPLE_remap_index 458 -#define DeleteVertexArraysAPPLE_remap_index 459 -#define GenVertexArraysAPPLE_remap_index 460 -#define IsVertexArrayAPPLE_remap_index 461 -#define GetProgramNamedParameterdvNV_remap_index 462 -#define GetProgramNamedParameterfvNV_remap_index 463 -#define ProgramNamedParameter4dNV_remap_index 464 -#define ProgramNamedParameter4dvNV_remap_index 465 -#define ProgramNamedParameter4fNV_remap_index 466 -#define ProgramNamedParameter4fvNV_remap_index 467 -#define PrimitiveRestartIndexNV_remap_index 468 -#define PrimitiveRestartNV_remap_index 469 -#define DepthBoundsEXT_remap_index 470 -#define BlendEquationSeparateEXT_remap_index 471 -#define BindFramebufferEXT_remap_index 472 -#define BindRenderbufferEXT_remap_index 473 -#define CheckFramebufferStatusEXT_remap_index 474 -#define DeleteFramebuffersEXT_remap_index 475 -#define DeleteRenderbuffersEXT_remap_index 476 -#define FramebufferRenderbufferEXT_remap_index 477 -#define FramebufferTexture1DEXT_remap_index 478 -#define FramebufferTexture2DEXT_remap_index 479 -#define FramebufferTexture3DEXT_remap_index 480 -#define GenFramebuffersEXT_remap_index 481 -#define GenRenderbuffersEXT_remap_index 482 -#define GenerateMipmapEXT_remap_index 483 -#define GetFramebufferAttachmentParameterivEXT_remap_index 484 -#define GetRenderbufferParameterivEXT_remap_index 485 -#define IsFramebufferEXT_remap_index 486 -#define IsRenderbufferEXT_remap_index 487 -#define RenderbufferStorageEXT_remap_index 488 -#define BlitFramebufferEXT_remap_index 489 -#define BufferParameteriAPPLE_remap_index 490 -#define FlushMappedBufferRangeAPPLE_remap_index 491 -#define BindFragDataLocationEXT_remap_index 492 -#define GetFragDataLocationEXT_remap_index 493 -#define GetUniformuivEXT_remap_index 494 -#define GetVertexAttribIivEXT_remap_index 495 -#define GetVertexAttribIuivEXT_remap_index 496 -#define Uniform1uiEXT_remap_index 497 -#define Uniform1uivEXT_remap_index 498 -#define Uniform2uiEXT_remap_index 499 -#define Uniform2uivEXT_remap_index 500 -#define Uniform3uiEXT_remap_index 501 -#define Uniform3uivEXT_remap_index 502 -#define Uniform4uiEXT_remap_index 503 -#define Uniform4uivEXT_remap_index 504 -#define VertexAttribI1iEXT_remap_index 505 -#define VertexAttribI1ivEXT_remap_index 506 -#define VertexAttribI1uiEXT_remap_index 507 -#define VertexAttribI1uivEXT_remap_index 508 -#define VertexAttribI2iEXT_remap_index 509 -#define VertexAttribI2ivEXT_remap_index 510 -#define VertexAttribI2uiEXT_remap_index 511 -#define VertexAttribI2uivEXT_remap_index 512 -#define VertexAttribI3iEXT_remap_index 513 -#define VertexAttribI3ivEXT_remap_index 514 -#define VertexAttribI3uiEXT_remap_index 515 -#define VertexAttribI3uivEXT_remap_index 516 -#define VertexAttribI4bvEXT_remap_index 517 -#define VertexAttribI4iEXT_remap_index 518 -#define VertexAttribI4ivEXT_remap_index 519 -#define VertexAttribI4svEXT_remap_index 520 -#define VertexAttribI4ubvEXT_remap_index 521 -#define VertexAttribI4uiEXT_remap_index 522 -#define VertexAttribI4uivEXT_remap_index 523 -#define VertexAttribI4usvEXT_remap_index 524 -#define VertexAttribIPointerEXT_remap_index 525 -#define FramebufferTextureLayerEXT_remap_index 526 -#define ColorMaskIndexedEXT_remap_index 527 -#define DisableIndexedEXT_remap_index 528 -#define EnableIndexedEXT_remap_index 529 -#define GetBooleanIndexedvEXT_remap_index 530 -#define GetIntegerIndexedvEXT_remap_index 531 -#define IsEnabledIndexedEXT_remap_index 532 -#define ClearColorIiEXT_remap_index 533 -#define ClearColorIuiEXT_remap_index 534 -#define GetTexParameterIivEXT_remap_index 535 -#define GetTexParameterIuivEXT_remap_index 536 -#define TexParameterIivEXT_remap_index 537 -#define TexParameterIuivEXT_remap_index 538 -#define BeginConditionalRenderNV_remap_index 539 -#define EndConditionalRenderNV_remap_index 540 -#define BeginTransformFeedbackEXT_remap_index 541 -#define BindBufferBaseEXT_remap_index 542 -#define BindBufferOffsetEXT_remap_index 543 -#define BindBufferRangeEXT_remap_index 544 -#define EndTransformFeedbackEXT_remap_index 545 -#define GetTransformFeedbackVaryingEXT_remap_index 546 -#define TransformFeedbackVaryingsEXT_remap_index 547 -#define ProvokingVertexEXT_remap_index 548 -#define GetTexParameterPointervAPPLE_remap_index 549 -#define TextureRangeAPPLE_remap_index 550 -#define GetObjectParameterivAPPLE_remap_index 551 -#define ObjectPurgeableAPPLE_remap_index 552 -#define ObjectUnpurgeableAPPLE_remap_index 553 -#define ActiveProgramEXT_remap_index 554 -#define CreateShaderProgramEXT_remap_index 555 -#define UseShaderProgramEXT_remap_index 556 -#define TextureBarrierNV_remap_index 557 -#define StencilFuncSeparateATI_remap_index 558 -#define ProgramEnvParameters4fvEXT_remap_index 559 -#define ProgramLocalParameters4fvEXT_remap_index 560 -#define GetQueryObjecti64vEXT_remap_index 561 -#define GetQueryObjectui64vEXT_remap_index 562 -#define EGLImageTargetRenderbufferStorageOES_remap_index 563 -#define EGLImageTargetTexture2DOES_remap_index 564 - -#define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index] -#define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index] -#define _gloffset_CreateShader driDispatchRemapTable[CreateShader_remap_index] -#define _gloffset_DeleteProgram driDispatchRemapTable[DeleteProgram_remap_index] -#define _gloffset_DeleteShader driDispatchRemapTable[DeleteShader_remap_index] -#define _gloffset_DetachShader driDispatchRemapTable[DetachShader_remap_index] -#define _gloffset_GetAttachedShaders driDispatchRemapTable[GetAttachedShaders_remap_index] -#define _gloffset_GetProgramInfoLog driDispatchRemapTable[GetProgramInfoLog_remap_index] -#define _gloffset_GetProgramiv driDispatchRemapTable[GetProgramiv_remap_index] -#define _gloffset_GetShaderInfoLog driDispatchRemapTable[GetShaderInfoLog_remap_index] -#define _gloffset_GetShaderiv driDispatchRemapTable[GetShaderiv_remap_index] -#define _gloffset_IsProgram driDispatchRemapTable[IsProgram_remap_index] -#define _gloffset_IsShader driDispatchRemapTable[IsShader_remap_index] -#define _gloffset_StencilFuncSeparate driDispatchRemapTable[StencilFuncSeparate_remap_index] -#define _gloffset_StencilMaskSeparate driDispatchRemapTable[StencilMaskSeparate_remap_index] -#define _gloffset_StencilOpSeparate driDispatchRemapTable[StencilOpSeparate_remap_index] -#define _gloffset_UniformMatrix2x3fv driDispatchRemapTable[UniformMatrix2x3fv_remap_index] -#define _gloffset_UniformMatrix2x4fv driDispatchRemapTable[UniformMatrix2x4fv_remap_index] -#define _gloffset_UniformMatrix3x2fv driDispatchRemapTable[UniformMatrix3x2fv_remap_index] -#define _gloffset_UniformMatrix3x4fv driDispatchRemapTable[UniformMatrix3x4fv_remap_index] -#define _gloffset_UniformMatrix4x2fv driDispatchRemapTable[UniformMatrix4x2fv_remap_index] -#define _gloffset_UniformMatrix4x3fv driDispatchRemapTable[UniformMatrix4x3fv_remap_index] -#define _gloffset_ClampColor driDispatchRemapTable[ClampColor_remap_index] -#define _gloffset_ClearBufferfi driDispatchRemapTable[ClearBufferfi_remap_index] -#define _gloffset_ClearBufferfv driDispatchRemapTable[ClearBufferfv_remap_index] -#define _gloffset_ClearBufferiv driDispatchRemapTable[ClearBufferiv_remap_index] -#define _gloffset_ClearBufferuiv driDispatchRemapTable[ClearBufferuiv_remap_index] -#define _gloffset_GetStringi driDispatchRemapTable[GetStringi_remap_index] -#define _gloffset_TexBuffer driDispatchRemapTable[TexBuffer_remap_index] -#define _gloffset_FramebufferTexture driDispatchRemapTable[FramebufferTexture_remap_index] -#define _gloffset_GetBufferParameteri64v driDispatchRemapTable[GetBufferParameteri64v_remap_index] -#define _gloffset_GetInteger64i_v driDispatchRemapTable[GetInteger64i_v_remap_index] -#define _gloffset_VertexAttribDivisor driDispatchRemapTable[VertexAttribDivisor_remap_index] -#define _gloffset_LoadTransposeMatrixdARB driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index] -#define _gloffset_LoadTransposeMatrixfARB driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index] -#define _gloffset_MultTransposeMatrixdARB driDispatchRemapTable[MultTransposeMatrixdARB_remap_index] -#define _gloffset_MultTransposeMatrixfARB driDispatchRemapTable[MultTransposeMatrixfARB_remap_index] -#define _gloffset_SampleCoverageARB driDispatchRemapTable[SampleCoverageARB_remap_index] -#define _gloffset_CompressedTexImage1DARB driDispatchRemapTable[CompressedTexImage1DARB_remap_index] -#define _gloffset_CompressedTexImage2DARB driDispatchRemapTable[CompressedTexImage2DARB_remap_index] -#define _gloffset_CompressedTexImage3DARB driDispatchRemapTable[CompressedTexImage3DARB_remap_index] -#define _gloffset_CompressedTexSubImage1DARB driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index] -#define _gloffset_CompressedTexSubImage2DARB driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index] -#define _gloffset_CompressedTexSubImage3DARB driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index] -#define _gloffset_GetCompressedTexImageARB driDispatchRemapTable[GetCompressedTexImageARB_remap_index] -#define _gloffset_DisableVertexAttribArrayARB driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index] -#define _gloffset_EnableVertexAttribArrayARB driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index] -#define _gloffset_GetProgramEnvParameterdvARB driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index] -#define _gloffset_GetProgramEnvParameterfvARB driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index] -#define _gloffset_GetProgramLocalParameterdvARB driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index] -#define _gloffset_GetProgramLocalParameterfvARB driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index] -#define _gloffset_GetProgramStringARB driDispatchRemapTable[GetProgramStringARB_remap_index] -#define _gloffset_GetProgramivARB driDispatchRemapTable[GetProgramivARB_remap_index] -#define _gloffset_GetVertexAttribdvARB driDispatchRemapTable[GetVertexAttribdvARB_remap_index] -#define _gloffset_GetVertexAttribfvARB driDispatchRemapTable[GetVertexAttribfvARB_remap_index] -#define _gloffset_GetVertexAttribivARB driDispatchRemapTable[GetVertexAttribivARB_remap_index] -#define _gloffset_ProgramEnvParameter4dARB driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index] -#define _gloffset_ProgramEnvParameter4dvARB driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index] -#define _gloffset_ProgramEnvParameter4fARB driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index] -#define _gloffset_ProgramEnvParameter4fvARB driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index] -#define _gloffset_ProgramLocalParameter4dARB driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index] -#define _gloffset_ProgramLocalParameter4dvARB driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index] -#define _gloffset_ProgramLocalParameter4fARB driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index] -#define _gloffset_ProgramLocalParameter4fvARB driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index] -#define _gloffset_ProgramStringARB driDispatchRemapTable[ProgramStringARB_remap_index] -#define _gloffset_VertexAttrib1dARB driDispatchRemapTable[VertexAttrib1dARB_remap_index] -#define _gloffset_VertexAttrib1dvARB driDispatchRemapTable[VertexAttrib1dvARB_remap_index] -#define _gloffset_VertexAttrib1fARB driDispatchRemapTable[VertexAttrib1fARB_remap_index] -#define _gloffset_VertexAttrib1fvARB driDispatchRemapTable[VertexAttrib1fvARB_remap_index] -#define _gloffset_VertexAttrib1sARB driDispatchRemapTable[VertexAttrib1sARB_remap_index] -#define _gloffset_VertexAttrib1svARB driDispatchRemapTable[VertexAttrib1svARB_remap_index] -#define _gloffset_VertexAttrib2dARB driDispatchRemapTable[VertexAttrib2dARB_remap_index] -#define _gloffset_VertexAttrib2dvARB driDispatchRemapTable[VertexAttrib2dvARB_remap_index] -#define _gloffset_VertexAttrib2fARB driDispatchRemapTable[VertexAttrib2fARB_remap_index] -#define _gloffset_VertexAttrib2fvARB driDispatchRemapTable[VertexAttrib2fvARB_remap_index] -#define _gloffset_VertexAttrib2sARB driDispatchRemapTable[VertexAttrib2sARB_remap_index] -#define _gloffset_VertexAttrib2svARB driDispatchRemapTable[VertexAttrib2svARB_remap_index] -#define _gloffset_VertexAttrib3dARB driDispatchRemapTable[VertexAttrib3dARB_remap_index] -#define _gloffset_VertexAttrib3dvARB driDispatchRemapTable[VertexAttrib3dvARB_remap_index] -#define _gloffset_VertexAttrib3fARB driDispatchRemapTable[VertexAttrib3fARB_remap_index] -#define _gloffset_VertexAttrib3fvARB driDispatchRemapTable[VertexAttrib3fvARB_remap_index] -#define _gloffset_VertexAttrib3sARB driDispatchRemapTable[VertexAttrib3sARB_remap_index] -#define _gloffset_VertexAttrib3svARB driDispatchRemapTable[VertexAttrib3svARB_remap_index] -#define _gloffset_VertexAttrib4NbvARB driDispatchRemapTable[VertexAttrib4NbvARB_remap_index] -#define _gloffset_VertexAttrib4NivARB driDispatchRemapTable[VertexAttrib4NivARB_remap_index] -#define _gloffset_VertexAttrib4NsvARB driDispatchRemapTable[VertexAttrib4NsvARB_remap_index] -#define _gloffset_VertexAttrib4NubARB driDispatchRemapTable[VertexAttrib4NubARB_remap_index] -#define _gloffset_VertexAttrib4NubvARB driDispatchRemapTable[VertexAttrib4NubvARB_remap_index] -#define _gloffset_VertexAttrib4NuivARB driDispatchRemapTable[VertexAttrib4NuivARB_remap_index] -#define _gloffset_VertexAttrib4NusvARB driDispatchRemapTable[VertexAttrib4NusvARB_remap_index] -#define _gloffset_VertexAttrib4bvARB driDispatchRemapTable[VertexAttrib4bvARB_remap_index] -#define _gloffset_VertexAttrib4dARB driDispatchRemapTable[VertexAttrib4dARB_remap_index] -#define _gloffset_VertexAttrib4dvARB driDispatchRemapTable[VertexAttrib4dvARB_remap_index] -#define _gloffset_VertexAttrib4fARB driDispatchRemapTable[VertexAttrib4fARB_remap_index] -#define _gloffset_VertexAttrib4fvARB driDispatchRemapTable[VertexAttrib4fvARB_remap_index] -#define _gloffset_VertexAttrib4ivARB driDispatchRemapTable[VertexAttrib4ivARB_remap_index] -#define _gloffset_VertexAttrib4sARB driDispatchRemapTable[VertexAttrib4sARB_remap_index] -#define _gloffset_VertexAttrib4svARB driDispatchRemapTable[VertexAttrib4svARB_remap_index] -#define _gloffset_VertexAttrib4ubvARB driDispatchRemapTable[VertexAttrib4ubvARB_remap_index] -#define _gloffset_VertexAttrib4uivARB driDispatchRemapTable[VertexAttrib4uivARB_remap_index] -#define _gloffset_VertexAttrib4usvARB driDispatchRemapTable[VertexAttrib4usvARB_remap_index] -#define _gloffset_VertexAttribPointerARB driDispatchRemapTable[VertexAttribPointerARB_remap_index] -#define _gloffset_BindBufferARB driDispatchRemapTable[BindBufferARB_remap_index] -#define _gloffset_BufferDataARB driDispatchRemapTable[BufferDataARB_remap_index] -#define _gloffset_BufferSubDataARB driDispatchRemapTable[BufferSubDataARB_remap_index] -#define _gloffset_DeleteBuffersARB driDispatchRemapTable[DeleteBuffersARB_remap_index] -#define _gloffset_GenBuffersARB driDispatchRemapTable[GenBuffersARB_remap_index] -#define _gloffset_GetBufferParameterivARB driDispatchRemapTable[GetBufferParameterivARB_remap_index] -#define _gloffset_GetBufferPointervARB driDispatchRemapTable[GetBufferPointervARB_remap_index] -#define _gloffset_GetBufferSubDataARB driDispatchRemapTable[GetBufferSubDataARB_remap_index] -#define _gloffset_IsBufferARB driDispatchRemapTable[IsBufferARB_remap_index] -#define _gloffset_MapBufferARB driDispatchRemapTable[MapBufferARB_remap_index] -#define _gloffset_UnmapBufferARB driDispatchRemapTable[UnmapBufferARB_remap_index] -#define _gloffset_BeginQueryARB driDispatchRemapTable[BeginQueryARB_remap_index] -#define _gloffset_DeleteQueriesARB driDispatchRemapTable[DeleteQueriesARB_remap_index] -#define _gloffset_EndQueryARB driDispatchRemapTable[EndQueryARB_remap_index] -#define _gloffset_GenQueriesARB driDispatchRemapTable[GenQueriesARB_remap_index] -#define _gloffset_GetQueryObjectivARB driDispatchRemapTable[GetQueryObjectivARB_remap_index] -#define _gloffset_GetQueryObjectuivARB driDispatchRemapTable[GetQueryObjectuivARB_remap_index] -#define _gloffset_GetQueryivARB driDispatchRemapTable[GetQueryivARB_remap_index] -#define _gloffset_IsQueryARB driDispatchRemapTable[IsQueryARB_remap_index] -#define _gloffset_AttachObjectARB driDispatchRemapTable[AttachObjectARB_remap_index] -#define _gloffset_CompileShaderARB driDispatchRemapTable[CompileShaderARB_remap_index] -#define _gloffset_CreateProgramObjectARB driDispatchRemapTable[CreateProgramObjectARB_remap_index] -#define _gloffset_CreateShaderObjectARB driDispatchRemapTable[CreateShaderObjectARB_remap_index] -#define _gloffset_DeleteObjectARB driDispatchRemapTable[DeleteObjectARB_remap_index] -#define _gloffset_DetachObjectARB driDispatchRemapTable[DetachObjectARB_remap_index] -#define _gloffset_GetActiveUniformARB driDispatchRemapTable[GetActiveUniformARB_remap_index] -#define _gloffset_GetAttachedObjectsARB driDispatchRemapTable[GetAttachedObjectsARB_remap_index] -#define _gloffset_GetHandleARB driDispatchRemapTable[GetHandleARB_remap_index] -#define _gloffset_GetInfoLogARB driDispatchRemapTable[GetInfoLogARB_remap_index] -#define _gloffset_GetObjectParameterfvARB driDispatchRemapTable[GetObjectParameterfvARB_remap_index] -#define _gloffset_GetObjectParameterivARB driDispatchRemapTable[GetObjectParameterivARB_remap_index] -#define _gloffset_GetShaderSourceARB driDispatchRemapTable[GetShaderSourceARB_remap_index] -#define _gloffset_GetUniformLocationARB driDispatchRemapTable[GetUniformLocationARB_remap_index] -#define _gloffset_GetUniformfvARB driDispatchRemapTable[GetUniformfvARB_remap_index] -#define _gloffset_GetUniformivARB driDispatchRemapTable[GetUniformivARB_remap_index] -#define _gloffset_LinkProgramARB driDispatchRemapTable[LinkProgramARB_remap_index] -#define _gloffset_ShaderSourceARB driDispatchRemapTable[ShaderSourceARB_remap_index] -#define _gloffset_Uniform1fARB driDispatchRemapTable[Uniform1fARB_remap_index] -#define _gloffset_Uniform1fvARB driDispatchRemapTable[Uniform1fvARB_remap_index] -#define _gloffset_Uniform1iARB driDispatchRemapTable[Uniform1iARB_remap_index] -#define _gloffset_Uniform1ivARB driDispatchRemapTable[Uniform1ivARB_remap_index] -#define _gloffset_Uniform2fARB driDispatchRemapTable[Uniform2fARB_remap_index] -#define _gloffset_Uniform2fvARB driDispatchRemapTable[Uniform2fvARB_remap_index] -#define _gloffset_Uniform2iARB driDispatchRemapTable[Uniform2iARB_remap_index] -#define _gloffset_Uniform2ivARB driDispatchRemapTable[Uniform2ivARB_remap_index] -#define _gloffset_Uniform3fARB driDispatchRemapTable[Uniform3fARB_remap_index] -#define _gloffset_Uniform3fvARB driDispatchRemapTable[Uniform3fvARB_remap_index] -#define _gloffset_Uniform3iARB driDispatchRemapTable[Uniform3iARB_remap_index] -#define _gloffset_Uniform3ivARB driDispatchRemapTable[Uniform3ivARB_remap_index] -#define _gloffset_Uniform4fARB driDispatchRemapTable[Uniform4fARB_remap_index] -#define _gloffset_Uniform4fvARB driDispatchRemapTable[Uniform4fvARB_remap_index] -#define _gloffset_Uniform4iARB driDispatchRemapTable[Uniform4iARB_remap_index] -#define _gloffset_Uniform4ivARB driDispatchRemapTable[Uniform4ivARB_remap_index] -#define _gloffset_UniformMatrix2fvARB driDispatchRemapTable[UniformMatrix2fvARB_remap_index] -#define _gloffset_UniformMatrix3fvARB driDispatchRemapTable[UniformMatrix3fvARB_remap_index] -#define _gloffset_UniformMatrix4fvARB driDispatchRemapTable[UniformMatrix4fvARB_remap_index] -#define _gloffset_UseProgramObjectARB driDispatchRemapTable[UseProgramObjectARB_remap_index] -#define _gloffset_ValidateProgramARB driDispatchRemapTable[ValidateProgramARB_remap_index] -#define _gloffset_BindAttribLocationARB driDispatchRemapTable[BindAttribLocationARB_remap_index] -#define _gloffset_GetActiveAttribARB driDispatchRemapTable[GetActiveAttribARB_remap_index] -#define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index] -#define _gloffset_DrawBuffersARB driDispatchRemapTable[DrawBuffersARB_remap_index] -#define _gloffset_ClampColorARB driDispatchRemapTable[ClampColorARB_remap_index] -#define _gloffset_DrawArraysInstancedARB driDispatchRemapTable[DrawArraysInstancedARB_remap_index] -#define _gloffset_DrawElementsInstancedARB driDispatchRemapTable[DrawElementsInstancedARB_remap_index] -#define _gloffset_RenderbufferStorageMultisample driDispatchRemapTable[RenderbufferStorageMultisample_remap_index] -#define _gloffset_FramebufferTextureARB driDispatchRemapTable[FramebufferTextureARB_remap_index] -#define _gloffset_FramebufferTextureFaceARB driDispatchRemapTable[FramebufferTextureFaceARB_remap_index] -#define _gloffset_ProgramParameteriARB driDispatchRemapTable[ProgramParameteriARB_remap_index] -#define _gloffset_VertexAttribDivisorARB driDispatchRemapTable[VertexAttribDivisorARB_remap_index] -#define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index] -#define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index] -#define _gloffset_TexBufferARB driDispatchRemapTable[TexBufferARB_remap_index] -#define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index] -#define _gloffset_GenVertexArrays driDispatchRemapTable[GenVertexArrays_remap_index] -#define _gloffset_CopyBufferSubData driDispatchRemapTable[CopyBufferSubData_remap_index] -#define _gloffset_ClientWaitSync driDispatchRemapTable[ClientWaitSync_remap_index] -#define _gloffset_DeleteSync driDispatchRemapTable[DeleteSync_remap_index] -#define _gloffset_FenceSync driDispatchRemapTable[FenceSync_remap_index] -#define _gloffset_GetInteger64v driDispatchRemapTable[GetInteger64v_remap_index] -#define _gloffset_GetSynciv driDispatchRemapTable[GetSynciv_remap_index] -#define _gloffset_IsSync driDispatchRemapTable[IsSync_remap_index] -#define _gloffset_WaitSync driDispatchRemapTable[WaitSync_remap_index] -#define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index] -#define _gloffset_DrawElementsInstancedBaseVertex driDispatchRemapTable[DrawElementsInstancedBaseVertex_remap_index] -#define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index] -#define _gloffset_MultiDrawElementsBaseVertex driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index] -#define _gloffset_BlendEquationSeparateiARB driDispatchRemapTable[BlendEquationSeparateiARB_remap_index] -#define _gloffset_BlendEquationiARB driDispatchRemapTable[BlendEquationiARB_remap_index] -#define _gloffset_BlendFuncSeparateiARB driDispatchRemapTable[BlendFuncSeparateiARB_remap_index] -#define _gloffset_BlendFunciARB driDispatchRemapTable[BlendFunciARB_remap_index] -#define _gloffset_BindSampler driDispatchRemapTable[BindSampler_remap_index] -#define _gloffset_DeleteSamplers driDispatchRemapTable[DeleteSamplers_remap_index] -#define _gloffset_GenSamplers driDispatchRemapTable[GenSamplers_remap_index] -#define _gloffset_GetSamplerParameterIiv driDispatchRemapTable[GetSamplerParameterIiv_remap_index] -#define _gloffset_GetSamplerParameterIuiv driDispatchRemapTable[GetSamplerParameterIuiv_remap_index] -#define _gloffset_GetSamplerParameterfv driDispatchRemapTable[GetSamplerParameterfv_remap_index] -#define _gloffset_GetSamplerParameteriv driDispatchRemapTable[GetSamplerParameteriv_remap_index] -#define _gloffset_IsSampler driDispatchRemapTable[IsSampler_remap_index] -#define _gloffset_SamplerParameterIiv driDispatchRemapTable[SamplerParameterIiv_remap_index] -#define _gloffset_SamplerParameterIuiv driDispatchRemapTable[SamplerParameterIuiv_remap_index] -#define _gloffset_SamplerParameterf driDispatchRemapTable[SamplerParameterf_remap_index] -#define _gloffset_SamplerParameterfv driDispatchRemapTable[SamplerParameterfv_remap_index] -#define _gloffset_SamplerParameteri driDispatchRemapTable[SamplerParameteri_remap_index] -#define _gloffset_SamplerParameteriv driDispatchRemapTable[SamplerParameteriv_remap_index] -#define _gloffset_ColorP3ui driDispatchRemapTable[ColorP3ui_remap_index] -#define _gloffset_ColorP3uiv driDispatchRemapTable[ColorP3uiv_remap_index] -#define _gloffset_ColorP4ui driDispatchRemapTable[ColorP4ui_remap_index] -#define _gloffset_ColorP4uiv driDispatchRemapTable[ColorP4uiv_remap_index] -#define _gloffset_MultiTexCoordP1ui driDispatchRemapTable[MultiTexCoordP1ui_remap_index] -#define _gloffset_MultiTexCoordP1uiv driDispatchRemapTable[MultiTexCoordP1uiv_remap_index] -#define _gloffset_MultiTexCoordP2ui driDispatchRemapTable[MultiTexCoordP2ui_remap_index] -#define _gloffset_MultiTexCoordP2uiv driDispatchRemapTable[MultiTexCoordP2uiv_remap_index] -#define _gloffset_MultiTexCoordP3ui driDispatchRemapTable[MultiTexCoordP3ui_remap_index] -#define _gloffset_MultiTexCoordP3uiv driDispatchRemapTable[MultiTexCoordP3uiv_remap_index] -#define _gloffset_MultiTexCoordP4ui driDispatchRemapTable[MultiTexCoordP4ui_remap_index] -#define _gloffset_MultiTexCoordP4uiv driDispatchRemapTable[MultiTexCoordP4uiv_remap_index] -#define _gloffset_NormalP3ui driDispatchRemapTable[NormalP3ui_remap_index] -#define _gloffset_NormalP3uiv driDispatchRemapTable[NormalP3uiv_remap_index] -#define _gloffset_SecondaryColorP3ui driDispatchRemapTable[SecondaryColorP3ui_remap_index] -#define _gloffset_SecondaryColorP3uiv driDispatchRemapTable[SecondaryColorP3uiv_remap_index] -#define _gloffset_TexCoordP1ui driDispatchRemapTable[TexCoordP1ui_remap_index] -#define _gloffset_TexCoordP1uiv driDispatchRemapTable[TexCoordP1uiv_remap_index] -#define _gloffset_TexCoordP2ui driDispatchRemapTable[TexCoordP2ui_remap_index] -#define _gloffset_TexCoordP2uiv driDispatchRemapTable[TexCoordP2uiv_remap_index] -#define _gloffset_TexCoordP3ui driDispatchRemapTable[TexCoordP3ui_remap_index] -#define _gloffset_TexCoordP3uiv driDispatchRemapTable[TexCoordP3uiv_remap_index] -#define _gloffset_TexCoordP4ui driDispatchRemapTable[TexCoordP4ui_remap_index] -#define _gloffset_TexCoordP4uiv driDispatchRemapTable[TexCoordP4uiv_remap_index] -#define _gloffset_VertexAttribP1ui driDispatchRemapTable[VertexAttribP1ui_remap_index] -#define _gloffset_VertexAttribP1uiv driDispatchRemapTable[VertexAttribP1uiv_remap_index] -#define _gloffset_VertexAttribP2ui driDispatchRemapTable[VertexAttribP2ui_remap_index] -#define _gloffset_VertexAttribP2uiv driDispatchRemapTable[VertexAttribP2uiv_remap_index] -#define _gloffset_VertexAttribP3ui driDispatchRemapTable[VertexAttribP3ui_remap_index] -#define _gloffset_VertexAttribP3uiv driDispatchRemapTable[VertexAttribP3uiv_remap_index] -#define _gloffset_VertexAttribP4ui driDispatchRemapTable[VertexAttribP4ui_remap_index] -#define _gloffset_VertexAttribP4uiv driDispatchRemapTable[VertexAttribP4uiv_remap_index] -#define _gloffset_VertexP2ui driDispatchRemapTable[VertexP2ui_remap_index] -#define _gloffset_VertexP2uiv driDispatchRemapTable[VertexP2uiv_remap_index] -#define _gloffset_VertexP3ui driDispatchRemapTable[VertexP3ui_remap_index] -#define _gloffset_VertexP3uiv driDispatchRemapTable[VertexP3uiv_remap_index] -#define _gloffset_VertexP4ui driDispatchRemapTable[VertexP4ui_remap_index] -#define _gloffset_VertexP4uiv driDispatchRemapTable[VertexP4uiv_remap_index] -#define _gloffset_BindTransformFeedback driDispatchRemapTable[BindTransformFeedback_remap_index] -#define _gloffset_DeleteTransformFeedbacks driDispatchRemapTable[DeleteTransformFeedbacks_remap_index] -#define _gloffset_DrawTransformFeedback driDispatchRemapTable[DrawTransformFeedback_remap_index] -#define _gloffset_GenTransformFeedbacks driDispatchRemapTable[GenTransformFeedbacks_remap_index] -#define _gloffset_IsTransformFeedback driDispatchRemapTable[IsTransformFeedback_remap_index] -#define _gloffset_PauseTransformFeedback driDispatchRemapTable[PauseTransformFeedback_remap_index] -#define _gloffset_ResumeTransformFeedback driDispatchRemapTable[ResumeTransformFeedback_remap_index] -#define _gloffset_ClearDepthf driDispatchRemapTable[ClearDepthf_remap_index] -#define _gloffset_DepthRangef driDispatchRemapTable[DepthRangef_remap_index] -#define _gloffset_GetShaderPrecisionFormat driDispatchRemapTable[GetShaderPrecisionFormat_remap_index] -#define _gloffset_ReleaseShaderCompiler driDispatchRemapTable[ReleaseShaderCompiler_remap_index] -#define _gloffset_ShaderBinary driDispatchRemapTable[ShaderBinary_remap_index] -#define _gloffset_GetGraphicsResetStatusARB driDispatchRemapTable[GetGraphicsResetStatusARB_remap_index] -#define _gloffset_GetnColorTableARB driDispatchRemapTable[GetnColorTableARB_remap_index] -#define _gloffset_GetnCompressedTexImageARB driDispatchRemapTable[GetnCompressedTexImageARB_remap_index] -#define _gloffset_GetnConvolutionFilterARB driDispatchRemapTable[GetnConvolutionFilterARB_remap_index] -#define _gloffset_GetnHistogramARB driDispatchRemapTable[GetnHistogramARB_remap_index] -#define _gloffset_GetnMapdvARB driDispatchRemapTable[GetnMapdvARB_remap_index] -#define _gloffset_GetnMapfvARB driDispatchRemapTable[GetnMapfvARB_remap_index] -#define _gloffset_GetnMapivARB driDispatchRemapTable[GetnMapivARB_remap_index] -#define _gloffset_GetnMinmaxARB driDispatchRemapTable[GetnMinmaxARB_remap_index] -#define _gloffset_GetnPixelMapfvARB driDispatchRemapTable[GetnPixelMapfvARB_remap_index] -#define _gloffset_GetnPixelMapuivARB driDispatchRemapTable[GetnPixelMapuivARB_remap_index] -#define _gloffset_GetnPixelMapusvARB driDispatchRemapTable[GetnPixelMapusvARB_remap_index] -#define _gloffset_GetnPolygonStippleARB driDispatchRemapTable[GetnPolygonStippleARB_remap_index] -#define _gloffset_GetnSeparableFilterARB driDispatchRemapTable[GetnSeparableFilterARB_remap_index] -#define _gloffset_GetnTexImageARB driDispatchRemapTable[GetnTexImageARB_remap_index] -#define _gloffset_GetnUniformdvARB driDispatchRemapTable[GetnUniformdvARB_remap_index] -#define _gloffset_GetnUniformfvARB driDispatchRemapTable[GetnUniformfvARB_remap_index] -#define _gloffset_GetnUniformivARB driDispatchRemapTable[GetnUniformivARB_remap_index] -#define _gloffset_GetnUniformuivARB driDispatchRemapTable[GetnUniformuivARB_remap_index] -#define _gloffset_ReadnPixelsARB driDispatchRemapTable[ReadnPixelsARB_remap_index] -#define _gloffset_TexStorage1D driDispatchRemapTable[TexStorage1D_remap_index] -#define _gloffset_TexStorage2D driDispatchRemapTable[TexStorage2D_remap_index] -#define _gloffset_TexStorage3D driDispatchRemapTable[TexStorage3D_remap_index] -#define _gloffset_TextureStorage1DEXT driDispatchRemapTable[TextureStorage1DEXT_remap_index] -#define _gloffset_TextureStorage2DEXT driDispatchRemapTable[TextureStorage2DEXT_remap_index] -#define _gloffset_TextureStorage3DEXT driDispatchRemapTable[TextureStorage3DEXT_remap_index] -#define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] -#define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] -#define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] -#define _gloffset_PixelTexGenParameterfSGIS driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index] -#define _gloffset_PixelTexGenParameterfvSGIS driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index] -#define _gloffset_PixelTexGenParameteriSGIS driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index] -#define _gloffset_PixelTexGenParameterivSGIS driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index] -#define _gloffset_SampleMaskSGIS driDispatchRemapTable[SampleMaskSGIS_remap_index] -#define _gloffset_SamplePatternSGIS driDispatchRemapTable[SamplePatternSGIS_remap_index] -#define _gloffset_ColorPointerEXT driDispatchRemapTable[ColorPointerEXT_remap_index] -#define _gloffset_EdgeFlagPointerEXT driDispatchRemapTable[EdgeFlagPointerEXT_remap_index] -#define _gloffset_IndexPointerEXT driDispatchRemapTable[IndexPointerEXT_remap_index] -#define _gloffset_NormalPointerEXT driDispatchRemapTable[NormalPointerEXT_remap_index] -#define _gloffset_TexCoordPointerEXT driDispatchRemapTable[TexCoordPointerEXT_remap_index] -#define _gloffset_VertexPointerEXT driDispatchRemapTable[VertexPointerEXT_remap_index] -#define _gloffset_PointParameterfEXT driDispatchRemapTable[PointParameterfEXT_remap_index] -#define _gloffset_PointParameterfvEXT driDispatchRemapTable[PointParameterfvEXT_remap_index] -#define _gloffset_LockArraysEXT driDispatchRemapTable[LockArraysEXT_remap_index] -#define _gloffset_UnlockArraysEXT driDispatchRemapTable[UnlockArraysEXT_remap_index] -#define _gloffset_SecondaryColor3bEXT driDispatchRemapTable[SecondaryColor3bEXT_remap_index] -#define _gloffset_SecondaryColor3bvEXT driDispatchRemapTable[SecondaryColor3bvEXT_remap_index] -#define _gloffset_SecondaryColor3dEXT driDispatchRemapTable[SecondaryColor3dEXT_remap_index] -#define _gloffset_SecondaryColor3dvEXT driDispatchRemapTable[SecondaryColor3dvEXT_remap_index] -#define _gloffset_SecondaryColor3fEXT driDispatchRemapTable[SecondaryColor3fEXT_remap_index] -#define _gloffset_SecondaryColor3fvEXT driDispatchRemapTable[SecondaryColor3fvEXT_remap_index] -#define _gloffset_SecondaryColor3iEXT driDispatchRemapTable[SecondaryColor3iEXT_remap_index] -#define _gloffset_SecondaryColor3ivEXT driDispatchRemapTable[SecondaryColor3ivEXT_remap_index] -#define _gloffset_SecondaryColor3sEXT driDispatchRemapTable[SecondaryColor3sEXT_remap_index] -#define _gloffset_SecondaryColor3svEXT driDispatchRemapTable[SecondaryColor3svEXT_remap_index] -#define _gloffset_SecondaryColor3ubEXT driDispatchRemapTable[SecondaryColor3ubEXT_remap_index] -#define _gloffset_SecondaryColor3ubvEXT driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index] -#define _gloffset_SecondaryColor3uiEXT driDispatchRemapTable[SecondaryColor3uiEXT_remap_index] -#define _gloffset_SecondaryColor3uivEXT driDispatchRemapTable[SecondaryColor3uivEXT_remap_index] -#define _gloffset_SecondaryColor3usEXT driDispatchRemapTable[SecondaryColor3usEXT_remap_index] -#define _gloffset_SecondaryColor3usvEXT driDispatchRemapTable[SecondaryColor3usvEXT_remap_index] -#define _gloffset_SecondaryColorPointerEXT driDispatchRemapTable[SecondaryColorPointerEXT_remap_index] -#define _gloffset_MultiDrawArraysEXT driDispatchRemapTable[MultiDrawArraysEXT_remap_index] -#define _gloffset_MultiDrawElementsEXT driDispatchRemapTable[MultiDrawElementsEXT_remap_index] -#define _gloffset_FogCoordPointerEXT driDispatchRemapTable[FogCoordPointerEXT_remap_index] -#define _gloffset_FogCoorddEXT driDispatchRemapTable[FogCoorddEXT_remap_index] -#define _gloffset_FogCoorddvEXT driDispatchRemapTable[FogCoorddvEXT_remap_index] -#define _gloffset_FogCoordfEXT driDispatchRemapTable[FogCoordfEXT_remap_index] -#define _gloffset_FogCoordfvEXT driDispatchRemapTable[FogCoordfvEXT_remap_index] -#define _gloffset_PixelTexGenSGIX driDispatchRemapTable[PixelTexGenSGIX_remap_index] -#define _gloffset_BlendFuncSeparateEXT driDispatchRemapTable[BlendFuncSeparateEXT_remap_index] -#define _gloffset_FlushVertexArrayRangeNV driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index] -#define _gloffset_VertexArrayRangeNV driDispatchRemapTable[VertexArrayRangeNV_remap_index] -#define _gloffset_CombinerInputNV driDispatchRemapTable[CombinerInputNV_remap_index] -#define _gloffset_CombinerOutputNV driDispatchRemapTable[CombinerOutputNV_remap_index] -#define _gloffset_CombinerParameterfNV driDispatchRemapTable[CombinerParameterfNV_remap_index] -#define _gloffset_CombinerParameterfvNV driDispatchRemapTable[CombinerParameterfvNV_remap_index] -#define _gloffset_CombinerParameteriNV driDispatchRemapTable[CombinerParameteriNV_remap_index] -#define _gloffset_CombinerParameterivNV driDispatchRemapTable[CombinerParameterivNV_remap_index] -#define _gloffset_FinalCombinerInputNV driDispatchRemapTable[FinalCombinerInputNV_remap_index] -#define _gloffset_GetCombinerInputParameterfvNV driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index] -#define _gloffset_GetCombinerInputParameterivNV driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index] -#define _gloffset_GetCombinerOutputParameterfvNV driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index] -#define _gloffset_GetCombinerOutputParameterivNV driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index] -#define _gloffset_GetFinalCombinerInputParameterfvNV driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index] -#define _gloffset_GetFinalCombinerInputParameterivNV driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index] -#define _gloffset_ResizeBuffersMESA driDispatchRemapTable[ResizeBuffersMESA_remap_index] -#define _gloffset_WindowPos2dMESA driDispatchRemapTable[WindowPos2dMESA_remap_index] -#define _gloffset_WindowPos2dvMESA driDispatchRemapTable[WindowPos2dvMESA_remap_index] -#define _gloffset_WindowPos2fMESA driDispatchRemapTable[WindowPos2fMESA_remap_index] -#define _gloffset_WindowPos2fvMESA driDispatchRemapTable[WindowPos2fvMESA_remap_index] -#define _gloffset_WindowPos2iMESA driDispatchRemapTable[WindowPos2iMESA_remap_index] -#define _gloffset_WindowPos2ivMESA driDispatchRemapTable[WindowPos2ivMESA_remap_index] -#define _gloffset_WindowPos2sMESA driDispatchRemapTable[WindowPos2sMESA_remap_index] -#define _gloffset_WindowPos2svMESA driDispatchRemapTable[WindowPos2svMESA_remap_index] -#define _gloffset_WindowPos3dMESA driDispatchRemapTable[WindowPos3dMESA_remap_index] -#define _gloffset_WindowPos3dvMESA driDispatchRemapTable[WindowPos3dvMESA_remap_index] -#define _gloffset_WindowPos3fMESA driDispatchRemapTable[WindowPos3fMESA_remap_index] -#define _gloffset_WindowPos3fvMESA driDispatchRemapTable[WindowPos3fvMESA_remap_index] -#define _gloffset_WindowPos3iMESA driDispatchRemapTable[WindowPos3iMESA_remap_index] -#define _gloffset_WindowPos3ivMESA driDispatchRemapTable[WindowPos3ivMESA_remap_index] -#define _gloffset_WindowPos3sMESA driDispatchRemapTable[WindowPos3sMESA_remap_index] -#define _gloffset_WindowPos3svMESA driDispatchRemapTable[WindowPos3svMESA_remap_index] -#define _gloffset_WindowPos4dMESA driDispatchRemapTable[WindowPos4dMESA_remap_index] -#define _gloffset_WindowPos4dvMESA driDispatchRemapTable[WindowPos4dvMESA_remap_index] -#define _gloffset_WindowPos4fMESA driDispatchRemapTable[WindowPos4fMESA_remap_index] -#define _gloffset_WindowPos4fvMESA driDispatchRemapTable[WindowPos4fvMESA_remap_index] -#define _gloffset_WindowPos4iMESA driDispatchRemapTable[WindowPos4iMESA_remap_index] -#define _gloffset_WindowPos4ivMESA driDispatchRemapTable[WindowPos4ivMESA_remap_index] -#define _gloffset_WindowPos4sMESA driDispatchRemapTable[WindowPos4sMESA_remap_index] -#define _gloffset_WindowPos4svMESA driDispatchRemapTable[WindowPos4svMESA_remap_index] -#define _gloffset_MultiModeDrawArraysIBM driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index] -#define _gloffset_MultiModeDrawElementsIBM driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index] -#define _gloffset_DeleteFencesNV driDispatchRemapTable[DeleteFencesNV_remap_index] -#define _gloffset_FinishFenceNV driDispatchRemapTable[FinishFenceNV_remap_index] -#define _gloffset_GenFencesNV driDispatchRemapTable[GenFencesNV_remap_index] -#define _gloffset_GetFenceivNV driDispatchRemapTable[GetFenceivNV_remap_index] -#define _gloffset_IsFenceNV driDispatchRemapTable[IsFenceNV_remap_index] -#define _gloffset_SetFenceNV driDispatchRemapTable[SetFenceNV_remap_index] -#define _gloffset_TestFenceNV driDispatchRemapTable[TestFenceNV_remap_index] -#define _gloffset_AreProgramsResidentNV driDispatchRemapTable[AreProgramsResidentNV_remap_index] -#define _gloffset_BindProgramNV driDispatchRemapTable[BindProgramNV_remap_index] -#define _gloffset_DeleteProgramsNV driDispatchRemapTable[DeleteProgramsNV_remap_index] -#define _gloffset_ExecuteProgramNV driDispatchRemapTable[ExecuteProgramNV_remap_index] -#define _gloffset_GenProgramsNV driDispatchRemapTable[GenProgramsNV_remap_index] -#define _gloffset_GetProgramParameterdvNV driDispatchRemapTable[GetProgramParameterdvNV_remap_index] -#define _gloffset_GetProgramParameterfvNV driDispatchRemapTable[GetProgramParameterfvNV_remap_index] -#define _gloffset_GetProgramStringNV driDispatchRemapTable[GetProgramStringNV_remap_index] -#define _gloffset_GetProgramivNV driDispatchRemapTable[GetProgramivNV_remap_index] -#define _gloffset_GetTrackMatrixivNV driDispatchRemapTable[GetTrackMatrixivNV_remap_index] -#define _gloffset_GetVertexAttribPointervNV driDispatchRemapTable[GetVertexAttribPointervNV_remap_index] -#define _gloffset_GetVertexAttribdvNV driDispatchRemapTable[GetVertexAttribdvNV_remap_index] -#define _gloffset_GetVertexAttribfvNV driDispatchRemapTable[GetVertexAttribfvNV_remap_index] -#define _gloffset_GetVertexAttribivNV driDispatchRemapTable[GetVertexAttribivNV_remap_index] -#define _gloffset_IsProgramNV driDispatchRemapTable[IsProgramNV_remap_index] -#define _gloffset_LoadProgramNV driDispatchRemapTable[LoadProgramNV_remap_index] -#define _gloffset_ProgramParameters4dvNV driDispatchRemapTable[ProgramParameters4dvNV_remap_index] -#define _gloffset_ProgramParameters4fvNV driDispatchRemapTable[ProgramParameters4fvNV_remap_index] -#define _gloffset_RequestResidentProgramsNV driDispatchRemapTable[RequestResidentProgramsNV_remap_index] -#define _gloffset_TrackMatrixNV driDispatchRemapTable[TrackMatrixNV_remap_index] -#define _gloffset_VertexAttrib1dNV driDispatchRemapTable[VertexAttrib1dNV_remap_index] -#define _gloffset_VertexAttrib1dvNV driDispatchRemapTable[VertexAttrib1dvNV_remap_index] -#define _gloffset_VertexAttrib1fNV driDispatchRemapTable[VertexAttrib1fNV_remap_index] -#define _gloffset_VertexAttrib1fvNV driDispatchRemapTable[VertexAttrib1fvNV_remap_index] -#define _gloffset_VertexAttrib1sNV driDispatchRemapTable[VertexAttrib1sNV_remap_index] -#define _gloffset_VertexAttrib1svNV driDispatchRemapTable[VertexAttrib1svNV_remap_index] -#define _gloffset_VertexAttrib2dNV driDispatchRemapTable[VertexAttrib2dNV_remap_index] -#define _gloffset_VertexAttrib2dvNV driDispatchRemapTable[VertexAttrib2dvNV_remap_index] -#define _gloffset_VertexAttrib2fNV driDispatchRemapTable[VertexAttrib2fNV_remap_index] -#define _gloffset_VertexAttrib2fvNV driDispatchRemapTable[VertexAttrib2fvNV_remap_index] -#define _gloffset_VertexAttrib2sNV driDispatchRemapTable[VertexAttrib2sNV_remap_index] -#define _gloffset_VertexAttrib2svNV driDispatchRemapTable[VertexAttrib2svNV_remap_index] -#define _gloffset_VertexAttrib3dNV driDispatchRemapTable[VertexAttrib3dNV_remap_index] -#define _gloffset_VertexAttrib3dvNV driDispatchRemapTable[VertexAttrib3dvNV_remap_index] -#define _gloffset_VertexAttrib3fNV driDispatchRemapTable[VertexAttrib3fNV_remap_index] -#define _gloffset_VertexAttrib3fvNV driDispatchRemapTable[VertexAttrib3fvNV_remap_index] -#define _gloffset_VertexAttrib3sNV driDispatchRemapTable[VertexAttrib3sNV_remap_index] -#define _gloffset_VertexAttrib3svNV driDispatchRemapTable[VertexAttrib3svNV_remap_index] -#define _gloffset_VertexAttrib4dNV driDispatchRemapTable[VertexAttrib4dNV_remap_index] -#define _gloffset_VertexAttrib4dvNV driDispatchRemapTable[VertexAttrib4dvNV_remap_index] -#define _gloffset_VertexAttrib4fNV driDispatchRemapTable[VertexAttrib4fNV_remap_index] -#define _gloffset_VertexAttrib4fvNV driDispatchRemapTable[VertexAttrib4fvNV_remap_index] -#define _gloffset_VertexAttrib4sNV driDispatchRemapTable[VertexAttrib4sNV_remap_index] -#define _gloffset_VertexAttrib4svNV driDispatchRemapTable[VertexAttrib4svNV_remap_index] -#define _gloffset_VertexAttrib4ubNV driDispatchRemapTable[VertexAttrib4ubNV_remap_index] -#define _gloffset_VertexAttrib4ubvNV driDispatchRemapTable[VertexAttrib4ubvNV_remap_index] -#define _gloffset_VertexAttribPointerNV driDispatchRemapTable[VertexAttribPointerNV_remap_index] -#define _gloffset_VertexAttribs1dvNV driDispatchRemapTable[VertexAttribs1dvNV_remap_index] -#define _gloffset_VertexAttribs1fvNV driDispatchRemapTable[VertexAttribs1fvNV_remap_index] -#define _gloffset_VertexAttribs1svNV driDispatchRemapTable[VertexAttribs1svNV_remap_index] -#define _gloffset_VertexAttribs2dvNV driDispatchRemapTable[VertexAttribs2dvNV_remap_index] -#define _gloffset_VertexAttribs2fvNV driDispatchRemapTable[VertexAttribs2fvNV_remap_index] -#define _gloffset_VertexAttribs2svNV driDispatchRemapTable[VertexAttribs2svNV_remap_index] -#define _gloffset_VertexAttribs3dvNV driDispatchRemapTable[VertexAttribs3dvNV_remap_index] -#define _gloffset_VertexAttribs3fvNV driDispatchRemapTable[VertexAttribs3fvNV_remap_index] -#define _gloffset_VertexAttribs3svNV driDispatchRemapTable[VertexAttribs3svNV_remap_index] -#define _gloffset_VertexAttribs4dvNV driDispatchRemapTable[VertexAttribs4dvNV_remap_index] -#define _gloffset_VertexAttribs4fvNV driDispatchRemapTable[VertexAttribs4fvNV_remap_index] -#define _gloffset_VertexAttribs4svNV driDispatchRemapTable[VertexAttribs4svNV_remap_index] -#define _gloffset_VertexAttribs4ubvNV driDispatchRemapTable[VertexAttribs4ubvNV_remap_index] -#define _gloffset_GetTexBumpParameterfvATI driDispatchRemapTable[GetTexBumpParameterfvATI_remap_index] -#define _gloffset_GetTexBumpParameterivATI driDispatchRemapTable[GetTexBumpParameterivATI_remap_index] -#define _gloffset_TexBumpParameterfvATI driDispatchRemapTable[TexBumpParameterfvATI_remap_index] -#define _gloffset_TexBumpParameterivATI driDispatchRemapTable[TexBumpParameterivATI_remap_index] -#define _gloffset_AlphaFragmentOp1ATI driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index] -#define _gloffset_AlphaFragmentOp2ATI driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index] -#define _gloffset_AlphaFragmentOp3ATI driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index] -#define _gloffset_BeginFragmentShaderATI driDispatchRemapTable[BeginFragmentShaderATI_remap_index] -#define _gloffset_BindFragmentShaderATI driDispatchRemapTable[BindFragmentShaderATI_remap_index] -#define _gloffset_ColorFragmentOp1ATI driDispatchRemapTable[ColorFragmentOp1ATI_remap_index] -#define _gloffset_ColorFragmentOp2ATI driDispatchRemapTable[ColorFragmentOp2ATI_remap_index] -#define _gloffset_ColorFragmentOp3ATI driDispatchRemapTable[ColorFragmentOp3ATI_remap_index] -#define _gloffset_DeleteFragmentShaderATI driDispatchRemapTable[DeleteFragmentShaderATI_remap_index] -#define _gloffset_EndFragmentShaderATI driDispatchRemapTable[EndFragmentShaderATI_remap_index] -#define _gloffset_GenFragmentShadersATI driDispatchRemapTable[GenFragmentShadersATI_remap_index] -#define _gloffset_PassTexCoordATI driDispatchRemapTable[PassTexCoordATI_remap_index] -#define _gloffset_SampleMapATI driDispatchRemapTable[SampleMapATI_remap_index] -#define _gloffset_SetFragmentShaderConstantATI driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index] -#define _gloffset_PointParameteriNV driDispatchRemapTable[PointParameteriNV_remap_index] -#define _gloffset_PointParameterivNV driDispatchRemapTable[PointParameterivNV_remap_index] -#define _gloffset_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index] -#define _gloffset_BindVertexArrayAPPLE driDispatchRemapTable[BindVertexArrayAPPLE_remap_index] -#define _gloffset_DeleteVertexArraysAPPLE driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index] -#define _gloffset_GenVertexArraysAPPLE driDispatchRemapTable[GenVertexArraysAPPLE_remap_index] -#define _gloffset_IsVertexArrayAPPLE driDispatchRemapTable[IsVertexArrayAPPLE_remap_index] -#define _gloffset_GetProgramNamedParameterdvNV driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index] -#define _gloffset_GetProgramNamedParameterfvNV driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index] -#define _gloffset_ProgramNamedParameter4dNV driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index] -#define _gloffset_ProgramNamedParameter4dvNV driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index] -#define _gloffset_ProgramNamedParameter4fNV driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index] -#define _gloffset_ProgramNamedParameter4fvNV driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index] -#define _gloffset_PrimitiveRestartIndexNV driDispatchRemapTable[PrimitiveRestartIndexNV_remap_index] -#define _gloffset_PrimitiveRestartNV driDispatchRemapTable[PrimitiveRestartNV_remap_index] -#define _gloffset_DepthBoundsEXT driDispatchRemapTable[DepthBoundsEXT_remap_index] -#define _gloffset_BlendEquationSeparateEXT driDispatchRemapTable[BlendEquationSeparateEXT_remap_index] -#define _gloffset_BindFramebufferEXT driDispatchRemapTable[BindFramebufferEXT_remap_index] -#define _gloffset_BindRenderbufferEXT driDispatchRemapTable[BindRenderbufferEXT_remap_index] -#define _gloffset_CheckFramebufferStatusEXT driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index] -#define _gloffset_DeleteFramebuffersEXT driDispatchRemapTable[DeleteFramebuffersEXT_remap_index] -#define _gloffset_DeleteRenderbuffersEXT driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index] -#define _gloffset_FramebufferRenderbufferEXT driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index] -#define _gloffset_FramebufferTexture1DEXT driDispatchRemapTable[FramebufferTexture1DEXT_remap_index] -#define _gloffset_FramebufferTexture2DEXT driDispatchRemapTable[FramebufferTexture2DEXT_remap_index] -#define _gloffset_FramebufferTexture3DEXT driDispatchRemapTable[FramebufferTexture3DEXT_remap_index] -#define _gloffset_GenFramebuffersEXT driDispatchRemapTable[GenFramebuffersEXT_remap_index] -#define _gloffset_GenRenderbuffersEXT driDispatchRemapTable[GenRenderbuffersEXT_remap_index] -#define _gloffset_GenerateMipmapEXT driDispatchRemapTable[GenerateMipmapEXT_remap_index] -#define _gloffset_GetFramebufferAttachmentParameterivEXT driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index] -#define _gloffset_GetRenderbufferParameterivEXT driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index] -#define _gloffset_IsFramebufferEXT driDispatchRemapTable[IsFramebufferEXT_remap_index] -#define _gloffset_IsRenderbufferEXT driDispatchRemapTable[IsRenderbufferEXT_remap_index] -#define _gloffset_RenderbufferStorageEXT driDispatchRemapTable[RenderbufferStorageEXT_remap_index] -#define _gloffset_BlitFramebufferEXT driDispatchRemapTable[BlitFramebufferEXT_remap_index] -#define _gloffset_BufferParameteriAPPLE driDispatchRemapTable[BufferParameteriAPPLE_remap_index] -#define _gloffset_FlushMappedBufferRangeAPPLE driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index] -#define _gloffset_BindFragDataLocationEXT driDispatchRemapTable[BindFragDataLocationEXT_remap_index] -#define _gloffset_GetFragDataLocationEXT driDispatchRemapTable[GetFragDataLocationEXT_remap_index] -#define _gloffset_GetUniformuivEXT driDispatchRemapTable[GetUniformuivEXT_remap_index] -#define _gloffset_GetVertexAttribIivEXT driDispatchRemapTable[GetVertexAttribIivEXT_remap_index] -#define _gloffset_GetVertexAttribIuivEXT driDispatchRemapTable[GetVertexAttribIuivEXT_remap_index] -#define _gloffset_Uniform1uiEXT driDispatchRemapTable[Uniform1uiEXT_remap_index] -#define _gloffset_Uniform1uivEXT driDispatchRemapTable[Uniform1uivEXT_remap_index] -#define _gloffset_Uniform2uiEXT driDispatchRemapTable[Uniform2uiEXT_remap_index] -#define _gloffset_Uniform2uivEXT driDispatchRemapTable[Uniform2uivEXT_remap_index] -#define _gloffset_Uniform3uiEXT driDispatchRemapTable[Uniform3uiEXT_remap_index] -#define _gloffset_Uniform3uivEXT driDispatchRemapTable[Uniform3uivEXT_remap_index] -#define _gloffset_Uniform4uiEXT driDispatchRemapTable[Uniform4uiEXT_remap_index] -#define _gloffset_Uniform4uivEXT driDispatchRemapTable[Uniform4uivEXT_remap_index] -#define _gloffset_VertexAttribI1iEXT driDispatchRemapTable[VertexAttribI1iEXT_remap_index] -#define _gloffset_VertexAttribI1ivEXT driDispatchRemapTable[VertexAttribI1ivEXT_remap_index] -#define _gloffset_VertexAttribI1uiEXT driDispatchRemapTable[VertexAttribI1uiEXT_remap_index] -#define _gloffset_VertexAttribI1uivEXT driDispatchRemapTable[VertexAttribI1uivEXT_remap_index] -#define _gloffset_VertexAttribI2iEXT driDispatchRemapTable[VertexAttribI2iEXT_remap_index] -#define _gloffset_VertexAttribI2ivEXT driDispatchRemapTable[VertexAttribI2ivEXT_remap_index] -#define _gloffset_VertexAttribI2uiEXT driDispatchRemapTable[VertexAttribI2uiEXT_remap_index] -#define _gloffset_VertexAttribI2uivEXT driDispatchRemapTable[VertexAttribI2uivEXT_remap_index] -#define _gloffset_VertexAttribI3iEXT driDispatchRemapTable[VertexAttribI3iEXT_remap_index] -#define _gloffset_VertexAttribI3ivEXT driDispatchRemapTable[VertexAttribI3ivEXT_remap_index] -#define _gloffset_VertexAttribI3uiEXT driDispatchRemapTable[VertexAttribI3uiEXT_remap_index] -#define _gloffset_VertexAttribI3uivEXT driDispatchRemapTable[VertexAttribI3uivEXT_remap_index] -#define _gloffset_VertexAttribI4bvEXT driDispatchRemapTable[VertexAttribI4bvEXT_remap_index] -#define _gloffset_VertexAttribI4iEXT driDispatchRemapTable[VertexAttribI4iEXT_remap_index] -#define _gloffset_VertexAttribI4ivEXT driDispatchRemapTable[VertexAttribI4ivEXT_remap_index] -#define _gloffset_VertexAttribI4svEXT driDispatchRemapTable[VertexAttribI4svEXT_remap_index] -#define _gloffset_VertexAttribI4ubvEXT driDispatchRemapTable[VertexAttribI4ubvEXT_remap_index] -#define _gloffset_VertexAttribI4uiEXT driDispatchRemapTable[VertexAttribI4uiEXT_remap_index] -#define _gloffset_VertexAttribI4uivEXT driDispatchRemapTable[VertexAttribI4uivEXT_remap_index] -#define _gloffset_VertexAttribI4usvEXT driDispatchRemapTable[VertexAttribI4usvEXT_remap_index] -#define _gloffset_VertexAttribIPointerEXT driDispatchRemapTable[VertexAttribIPointerEXT_remap_index] -#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index] -#define _gloffset_ColorMaskIndexedEXT driDispatchRemapTable[ColorMaskIndexedEXT_remap_index] -#define _gloffset_DisableIndexedEXT driDispatchRemapTable[DisableIndexedEXT_remap_index] -#define _gloffset_EnableIndexedEXT driDispatchRemapTable[EnableIndexedEXT_remap_index] -#define _gloffset_GetBooleanIndexedvEXT driDispatchRemapTable[GetBooleanIndexedvEXT_remap_index] -#define _gloffset_GetIntegerIndexedvEXT driDispatchRemapTable[GetIntegerIndexedvEXT_remap_index] -#define _gloffset_IsEnabledIndexedEXT driDispatchRemapTable[IsEnabledIndexedEXT_remap_index] -#define _gloffset_ClearColorIiEXT driDispatchRemapTable[ClearColorIiEXT_remap_index] -#define _gloffset_ClearColorIuiEXT driDispatchRemapTable[ClearColorIuiEXT_remap_index] -#define _gloffset_GetTexParameterIivEXT driDispatchRemapTable[GetTexParameterIivEXT_remap_index] -#define _gloffset_GetTexParameterIuivEXT driDispatchRemapTable[GetTexParameterIuivEXT_remap_index] -#define _gloffset_TexParameterIivEXT driDispatchRemapTable[TexParameterIivEXT_remap_index] -#define _gloffset_TexParameterIuivEXT driDispatchRemapTable[TexParameterIuivEXT_remap_index] -#define _gloffset_BeginConditionalRenderNV driDispatchRemapTable[BeginConditionalRenderNV_remap_index] -#define _gloffset_EndConditionalRenderNV driDispatchRemapTable[EndConditionalRenderNV_remap_index] -#define _gloffset_BeginTransformFeedbackEXT driDispatchRemapTable[BeginTransformFeedbackEXT_remap_index] -#define _gloffset_BindBufferBaseEXT driDispatchRemapTable[BindBufferBaseEXT_remap_index] -#define _gloffset_BindBufferOffsetEXT driDispatchRemapTable[BindBufferOffsetEXT_remap_index] -#define _gloffset_BindBufferRangeEXT driDispatchRemapTable[BindBufferRangeEXT_remap_index] -#define _gloffset_EndTransformFeedbackEXT driDispatchRemapTable[EndTransformFeedbackEXT_remap_index] -#define _gloffset_GetTransformFeedbackVaryingEXT driDispatchRemapTable[GetTransformFeedbackVaryingEXT_remap_index] -#define _gloffset_TransformFeedbackVaryingsEXT driDispatchRemapTable[TransformFeedbackVaryingsEXT_remap_index] -#define _gloffset_ProvokingVertexEXT driDispatchRemapTable[ProvokingVertexEXT_remap_index] -#define _gloffset_GetTexParameterPointervAPPLE driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index] -#define _gloffset_TextureRangeAPPLE driDispatchRemapTable[TextureRangeAPPLE_remap_index] -#define _gloffset_GetObjectParameterivAPPLE driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index] -#define _gloffset_ObjectPurgeableAPPLE driDispatchRemapTable[ObjectPurgeableAPPLE_remap_index] -#define _gloffset_ObjectUnpurgeableAPPLE driDispatchRemapTable[ObjectUnpurgeableAPPLE_remap_index] -#define _gloffset_ActiveProgramEXT driDispatchRemapTable[ActiveProgramEXT_remap_index] -#define _gloffset_CreateShaderProgramEXT driDispatchRemapTable[CreateShaderProgramEXT_remap_index] -#define _gloffset_UseShaderProgramEXT driDispatchRemapTable[UseShaderProgramEXT_remap_index] -#define _gloffset_TextureBarrierNV driDispatchRemapTable[TextureBarrierNV_remap_index] -#define _gloffset_StencilFuncSeparateATI driDispatchRemapTable[StencilFuncSeparateATI_remap_index] -#define _gloffset_ProgramEnvParameters4fvEXT driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index] -#define _gloffset_ProgramLocalParameters4fvEXT driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index] -#define _gloffset_GetQueryObjecti64vEXT driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index] -#define _gloffset_GetQueryObjectui64vEXT driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index] -#define _gloffset_EGLImageTargetRenderbufferStorageOES driDispatchRemapTable[EGLImageTargetRenderbufferStorageOES_remap_index] -#define _gloffset_EGLImageTargetTexture2DOES driDispatchRemapTable[EGLImageTargetTexture2DOES_remap_index] - -#endif /* !FEATURE_remap_table */ - -typedef void (GLAPIENTRYP _glptr_NewList) (GLuint, GLenum); - -#define CALL_NewList(disp, parameters) \ - (* GET_NewList(disp)) parameters -static inline _glptr_NewList -GET_NewList(struct _glapi_table *disp) -{ - return (_glptr_NewList) (GET_by_offset(disp, _gloffset_NewList)); -} - -static inline void -SET_NewList(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_NewList, fn); -} - -typedef void (GLAPIENTRYP _glptr_EndList) (void); - -#define CALL_EndList(disp, parameters) \ - (* GET_EndList(disp)) parameters -static inline _glptr_EndList -GET_EndList(struct _glapi_table *disp) -{ - return (_glptr_EndList) (GET_by_offset(disp, _gloffset_EndList)); -} - -static inline void -SET_EndList(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_EndList, fn); -} - -typedef void (GLAPIENTRYP _glptr_CallList) (GLuint); - -#define CALL_CallList(disp, parameters) \ - (* GET_CallList(disp)) parameters -static inline _glptr_CallList -GET_CallList(struct _glapi_table *disp) -{ - return (_glptr_CallList) (GET_by_offset(disp, _gloffset_CallList)); -} - -static inline void -SET_CallList(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_CallList, fn); -} - -typedef void (GLAPIENTRYP _glptr_CallLists) (GLsizei, GLenum, const GLvoid *); - -#define CALL_CallLists(disp, parameters) \ - (* GET_CallLists(disp)) parameters -static inline _glptr_CallLists -GET_CallLists(struct _glapi_table *disp) -{ - return (_glptr_CallLists) (GET_by_offset(disp, _gloffset_CallLists)); -} - -static inline void -SET_CallLists(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_CallLists, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteLists) (GLuint, GLsizei); - -#define CALL_DeleteLists(disp, parameters) \ - (* GET_DeleteLists(disp)) parameters -static inline _glptr_DeleteLists -GET_DeleteLists(struct _glapi_table *disp) -{ - return (_glptr_DeleteLists) (GET_by_offset(disp, _gloffset_DeleteLists)); -} - -static inline void -SET_DeleteLists(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei)) -{ - SET_by_offset(disp, _gloffset_DeleteLists, fn); -} - -typedef GLuint(GLAPIENTRYP _glptr_GenLists) (GLsizei); - -#define CALL_GenLists(disp, parameters) \ - (* GET_GenLists(disp)) parameters -static inline _glptr_GenLists -GET_GenLists(struct _glapi_table *disp) -{ - return (_glptr_GenLists) (GET_by_offset(disp, _gloffset_GenLists)); -} - -static inline void -SET_GenLists(struct _glapi_table *disp, GLuint(GLAPIENTRYP fn) (GLsizei)) -{ - SET_by_offset(disp, _gloffset_GenLists, fn); -} - -typedef void (GLAPIENTRYP _glptr_ListBase) (GLuint); - -#define CALL_ListBase(disp, parameters) \ - (* GET_ListBase(disp)) parameters -static inline _glptr_ListBase -GET_ListBase(struct _glapi_table *disp) -{ - return (_glptr_ListBase) (GET_by_offset(disp, _gloffset_ListBase)); -} - -static inline void -SET_ListBase(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_ListBase, fn); -} - -typedef void (GLAPIENTRYP _glptr_Begin) (GLenum); - -#define CALL_Begin(disp, parameters) \ - (* GET_Begin(disp)) parameters -static inline _glptr_Begin -GET_Begin(struct _glapi_table *disp) -{ - return (_glptr_Begin) (GET_by_offset(disp, _gloffset_Begin)); -} - -static inline void -SET_Begin(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_Begin, fn); -} - -typedef void (GLAPIENTRYP _glptr_Bitmap) (GLsizei, GLsizei, GLfloat, GLfloat, - GLfloat, GLfloat, const GLubyte *); -#define CALL_Bitmap(disp, parameters) \ - (* GET_Bitmap(disp)) parameters -static inline _glptr_Bitmap -GET_Bitmap(struct _glapi_table *disp) -{ - return (_glptr_Bitmap) (GET_by_offset(disp, _gloffset_Bitmap)); -} - -static inline void -SET_Bitmap(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, - GLfloat, const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_Bitmap, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3b) (GLbyte, GLbyte, GLbyte); - -#define CALL_Color3b(disp, parameters) \ - (* GET_Color3b(disp)) parameters -static inline _glptr_Color3b -GET_Color3b(struct _glapi_table *disp) -{ - return (_glptr_Color3b) (GET_by_offset(disp, _gloffset_Color3b)); -} - -static inline void -SET_Color3b(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLbyte, GLbyte, GLbyte)) -{ - SET_by_offset(disp, _gloffset_Color3b, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3bv) (const GLbyte *); - -#define CALL_Color3bv(disp, parameters) \ - (* GET_Color3bv(disp)) parameters -static inline _glptr_Color3bv -GET_Color3bv(struct _glapi_table *disp) -{ - return (_glptr_Color3bv) (GET_by_offset(disp, _gloffset_Color3bv)); -} - -static inline void -SET_Color3bv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLbyte *)) -{ - SET_by_offset(disp, _gloffset_Color3bv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3d) (GLdouble, GLdouble, GLdouble); - -#define CALL_Color3d(disp, parameters) \ - (* GET_Color3d(disp)) parameters -static inline _glptr_Color3d -GET_Color3d(struct _glapi_table *disp) -{ - return (_glptr_Color3d) (GET_by_offset(disp, _gloffset_Color3d)); -} - -static inline void -SET_Color3d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Color3d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3dv) (const GLdouble *); - -#define CALL_Color3dv(disp, parameters) \ - (* GET_Color3dv(disp)) parameters -static inline _glptr_Color3dv -GET_Color3dv(struct _glapi_table *disp) -{ - return (_glptr_Color3dv) (GET_by_offset(disp, _gloffset_Color3dv)); -} - -static inline void -SET_Color3dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Color3dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3f) (GLfloat, GLfloat, GLfloat); - -#define CALL_Color3f(disp, parameters) \ - (* GET_Color3f(disp)) parameters -static inline _glptr_Color3f -GET_Color3f(struct _glapi_table *disp) -{ - return (_glptr_Color3f) (GET_by_offset(disp, _gloffset_Color3f)); -} - -static inline void -SET_Color3f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Color3f, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3fv) (const GLfloat *); - -#define CALL_Color3fv(disp, parameters) \ - (* GET_Color3fv(disp)) parameters -static inline _glptr_Color3fv -GET_Color3fv(struct _glapi_table *disp) -{ - return (_glptr_Color3fv) (GET_by_offset(disp, _gloffset_Color3fv)); -} - -static inline void -SET_Color3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Color3fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3i) (GLint, GLint, GLint); - -#define CALL_Color3i(disp, parameters) \ - (* GET_Color3i(disp)) parameters -static inline _glptr_Color3i -GET_Color3i(struct _glapi_table *disp) -{ - return (_glptr_Color3i) (GET_by_offset(disp, _gloffset_Color3i)); -} - -static inline void -SET_Color3i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Color3i, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3iv) (const GLint *); - -#define CALL_Color3iv(disp, parameters) \ - (* GET_Color3iv(disp)) parameters -static inline _glptr_Color3iv -GET_Color3iv(struct _glapi_table *disp) -{ - return (_glptr_Color3iv) (GET_by_offset(disp, _gloffset_Color3iv)); -} - -static inline void -SET_Color3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_Color3iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3s) (GLshort, GLshort, GLshort); - -#define CALL_Color3s(disp, parameters) \ - (* GET_Color3s(disp)) parameters -static inline _glptr_Color3s -GET_Color3s(struct _glapi_table *disp) -{ - return (_glptr_Color3s) (GET_by_offset(disp, _gloffset_Color3s)); -} - -static inline void -SET_Color3s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_Color3s, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3sv) (const GLshort *); - -#define CALL_Color3sv(disp, parameters) \ - (* GET_Color3sv(disp)) parameters -static inline _glptr_Color3sv -GET_Color3sv(struct _glapi_table *disp) -{ - return (_glptr_Color3sv) (GET_by_offset(disp, _gloffset_Color3sv)); -} - -static inline void -SET_Color3sv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Color3sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3ub) (GLubyte, GLubyte, GLubyte); - -#define CALL_Color3ub(disp, parameters) \ - (* GET_Color3ub(disp)) parameters -static inline _glptr_Color3ub -GET_Color3ub(struct _glapi_table *disp) -{ - return (_glptr_Color3ub) (GET_by_offset(disp, _gloffset_Color3ub)); -} - -static inline void -SET_Color3ub(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLubyte, GLubyte, GLubyte)) -{ - SET_by_offset(disp, _gloffset_Color3ub, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3ubv) (const GLubyte *); - -#define CALL_Color3ubv(disp, parameters) \ - (* GET_Color3ubv(disp)) parameters -static inline _glptr_Color3ubv -GET_Color3ubv(struct _glapi_table *disp) -{ - return (_glptr_Color3ubv) (GET_by_offset(disp, _gloffset_Color3ubv)); -} - -static inline void -SET_Color3ubv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_Color3ubv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3ui) (GLuint, GLuint, GLuint); - -#define CALL_Color3ui(disp, parameters) \ - (* GET_Color3ui(disp)) parameters -static inline _glptr_Color3ui -GET_Color3ui(struct _glapi_table *disp) -{ - return (_glptr_Color3ui) (GET_by_offset(disp, _gloffset_Color3ui)); -} - -static inline void -SET_Color3ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_Color3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3uiv) (const GLuint *); - -#define CALL_Color3uiv(disp, parameters) \ - (* GET_Color3uiv(disp)) parameters -static inline _glptr_Color3uiv -GET_Color3uiv(struct _glapi_table *disp) -{ - return (_glptr_Color3uiv) (GET_by_offset(disp, _gloffset_Color3uiv)); -} - -static inline void -SET_Color3uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLuint *)) -{ - SET_by_offset(disp, _gloffset_Color3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3us) (GLushort, GLushort, GLushort); - -#define CALL_Color3us(disp, parameters) \ - (* GET_Color3us(disp)) parameters -static inline _glptr_Color3us -GET_Color3us(struct _glapi_table *disp) -{ - return (_glptr_Color3us) (GET_by_offset(disp, _gloffset_Color3us)); -} - -static inline void -SET_Color3us(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLushort, GLushort, GLushort)) -{ - SET_by_offset(disp, _gloffset_Color3us, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color3usv) (const GLushort *); - -#define CALL_Color3usv(disp, parameters) \ - (* GET_Color3usv(disp)) parameters -static inline _glptr_Color3usv -GET_Color3usv(struct _glapi_table *disp) -{ - return (_glptr_Color3usv) (GET_by_offset(disp, _gloffset_Color3usv)); -} - -static inline void -SET_Color3usv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLushort *)) -{ - SET_by_offset(disp, _gloffset_Color3usv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4b) (GLbyte, GLbyte, GLbyte, GLbyte); - -#define CALL_Color4b(disp, parameters) \ - (* GET_Color4b(disp)) parameters -static inline _glptr_Color4b -GET_Color4b(struct _glapi_table *disp) -{ - return (_glptr_Color4b) (GET_by_offset(disp, _gloffset_Color4b)); -} - -static inline void -SET_Color4b(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLbyte, GLbyte, GLbyte, GLbyte)) -{ - SET_by_offset(disp, _gloffset_Color4b, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4bv) (const GLbyte *); - -#define CALL_Color4bv(disp, parameters) \ - (* GET_Color4bv(disp)) parameters -static inline _glptr_Color4bv -GET_Color4bv(struct _glapi_table *disp) -{ - return (_glptr_Color4bv) (GET_by_offset(disp, _gloffset_Color4bv)); -} - -static inline void -SET_Color4bv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLbyte *)) -{ - SET_by_offset(disp, _gloffset_Color4bv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4d) (GLdouble, GLdouble, GLdouble, - GLdouble); -#define CALL_Color4d(disp, parameters) \ - (* GET_Color4d(disp)) parameters -static inline _glptr_Color4d -GET_Color4d(struct _glapi_table *disp) -{ - return (_glptr_Color4d) (GET_by_offset(disp, _gloffset_Color4d)); -} - -static inline void -SET_Color4d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Color4d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4dv) (const GLdouble *); - -#define CALL_Color4dv(disp, parameters) \ - (* GET_Color4dv(disp)) parameters -static inline _glptr_Color4dv -GET_Color4dv(struct _glapi_table *disp) -{ - return (_glptr_Color4dv) (GET_by_offset(disp, _gloffset_Color4dv)); -} - -static inline void -SET_Color4dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Color4dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4f) (GLfloat, GLfloat, GLfloat, GLfloat); - -#define CALL_Color4f(disp, parameters) \ - (* GET_Color4f(disp)) parameters -static inline _glptr_Color4f -GET_Color4f(struct _glapi_table *disp) -{ - return (_glptr_Color4f) (GET_by_offset(disp, _gloffset_Color4f)); -} - -static inline void -SET_Color4f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Color4f, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4fv) (const GLfloat *); - -#define CALL_Color4fv(disp, parameters) \ - (* GET_Color4fv(disp)) parameters -static inline _glptr_Color4fv -GET_Color4fv(struct _glapi_table *disp) -{ - return (_glptr_Color4fv) (GET_by_offset(disp, _gloffset_Color4fv)); -} - -static inline void -SET_Color4fv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Color4fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4i) (GLint, GLint, GLint, GLint); - -#define CALL_Color4i(disp, parameters) \ - (* GET_Color4i(disp)) parameters -static inline _glptr_Color4i -GET_Color4i(struct _glapi_table *disp) -{ - return (_glptr_Color4i) (GET_by_offset(disp, _gloffset_Color4i)); -} - -static inline void -SET_Color4i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Color4i, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4iv) (const GLint *); - -#define CALL_Color4iv(disp, parameters) \ - (* GET_Color4iv(disp)) parameters -static inline _glptr_Color4iv -GET_Color4iv(struct _glapi_table *disp) -{ - return (_glptr_Color4iv) (GET_by_offset(disp, _gloffset_Color4iv)); -} - -static inline void -SET_Color4iv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_Color4iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4s) (GLshort, GLshort, GLshort, GLshort); - -#define CALL_Color4s(disp, parameters) \ - (* GET_Color4s(disp)) parameters -static inline _glptr_Color4s -GET_Color4s(struct _glapi_table *disp) -{ - return (_glptr_Color4s) (GET_by_offset(disp, _gloffset_Color4s)); -} - -static inline void -SET_Color4s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_Color4s, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4sv) (const GLshort *); - -#define CALL_Color4sv(disp, parameters) \ - (* GET_Color4sv(disp)) parameters -static inline _glptr_Color4sv -GET_Color4sv(struct _glapi_table *disp) -{ - return (_glptr_Color4sv) (GET_by_offset(disp, _gloffset_Color4sv)); -} - -static inline void -SET_Color4sv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Color4sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4ub) (GLubyte, GLubyte, GLubyte, GLubyte); - -#define CALL_Color4ub(disp, parameters) \ - (* GET_Color4ub(disp)) parameters -static inline _glptr_Color4ub -GET_Color4ub(struct _glapi_table *disp) -{ - return (_glptr_Color4ub) (GET_by_offset(disp, _gloffset_Color4ub)); -} - -static inline void -SET_Color4ub(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLubyte, GLubyte, GLubyte, GLubyte)) -{ - SET_by_offset(disp, _gloffset_Color4ub, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4ubv) (const GLubyte *); - -#define CALL_Color4ubv(disp, parameters) \ - (* GET_Color4ubv(disp)) parameters -static inline _glptr_Color4ubv -GET_Color4ubv(struct _glapi_table *disp) -{ - return (_glptr_Color4ubv) (GET_by_offset(disp, _gloffset_Color4ubv)); -} - -static inline void -SET_Color4ubv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_Color4ubv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4ui) (GLuint, GLuint, GLuint, GLuint); - -#define CALL_Color4ui(disp, parameters) \ - (* GET_Color4ui(disp)) parameters -static inline _glptr_Color4ui -GET_Color4ui(struct _glapi_table *disp) -{ - return (_glptr_Color4ui) (GET_by_offset(disp, _gloffset_Color4ui)); -} - -static inline void -SET_Color4ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_Color4ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4uiv) (const GLuint *); - -#define CALL_Color4uiv(disp, parameters) \ - (* GET_Color4uiv(disp)) parameters -static inline _glptr_Color4uiv -GET_Color4uiv(struct _glapi_table *disp) -{ - return (_glptr_Color4uiv) (GET_by_offset(disp, _gloffset_Color4uiv)); -} - -static inline void -SET_Color4uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLuint *)) -{ - SET_by_offset(disp, _gloffset_Color4uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4us) (GLushort, GLushort, GLushort, - GLushort); -#define CALL_Color4us(disp, parameters) \ - (* GET_Color4us(disp)) parameters -static inline _glptr_Color4us -GET_Color4us(struct _glapi_table *disp) -{ - return (_glptr_Color4us) (GET_by_offset(disp, _gloffset_Color4us)); -} - -static inline void -SET_Color4us(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLushort, GLushort, GLushort, GLushort)) -{ - SET_by_offset(disp, _gloffset_Color4us, fn); -} - -typedef void (GLAPIENTRYP _glptr_Color4usv) (const GLushort *); - -#define CALL_Color4usv(disp, parameters) \ - (* GET_Color4usv(disp)) parameters -static inline _glptr_Color4usv -GET_Color4usv(struct _glapi_table *disp) -{ - return (_glptr_Color4usv) (GET_by_offset(disp, _gloffset_Color4usv)); -} - -static inline void -SET_Color4usv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLushort *)) -{ - SET_by_offset(disp, _gloffset_Color4usv, fn); -} - -typedef void (GLAPIENTRYP _glptr_EdgeFlag) (GLboolean); - -#define CALL_EdgeFlag(disp, parameters) \ - (* GET_EdgeFlag(disp)) parameters -static inline _glptr_EdgeFlag -GET_EdgeFlag(struct _glapi_table *disp) -{ - return (_glptr_EdgeFlag) (GET_by_offset(disp, _gloffset_EdgeFlag)); -} - -static inline void -SET_EdgeFlag(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLboolean)) -{ - SET_by_offset(disp, _gloffset_EdgeFlag, fn); -} - -typedef void (GLAPIENTRYP _glptr_EdgeFlagv) (const GLboolean *); - -#define CALL_EdgeFlagv(disp, parameters) \ - (* GET_EdgeFlagv(disp)) parameters -static inline _glptr_EdgeFlagv -GET_EdgeFlagv(struct _glapi_table *disp) -{ - return (_glptr_EdgeFlagv) (GET_by_offset(disp, _gloffset_EdgeFlagv)); -} - -static inline void -SET_EdgeFlagv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLboolean *)) -{ - SET_by_offset(disp, _gloffset_EdgeFlagv, fn); -} - -typedef void (GLAPIENTRYP _glptr_End) (void); - -#define CALL_End(disp, parameters) \ - (* GET_End(disp)) parameters -static inline _glptr_End -GET_End(struct _glapi_table *disp) -{ - return (_glptr_End) (GET_by_offset(disp, _gloffset_End)); -} - -static inline void -SET_End(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_End, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexd) (GLdouble); - -#define CALL_Indexd(disp, parameters) \ - (* GET_Indexd(disp)) parameters -static inline _glptr_Indexd -GET_Indexd(struct _glapi_table *disp) -{ - return (_glptr_Indexd) (GET_by_offset(disp, _gloffset_Indexd)); -} - -static inline void -SET_Indexd(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLdouble)) -{ - SET_by_offset(disp, _gloffset_Indexd, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexdv) (const GLdouble *); - -#define CALL_Indexdv(disp, parameters) \ - (* GET_Indexdv(disp)) parameters -static inline _glptr_Indexdv -GET_Indexdv(struct _glapi_table *disp) -{ - return (_glptr_Indexdv) (GET_by_offset(disp, _gloffset_Indexdv)); -} - -static inline void -SET_Indexdv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Indexdv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexf) (GLfloat); - -#define CALL_Indexf(disp, parameters) \ - (* GET_Indexf(disp)) parameters -static inline _glptr_Indexf -GET_Indexf(struct _glapi_table *disp) -{ - return (_glptr_Indexf) (GET_by_offset(disp, _gloffset_Indexf)); -} - -static inline void -SET_Indexf(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_Indexf, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexfv) (const GLfloat *); - -#define CALL_Indexfv(disp, parameters) \ - (* GET_Indexfv(disp)) parameters -static inline _glptr_Indexfv -GET_Indexfv(struct _glapi_table *disp) -{ - return (_glptr_Indexfv) (GET_by_offset(disp, _gloffset_Indexfv)); -} - -static inline void -SET_Indexfv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Indexfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexi) (GLint); - -#define CALL_Indexi(disp, parameters) \ - (* GET_Indexi(disp)) parameters -static inline _glptr_Indexi -GET_Indexi(struct _glapi_table *disp) -{ - return (_glptr_Indexi) (GET_by_offset(disp, _gloffset_Indexi)); -} - -static inline void -SET_Indexi(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint)) -{ - SET_by_offset(disp, _gloffset_Indexi, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexiv) (const GLint *); - -#define CALL_Indexiv(disp, parameters) \ - (* GET_Indexiv(disp)) parameters -static inline _glptr_Indexiv -GET_Indexiv(struct _glapi_table *disp) -{ - return (_glptr_Indexiv) (GET_by_offset(disp, _gloffset_Indexiv)); -} - -static inline void -SET_Indexiv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_Indexiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexs) (GLshort); - -#define CALL_Indexs(disp, parameters) \ - (* GET_Indexs(disp)) parameters -static inline _glptr_Indexs -GET_Indexs(struct _glapi_table *disp) -{ - return (_glptr_Indexs) (GET_by_offset(disp, _gloffset_Indexs)); -} - -static inline void -SET_Indexs(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLshort)) -{ - SET_by_offset(disp, _gloffset_Indexs, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexsv) (const GLshort *); - -#define CALL_Indexsv(disp, parameters) \ - (* GET_Indexsv(disp)) parameters -static inline _glptr_Indexsv -GET_Indexsv(struct _glapi_table *disp) -{ - return (_glptr_Indexsv) (GET_by_offset(disp, _gloffset_Indexsv)); -} - -static inline void -SET_Indexsv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Indexsv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3b) (GLbyte, GLbyte, GLbyte); - -#define CALL_Normal3b(disp, parameters) \ - (* GET_Normal3b(disp)) parameters -static inline _glptr_Normal3b -GET_Normal3b(struct _glapi_table *disp) -{ - return (_glptr_Normal3b) (GET_by_offset(disp, _gloffset_Normal3b)); -} - -static inline void -SET_Normal3b(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLbyte, GLbyte, GLbyte)) -{ - SET_by_offset(disp, _gloffset_Normal3b, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3bv) (const GLbyte *); - -#define CALL_Normal3bv(disp, parameters) \ - (* GET_Normal3bv(disp)) parameters -static inline _glptr_Normal3bv -GET_Normal3bv(struct _glapi_table *disp) -{ - return (_glptr_Normal3bv) (GET_by_offset(disp, _gloffset_Normal3bv)); -} - -static inline void -SET_Normal3bv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLbyte *)) -{ - SET_by_offset(disp, _gloffset_Normal3bv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3d) (GLdouble, GLdouble, GLdouble); - -#define CALL_Normal3d(disp, parameters) \ - (* GET_Normal3d(disp)) parameters -static inline _glptr_Normal3d -GET_Normal3d(struct _glapi_table *disp) -{ - return (_glptr_Normal3d) (GET_by_offset(disp, _gloffset_Normal3d)); -} - -static inline void -SET_Normal3d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Normal3d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3dv) (const GLdouble *); - -#define CALL_Normal3dv(disp, parameters) \ - (* GET_Normal3dv(disp)) parameters -static inline _glptr_Normal3dv -GET_Normal3dv(struct _glapi_table *disp) -{ - return (_glptr_Normal3dv) (GET_by_offset(disp, _gloffset_Normal3dv)); -} - -static inline void -SET_Normal3dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Normal3dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3f) (GLfloat, GLfloat, GLfloat); - -#define CALL_Normal3f(disp, parameters) \ - (* GET_Normal3f(disp)) parameters -static inline _glptr_Normal3f -GET_Normal3f(struct _glapi_table *disp) -{ - return (_glptr_Normal3f) (GET_by_offset(disp, _gloffset_Normal3f)); -} - -static inline void -SET_Normal3f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Normal3f, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3fv) (const GLfloat *); - -#define CALL_Normal3fv(disp, parameters) \ - (* GET_Normal3fv(disp)) parameters -static inline _glptr_Normal3fv -GET_Normal3fv(struct _glapi_table *disp) -{ - return (_glptr_Normal3fv) (GET_by_offset(disp, _gloffset_Normal3fv)); -} - -static inline void -SET_Normal3fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Normal3fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3i) (GLint, GLint, GLint); - -#define CALL_Normal3i(disp, parameters) \ - (* GET_Normal3i(disp)) parameters -static inline _glptr_Normal3i -GET_Normal3i(struct _glapi_table *disp) -{ - return (_glptr_Normal3i) (GET_by_offset(disp, _gloffset_Normal3i)); -} - -static inline void -SET_Normal3i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Normal3i, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3iv) (const GLint *); - -#define CALL_Normal3iv(disp, parameters) \ - (* GET_Normal3iv(disp)) parameters -static inline _glptr_Normal3iv -GET_Normal3iv(struct _glapi_table *disp) -{ - return (_glptr_Normal3iv) (GET_by_offset(disp, _gloffset_Normal3iv)); -} - -static inline void -SET_Normal3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_Normal3iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3s) (GLshort, GLshort, GLshort); - -#define CALL_Normal3s(disp, parameters) \ - (* GET_Normal3s(disp)) parameters -static inline _glptr_Normal3s -GET_Normal3s(struct _glapi_table *disp) -{ - return (_glptr_Normal3s) (GET_by_offset(disp, _gloffset_Normal3s)); -} - -static inline void -SET_Normal3s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_Normal3s, fn); -} - -typedef void (GLAPIENTRYP _glptr_Normal3sv) (const GLshort *); - -#define CALL_Normal3sv(disp, parameters) \ - (* GET_Normal3sv(disp)) parameters -static inline _glptr_Normal3sv -GET_Normal3sv(struct _glapi_table *disp) -{ - return (_glptr_Normal3sv) (GET_by_offset(disp, _gloffset_Normal3sv)); -} - -static inline void -SET_Normal3sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Normal3sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2d) (GLdouble, GLdouble); - -#define CALL_RasterPos2d(disp, parameters) \ - (* GET_RasterPos2d(disp)) parameters -static inline _glptr_RasterPos2d -GET_RasterPos2d(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2d) (GET_by_offset(disp, _gloffset_RasterPos2d)); -} - -static inline void -SET_RasterPos2d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_RasterPos2d, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2dv) (const GLdouble *); - -#define CALL_RasterPos2dv(disp, parameters) \ - (* GET_RasterPos2dv(disp)) parameters -static inline _glptr_RasterPos2dv -GET_RasterPos2dv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2dv) (GET_by_offset(disp, _gloffset_RasterPos2dv)); -} - -static inline void -SET_RasterPos2dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_RasterPos2dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2f) (GLfloat, GLfloat); - -#define CALL_RasterPos2f(disp, parameters) \ - (* GET_RasterPos2f(disp)) parameters -static inline _glptr_RasterPos2f -GET_RasterPos2f(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2f) (GET_by_offset(disp, _gloffset_RasterPos2f)); -} - -static inline void -SET_RasterPos2f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_RasterPos2f, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2fv) (const GLfloat *); - -#define CALL_RasterPos2fv(disp, parameters) \ - (* GET_RasterPos2fv(disp)) parameters -static inline _glptr_RasterPos2fv -GET_RasterPos2fv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2fv) (GET_by_offset(disp, _gloffset_RasterPos2fv)); -} - -static inline void -SET_RasterPos2fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_RasterPos2fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2i) (GLint, GLint); - -#define CALL_RasterPos2i(disp, parameters) \ - (* GET_RasterPos2i(disp)) parameters -static inline _glptr_RasterPos2i -GET_RasterPos2i(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2i) (GET_by_offset(disp, _gloffset_RasterPos2i)); -} - -static inline void -SET_RasterPos2i(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_RasterPos2i, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2iv) (const GLint *); - -#define CALL_RasterPos2iv(disp, parameters) \ - (* GET_RasterPos2iv(disp)) parameters -static inline _glptr_RasterPos2iv -GET_RasterPos2iv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2iv) (GET_by_offset(disp, _gloffset_RasterPos2iv)); -} - -static inline void -SET_RasterPos2iv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_RasterPos2iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2s) (GLshort, GLshort); - -#define CALL_RasterPos2s(disp, parameters) \ - (* GET_RasterPos2s(disp)) parameters -static inline _glptr_RasterPos2s -GET_RasterPos2s(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2s) (GET_by_offset(disp, _gloffset_RasterPos2s)); -} - -static inline void -SET_RasterPos2s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_RasterPos2s, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos2sv) (const GLshort *); - -#define CALL_RasterPos2sv(disp, parameters) \ - (* GET_RasterPos2sv(disp)) parameters -static inline _glptr_RasterPos2sv -GET_RasterPos2sv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos2sv) (GET_by_offset(disp, _gloffset_RasterPos2sv)); -} - -static inline void -SET_RasterPos2sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_RasterPos2sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3d) (GLdouble, GLdouble, GLdouble); - -#define CALL_RasterPos3d(disp, parameters) \ - (* GET_RasterPos3d(disp)) parameters -static inline _glptr_RasterPos3d -GET_RasterPos3d(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3d) (GET_by_offset(disp, _gloffset_RasterPos3d)); -} - -static inline void -SET_RasterPos3d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_RasterPos3d, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3dv) (const GLdouble *); - -#define CALL_RasterPos3dv(disp, parameters) \ - (* GET_RasterPos3dv(disp)) parameters -static inline _glptr_RasterPos3dv -GET_RasterPos3dv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3dv) (GET_by_offset(disp, _gloffset_RasterPos3dv)); -} - -static inline void -SET_RasterPos3dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_RasterPos3dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3f) (GLfloat, GLfloat, GLfloat); - -#define CALL_RasterPos3f(disp, parameters) \ - (* GET_RasterPos3f(disp)) parameters -static inline _glptr_RasterPos3f -GET_RasterPos3f(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3f) (GET_by_offset(disp, _gloffset_RasterPos3f)); -} - -static inline void -SET_RasterPos3f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_RasterPos3f, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3fv) (const GLfloat *); - -#define CALL_RasterPos3fv(disp, parameters) \ - (* GET_RasterPos3fv(disp)) parameters -static inline _glptr_RasterPos3fv -GET_RasterPos3fv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3fv) (GET_by_offset(disp, _gloffset_RasterPos3fv)); -} - -static inline void -SET_RasterPos3fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_RasterPos3fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3i) (GLint, GLint, GLint); - -#define CALL_RasterPos3i(disp, parameters) \ - (* GET_RasterPos3i(disp)) parameters -static inline _glptr_RasterPos3i -GET_RasterPos3i(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3i) (GET_by_offset(disp, _gloffset_RasterPos3i)); -} - -static inline void -SET_RasterPos3i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_RasterPos3i, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3iv) (const GLint *); - -#define CALL_RasterPos3iv(disp, parameters) \ - (* GET_RasterPos3iv(disp)) parameters -static inline _glptr_RasterPos3iv -GET_RasterPos3iv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3iv) (GET_by_offset(disp, _gloffset_RasterPos3iv)); -} - -static inline void -SET_RasterPos3iv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_RasterPos3iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3s) (GLshort, GLshort, GLshort); - -#define CALL_RasterPos3s(disp, parameters) \ - (* GET_RasterPos3s(disp)) parameters -static inline _glptr_RasterPos3s -GET_RasterPos3s(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3s) (GET_by_offset(disp, _gloffset_RasterPos3s)); -} - -static inline void -SET_RasterPos3s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_RasterPos3s, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos3sv) (const GLshort *); - -#define CALL_RasterPos3sv(disp, parameters) \ - (* GET_RasterPos3sv(disp)) parameters -static inline _glptr_RasterPos3sv -GET_RasterPos3sv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos3sv) (GET_by_offset(disp, _gloffset_RasterPos3sv)); -} - -static inline void -SET_RasterPos3sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_RasterPos3sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4d) (GLdouble, GLdouble, GLdouble, - GLdouble); -#define CALL_RasterPos4d(disp, parameters) \ - (* GET_RasterPos4d(disp)) parameters -static inline _glptr_RasterPos4d -GET_RasterPos4d(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4d) (GET_by_offset(disp, _gloffset_RasterPos4d)); -} - -static inline void -SET_RasterPos4d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_RasterPos4d, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4dv) (const GLdouble *); - -#define CALL_RasterPos4dv(disp, parameters) \ - (* GET_RasterPos4dv(disp)) parameters -static inline _glptr_RasterPos4dv -GET_RasterPos4dv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4dv) (GET_by_offset(disp, _gloffset_RasterPos4dv)); -} - -static inline void -SET_RasterPos4dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_RasterPos4dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4f) (GLfloat, GLfloat, GLfloat, - GLfloat); -#define CALL_RasterPos4f(disp, parameters) \ - (* GET_RasterPos4f(disp)) parameters -static inline _glptr_RasterPos4f -GET_RasterPos4f(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4f) (GET_by_offset(disp, _gloffset_RasterPos4f)); -} - -static inline void -SET_RasterPos4f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_RasterPos4f, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4fv) (const GLfloat *); - -#define CALL_RasterPos4fv(disp, parameters) \ - (* GET_RasterPos4fv(disp)) parameters -static inline _glptr_RasterPos4fv -GET_RasterPos4fv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4fv) (GET_by_offset(disp, _gloffset_RasterPos4fv)); -} - -static inline void -SET_RasterPos4fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_RasterPos4fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4i) (GLint, GLint, GLint, GLint); - -#define CALL_RasterPos4i(disp, parameters) \ - (* GET_RasterPos4i(disp)) parameters -static inline _glptr_RasterPos4i -GET_RasterPos4i(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4i) (GET_by_offset(disp, _gloffset_RasterPos4i)); -} - -static inline void -SET_RasterPos4i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_RasterPos4i, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4iv) (const GLint *); - -#define CALL_RasterPos4iv(disp, parameters) \ - (* GET_RasterPos4iv(disp)) parameters -static inline _glptr_RasterPos4iv -GET_RasterPos4iv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4iv) (GET_by_offset(disp, _gloffset_RasterPos4iv)); -} - -static inline void -SET_RasterPos4iv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_RasterPos4iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4s) (GLshort, GLshort, GLshort, - GLshort); -#define CALL_RasterPos4s(disp, parameters) \ - (* GET_RasterPos4s(disp)) parameters -static inline _glptr_RasterPos4s -GET_RasterPos4s(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4s) (GET_by_offset(disp, _gloffset_RasterPos4s)); -} - -static inline void -SET_RasterPos4s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_RasterPos4s, fn); -} - -typedef void (GLAPIENTRYP _glptr_RasterPos4sv) (const GLshort *); - -#define CALL_RasterPos4sv(disp, parameters) \ - (* GET_RasterPos4sv(disp)) parameters -static inline _glptr_RasterPos4sv -GET_RasterPos4sv(struct _glapi_table *disp) -{ - return (_glptr_RasterPos4sv) (GET_by_offset(disp, _gloffset_RasterPos4sv)); -} - -static inline void -SET_RasterPos4sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_RasterPos4sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rectd) (GLdouble, GLdouble, GLdouble, - GLdouble); -#define CALL_Rectd(disp, parameters) \ - (* GET_Rectd(disp)) parameters -static inline _glptr_Rectd -GET_Rectd(struct _glapi_table *disp) -{ - return (_glptr_Rectd) (GET_by_offset(disp, _gloffset_Rectd)); -} - -static inline void -SET_Rectd(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Rectd, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rectdv) (const GLdouble *, const GLdouble *); - -#define CALL_Rectdv(disp, parameters) \ - (* GET_Rectdv(disp)) parameters -static inline _glptr_Rectdv -GET_Rectdv(struct _glapi_table *disp) -{ - return (_glptr_Rectdv) (GET_by_offset(disp, _gloffset_Rectdv)); -} - -static inline void -SET_Rectdv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Rectdv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rectf) (GLfloat, GLfloat, GLfloat, GLfloat); - -#define CALL_Rectf(disp, parameters) \ - (* GET_Rectf(disp)) parameters -static inline _glptr_Rectf -GET_Rectf(struct _glapi_table *disp) -{ - return (_glptr_Rectf) (GET_by_offset(disp, _gloffset_Rectf)); -} - -static inline void -SET_Rectf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Rectf, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rectfv) (const GLfloat *, const GLfloat *); - -#define CALL_Rectfv(disp, parameters) \ - (* GET_Rectfv(disp)) parameters -static inline _glptr_Rectfv -GET_Rectfv(struct _glapi_table *disp) -{ - return (_glptr_Rectfv) (GET_by_offset(disp, _gloffset_Rectfv)); -} - -static inline void -SET_Rectfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Rectfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Recti) (GLint, GLint, GLint, GLint); - -#define CALL_Recti(disp, parameters) \ - (* GET_Recti(disp)) parameters -static inline _glptr_Recti -GET_Recti(struct _glapi_table *disp) -{ - return (_glptr_Recti) (GET_by_offset(disp, _gloffset_Recti)); -} - -static inline void -SET_Recti(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Recti, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rectiv) (const GLint *, const GLint *); - -#define CALL_Rectiv(disp, parameters) \ - (* GET_Rectiv(disp)) parameters -static inline _glptr_Rectiv -GET_Rectiv(struct _glapi_table *disp) -{ - return (_glptr_Rectiv) (GET_by_offset(disp, _gloffset_Rectiv)); -} - -static inline void -SET_Rectiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Rectiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rects) (GLshort, GLshort, GLshort, GLshort); - -#define CALL_Rects(disp, parameters) \ - (* GET_Rects(disp)) parameters -static inline _glptr_Rects -GET_Rects(struct _glapi_table *disp) -{ - return (_glptr_Rects) (GET_by_offset(disp, _gloffset_Rects)); -} - -static inline void -SET_Rects(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_Rects, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rectsv) (const GLshort *, const GLshort *); - -#define CALL_Rectsv(disp, parameters) \ - (* GET_Rectsv(disp)) parameters -static inline _glptr_Rectsv -GET_Rectsv(struct _glapi_table *disp) -{ - return (_glptr_Rectsv) (GET_by_offset(disp, _gloffset_Rectsv)); -} - -static inline void -SET_Rectsv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Rectsv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1d) (GLdouble); - -#define CALL_TexCoord1d(disp, parameters) \ - (* GET_TexCoord1d(disp)) parameters -static inline _glptr_TexCoord1d -GET_TexCoord1d(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1d) (GET_by_offset(disp, _gloffset_TexCoord1d)); -} - -static inline void -SET_TexCoord1d(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLdouble)) -{ - SET_by_offset(disp, _gloffset_TexCoord1d, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1dv) (const GLdouble *); - -#define CALL_TexCoord1dv(disp, parameters) \ - (* GET_TexCoord1dv(disp)) parameters -static inline _glptr_TexCoord1dv -GET_TexCoord1dv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1dv) (GET_by_offset(disp, _gloffset_TexCoord1dv)); -} - -static inline void -SET_TexCoord1dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_TexCoord1dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1f) (GLfloat); - -#define CALL_TexCoord1f(disp, parameters) \ - (* GET_TexCoord1f(disp)) parameters -static inline _glptr_TexCoord1f -GET_TexCoord1f(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1f) (GET_by_offset(disp, _gloffset_TexCoord1f)); -} - -static inline void -SET_TexCoord1f(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_TexCoord1f, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1fv) (const GLfloat *); - -#define CALL_TexCoord1fv(disp, parameters) \ - (* GET_TexCoord1fv(disp)) parameters -static inline _glptr_TexCoord1fv -GET_TexCoord1fv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1fv) (GET_by_offset(disp, _gloffset_TexCoord1fv)); -} - -static inline void -SET_TexCoord1fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexCoord1fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1i) (GLint); - -#define CALL_TexCoord1i(disp, parameters) \ - (* GET_TexCoord1i(disp)) parameters -static inline _glptr_TexCoord1i -GET_TexCoord1i(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1i) (GET_by_offset(disp, _gloffset_TexCoord1i)); -} - -static inline void -SET_TexCoord1i(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint)) -{ - SET_by_offset(disp, _gloffset_TexCoord1i, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1iv) (const GLint *); - -#define CALL_TexCoord1iv(disp, parameters) \ - (* GET_TexCoord1iv(disp)) parameters -static inline _glptr_TexCoord1iv -GET_TexCoord1iv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1iv) (GET_by_offset(disp, _gloffset_TexCoord1iv)); -} - -static inline void -SET_TexCoord1iv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexCoord1iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1s) (GLshort); - -#define CALL_TexCoord1s(disp, parameters) \ - (* GET_TexCoord1s(disp)) parameters -static inline _glptr_TexCoord1s -GET_TexCoord1s(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1s) (GET_by_offset(disp, _gloffset_TexCoord1s)); -} - -static inline void -SET_TexCoord1s(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLshort)) -{ - SET_by_offset(disp, _gloffset_TexCoord1s, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord1sv) (const GLshort *); - -#define CALL_TexCoord1sv(disp, parameters) \ - (* GET_TexCoord1sv(disp)) parameters -static inline _glptr_TexCoord1sv -GET_TexCoord1sv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord1sv) (GET_by_offset(disp, _gloffset_TexCoord1sv)); -} - -static inline void -SET_TexCoord1sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_TexCoord1sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2d) (GLdouble, GLdouble); - -#define CALL_TexCoord2d(disp, parameters) \ - (* GET_TexCoord2d(disp)) parameters -static inline _glptr_TexCoord2d -GET_TexCoord2d(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2d) (GET_by_offset(disp, _gloffset_TexCoord2d)); -} - -static inline void -SET_TexCoord2d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_TexCoord2d, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2dv) (const GLdouble *); - -#define CALL_TexCoord2dv(disp, parameters) \ - (* GET_TexCoord2dv(disp)) parameters -static inline _glptr_TexCoord2dv -GET_TexCoord2dv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2dv) (GET_by_offset(disp, _gloffset_TexCoord2dv)); -} - -static inline void -SET_TexCoord2dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_TexCoord2dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2f) (GLfloat, GLfloat); - -#define CALL_TexCoord2f(disp, parameters) \ - (* GET_TexCoord2f(disp)) parameters -static inline _glptr_TexCoord2f -GET_TexCoord2f(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2f) (GET_by_offset(disp, _gloffset_TexCoord2f)); -} - -static inline void -SET_TexCoord2f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_TexCoord2f, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2fv) (const GLfloat *); - -#define CALL_TexCoord2fv(disp, parameters) \ - (* GET_TexCoord2fv(disp)) parameters -static inline _glptr_TexCoord2fv -GET_TexCoord2fv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2fv) (GET_by_offset(disp, _gloffset_TexCoord2fv)); -} - -static inline void -SET_TexCoord2fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexCoord2fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2i) (GLint, GLint); - -#define CALL_TexCoord2i(disp, parameters) \ - (* GET_TexCoord2i(disp)) parameters -static inline _glptr_TexCoord2i -GET_TexCoord2i(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2i) (GET_by_offset(disp, _gloffset_TexCoord2i)); -} - -static inline void -SET_TexCoord2i(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_TexCoord2i, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2iv) (const GLint *); - -#define CALL_TexCoord2iv(disp, parameters) \ - (* GET_TexCoord2iv(disp)) parameters -static inline _glptr_TexCoord2iv -GET_TexCoord2iv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2iv) (GET_by_offset(disp, _gloffset_TexCoord2iv)); -} - -static inline void -SET_TexCoord2iv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexCoord2iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2s) (GLshort, GLshort); - -#define CALL_TexCoord2s(disp, parameters) \ - (* GET_TexCoord2s(disp)) parameters -static inline _glptr_TexCoord2s -GET_TexCoord2s(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2s) (GET_by_offset(disp, _gloffset_TexCoord2s)); -} - -static inline void -SET_TexCoord2s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_TexCoord2s, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord2sv) (const GLshort *); - -#define CALL_TexCoord2sv(disp, parameters) \ - (* GET_TexCoord2sv(disp)) parameters -static inline _glptr_TexCoord2sv -GET_TexCoord2sv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord2sv) (GET_by_offset(disp, _gloffset_TexCoord2sv)); -} - -static inline void -SET_TexCoord2sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_TexCoord2sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3d) (GLdouble, GLdouble, GLdouble); - -#define CALL_TexCoord3d(disp, parameters) \ - (* GET_TexCoord3d(disp)) parameters -static inline _glptr_TexCoord3d -GET_TexCoord3d(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3d) (GET_by_offset(disp, _gloffset_TexCoord3d)); -} - -static inline void -SET_TexCoord3d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_TexCoord3d, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3dv) (const GLdouble *); - -#define CALL_TexCoord3dv(disp, parameters) \ - (* GET_TexCoord3dv(disp)) parameters -static inline _glptr_TexCoord3dv -GET_TexCoord3dv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3dv) (GET_by_offset(disp, _gloffset_TexCoord3dv)); -} - -static inline void -SET_TexCoord3dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_TexCoord3dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3f) (GLfloat, GLfloat, GLfloat); - -#define CALL_TexCoord3f(disp, parameters) \ - (* GET_TexCoord3f(disp)) parameters -static inline _glptr_TexCoord3f -GET_TexCoord3f(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3f) (GET_by_offset(disp, _gloffset_TexCoord3f)); -} - -static inline void -SET_TexCoord3f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_TexCoord3f, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3fv) (const GLfloat *); - -#define CALL_TexCoord3fv(disp, parameters) \ - (* GET_TexCoord3fv(disp)) parameters -static inline _glptr_TexCoord3fv -GET_TexCoord3fv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3fv) (GET_by_offset(disp, _gloffset_TexCoord3fv)); -} - -static inline void -SET_TexCoord3fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexCoord3fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3i) (GLint, GLint, GLint); - -#define CALL_TexCoord3i(disp, parameters) \ - (* GET_TexCoord3i(disp)) parameters -static inline _glptr_TexCoord3i -GET_TexCoord3i(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3i) (GET_by_offset(disp, _gloffset_TexCoord3i)); -} - -static inline void -SET_TexCoord3i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_TexCoord3i, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3iv) (const GLint *); - -#define CALL_TexCoord3iv(disp, parameters) \ - (* GET_TexCoord3iv(disp)) parameters -static inline _glptr_TexCoord3iv -GET_TexCoord3iv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3iv) (GET_by_offset(disp, _gloffset_TexCoord3iv)); -} - -static inline void -SET_TexCoord3iv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexCoord3iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3s) (GLshort, GLshort, GLshort); - -#define CALL_TexCoord3s(disp, parameters) \ - (* GET_TexCoord3s(disp)) parameters -static inline _glptr_TexCoord3s -GET_TexCoord3s(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3s) (GET_by_offset(disp, _gloffset_TexCoord3s)); -} - -static inline void -SET_TexCoord3s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_TexCoord3s, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord3sv) (const GLshort *); - -#define CALL_TexCoord3sv(disp, parameters) \ - (* GET_TexCoord3sv(disp)) parameters -static inline _glptr_TexCoord3sv -GET_TexCoord3sv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord3sv) (GET_by_offset(disp, _gloffset_TexCoord3sv)); -} - -static inline void -SET_TexCoord3sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_TexCoord3sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4d) (GLdouble, GLdouble, GLdouble, - GLdouble); -#define CALL_TexCoord4d(disp, parameters) \ - (* GET_TexCoord4d(disp)) parameters -static inline _glptr_TexCoord4d -GET_TexCoord4d(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4d) (GET_by_offset(disp, _gloffset_TexCoord4d)); -} - -static inline void -SET_TexCoord4d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_TexCoord4d, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4dv) (const GLdouble *); - -#define CALL_TexCoord4dv(disp, parameters) \ - (* GET_TexCoord4dv(disp)) parameters -static inline _glptr_TexCoord4dv -GET_TexCoord4dv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4dv) (GET_by_offset(disp, _gloffset_TexCoord4dv)); -} - -static inline void -SET_TexCoord4dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_TexCoord4dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4f) (GLfloat, GLfloat, GLfloat, - GLfloat); -#define CALL_TexCoord4f(disp, parameters) \ - (* GET_TexCoord4f(disp)) parameters -static inline _glptr_TexCoord4f -GET_TexCoord4f(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4f) (GET_by_offset(disp, _gloffset_TexCoord4f)); -} - -static inline void -SET_TexCoord4f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_TexCoord4f, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4fv) (const GLfloat *); - -#define CALL_TexCoord4fv(disp, parameters) \ - (* GET_TexCoord4fv(disp)) parameters -static inline _glptr_TexCoord4fv -GET_TexCoord4fv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4fv) (GET_by_offset(disp, _gloffset_TexCoord4fv)); -} - -static inline void -SET_TexCoord4fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexCoord4fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4i) (GLint, GLint, GLint, GLint); - -#define CALL_TexCoord4i(disp, parameters) \ - (* GET_TexCoord4i(disp)) parameters -static inline _glptr_TexCoord4i -GET_TexCoord4i(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4i) (GET_by_offset(disp, _gloffset_TexCoord4i)); -} - -static inline void -SET_TexCoord4i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_TexCoord4i, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4iv) (const GLint *); - -#define CALL_TexCoord4iv(disp, parameters) \ - (* GET_TexCoord4iv(disp)) parameters -static inline _glptr_TexCoord4iv -GET_TexCoord4iv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4iv) (GET_by_offset(disp, _gloffset_TexCoord4iv)); -} - -static inline void -SET_TexCoord4iv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexCoord4iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4s) (GLshort, GLshort, GLshort, - GLshort); -#define CALL_TexCoord4s(disp, parameters) \ - (* GET_TexCoord4s(disp)) parameters -static inline _glptr_TexCoord4s -GET_TexCoord4s(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4s) (GET_by_offset(disp, _gloffset_TexCoord4s)); -} - -static inline void -SET_TexCoord4s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_TexCoord4s, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoord4sv) (const GLshort *); - -#define CALL_TexCoord4sv(disp, parameters) \ - (* GET_TexCoord4sv(disp)) parameters -static inline _glptr_TexCoord4sv -GET_TexCoord4sv(struct _glapi_table *disp) -{ - return (_glptr_TexCoord4sv) (GET_by_offset(disp, _gloffset_TexCoord4sv)); -} - -static inline void -SET_TexCoord4sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_TexCoord4sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2d) (GLdouble, GLdouble); - -#define CALL_Vertex2d(disp, parameters) \ - (* GET_Vertex2d(disp)) parameters -static inline _glptr_Vertex2d -GET_Vertex2d(struct _glapi_table *disp) -{ - return (_glptr_Vertex2d) (GET_by_offset(disp, _gloffset_Vertex2d)); -} - -static inline void -SET_Vertex2d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Vertex2d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2dv) (const GLdouble *); - -#define CALL_Vertex2dv(disp, parameters) \ - (* GET_Vertex2dv(disp)) parameters -static inline _glptr_Vertex2dv -GET_Vertex2dv(struct _glapi_table *disp) -{ - return (_glptr_Vertex2dv) (GET_by_offset(disp, _gloffset_Vertex2dv)); -} - -static inline void -SET_Vertex2dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Vertex2dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2f) (GLfloat, GLfloat); - -#define CALL_Vertex2f(disp, parameters) \ - (* GET_Vertex2f(disp)) parameters -static inline _glptr_Vertex2f -GET_Vertex2f(struct _glapi_table *disp) -{ - return (_glptr_Vertex2f) (GET_by_offset(disp, _gloffset_Vertex2f)); -} - -static inline void -SET_Vertex2f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Vertex2f, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2fv) (const GLfloat *); - -#define CALL_Vertex2fv(disp, parameters) \ - (* GET_Vertex2fv(disp)) parameters -static inline _glptr_Vertex2fv -GET_Vertex2fv(struct _glapi_table *disp) -{ - return (_glptr_Vertex2fv) (GET_by_offset(disp, _gloffset_Vertex2fv)); -} - -static inline void -SET_Vertex2fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Vertex2fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2i) (GLint, GLint); - -#define CALL_Vertex2i(disp, parameters) \ - (* GET_Vertex2i(disp)) parameters -static inline _glptr_Vertex2i -GET_Vertex2i(struct _glapi_table *disp) -{ - return (_glptr_Vertex2i) (GET_by_offset(disp, _gloffset_Vertex2i)); -} - -static inline void -SET_Vertex2i(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Vertex2i, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2iv) (const GLint *); - -#define CALL_Vertex2iv(disp, parameters) \ - (* GET_Vertex2iv(disp)) parameters -static inline _glptr_Vertex2iv -GET_Vertex2iv(struct _glapi_table *disp) -{ - return (_glptr_Vertex2iv) (GET_by_offset(disp, _gloffset_Vertex2iv)); -} - -static inline void -SET_Vertex2iv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_Vertex2iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2s) (GLshort, GLshort); - -#define CALL_Vertex2s(disp, parameters) \ - (* GET_Vertex2s(disp)) parameters -static inline _glptr_Vertex2s -GET_Vertex2s(struct _glapi_table *disp) -{ - return (_glptr_Vertex2s) (GET_by_offset(disp, _gloffset_Vertex2s)); -} - -static inline void -SET_Vertex2s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_Vertex2s, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex2sv) (const GLshort *); - -#define CALL_Vertex2sv(disp, parameters) \ - (* GET_Vertex2sv(disp)) parameters -static inline _glptr_Vertex2sv -GET_Vertex2sv(struct _glapi_table *disp) -{ - return (_glptr_Vertex2sv) (GET_by_offset(disp, _gloffset_Vertex2sv)); -} - -static inline void -SET_Vertex2sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Vertex2sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3d) (GLdouble, GLdouble, GLdouble); - -#define CALL_Vertex3d(disp, parameters) \ - (* GET_Vertex3d(disp)) parameters -static inline _glptr_Vertex3d -GET_Vertex3d(struct _glapi_table *disp) -{ - return (_glptr_Vertex3d) (GET_by_offset(disp, _gloffset_Vertex3d)); -} - -static inline void -SET_Vertex3d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Vertex3d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3dv) (const GLdouble *); - -#define CALL_Vertex3dv(disp, parameters) \ - (* GET_Vertex3dv(disp)) parameters -static inline _glptr_Vertex3dv -GET_Vertex3dv(struct _glapi_table *disp) -{ - return (_glptr_Vertex3dv) (GET_by_offset(disp, _gloffset_Vertex3dv)); -} - -static inline void -SET_Vertex3dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Vertex3dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3f) (GLfloat, GLfloat, GLfloat); - -#define CALL_Vertex3f(disp, parameters) \ - (* GET_Vertex3f(disp)) parameters -static inline _glptr_Vertex3f -GET_Vertex3f(struct _glapi_table *disp) -{ - return (_glptr_Vertex3f) (GET_by_offset(disp, _gloffset_Vertex3f)); -} - -static inline void -SET_Vertex3f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Vertex3f, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3fv) (const GLfloat *); - -#define CALL_Vertex3fv(disp, parameters) \ - (* GET_Vertex3fv(disp)) parameters -static inline _glptr_Vertex3fv -GET_Vertex3fv(struct _glapi_table *disp) -{ - return (_glptr_Vertex3fv) (GET_by_offset(disp, _gloffset_Vertex3fv)); -} - -static inline void -SET_Vertex3fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Vertex3fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3i) (GLint, GLint, GLint); - -#define CALL_Vertex3i(disp, parameters) \ - (* GET_Vertex3i(disp)) parameters -static inline _glptr_Vertex3i -GET_Vertex3i(struct _glapi_table *disp) -{ - return (_glptr_Vertex3i) (GET_by_offset(disp, _gloffset_Vertex3i)); -} - -static inline void -SET_Vertex3i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Vertex3i, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3iv) (const GLint *); - -#define CALL_Vertex3iv(disp, parameters) \ - (* GET_Vertex3iv(disp)) parameters -static inline _glptr_Vertex3iv -GET_Vertex3iv(struct _glapi_table *disp) -{ - return (_glptr_Vertex3iv) (GET_by_offset(disp, _gloffset_Vertex3iv)); -} - -static inline void -SET_Vertex3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_Vertex3iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3s) (GLshort, GLshort, GLshort); - -#define CALL_Vertex3s(disp, parameters) \ - (* GET_Vertex3s(disp)) parameters -static inline _glptr_Vertex3s -GET_Vertex3s(struct _glapi_table *disp) -{ - return (_glptr_Vertex3s) (GET_by_offset(disp, _gloffset_Vertex3s)); -} - -static inline void -SET_Vertex3s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_Vertex3s, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex3sv) (const GLshort *); - -#define CALL_Vertex3sv(disp, parameters) \ - (* GET_Vertex3sv(disp)) parameters -static inline _glptr_Vertex3sv -GET_Vertex3sv(struct _glapi_table *disp) -{ - return (_glptr_Vertex3sv) (GET_by_offset(disp, _gloffset_Vertex3sv)); -} - -static inline void -SET_Vertex3sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Vertex3sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4d) (GLdouble, GLdouble, GLdouble, - GLdouble); -#define CALL_Vertex4d(disp, parameters) \ - (* GET_Vertex4d(disp)) parameters -static inline _glptr_Vertex4d -GET_Vertex4d(struct _glapi_table *disp) -{ - return (_glptr_Vertex4d) (GET_by_offset(disp, _gloffset_Vertex4d)); -} - -static inline void -SET_Vertex4d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Vertex4d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4dv) (const GLdouble *); - -#define CALL_Vertex4dv(disp, parameters) \ - (* GET_Vertex4dv(disp)) parameters -static inline _glptr_Vertex4dv -GET_Vertex4dv(struct _glapi_table *disp) -{ - return (_glptr_Vertex4dv) (GET_by_offset(disp, _gloffset_Vertex4dv)); -} - -static inline void -SET_Vertex4dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Vertex4dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4f) (GLfloat, GLfloat, GLfloat, GLfloat); - -#define CALL_Vertex4f(disp, parameters) \ - (* GET_Vertex4f(disp)) parameters -static inline _glptr_Vertex4f -GET_Vertex4f(struct _glapi_table *disp) -{ - return (_glptr_Vertex4f) (GET_by_offset(disp, _gloffset_Vertex4f)); -} - -static inline void -SET_Vertex4f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Vertex4f, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4fv) (const GLfloat *); - -#define CALL_Vertex4fv(disp, parameters) \ - (* GET_Vertex4fv(disp)) parameters -static inline _glptr_Vertex4fv -GET_Vertex4fv(struct _glapi_table *disp) -{ - return (_glptr_Vertex4fv) (GET_by_offset(disp, _gloffset_Vertex4fv)); -} - -static inline void -SET_Vertex4fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Vertex4fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4i) (GLint, GLint, GLint, GLint); - -#define CALL_Vertex4i(disp, parameters) \ - (* GET_Vertex4i(disp)) parameters -static inline _glptr_Vertex4i -GET_Vertex4i(struct _glapi_table *disp) -{ - return (_glptr_Vertex4i) (GET_by_offset(disp, _gloffset_Vertex4i)); -} - -static inline void -SET_Vertex4i(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Vertex4i, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4iv) (const GLint *); - -#define CALL_Vertex4iv(disp, parameters) \ - (* GET_Vertex4iv(disp)) parameters -static inline _glptr_Vertex4iv -GET_Vertex4iv(struct _glapi_table *disp) -{ - return (_glptr_Vertex4iv) (GET_by_offset(disp, _gloffset_Vertex4iv)); -} - -static inline void -SET_Vertex4iv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_Vertex4iv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4s) (GLshort, GLshort, GLshort, GLshort); - -#define CALL_Vertex4s(disp, parameters) \ - (* GET_Vertex4s(disp)) parameters -static inline _glptr_Vertex4s -GET_Vertex4s(struct _glapi_table *disp) -{ - return (_glptr_Vertex4s) (GET_by_offset(disp, _gloffset_Vertex4s)); -} - -static inline void -SET_Vertex4s(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_Vertex4s, fn); -} - -typedef void (GLAPIENTRYP _glptr_Vertex4sv) (const GLshort *); - -#define CALL_Vertex4sv(disp, parameters) \ - (* GET_Vertex4sv(disp)) parameters -static inline _glptr_Vertex4sv -GET_Vertex4sv(struct _glapi_table *disp) -{ - return (_glptr_Vertex4sv) (GET_by_offset(disp, _gloffset_Vertex4sv)); -} - -static inline void -SET_Vertex4sv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_Vertex4sv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClipPlane) (GLenum, const GLdouble *); - -#define CALL_ClipPlane(disp, parameters) \ - (* GET_ClipPlane(disp)) parameters -static inline _glptr_ClipPlane -GET_ClipPlane(struct _glapi_table *disp) -{ - return (_glptr_ClipPlane) (GET_by_offset(disp, _gloffset_ClipPlane)); -} - -static inline void -SET_ClipPlane(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_ClipPlane, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorMaterial) (GLenum, GLenum); - -#define CALL_ColorMaterial(disp, parameters) \ - (* GET_ColorMaterial(disp)) parameters -static inline _glptr_ColorMaterial -GET_ColorMaterial(struct _glapi_table *disp) -{ - return (_glptr_ColorMaterial) (GET_by_offset - (disp, _gloffset_ColorMaterial)); -} - -static inline void -SET_ColorMaterial(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_ColorMaterial, fn); -} - -typedef void (GLAPIENTRYP _glptr_CullFace) (GLenum); - -#define CALL_CullFace(disp, parameters) \ - (* GET_CullFace(disp)) parameters -static inline _glptr_CullFace -GET_CullFace(struct _glapi_table *disp) -{ - return (_glptr_CullFace) (GET_by_offset(disp, _gloffset_CullFace)); -} - -static inline void -SET_CullFace(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_CullFace, fn); -} - -typedef void (GLAPIENTRYP _glptr_Fogf) (GLenum, GLfloat); - -#define CALL_Fogf(disp, parameters) \ - (* GET_Fogf(disp)) parameters -static inline _glptr_Fogf -GET_Fogf(struct _glapi_table *disp) -{ - return (_glptr_Fogf) (GET_by_offset(disp, _gloffset_Fogf)); -} - -static inline void -SET_Fogf(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Fogf, fn); -} - -typedef void (GLAPIENTRYP _glptr_Fogfv) (GLenum, const GLfloat *); - -#define CALL_Fogfv(disp, parameters) \ - (* GET_Fogfv(disp)) parameters -static inline _glptr_Fogfv -GET_Fogfv(struct _glapi_table *disp) -{ - return (_glptr_Fogfv) (GET_by_offset(disp, _gloffset_Fogfv)); -} - -static inline void -SET_Fogfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Fogfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Fogi) (GLenum, GLint); - -#define CALL_Fogi(disp, parameters) \ - (* GET_Fogi(disp)) parameters -static inline _glptr_Fogi -GET_Fogi(struct _glapi_table *disp) -{ - return (_glptr_Fogi) (GET_by_offset(disp, _gloffset_Fogi)); -} - -static inline void -SET_Fogi(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_Fogi, fn); -} - -typedef void (GLAPIENTRYP _glptr_Fogiv) (GLenum, const GLint *); - -#define CALL_Fogiv(disp, parameters) \ - (* GET_Fogiv(disp)) parameters -static inline _glptr_Fogiv -GET_Fogiv(struct _glapi_table *disp) -{ - return (_glptr_Fogiv) (GET_by_offset(disp, _gloffset_Fogiv)); -} - -static inline void -SET_Fogiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Fogiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_FrontFace) (GLenum); - -#define CALL_FrontFace(disp, parameters) \ - (* GET_FrontFace(disp)) parameters -static inline _glptr_FrontFace -GET_FrontFace(struct _glapi_table *disp) -{ - return (_glptr_FrontFace) (GET_by_offset(disp, _gloffset_FrontFace)); -} - -static inline void -SET_FrontFace(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_FrontFace, fn); -} - -typedef void (GLAPIENTRYP _glptr_Hint) (GLenum, GLenum); - -#define CALL_Hint(disp, parameters) \ - (* GET_Hint(disp)) parameters -static inline _glptr_Hint -GET_Hint(struct _glapi_table *disp) -{ - return (_glptr_Hint) (GET_by_offset(disp, _gloffset_Hint)); -} - -static inline void -SET_Hint(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_Hint, fn); -} - -typedef void (GLAPIENTRYP _glptr_Lightf) (GLenum, GLenum, GLfloat); - -#define CALL_Lightf(disp, parameters) \ - (* GET_Lightf(disp)) parameters -static inline _glptr_Lightf -GET_Lightf(struct _glapi_table *disp) -{ - return (_glptr_Lightf) (GET_by_offset(disp, _gloffset_Lightf)); -} - -static inline void -SET_Lightf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Lightf, fn); -} - -typedef void (GLAPIENTRYP _glptr_Lightfv) (GLenum, GLenum, const GLfloat *); - -#define CALL_Lightfv(disp, parameters) \ - (* GET_Lightfv(disp)) parameters -static inline _glptr_Lightfv -GET_Lightfv(struct _glapi_table *disp) -{ - return (_glptr_Lightfv) (GET_by_offset(disp, _gloffset_Lightfv)); -} - -static inline void -SET_Lightfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Lightfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Lighti) (GLenum, GLenum, GLint); - -#define CALL_Lighti(disp, parameters) \ - (* GET_Lighti(disp)) parameters -static inline _glptr_Lighti -GET_Lighti(struct _glapi_table *disp) -{ - return (_glptr_Lighti) (GET_by_offset(disp, _gloffset_Lighti)); -} - -static inline void -SET_Lighti(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_Lighti, fn); -} - -typedef void (GLAPIENTRYP _glptr_Lightiv) (GLenum, GLenum, const GLint *); - -#define CALL_Lightiv(disp, parameters) \ - (* GET_Lightiv(disp)) parameters -static inline _glptr_Lightiv -GET_Lightiv(struct _glapi_table *disp) -{ - return (_glptr_Lightiv) (GET_by_offset(disp, _gloffset_Lightiv)); -} - -static inline void -SET_Lightiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Lightiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_LightModelf) (GLenum, GLfloat); - -#define CALL_LightModelf(disp, parameters) \ - (* GET_LightModelf(disp)) parameters -static inline _glptr_LightModelf -GET_LightModelf(struct _glapi_table *disp) -{ - return (_glptr_LightModelf) (GET_by_offset(disp, _gloffset_LightModelf)); -} - -static inline void -SET_LightModelf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_LightModelf, fn); -} - -typedef void (GLAPIENTRYP _glptr_LightModelfv) (GLenum, const GLfloat *); - -#define CALL_LightModelfv(disp, parameters) \ - (* GET_LightModelfv(disp)) parameters -static inline _glptr_LightModelfv -GET_LightModelfv(struct _glapi_table *disp) -{ - return (_glptr_LightModelfv) (GET_by_offset(disp, _gloffset_LightModelfv)); -} - -static inline void -SET_LightModelfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_LightModelfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_LightModeli) (GLenum, GLint); - -#define CALL_LightModeli(disp, parameters) \ - (* GET_LightModeli(disp)) parameters -static inline _glptr_LightModeli -GET_LightModeli(struct _glapi_table *disp) -{ - return (_glptr_LightModeli) (GET_by_offset(disp, _gloffset_LightModeli)); -} - -static inline void -SET_LightModeli(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_LightModeli, fn); -} - -typedef void (GLAPIENTRYP _glptr_LightModeliv) (GLenum, const GLint *); - -#define CALL_LightModeliv(disp, parameters) \ - (* GET_LightModeliv(disp)) parameters -static inline _glptr_LightModeliv -GET_LightModeliv(struct _glapi_table *disp) -{ - return (_glptr_LightModeliv) (GET_by_offset(disp, _gloffset_LightModeliv)); -} - -static inline void -SET_LightModeliv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_LightModeliv, fn); -} - -typedef void (GLAPIENTRYP _glptr_LineStipple) (GLint, GLushort); - -#define CALL_LineStipple(disp, parameters) \ - (* GET_LineStipple(disp)) parameters -static inline _glptr_LineStipple -GET_LineStipple(struct _glapi_table *disp) -{ - return (_glptr_LineStipple) (GET_by_offset(disp, _gloffset_LineStipple)); -} - -static inline void -SET_LineStipple(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLushort)) -{ - SET_by_offset(disp, _gloffset_LineStipple, fn); -} - -typedef void (GLAPIENTRYP _glptr_LineWidth) (GLfloat); - -#define CALL_LineWidth(disp, parameters) \ - (* GET_LineWidth(disp)) parameters -static inline _glptr_LineWidth -GET_LineWidth(struct _glapi_table *disp) -{ - return (_glptr_LineWidth) (GET_by_offset(disp, _gloffset_LineWidth)); -} - -static inline void -SET_LineWidth(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_LineWidth, fn); -} - -typedef void (GLAPIENTRYP _glptr_Materialf) (GLenum, GLenum, GLfloat); - -#define CALL_Materialf(disp, parameters) \ - (* GET_Materialf(disp)) parameters -static inline _glptr_Materialf -GET_Materialf(struct _glapi_table *disp) -{ - return (_glptr_Materialf) (GET_by_offset(disp, _gloffset_Materialf)); -} - -static inline void -SET_Materialf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Materialf, fn); -} - -typedef void (GLAPIENTRYP _glptr_Materialfv) (GLenum, GLenum, const GLfloat *); - -#define CALL_Materialfv(disp, parameters) \ - (* GET_Materialfv(disp)) parameters -static inline _glptr_Materialfv -GET_Materialfv(struct _glapi_table *disp) -{ - return (_glptr_Materialfv) (GET_by_offset(disp, _gloffset_Materialfv)); -} - -static inline void -SET_Materialfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Materialfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Materiali) (GLenum, GLenum, GLint); - -#define CALL_Materiali(disp, parameters) \ - (* GET_Materiali(disp)) parameters -static inline _glptr_Materiali -GET_Materiali(struct _glapi_table *disp) -{ - return (_glptr_Materiali) (GET_by_offset(disp, _gloffset_Materiali)); -} - -static inline void -SET_Materiali(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_Materiali, fn); -} - -typedef void (GLAPIENTRYP _glptr_Materialiv) (GLenum, GLenum, const GLint *); - -#define CALL_Materialiv(disp, parameters) \ - (* GET_Materialiv(disp)) parameters -static inline _glptr_Materialiv -GET_Materialiv(struct _glapi_table *disp) -{ - return (_glptr_Materialiv) (GET_by_offset(disp, _gloffset_Materialiv)); -} - -static inline void -SET_Materialiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Materialiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_PointSize) (GLfloat); - -#define CALL_PointSize(disp, parameters) \ - (* GET_PointSize(disp)) parameters -static inline _glptr_PointSize -GET_PointSize(struct _glapi_table *disp) -{ - return (_glptr_PointSize) (GET_by_offset(disp, _gloffset_PointSize)); -} - -static inline void -SET_PointSize(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_PointSize, fn); -} - -typedef void (GLAPIENTRYP _glptr_PolygonMode) (GLenum, GLenum); - -#define CALL_PolygonMode(disp, parameters) \ - (* GET_PolygonMode(disp)) parameters -static inline _glptr_PolygonMode -GET_PolygonMode(struct _glapi_table *disp) -{ - return (_glptr_PolygonMode) (GET_by_offset(disp, _gloffset_PolygonMode)); -} - -static inline void -SET_PolygonMode(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_PolygonMode, fn); -} - -typedef void (GLAPIENTRYP _glptr_PolygonStipple) (const GLubyte *); - -#define CALL_PolygonStipple(disp, parameters) \ - (* GET_PolygonStipple(disp)) parameters -static inline _glptr_PolygonStipple -GET_PolygonStipple(struct _glapi_table *disp) -{ - return (_glptr_PolygonStipple) (GET_by_offset - (disp, _gloffset_PolygonStipple)); -} - -static inline void -SET_PolygonStipple(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_PolygonStipple, fn); -} - -typedef void (GLAPIENTRYP _glptr_Scissor) (GLint, GLint, GLsizei, GLsizei); - -#define CALL_Scissor(disp, parameters) \ - (* GET_Scissor(disp)) parameters -static inline _glptr_Scissor -GET_Scissor(struct _glapi_table *disp) -{ - return (_glptr_Scissor) (GET_by_offset(disp, _gloffset_Scissor)); -} - -static inline void -SET_Scissor(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_Scissor, fn); -} - -typedef void (GLAPIENTRYP _glptr_ShadeModel) (GLenum); - -#define CALL_ShadeModel(disp, parameters) \ - (* GET_ShadeModel(disp)) parameters -static inline _glptr_ShadeModel -GET_ShadeModel(struct _glapi_table *disp) -{ - return (_glptr_ShadeModel) (GET_by_offset(disp, _gloffset_ShadeModel)); -} - -static inline void -SET_ShadeModel(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ShadeModel, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexParameterf) (GLenum, GLenum, GLfloat); - -#define CALL_TexParameterf(disp, parameters) \ - (* GET_TexParameterf(disp)) parameters -static inline _glptr_TexParameterf -GET_TexParameterf(struct _glapi_table *disp) -{ - return (_glptr_TexParameterf) (GET_by_offset - (disp, _gloffset_TexParameterf)); -} - -static inline void -SET_TexParameterf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_TexParameterf, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexParameterfv) (GLenum, GLenum, - const GLfloat *); -#define CALL_TexParameterfv(disp, parameters) \ - (* GET_TexParameterfv(disp)) parameters -static inline _glptr_TexParameterfv -GET_TexParameterfv(struct _glapi_table *disp) -{ - return (_glptr_TexParameterfv) (GET_by_offset - (disp, _gloffset_TexParameterfv)); -} - -static inline void -SET_TexParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexParameteri) (GLenum, GLenum, GLint); - -#define CALL_TexParameteri(disp, parameters) \ - (* GET_TexParameteri(disp)) parameters -static inline _glptr_TexParameteri -GET_TexParameteri(struct _glapi_table *disp) -{ - return (_glptr_TexParameteri) (GET_by_offset - (disp, _gloffset_TexParameteri)); -} - -static inline void -SET_TexParameteri(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_TexParameteri, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexParameteriv) (GLenum, GLenum, - const GLint *); -#define CALL_TexParameteriv(disp, parameters) \ - (* GET_TexParameteriv(disp)) parameters -static inline _glptr_TexParameteriv -GET_TexParameteriv(struct _glapi_table *disp) -{ - return (_glptr_TexParameteriv) (GET_by_offset - (disp, _gloffset_TexParameteriv)); -} - -static inline void -SET_TexParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexImage1D) (GLenum, GLint, GLint, GLsizei, - GLint, GLenum, GLenum, - const GLvoid *); -#define CALL_TexImage1D(disp, parameters) \ - (* GET_TexImage1D(disp)) parameters -static inline _glptr_TexImage1D -GET_TexImage1D(struct _glapi_table *disp) -{ - return (_glptr_TexImage1D) (GET_by_offset(disp, _gloffset_TexImage1D)); -} - -static inline void -SET_TexImage1D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLsizei, GLint, - GLenum, GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexImage1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexImage2D) (GLenum, GLint, GLint, GLsizei, - GLsizei, GLint, GLenum, GLenum, - const GLvoid *); -#define CALL_TexImage2D(disp, parameters) \ - (* GET_TexImage2D(disp)) parameters -static inline _glptr_TexImage2D -GET_TexImage2D(struct _glapi_table *disp) -{ - return (_glptr_TexImage2D) (GET_by_offset(disp, _gloffset_TexImage2D)); -} - -static inline void -SET_TexImage2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLsizei, GLsizei, - GLint, GLenum, GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexImage2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexEnvf) (GLenum, GLenum, GLfloat); - -#define CALL_TexEnvf(disp, parameters) \ - (* GET_TexEnvf(disp)) parameters -static inline _glptr_TexEnvf -GET_TexEnvf(struct _glapi_table *disp) -{ - return (_glptr_TexEnvf) (GET_by_offset(disp, _gloffset_TexEnvf)); -} - -static inline void -SET_TexEnvf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_TexEnvf, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexEnvfv) (GLenum, GLenum, const GLfloat *); - -#define CALL_TexEnvfv(disp, parameters) \ - (* GET_TexEnvfv(disp)) parameters -static inline _glptr_TexEnvfv -GET_TexEnvfv(struct _glapi_table *disp) -{ - return (_glptr_TexEnvfv) (GET_by_offset(disp, _gloffset_TexEnvfv)); -} - -static inline void -SET_TexEnvfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexEnvfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexEnvi) (GLenum, GLenum, GLint); - -#define CALL_TexEnvi(disp, parameters) \ - (* GET_TexEnvi(disp)) parameters -static inline _glptr_TexEnvi -GET_TexEnvi(struct _glapi_table *disp) -{ - return (_glptr_TexEnvi) (GET_by_offset(disp, _gloffset_TexEnvi)); -} - -static inline void -SET_TexEnvi(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_TexEnvi, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexEnviv) (GLenum, GLenum, const GLint *); - -#define CALL_TexEnviv(disp, parameters) \ - (* GET_TexEnviv(disp)) parameters -static inline _glptr_TexEnviv -GET_TexEnviv(struct _glapi_table *disp) -{ - return (_glptr_TexEnviv) (GET_by_offset(disp, _gloffset_TexEnviv)); -} - -static inline void -SET_TexEnviv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexEnviv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexGend) (GLenum, GLenum, GLdouble); - -#define CALL_TexGend(disp, parameters) \ - (* GET_TexGend(disp)) parameters -static inline _glptr_TexGend -GET_TexGend(struct _glapi_table *disp) -{ - return (_glptr_TexGend) (GET_by_offset(disp, _gloffset_TexGend)); -} - -static inline void -SET_TexGend(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLdouble)) -{ - SET_by_offset(disp, _gloffset_TexGend, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexGendv) (GLenum, GLenum, const GLdouble *); - -#define CALL_TexGendv(disp, parameters) \ - (* GET_TexGendv(disp)) parameters -static inline _glptr_TexGendv -GET_TexGendv(struct _glapi_table *disp) -{ - return (_glptr_TexGendv) (GET_by_offset(disp, _gloffset_TexGendv)); -} - -static inline void -SET_TexGendv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_TexGendv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexGenf) (GLenum, GLenum, GLfloat); - -#define CALL_TexGenf(disp, parameters) \ - (* GET_TexGenf(disp)) parameters -static inline _glptr_TexGenf -GET_TexGenf(struct _glapi_table *disp) -{ - return (_glptr_TexGenf) (GET_by_offset(disp, _gloffset_TexGenf)); -} - -static inline void -SET_TexGenf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_TexGenf, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexGenfv) (GLenum, GLenum, const GLfloat *); - -#define CALL_TexGenfv(disp, parameters) \ - (* GET_TexGenfv(disp)) parameters -static inline _glptr_TexGenfv -GET_TexGenfv(struct _glapi_table *disp) -{ - return (_glptr_TexGenfv) (GET_by_offset(disp, _gloffset_TexGenfv)); -} - -static inline void -SET_TexGenfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexGenfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexGeni) (GLenum, GLenum, GLint); - -#define CALL_TexGeni(disp, parameters) \ - (* GET_TexGeni(disp)) parameters -static inline _glptr_TexGeni -GET_TexGeni(struct _glapi_table *disp) -{ - return (_glptr_TexGeni) (GET_by_offset(disp, _gloffset_TexGeni)); -} - -static inline void -SET_TexGeni(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_TexGeni, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexGeniv) (GLenum, GLenum, const GLint *); - -#define CALL_TexGeniv(disp, parameters) \ - (* GET_TexGeniv(disp)) parameters -static inline _glptr_TexGeniv -GET_TexGeniv(struct _glapi_table *disp) -{ - return (_glptr_TexGeniv) (GET_by_offset(disp, _gloffset_TexGeniv)); -} - -static inline void -SET_TexGeniv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexGeniv, fn); -} - -typedef void (GLAPIENTRYP _glptr_FeedbackBuffer) (GLsizei, GLenum, GLfloat *); - -#define CALL_FeedbackBuffer(disp, parameters) \ - (* GET_FeedbackBuffer(disp)) parameters -static inline _glptr_FeedbackBuffer -GET_FeedbackBuffer(struct _glapi_table *disp) -{ - return (_glptr_FeedbackBuffer) (GET_by_offset - (disp, _gloffset_FeedbackBuffer)); -} - -static inline void -SET_FeedbackBuffer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_FeedbackBuffer, fn); -} - -typedef void (GLAPIENTRYP _glptr_SelectBuffer) (GLsizei, GLuint *); - -#define CALL_SelectBuffer(disp, parameters) \ - (* GET_SelectBuffer(disp)) parameters -static inline _glptr_SelectBuffer -GET_SelectBuffer(struct _glapi_table *disp) -{ - return (_glptr_SelectBuffer) (GET_by_offset(disp, _gloffset_SelectBuffer)); -} - -static inline void -SET_SelectBuffer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_SelectBuffer, fn); -} - -typedef GLint(GLAPIENTRYP _glptr_RenderMode) (GLenum); - -#define CALL_RenderMode(disp, parameters) \ - (* GET_RenderMode(disp)) parameters -static inline _glptr_RenderMode -GET_RenderMode(struct _glapi_table *disp) -{ - return (_glptr_RenderMode) (GET_by_offset(disp, _gloffset_RenderMode)); -} - -static inline void -SET_RenderMode(struct _glapi_table *disp, GLint(GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_RenderMode, fn); -} - -typedef void (GLAPIENTRYP _glptr_InitNames) (void); - -#define CALL_InitNames(disp, parameters) \ - (* GET_InitNames(disp)) parameters -static inline _glptr_InitNames -GET_InitNames(struct _glapi_table *disp) -{ - return (_glptr_InitNames) (GET_by_offset(disp, _gloffset_InitNames)); -} - -static inline void -SET_InitNames(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_InitNames, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadName) (GLuint); - -#define CALL_LoadName(disp, parameters) \ - (* GET_LoadName(disp)) parameters -static inline _glptr_LoadName -GET_LoadName(struct _glapi_table *disp) -{ - return (_glptr_LoadName) (GET_by_offset(disp, _gloffset_LoadName)); -} - -static inline void -SET_LoadName(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_LoadName, fn); -} - -typedef void (GLAPIENTRYP _glptr_PassThrough) (GLfloat); - -#define CALL_PassThrough(disp, parameters) \ - (* GET_PassThrough(disp)) parameters -static inline _glptr_PassThrough -GET_PassThrough(struct _glapi_table *disp) -{ - return (_glptr_PassThrough) (GET_by_offset(disp, _gloffset_PassThrough)); -} - -static inline void -SET_PassThrough(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_PassThrough, fn); -} - -typedef void (GLAPIENTRYP _glptr_PopName) (void); - -#define CALL_PopName(disp, parameters) \ - (* GET_PopName(disp)) parameters -static inline _glptr_PopName -GET_PopName(struct _glapi_table *disp) -{ - return (_glptr_PopName) (GET_by_offset(disp, _gloffset_PopName)); -} - -static inline void -SET_PopName(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_PopName, fn); -} - -typedef void (GLAPIENTRYP _glptr_PushName) (GLuint); - -#define CALL_PushName(disp, parameters) \ - (* GET_PushName(disp)) parameters -static inline _glptr_PushName -GET_PushName(struct _glapi_table *disp) -{ - return (_glptr_PushName) (GET_by_offset(disp, _gloffset_PushName)); -} - -static inline void -SET_PushName(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_PushName, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawBuffer) (GLenum); - -#define CALL_DrawBuffer(disp, parameters) \ - (* GET_DrawBuffer(disp)) parameters -static inline _glptr_DrawBuffer -GET_DrawBuffer(struct _glapi_table *disp) -{ - return (_glptr_DrawBuffer) (GET_by_offset(disp, _gloffset_DrawBuffer)); -} - -static inline void -SET_DrawBuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_DrawBuffer, fn); -} - -typedef void (GLAPIENTRYP _glptr_Clear) (GLbitfield); - -#define CALL_Clear(disp, parameters) \ - (* GET_Clear(disp)) parameters -static inline _glptr_Clear -GET_Clear(struct _glapi_table *disp) -{ - return (_glptr_Clear) (GET_by_offset(disp, _gloffset_Clear)); -} - -static inline void -SET_Clear(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLbitfield)) -{ - SET_by_offset(disp, _gloffset_Clear, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearAccum) (GLfloat, GLfloat, GLfloat, - GLfloat); -#define CALL_ClearAccum(disp, parameters) \ - (* GET_ClearAccum(disp)) parameters -static inline _glptr_ClearAccum -GET_ClearAccum(struct _glapi_table *disp) -{ - return (_glptr_ClearAccum) (GET_by_offset(disp, _gloffset_ClearAccum)); -} - -static inline void -SET_ClearAccum(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_ClearAccum, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearIndex) (GLfloat); - -#define CALL_ClearIndex(disp, parameters) \ - (* GET_ClearIndex(disp)) parameters -static inline _glptr_ClearIndex -GET_ClearIndex(struct _glapi_table *disp) -{ - return (_glptr_ClearIndex) (GET_by_offset(disp, _gloffset_ClearIndex)); -} - -static inline void -SET_ClearIndex(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_ClearIndex, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearColor) (GLclampf, GLclampf, GLclampf, - GLclampf); -#define CALL_ClearColor(disp, parameters) \ - (* GET_ClearColor(disp)) parameters -static inline _glptr_ClearColor -GET_ClearColor(struct _glapi_table *disp) -{ - return (_glptr_ClearColor) (GET_by_offset(disp, _gloffset_ClearColor)); -} - -static inline void -SET_ClearColor(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLclampf, GLclampf, GLclampf, GLclampf)) -{ - SET_by_offset(disp, _gloffset_ClearColor, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearStencil) (GLint); - -#define CALL_ClearStencil(disp, parameters) \ - (* GET_ClearStencil(disp)) parameters -static inline _glptr_ClearStencil -GET_ClearStencil(struct _glapi_table *disp) -{ - return (_glptr_ClearStencil) (GET_by_offset(disp, _gloffset_ClearStencil)); -} - -static inline void -SET_ClearStencil(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint)) -{ - SET_by_offset(disp, _gloffset_ClearStencil, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearDepth) (GLclampd); - -#define CALL_ClearDepth(disp, parameters) \ - (* GET_ClearDepth(disp)) parameters -static inline _glptr_ClearDepth -GET_ClearDepth(struct _glapi_table *disp) -{ - return (_glptr_ClearDepth) (GET_by_offset(disp, _gloffset_ClearDepth)); -} - -static inline void -SET_ClearDepth(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLclampd)) -{ - SET_by_offset(disp, _gloffset_ClearDepth, fn); -} - -typedef void (GLAPIENTRYP _glptr_StencilMask) (GLuint); - -#define CALL_StencilMask(disp, parameters) \ - (* GET_StencilMask(disp)) parameters -static inline _glptr_StencilMask -GET_StencilMask(struct _glapi_table *disp) -{ - return (_glptr_StencilMask) (GET_by_offset(disp, _gloffset_StencilMask)); -} - -static inline void -SET_StencilMask(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_StencilMask, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorMask) (GLboolean, GLboolean, GLboolean, - GLboolean); -#define CALL_ColorMask(disp, parameters) \ - (* GET_ColorMask(disp)) parameters -static inline _glptr_ColorMask -GET_ColorMask(struct _glapi_table *disp) -{ - return (_glptr_ColorMask) (GET_by_offset(disp, _gloffset_ColorMask)); -} - -static inline void -SET_ColorMask(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLboolean, GLboolean, GLboolean, - GLboolean)) -{ - SET_by_offset(disp, _gloffset_ColorMask, fn); -} - -typedef void (GLAPIENTRYP _glptr_DepthMask) (GLboolean); - -#define CALL_DepthMask(disp, parameters) \ - (* GET_DepthMask(disp)) parameters -static inline _glptr_DepthMask -GET_DepthMask(struct _glapi_table *disp) -{ - return (_glptr_DepthMask) (GET_by_offset(disp, _gloffset_DepthMask)); -} - -static inline void -SET_DepthMask(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLboolean)) -{ - SET_by_offset(disp, _gloffset_DepthMask, fn); -} - -typedef void (GLAPIENTRYP _glptr_IndexMask) (GLuint); - -#define CALL_IndexMask(disp, parameters) \ - (* GET_IndexMask(disp)) parameters -static inline _glptr_IndexMask -GET_IndexMask(struct _glapi_table *disp) -{ - return (_glptr_IndexMask) (GET_by_offset(disp, _gloffset_IndexMask)); -} - -static inline void -SET_IndexMask(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IndexMask, fn); -} - -typedef void (GLAPIENTRYP _glptr_Accum) (GLenum, GLfloat); - -#define CALL_Accum(disp, parameters) \ - (* GET_Accum(disp)) parameters -static inline _glptr_Accum -GET_Accum(struct _glapi_table *disp) -{ - return (_glptr_Accum) (GET_by_offset(disp, _gloffset_Accum)); -} - -static inline void -SET_Accum(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Accum, fn); -} - -typedef void (GLAPIENTRYP _glptr_Disable) (GLenum); - -#define CALL_Disable(disp, parameters) \ - (* GET_Disable(disp)) parameters -static inline _glptr_Disable -GET_Disable(struct _glapi_table *disp) -{ - return (_glptr_Disable) (GET_by_offset(disp, _gloffset_Disable)); -} - -static inline void -SET_Disable(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_Disable, fn); -} - -typedef void (GLAPIENTRYP _glptr_Enable) (GLenum); - -#define CALL_Enable(disp, parameters) \ - (* GET_Enable(disp)) parameters -static inline _glptr_Enable -GET_Enable(struct _glapi_table *disp) -{ - return (_glptr_Enable) (GET_by_offset(disp, _gloffset_Enable)); -} - -static inline void -SET_Enable(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_Enable, fn); -} - -typedef void (GLAPIENTRYP _glptr_Finish) (void); - -#define CALL_Finish(disp, parameters) \ - (* GET_Finish(disp)) parameters -static inline _glptr_Finish -GET_Finish(struct _glapi_table *disp) -{ - return (_glptr_Finish) (GET_by_offset(disp, _gloffset_Finish)); -} - -static inline void -SET_Finish(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_Finish, fn); -} - -typedef void (GLAPIENTRYP _glptr_Flush) (void); - -#define CALL_Flush(disp, parameters) \ - (* GET_Flush(disp)) parameters -static inline _glptr_Flush -GET_Flush(struct _glapi_table *disp) -{ - return (_glptr_Flush) (GET_by_offset(disp, _gloffset_Flush)); -} - -static inline void -SET_Flush(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_Flush, fn); -} - -typedef void (GLAPIENTRYP _glptr_PopAttrib) (void); - -#define CALL_PopAttrib(disp, parameters) \ - (* GET_PopAttrib(disp)) parameters -static inline _glptr_PopAttrib -GET_PopAttrib(struct _glapi_table *disp) -{ - return (_glptr_PopAttrib) (GET_by_offset(disp, _gloffset_PopAttrib)); -} - -static inline void -SET_PopAttrib(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_PopAttrib, fn); -} - -typedef void (GLAPIENTRYP _glptr_PushAttrib) (GLbitfield); - -#define CALL_PushAttrib(disp, parameters) \ - (* GET_PushAttrib(disp)) parameters -static inline _glptr_PushAttrib -GET_PushAttrib(struct _glapi_table *disp) -{ - return (_glptr_PushAttrib) (GET_by_offset(disp, _gloffset_PushAttrib)); -} - -static inline void -SET_PushAttrib(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLbitfield)) -{ - SET_by_offset(disp, _gloffset_PushAttrib, fn); -} - -typedef void (GLAPIENTRYP _glptr_Map1d) (GLenum, GLdouble, GLdouble, GLint, - GLint, const GLdouble *); -#define CALL_Map1d(disp, parameters) \ - (* GET_Map1d(disp)) parameters -static inline _glptr_Map1d -GET_Map1d(struct _glapi_table *disp) -{ - return (_glptr_Map1d) (GET_by_offset(disp, _gloffset_Map1d)); -} - -static inline void -SET_Map1d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble, GLdouble, GLint, GLint, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Map1d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Map1f) (GLenum, GLfloat, GLfloat, GLint, GLint, - const GLfloat *); -#define CALL_Map1f(disp, parameters) \ - (* GET_Map1f(disp)) parameters -static inline _glptr_Map1f -GET_Map1f(struct _glapi_table *disp) -{ - return (_glptr_Map1f) (GET_by_offset(disp, _gloffset_Map1f)); -} - -static inline void -SET_Map1f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat, GLfloat, GLint, GLint, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Map1f, fn); -} - -typedef void (GLAPIENTRYP _glptr_Map2d) (GLenum, GLdouble, GLdouble, GLint, - GLint, GLdouble, GLdouble, GLint, - GLint, const GLdouble *); -#define CALL_Map2d(disp, parameters) \ - (* GET_Map2d(disp)) parameters -static inline _glptr_Map2d -GET_Map2d(struct _glapi_table *disp) -{ - return (_glptr_Map2d) (GET_by_offset(disp, _gloffset_Map2d)); -} - -static inline void -SET_Map2d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble, GLdouble, GLint, GLint, - GLdouble, GLdouble, GLint, GLint, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_Map2d, fn); -} - -typedef void (GLAPIENTRYP _glptr_Map2f) (GLenum, GLfloat, GLfloat, GLint, GLint, - GLfloat, GLfloat, GLint, GLint, - const GLfloat *); -#define CALL_Map2f(disp, parameters) \ - (* GET_Map2f(disp)) parameters -static inline _glptr_Map2f -GET_Map2f(struct _glapi_table *disp) -{ - return (_glptr_Map2f) (GET_by_offset(disp, _gloffset_Map2f)); -} - -static inline void -SET_Map2f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat, GLfloat, GLint, GLint, - GLfloat, GLfloat, GLint, GLint, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Map2f, fn); -} - -typedef void (GLAPIENTRYP _glptr_MapGrid1d) (GLint, GLdouble, GLdouble); - -#define CALL_MapGrid1d(disp, parameters) \ - (* GET_MapGrid1d(disp)) parameters -static inline _glptr_MapGrid1d -GET_MapGrid1d(struct _glapi_table *disp) -{ - return (_glptr_MapGrid1d) (GET_by_offset(disp, _gloffset_MapGrid1d)); -} - -static inline void -SET_MapGrid1d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_MapGrid1d, fn); -} - -typedef void (GLAPIENTRYP _glptr_MapGrid1f) (GLint, GLfloat, GLfloat); - -#define CALL_MapGrid1f(disp, parameters) \ - (* GET_MapGrid1f(disp)) parameters -static inline _glptr_MapGrid1f -GET_MapGrid1f(struct _glapi_table *disp) -{ - return (_glptr_MapGrid1f) (GET_by_offset(disp, _gloffset_MapGrid1f)); -} - -static inline void -SET_MapGrid1f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_MapGrid1f, fn); -} - -typedef void (GLAPIENTRYP _glptr_MapGrid2d) (GLint, GLdouble, GLdouble, GLint, - GLdouble, GLdouble); -#define CALL_MapGrid2d(disp, parameters) \ - (* GET_MapGrid2d(disp)) parameters -static inline _glptr_MapGrid2d -GET_MapGrid2d(struct _glapi_table *disp) -{ - return (_glptr_MapGrid2d) (GET_by_offset(disp, _gloffset_MapGrid2d)); -} - -static inline void -SET_MapGrid2d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLdouble, GLdouble, GLint, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_MapGrid2d, fn); -} - -typedef void (GLAPIENTRYP _glptr_MapGrid2f) (GLint, GLfloat, GLfloat, GLint, - GLfloat, GLfloat); -#define CALL_MapGrid2f(disp, parameters) \ - (* GET_MapGrid2f(disp)) parameters -static inline _glptr_MapGrid2f -GET_MapGrid2f(struct _glapi_table *disp) -{ - return (_glptr_MapGrid2f) (GET_by_offset(disp, _gloffset_MapGrid2f)); -} - -static inline void -SET_MapGrid2f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLfloat, GLfloat, GLint, GLfloat, - GLfloat)) -{ - SET_by_offset(disp, _gloffset_MapGrid2f, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord1d) (GLdouble); - -#define CALL_EvalCoord1d(disp, parameters) \ - (* GET_EvalCoord1d(disp)) parameters -static inline _glptr_EvalCoord1d -GET_EvalCoord1d(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord1d) (GET_by_offset(disp, _gloffset_EvalCoord1d)); -} - -static inline void -SET_EvalCoord1d(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLdouble)) -{ - SET_by_offset(disp, _gloffset_EvalCoord1d, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord1dv) (const GLdouble *); - -#define CALL_EvalCoord1dv(disp, parameters) \ - (* GET_EvalCoord1dv(disp)) parameters -static inline _glptr_EvalCoord1dv -GET_EvalCoord1dv(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord1dv) (GET_by_offset(disp, _gloffset_EvalCoord1dv)); -} - -static inline void -SET_EvalCoord1dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_EvalCoord1dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord1f) (GLfloat); - -#define CALL_EvalCoord1f(disp, parameters) \ - (* GET_EvalCoord1f(disp)) parameters -static inline _glptr_EvalCoord1f -GET_EvalCoord1f(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord1f) (GET_by_offset(disp, _gloffset_EvalCoord1f)); -} - -static inline void -SET_EvalCoord1f(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_EvalCoord1f, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord1fv) (const GLfloat *); - -#define CALL_EvalCoord1fv(disp, parameters) \ - (* GET_EvalCoord1fv(disp)) parameters -static inline _glptr_EvalCoord1fv -GET_EvalCoord1fv(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord1fv) (GET_by_offset(disp, _gloffset_EvalCoord1fv)); -} - -static inline void -SET_EvalCoord1fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_EvalCoord1fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord2d) (GLdouble, GLdouble); - -#define CALL_EvalCoord2d(disp, parameters) \ - (* GET_EvalCoord2d(disp)) parameters -static inline _glptr_EvalCoord2d -GET_EvalCoord2d(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord2d) (GET_by_offset(disp, _gloffset_EvalCoord2d)); -} - -static inline void -SET_EvalCoord2d(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_EvalCoord2d, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord2dv) (const GLdouble *); - -#define CALL_EvalCoord2dv(disp, parameters) \ - (* GET_EvalCoord2dv(disp)) parameters -static inline _glptr_EvalCoord2dv -GET_EvalCoord2dv(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord2dv) (GET_by_offset(disp, _gloffset_EvalCoord2dv)); -} - -static inline void -SET_EvalCoord2dv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_EvalCoord2dv, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord2f) (GLfloat, GLfloat); - -#define CALL_EvalCoord2f(disp, parameters) \ - (* GET_EvalCoord2f(disp)) parameters -static inline _glptr_EvalCoord2f -GET_EvalCoord2f(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord2f) (GET_by_offset(disp, _gloffset_EvalCoord2f)); -} - -static inline void -SET_EvalCoord2f(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_EvalCoord2f, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalCoord2fv) (const GLfloat *); - -#define CALL_EvalCoord2fv(disp, parameters) \ - (* GET_EvalCoord2fv(disp)) parameters -static inline _glptr_EvalCoord2fv -GET_EvalCoord2fv(struct _glapi_table *disp) -{ - return (_glptr_EvalCoord2fv) (GET_by_offset(disp, _gloffset_EvalCoord2fv)); -} - -static inline void -SET_EvalCoord2fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_EvalCoord2fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalMesh1) (GLenum, GLint, GLint); - -#define CALL_EvalMesh1(disp, parameters) \ - (* GET_EvalMesh1(disp)) parameters -static inline _glptr_EvalMesh1 -GET_EvalMesh1(struct _glapi_table *disp) -{ - return (_glptr_EvalMesh1) (GET_by_offset(disp, _gloffset_EvalMesh1)); -} - -static inline void -SET_EvalMesh1(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_EvalMesh1, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalPoint1) (GLint); - -#define CALL_EvalPoint1(disp, parameters) \ - (* GET_EvalPoint1(disp)) parameters -static inline _glptr_EvalPoint1 -GET_EvalPoint1(struct _glapi_table *disp) -{ - return (_glptr_EvalPoint1) (GET_by_offset(disp, _gloffset_EvalPoint1)); -} - -static inline void -SET_EvalPoint1(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint)) -{ - SET_by_offset(disp, _gloffset_EvalPoint1, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalMesh2) (GLenum, GLint, GLint, GLint, - GLint); -#define CALL_EvalMesh2(disp, parameters) \ - (* GET_EvalMesh2(disp)) parameters -static inline _glptr_EvalMesh2 -GET_EvalMesh2(struct _glapi_table *disp) -{ - return (_glptr_EvalMesh2) (GET_by_offset(disp, _gloffset_EvalMesh2)); -} - -static inline void -SET_EvalMesh2(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_EvalMesh2, fn); -} - -typedef void (GLAPIENTRYP _glptr_EvalPoint2) (GLint, GLint); - -#define CALL_EvalPoint2(disp, parameters) \ - (* GET_EvalPoint2(disp)) parameters -static inline _glptr_EvalPoint2 -GET_EvalPoint2(struct _glapi_table *disp) -{ - return (_glptr_EvalPoint2) (GET_by_offset(disp, _gloffset_EvalPoint2)); -} - -static inline void -SET_EvalPoint2(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_EvalPoint2, fn); -} - -typedef void (GLAPIENTRYP _glptr_AlphaFunc) (GLenum, GLclampf); - -#define CALL_AlphaFunc(disp, parameters) \ - (* GET_AlphaFunc(disp)) parameters -static inline _glptr_AlphaFunc -GET_AlphaFunc(struct _glapi_table *disp) -{ - return (_glptr_AlphaFunc) (GET_by_offset(disp, _gloffset_AlphaFunc)); -} - -static inline void -SET_AlphaFunc(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLclampf)) -{ - SET_by_offset(disp, _gloffset_AlphaFunc, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendFunc) (GLenum, GLenum); - -#define CALL_BlendFunc(disp, parameters) \ - (* GET_BlendFunc(disp)) parameters -static inline _glptr_BlendFunc -GET_BlendFunc(struct _glapi_table *disp) -{ - return (_glptr_BlendFunc) (GET_by_offset(disp, _gloffset_BlendFunc)); -} - -static inline void -SET_BlendFunc(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendFunc, fn); -} - -typedef void (GLAPIENTRYP _glptr_LogicOp) (GLenum); - -#define CALL_LogicOp(disp, parameters) \ - (* GET_LogicOp(disp)) parameters -static inline _glptr_LogicOp -GET_LogicOp(struct _glapi_table *disp) -{ - return (_glptr_LogicOp) (GET_by_offset(disp, _gloffset_LogicOp)); -} - -static inline void -SET_LogicOp(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_LogicOp, fn); -} - -typedef void (GLAPIENTRYP _glptr_StencilFunc) (GLenum, GLint, GLuint); - -#define CALL_StencilFunc(disp, parameters) \ - (* GET_StencilFunc(disp)) parameters -static inline _glptr_StencilFunc -GET_StencilFunc(struct _glapi_table *disp) -{ - return (_glptr_StencilFunc) (GET_by_offset(disp, _gloffset_StencilFunc)); -} - -static inline void -SET_StencilFunc(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLuint)) -{ - SET_by_offset(disp, _gloffset_StencilFunc, fn); -} - -typedef void (GLAPIENTRYP _glptr_StencilOp) (GLenum, GLenum, GLenum); - -#define CALL_StencilOp(disp, parameters) \ - (* GET_StencilOp(disp)) parameters -static inline _glptr_StencilOp -GET_StencilOp(struct _glapi_table *disp) -{ - return (_glptr_StencilOp) (GET_by_offset(disp, _gloffset_StencilOp)); -} - -static inline void -SET_StencilOp(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_StencilOp, fn); -} - -typedef void (GLAPIENTRYP _glptr_DepthFunc) (GLenum); - -#define CALL_DepthFunc(disp, parameters) \ - (* GET_DepthFunc(disp)) parameters -static inline _glptr_DepthFunc -GET_DepthFunc(struct _glapi_table *disp) -{ - return (_glptr_DepthFunc) (GET_by_offset(disp, _gloffset_DepthFunc)); -} - -static inline void -SET_DepthFunc(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_DepthFunc, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelZoom) (GLfloat, GLfloat); - -#define CALL_PixelZoom(disp, parameters) \ - (* GET_PixelZoom(disp)) parameters -static inline _glptr_PixelZoom -GET_PixelZoom(struct _glapi_table *disp) -{ - return (_glptr_PixelZoom) (GET_by_offset(disp, _gloffset_PixelZoom)); -} - -static inline void -SET_PixelZoom(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_PixelZoom, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelTransferf) (GLenum, GLfloat); - -#define CALL_PixelTransferf(disp, parameters) \ - (* GET_PixelTransferf(disp)) parameters -static inline _glptr_PixelTransferf -GET_PixelTransferf(struct _glapi_table *disp) -{ - return (_glptr_PixelTransferf) (GET_by_offset - (disp, _gloffset_PixelTransferf)); -} - -static inline void -SET_PixelTransferf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_PixelTransferf, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelTransferi) (GLenum, GLint); - -#define CALL_PixelTransferi(disp, parameters) \ - (* GET_PixelTransferi(disp)) parameters -static inline _glptr_PixelTransferi -GET_PixelTransferi(struct _glapi_table *disp) -{ - return (_glptr_PixelTransferi) (GET_by_offset - (disp, _gloffset_PixelTransferi)); -} - -static inline void -SET_PixelTransferi(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_PixelTransferi, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelStoref) (GLenum, GLfloat); - -#define CALL_PixelStoref(disp, parameters) \ - (* GET_PixelStoref(disp)) parameters -static inline _glptr_PixelStoref -GET_PixelStoref(struct _glapi_table *disp) -{ - return (_glptr_PixelStoref) (GET_by_offset(disp, _gloffset_PixelStoref)); -} - -static inline void -SET_PixelStoref(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_PixelStoref, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelStorei) (GLenum, GLint); - -#define CALL_PixelStorei(disp, parameters) \ - (* GET_PixelStorei(disp)) parameters -static inline _glptr_PixelStorei -GET_PixelStorei(struct _glapi_table *disp) -{ - return (_glptr_PixelStorei) (GET_by_offset(disp, _gloffset_PixelStorei)); -} - -static inline void -SET_PixelStorei(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_PixelStorei, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelMapfv) (GLenum, GLsizei, const GLfloat *); - -#define CALL_PixelMapfv(disp, parameters) \ - (* GET_PixelMapfv(disp)) parameters -static inline _glptr_PixelMapfv -GET_PixelMapfv(struct _glapi_table *disp) -{ - return (_glptr_PixelMapfv) (GET_by_offset(disp, _gloffset_PixelMapfv)); -} - -static inline void -SET_PixelMapfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_PixelMapfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelMapuiv) (GLenum, GLsizei, const GLuint *); - -#define CALL_PixelMapuiv(disp, parameters) \ - (* GET_PixelMapuiv(disp)) parameters -static inline _glptr_PixelMapuiv -GET_PixelMapuiv(struct _glapi_table *disp) -{ - return (_glptr_PixelMapuiv) (GET_by_offset(disp, _gloffset_PixelMapuiv)); -} - -static inline void -SET_PixelMapuiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_PixelMapuiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelMapusv) (GLenum, GLsizei, - const GLushort *); -#define CALL_PixelMapusv(disp, parameters) \ - (* GET_PixelMapusv(disp)) parameters -static inline _glptr_PixelMapusv -GET_PixelMapusv(struct _glapi_table *disp) -{ - return (_glptr_PixelMapusv) (GET_by_offset(disp, _gloffset_PixelMapusv)); -} - -static inline void -SET_PixelMapusv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, const GLushort *)) -{ - SET_by_offset(disp, _gloffset_PixelMapusv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ReadBuffer) (GLenum); - -#define CALL_ReadBuffer(disp, parameters) \ - (* GET_ReadBuffer(disp)) parameters -static inline _glptr_ReadBuffer -GET_ReadBuffer(struct _glapi_table *disp) -{ - return (_glptr_ReadBuffer) (GET_by_offset(disp, _gloffset_ReadBuffer)); -} - -static inline void -SET_ReadBuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ReadBuffer, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyPixels) (GLint, GLint, GLsizei, GLsizei, - GLenum); -#define CALL_CopyPixels(disp, parameters) \ - (* GET_CopyPixels(disp)) parameters -static inline _glptr_CopyPixels -GET_CopyPixels(struct _glapi_table *disp) -{ - return (_glptr_CopyPixels) (GET_by_offset(disp, _gloffset_CopyPixels)); -} - -static inline void -SET_CopyPixels(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLsizei, GLsizei, GLenum)) -{ - SET_by_offset(disp, _gloffset_CopyPixels, fn); -} - -typedef void (GLAPIENTRYP _glptr_ReadPixels) (GLint, GLint, GLsizei, GLsizei, - GLenum, GLenum, GLvoid *); -#define CALL_ReadPixels(disp, parameters) \ - (* GET_ReadPixels(disp)) parameters -static inline _glptr_ReadPixels -GET_ReadPixels(struct _glapi_table *disp) -{ - return (_glptr_ReadPixels) (GET_by_offset(disp, _gloffset_ReadPixels)); -} - -static inline void -SET_ReadPixels(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLsizei, GLsizei, GLenum, - GLenum, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ReadPixels, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawPixels) (GLsizei, GLsizei, GLenum, GLenum, - const GLvoid *); -#define CALL_DrawPixels(disp, parameters) \ - (* GET_DrawPixels(disp)) parameters -static inline _glptr_DrawPixels -GET_DrawPixels(struct _glapi_table *disp) -{ - return (_glptr_DrawPixels) (GET_by_offset(disp, _gloffset_DrawPixels)); -} - -static inline void -SET_DrawPixels(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLsizei, GLenum, GLenum, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_DrawPixels, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetBooleanv) (GLenum, GLboolean *); - -#define CALL_GetBooleanv(disp, parameters) \ - (* GET_GetBooleanv(disp)) parameters -static inline _glptr_GetBooleanv -GET_GetBooleanv(struct _glapi_table *disp) -{ - return (_glptr_GetBooleanv) (GET_by_offset(disp, _gloffset_GetBooleanv)); -} - -static inline void -SET_GetBooleanv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLboolean *)) -{ - SET_by_offset(disp, _gloffset_GetBooleanv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetClipPlane) (GLenum, GLdouble *); - -#define CALL_GetClipPlane(disp, parameters) \ - (* GET_GetClipPlane(disp)) parameters -static inline _glptr_GetClipPlane -GET_GetClipPlane(struct _glapi_table *disp) -{ - return (_glptr_GetClipPlane) (GET_by_offset(disp, _gloffset_GetClipPlane)); -} - -static inline void -SET_GetClipPlane(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetClipPlane, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetDoublev) (GLenum, GLdouble *); - -#define CALL_GetDoublev(disp, parameters) \ - (* GET_GetDoublev(disp)) parameters -static inline _glptr_GetDoublev -GET_GetDoublev(struct _glapi_table *disp) -{ - return (_glptr_GetDoublev) (GET_by_offset(disp, _gloffset_GetDoublev)); -} - -static inline void -SET_GetDoublev(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetDoublev, fn); -} - -typedef GLenum(GLAPIENTRYP _glptr_GetError) (void); - -#define CALL_GetError(disp, parameters) \ - (* GET_GetError(disp)) parameters -static inline _glptr_GetError -GET_GetError(struct _glapi_table *disp) -{ - return (_glptr_GetError) (GET_by_offset(disp, _gloffset_GetError)); -} - -static inline void -SET_GetError(struct _glapi_table *disp, GLenum(GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_GetError, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetFloatv) (GLenum, GLfloat *); - -#define CALL_GetFloatv(disp, parameters) \ - (* GET_GetFloatv(disp)) parameters -static inline _glptr_GetFloatv -GET_GetFloatv(struct _glapi_table *disp) -{ - return (_glptr_GetFloatv) (GET_by_offset(disp, _gloffset_GetFloatv)); -} - -static inline void -SET_GetFloatv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetFloatv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetIntegerv) (GLenum, GLint *); - -#define CALL_GetIntegerv(disp, parameters) \ - (* GET_GetIntegerv(disp)) parameters -static inline _glptr_GetIntegerv -GET_GetIntegerv(struct _glapi_table *disp) -{ - return (_glptr_GetIntegerv) (GET_by_offset(disp, _gloffset_GetIntegerv)); -} - -static inline void -SET_GetIntegerv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetIntegerv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetLightfv) (GLenum, GLenum, GLfloat *); - -#define CALL_GetLightfv(disp, parameters) \ - (* GET_GetLightfv(disp)) parameters -static inline _glptr_GetLightfv -GET_GetLightfv(struct _glapi_table *disp) -{ - return (_glptr_GetLightfv) (GET_by_offset(disp, _gloffset_GetLightfv)); -} - -static inline void -SET_GetLightfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetLightfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetLightiv) (GLenum, GLenum, GLint *); - -#define CALL_GetLightiv(disp, parameters) \ - (* GET_GetLightiv(disp)) parameters -static inline _glptr_GetLightiv -GET_GetLightiv(struct _glapi_table *disp) -{ - return (_glptr_GetLightiv) (GET_by_offset(disp, _gloffset_GetLightiv)); -} - -static inline void -SET_GetLightiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetLightiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMapdv) (GLenum, GLenum, GLdouble *); - -#define CALL_GetMapdv(disp, parameters) \ - (* GET_GetMapdv(disp)) parameters -static inline _glptr_GetMapdv -GET_GetMapdv(struct _glapi_table *disp) -{ - return (_glptr_GetMapdv) (GET_by_offset(disp, _gloffset_GetMapdv)); -} - -static inline void -SET_GetMapdv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetMapdv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMapfv) (GLenum, GLenum, GLfloat *); - -#define CALL_GetMapfv(disp, parameters) \ - (* GET_GetMapfv(disp)) parameters -static inline _glptr_GetMapfv -GET_GetMapfv(struct _glapi_table *disp) -{ - return (_glptr_GetMapfv) (GET_by_offset(disp, _gloffset_GetMapfv)); -} - -static inline void -SET_GetMapfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetMapfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMapiv) (GLenum, GLenum, GLint *); - -#define CALL_GetMapiv(disp, parameters) \ - (* GET_GetMapiv(disp)) parameters -static inline _glptr_GetMapiv -GET_GetMapiv(struct _glapi_table *disp) -{ - return (_glptr_GetMapiv) (GET_by_offset(disp, _gloffset_GetMapiv)); -} - -static inline void -SET_GetMapiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetMapiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMaterialfv) (GLenum, GLenum, GLfloat *); - -#define CALL_GetMaterialfv(disp, parameters) \ - (* GET_GetMaterialfv(disp)) parameters -static inline _glptr_GetMaterialfv -GET_GetMaterialfv(struct _glapi_table *disp) -{ - return (_glptr_GetMaterialfv) (GET_by_offset - (disp, _gloffset_GetMaterialfv)); -} - -static inline void -SET_GetMaterialfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetMaterialfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMaterialiv) (GLenum, GLenum, GLint *); - -#define CALL_GetMaterialiv(disp, parameters) \ - (* GET_GetMaterialiv(disp)) parameters -static inline _glptr_GetMaterialiv -GET_GetMaterialiv(struct _glapi_table *disp) -{ - return (_glptr_GetMaterialiv) (GET_by_offset - (disp, _gloffset_GetMaterialiv)); -} - -static inline void -SET_GetMaterialiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetMaterialiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetPixelMapfv) (GLenum, GLfloat *); - -#define CALL_GetPixelMapfv(disp, parameters) \ - (* GET_GetPixelMapfv(disp)) parameters -static inline _glptr_GetPixelMapfv -GET_GetPixelMapfv(struct _glapi_table *disp) -{ - return (_glptr_GetPixelMapfv) (GET_by_offset - (disp, _gloffset_GetPixelMapfv)); -} - -static inline void -SET_GetPixelMapfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetPixelMapfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetPixelMapuiv) (GLenum, GLuint *); - -#define CALL_GetPixelMapuiv(disp, parameters) \ - (* GET_GetPixelMapuiv(disp)) parameters -static inline _glptr_GetPixelMapuiv -GET_GetPixelMapuiv(struct _glapi_table *disp) -{ - return (_glptr_GetPixelMapuiv) (GET_by_offset - (disp, _gloffset_GetPixelMapuiv)); -} - -static inline void -SET_GetPixelMapuiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetPixelMapuiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetPixelMapusv) (GLenum, GLushort *); - -#define CALL_GetPixelMapusv(disp, parameters) \ - (* GET_GetPixelMapusv(disp)) parameters -static inline _glptr_GetPixelMapusv -GET_GetPixelMapusv(struct _glapi_table *disp) -{ - return (_glptr_GetPixelMapusv) (GET_by_offset - (disp, _gloffset_GetPixelMapusv)); -} - -static inline void -SET_GetPixelMapusv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLushort *)) -{ - SET_by_offset(disp, _gloffset_GetPixelMapusv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetPolygonStipple) (GLubyte *); - -#define CALL_GetPolygonStipple(disp, parameters) \ - (* GET_GetPolygonStipple(disp)) parameters -static inline _glptr_GetPolygonStipple -GET_GetPolygonStipple(struct _glapi_table *disp) -{ - return (_glptr_GetPolygonStipple) (GET_by_offset - (disp, _gloffset_GetPolygonStipple)); -} - -static inline void -SET_GetPolygonStipple(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLubyte *)) -{ - SET_by_offset(disp, _gloffset_GetPolygonStipple, fn); -} - -typedef const GLubyte *(GLAPIENTRYP _glptr_GetString) (GLenum); - -#define CALL_GetString(disp, parameters) \ - (* GET_GetString(disp)) parameters -static inline _glptr_GetString -GET_GetString(struct _glapi_table *disp) -{ - return (_glptr_GetString) (GET_by_offset(disp, _gloffset_GetString)); -} - -static inline void -SET_GetString(struct _glapi_table *disp, - const GLubyte * (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_GetString, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexEnvfv) (GLenum, GLenum, GLfloat *); - -#define CALL_GetTexEnvfv(disp, parameters) \ - (* GET_GetTexEnvfv(disp)) parameters -static inline _glptr_GetTexEnvfv -GET_GetTexEnvfv(struct _glapi_table *disp) -{ - return (_glptr_GetTexEnvfv) (GET_by_offset(disp, _gloffset_GetTexEnvfv)); -} - -static inline void -SET_GetTexEnvfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetTexEnvfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexEnviv) (GLenum, GLenum, GLint *); - -#define CALL_GetTexEnviv(disp, parameters) \ - (* GET_GetTexEnviv(disp)) parameters -static inline _glptr_GetTexEnviv -GET_GetTexEnviv(struct _glapi_table *disp) -{ - return (_glptr_GetTexEnviv) (GET_by_offset(disp, _gloffset_GetTexEnviv)); -} - -static inline void -SET_GetTexEnviv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetTexEnviv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexGendv) (GLenum, GLenum, GLdouble *); - -#define CALL_GetTexGendv(disp, parameters) \ - (* GET_GetTexGendv(disp)) parameters -static inline _glptr_GetTexGendv -GET_GetTexGendv(struct _glapi_table *disp) -{ - return (_glptr_GetTexGendv) (GET_by_offset(disp, _gloffset_GetTexGendv)); -} - -static inline void -SET_GetTexGendv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetTexGendv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexGenfv) (GLenum, GLenum, GLfloat *); - -#define CALL_GetTexGenfv(disp, parameters) \ - (* GET_GetTexGenfv(disp)) parameters -static inline _glptr_GetTexGenfv -GET_GetTexGenfv(struct _glapi_table *disp) -{ - return (_glptr_GetTexGenfv) (GET_by_offset(disp, _gloffset_GetTexGenfv)); -} - -static inline void -SET_GetTexGenfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetTexGenfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexGeniv) (GLenum, GLenum, GLint *); - -#define CALL_GetTexGeniv(disp, parameters) \ - (* GET_GetTexGeniv(disp)) parameters -static inline _glptr_GetTexGeniv -GET_GetTexGeniv(struct _glapi_table *disp) -{ - return (_glptr_GetTexGeniv) (GET_by_offset(disp, _gloffset_GetTexGeniv)); -} - -static inline void -SET_GetTexGeniv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetTexGeniv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexImage) (GLenum, GLint, GLenum, GLenum, - GLvoid *); -#define CALL_GetTexImage(disp, parameters) \ - (* GET_GetTexImage(disp)) parameters -static inline _glptr_GetTexImage -GET_GetTexImage(struct _glapi_table *disp) -{ - return (_glptr_GetTexImage) (GET_by_offset(disp, _gloffset_GetTexImage)); -} - -static inline void -SET_GetTexImage(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, GLenum, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetTexImage, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexParameterfv) (GLenum, GLenum, GLfloat *); - -#define CALL_GetTexParameterfv(disp, parameters) \ - (* GET_GetTexParameterfv(disp)) parameters -static inline _glptr_GetTexParameterfv -GET_GetTexParameterfv(struct _glapi_table *disp) -{ - return (_glptr_GetTexParameterfv) (GET_by_offset - (disp, _gloffset_GetTexParameterfv)); -} - -static inline void -SET_GetTexParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetTexParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexParameteriv) (GLenum, GLenum, GLint *); - -#define CALL_GetTexParameteriv(disp, parameters) \ - (* GET_GetTexParameteriv(disp)) parameters -static inline _glptr_GetTexParameteriv -GET_GetTexParameteriv(struct _glapi_table *disp) -{ - return (_glptr_GetTexParameteriv) (GET_by_offset - (disp, _gloffset_GetTexParameteriv)); -} - -static inline void -SET_GetTexParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetTexParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexLevelParameterfv) (GLenum, GLint, GLenum, - GLfloat *); -#define CALL_GetTexLevelParameterfv(disp, parameters) \ - (* GET_GetTexLevelParameterfv(disp)) parameters -static inline _glptr_GetTexLevelParameterfv -GET_GetTexLevelParameterfv(struct _glapi_table *disp) -{ - return (_glptr_GetTexLevelParameterfv) (GET_by_offset - (disp, - _gloffset_GetTexLevelParameterfv)); -} - -static inline void -SET_GetTexLevelParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetTexLevelParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexLevelParameteriv) (GLenum, GLint, GLenum, - GLint *); -#define CALL_GetTexLevelParameteriv(disp, parameters) \ - (* GET_GetTexLevelParameteriv(disp)) parameters -static inline _glptr_GetTexLevelParameteriv -GET_GetTexLevelParameteriv(struct _glapi_table *disp) -{ - return (_glptr_GetTexLevelParameteriv) (GET_by_offset - (disp, - _gloffset_GetTexLevelParameteriv)); -} - -static inline void -SET_GetTexLevelParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetTexLevelParameteriv, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsEnabled) (GLenum); - -#define CALL_IsEnabled(disp, parameters) \ - (* GET_IsEnabled(disp)) parameters -static inline _glptr_IsEnabled -GET_IsEnabled(struct _glapi_table *disp) -{ - return (_glptr_IsEnabled) (GET_by_offset(disp, _gloffset_IsEnabled)); -} - -static inline void -SET_IsEnabled(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_IsEnabled, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsList) (GLuint); - -#define CALL_IsList(disp, parameters) \ - (* GET_IsList(disp)) parameters -static inline _glptr_IsList -GET_IsList(struct _glapi_table *disp) -{ - return (_glptr_IsList) (GET_by_offset(disp, _gloffset_IsList)); -} - -static inline void -SET_IsList(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsList, fn); -} - -typedef void (GLAPIENTRYP _glptr_DepthRange) (GLclampd, GLclampd); - -#define CALL_DepthRange(disp, parameters) \ - (* GET_DepthRange(disp)) parameters -static inline _glptr_DepthRange -GET_DepthRange(struct _glapi_table *disp) -{ - return (_glptr_DepthRange) (GET_by_offset(disp, _gloffset_DepthRange)); -} - -static inline void -SET_DepthRange(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLclampd, GLclampd)) -{ - SET_by_offset(disp, _gloffset_DepthRange, fn); -} - -typedef void (GLAPIENTRYP _glptr_Frustum) (GLdouble, GLdouble, GLdouble, - GLdouble, GLdouble, GLdouble); -#define CALL_Frustum(disp, parameters) \ - (* GET_Frustum(disp)) parameters -static inline _glptr_Frustum -GET_Frustum(struct _glapi_table *disp) -{ - return (_glptr_Frustum) (GET_by_offset(disp, _gloffset_Frustum)); -} - -static inline void -SET_Frustum(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble, - GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Frustum, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadIdentity) (void); - -#define CALL_LoadIdentity(disp, parameters) \ - (* GET_LoadIdentity(disp)) parameters -static inline _glptr_LoadIdentity -GET_LoadIdentity(struct _glapi_table *disp) -{ - return (_glptr_LoadIdentity) (GET_by_offset(disp, _gloffset_LoadIdentity)); -} - -static inline void -SET_LoadIdentity(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_LoadIdentity, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadMatrixf) (const GLfloat *); - -#define CALL_LoadMatrixf(disp, parameters) \ - (* GET_LoadMatrixf(disp)) parameters -static inline _glptr_LoadMatrixf -GET_LoadMatrixf(struct _glapi_table *disp) -{ - return (_glptr_LoadMatrixf) (GET_by_offset(disp, _gloffset_LoadMatrixf)); -} - -static inline void -SET_LoadMatrixf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_LoadMatrixf, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadMatrixd) (const GLdouble *); - -#define CALL_LoadMatrixd(disp, parameters) \ - (* GET_LoadMatrixd(disp)) parameters -static inline _glptr_LoadMatrixd -GET_LoadMatrixd(struct _glapi_table *disp) -{ - return (_glptr_LoadMatrixd) (GET_by_offset(disp, _gloffset_LoadMatrixd)); -} - -static inline void -SET_LoadMatrixd(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_LoadMatrixd, fn); -} - -typedef void (GLAPIENTRYP _glptr_MatrixMode) (GLenum); - -#define CALL_MatrixMode(disp, parameters) \ - (* GET_MatrixMode(disp)) parameters -static inline _glptr_MatrixMode -GET_MatrixMode(struct _glapi_table *disp) -{ - return (_glptr_MatrixMode) (GET_by_offset(disp, _gloffset_MatrixMode)); -} - -static inline void -SET_MatrixMode(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_MatrixMode, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultMatrixf) (const GLfloat *); - -#define CALL_MultMatrixf(disp, parameters) \ - (* GET_MultMatrixf(disp)) parameters -static inline _glptr_MultMatrixf -GET_MultMatrixf(struct _glapi_table *disp) -{ - return (_glptr_MultMatrixf) (GET_by_offset(disp, _gloffset_MultMatrixf)); -} - -static inline void -SET_MultMatrixf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_MultMatrixf, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultMatrixd) (const GLdouble *); - -#define CALL_MultMatrixd(disp, parameters) \ - (* GET_MultMatrixd(disp)) parameters -static inline _glptr_MultMatrixd -GET_MultMatrixd(struct _glapi_table *disp) -{ - return (_glptr_MultMatrixd) (GET_by_offset(disp, _gloffset_MultMatrixd)); -} - -static inline void -SET_MultMatrixd(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_MultMatrixd, fn); -} - -typedef void (GLAPIENTRYP _glptr_Ortho) (GLdouble, GLdouble, GLdouble, GLdouble, - GLdouble, GLdouble); -#define CALL_Ortho(disp, parameters) \ - (* GET_Ortho(disp)) parameters -static inline _glptr_Ortho -GET_Ortho(struct _glapi_table *disp) -{ - return (_glptr_Ortho) (GET_by_offset(disp, _gloffset_Ortho)); -} - -static inline void -SET_Ortho(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble, - GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Ortho, fn); -} - -typedef void (GLAPIENTRYP _glptr_PopMatrix) (void); - -#define CALL_PopMatrix(disp, parameters) \ - (* GET_PopMatrix(disp)) parameters -static inline _glptr_PopMatrix -GET_PopMatrix(struct _glapi_table *disp) -{ - return (_glptr_PopMatrix) (GET_by_offset(disp, _gloffset_PopMatrix)); -} - -static inline void -SET_PopMatrix(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_PopMatrix, fn); -} - -typedef void (GLAPIENTRYP _glptr_PushMatrix) (void); - -#define CALL_PushMatrix(disp, parameters) \ - (* GET_PushMatrix(disp)) parameters -static inline _glptr_PushMatrix -GET_PushMatrix(struct _glapi_table *disp) -{ - return (_glptr_PushMatrix) (GET_by_offset(disp, _gloffset_PushMatrix)); -} - -static inline void -SET_PushMatrix(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_PushMatrix, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rotated) (GLdouble, GLdouble, GLdouble, - GLdouble); -#define CALL_Rotated(disp, parameters) \ - (* GET_Rotated(disp)) parameters -static inline _glptr_Rotated -GET_Rotated(struct _glapi_table *disp) -{ - return (_glptr_Rotated) (GET_by_offset(disp, _gloffset_Rotated)); -} - -static inline void -SET_Rotated(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Rotated, fn); -} - -typedef void (GLAPIENTRYP _glptr_Rotatef) (GLfloat, GLfloat, GLfloat, GLfloat); - -#define CALL_Rotatef(disp, parameters) \ - (* GET_Rotatef(disp)) parameters -static inline _glptr_Rotatef -GET_Rotatef(struct _glapi_table *disp) -{ - return (_glptr_Rotatef) (GET_by_offset(disp, _gloffset_Rotatef)); -} - -static inline void -SET_Rotatef(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Rotatef, fn); -} - -typedef void (GLAPIENTRYP _glptr_Scaled) (GLdouble, GLdouble, GLdouble); - -#define CALL_Scaled(disp, parameters) \ - (* GET_Scaled(disp)) parameters -static inline _glptr_Scaled -GET_Scaled(struct _glapi_table *disp) -{ - return (_glptr_Scaled) (GET_by_offset(disp, _gloffset_Scaled)); -} - -static inline void -SET_Scaled(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Scaled, fn); -} - -typedef void (GLAPIENTRYP _glptr_Scalef) (GLfloat, GLfloat, GLfloat); - -#define CALL_Scalef(disp, parameters) \ - (* GET_Scalef(disp)) parameters -static inline _glptr_Scalef -GET_Scalef(struct _glapi_table *disp) -{ - return (_glptr_Scalef) (GET_by_offset(disp, _gloffset_Scalef)); -} - -static inline void -SET_Scalef(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Scalef, fn); -} - -typedef void (GLAPIENTRYP _glptr_Translated) (GLdouble, GLdouble, GLdouble); - -#define CALL_Translated(disp, parameters) \ - (* GET_Translated(disp)) parameters -static inline _glptr_Translated -GET_Translated(struct _glapi_table *disp) -{ - return (_glptr_Translated) (GET_by_offset(disp, _gloffset_Translated)); -} - -static inline void -SET_Translated(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_Translated, fn); -} - -typedef void (GLAPIENTRYP _glptr_Translatef) (GLfloat, GLfloat, GLfloat); - -#define CALL_Translatef(disp, parameters) \ - (* GET_Translatef(disp)) parameters -static inline _glptr_Translatef -GET_Translatef(struct _glapi_table *disp) -{ - return (_glptr_Translatef) (GET_by_offset(disp, _gloffset_Translatef)); -} - -static inline void -SET_Translatef(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Translatef, fn); -} - -typedef void (GLAPIENTRYP _glptr_Viewport) (GLint, GLint, GLsizei, GLsizei); - -#define CALL_Viewport(disp, parameters) \ - (* GET_Viewport(disp)) parameters -static inline _glptr_Viewport -GET_Viewport(struct _glapi_table *disp) -{ - return (_glptr_Viewport) (GET_by_offset(disp, _gloffset_Viewport)); -} - -static inline void -SET_Viewport(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_Viewport, fn); -} - -typedef void (GLAPIENTRYP _glptr_ArrayElement) (GLint); - -#define CALL_ArrayElement(disp, parameters) \ - (* GET_ArrayElement(disp)) parameters -static inline _glptr_ArrayElement -GET_ArrayElement(struct _glapi_table *disp) -{ - return (_glptr_ArrayElement) (GET_by_offset(disp, _gloffset_ArrayElement)); -} - -static inline void -SET_ArrayElement(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLint)) -{ - SET_by_offset(disp, _gloffset_ArrayElement, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindTexture) (GLenum, GLuint); - -#define CALL_BindTexture(disp, parameters) \ - (* GET_BindTexture(disp)) parameters -static inline _glptr_BindTexture -GET_BindTexture(struct _glapi_table *disp) -{ - return (_glptr_BindTexture) (GET_by_offset(disp, _gloffset_BindTexture)); -} - -static inline void -SET_BindTexture(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindTexture, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorPointer) (GLint, GLenum, GLsizei, - const GLvoid *); -#define CALL_ColorPointer(disp, parameters) \ - (* GET_ColorPointer(disp)) parameters -static inline _glptr_ColorPointer -GET_ColorPointer(struct _glapi_table *disp) -{ - return (_glptr_ColorPointer) (GET_by_offset(disp, _gloffset_ColorPointer)); -} - -static inline void -SET_ColorPointer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLenum, GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ColorPointer, fn); -} - -typedef void (GLAPIENTRYP _glptr_DisableClientState) (GLenum); - -#define CALL_DisableClientState(disp, parameters) \ - (* GET_DisableClientState(disp)) parameters -static inline _glptr_DisableClientState -GET_DisableClientState(struct _glapi_table *disp) -{ - return (_glptr_DisableClientState) (GET_by_offset - (disp, _gloffset_DisableClientState)); -} - -static inline void -SET_DisableClientState(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_DisableClientState, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawArrays) (GLenum, GLint, GLsizei); - -#define CALL_DrawArrays(disp, parameters) \ - (* GET_DrawArrays(disp)) parameters -static inline _glptr_DrawArrays -GET_DrawArrays(struct _glapi_table *disp) -{ - return (_glptr_DrawArrays) (GET_by_offset(disp, _gloffset_DrawArrays)); -} - -static inline void -SET_DrawArrays(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLsizei)) -{ - SET_by_offset(disp, _gloffset_DrawArrays, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawElements) (GLenum, GLsizei, GLenum, - const GLvoid *); -#define CALL_DrawElements(disp, parameters) \ - (* GET_DrawElements(disp)) parameters -static inline _glptr_DrawElements -GET_DrawElements(struct _glapi_table *disp) -{ - return (_glptr_DrawElements) (GET_by_offset(disp, _gloffset_DrawElements)); -} - -static inline void -SET_DrawElements(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLenum, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_DrawElements, fn); -} - -typedef void (GLAPIENTRYP _glptr_EdgeFlagPointer) (GLsizei, const GLvoid *); - -#define CALL_EdgeFlagPointer(disp, parameters) \ - (* GET_EdgeFlagPointer(disp)) parameters -static inline _glptr_EdgeFlagPointer -GET_EdgeFlagPointer(struct _glapi_table *disp) -{ - return (_glptr_EdgeFlagPointer) (GET_by_offset - (disp, _gloffset_EdgeFlagPointer)); -} - -static inline void -SET_EdgeFlagPointer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_EdgeFlagPointer, fn); -} - -typedef void (GLAPIENTRYP _glptr_EnableClientState) (GLenum); - -#define CALL_EnableClientState(disp, parameters) \ - (* GET_EnableClientState(disp)) parameters -static inline _glptr_EnableClientState -GET_EnableClientState(struct _glapi_table *disp) -{ - return (_glptr_EnableClientState) (GET_by_offset - (disp, _gloffset_EnableClientState)); -} - -static inline void -SET_EnableClientState(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_EnableClientState, fn); -} - -typedef void (GLAPIENTRYP _glptr_IndexPointer) (GLenum, GLsizei, - const GLvoid *); -#define CALL_IndexPointer(disp, parameters) \ - (* GET_IndexPointer(disp)) parameters -static inline _glptr_IndexPointer -GET_IndexPointer(struct _glapi_table *disp) -{ - return (_glptr_IndexPointer) (GET_by_offset(disp, _gloffset_IndexPointer)); -} - -static inline void -SET_IndexPointer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_IndexPointer, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexub) (GLubyte); - -#define CALL_Indexub(disp, parameters) \ - (* GET_Indexub(disp)) parameters -static inline _glptr_Indexub -GET_Indexub(struct _glapi_table *disp) -{ - return (_glptr_Indexub) (GET_by_offset(disp, _gloffset_Indexub)); -} - -static inline void -SET_Indexub(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLubyte)) -{ - SET_by_offset(disp, _gloffset_Indexub, fn); -} - -typedef void (GLAPIENTRYP _glptr_Indexubv) (const GLubyte *); - -#define CALL_Indexubv(disp, parameters) \ - (* GET_Indexubv(disp)) parameters -static inline _glptr_Indexubv -GET_Indexubv(struct _glapi_table *disp) -{ - return (_glptr_Indexubv) (GET_by_offset(disp, _gloffset_Indexubv)); -} - -static inline void -SET_Indexubv(struct _glapi_table *disp, void (GLAPIENTRYP fn) (const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_Indexubv, fn); -} - -typedef void (GLAPIENTRYP _glptr_InterleavedArrays) (GLenum, GLsizei, - const GLvoid *); -#define CALL_InterleavedArrays(disp, parameters) \ - (* GET_InterleavedArrays(disp)) parameters -static inline _glptr_InterleavedArrays -GET_InterleavedArrays(struct _glapi_table *disp) -{ - return (_glptr_InterleavedArrays) (GET_by_offset - (disp, _gloffset_InterleavedArrays)); -} - -static inline void -SET_InterleavedArrays(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_InterleavedArrays, fn); -} - -typedef void (GLAPIENTRYP _glptr_NormalPointer) (GLenum, GLsizei, - const GLvoid *); -#define CALL_NormalPointer(disp, parameters) \ - (* GET_NormalPointer(disp)) parameters -static inline _glptr_NormalPointer -GET_NormalPointer(struct _glapi_table *disp) -{ - return (_glptr_NormalPointer) (GET_by_offset - (disp, _gloffset_NormalPointer)); -} - -static inline void -SET_NormalPointer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_NormalPointer, fn); -} - -typedef void (GLAPIENTRYP _glptr_PolygonOffset) (GLfloat, GLfloat); - -#define CALL_PolygonOffset(disp, parameters) \ - (* GET_PolygonOffset(disp)) parameters -static inline _glptr_PolygonOffset -GET_PolygonOffset(struct _glapi_table *disp) -{ - return (_glptr_PolygonOffset) (GET_by_offset - (disp, _gloffset_PolygonOffset)); -} - -static inline void -SET_PolygonOffset(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_PolygonOffset, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordPointer) (GLint, GLenum, GLsizei, - const GLvoid *); -#define CALL_TexCoordPointer(disp, parameters) \ - (* GET_TexCoordPointer(disp)) parameters -static inline _glptr_TexCoordPointer -GET_TexCoordPointer(struct _glapi_table *disp) -{ - return (_glptr_TexCoordPointer) (GET_by_offset - (disp, _gloffset_TexCoordPointer)); -} - -static inline void -SET_TexCoordPointer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLenum, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexCoordPointer, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexPointer) (GLint, GLenum, GLsizei, - const GLvoid *); -#define CALL_VertexPointer(disp, parameters) \ - (* GET_VertexPointer(disp)) parameters -static inline _glptr_VertexPointer -GET_VertexPointer(struct _glapi_table *disp) -{ - return (_glptr_VertexPointer) (GET_by_offset - (disp, _gloffset_VertexPointer)); -} - -static inline void -SET_VertexPointer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLenum, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_VertexPointer, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_AreTexturesResident) (GLsizei, - const GLuint *, - GLboolean *); -#define CALL_AreTexturesResident(disp, parameters) \ - (* GET_AreTexturesResident(disp)) parameters -static inline _glptr_AreTexturesResident -GET_AreTexturesResident(struct _glapi_table *disp) -{ - return (_glptr_AreTexturesResident) (GET_by_offset - (disp, _gloffset_AreTexturesResident)); -} - -static inline void -SET_AreTexturesResident(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLsizei, const GLuint *, - GLboolean *)) -{ - SET_by_offset(disp, _gloffset_AreTexturesResident, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyTexImage1D) (GLenum, GLint, GLenum, GLint, - GLint, GLsizei, GLint); -#define CALL_CopyTexImage1D(disp, parameters) \ - (* GET_CopyTexImage1D(disp)) parameters -static inline _glptr_CopyTexImage1D -GET_CopyTexImage1D(struct _glapi_table *disp) -{ - return (_glptr_CopyTexImage1D) (GET_by_offset - (disp, _gloffset_CopyTexImage1D)); -} - -static inline void -SET_CopyTexImage1D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, GLint, GLint, - GLsizei, GLint)) -{ - SET_by_offset(disp, _gloffset_CopyTexImage1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyTexImage2D) (GLenum, GLint, GLenum, GLint, - GLint, GLsizei, GLsizei, - GLint); -#define CALL_CopyTexImage2D(disp, parameters) \ - (* GET_CopyTexImage2D(disp)) parameters -static inline _glptr_CopyTexImage2D -GET_CopyTexImage2D(struct _glapi_table *disp) -{ - return (_glptr_CopyTexImage2D) (GET_by_offset - (disp, _gloffset_CopyTexImage2D)); -} - -static inline void -SET_CopyTexImage2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, GLint, GLint, - GLsizei, GLsizei, GLint)) -{ - SET_by_offset(disp, _gloffset_CopyTexImage2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyTexSubImage1D) (GLenum, GLint, GLint, - GLint, GLint, GLsizei); -#define CALL_CopyTexSubImage1D(disp, parameters) \ - (* GET_CopyTexSubImage1D(disp)) parameters -static inline _glptr_CopyTexSubImage1D -GET_CopyTexSubImage1D(struct _glapi_table *disp) -{ - return (_glptr_CopyTexSubImage1D) (GET_by_offset - (disp, _gloffset_CopyTexSubImage1D)); -} - -static inline void -SET_CopyTexSubImage1D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint, GLint, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_CopyTexSubImage1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyTexSubImage2D) (GLenum, GLint, GLint, - GLint, GLint, GLint, - GLsizei, GLsizei); -#define CALL_CopyTexSubImage2D(disp, parameters) \ - (* GET_CopyTexSubImage2D(disp)) parameters -static inline _glptr_CopyTexSubImage2D -GET_CopyTexSubImage2D(struct _glapi_table *disp) -{ - return (_glptr_CopyTexSubImage2D) (GET_by_offset - (disp, _gloffset_CopyTexSubImage2D)); -} - -static inline void -SET_CopyTexSubImage2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint, GLint, - GLint, GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_CopyTexSubImage2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteTextures) (GLsizei, const GLuint *); - -#define CALL_DeleteTextures(disp, parameters) \ - (* GET_DeleteTextures(disp)) parameters -static inline _glptr_DeleteTextures -GET_DeleteTextures(struct _glapi_table *disp) -{ - return (_glptr_DeleteTextures) (GET_by_offset - (disp, _gloffset_DeleteTextures)); -} - -static inline void -SET_DeleteTextures(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteTextures, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenTextures) (GLsizei, GLuint *); - -#define CALL_GenTextures(disp, parameters) \ - (* GET_GenTextures(disp)) parameters -static inline _glptr_GenTextures -GET_GenTextures(struct _glapi_table *disp) -{ - return (_glptr_GenTextures) (GET_by_offset(disp, _gloffset_GenTextures)); -} - -static inline void -SET_GenTextures(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenTextures, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetPointerv) (GLenum, GLvoid **); - -#define CALL_GetPointerv(disp, parameters) \ - (* GET_GetPointerv(disp)) parameters -static inline _glptr_GetPointerv -GET_GetPointerv(struct _glapi_table *disp) -{ - return (_glptr_GetPointerv) (GET_by_offset(disp, _gloffset_GetPointerv)); -} - -static inline void -SET_GetPointerv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLvoid **)) -{ - SET_by_offset(disp, _gloffset_GetPointerv, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsTexture) (GLuint); - -#define CALL_IsTexture(disp, parameters) \ - (* GET_IsTexture(disp)) parameters -static inline _glptr_IsTexture -GET_IsTexture(struct _glapi_table *disp) -{ - return (_glptr_IsTexture) (GET_by_offset(disp, _gloffset_IsTexture)); -} - -static inline void -SET_IsTexture(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsTexture, fn); -} - -typedef void (GLAPIENTRYP _glptr_PrioritizeTextures) (GLsizei, const GLuint *, - const GLclampf *); -#define CALL_PrioritizeTextures(disp, parameters) \ - (* GET_PrioritizeTextures(disp)) parameters -static inline _glptr_PrioritizeTextures -GET_PrioritizeTextures(struct _glapi_table *disp) -{ - return (_glptr_PrioritizeTextures) (GET_by_offset - (disp, _gloffset_PrioritizeTextures)); -} - -static inline void -SET_PrioritizeTextures(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *, - const GLclampf *)) -{ - SET_by_offset(disp, _gloffset_PrioritizeTextures, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexSubImage1D) (GLenum, GLint, GLint, GLsizei, - GLenum, GLenum, - const GLvoid *); -#define CALL_TexSubImage1D(disp, parameters) \ - (* GET_TexSubImage1D(disp)) parameters -static inline _glptr_TexSubImage1D -GET_TexSubImage1D(struct _glapi_table *disp) -{ - return (_glptr_TexSubImage1D) (GET_by_offset - (disp, _gloffset_TexSubImage1D)); -} - -static inline void -SET_TexSubImage1D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLsizei, GLenum, - GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexSubImage1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexSubImage2D) (GLenum, GLint, GLint, GLint, - GLsizei, GLsizei, GLenum, - GLenum, const GLvoid *); -#define CALL_TexSubImage2D(disp, parameters) \ - (* GET_TexSubImage2D(disp)) parameters -static inline _glptr_TexSubImage2D -GET_TexSubImage2D(struct _glapi_table *disp) -{ - return (_glptr_TexSubImage2D) (GET_by_offset - (disp, _gloffset_TexSubImage2D)); -} - -static inline void -SET_TexSubImage2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint, GLsizei, - GLsizei, GLenum, GLenum, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexSubImage2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_PopClientAttrib) (void); - -#define CALL_PopClientAttrib(disp, parameters) \ - (* GET_PopClientAttrib(disp)) parameters -static inline _glptr_PopClientAttrib -GET_PopClientAttrib(struct _glapi_table *disp) -{ - return (_glptr_PopClientAttrib) (GET_by_offset - (disp, _gloffset_PopClientAttrib)); -} - -static inline void -SET_PopClientAttrib(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_PopClientAttrib, fn); -} - -typedef void (GLAPIENTRYP _glptr_PushClientAttrib) (GLbitfield); - -#define CALL_PushClientAttrib(disp, parameters) \ - (* GET_PushClientAttrib(disp)) parameters -static inline _glptr_PushClientAttrib -GET_PushClientAttrib(struct _glapi_table *disp) -{ - return (_glptr_PushClientAttrib) (GET_by_offset - (disp, _gloffset_PushClientAttrib)); -} - -static inline void -SET_PushClientAttrib(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLbitfield)) -{ - SET_by_offset(disp, _gloffset_PushClientAttrib, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendColor) (GLclampf, GLclampf, GLclampf, - GLclampf); -#define CALL_BlendColor(disp, parameters) \ - (* GET_BlendColor(disp)) parameters -static inline _glptr_BlendColor -GET_BlendColor(struct _glapi_table *disp) -{ - return (_glptr_BlendColor) (GET_by_offset(disp, _gloffset_BlendColor)); -} - -static inline void -SET_BlendColor(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLclampf, GLclampf, GLclampf, GLclampf)) -{ - SET_by_offset(disp, _gloffset_BlendColor, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendEquation) (GLenum); - -#define CALL_BlendEquation(disp, parameters) \ - (* GET_BlendEquation(disp)) parameters -static inline _glptr_BlendEquation -GET_BlendEquation(struct _glapi_table *disp) -{ - return (_glptr_BlendEquation) (GET_by_offset - (disp, _gloffset_BlendEquation)); -} - -static inline void -SET_BlendEquation(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendEquation, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawRangeElements) (GLenum, GLuint, GLuint, - GLsizei, GLenum, - const GLvoid *); -#define CALL_DrawRangeElements(disp, parameters) \ - (* GET_DrawRangeElements(disp)) parameters -static inline _glptr_DrawRangeElements -GET_DrawRangeElements(struct _glapi_table *disp) -{ - return (_glptr_DrawRangeElements) (GET_by_offset - (disp, _gloffset_DrawRangeElements)); -} - -static inline void -SET_DrawRangeElements(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLsizei, - GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_DrawRangeElements, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorTable) (GLenum, GLenum, GLsizei, GLenum, - GLenum, const GLvoid *); -#define CALL_ColorTable(disp, parameters) \ - (* GET_ColorTable(disp)) parameters -static inline _glptr_ColorTable -GET_ColorTable(struct _glapi_table *disp) -{ - return (_glptr_ColorTable) (GET_by_offset(disp, _gloffset_ColorTable)); -} - -static inline void -SET_ColorTable(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, GLenum, GLenum, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ColorTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorTableParameterfv) (GLenum, GLenum, - const GLfloat *); -#define CALL_ColorTableParameterfv(disp, parameters) \ - (* GET_ColorTableParameterfv(disp)) parameters -static inline _glptr_ColorTableParameterfv -GET_ColorTableParameterfv(struct _glapi_table *disp) -{ - return (_glptr_ColorTableParameterfv) (GET_by_offset - (disp, - _gloffset_ColorTableParameterfv)); -} - -static inline void -SET_ColorTableParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ColorTableParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorTableParameteriv) (GLenum, GLenum, - const GLint *); -#define CALL_ColorTableParameteriv(disp, parameters) \ - (* GET_ColorTableParameteriv(disp)) parameters -static inline _glptr_ColorTableParameteriv -GET_ColorTableParameteriv(struct _glapi_table *disp) -{ - return (_glptr_ColorTableParameteriv) (GET_by_offset - (disp, - _gloffset_ColorTableParameteriv)); -} - -static inline void -SET_ColorTableParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_ColorTableParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyColorTable) (GLenum, GLenum, GLint, GLint, - GLsizei); -#define CALL_CopyColorTable(disp, parameters) \ - (* GET_CopyColorTable(disp)) parameters -static inline _glptr_CopyColorTable -GET_CopyColorTable(struct _glapi_table *disp) -{ - return (_glptr_CopyColorTable) (GET_by_offset - (disp, _gloffset_CopyColorTable)); -} - -static inline void -SET_CopyColorTable(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint, GLint, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_CopyColorTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetColorTable) (GLenum, GLenum, GLenum, - GLvoid *); -#define CALL_GetColorTable(disp, parameters) \ - (* GET_GetColorTable(disp)) parameters -static inline _glptr_GetColorTable -GET_GetColorTable(struct _glapi_table *disp) -{ - return (_glptr_GetColorTable) (GET_by_offset - (disp, _gloffset_GetColorTable)); -} - -static inline void -SET_GetColorTable(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetColorTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetColorTableParameterfv) (GLenum, GLenum, - GLfloat *); -#define CALL_GetColorTableParameterfv(disp, parameters) \ - (* GET_GetColorTableParameterfv(disp)) parameters -static inline _glptr_GetColorTableParameterfv -GET_GetColorTableParameterfv(struct _glapi_table *disp) -{ - return (_glptr_GetColorTableParameterfv) (GET_by_offset - (disp, - _gloffset_GetColorTableParameterfv)); -} - -static inline void -SET_GetColorTableParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetColorTableParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetColorTableParameteriv) (GLenum, GLenum, - GLint *); -#define CALL_GetColorTableParameteriv(disp, parameters) \ - (* GET_GetColorTableParameteriv(disp)) parameters -static inline _glptr_GetColorTableParameteriv -GET_GetColorTableParameteriv(struct _glapi_table *disp) -{ - return (_glptr_GetColorTableParameteriv) (GET_by_offset - (disp, - _gloffset_GetColorTableParameteriv)); -} - -static inline void -SET_GetColorTableParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetColorTableParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorSubTable) (GLenum, GLsizei, GLsizei, - GLenum, GLenum, - const GLvoid *); -#define CALL_ColorSubTable(disp, parameters) \ - (* GET_ColorSubTable(disp)) parameters -static inline _glptr_ColorSubTable -GET_ColorSubTable(struct _glapi_table *disp) -{ - return (_glptr_ColorSubTable) (GET_by_offset - (disp, _gloffset_ColorSubTable)); -} - -static inline void -SET_ColorSubTable(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLsizei, GLenum, - GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ColorSubTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyColorSubTable) (GLenum, GLsizei, GLint, - GLint, GLsizei); -#define CALL_CopyColorSubTable(disp, parameters) \ - (* GET_CopyColorSubTable(disp)) parameters -static inline _glptr_CopyColorSubTable -GET_CopyColorSubTable(struct _glapi_table *disp) -{ - return (_glptr_CopyColorSubTable) (GET_by_offset - (disp, _gloffset_CopyColorSubTable)); -} - -static inline void -SET_CopyColorSubTable(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLint, GLint, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_CopyColorSubTable, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionFilter1D) (GLenum, GLenum, GLsizei, - GLenum, GLenum, - const GLvoid *); -#define CALL_ConvolutionFilter1D(disp, parameters) \ - (* GET_ConvolutionFilter1D(disp)) parameters -static inline _glptr_ConvolutionFilter1D -GET_ConvolutionFilter1D(struct _glapi_table *disp) -{ - return (_glptr_ConvolutionFilter1D) (GET_by_offset - (disp, _gloffset_ConvolutionFilter1D)); -} - -static inline void -SET_ConvolutionFilter1D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, GLenum, - GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ConvolutionFilter1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionFilter2D) (GLenum, GLenum, GLsizei, - GLsizei, GLenum, GLenum, - const GLvoid *); -#define CALL_ConvolutionFilter2D(disp, parameters) \ - (* GET_ConvolutionFilter2D(disp)) parameters -static inline _glptr_ConvolutionFilter2D -GET_ConvolutionFilter2D(struct _glapi_table *disp) -{ - return (_glptr_ConvolutionFilter2D) (GET_by_offset - (disp, _gloffset_ConvolutionFilter2D)); -} - -static inline void -SET_ConvolutionFilter2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, GLsizei, - GLenum, GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ConvolutionFilter2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameterf) (GLenum, GLenum, - GLfloat); -#define CALL_ConvolutionParameterf(disp, parameters) \ - (* GET_ConvolutionParameterf(disp)) parameters -static inline _glptr_ConvolutionParameterf -GET_ConvolutionParameterf(struct _glapi_table *disp) -{ - return (_glptr_ConvolutionParameterf) (GET_by_offset - (disp, - _gloffset_ConvolutionParameterf)); -} - -static inline void -SET_ConvolutionParameterf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_ConvolutionParameterf, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameterfv) (GLenum, GLenum, - const GLfloat *); -#define CALL_ConvolutionParameterfv(disp, parameters) \ - (* GET_ConvolutionParameterfv(disp)) parameters -static inline _glptr_ConvolutionParameterfv -GET_ConvolutionParameterfv(struct _glapi_table *disp) -{ - return (_glptr_ConvolutionParameterfv) (GET_by_offset - (disp, - _gloffset_ConvolutionParameterfv)); -} - -static inline void -SET_ConvolutionParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ConvolutionParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameteri) (GLenum, GLenum, GLint); - -#define CALL_ConvolutionParameteri(disp, parameters) \ - (* GET_ConvolutionParameteri(disp)) parameters -static inline _glptr_ConvolutionParameteri -GET_ConvolutionParameteri(struct _glapi_table *disp) -{ - return (_glptr_ConvolutionParameteri) (GET_by_offset - (disp, - _gloffset_ConvolutionParameteri)); -} - -static inline void -SET_ConvolutionParameteri(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_ConvolutionParameteri, fn); -} - -typedef void (GLAPIENTRYP _glptr_ConvolutionParameteriv) (GLenum, GLenum, - const GLint *); -#define CALL_ConvolutionParameteriv(disp, parameters) \ - (* GET_ConvolutionParameteriv(disp)) parameters -static inline _glptr_ConvolutionParameteriv -GET_ConvolutionParameteriv(struct _glapi_table *disp) -{ - return (_glptr_ConvolutionParameteriv) (GET_by_offset - (disp, - _gloffset_ConvolutionParameteriv)); -} - -static inline void -SET_ConvolutionParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - const GLint *)) -{ - SET_by_offset(disp, _gloffset_ConvolutionParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyConvolutionFilter1D) (GLenum, GLenum, - GLint, GLint, - GLsizei); -#define CALL_CopyConvolutionFilter1D(disp, parameters) \ - (* GET_CopyConvolutionFilter1D(disp)) parameters -static inline _glptr_CopyConvolutionFilter1D -GET_CopyConvolutionFilter1D(struct _glapi_table *disp) -{ - return (_glptr_CopyConvolutionFilter1D) (GET_by_offset - (disp, - _gloffset_CopyConvolutionFilter1D)); -} - -static inline void -SET_CopyConvolutionFilter1D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint, GLint, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_CopyConvolutionFilter1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyConvolutionFilter2D) (GLenum, GLenum, - GLint, GLint, - GLsizei, GLsizei); -#define CALL_CopyConvolutionFilter2D(disp, parameters) \ - (* GET_CopyConvolutionFilter2D(disp)) parameters -static inline _glptr_CopyConvolutionFilter2D -GET_CopyConvolutionFilter2D(struct _glapi_table *disp) -{ - return (_glptr_CopyConvolutionFilter2D) (GET_by_offset - (disp, - _gloffset_CopyConvolutionFilter2D)); -} - -static inline void -SET_CopyConvolutionFilter2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint, GLint, - GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_CopyConvolutionFilter2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetConvolutionFilter) (GLenum, GLenum, GLenum, - GLvoid *); -#define CALL_GetConvolutionFilter(disp, parameters) \ - (* GET_GetConvolutionFilter(disp)) parameters -static inline _glptr_GetConvolutionFilter -GET_GetConvolutionFilter(struct _glapi_table *disp) -{ - return (_glptr_GetConvolutionFilter) (GET_by_offset - (disp, - _gloffset_GetConvolutionFilter)); -} - -static inline void -SET_GetConvolutionFilter(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetConvolutionFilter, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetConvolutionParameterfv) (GLenum, GLenum, - GLfloat *); -#define CALL_GetConvolutionParameterfv(disp, parameters) \ - (* GET_GetConvolutionParameterfv(disp)) parameters -static inline _glptr_GetConvolutionParameterfv -GET_GetConvolutionParameterfv(struct _glapi_table *disp) -{ - return (_glptr_GetConvolutionParameterfv) (GET_by_offset - (disp, - _gloffset_GetConvolutionParameterfv)); -} - -static inline void -SET_GetConvolutionParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetConvolutionParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetConvolutionParameteriv) (GLenum, GLenum, - GLint *); -#define CALL_GetConvolutionParameteriv(disp, parameters) \ - (* GET_GetConvolutionParameteriv(disp)) parameters -static inline _glptr_GetConvolutionParameteriv -GET_GetConvolutionParameteriv(struct _glapi_table *disp) -{ - return (_glptr_GetConvolutionParameteriv) (GET_by_offset - (disp, - _gloffset_GetConvolutionParameteriv)); -} - -static inline void -SET_GetConvolutionParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetConvolutionParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetSeparableFilter) (GLenum, GLenum, GLenum, - GLvoid *, GLvoid *, - GLvoid *); -#define CALL_GetSeparableFilter(disp, parameters) \ - (* GET_GetSeparableFilter(disp)) parameters -static inline _glptr_GetSeparableFilter -GET_GetSeparableFilter(struct _glapi_table *disp) -{ - return (_glptr_GetSeparableFilter) (GET_by_offset - (disp, _gloffset_GetSeparableFilter)); -} - -static inline void -SET_GetSeparableFilter(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLvoid *, - GLvoid *, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetSeparableFilter, fn); -} - -typedef void (GLAPIENTRYP _glptr_SeparableFilter2D) (GLenum, GLenum, GLsizei, - GLsizei, GLenum, GLenum, - const GLvoid *, - const GLvoid *); -#define CALL_SeparableFilter2D(disp, parameters) \ - (* GET_SeparableFilter2D(disp)) parameters -static inline _glptr_SeparableFilter2D -GET_SeparableFilter2D(struct _glapi_table *disp) -{ - return (_glptr_SeparableFilter2D) (GET_by_offset - (disp, _gloffset_SeparableFilter2D)); -} - -static inline void -SET_SeparableFilter2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, GLsizei, - GLenum, GLenum, const GLvoid *, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_SeparableFilter2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetHistogram) (GLenum, GLboolean, GLenum, - GLenum, GLvoid *); -#define CALL_GetHistogram(disp, parameters) \ - (* GET_GetHistogram(disp)) parameters -static inline _glptr_GetHistogram -GET_GetHistogram(struct _glapi_table *disp) -{ - return (_glptr_GetHistogram) (GET_by_offset(disp, _gloffset_GetHistogram)); -} - -static inline void -SET_GetHistogram(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLboolean, GLenum, GLenum, - GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetHistogram, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetHistogramParameterfv) (GLenum, GLenum, - GLfloat *); -#define CALL_GetHistogramParameterfv(disp, parameters) \ - (* GET_GetHistogramParameterfv(disp)) parameters -static inline _glptr_GetHistogramParameterfv -GET_GetHistogramParameterfv(struct _glapi_table *disp) -{ - return (_glptr_GetHistogramParameterfv) (GET_by_offset - (disp, - _gloffset_GetHistogramParameterfv)); -} - -static inline void -SET_GetHistogramParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetHistogramParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetHistogramParameteriv) (GLenum, GLenum, - GLint *); -#define CALL_GetHistogramParameteriv(disp, parameters) \ - (* GET_GetHistogramParameteriv(disp)) parameters -static inline _glptr_GetHistogramParameteriv -GET_GetHistogramParameteriv(struct _glapi_table *disp) -{ - return (_glptr_GetHistogramParameteriv) (GET_by_offset - (disp, - _gloffset_GetHistogramParameteriv)); -} - -static inline void -SET_GetHistogramParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetHistogramParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMinmax) (GLenum, GLboolean, GLenum, GLenum, - GLvoid *); -#define CALL_GetMinmax(disp, parameters) \ - (* GET_GetMinmax(disp)) parameters -static inline _glptr_GetMinmax -GET_GetMinmax(struct _glapi_table *disp) -{ - return (_glptr_GetMinmax) (GET_by_offset(disp, _gloffset_GetMinmax)); -} - -static inline void -SET_GetMinmax(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLboolean, GLenum, GLenum, - GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetMinmax, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMinmaxParameterfv) (GLenum, GLenum, - GLfloat *); -#define CALL_GetMinmaxParameterfv(disp, parameters) \ - (* GET_GetMinmaxParameterfv(disp)) parameters -static inline _glptr_GetMinmaxParameterfv -GET_GetMinmaxParameterfv(struct _glapi_table *disp) -{ - return (_glptr_GetMinmaxParameterfv) (GET_by_offset - (disp, - _gloffset_GetMinmaxParameterfv)); -} - -static inline void -SET_GetMinmaxParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetMinmaxParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetMinmaxParameteriv) (GLenum, GLenum, - GLint *); -#define CALL_GetMinmaxParameteriv(disp, parameters) \ - (* GET_GetMinmaxParameteriv(disp)) parameters -static inline _glptr_GetMinmaxParameteriv -GET_GetMinmaxParameteriv(struct _glapi_table *disp) -{ - return (_glptr_GetMinmaxParameteriv) (GET_by_offset - (disp, - _gloffset_GetMinmaxParameteriv)); -} - -static inline void -SET_GetMinmaxParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetMinmaxParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_Histogram) (GLenum, GLsizei, GLenum, - GLboolean); -#define CALL_Histogram(disp, parameters) \ - (* GET_Histogram(disp)) parameters -static inline _glptr_Histogram -GET_Histogram(struct _glapi_table *disp) -{ - return (_glptr_Histogram) (GET_by_offset(disp, _gloffset_Histogram)); -} - -static inline void -SET_Histogram(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLenum, GLboolean)) -{ - SET_by_offset(disp, _gloffset_Histogram, fn); -} - -typedef void (GLAPIENTRYP _glptr_Minmax) (GLenum, GLenum, GLboolean); - -#define CALL_Minmax(disp, parameters) \ - (* GET_Minmax(disp)) parameters -static inline _glptr_Minmax -GET_Minmax(struct _glapi_table *disp) -{ - return (_glptr_Minmax) (GET_by_offset(disp, _gloffset_Minmax)); -} - -static inline void -SET_Minmax(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLboolean)) -{ - SET_by_offset(disp, _gloffset_Minmax, fn); -} - -typedef void (GLAPIENTRYP _glptr_ResetHistogram) (GLenum); - -#define CALL_ResetHistogram(disp, parameters) \ - (* GET_ResetHistogram(disp)) parameters -static inline _glptr_ResetHistogram -GET_ResetHistogram(struct _glapi_table *disp) -{ - return (_glptr_ResetHistogram) (GET_by_offset - (disp, _gloffset_ResetHistogram)); -} - -static inline void -SET_ResetHistogram(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ResetHistogram, fn); -} - -typedef void (GLAPIENTRYP _glptr_ResetMinmax) (GLenum); - -#define CALL_ResetMinmax(disp, parameters) \ - (* GET_ResetMinmax(disp)) parameters -static inline _glptr_ResetMinmax -GET_ResetMinmax(struct _glapi_table *disp) -{ - return (_glptr_ResetMinmax) (GET_by_offset(disp, _gloffset_ResetMinmax)); -} - -static inline void -SET_ResetMinmax(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ResetMinmax, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexImage3D) (GLenum, GLint, GLint, GLsizei, - GLsizei, GLsizei, GLint, GLenum, - GLenum, const GLvoid *); -#define CALL_TexImage3D(disp, parameters) \ - (* GET_TexImage3D(disp)) parameters -static inline _glptr_TexImage3D -GET_TexImage3D(struct _glapi_table *disp) -{ - return (_glptr_TexImage3D) (GET_by_offset(disp, _gloffset_TexImage3D)); -} - -static inline void -SET_TexImage3D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLsizei, GLsizei, - GLsizei, GLint, GLenum, GLenum, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexImage3D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexSubImage3D) (GLenum, GLint, GLint, GLint, - GLint, GLsizei, GLsizei, - GLsizei, GLenum, GLenum, - const GLvoid *); -#define CALL_TexSubImage3D(disp, parameters) \ - (* GET_TexSubImage3D(disp)) parameters -static inline _glptr_TexSubImage3D -GET_TexSubImage3D(struct _glapi_table *disp) -{ - return (_glptr_TexSubImage3D) (GET_by_offset - (disp, _gloffset_TexSubImage3D)); -} - -static inline void -SET_TexSubImage3D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint, GLint, - GLsizei, GLsizei, GLsizei, GLenum, - GLenum, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexSubImage3D, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyTexSubImage3D) (GLenum, GLint, GLint, - GLint, GLint, GLint, GLint, - GLsizei, GLsizei); -#define CALL_CopyTexSubImage3D(disp, parameters) \ - (* GET_CopyTexSubImage3D(disp)) parameters -static inline _glptr_CopyTexSubImage3D -GET_CopyTexSubImage3D(struct _glapi_table *disp) -{ - return (_glptr_CopyTexSubImage3D) (GET_by_offset - (disp, _gloffset_CopyTexSubImage3D)); -} - -static inline void -SET_CopyTexSubImage3D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint, GLint, - GLint, GLint, GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_CopyTexSubImage3D, fn); -} - -typedef void (GLAPIENTRYP _glptr_ActiveTextureARB) (GLenum); - -#define CALL_ActiveTextureARB(disp, parameters) \ - (* GET_ActiveTextureARB(disp)) parameters -static inline _glptr_ActiveTextureARB -GET_ActiveTextureARB(struct _glapi_table *disp) -{ - return (_glptr_ActiveTextureARB) (GET_by_offset - (disp, _gloffset_ActiveTextureARB)); -} - -static inline void -SET_ActiveTextureARB(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ActiveTextureARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClientActiveTextureARB) (GLenum); - -#define CALL_ClientActiveTextureARB(disp, parameters) \ - (* GET_ClientActiveTextureARB(disp)) parameters -static inline _glptr_ClientActiveTextureARB -GET_ClientActiveTextureARB(struct _glapi_table *disp) -{ - return (_glptr_ClientActiveTextureARB) (GET_by_offset - (disp, - _gloffset_ClientActiveTextureARB)); -} - -static inline void -SET_ClientActiveTextureARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ClientActiveTextureARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1dARB) (GLenum, GLdouble); - -#define CALL_MultiTexCoord1dARB(disp, parameters) \ - (* GET_MultiTexCoord1dARB(disp)) parameters -static inline _glptr_MultiTexCoord1dARB -GET_MultiTexCoord1dARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1dARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1dARB)); -} - -static inline void -SET_MultiTexCoord1dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1dvARB) (GLenum, - const GLdouble *); -#define CALL_MultiTexCoord1dvARB(disp, parameters) \ - (* GET_MultiTexCoord1dvARB(disp)) parameters -static inline _glptr_MultiTexCoord1dvARB -GET_MultiTexCoord1dvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1dvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1dvARB)); -} - -static inline void -SET_MultiTexCoord1dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1fARB) (GLenum, GLfloat); - -#define CALL_MultiTexCoord1fARB(disp, parameters) \ - (* GET_MultiTexCoord1fARB(disp)) parameters -static inline _glptr_MultiTexCoord1fARB -GET_MultiTexCoord1fARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1fARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1fARB)); -} - -static inline void -SET_MultiTexCoord1fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1fvARB) (GLenum, const GLfloat *); - -#define CALL_MultiTexCoord1fvARB(disp, parameters) \ - (* GET_MultiTexCoord1fvARB(disp)) parameters -static inline _glptr_MultiTexCoord1fvARB -GET_MultiTexCoord1fvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1fvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1fvARB)); -} - -static inline void -SET_MultiTexCoord1fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1iARB) (GLenum, GLint); - -#define CALL_MultiTexCoord1iARB(disp, parameters) \ - (* GET_MultiTexCoord1iARB(disp)) parameters -static inline _glptr_MultiTexCoord1iARB -GET_MultiTexCoord1iARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1iARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1iARB)); -} - -static inline void -SET_MultiTexCoord1iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1ivARB) (GLenum, const GLint *); - -#define CALL_MultiTexCoord1ivARB(disp, parameters) \ - (* GET_MultiTexCoord1ivARB(disp)) parameters -static inline _glptr_MultiTexCoord1ivARB -GET_MultiTexCoord1ivARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1ivARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1ivARB)); -} - -static inline void -SET_MultiTexCoord1ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1sARB) (GLenum, GLshort); - -#define CALL_MultiTexCoord1sARB(disp, parameters) \ - (* GET_MultiTexCoord1sARB(disp)) parameters -static inline _glptr_MultiTexCoord1sARB -GET_MultiTexCoord1sARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1sARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1sARB)); -} - -static inline void -SET_MultiTexCoord1sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLshort)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord1svARB) (GLenum, const GLshort *); - -#define CALL_MultiTexCoord1svARB(disp, parameters) \ - (* GET_MultiTexCoord1svARB(disp)) parameters -static inline _glptr_MultiTexCoord1svARB -GET_MultiTexCoord1svARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord1svARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord1svARB)); -} - -static inline void -SET_MultiTexCoord1svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord1svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2dARB) (GLenum, GLdouble, - GLdouble); -#define CALL_MultiTexCoord2dARB(disp, parameters) \ - (* GET_MultiTexCoord2dARB(disp)) parameters -static inline _glptr_MultiTexCoord2dARB -GET_MultiTexCoord2dARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2dARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2dARB)); -} - -static inline void -SET_MultiTexCoord2dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2dvARB) (GLenum, - const GLdouble *); -#define CALL_MultiTexCoord2dvARB(disp, parameters) \ - (* GET_MultiTexCoord2dvARB(disp)) parameters -static inline _glptr_MultiTexCoord2dvARB -GET_MultiTexCoord2dvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2dvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2dvARB)); -} - -static inline void -SET_MultiTexCoord2dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2fARB) (GLenum, GLfloat, GLfloat); - -#define CALL_MultiTexCoord2fARB(disp, parameters) \ - (* GET_MultiTexCoord2fARB(disp)) parameters -static inline _glptr_MultiTexCoord2fARB -GET_MultiTexCoord2fARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2fARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2fARB)); -} - -static inline void -SET_MultiTexCoord2fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2fvARB) (GLenum, const GLfloat *); - -#define CALL_MultiTexCoord2fvARB(disp, parameters) \ - (* GET_MultiTexCoord2fvARB(disp)) parameters -static inline _glptr_MultiTexCoord2fvARB -GET_MultiTexCoord2fvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2fvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2fvARB)); -} - -static inline void -SET_MultiTexCoord2fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2iARB) (GLenum, GLint, GLint); - -#define CALL_MultiTexCoord2iARB(disp, parameters) \ - (* GET_MultiTexCoord2iARB(disp)) parameters -static inline _glptr_MultiTexCoord2iARB -GET_MultiTexCoord2iARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2iARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2iARB)); -} - -static inline void -SET_MultiTexCoord2iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2ivARB) (GLenum, const GLint *); - -#define CALL_MultiTexCoord2ivARB(disp, parameters) \ - (* GET_MultiTexCoord2ivARB(disp)) parameters -static inline _glptr_MultiTexCoord2ivARB -GET_MultiTexCoord2ivARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2ivARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2ivARB)); -} - -static inline void -SET_MultiTexCoord2ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2sARB) (GLenum, GLshort, GLshort); - -#define CALL_MultiTexCoord2sARB(disp, parameters) \ - (* GET_MultiTexCoord2sARB(disp)) parameters -static inline _glptr_MultiTexCoord2sARB -GET_MultiTexCoord2sARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2sARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2sARB)); -} - -static inline void -SET_MultiTexCoord2sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord2svARB) (GLenum, const GLshort *); - -#define CALL_MultiTexCoord2svARB(disp, parameters) \ - (* GET_MultiTexCoord2svARB(disp)) parameters -static inline _glptr_MultiTexCoord2svARB -GET_MultiTexCoord2svARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord2svARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord2svARB)); -} - -static inline void -SET_MultiTexCoord2svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord2svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3dARB) (GLenum, GLdouble, - GLdouble, GLdouble); -#define CALL_MultiTexCoord3dARB(disp, parameters) \ - (* GET_MultiTexCoord3dARB(disp)) parameters -static inline _glptr_MultiTexCoord3dARB -GET_MultiTexCoord3dARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3dARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3dARB)); -} - -static inline void -SET_MultiTexCoord3dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3dvARB) (GLenum, - const GLdouble *); -#define CALL_MultiTexCoord3dvARB(disp, parameters) \ - (* GET_MultiTexCoord3dvARB(disp)) parameters -static inline _glptr_MultiTexCoord3dvARB -GET_MultiTexCoord3dvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3dvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3dvARB)); -} - -static inline void -SET_MultiTexCoord3dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3fARB) (GLenum, GLfloat, GLfloat, - GLfloat); -#define CALL_MultiTexCoord3fARB(disp, parameters) \ - (* GET_MultiTexCoord3fARB(disp)) parameters -static inline _glptr_MultiTexCoord3fARB -GET_MultiTexCoord3fARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3fARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3fARB)); -} - -static inline void -SET_MultiTexCoord3fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat, GLfloat, - GLfloat)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3fvARB) (GLenum, const GLfloat *); - -#define CALL_MultiTexCoord3fvARB(disp, parameters) \ - (* GET_MultiTexCoord3fvARB(disp)) parameters -static inline _glptr_MultiTexCoord3fvARB -GET_MultiTexCoord3fvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3fvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3fvARB)); -} - -static inline void -SET_MultiTexCoord3fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3iARB) (GLenum, GLint, GLint, - GLint); -#define CALL_MultiTexCoord3iARB(disp, parameters) \ - (* GET_MultiTexCoord3iARB(disp)) parameters -static inline _glptr_MultiTexCoord3iARB -GET_MultiTexCoord3iARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3iARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3iARB)); -} - -static inline void -SET_MultiTexCoord3iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3ivARB) (GLenum, const GLint *); - -#define CALL_MultiTexCoord3ivARB(disp, parameters) \ - (* GET_MultiTexCoord3ivARB(disp)) parameters -static inline _glptr_MultiTexCoord3ivARB -GET_MultiTexCoord3ivARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3ivARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3ivARB)); -} - -static inline void -SET_MultiTexCoord3ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3sARB) (GLenum, GLshort, GLshort, - GLshort); -#define CALL_MultiTexCoord3sARB(disp, parameters) \ - (* GET_MultiTexCoord3sARB(disp)) parameters -static inline _glptr_MultiTexCoord3sARB -GET_MultiTexCoord3sARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3sARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3sARB)); -} - -static inline void -SET_MultiTexCoord3sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLshort, GLshort, - GLshort)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord3svARB) (GLenum, const GLshort *); - -#define CALL_MultiTexCoord3svARB(disp, parameters) \ - (* GET_MultiTexCoord3svARB(disp)) parameters -static inline _glptr_MultiTexCoord3svARB -GET_MultiTexCoord3svARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord3svARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord3svARB)); -} - -static inline void -SET_MultiTexCoord3svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord3svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4dARB) (GLenum, GLdouble, - GLdouble, GLdouble, - GLdouble); -#define CALL_MultiTexCoord4dARB(disp, parameters) \ - (* GET_MultiTexCoord4dARB(disp)) parameters -static inline _glptr_MultiTexCoord4dARB -GET_MultiTexCoord4dARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4dARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4dARB)); -} - -static inline void -SET_MultiTexCoord4dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLdouble, GLdouble, - GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4dvARB) (GLenum, - const GLdouble *); -#define CALL_MultiTexCoord4dvARB(disp, parameters) \ - (* GET_MultiTexCoord4dvARB(disp)) parameters -static inline _glptr_MultiTexCoord4dvARB -GET_MultiTexCoord4dvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4dvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4dvARB)); -} - -static inline void -SET_MultiTexCoord4dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4fARB) (GLenum, GLfloat, GLfloat, - GLfloat, GLfloat); -#define CALL_MultiTexCoord4fARB(disp, parameters) \ - (* GET_MultiTexCoord4fARB(disp)) parameters -static inline _glptr_MultiTexCoord4fARB -GET_MultiTexCoord4fARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4fARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4fARB)); -} - -static inline void -SET_MultiTexCoord4fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat, GLfloat, GLfloat, - GLfloat)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4fvARB) (GLenum, const GLfloat *); - -#define CALL_MultiTexCoord4fvARB(disp, parameters) \ - (* GET_MultiTexCoord4fvARB(disp)) parameters -static inline _glptr_MultiTexCoord4fvARB -GET_MultiTexCoord4fvARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4fvARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4fvARB)); -} - -static inline void -SET_MultiTexCoord4fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4iARB) (GLenum, GLint, GLint, - GLint, GLint); -#define CALL_MultiTexCoord4iARB(disp, parameters) \ - (* GET_MultiTexCoord4iARB(disp)) parameters -static inline _glptr_MultiTexCoord4iARB -GET_MultiTexCoord4iARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4iARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4iARB)); -} - -static inline void -SET_MultiTexCoord4iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, GLint, - GLint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4ivARB) (GLenum, const GLint *); - -#define CALL_MultiTexCoord4ivARB(disp, parameters) \ - (* GET_MultiTexCoord4ivARB(disp)) parameters -static inline _glptr_MultiTexCoord4ivARB -GET_MultiTexCoord4ivARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4ivARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4ivARB)); -} - -static inline void -SET_MultiTexCoord4ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4sARB) (GLenum, GLshort, GLshort, - GLshort, GLshort); -#define CALL_MultiTexCoord4sARB(disp, parameters) \ - (* GET_MultiTexCoord4sARB(disp)) parameters -static inline _glptr_MultiTexCoord4sARB -GET_MultiTexCoord4sARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4sARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4sARB)); -} - -static inline void -SET_MultiTexCoord4sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLshort, GLshort, GLshort, - GLshort)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoord4svARB) (GLenum, const GLshort *); - -#define CALL_MultiTexCoord4svARB(disp, parameters) \ - (* GET_MultiTexCoord4svARB(disp)) parameters -static inline _glptr_MultiTexCoord4svARB -GET_MultiTexCoord4svARB(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoord4svARB) (GET_by_offset - (disp, _gloffset_MultiTexCoord4svARB)); -} - -static inline void -SET_MultiTexCoord4svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoord4svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_AttachShader) (GLuint, GLuint); - -#define CALL_AttachShader(disp, parameters) \ - (* GET_AttachShader(disp)) parameters -static inline _glptr_AttachShader -GET_AttachShader(struct _glapi_table *disp) -{ - return (_glptr_AttachShader) (GET_by_offset(disp, _gloffset_AttachShader)); -} - -static inline void -SET_AttachShader(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_AttachShader, fn); -} - -typedef GLuint(GLAPIENTRYP _glptr_CreateProgram) (void); - -#define CALL_CreateProgram(disp, parameters) \ - (* GET_CreateProgram(disp)) parameters -static inline _glptr_CreateProgram -GET_CreateProgram(struct _glapi_table *disp) -{ - return (_glptr_CreateProgram) (GET_by_offset - (disp, _gloffset_CreateProgram)); -} - -static inline void -SET_CreateProgram(struct _glapi_table *disp, GLuint(GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_CreateProgram, fn); -} - -typedef GLuint(GLAPIENTRYP _glptr_CreateShader) (GLenum); - -#define CALL_CreateShader(disp, parameters) \ - (* GET_CreateShader(disp)) parameters -static inline _glptr_CreateShader -GET_CreateShader(struct _glapi_table *disp) -{ - return (_glptr_CreateShader) (GET_by_offset(disp, _gloffset_CreateShader)); -} - -static inline void -SET_CreateShader(struct _glapi_table *disp, GLuint(GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_CreateShader, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteProgram) (GLuint); - -#define CALL_DeleteProgram(disp, parameters) \ - (* GET_DeleteProgram(disp)) parameters -static inline _glptr_DeleteProgram -GET_DeleteProgram(struct _glapi_table *disp) -{ - return (_glptr_DeleteProgram) (GET_by_offset - (disp, _gloffset_DeleteProgram)); -} - -static inline void -SET_DeleteProgram(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_DeleteProgram, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteShader) (GLuint); - -#define CALL_DeleteShader(disp, parameters) \ - (* GET_DeleteShader(disp)) parameters -static inline _glptr_DeleteShader -GET_DeleteShader(struct _glapi_table *disp) -{ - return (_glptr_DeleteShader) (GET_by_offset(disp, _gloffset_DeleteShader)); -} - -static inline void -SET_DeleteShader(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_DeleteShader, fn); -} - -typedef void (GLAPIENTRYP _glptr_DetachShader) (GLuint, GLuint); - -#define CALL_DetachShader(disp, parameters) \ - (* GET_DetachShader(disp)) parameters -static inline _glptr_DetachShader -GET_DetachShader(struct _glapi_table *disp) -{ - return (_glptr_DetachShader) (GET_by_offset(disp, _gloffset_DetachShader)); -} - -static inline void -SET_DetachShader(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_DetachShader, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetAttachedShaders) (GLuint, GLsizei, - GLsizei *, GLuint *); -#define CALL_GetAttachedShaders(disp, parameters) \ - (* GET_GetAttachedShaders(disp)) parameters -static inline _glptr_GetAttachedShaders -GET_GetAttachedShaders(struct _glapi_table *disp) -{ - return (_glptr_GetAttachedShaders) (GET_by_offset - (disp, _gloffset_GetAttachedShaders)); -} - -static inline void -SET_GetAttachedShaders(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, GLsizei *, - GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetAttachedShaders, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramInfoLog) (GLuint, GLsizei, GLsizei *, - GLchar *); -#define CALL_GetProgramInfoLog(disp, parameters) \ - (* GET_GetProgramInfoLog(disp)) parameters -static inline _glptr_GetProgramInfoLog -GET_GetProgramInfoLog(struct _glapi_table *disp) -{ - return (_glptr_GetProgramInfoLog) (GET_by_offset - (disp, _gloffset_GetProgramInfoLog)); -} - -static inline void -SET_GetProgramInfoLog(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, GLsizei *, - GLchar *)) -{ - SET_by_offset(disp, _gloffset_GetProgramInfoLog, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramiv) (GLuint, GLenum, GLint *); - -#define CALL_GetProgramiv(disp, parameters) \ - (* GET_GetProgramiv(disp)) parameters -static inline _glptr_GetProgramiv -GET_GetProgramiv(struct _glapi_table *disp) -{ - return (_glptr_GetProgramiv) (GET_by_offset(disp, _gloffset_GetProgramiv)); -} - -static inline void -SET_GetProgramiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetProgramiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetShaderInfoLog) (GLuint, GLsizei, GLsizei *, - GLchar *); -#define CALL_GetShaderInfoLog(disp, parameters) \ - (* GET_GetShaderInfoLog(disp)) parameters -static inline _glptr_GetShaderInfoLog -GET_GetShaderInfoLog(struct _glapi_table *disp) -{ - return (_glptr_GetShaderInfoLog) (GET_by_offset - (disp, _gloffset_GetShaderInfoLog)); -} - -static inline void -SET_GetShaderInfoLog(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, GLsizei *, - GLchar *)) -{ - SET_by_offset(disp, _gloffset_GetShaderInfoLog, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetShaderiv) (GLuint, GLenum, GLint *); - -#define CALL_GetShaderiv(disp, parameters) \ - (* GET_GetShaderiv(disp)) parameters -static inline _glptr_GetShaderiv -GET_GetShaderiv(struct _glapi_table *disp) -{ - return (_glptr_GetShaderiv) (GET_by_offset(disp, _gloffset_GetShaderiv)); -} - -static inline void -SET_GetShaderiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetShaderiv, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsProgram) (GLuint); - -#define CALL_IsProgram(disp, parameters) \ - (* GET_IsProgram(disp)) parameters -static inline _glptr_IsProgram -GET_IsProgram(struct _glapi_table *disp) -{ - return (_glptr_IsProgram) (GET_by_offset(disp, _gloffset_IsProgram)); -} - -static inline void -SET_IsProgram(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsProgram, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsShader) (GLuint); - -#define CALL_IsShader(disp, parameters) \ - (* GET_IsShader(disp)) parameters -static inline _glptr_IsShader -GET_IsShader(struct _glapi_table *disp) -{ - return (_glptr_IsShader) (GET_by_offset(disp, _gloffset_IsShader)); -} - -static inline void -SET_IsShader(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsShader, fn); -} - -typedef void (GLAPIENTRYP _glptr_StencilFuncSeparate) (GLenum, GLenum, GLint, - GLuint); -#define CALL_StencilFuncSeparate(disp, parameters) \ - (* GET_StencilFuncSeparate(disp)) parameters -static inline _glptr_StencilFuncSeparate -GET_StencilFuncSeparate(struct _glapi_table *disp) -{ - return (_glptr_StencilFuncSeparate) (GET_by_offset - (disp, _gloffset_StencilFuncSeparate)); -} - -static inline void -SET_StencilFuncSeparate(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint, GLuint)) -{ - SET_by_offset(disp, _gloffset_StencilFuncSeparate, fn); -} - -typedef void (GLAPIENTRYP _glptr_StencilMaskSeparate) (GLenum, GLuint); - -#define CALL_StencilMaskSeparate(disp, parameters) \ - (* GET_StencilMaskSeparate(disp)) parameters -static inline _glptr_StencilMaskSeparate -GET_StencilMaskSeparate(struct _glapi_table *disp) -{ - return (_glptr_StencilMaskSeparate) (GET_by_offset - (disp, _gloffset_StencilMaskSeparate)); -} - -static inline void -SET_StencilMaskSeparate(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_StencilMaskSeparate, fn); -} - -typedef void (GLAPIENTRYP _glptr_StencilOpSeparate) (GLenum, GLenum, GLenum, - GLenum); -#define CALL_StencilOpSeparate(disp, parameters) \ - (* GET_StencilOpSeparate(disp)) parameters -static inline _glptr_StencilOpSeparate -GET_StencilOpSeparate(struct _glapi_table *disp) -{ - return (_glptr_StencilOpSeparate) (GET_by_offset - (disp, _gloffset_StencilOpSeparate)); -} - -static inline void -SET_StencilOpSeparate(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_StencilOpSeparate, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix2x3fv) (GLint, GLsizei, GLboolean, - const GLfloat *); -#define CALL_UniformMatrix2x3fv(disp, parameters) \ - (* GET_UniformMatrix2x3fv(disp)) parameters -static inline _glptr_UniformMatrix2x3fv -GET_UniformMatrix2x3fv(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix2x3fv) (GET_by_offset - (disp, _gloffset_UniformMatrix2x3fv)); -} - -static inline void -SET_UniformMatrix2x3fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix2x3fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix2x4fv) (GLint, GLsizei, GLboolean, - const GLfloat *); -#define CALL_UniformMatrix2x4fv(disp, parameters) \ - (* GET_UniformMatrix2x4fv(disp)) parameters -static inline _glptr_UniformMatrix2x4fv -GET_UniformMatrix2x4fv(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix2x4fv) (GET_by_offset - (disp, _gloffset_UniformMatrix2x4fv)); -} - -static inline void -SET_UniformMatrix2x4fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix2x4fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix3x2fv) (GLint, GLsizei, GLboolean, - const GLfloat *); -#define CALL_UniformMatrix3x2fv(disp, parameters) \ - (* GET_UniformMatrix3x2fv(disp)) parameters -static inline _glptr_UniformMatrix3x2fv -GET_UniformMatrix3x2fv(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix3x2fv) (GET_by_offset - (disp, _gloffset_UniformMatrix3x2fv)); -} - -static inline void -SET_UniformMatrix3x2fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix3x2fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix3x4fv) (GLint, GLsizei, GLboolean, - const GLfloat *); -#define CALL_UniformMatrix3x4fv(disp, parameters) \ - (* GET_UniformMatrix3x4fv(disp)) parameters -static inline _glptr_UniformMatrix3x4fv -GET_UniformMatrix3x4fv(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix3x4fv) (GET_by_offset - (disp, _gloffset_UniformMatrix3x4fv)); -} - -static inline void -SET_UniformMatrix3x4fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix3x4fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix4x2fv) (GLint, GLsizei, GLboolean, - const GLfloat *); -#define CALL_UniformMatrix4x2fv(disp, parameters) \ - (* GET_UniformMatrix4x2fv(disp)) parameters -static inline _glptr_UniformMatrix4x2fv -GET_UniformMatrix4x2fv(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix4x2fv) (GET_by_offset - (disp, _gloffset_UniformMatrix4x2fv)); -} - -static inline void -SET_UniformMatrix4x2fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix4x2fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix4x3fv) (GLint, GLsizei, GLboolean, - const GLfloat *); -#define CALL_UniformMatrix4x3fv(disp, parameters) \ - (* GET_UniformMatrix4x3fv(disp)) parameters -static inline _glptr_UniformMatrix4x3fv -GET_UniformMatrix4x3fv(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix4x3fv) (GET_by_offset - (disp, _gloffset_UniformMatrix4x3fv)); -} - -static inline void -SET_UniformMatrix4x3fv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix4x3fv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClampColor) (GLenum, GLenum); - -#define CALL_ClampColor(disp, parameters) \ - (* GET_ClampColor(disp)) parameters -static inline _glptr_ClampColor -GET_ClampColor(struct _glapi_table *disp) -{ - return (_glptr_ClampColor) (GET_by_offset(disp, _gloffset_ClampColor)); -} - -static inline void -SET_ClampColor(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_ClampColor, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearBufferfi) (GLenum, GLint, GLfloat, GLint); - -#define CALL_ClearBufferfi(disp, parameters) \ - (* GET_ClearBufferfi(disp)) parameters -static inline _glptr_ClearBufferfi -GET_ClearBufferfi(struct _glapi_table *disp) -{ - return (_glptr_ClearBufferfi) (GET_by_offset - (disp, _gloffset_ClearBufferfi)); -} - -static inline void -SET_ClearBufferfi(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLfloat, GLint)) -{ - SET_by_offset(disp, _gloffset_ClearBufferfi, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearBufferfv) (GLenum, GLint, - const GLfloat *); -#define CALL_ClearBufferfv(disp, parameters) \ - (* GET_ClearBufferfv(disp)) parameters -static inline _glptr_ClearBufferfv -GET_ClearBufferfv(struct _glapi_table *disp) -{ - return (_glptr_ClearBufferfv) (GET_by_offset - (disp, _gloffset_ClearBufferfv)); -} - -static inline void -SET_ClearBufferfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ClearBufferfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearBufferiv) (GLenum, GLint, const GLint *); - -#define CALL_ClearBufferiv(disp, parameters) \ - (* GET_ClearBufferiv(disp)) parameters -static inline _glptr_ClearBufferiv -GET_ClearBufferiv(struct _glapi_table *disp) -{ - return (_glptr_ClearBufferiv) (GET_by_offset - (disp, _gloffset_ClearBufferiv)); -} - -static inline void -SET_ClearBufferiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, const GLint *)) -{ - SET_by_offset(disp, _gloffset_ClearBufferiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearBufferuiv) (GLenum, GLint, - const GLuint *); -#define CALL_ClearBufferuiv(disp, parameters) \ - (* GET_ClearBufferuiv(disp)) parameters -static inline _glptr_ClearBufferuiv -GET_ClearBufferuiv(struct _glapi_table *disp) -{ - return (_glptr_ClearBufferuiv) (GET_by_offset - (disp, _gloffset_ClearBufferuiv)); -} - -static inline void -SET_ClearBufferuiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_ClearBufferuiv, fn); -} - -typedef const GLubyte *(GLAPIENTRYP _glptr_GetStringi) (GLenum, GLuint); - -#define CALL_GetStringi(disp, parameters) \ - (* GET_GetStringi(disp)) parameters -static inline _glptr_GetStringi -GET_GetStringi(struct _glapi_table *disp) -{ - return (_glptr_GetStringi) (GET_by_offset(disp, _gloffset_GetStringi)); -} - -static inline void -SET_GetStringi(struct _glapi_table *disp, - const GLubyte * (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_GetStringi, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexBuffer) (GLenum, GLenum, GLuint); - -#define CALL_TexBuffer(disp, parameters) \ - (* GET_TexBuffer(disp)) parameters -static inline _glptr_TexBuffer -GET_TexBuffer(struct _glapi_table *disp) -{ - return (_glptr_TexBuffer) (GET_by_offset(disp, _gloffset_TexBuffer)); -} - -static inline void -SET_TexBuffer(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_TexBuffer, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferTexture) (GLenum, GLenum, GLuint, - GLint); -#define CALL_FramebufferTexture(disp, parameters) \ - (* GET_FramebufferTexture(disp)) parameters -static inline _glptr_FramebufferTexture -GET_FramebufferTexture(struct _glapi_table *disp) -{ - return (_glptr_FramebufferTexture) (GET_by_offset - (disp, _gloffset_FramebufferTexture)); -} - -static inline void -SET_FramebufferTexture(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint, GLint)) -{ - SET_by_offset(disp, _gloffset_FramebufferTexture, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetBufferParameteri64v) (GLenum, GLenum, - GLint64 *); -#define CALL_GetBufferParameteri64v(disp, parameters) \ - (* GET_GetBufferParameteri64v(disp)) parameters -static inline _glptr_GetBufferParameteri64v -GET_GetBufferParameteri64v(struct _glapi_table *disp) -{ - return (_glptr_GetBufferParameteri64v) (GET_by_offset - (disp, - _gloffset_GetBufferParameteri64v)); -} - -static inline void -SET_GetBufferParameteri64v(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint64 *)) -{ - SET_by_offset(disp, _gloffset_GetBufferParameteri64v, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetInteger64i_v) (GLenum, GLuint, GLint64 *); - -#define CALL_GetInteger64i_v(disp, parameters) \ - (* GET_GetInteger64i_v(disp)) parameters -static inline _glptr_GetInteger64i_v -GET_GetInteger64i_v(struct _glapi_table *disp) -{ - return (_glptr_GetInteger64i_v) (GET_by_offset - (disp, _gloffset_GetInteger64i_v)); -} - -static inline void -SET_GetInteger64i_v(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLint64 *)) -{ - SET_by_offset(disp, _gloffset_GetInteger64i_v, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribDivisor) (GLuint, GLuint); - -#define CALL_VertexAttribDivisor(disp, parameters) \ - (* GET_VertexAttribDivisor(disp)) parameters -static inline _glptr_VertexAttribDivisor -GET_VertexAttribDivisor(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribDivisor) (GET_by_offset - (disp, _gloffset_VertexAttribDivisor)); -} - -static inline void -SET_VertexAttribDivisor(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribDivisor, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadTransposeMatrixdARB) (const GLdouble *); - -#define CALL_LoadTransposeMatrixdARB(disp, parameters) \ - (* GET_LoadTransposeMatrixdARB(disp)) parameters -static inline _glptr_LoadTransposeMatrixdARB -GET_LoadTransposeMatrixdARB(struct _glapi_table *disp) -{ - return (_glptr_LoadTransposeMatrixdARB) (GET_by_offset - (disp, - _gloffset_LoadTransposeMatrixdARB)); -} - -static inline void -SET_LoadTransposeMatrixdARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_LoadTransposeMatrixdARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadTransposeMatrixfARB) (const GLfloat *); - -#define CALL_LoadTransposeMatrixfARB(disp, parameters) \ - (* GET_LoadTransposeMatrixfARB(disp)) parameters -static inline _glptr_LoadTransposeMatrixfARB -GET_LoadTransposeMatrixfARB(struct _glapi_table *disp) -{ - return (_glptr_LoadTransposeMatrixfARB) (GET_by_offset - (disp, - _gloffset_LoadTransposeMatrixfARB)); -} - -static inline void -SET_LoadTransposeMatrixfARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_LoadTransposeMatrixfARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultTransposeMatrixdARB) (const GLdouble *); - -#define CALL_MultTransposeMatrixdARB(disp, parameters) \ - (* GET_MultTransposeMatrixdARB(disp)) parameters -static inline _glptr_MultTransposeMatrixdARB -GET_MultTransposeMatrixdARB(struct _glapi_table *disp) -{ - return (_glptr_MultTransposeMatrixdARB) (GET_by_offset - (disp, - _gloffset_MultTransposeMatrixdARB)); -} - -static inline void -SET_MultTransposeMatrixdARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_MultTransposeMatrixdARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultTransposeMatrixfARB) (const GLfloat *); - -#define CALL_MultTransposeMatrixfARB(disp, parameters) \ - (* GET_MultTransposeMatrixfARB(disp)) parameters -static inline _glptr_MultTransposeMatrixfARB -GET_MultTransposeMatrixfARB(struct _glapi_table *disp) -{ - return (_glptr_MultTransposeMatrixfARB) (GET_by_offset - (disp, - _gloffset_MultTransposeMatrixfARB)); -} - -static inline void -SET_MultTransposeMatrixfARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_MultTransposeMatrixfARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_SampleCoverageARB) (GLclampf, GLboolean); - -#define CALL_SampleCoverageARB(disp, parameters) \ - (* GET_SampleCoverageARB(disp)) parameters -static inline _glptr_SampleCoverageARB -GET_SampleCoverageARB(struct _glapi_table *disp) -{ - return (_glptr_SampleCoverageARB) (GET_by_offset - (disp, _gloffset_SampleCoverageARB)); -} - -static inline void -SET_SampleCoverageARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLclampf, GLboolean)) -{ - SET_by_offset(disp, _gloffset_SampleCoverageARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_CompressedTexImage1DARB) (GLenum, GLint, - GLenum, GLsizei, - GLint, GLsizei, - const GLvoid *); -#define CALL_CompressedTexImage1DARB(disp, parameters) \ - (* GET_CompressedTexImage1DARB(disp)) parameters -static inline _glptr_CompressedTexImage1DARB -GET_CompressedTexImage1DARB(struct _glapi_table *disp) -{ - return (_glptr_CompressedTexImage1DARB) (GET_by_offset - (disp, - _gloffset_CompressedTexImage1DARB)); -} - -static inline void -SET_CompressedTexImage1DARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, - GLsizei, GLint, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_CompressedTexImage1DARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_CompressedTexImage2DARB) (GLenum, GLint, - GLenum, GLsizei, - GLsizei, GLint, - GLsizei, - const GLvoid *); -#define CALL_CompressedTexImage2DARB(disp, parameters) \ - (* GET_CompressedTexImage2DARB(disp)) parameters -static inline _glptr_CompressedTexImage2DARB -GET_CompressedTexImage2DARB(struct _glapi_table *disp) -{ - return (_glptr_CompressedTexImage2DARB) (GET_by_offset - (disp, - _gloffset_CompressedTexImage2DARB)); -} - -static inline void -SET_CompressedTexImage2DARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, - GLsizei, GLsizei, GLint, - GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_CompressedTexImage2DARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_CompressedTexImage3DARB) (GLenum, GLint, - GLenum, GLsizei, - GLsizei, GLsizei, - GLint, GLsizei, - const GLvoid *); -#define CALL_CompressedTexImage3DARB(disp, parameters) \ - (* GET_CompressedTexImage3DARB(disp)) parameters -static inline _glptr_CompressedTexImage3DARB -GET_CompressedTexImage3DARB(struct _glapi_table *disp) -{ - return (_glptr_CompressedTexImage3DARB) (GET_by_offset - (disp, - _gloffset_CompressedTexImage3DARB)); -} - -static inline void -SET_CompressedTexImage3DARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, - GLsizei, GLsizei, GLsizei, - GLint, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_CompressedTexImage3DARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_CompressedTexSubImage1DARB) (GLenum, GLint, - GLint, GLsizei, - GLenum, GLsizei, - const GLvoid *); -#define CALL_CompressedTexSubImage1DARB(disp, parameters) \ - (* GET_CompressedTexSubImage1DARB(disp)) parameters -static inline _glptr_CompressedTexSubImage1DARB -GET_CompressedTexSubImage1DARB(struct _glapi_table *disp) -{ - return (_glptr_CompressedTexSubImage1DARB) (GET_by_offset - (disp, - _gloffset_CompressedTexSubImage1DARB)); -} - -static inline void -SET_CompressedTexSubImage1DARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, - GLsizei, GLenum, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_CompressedTexSubImage1DARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_CompressedTexSubImage2DARB) (GLenum, GLint, - GLint, GLint, - GLsizei, GLsizei, - GLenum, GLsizei, - const GLvoid *); -#define CALL_CompressedTexSubImage2DARB(disp, parameters) \ - (* GET_CompressedTexSubImage2DARB(disp)) parameters -static inline _glptr_CompressedTexSubImage2DARB -GET_CompressedTexSubImage2DARB(struct _glapi_table *disp) -{ - return (_glptr_CompressedTexSubImage2DARB) (GET_by_offset - (disp, - _gloffset_CompressedTexSubImage2DARB)); -} - -static inline void -SET_CompressedTexSubImage2DARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, - GLint, GLsizei, GLsizei, - GLenum, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_CompressedTexSubImage2DARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_CompressedTexSubImage3DARB) (GLenum, GLint, - GLint, GLint, - GLint, GLsizei, - GLsizei, GLsizei, - GLenum, GLsizei, - const GLvoid *); -#define CALL_CompressedTexSubImage3DARB(disp, parameters) \ - (* GET_CompressedTexSubImage3DARB(disp)) parameters -static inline _glptr_CompressedTexSubImage3DARB -GET_CompressedTexSubImage3DARB(struct _glapi_table *disp) -{ - return (_glptr_CompressedTexSubImage3DARB) (GET_by_offset - (disp, - _gloffset_CompressedTexSubImage3DARB)); -} - -static inline void -SET_CompressedTexSubImage3DARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLint, - GLint, GLint, GLsizei, - GLsizei, GLsizei, GLenum, - GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_CompressedTexSubImage3DARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetCompressedTexImageARB) (GLenum, GLint, - GLvoid *); -#define CALL_GetCompressedTexImageARB(disp, parameters) \ - (* GET_GetCompressedTexImageARB(disp)) parameters -static inline _glptr_GetCompressedTexImageARB -GET_GetCompressedTexImageARB(struct _glapi_table *disp) -{ - return (_glptr_GetCompressedTexImageARB) (GET_by_offset - (disp, - _gloffset_GetCompressedTexImageARB)); -} - -static inline void -SET_GetCompressedTexImageARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetCompressedTexImageARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DisableVertexAttribArrayARB) (GLuint); - -#define CALL_DisableVertexAttribArrayARB(disp, parameters) \ - (* GET_DisableVertexAttribArrayARB(disp)) parameters -static inline _glptr_DisableVertexAttribArrayARB -GET_DisableVertexAttribArrayARB(struct _glapi_table *disp) -{ - return (_glptr_DisableVertexAttribArrayARB) (GET_by_offset - (disp, - _gloffset_DisableVertexAttribArrayARB)); -} - -static inline void -SET_DisableVertexAttribArrayARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_DisableVertexAttribArrayARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_EnableVertexAttribArrayARB) (GLuint); - -#define CALL_EnableVertexAttribArrayARB(disp, parameters) \ - (* GET_EnableVertexAttribArrayARB(disp)) parameters -static inline _glptr_EnableVertexAttribArrayARB -GET_EnableVertexAttribArrayARB(struct _glapi_table *disp) -{ - return (_glptr_EnableVertexAttribArrayARB) (GET_by_offset - (disp, - _gloffset_EnableVertexAttribArrayARB)); -} - -static inline void -SET_EnableVertexAttribArrayARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_EnableVertexAttribArrayARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramEnvParameterdvARB) (GLenum, GLuint, - GLdouble *); -#define CALL_GetProgramEnvParameterdvARB(disp, parameters) \ - (* GET_GetProgramEnvParameterdvARB(disp)) parameters -static inline _glptr_GetProgramEnvParameterdvARB -GET_GetProgramEnvParameterdvARB(struct _glapi_table *disp) -{ - return (_glptr_GetProgramEnvParameterdvARB) (GET_by_offset - (disp, - _gloffset_GetProgramEnvParameterdvARB)); -} - -static inline void -SET_GetProgramEnvParameterdvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetProgramEnvParameterdvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramEnvParameterfvARB) (GLenum, GLuint, - GLfloat *); -#define CALL_GetProgramEnvParameterfvARB(disp, parameters) \ - (* GET_GetProgramEnvParameterfvARB(disp)) parameters -static inline _glptr_GetProgramEnvParameterfvARB -GET_GetProgramEnvParameterfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetProgramEnvParameterfvARB) (GET_by_offset - (disp, - _gloffset_GetProgramEnvParameterfvARB)); -} - -static inline void -SET_GetProgramEnvParameterfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetProgramEnvParameterfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramLocalParameterdvARB) (GLenum, GLuint, - GLdouble *); -#define CALL_GetProgramLocalParameterdvARB(disp, parameters) \ - (* GET_GetProgramLocalParameterdvARB(disp)) parameters -static inline _glptr_GetProgramLocalParameterdvARB -GET_GetProgramLocalParameterdvARB(struct _glapi_table *disp) -{ - return (_glptr_GetProgramLocalParameterdvARB) (GET_by_offset - (disp, - _gloffset_GetProgramLocalParameterdvARB)); -} - -static inline void -SET_GetProgramLocalParameterdvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetProgramLocalParameterdvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramLocalParameterfvARB) (GLenum, GLuint, - GLfloat *); -#define CALL_GetProgramLocalParameterfvARB(disp, parameters) \ - (* GET_GetProgramLocalParameterfvARB(disp)) parameters -static inline _glptr_GetProgramLocalParameterfvARB -GET_GetProgramLocalParameterfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetProgramLocalParameterfvARB) (GET_by_offset - (disp, - _gloffset_GetProgramLocalParameterfvARB)); -} - -static inline void -SET_GetProgramLocalParameterfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetProgramLocalParameterfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramStringARB) (GLenum, GLenum, - GLvoid *); -#define CALL_GetProgramStringARB(disp, parameters) \ - (* GET_GetProgramStringARB(disp)) parameters -static inline _glptr_GetProgramStringARB -GET_GetProgramStringARB(struct _glapi_table *disp) -{ - return (_glptr_GetProgramStringARB) (GET_by_offset - (disp, _gloffset_GetProgramStringARB)); -} - -static inline void -SET_GetProgramStringARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetProgramStringARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramivARB) (GLenum, GLenum, GLint *); - -#define CALL_GetProgramivARB(disp, parameters) \ - (* GET_GetProgramivARB(disp)) parameters -static inline _glptr_GetProgramivARB -GET_GetProgramivARB(struct _glapi_table *disp) -{ - return (_glptr_GetProgramivARB) (GET_by_offset - (disp, _gloffset_GetProgramivARB)); -} - -static inline void -SET_GetProgramivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetProgramivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribdvARB) (GLuint, GLenum, - GLdouble *); -#define CALL_GetVertexAttribdvARB(disp, parameters) \ - (* GET_GetVertexAttribdvARB(disp)) parameters -static inline _glptr_GetVertexAttribdvARB -GET_GetVertexAttribdvARB(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribdvARB) (GET_by_offset - (disp, - _gloffset_GetVertexAttribdvARB)); -} - -static inline void -SET_GetVertexAttribdvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribdvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribfvARB) (GLuint, GLenum, - GLfloat *); -#define CALL_GetVertexAttribfvARB(disp, parameters) \ - (* GET_GetVertexAttribfvARB(disp)) parameters -static inline _glptr_GetVertexAttribfvARB -GET_GetVertexAttribfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribfvARB) (GET_by_offset - (disp, - _gloffset_GetVertexAttribfvARB)); -} - -static inline void -SET_GetVertexAttribfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribivARB) (GLuint, GLenum, - GLint *); -#define CALL_GetVertexAttribivARB(disp, parameters) \ - (* GET_GetVertexAttribivARB(disp)) parameters -static inline _glptr_GetVertexAttribivARB -GET_GetVertexAttribivARB(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribivARB) (GET_by_offset - (disp, - _gloffset_GetVertexAttribivARB)); -} - -static inline void -SET_GetVertexAttribivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramEnvParameter4dARB) (GLenum, GLuint, - GLdouble, GLdouble, - GLdouble, GLdouble); -#define CALL_ProgramEnvParameter4dARB(disp, parameters) \ - (* GET_ProgramEnvParameter4dARB(disp)) parameters -static inline _glptr_ProgramEnvParameter4dARB -GET_ProgramEnvParameter4dARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramEnvParameter4dARB) (GET_by_offset - (disp, - _gloffset_ProgramEnvParameter4dARB)); -} - -static inline void -SET_ProgramEnvParameter4dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLdouble, - GLdouble, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_ProgramEnvParameter4dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramEnvParameter4dvARB) (GLenum, GLuint, - const GLdouble *); -#define CALL_ProgramEnvParameter4dvARB(disp, parameters) \ - (* GET_ProgramEnvParameter4dvARB(disp)) parameters -static inline _glptr_ProgramEnvParameter4dvARB -GET_ProgramEnvParameter4dvARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramEnvParameter4dvARB) (GET_by_offset - (disp, - _gloffset_ProgramEnvParameter4dvARB)); -} - -static inline void -SET_ProgramEnvParameter4dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_ProgramEnvParameter4dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramEnvParameter4fARB) (GLenum, GLuint, - GLfloat, GLfloat, - GLfloat, GLfloat); -#define CALL_ProgramEnvParameter4fARB(disp, parameters) \ - (* GET_ProgramEnvParameter4fARB(disp)) parameters -static inline _glptr_ProgramEnvParameter4fARB -GET_ProgramEnvParameter4fARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramEnvParameter4fARB) (GET_by_offset - (disp, - _gloffset_ProgramEnvParameter4fARB)); -} - -static inline void -SET_ProgramEnvParameter4fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLfloat, - GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_ProgramEnvParameter4fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramEnvParameter4fvARB) (GLenum, GLuint, - const GLfloat *); -#define CALL_ProgramEnvParameter4fvARB(disp, parameters) \ - (* GET_ProgramEnvParameter4fvARB(disp)) parameters -static inline _glptr_ProgramEnvParameter4fvARB -GET_ProgramEnvParameter4fvARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramEnvParameter4fvARB) (GET_by_offset - (disp, - _gloffset_ProgramEnvParameter4fvARB)); -} - -static inline void -SET_ProgramEnvParameter4fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ProgramEnvParameter4fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramLocalParameter4dARB) (GLenum, GLuint, - GLdouble, - GLdouble, - GLdouble, - GLdouble); -#define CALL_ProgramLocalParameter4dARB(disp, parameters) \ - (* GET_ProgramLocalParameter4dARB(disp)) parameters -static inline _glptr_ProgramLocalParameter4dARB -GET_ProgramLocalParameter4dARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramLocalParameter4dARB) (GET_by_offset - (disp, - _gloffset_ProgramLocalParameter4dARB)); -} - -static inline void -SET_ProgramLocalParameter4dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLdouble, - GLdouble, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_ProgramLocalParameter4dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramLocalParameter4dvARB) (GLenum, GLuint, - const GLdouble - *); -#define CALL_ProgramLocalParameter4dvARB(disp, parameters) \ - (* GET_ProgramLocalParameter4dvARB(disp)) parameters -static inline _glptr_ProgramLocalParameter4dvARB -GET_ProgramLocalParameter4dvARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramLocalParameter4dvARB) (GET_by_offset - (disp, - _gloffset_ProgramLocalParameter4dvARB)); -} - -static inline void -SET_ProgramLocalParameter4dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_ProgramLocalParameter4dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramLocalParameter4fARB) (GLenum, GLuint, - GLfloat, GLfloat, - GLfloat, GLfloat); -#define CALL_ProgramLocalParameter4fARB(disp, parameters) \ - (* GET_ProgramLocalParameter4fARB(disp)) parameters -static inline _glptr_ProgramLocalParameter4fARB -GET_ProgramLocalParameter4fARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramLocalParameter4fARB) (GET_by_offset - (disp, - _gloffset_ProgramLocalParameter4fARB)); -} - -static inline void -SET_ProgramLocalParameter4fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLfloat, - GLfloat, GLfloat, - GLfloat)) -{ - SET_by_offset(disp, _gloffset_ProgramLocalParameter4fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramLocalParameter4fvARB) (GLenum, GLuint, - const GLfloat *); -#define CALL_ProgramLocalParameter4fvARB(disp, parameters) \ - (* GET_ProgramLocalParameter4fvARB(disp)) parameters -static inline _glptr_ProgramLocalParameter4fvARB -GET_ProgramLocalParameter4fvARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramLocalParameter4fvARB) (GET_by_offset - (disp, - _gloffset_ProgramLocalParameter4fvARB)); -} - -static inline void -SET_ProgramLocalParameter4fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ProgramLocalParameter4fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramStringARB) (GLenum, GLenum, GLsizei, - const GLvoid *); -#define CALL_ProgramStringARB(disp, parameters) \ - (* GET_ProgramStringARB(disp)) parameters -static inline _glptr_ProgramStringARB -GET_ProgramStringARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramStringARB) (GET_by_offset - (disp, _gloffset_ProgramStringARB)); -} - -static inline void -SET_ProgramStringARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ProgramStringARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1dARB) (GLuint, GLdouble); - -#define CALL_VertexAttrib1dARB(disp, parameters) \ - (* GET_VertexAttrib1dARB(disp)) parameters -static inline _glptr_VertexAttrib1dARB -GET_VertexAttrib1dARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1dARB) (GET_by_offset - (disp, _gloffset_VertexAttrib1dARB)); -} - -static inline void -SET_VertexAttrib1dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1dvARB) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib1dvARB(disp, parameters) \ - (* GET_VertexAttrib1dvARB(disp)) parameters -static inline _glptr_VertexAttrib1dvARB -GET_VertexAttrib1dvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1dvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib1dvARB)); -} - -static inline void -SET_VertexAttrib1dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1fARB) (GLuint, GLfloat); - -#define CALL_VertexAttrib1fARB(disp, parameters) \ - (* GET_VertexAttrib1fARB(disp)) parameters -static inline _glptr_VertexAttrib1fARB -GET_VertexAttrib1fARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1fARB) (GET_by_offset - (disp, _gloffset_VertexAttrib1fARB)); -} - -static inline void -SET_VertexAttrib1fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1fvARB) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib1fvARB(disp, parameters) \ - (* GET_VertexAttrib1fvARB(disp)) parameters -static inline _glptr_VertexAttrib1fvARB -GET_VertexAttrib1fvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1fvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib1fvARB)); -} - -static inline void -SET_VertexAttrib1fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1sARB) (GLuint, GLshort); - -#define CALL_VertexAttrib1sARB(disp, parameters) \ - (* GET_VertexAttrib1sARB(disp)) parameters -static inline _glptr_VertexAttrib1sARB -GET_VertexAttrib1sARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1sARB) (GET_by_offset - (disp, _gloffset_VertexAttrib1sARB)); -} - -static inline void -SET_VertexAttrib1sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1svARB) (GLuint, const GLshort *); - -#define CALL_VertexAttrib1svARB(disp, parameters) \ - (* GET_VertexAttrib1svARB(disp)) parameters -static inline _glptr_VertexAttrib1svARB -GET_VertexAttrib1svARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1svARB) (GET_by_offset - (disp, _gloffset_VertexAttrib1svARB)); -} - -static inline void -SET_VertexAttrib1svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2dARB) (GLuint, GLdouble, - GLdouble); -#define CALL_VertexAttrib2dARB(disp, parameters) \ - (* GET_VertexAttrib2dARB(disp)) parameters -static inline _glptr_VertexAttrib2dARB -GET_VertexAttrib2dARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2dARB) (GET_by_offset - (disp, _gloffset_VertexAttrib2dARB)); -} - -static inline void -SET_VertexAttrib2dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2dvARB) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib2dvARB(disp, parameters) \ - (* GET_VertexAttrib2dvARB(disp)) parameters -static inline _glptr_VertexAttrib2dvARB -GET_VertexAttrib2dvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2dvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib2dvARB)); -} - -static inline void -SET_VertexAttrib2dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2fARB) (GLuint, GLfloat, GLfloat); - -#define CALL_VertexAttrib2fARB(disp, parameters) \ - (* GET_VertexAttrib2fARB(disp)) parameters -static inline _glptr_VertexAttrib2fARB -GET_VertexAttrib2fARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2fARB) (GET_by_offset - (disp, _gloffset_VertexAttrib2fARB)); -} - -static inline void -SET_VertexAttrib2fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2fvARB) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib2fvARB(disp, parameters) \ - (* GET_VertexAttrib2fvARB(disp)) parameters -static inline _glptr_VertexAttrib2fvARB -GET_VertexAttrib2fvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2fvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib2fvARB)); -} - -static inline void -SET_VertexAttrib2fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2sARB) (GLuint, GLshort, GLshort); - -#define CALL_VertexAttrib2sARB(disp, parameters) \ - (* GET_VertexAttrib2sARB(disp)) parameters -static inline _glptr_VertexAttrib2sARB -GET_VertexAttrib2sARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2sARB) (GET_by_offset - (disp, _gloffset_VertexAttrib2sARB)); -} - -static inline void -SET_VertexAttrib2sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2svARB) (GLuint, const GLshort *); - -#define CALL_VertexAttrib2svARB(disp, parameters) \ - (* GET_VertexAttrib2svARB(disp)) parameters -static inline _glptr_VertexAttrib2svARB -GET_VertexAttrib2svARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2svARB) (GET_by_offset - (disp, _gloffset_VertexAttrib2svARB)); -} - -static inline void -SET_VertexAttrib2svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3dARB) (GLuint, GLdouble, GLdouble, - GLdouble); -#define CALL_VertexAttrib3dARB(disp, parameters) \ - (* GET_VertexAttrib3dARB(disp)) parameters -static inline _glptr_VertexAttrib3dARB -GET_VertexAttrib3dARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3dARB) (GET_by_offset - (disp, _gloffset_VertexAttrib3dARB)); -} - -static inline void -SET_VertexAttrib3dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3dvARB) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib3dvARB(disp, parameters) \ - (* GET_VertexAttrib3dvARB(disp)) parameters -static inline _glptr_VertexAttrib3dvARB -GET_VertexAttrib3dvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3dvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib3dvARB)); -} - -static inline void -SET_VertexAttrib3dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3fARB) (GLuint, GLfloat, GLfloat, - GLfloat); -#define CALL_VertexAttrib3fARB(disp, parameters) \ - (* GET_VertexAttrib3fARB(disp)) parameters -static inline _glptr_VertexAttrib3fARB -GET_VertexAttrib3fARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3fARB) (GET_by_offset - (disp, _gloffset_VertexAttrib3fARB)); -} - -static inline void -SET_VertexAttrib3fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3fvARB) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib3fvARB(disp, parameters) \ - (* GET_VertexAttrib3fvARB(disp)) parameters -static inline _glptr_VertexAttrib3fvARB -GET_VertexAttrib3fvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3fvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib3fvARB)); -} - -static inline void -SET_VertexAttrib3fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3sARB) (GLuint, GLshort, GLshort, - GLshort); -#define CALL_VertexAttrib3sARB(disp, parameters) \ - (* GET_VertexAttrib3sARB(disp)) parameters -static inline _glptr_VertexAttrib3sARB -GET_VertexAttrib3sARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3sARB) (GET_by_offset - (disp, _gloffset_VertexAttrib3sARB)); -} - -static inline void -SET_VertexAttrib3sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3svARB) (GLuint, const GLshort *); - -#define CALL_VertexAttrib3svARB(disp, parameters) \ - (* GET_VertexAttrib3svARB(disp)) parameters -static inline _glptr_VertexAttrib3svARB -GET_VertexAttrib3svARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3svARB) (GET_by_offset - (disp, _gloffset_VertexAttrib3svARB)); -} - -static inline void -SET_VertexAttrib3svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4NbvARB) (GLuint, const GLbyte *); - -#define CALL_VertexAttrib4NbvARB(disp, parameters) \ - (* GET_VertexAttrib4NbvARB(disp)) parameters -static inline _glptr_VertexAttrib4NbvARB -GET_VertexAttrib4NbvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4NbvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4NbvARB)); -} - -static inline void -SET_VertexAttrib4NbvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLbyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4NbvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4NivARB) (GLuint, const GLint *); - -#define CALL_VertexAttrib4NivARB(disp, parameters) \ - (* GET_VertexAttrib4NivARB(disp)) parameters -static inline _glptr_VertexAttrib4NivARB -GET_VertexAttrib4NivARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4NivARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4NivARB)); -} - -static inline void -SET_VertexAttrib4NivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4NivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4NsvARB) (GLuint, const GLshort *); - -#define CALL_VertexAttrib4NsvARB(disp, parameters) \ - (* GET_VertexAttrib4NsvARB(disp)) parameters -static inline _glptr_VertexAttrib4NsvARB -GET_VertexAttrib4NsvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4NsvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4NsvARB)); -} - -static inline void -SET_VertexAttrib4NsvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4NsvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4NubARB) (GLuint, GLubyte, GLubyte, - GLubyte, GLubyte); -#define CALL_VertexAttrib4NubARB(disp, parameters) \ - (* GET_VertexAttrib4NubARB(disp)) parameters -static inline _glptr_VertexAttrib4NubARB -GET_VertexAttrib4NubARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4NubARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4NubARB)); -} - -static inline void -SET_VertexAttrib4NubARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLubyte, GLubyte, - GLubyte, GLubyte)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4NubARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4NubvARB) (GLuint, - const GLubyte *); -#define CALL_VertexAttrib4NubvARB(disp, parameters) \ - (* GET_VertexAttrib4NubvARB(disp)) parameters -static inline _glptr_VertexAttrib4NubvARB -GET_VertexAttrib4NubvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4NubvARB) (GET_by_offset - (disp, - _gloffset_VertexAttrib4NubvARB)); -} - -static inline void -SET_VertexAttrib4NubvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4NubvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4NuivARB) (GLuint, const GLuint *); - -#define CALL_VertexAttrib4NuivARB(disp, parameters) \ - (* GET_VertexAttrib4NuivARB(disp)) parameters -static inline _glptr_VertexAttrib4NuivARB -GET_VertexAttrib4NuivARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4NuivARB) (GET_by_offset - (disp, - _gloffset_VertexAttrib4NuivARB)); -} - -static inline void -SET_VertexAttrib4NuivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4NuivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4NusvARB) (GLuint, - const GLushort *); -#define CALL_VertexAttrib4NusvARB(disp, parameters) \ - (* GET_VertexAttrib4NusvARB(disp)) parameters -static inline _glptr_VertexAttrib4NusvARB -GET_VertexAttrib4NusvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4NusvARB) (GET_by_offset - (disp, - _gloffset_VertexAttrib4NusvARB)); -} - -static inline void -SET_VertexAttrib4NusvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLushort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4NusvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4bvARB) (GLuint, const GLbyte *); - -#define CALL_VertexAttrib4bvARB(disp, parameters) \ - (* GET_VertexAttrib4bvARB(disp)) parameters -static inline _glptr_VertexAttrib4bvARB -GET_VertexAttrib4bvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4bvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4bvARB)); -} - -static inline void -SET_VertexAttrib4bvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLbyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4bvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4dARB) (GLuint, GLdouble, GLdouble, - GLdouble, GLdouble); -#define CALL_VertexAttrib4dARB(disp, parameters) \ - (* GET_VertexAttrib4dARB(disp)) parameters -static inline _glptr_VertexAttrib4dARB -GET_VertexAttrib4dARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4dARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4dARB)); -} - -static inline void -SET_VertexAttrib4dARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble, GLdouble, - GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4dARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4dvARB) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib4dvARB(disp, parameters) \ - (* GET_VertexAttrib4dvARB(disp)) parameters -static inline _glptr_VertexAttrib4dvARB -GET_VertexAttrib4dvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4dvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4dvARB)); -} - -static inline void -SET_VertexAttrib4dvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4dvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4fARB) (GLuint, GLfloat, GLfloat, - GLfloat, GLfloat); -#define CALL_VertexAttrib4fARB(disp, parameters) \ - (* GET_VertexAttrib4fARB(disp)) parameters -static inline _glptr_VertexAttrib4fARB -GET_VertexAttrib4fARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4fARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4fARB)); -} - -static inline void -SET_VertexAttrib4fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat, GLfloat, GLfloat, - GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4fvARB) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib4fvARB(disp, parameters) \ - (* GET_VertexAttrib4fvARB(disp)) parameters -static inline _glptr_VertexAttrib4fvARB -GET_VertexAttrib4fvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4fvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4fvARB)); -} - -static inline void -SET_VertexAttrib4fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4ivARB) (GLuint, const GLint *); - -#define CALL_VertexAttrib4ivARB(disp, parameters) \ - (* GET_VertexAttrib4ivARB(disp)) parameters -static inline _glptr_VertexAttrib4ivARB -GET_VertexAttrib4ivARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4ivARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4ivARB)); -} - -static inline void -SET_VertexAttrib4ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4sARB) (GLuint, GLshort, GLshort, - GLshort, GLshort); -#define CALL_VertexAttrib4sARB(disp, parameters) \ - (* GET_VertexAttrib4sARB(disp)) parameters -static inline _glptr_VertexAttrib4sARB -GET_VertexAttrib4sARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4sARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4sARB)); -} - -static inline void -SET_VertexAttrib4sARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort, GLshort, GLshort, - GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4sARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4svARB) (GLuint, const GLshort *); - -#define CALL_VertexAttrib4svARB(disp, parameters) \ - (* GET_VertexAttrib4svARB(disp)) parameters -static inline _glptr_VertexAttrib4svARB -GET_VertexAttrib4svARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4svARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4svARB)); -} - -static inline void -SET_VertexAttrib4svARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4svARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4ubvARB) (GLuint, const GLubyte *); - -#define CALL_VertexAttrib4ubvARB(disp, parameters) \ - (* GET_VertexAttrib4ubvARB(disp)) parameters -static inline _glptr_VertexAttrib4ubvARB -GET_VertexAttrib4ubvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4ubvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4ubvARB)); -} - -static inline void -SET_VertexAttrib4ubvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4ubvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4uivARB) (GLuint, const GLuint *); - -#define CALL_VertexAttrib4uivARB(disp, parameters) \ - (* GET_VertexAttrib4uivARB(disp)) parameters -static inline _glptr_VertexAttrib4uivARB -GET_VertexAttrib4uivARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4uivARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4uivARB)); -} - -static inline void -SET_VertexAttrib4uivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4uivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4usvARB) (GLuint, - const GLushort *); -#define CALL_VertexAttrib4usvARB(disp, parameters) \ - (* GET_VertexAttrib4usvARB(disp)) parameters -static inline _glptr_VertexAttrib4usvARB -GET_VertexAttrib4usvARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4usvARB) (GET_by_offset - (disp, _gloffset_VertexAttrib4usvARB)); -} - -static inline void -SET_VertexAttrib4usvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLushort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4usvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribPointerARB) (GLuint, GLint, GLenum, - GLboolean, GLsizei, - const GLvoid *); -#define CALL_VertexAttribPointerARB(disp, parameters) \ - (* GET_VertexAttribPointerARB(disp)) parameters -static inline _glptr_VertexAttribPointerARB -GET_VertexAttribPointerARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribPointerARB) (GET_by_offset - (disp, - _gloffset_VertexAttribPointerARB)); -} - -static inline void -SET_VertexAttribPointerARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint, GLenum, - GLboolean, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribPointerARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindBufferARB) (GLenum, GLuint); - -#define CALL_BindBufferARB(disp, parameters) \ - (* GET_BindBufferARB(disp)) parameters -static inline _glptr_BindBufferARB -GET_BindBufferARB(struct _glapi_table *disp) -{ - return (_glptr_BindBufferARB) (GET_by_offset - (disp, _gloffset_BindBufferARB)); -} - -static inline void -SET_BindBufferARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindBufferARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BufferDataARB) (GLenum, GLsizeiptrARB, - const GLvoid *, GLenum); -#define CALL_BufferDataARB(disp, parameters) \ - (* GET_BufferDataARB(disp)) parameters -static inline _glptr_BufferDataARB -GET_BufferDataARB(struct _glapi_table *disp) -{ - return (_glptr_BufferDataARB) (GET_by_offset - (disp, _gloffset_BufferDataARB)); -} - -static inline void -SET_BufferDataARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizeiptrARB, const GLvoid *, - GLenum)) -{ - SET_by_offset(disp, _gloffset_BufferDataARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BufferSubDataARB) (GLenum, GLintptrARB, - GLsizeiptrARB, - const GLvoid *); -#define CALL_BufferSubDataARB(disp, parameters) \ - (* GET_BufferSubDataARB(disp)) parameters -static inline _glptr_BufferSubDataARB -GET_BufferSubDataARB(struct _glapi_table *disp) -{ - return (_glptr_BufferSubDataARB) (GET_by_offset - (disp, _gloffset_BufferSubDataARB)); -} - -static inline void -SET_BufferSubDataARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLintptrARB, GLsizeiptrARB, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_BufferSubDataARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteBuffersARB) (GLsizei, const GLuint *); - -#define CALL_DeleteBuffersARB(disp, parameters) \ - (* GET_DeleteBuffersARB(disp)) parameters -static inline _glptr_DeleteBuffersARB -GET_DeleteBuffersARB(struct _glapi_table *disp) -{ - return (_glptr_DeleteBuffersARB) (GET_by_offset - (disp, _gloffset_DeleteBuffersARB)); -} - -static inline void -SET_DeleteBuffersARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteBuffersARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenBuffersARB) (GLsizei, GLuint *); - -#define CALL_GenBuffersARB(disp, parameters) \ - (* GET_GenBuffersARB(disp)) parameters -static inline _glptr_GenBuffersARB -GET_GenBuffersARB(struct _glapi_table *disp) -{ - return (_glptr_GenBuffersARB) (GET_by_offset - (disp, _gloffset_GenBuffersARB)); -} - -static inline void -SET_GenBuffersARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenBuffersARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetBufferParameterivARB) (GLenum, GLenum, - GLint *); -#define CALL_GetBufferParameterivARB(disp, parameters) \ - (* GET_GetBufferParameterivARB(disp)) parameters -static inline _glptr_GetBufferParameterivARB -GET_GetBufferParameterivARB(struct _glapi_table *disp) -{ - return (_glptr_GetBufferParameterivARB) (GET_by_offset - (disp, - _gloffset_GetBufferParameterivARB)); -} - -static inline void -SET_GetBufferParameterivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetBufferParameterivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetBufferPointervARB) (GLenum, GLenum, - GLvoid **); -#define CALL_GetBufferPointervARB(disp, parameters) \ - (* GET_GetBufferPointervARB(disp)) parameters -static inline _glptr_GetBufferPointervARB -GET_GetBufferPointervARB(struct _glapi_table *disp) -{ - return (_glptr_GetBufferPointervARB) (GET_by_offset - (disp, - _gloffset_GetBufferPointervARB)); -} - -static inline void -SET_GetBufferPointervARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLvoid **)) -{ - SET_by_offset(disp, _gloffset_GetBufferPointervARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetBufferSubDataARB) (GLenum, GLintptrARB, - GLsizeiptrARB, GLvoid *); -#define CALL_GetBufferSubDataARB(disp, parameters) \ - (* GET_GetBufferSubDataARB(disp)) parameters -static inline _glptr_GetBufferSubDataARB -GET_GetBufferSubDataARB(struct _glapi_table *disp) -{ - return (_glptr_GetBufferSubDataARB) (GET_by_offset - (disp, _gloffset_GetBufferSubDataARB)); -} - -static inline void -SET_GetBufferSubDataARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLintptrARB, - GLsizeiptrARB, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetBufferSubDataARB, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsBufferARB) (GLuint); - -#define CALL_IsBufferARB(disp, parameters) \ - (* GET_IsBufferARB(disp)) parameters -static inline _glptr_IsBufferARB -GET_IsBufferARB(struct _glapi_table *disp) -{ - return (_glptr_IsBufferARB) (GET_by_offset(disp, _gloffset_IsBufferARB)); -} - -static inline void -SET_IsBufferARB(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsBufferARB, fn); -} - -typedef GLvoid *(GLAPIENTRYP _glptr_MapBufferARB) (GLenum, GLenum); - -#define CALL_MapBufferARB(disp, parameters) \ - (* GET_MapBufferARB(disp)) parameters -static inline _glptr_MapBufferARB -GET_MapBufferARB(struct _glapi_table *disp) -{ - return (_glptr_MapBufferARB) (GET_by_offset(disp, _gloffset_MapBufferARB)); -} - -static inline void -SET_MapBufferARB(struct _glapi_table *disp, - GLvoid * (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_MapBufferARB, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_UnmapBufferARB) (GLenum); - -#define CALL_UnmapBufferARB(disp, parameters) \ - (* GET_UnmapBufferARB(disp)) parameters -static inline _glptr_UnmapBufferARB -GET_UnmapBufferARB(struct _glapi_table *disp) -{ - return (_glptr_UnmapBufferARB) (GET_by_offset - (disp, _gloffset_UnmapBufferARB)); -} - -static inline void -SET_UnmapBufferARB(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_UnmapBufferARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BeginQueryARB) (GLenum, GLuint); - -#define CALL_BeginQueryARB(disp, parameters) \ - (* GET_BeginQueryARB(disp)) parameters -static inline _glptr_BeginQueryARB -GET_BeginQueryARB(struct _glapi_table *disp) -{ - return (_glptr_BeginQueryARB) (GET_by_offset - (disp, _gloffset_BeginQueryARB)); -} - -static inline void -SET_BeginQueryARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_BeginQueryARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteQueriesARB) (GLsizei, const GLuint *); - -#define CALL_DeleteQueriesARB(disp, parameters) \ - (* GET_DeleteQueriesARB(disp)) parameters -static inline _glptr_DeleteQueriesARB -GET_DeleteQueriesARB(struct _glapi_table *disp) -{ - return (_glptr_DeleteQueriesARB) (GET_by_offset - (disp, _gloffset_DeleteQueriesARB)); -} - -static inline void -SET_DeleteQueriesARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteQueriesARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_EndQueryARB) (GLenum); - -#define CALL_EndQueryARB(disp, parameters) \ - (* GET_EndQueryARB(disp)) parameters -static inline _glptr_EndQueryARB -GET_EndQueryARB(struct _glapi_table *disp) -{ - return (_glptr_EndQueryARB) (GET_by_offset(disp, _gloffset_EndQueryARB)); -} - -static inline void -SET_EndQueryARB(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_EndQueryARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenQueriesARB) (GLsizei, GLuint *); - -#define CALL_GenQueriesARB(disp, parameters) \ - (* GET_GenQueriesARB(disp)) parameters -static inline _glptr_GenQueriesARB -GET_GenQueriesARB(struct _glapi_table *disp) -{ - return (_glptr_GenQueriesARB) (GET_by_offset - (disp, _gloffset_GenQueriesARB)); -} - -static inline void -SET_GenQueriesARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenQueriesARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetQueryObjectivARB) (GLuint, GLenum, GLint *); - -#define CALL_GetQueryObjectivARB(disp, parameters) \ - (* GET_GetQueryObjectivARB(disp)) parameters -static inline _glptr_GetQueryObjectivARB -GET_GetQueryObjectivARB(struct _glapi_table *disp) -{ - return (_glptr_GetQueryObjectivARB) (GET_by_offset - (disp, _gloffset_GetQueryObjectivARB)); -} - -static inline void -SET_GetQueryObjectivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetQueryObjectivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetQueryObjectuivARB) (GLuint, GLenum, - GLuint *); -#define CALL_GetQueryObjectuivARB(disp, parameters) \ - (* GET_GetQueryObjectuivARB(disp)) parameters -static inline _glptr_GetQueryObjectuivARB -GET_GetQueryObjectuivARB(struct _glapi_table *disp) -{ - return (_glptr_GetQueryObjectuivARB) (GET_by_offset - (disp, - _gloffset_GetQueryObjectuivARB)); -} - -static inline void -SET_GetQueryObjectuivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetQueryObjectuivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetQueryivARB) (GLenum, GLenum, GLint *); - -#define CALL_GetQueryivARB(disp, parameters) \ - (* GET_GetQueryivARB(disp)) parameters -static inline _glptr_GetQueryivARB -GET_GetQueryivARB(struct _glapi_table *disp) -{ - return (_glptr_GetQueryivARB) (GET_by_offset - (disp, _gloffset_GetQueryivARB)); -} - -static inline void -SET_GetQueryivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetQueryivARB, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsQueryARB) (GLuint); - -#define CALL_IsQueryARB(disp, parameters) \ - (* GET_IsQueryARB(disp)) parameters -static inline _glptr_IsQueryARB -GET_IsQueryARB(struct _glapi_table *disp) -{ - return (_glptr_IsQueryARB) (GET_by_offset(disp, _gloffset_IsQueryARB)); -} - -static inline void -SET_IsQueryARB(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsQueryARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_AttachObjectARB) (GLhandleARB, GLhandleARB); - -#define CALL_AttachObjectARB(disp, parameters) \ - (* GET_AttachObjectARB(disp)) parameters -static inline _glptr_AttachObjectARB -GET_AttachObjectARB(struct _glapi_table *disp) -{ - return (_glptr_AttachObjectARB) (GET_by_offset - (disp, _gloffset_AttachObjectARB)); -} - -static inline void -SET_AttachObjectARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLhandleARB)) -{ - SET_by_offset(disp, _gloffset_AttachObjectARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_CompileShaderARB) (GLhandleARB); - -#define CALL_CompileShaderARB(disp, parameters) \ - (* GET_CompileShaderARB(disp)) parameters -static inline _glptr_CompileShaderARB -GET_CompileShaderARB(struct _glapi_table *disp) -{ - return (_glptr_CompileShaderARB) (GET_by_offset - (disp, _gloffset_CompileShaderARB)); -} - -static inline void -SET_CompileShaderARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB)) -{ - SET_by_offset(disp, _gloffset_CompileShaderARB, fn); -} - -typedef GLhandleARB(GLAPIENTRYP _glptr_CreateProgramObjectARB) (void); - -#define CALL_CreateProgramObjectARB(disp, parameters) \ - (* GET_CreateProgramObjectARB(disp)) parameters -static inline _glptr_CreateProgramObjectARB -GET_CreateProgramObjectARB(struct _glapi_table *disp) -{ - return (_glptr_CreateProgramObjectARB) (GET_by_offset - (disp, - _gloffset_CreateProgramObjectARB)); -} - -static inline void -SET_CreateProgramObjectARB(struct _glapi_table *disp, - GLhandleARB(GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_CreateProgramObjectARB, fn); -} - -typedef GLhandleARB(GLAPIENTRYP _glptr_CreateShaderObjectARB) (GLenum); - -#define CALL_CreateShaderObjectARB(disp, parameters) \ - (* GET_CreateShaderObjectARB(disp)) parameters -static inline _glptr_CreateShaderObjectARB -GET_CreateShaderObjectARB(struct _glapi_table *disp) -{ - return (_glptr_CreateShaderObjectARB) (GET_by_offset - (disp, - _gloffset_CreateShaderObjectARB)); -} - -static inline void -SET_CreateShaderObjectARB(struct _glapi_table *disp, - GLhandleARB(GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_CreateShaderObjectARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteObjectARB) (GLhandleARB); - -#define CALL_DeleteObjectARB(disp, parameters) \ - (* GET_DeleteObjectARB(disp)) parameters -static inline _glptr_DeleteObjectARB -GET_DeleteObjectARB(struct _glapi_table *disp) -{ - return (_glptr_DeleteObjectARB) (GET_by_offset - (disp, _gloffset_DeleteObjectARB)); -} - -static inline void -SET_DeleteObjectARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB)) -{ - SET_by_offset(disp, _gloffset_DeleteObjectARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DetachObjectARB) (GLhandleARB, GLhandleARB); - -#define CALL_DetachObjectARB(disp, parameters) \ - (* GET_DetachObjectARB(disp)) parameters -static inline _glptr_DetachObjectARB -GET_DetachObjectARB(struct _glapi_table *disp) -{ - return (_glptr_DetachObjectARB) (GET_by_offset - (disp, _gloffset_DetachObjectARB)); -} - -static inline void -SET_DetachObjectARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLhandleARB)) -{ - SET_by_offset(disp, _gloffset_DetachObjectARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetActiveUniformARB) (GLhandleARB, GLuint, - GLsizei, GLsizei *, - GLint *, GLenum *, - GLcharARB *); -#define CALL_GetActiveUniformARB(disp, parameters) \ - (* GET_GetActiveUniformARB(disp)) parameters -static inline _glptr_GetActiveUniformARB -GET_GetActiveUniformARB(struct _glapi_table *disp) -{ - return (_glptr_GetActiveUniformARB) (GET_by_offset - (disp, _gloffset_GetActiveUniformARB)); -} - -static inline void -SET_GetActiveUniformARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLuint, GLsizei, - GLsizei *, GLint *, GLenum *, - GLcharARB *)) -{ - SET_by_offset(disp, _gloffset_GetActiveUniformARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetAttachedObjectsARB) (GLhandleARB, GLsizei, - GLsizei *, - GLhandleARB *); -#define CALL_GetAttachedObjectsARB(disp, parameters) \ - (* GET_GetAttachedObjectsARB(disp)) parameters -static inline _glptr_GetAttachedObjectsARB -GET_GetAttachedObjectsARB(struct _glapi_table *disp) -{ - return (_glptr_GetAttachedObjectsARB) (GET_by_offset - (disp, - _gloffset_GetAttachedObjectsARB)); -} - -static inline void -SET_GetAttachedObjectsARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLsizei, - GLsizei *, GLhandleARB *)) -{ - SET_by_offset(disp, _gloffset_GetAttachedObjectsARB, fn); -} - -typedef GLhandleARB(GLAPIENTRYP _glptr_GetHandleARB) (GLenum); - -#define CALL_GetHandleARB(disp, parameters) \ - (* GET_GetHandleARB(disp)) parameters -static inline _glptr_GetHandleARB -GET_GetHandleARB(struct _glapi_table *disp) -{ - return (_glptr_GetHandleARB) (GET_by_offset(disp, _gloffset_GetHandleARB)); -} - -static inline void -SET_GetHandleARB(struct _glapi_table *disp, - GLhandleARB(GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_GetHandleARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetInfoLogARB) (GLhandleARB, GLsizei, - GLsizei *, GLcharARB *); -#define CALL_GetInfoLogARB(disp, parameters) \ - (* GET_GetInfoLogARB(disp)) parameters -static inline _glptr_GetInfoLogARB -GET_GetInfoLogARB(struct _glapi_table *disp) -{ - return (_glptr_GetInfoLogARB) (GET_by_offset - (disp, _gloffset_GetInfoLogARB)); -} - -static inline void -SET_GetInfoLogARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLsizei, GLsizei *, - GLcharARB *)) -{ - SET_by_offset(disp, _gloffset_GetInfoLogARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetObjectParameterfvARB) (GLhandleARB, GLenum, - GLfloat *); -#define CALL_GetObjectParameterfvARB(disp, parameters) \ - (* GET_GetObjectParameterfvARB(disp)) parameters -static inline _glptr_GetObjectParameterfvARB -GET_GetObjectParameterfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetObjectParameterfvARB) (GET_by_offset - (disp, - _gloffset_GetObjectParameterfvARB)); -} - -static inline void -SET_GetObjectParameterfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLenum, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetObjectParameterfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetObjectParameterivARB) (GLhandleARB, GLenum, - GLint *); -#define CALL_GetObjectParameterivARB(disp, parameters) \ - (* GET_GetObjectParameterivARB(disp)) parameters -static inline _glptr_GetObjectParameterivARB -GET_GetObjectParameterivARB(struct _glapi_table *disp) -{ - return (_glptr_GetObjectParameterivARB) (GET_by_offset - (disp, - _gloffset_GetObjectParameterivARB)); -} - -static inline void -SET_GetObjectParameterivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLenum, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetObjectParameterivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetShaderSourceARB) (GLhandleARB, GLsizei, - GLsizei *, GLcharARB *); -#define CALL_GetShaderSourceARB(disp, parameters) \ - (* GET_GetShaderSourceARB(disp)) parameters -static inline _glptr_GetShaderSourceARB -GET_GetShaderSourceARB(struct _glapi_table *disp) -{ - return (_glptr_GetShaderSourceARB) (GET_by_offset - (disp, _gloffset_GetShaderSourceARB)); -} - -static inline void -SET_GetShaderSourceARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLsizei, GLsizei *, - GLcharARB *)) -{ - SET_by_offset(disp, _gloffset_GetShaderSourceARB, fn); -} - -typedef GLint(GLAPIENTRYP _glptr_GetUniformLocationARB) (GLhandleARB, - const GLcharARB *); -#define CALL_GetUniformLocationARB(disp, parameters) \ - (* GET_GetUniformLocationARB(disp)) parameters -static inline _glptr_GetUniformLocationARB -GET_GetUniformLocationARB(struct _glapi_table *disp) -{ - return (_glptr_GetUniformLocationARB) (GET_by_offset - (disp, - _gloffset_GetUniformLocationARB)); -} - -static inline void -SET_GetUniformLocationARB(struct _glapi_table *disp, - GLint(GLAPIENTRYP fn) (GLhandleARB, - const GLcharARB *)) -{ - SET_by_offset(disp, _gloffset_GetUniformLocationARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetUniformfvARB) (GLhandleARB, GLint, - GLfloat *); -#define CALL_GetUniformfvARB(disp, parameters) \ - (* GET_GetUniformfvARB(disp)) parameters -static inline _glptr_GetUniformfvARB -GET_GetUniformfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetUniformfvARB) (GET_by_offset - (disp, _gloffset_GetUniformfvARB)); -} - -static inline void -SET_GetUniformfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLint, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetUniformfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetUniformivARB) (GLhandleARB, GLint, GLint *); - -#define CALL_GetUniformivARB(disp, parameters) \ - (* GET_GetUniformivARB(disp)) parameters -static inline _glptr_GetUniformivARB -GET_GetUniformivARB(struct _glapi_table *disp) -{ - return (_glptr_GetUniformivARB) (GET_by_offset - (disp, _gloffset_GetUniformivARB)); -} - -static inline void -SET_GetUniformivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLint, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetUniformivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_LinkProgramARB) (GLhandleARB); - -#define CALL_LinkProgramARB(disp, parameters) \ - (* GET_LinkProgramARB(disp)) parameters -static inline _glptr_LinkProgramARB -GET_LinkProgramARB(struct _glapi_table *disp) -{ - return (_glptr_LinkProgramARB) (GET_by_offset - (disp, _gloffset_LinkProgramARB)); -} - -static inline void -SET_LinkProgramARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB)) -{ - SET_by_offset(disp, _gloffset_LinkProgramARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ShaderSourceARB) (GLhandleARB, GLsizei, - const GLcharARB **, - const GLint *); -#define CALL_ShaderSourceARB(disp, parameters) \ - (* GET_ShaderSourceARB(disp)) parameters -static inline _glptr_ShaderSourceARB -GET_ShaderSourceARB(struct _glapi_table *disp) -{ - return (_glptr_ShaderSourceARB) (GET_by_offset - (disp, _gloffset_ShaderSourceARB)); -} - -static inline void -SET_ShaderSourceARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLsizei, - const GLcharARB **, const GLint *)) -{ - SET_by_offset(disp, _gloffset_ShaderSourceARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform1fARB) (GLint, GLfloat); - -#define CALL_Uniform1fARB(disp, parameters) \ - (* GET_Uniform1fARB(disp)) parameters -static inline _glptr_Uniform1fARB -GET_Uniform1fARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform1fARB) (GET_by_offset(disp, _gloffset_Uniform1fARB)); -} - -static inline void -SET_Uniform1fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Uniform1fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform1fvARB) (GLint, GLsizei, - const GLfloat *); -#define CALL_Uniform1fvARB(disp, parameters) \ - (* GET_Uniform1fvARB(disp)) parameters -static inline _glptr_Uniform1fvARB -GET_Uniform1fvARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform1fvARB) (GET_by_offset - (disp, _gloffset_Uniform1fvARB)); -} - -static inline void -SET_Uniform1fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Uniform1fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform1iARB) (GLint, GLint); - -#define CALL_Uniform1iARB(disp, parameters) \ - (* GET_Uniform1iARB(disp)) parameters -static inline _glptr_Uniform1iARB -GET_Uniform1iARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform1iARB) (GET_by_offset(disp, _gloffset_Uniform1iARB)); -} - -static inline void -SET_Uniform1iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Uniform1iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform1ivARB) (GLint, GLsizei, const GLint *); - -#define CALL_Uniform1ivARB(disp, parameters) \ - (* GET_Uniform1ivARB(disp)) parameters -static inline _glptr_Uniform1ivARB -GET_Uniform1ivARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform1ivARB) (GET_by_offset - (disp, _gloffset_Uniform1ivARB)); -} - -static inline void -SET_Uniform1ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Uniform1ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform2fARB) (GLint, GLfloat, GLfloat); - -#define CALL_Uniform2fARB(disp, parameters) \ - (* GET_Uniform2fARB(disp)) parameters -static inline _glptr_Uniform2fARB -GET_Uniform2fARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform2fARB) (GET_by_offset(disp, _gloffset_Uniform2fARB)); -} - -static inline void -SET_Uniform2fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Uniform2fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform2fvARB) (GLint, GLsizei, - const GLfloat *); -#define CALL_Uniform2fvARB(disp, parameters) \ - (* GET_Uniform2fvARB(disp)) parameters -static inline _glptr_Uniform2fvARB -GET_Uniform2fvARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform2fvARB) (GET_by_offset - (disp, _gloffset_Uniform2fvARB)); -} - -static inline void -SET_Uniform2fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Uniform2fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform2iARB) (GLint, GLint, GLint); - -#define CALL_Uniform2iARB(disp, parameters) \ - (* GET_Uniform2iARB(disp)) parameters -static inline _glptr_Uniform2iARB -GET_Uniform2iARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform2iARB) (GET_by_offset(disp, _gloffset_Uniform2iARB)); -} - -static inline void -SET_Uniform2iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Uniform2iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform2ivARB) (GLint, GLsizei, const GLint *); - -#define CALL_Uniform2ivARB(disp, parameters) \ - (* GET_Uniform2ivARB(disp)) parameters -static inline _glptr_Uniform2ivARB -GET_Uniform2ivARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform2ivARB) (GET_by_offset - (disp, _gloffset_Uniform2ivARB)); -} - -static inline void -SET_Uniform2ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Uniform2ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform3fARB) (GLint, GLfloat, GLfloat, - GLfloat); -#define CALL_Uniform3fARB(disp, parameters) \ - (* GET_Uniform3fARB(disp)) parameters -static inline _glptr_Uniform3fARB -GET_Uniform3fARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform3fARB) (GET_by_offset(disp, _gloffset_Uniform3fARB)); -} - -static inline void -SET_Uniform3fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_Uniform3fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform3fvARB) (GLint, GLsizei, - const GLfloat *); -#define CALL_Uniform3fvARB(disp, parameters) \ - (* GET_Uniform3fvARB(disp)) parameters -static inline _glptr_Uniform3fvARB -GET_Uniform3fvARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform3fvARB) (GET_by_offset - (disp, _gloffset_Uniform3fvARB)); -} - -static inline void -SET_Uniform3fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Uniform3fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform3iARB) (GLint, GLint, GLint, GLint); - -#define CALL_Uniform3iARB(disp, parameters) \ - (* GET_Uniform3iARB(disp)) parameters -static inline _glptr_Uniform3iARB -GET_Uniform3iARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform3iARB) (GET_by_offset(disp, _gloffset_Uniform3iARB)); -} - -static inline void -SET_Uniform3iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Uniform3iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform3ivARB) (GLint, GLsizei, const GLint *); - -#define CALL_Uniform3ivARB(disp, parameters) \ - (* GET_Uniform3ivARB(disp)) parameters -static inline _glptr_Uniform3ivARB -GET_Uniform3ivARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform3ivARB) (GET_by_offset - (disp, _gloffset_Uniform3ivARB)); -} - -static inline void -SET_Uniform3ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Uniform3ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform4fARB) (GLint, GLfloat, GLfloat, - GLfloat, GLfloat); -#define CALL_Uniform4fARB(disp, parameters) \ - (* GET_Uniform4fARB(disp)) parameters -static inline _glptr_Uniform4fARB -GET_Uniform4fARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform4fARB) (GET_by_offset(disp, _gloffset_Uniform4fARB)); -} - -static inline void -SET_Uniform4fARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLfloat, GLfloat, GLfloat, - GLfloat)) -{ - SET_by_offset(disp, _gloffset_Uniform4fARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform4fvARB) (GLint, GLsizei, - const GLfloat *); -#define CALL_Uniform4fvARB(disp, parameters) \ - (* GET_Uniform4fvARB(disp)) parameters -static inline _glptr_Uniform4fvARB -GET_Uniform4fvARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform4fvARB) (GET_by_offset - (disp, _gloffset_Uniform4fvARB)); -} - -static inline void -SET_Uniform4fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_Uniform4fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform4iARB) (GLint, GLint, GLint, GLint, - GLint); -#define CALL_Uniform4iARB(disp, parameters) \ - (* GET_Uniform4iARB(disp)) parameters -static inline _glptr_Uniform4iARB -GET_Uniform4iARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform4iARB) (GET_by_offset(disp, _gloffset_Uniform4iARB)); -} - -static inline void -SET_Uniform4iARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_Uniform4iARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform4ivARB) (GLint, GLsizei, const GLint *); - -#define CALL_Uniform4ivARB(disp, parameters) \ - (* GET_Uniform4ivARB(disp)) parameters -static inline _glptr_Uniform4ivARB -GET_Uniform4ivARB(struct _glapi_table *disp) -{ - return (_glptr_Uniform4ivARB) (GET_by_offset - (disp, _gloffset_Uniform4ivARB)); -} - -static inline void -SET_Uniform4ivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLint *)) -{ - SET_by_offset(disp, _gloffset_Uniform4ivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix2fvARB) (GLint, GLsizei, - GLboolean, - const GLfloat *); -#define CALL_UniformMatrix2fvARB(disp, parameters) \ - (* GET_UniformMatrix2fvARB(disp)) parameters -static inline _glptr_UniformMatrix2fvARB -GET_UniformMatrix2fvARB(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix2fvARB) (GET_by_offset - (disp, _gloffset_UniformMatrix2fvARB)); -} - -static inline void -SET_UniformMatrix2fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix2fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix3fvARB) (GLint, GLsizei, - GLboolean, - const GLfloat *); -#define CALL_UniformMatrix3fvARB(disp, parameters) \ - (* GET_UniformMatrix3fvARB(disp)) parameters -static inline _glptr_UniformMatrix3fvARB -GET_UniformMatrix3fvARB(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix3fvARB) (GET_by_offset - (disp, _gloffset_UniformMatrix3fvARB)); -} - -static inline void -SET_UniformMatrix3fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix3fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_UniformMatrix4fvARB) (GLint, GLsizei, - GLboolean, - const GLfloat *); -#define CALL_UniformMatrix4fvARB(disp, parameters) \ - (* GET_UniformMatrix4fvARB(disp)) parameters -static inline _glptr_UniformMatrix4fvARB -GET_UniformMatrix4fvARB(struct _glapi_table *disp) -{ - return (_glptr_UniformMatrix4fvARB) (GET_by_offset - (disp, _gloffset_UniformMatrix4fvARB)); -} - -static inline void -SET_UniformMatrix4fvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, GLboolean, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_UniformMatrix4fvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_UseProgramObjectARB) (GLhandleARB); - -#define CALL_UseProgramObjectARB(disp, parameters) \ - (* GET_UseProgramObjectARB(disp)) parameters -static inline _glptr_UseProgramObjectARB -GET_UseProgramObjectARB(struct _glapi_table *disp) -{ - return (_glptr_UseProgramObjectARB) (GET_by_offset - (disp, _gloffset_UseProgramObjectARB)); -} - -static inline void -SET_UseProgramObjectARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB)) -{ - SET_by_offset(disp, _gloffset_UseProgramObjectARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ValidateProgramARB) (GLhandleARB); - -#define CALL_ValidateProgramARB(disp, parameters) \ - (* GET_ValidateProgramARB(disp)) parameters -static inline _glptr_ValidateProgramARB -GET_ValidateProgramARB(struct _glapi_table *disp) -{ - return (_glptr_ValidateProgramARB) (GET_by_offset - (disp, _gloffset_ValidateProgramARB)); -} - -static inline void -SET_ValidateProgramARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB)) -{ - SET_by_offset(disp, _gloffset_ValidateProgramARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindAttribLocationARB) (GLhandleARB, GLuint, - const GLcharARB *); -#define CALL_BindAttribLocationARB(disp, parameters) \ - (* GET_BindAttribLocationARB(disp)) parameters -static inline _glptr_BindAttribLocationARB -GET_BindAttribLocationARB(struct _glapi_table *disp) -{ - return (_glptr_BindAttribLocationARB) (GET_by_offset - (disp, - _gloffset_BindAttribLocationARB)); -} - -static inline void -SET_BindAttribLocationARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLuint, - const GLcharARB *)) -{ - SET_by_offset(disp, _gloffset_BindAttribLocationARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetActiveAttribARB) (GLhandleARB, GLuint, - GLsizei, GLsizei *, - GLint *, GLenum *, - GLcharARB *); -#define CALL_GetActiveAttribARB(disp, parameters) \ - (* GET_GetActiveAttribARB(disp)) parameters -static inline _glptr_GetActiveAttribARB -GET_GetActiveAttribARB(struct _glapi_table *disp) -{ - return (_glptr_GetActiveAttribARB) (GET_by_offset - (disp, _gloffset_GetActiveAttribARB)); -} - -static inline void -SET_GetActiveAttribARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLuint, GLsizei, - GLsizei *, GLint *, GLenum *, - GLcharARB *)) -{ - SET_by_offset(disp, _gloffset_GetActiveAttribARB, fn); -} - -typedef GLint(GLAPIENTRYP _glptr_GetAttribLocationARB) (GLhandleARB, - const GLcharARB *); -#define CALL_GetAttribLocationARB(disp, parameters) \ - (* GET_GetAttribLocationARB(disp)) parameters -static inline _glptr_GetAttribLocationARB -GET_GetAttribLocationARB(struct _glapi_table *disp) -{ - return (_glptr_GetAttribLocationARB) (GET_by_offset - (disp, - _gloffset_GetAttribLocationARB)); -} - -static inline void -SET_GetAttribLocationARB(struct _glapi_table *disp, - GLint(GLAPIENTRYP fn) (GLhandleARB, const GLcharARB *)) -{ - SET_by_offset(disp, _gloffset_GetAttribLocationARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawBuffersARB) (GLsizei, const GLenum *); - -#define CALL_DrawBuffersARB(disp, parameters) \ - (* GET_DrawBuffersARB(disp)) parameters -static inline _glptr_DrawBuffersARB -GET_DrawBuffersARB(struct _glapi_table *disp) -{ - return (_glptr_DrawBuffersARB) (GET_by_offset - (disp, _gloffset_DrawBuffersARB)); -} - -static inline void -SET_DrawBuffersARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLenum *)) -{ - SET_by_offset(disp, _gloffset_DrawBuffersARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClampColorARB) (GLenum, GLenum); - -#define CALL_ClampColorARB(disp, parameters) \ - (* GET_ClampColorARB(disp)) parameters -static inline _glptr_ClampColorARB -GET_ClampColorARB(struct _glapi_table *disp) -{ - return (_glptr_ClampColorARB) (GET_by_offset - (disp, _gloffset_ClampColorARB)); -} - -static inline void -SET_ClampColorARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_ClampColorARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawArraysInstancedARB) (GLenum, GLint, - GLsizei, GLsizei); -#define CALL_DrawArraysInstancedARB(disp, parameters) \ - (* GET_DrawArraysInstancedARB(disp)) parameters -static inline _glptr_DrawArraysInstancedARB -GET_DrawArraysInstancedARB(struct _glapi_table *disp) -{ - return (_glptr_DrawArraysInstancedARB) (GET_by_offset - (disp, - _gloffset_DrawArraysInstancedARB)); -} - -static inline void -SET_DrawArraysInstancedARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLsizei, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_DrawArraysInstancedARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawElementsInstancedARB) (GLenum, GLsizei, - GLenum, - const GLvoid *, - GLsizei); -#define CALL_DrawElementsInstancedARB(disp, parameters) \ - (* GET_DrawElementsInstancedARB(disp)) parameters -static inline _glptr_DrawElementsInstancedARB -GET_DrawElementsInstancedARB(struct _glapi_table *disp) -{ - return (_glptr_DrawElementsInstancedARB) (GET_by_offset - (disp, - _gloffset_DrawElementsInstancedARB)); -} - -static inline void -SET_DrawElementsInstancedARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLenum, - const GLvoid *, GLsizei)) -{ - SET_by_offset(disp, _gloffset_DrawElementsInstancedARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_RenderbufferStorageMultisample) (GLenum, - GLsizei, - GLenum, - GLsizei, - GLsizei); -#define CALL_RenderbufferStorageMultisample(disp, parameters) \ - (* GET_RenderbufferStorageMultisample(disp)) parameters -static inline _glptr_RenderbufferStorageMultisample -GET_RenderbufferStorageMultisample(struct _glapi_table *disp) -{ - return (_glptr_RenderbufferStorageMultisample) (GET_by_offset - (disp, - _gloffset_RenderbufferStorageMultisample)); -} - -static inline void -SET_RenderbufferStorageMultisample(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, - GLenum, GLsizei, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_RenderbufferStorageMultisample, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferTextureARB) (GLenum, GLenum, GLuint, - GLint); -#define CALL_FramebufferTextureARB(disp, parameters) \ - (* GET_FramebufferTextureARB(disp)) parameters -static inline _glptr_FramebufferTextureARB -GET_FramebufferTextureARB(struct _glapi_table *disp) -{ - return (_glptr_FramebufferTextureARB) (GET_by_offset - (disp, - _gloffset_FramebufferTextureARB)); -} - -static inline void -SET_FramebufferTextureARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint, GLint)) -{ - SET_by_offset(disp, _gloffset_FramebufferTextureARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferTextureFaceARB) (GLenum, GLenum, - GLuint, GLint, - GLenum); -#define CALL_FramebufferTextureFaceARB(disp, parameters) \ - (* GET_FramebufferTextureFaceARB(disp)) parameters -static inline _glptr_FramebufferTextureFaceARB -GET_FramebufferTextureFaceARB(struct _glapi_table *disp) -{ - return (_glptr_FramebufferTextureFaceARB) (GET_by_offset - (disp, - _gloffset_FramebufferTextureFaceARB)); -} - -static inline void -SET_FramebufferTextureFaceARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint, - GLint, GLenum)) -{ - SET_by_offset(disp, _gloffset_FramebufferTextureFaceARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramParameteriARB) (GLuint, GLenum, GLint); - -#define CALL_ProgramParameteriARB(disp, parameters) \ - (* GET_ProgramParameteriARB(disp)) parameters -static inline _glptr_ProgramParameteriARB -GET_ProgramParameteriARB(struct _glapi_table *disp) -{ - return (_glptr_ProgramParameteriARB) (GET_by_offset - (disp, - _gloffset_ProgramParameteriARB)); -} - -static inline void -SET_ProgramParameteriARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_ProgramParameteriARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribDivisorARB) (GLuint, GLuint); - -#define CALL_VertexAttribDivisorARB(disp, parameters) \ - (* GET_VertexAttribDivisorARB(disp)) parameters -static inline _glptr_VertexAttribDivisorARB -GET_VertexAttribDivisorARB(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribDivisorARB) (GET_by_offset - (disp, - _gloffset_VertexAttribDivisorARB)); -} - -static inline void -SET_VertexAttribDivisorARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribDivisorARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_FlushMappedBufferRange) (GLenum, GLintptr, - GLsizeiptr); -#define CALL_FlushMappedBufferRange(disp, parameters) \ - (* GET_FlushMappedBufferRange(disp)) parameters -static inline _glptr_FlushMappedBufferRange -GET_FlushMappedBufferRange(struct _glapi_table *disp) -{ - return (_glptr_FlushMappedBufferRange) (GET_by_offset - (disp, - _gloffset_FlushMappedBufferRange)); -} - -static inline void -SET_FlushMappedBufferRange(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLintptr, GLsizeiptr)) -{ - SET_by_offset(disp, _gloffset_FlushMappedBufferRange, fn); -} - -typedef GLvoid *(GLAPIENTRYP _glptr_MapBufferRange) (GLenum, GLintptr, - GLsizeiptr, GLbitfield); -#define CALL_MapBufferRange(disp, parameters) \ - (* GET_MapBufferRange(disp)) parameters -static inline _glptr_MapBufferRange -GET_MapBufferRange(struct _glapi_table *disp) -{ - return (_glptr_MapBufferRange) (GET_by_offset - (disp, _gloffset_MapBufferRange)); -} - -static inline void -SET_MapBufferRange(struct _glapi_table *disp, - GLvoid * (GLAPIENTRYP fn) (GLenum, GLintptr, GLsizeiptr, - GLbitfield)) -{ - SET_by_offset(disp, _gloffset_MapBufferRange, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexBufferARB) (GLenum, GLenum, GLuint); - -#define CALL_TexBufferARB(disp, parameters) \ - (* GET_TexBufferARB(disp)) parameters -static inline _glptr_TexBufferARB -GET_TexBufferARB(struct _glapi_table *disp) -{ - return (_glptr_TexBufferARB) (GET_by_offset(disp, _gloffset_TexBufferARB)); -} - -static inline void -SET_TexBufferARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_TexBufferARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindVertexArray) (GLuint); - -#define CALL_BindVertexArray(disp, parameters) \ - (* GET_BindVertexArray(disp)) parameters -static inline _glptr_BindVertexArray -GET_BindVertexArray(struct _glapi_table *disp) -{ - return (_glptr_BindVertexArray) (GET_by_offset - (disp, _gloffset_BindVertexArray)); -} - -static inline void -SET_BindVertexArray(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_BindVertexArray, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenVertexArrays) (GLsizei, GLuint *); - -#define CALL_GenVertexArrays(disp, parameters) \ - (* GET_GenVertexArrays(disp)) parameters -static inline _glptr_GenVertexArrays -GET_GenVertexArrays(struct _glapi_table *disp) -{ - return (_glptr_GenVertexArrays) (GET_by_offset - (disp, _gloffset_GenVertexArrays)); -} - -static inline void -SET_GenVertexArrays(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenVertexArrays, fn); -} - -typedef void (GLAPIENTRYP _glptr_CopyBufferSubData) (GLenum, GLenum, GLintptr, - GLintptr, GLsizeiptr); -#define CALL_CopyBufferSubData(disp, parameters) \ - (* GET_CopyBufferSubData(disp)) parameters -static inline _glptr_CopyBufferSubData -GET_CopyBufferSubData(struct _glapi_table *disp) -{ - return (_glptr_CopyBufferSubData) (GET_by_offset - (disp, _gloffset_CopyBufferSubData)); -} - -static inline void -SET_CopyBufferSubData(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLintptr, GLintptr, - GLsizeiptr)) -{ - SET_by_offset(disp, _gloffset_CopyBufferSubData, fn); -} - -typedef GLenum(GLAPIENTRYP _glptr_ClientWaitSync) (GLsync, GLbitfield, - GLuint64); -#define CALL_ClientWaitSync(disp, parameters) \ - (* GET_ClientWaitSync(disp)) parameters -static inline _glptr_ClientWaitSync -GET_ClientWaitSync(struct _glapi_table *disp) -{ - return (_glptr_ClientWaitSync) (GET_by_offset - (disp, _gloffset_ClientWaitSync)); -} - -static inline void -SET_ClientWaitSync(struct _glapi_table *disp, - GLenum(GLAPIENTRYP fn) (GLsync, GLbitfield, GLuint64)) -{ - SET_by_offset(disp, _gloffset_ClientWaitSync, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteSync) (GLsync); - -#define CALL_DeleteSync(disp, parameters) \ - (* GET_DeleteSync(disp)) parameters -static inline _glptr_DeleteSync -GET_DeleteSync(struct _glapi_table *disp) -{ - return (_glptr_DeleteSync) (GET_by_offset(disp, _gloffset_DeleteSync)); -} - -static inline void -SET_DeleteSync(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLsync)) -{ - SET_by_offset(disp, _gloffset_DeleteSync, fn); -} - -typedef GLsync(GLAPIENTRYP _glptr_FenceSync) (GLenum, GLbitfield); - -#define CALL_FenceSync(disp, parameters) \ - (* GET_FenceSync(disp)) parameters -static inline _glptr_FenceSync -GET_FenceSync(struct _glapi_table *disp) -{ - return (_glptr_FenceSync) (GET_by_offset(disp, _gloffset_FenceSync)); -} - -static inline void -SET_FenceSync(struct _glapi_table *disp, - GLsync(GLAPIENTRYP fn) (GLenum, GLbitfield)) -{ - SET_by_offset(disp, _gloffset_FenceSync, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetInteger64v) (GLenum, GLint64 *); - -#define CALL_GetInteger64v(disp, parameters) \ - (* GET_GetInteger64v(disp)) parameters -static inline _glptr_GetInteger64v -GET_GetInteger64v(struct _glapi_table *disp) -{ - return (_glptr_GetInteger64v) (GET_by_offset - (disp, _gloffset_GetInteger64v)); -} - -static inline void -SET_GetInteger64v(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint64 *)) -{ - SET_by_offset(disp, _gloffset_GetInteger64v, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetSynciv) (GLsync, GLenum, GLsizei, GLsizei *, - GLint *); -#define CALL_GetSynciv(disp, parameters) \ - (* GET_GetSynciv(disp)) parameters -static inline _glptr_GetSynciv -GET_GetSynciv(struct _glapi_table *disp) -{ - return (_glptr_GetSynciv) (GET_by_offset(disp, _gloffset_GetSynciv)); -} - -static inline void -SET_GetSynciv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsync, GLenum, GLsizei, GLsizei *, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetSynciv, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsSync) (GLsync); - -#define CALL_IsSync(disp, parameters) \ - (* GET_IsSync(disp)) parameters -static inline _glptr_IsSync -GET_IsSync(struct _glapi_table *disp) -{ - return (_glptr_IsSync) (GET_by_offset(disp, _gloffset_IsSync)); -} - -static inline void -SET_IsSync(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLsync)) -{ - SET_by_offset(disp, _gloffset_IsSync, fn); -} - -typedef void (GLAPIENTRYP _glptr_WaitSync) (GLsync, GLbitfield, GLuint64); - -#define CALL_WaitSync(disp, parameters) \ - (* GET_WaitSync(disp)) parameters -static inline _glptr_WaitSync -GET_WaitSync(struct _glapi_table *disp) -{ - return (_glptr_WaitSync) (GET_by_offset(disp, _gloffset_WaitSync)); -} - -static inline void -SET_WaitSync(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsync, GLbitfield, GLuint64)) -{ - SET_by_offset(disp, _gloffset_WaitSync, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawElementsBaseVertex) (GLenum, GLsizei, - GLenum, - const GLvoid *, - GLint); -#define CALL_DrawElementsBaseVertex(disp, parameters) \ - (* GET_DrawElementsBaseVertex(disp)) parameters -static inline _glptr_DrawElementsBaseVertex -GET_DrawElementsBaseVertex(struct _glapi_table *disp) -{ - return (_glptr_DrawElementsBaseVertex) (GET_by_offset - (disp, - _gloffset_DrawElementsBaseVertex)); -} - -static inline void -SET_DrawElementsBaseVertex(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLenum, - const GLvoid *, GLint)) -{ - SET_by_offset(disp, _gloffset_DrawElementsBaseVertex, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawElementsInstancedBaseVertex) (GLenum, - GLsizei, - GLenum, - const GLvoid - *, GLsizei, - GLint); -#define CALL_DrawElementsInstancedBaseVertex(disp, parameters) \ - (* GET_DrawElementsInstancedBaseVertex(disp)) parameters -static inline _glptr_DrawElementsInstancedBaseVertex -GET_DrawElementsInstancedBaseVertex(struct _glapi_table *disp) -{ - return (_glptr_DrawElementsInstancedBaseVertex) (GET_by_offset - (disp, - _gloffset_DrawElementsInstancedBaseVertex)); -} - -static inline void -SET_DrawElementsInstancedBaseVertex(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, - GLenum, - const GLvoid *, - GLsizei, GLint)) -{ - SET_by_offset(disp, _gloffset_DrawElementsInstancedBaseVertex, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawRangeElementsBaseVertex) (GLenum, GLuint, - GLuint, GLsizei, - GLenum, - const GLvoid *, - GLint); -#define CALL_DrawRangeElementsBaseVertex(disp, parameters) \ - (* GET_DrawRangeElementsBaseVertex(disp)) parameters -static inline _glptr_DrawRangeElementsBaseVertex -GET_DrawRangeElementsBaseVertex(struct _glapi_table *disp) -{ - return (_glptr_DrawRangeElementsBaseVertex) (GET_by_offset - (disp, - _gloffset_DrawRangeElementsBaseVertex)); -} - -static inline void -SET_DrawRangeElementsBaseVertex(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, - GLsizei, GLenum, - const GLvoid *, GLint)) -{ - SET_by_offset(disp, _gloffset_DrawRangeElementsBaseVertex, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiDrawElementsBaseVertex) (GLenum, - const GLsizei *, - GLenum, - const GLvoid **, - GLsizei, - const GLint *); -#define CALL_MultiDrawElementsBaseVertex(disp, parameters) \ - (* GET_MultiDrawElementsBaseVertex(disp)) parameters -static inline _glptr_MultiDrawElementsBaseVertex -GET_MultiDrawElementsBaseVertex(struct _glapi_table *disp) -{ - return (_glptr_MultiDrawElementsBaseVertex) (GET_by_offset - (disp, - _gloffset_MultiDrawElementsBaseVertex)); -} - -static inline void -SET_MultiDrawElementsBaseVertex(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLsizei *, - GLenum, const GLvoid **, - GLsizei, const GLint *)) -{ - SET_by_offset(disp, _gloffset_MultiDrawElementsBaseVertex, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendEquationSeparateiARB) (GLuint, GLenum, - GLenum); -#define CALL_BlendEquationSeparateiARB(disp, parameters) \ - (* GET_BlendEquationSeparateiARB(disp)) parameters -static inline _glptr_BlendEquationSeparateiARB -GET_BlendEquationSeparateiARB(struct _glapi_table *disp) -{ - return (_glptr_BlendEquationSeparateiARB) (GET_by_offset - (disp, - _gloffset_BlendEquationSeparateiARB)); -} - -static inline void -SET_BlendEquationSeparateiARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendEquationSeparateiARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendEquationiARB) (GLuint, GLenum); - -#define CALL_BlendEquationiARB(disp, parameters) \ - (* GET_BlendEquationiARB(disp)) parameters -static inline _glptr_BlendEquationiARB -GET_BlendEquationiARB(struct _glapi_table *disp) -{ - return (_glptr_BlendEquationiARB) (GET_by_offset - (disp, _gloffset_BlendEquationiARB)); -} - -static inline void -SET_BlendEquationiARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendEquationiARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendFuncSeparateiARB) (GLuint, GLenum, GLenum, - GLenum, GLenum); -#define CALL_BlendFuncSeparateiARB(disp, parameters) \ - (* GET_BlendFuncSeparateiARB(disp)) parameters -static inline _glptr_BlendFuncSeparateiARB -GET_BlendFuncSeparateiARB(struct _glapi_table *disp) -{ - return (_glptr_BlendFuncSeparateiARB) (GET_by_offset - (disp, - _gloffset_BlendFuncSeparateiARB)); -} - -static inline void -SET_BlendFuncSeparateiARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLenum, GLenum, - GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendFuncSeparateiARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendFunciARB) (GLuint, GLenum, GLenum); - -#define CALL_BlendFunciARB(disp, parameters) \ - (* GET_BlendFunciARB(disp)) parameters -static inline _glptr_BlendFunciARB -GET_BlendFunciARB(struct _glapi_table *disp) -{ - return (_glptr_BlendFunciARB) (GET_by_offset - (disp, _gloffset_BlendFunciARB)); -} - -static inline void -SET_BlendFunciARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendFunciARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindSampler) (GLuint, GLuint); - -#define CALL_BindSampler(disp, parameters) \ - (* GET_BindSampler(disp)) parameters -static inline _glptr_BindSampler -GET_BindSampler(struct _glapi_table *disp) -{ - return (_glptr_BindSampler) (GET_by_offset(disp, _gloffset_BindSampler)); -} - -static inline void -SET_BindSampler(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindSampler, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteSamplers) (GLsizei, const GLuint *); - -#define CALL_DeleteSamplers(disp, parameters) \ - (* GET_DeleteSamplers(disp)) parameters -static inline _glptr_DeleteSamplers -GET_DeleteSamplers(struct _glapi_table *disp) -{ - return (_glptr_DeleteSamplers) (GET_by_offset - (disp, _gloffset_DeleteSamplers)); -} - -static inline void -SET_DeleteSamplers(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteSamplers, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenSamplers) (GLsizei, GLuint *); - -#define CALL_GenSamplers(disp, parameters) \ - (* GET_GenSamplers(disp)) parameters -static inline _glptr_GenSamplers -GET_GenSamplers(struct _glapi_table *disp) -{ - return (_glptr_GenSamplers) (GET_by_offset(disp, _gloffset_GenSamplers)); -} - -static inline void -SET_GenSamplers(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenSamplers, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetSamplerParameterIiv) (GLuint, GLenum, - GLint *); -#define CALL_GetSamplerParameterIiv(disp, parameters) \ - (* GET_GetSamplerParameterIiv(disp)) parameters -static inline _glptr_GetSamplerParameterIiv -GET_GetSamplerParameterIiv(struct _glapi_table *disp) -{ - return (_glptr_GetSamplerParameterIiv) (GET_by_offset - (disp, - _gloffset_GetSamplerParameterIiv)); -} - -static inline void -SET_GetSamplerParameterIiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetSamplerParameterIiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetSamplerParameterIuiv) (GLuint, GLenum, - GLuint *); -#define CALL_GetSamplerParameterIuiv(disp, parameters) \ - (* GET_GetSamplerParameterIuiv(disp)) parameters -static inline _glptr_GetSamplerParameterIuiv -GET_GetSamplerParameterIuiv(struct _glapi_table *disp) -{ - return (_glptr_GetSamplerParameterIuiv) (GET_by_offset - (disp, - _gloffset_GetSamplerParameterIuiv)); -} - -static inline void -SET_GetSamplerParameterIuiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetSamplerParameterIuiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetSamplerParameterfv) (GLuint, GLenum, - GLfloat *); -#define CALL_GetSamplerParameterfv(disp, parameters) \ - (* GET_GetSamplerParameterfv(disp)) parameters -static inline _glptr_GetSamplerParameterfv -GET_GetSamplerParameterfv(struct _glapi_table *disp) -{ - return (_glptr_GetSamplerParameterfv) (GET_by_offset - (disp, - _gloffset_GetSamplerParameterfv)); -} - -static inline void -SET_GetSamplerParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetSamplerParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetSamplerParameteriv) (GLuint, GLenum, - GLint *); -#define CALL_GetSamplerParameteriv(disp, parameters) \ - (* GET_GetSamplerParameteriv(disp)) parameters -static inline _glptr_GetSamplerParameteriv -GET_GetSamplerParameteriv(struct _glapi_table *disp) -{ - return (_glptr_GetSamplerParameteriv) (GET_by_offset - (disp, - _gloffset_GetSamplerParameteriv)); -} - -static inline void -SET_GetSamplerParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetSamplerParameteriv, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsSampler) (GLuint); - -#define CALL_IsSampler(disp, parameters) \ - (* GET_IsSampler(disp)) parameters -static inline _glptr_IsSampler -GET_IsSampler(struct _glapi_table *disp) -{ - return (_glptr_IsSampler) (GET_by_offset(disp, _gloffset_IsSampler)); -} - -static inline void -SET_IsSampler(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsSampler, fn); -} - -typedef void (GLAPIENTRYP _glptr_SamplerParameterIiv) (GLuint, GLenum, - const GLint *); -#define CALL_SamplerParameterIiv(disp, parameters) \ - (* GET_SamplerParameterIiv(disp)) parameters -static inline _glptr_SamplerParameterIiv -GET_SamplerParameterIiv(struct _glapi_table *disp) -{ - return (_glptr_SamplerParameterIiv) (GET_by_offset - (disp, _gloffset_SamplerParameterIiv)); -} - -static inline void -SET_SamplerParameterIiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_SamplerParameterIiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_SamplerParameterIuiv) (GLuint, GLenum, - const GLuint *); -#define CALL_SamplerParameterIuiv(disp, parameters) \ - (* GET_SamplerParameterIuiv(disp)) parameters -static inline _glptr_SamplerParameterIuiv -GET_SamplerParameterIuiv(struct _glapi_table *disp) -{ - return (_glptr_SamplerParameterIuiv) (GET_by_offset - (disp, - _gloffset_SamplerParameterIuiv)); -} - -static inline void -SET_SamplerParameterIuiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_SamplerParameterIuiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_SamplerParameterf) (GLuint, GLenum, GLfloat); - -#define CALL_SamplerParameterf(disp, parameters) \ - (* GET_SamplerParameterf(disp)) parameters -static inline _glptr_SamplerParameterf -GET_SamplerParameterf(struct _glapi_table *disp) -{ - return (_glptr_SamplerParameterf) (GET_by_offset - (disp, _gloffset_SamplerParameterf)); -} - -static inline void -SET_SamplerParameterf(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_SamplerParameterf, fn); -} - -typedef void (GLAPIENTRYP _glptr_SamplerParameterfv) (GLuint, GLenum, - const GLfloat *); -#define CALL_SamplerParameterfv(disp, parameters) \ - (* GET_SamplerParameterfv(disp)) parameters -static inline _glptr_SamplerParameterfv -GET_SamplerParameterfv(struct _glapi_table *disp) -{ - return (_glptr_SamplerParameterfv) (GET_by_offset - (disp, _gloffset_SamplerParameterfv)); -} - -static inline void -SET_SamplerParameterfv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_SamplerParameterfv, fn); -} - -typedef void (GLAPIENTRYP _glptr_SamplerParameteri) (GLuint, GLenum, GLint); - -#define CALL_SamplerParameteri(disp, parameters) \ - (* GET_SamplerParameteri(disp)) parameters -static inline _glptr_SamplerParameteri -GET_SamplerParameteri(struct _glapi_table *disp) -{ - return (_glptr_SamplerParameteri) (GET_by_offset - (disp, _gloffset_SamplerParameteri)); -} - -static inline void -SET_SamplerParameteri(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_SamplerParameteri, fn); -} - -typedef void (GLAPIENTRYP _glptr_SamplerParameteriv) (GLuint, GLenum, - const GLint *); -#define CALL_SamplerParameteriv(disp, parameters) \ - (* GET_SamplerParameteriv(disp)) parameters -static inline _glptr_SamplerParameteriv -GET_SamplerParameteriv(struct _glapi_table *disp) -{ - return (_glptr_SamplerParameteriv) (GET_by_offset - (disp, _gloffset_SamplerParameteriv)); -} - -static inline void -SET_SamplerParameteriv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_SamplerParameteriv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorP3ui) (GLenum, GLuint); - -#define CALL_ColorP3ui(disp, parameters) \ - (* GET_ColorP3ui(disp)) parameters -static inline _glptr_ColorP3ui -GET_ColorP3ui(struct _glapi_table *disp) -{ - return (_glptr_ColorP3ui) (GET_by_offset(disp, _gloffset_ColorP3ui)); -} - -static inline void -SET_ColorP3ui(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_ColorP3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorP3uiv) (GLenum, const GLuint *); - -#define CALL_ColorP3uiv(disp, parameters) \ - (* GET_ColorP3uiv(disp)) parameters -static inline _glptr_ColorP3uiv -GET_ColorP3uiv(struct _glapi_table *disp) -{ - return (_glptr_ColorP3uiv) (GET_by_offset(disp, _gloffset_ColorP3uiv)); -} - -static inline void -SET_ColorP3uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_ColorP3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorP4ui) (GLenum, GLuint); - -#define CALL_ColorP4ui(disp, parameters) \ - (* GET_ColorP4ui(disp)) parameters -static inline _glptr_ColorP4ui -GET_ColorP4ui(struct _glapi_table *disp) -{ - return (_glptr_ColorP4ui) (GET_by_offset(disp, _gloffset_ColorP4ui)); -} - -static inline void -SET_ColorP4ui(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_ColorP4ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorP4uiv) (GLenum, const GLuint *); - -#define CALL_ColorP4uiv(disp, parameters) \ - (* GET_ColorP4uiv(disp)) parameters -static inline _glptr_ColorP4uiv -GET_ColorP4uiv(struct _glapi_table *disp) -{ - return (_glptr_ColorP4uiv) (GET_by_offset(disp, _gloffset_ColorP4uiv)); -} - -static inline void -SET_ColorP4uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_ColorP4uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP1ui) (GLenum, GLenum, GLuint); - -#define CALL_MultiTexCoordP1ui(disp, parameters) \ - (* GET_MultiTexCoordP1ui(disp)) parameters -static inline _glptr_MultiTexCoordP1ui -GET_MultiTexCoordP1ui(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP1ui) (GET_by_offset - (disp, _gloffset_MultiTexCoordP1ui)); -} - -static inline void -SET_MultiTexCoordP1ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP1ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP1uiv) (GLenum, GLenum, - const GLuint *); -#define CALL_MultiTexCoordP1uiv(disp, parameters) \ - (* GET_MultiTexCoordP1uiv(disp)) parameters -static inline _glptr_MultiTexCoordP1uiv -GET_MultiTexCoordP1uiv(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP1uiv) (GET_by_offset - (disp, _gloffset_MultiTexCoordP1uiv)); -} - -static inline void -SET_MultiTexCoordP1uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP1uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP2ui) (GLenum, GLenum, GLuint); - -#define CALL_MultiTexCoordP2ui(disp, parameters) \ - (* GET_MultiTexCoordP2ui(disp)) parameters -static inline _glptr_MultiTexCoordP2ui -GET_MultiTexCoordP2ui(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP2ui) (GET_by_offset - (disp, _gloffset_MultiTexCoordP2ui)); -} - -static inline void -SET_MultiTexCoordP2ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP2ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP2uiv) (GLenum, GLenum, - const GLuint *); -#define CALL_MultiTexCoordP2uiv(disp, parameters) \ - (* GET_MultiTexCoordP2uiv(disp)) parameters -static inline _glptr_MultiTexCoordP2uiv -GET_MultiTexCoordP2uiv(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP2uiv) (GET_by_offset - (disp, _gloffset_MultiTexCoordP2uiv)); -} - -static inline void -SET_MultiTexCoordP2uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP2uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP3ui) (GLenum, GLenum, GLuint); - -#define CALL_MultiTexCoordP3ui(disp, parameters) \ - (* GET_MultiTexCoordP3ui(disp)) parameters -static inline _glptr_MultiTexCoordP3ui -GET_MultiTexCoordP3ui(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP3ui) (GET_by_offset - (disp, _gloffset_MultiTexCoordP3ui)); -} - -static inline void -SET_MultiTexCoordP3ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP3uiv) (GLenum, GLenum, - const GLuint *); -#define CALL_MultiTexCoordP3uiv(disp, parameters) \ - (* GET_MultiTexCoordP3uiv(disp)) parameters -static inline _glptr_MultiTexCoordP3uiv -GET_MultiTexCoordP3uiv(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP3uiv) (GET_by_offset - (disp, _gloffset_MultiTexCoordP3uiv)); -} - -static inline void -SET_MultiTexCoordP3uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP4ui) (GLenum, GLenum, GLuint); - -#define CALL_MultiTexCoordP4ui(disp, parameters) \ - (* GET_MultiTexCoordP4ui(disp)) parameters -static inline _glptr_MultiTexCoordP4ui -GET_MultiTexCoordP4ui(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP4ui) (GET_by_offset - (disp, _gloffset_MultiTexCoordP4ui)); -} - -static inline void -SET_MultiTexCoordP4ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP4ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiTexCoordP4uiv) (GLenum, GLenum, - const GLuint *); -#define CALL_MultiTexCoordP4uiv(disp, parameters) \ - (* GET_MultiTexCoordP4uiv(disp)) parameters -static inline _glptr_MultiTexCoordP4uiv -GET_MultiTexCoordP4uiv(struct _glapi_table *disp) -{ - return (_glptr_MultiTexCoordP4uiv) (GET_by_offset - (disp, _gloffset_MultiTexCoordP4uiv)); -} - -static inline void -SET_MultiTexCoordP4uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_MultiTexCoordP4uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_NormalP3ui) (GLenum, GLuint); - -#define CALL_NormalP3ui(disp, parameters) \ - (* GET_NormalP3ui(disp)) parameters -static inline _glptr_NormalP3ui -GET_NormalP3ui(struct _glapi_table *disp) -{ - return (_glptr_NormalP3ui) (GET_by_offset(disp, _gloffset_NormalP3ui)); -} - -static inline void -SET_NormalP3ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_NormalP3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_NormalP3uiv) (GLenum, const GLuint *); - -#define CALL_NormalP3uiv(disp, parameters) \ - (* GET_NormalP3uiv(disp)) parameters -static inline _glptr_NormalP3uiv -GET_NormalP3uiv(struct _glapi_table *disp) -{ - return (_glptr_NormalP3uiv) (GET_by_offset(disp, _gloffset_NormalP3uiv)); -} - -static inline void -SET_NormalP3uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_NormalP3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColorP3ui) (GLenum, GLuint); - -#define CALL_SecondaryColorP3ui(disp, parameters) \ - (* GET_SecondaryColorP3ui(disp)) parameters -static inline _glptr_SecondaryColorP3ui -GET_SecondaryColorP3ui(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColorP3ui) (GET_by_offset - (disp, _gloffset_SecondaryColorP3ui)); -} - -static inline void -SET_SecondaryColorP3ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_SecondaryColorP3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColorP3uiv) (GLenum, const GLuint *); - -#define CALL_SecondaryColorP3uiv(disp, parameters) \ - (* GET_SecondaryColorP3uiv(disp)) parameters -static inline _glptr_SecondaryColorP3uiv -GET_SecondaryColorP3uiv(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColorP3uiv) (GET_by_offset - (disp, _gloffset_SecondaryColorP3uiv)); -} - -static inline void -SET_SecondaryColorP3uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColorP3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP1ui) (GLenum, GLuint); - -#define CALL_TexCoordP1ui(disp, parameters) \ - (* GET_TexCoordP1ui(disp)) parameters -static inline _glptr_TexCoordP1ui -GET_TexCoordP1ui(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP1ui) (GET_by_offset(disp, _gloffset_TexCoordP1ui)); -} - -static inline void -SET_TexCoordP1ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_TexCoordP1ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP1uiv) (GLenum, const GLuint *); - -#define CALL_TexCoordP1uiv(disp, parameters) \ - (* GET_TexCoordP1uiv(disp)) parameters -static inline _glptr_TexCoordP1uiv -GET_TexCoordP1uiv(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP1uiv) (GET_by_offset - (disp, _gloffset_TexCoordP1uiv)); -} - -static inline void -SET_TexCoordP1uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_TexCoordP1uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP2ui) (GLenum, GLuint); - -#define CALL_TexCoordP2ui(disp, parameters) \ - (* GET_TexCoordP2ui(disp)) parameters -static inline _glptr_TexCoordP2ui -GET_TexCoordP2ui(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP2ui) (GET_by_offset(disp, _gloffset_TexCoordP2ui)); -} - -static inline void -SET_TexCoordP2ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_TexCoordP2ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP2uiv) (GLenum, const GLuint *); - -#define CALL_TexCoordP2uiv(disp, parameters) \ - (* GET_TexCoordP2uiv(disp)) parameters -static inline _glptr_TexCoordP2uiv -GET_TexCoordP2uiv(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP2uiv) (GET_by_offset - (disp, _gloffset_TexCoordP2uiv)); -} - -static inline void -SET_TexCoordP2uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_TexCoordP2uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP3ui) (GLenum, GLuint); - -#define CALL_TexCoordP3ui(disp, parameters) \ - (* GET_TexCoordP3ui(disp)) parameters -static inline _glptr_TexCoordP3ui -GET_TexCoordP3ui(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP3ui) (GET_by_offset(disp, _gloffset_TexCoordP3ui)); -} - -static inline void -SET_TexCoordP3ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_TexCoordP3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP3uiv) (GLenum, const GLuint *); - -#define CALL_TexCoordP3uiv(disp, parameters) \ - (* GET_TexCoordP3uiv(disp)) parameters -static inline _glptr_TexCoordP3uiv -GET_TexCoordP3uiv(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP3uiv) (GET_by_offset - (disp, _gloffset_TexCoordP3uiv)); -} - -static inline void -SET_TexCoordP3uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_TexCoordP3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP4ui) (GLenum, GLuint); - -#define CALL_TexCoordP4ui(disp, parameters) \ - (* GET_TexCoordP4ui(disp)) parameters -static inline _glptr_TexCoordP4ui -GET_TexCoordP4ui(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP4ui) (GET_by_offset(disp, _gloffset_TexCoordP4ui)); -} - -static inline void -SET_TexCoordP4ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_TexCoordP4ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordP4uiv) (GLenum, const GLuint *); - -#define CALL_TexCoordP4uiv(disp, parameters) \ - (* GET_TexCoordP4uiv(disp)) parameters -static inline _glptr_TexCoordP4uiv -GET_TexCoordP4uiv(struct _glapi_table *disp) -{ - return (_glptr_TexCoordP4uiv) (GET_by_offset - (disp, _gloffset_TexCoordP4uiv)); -} - -static inline void -SET_TexCoordP4uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_TexCoordP4uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP1ui) (GLuint, GLenum, GLboolean, - GLuint); -#define CALL_VertexAttribP1ui(disp, parameters) \ - (* GET_VertexAttribP1ui(disp)) parameters -static inline _glptr_VertexAttribP1ui -GET_VertexAttribP1ui(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP1ui) (GET_by_offset - (disp, _gloffset_VertexAttribP1ui)); -} - -static inline void -SET_VertexAttribP1ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP1ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP1uiv) (GLuint, GLenum, GLboolean, - const GLuint *); -#define CALL_VertexAttribP1uiv(disp, parameters) \ - (* GET_VertexAttribP1uiv(disp)) parameters -static inline _glptr_VertexAttribP1uiv -GET_VertexAttribP1uiv(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP1uiv) (GET_by_offset - (disp, _gloffset_VertexAttribP1uiv)); -} - -static inline void -SET_VertexAttribP1uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, - const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP1uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP2ui) (GLuint, GLenum, GLboolean, - GLuint); -#define CALL_VertexAttribP2ui(disp, parameters) \ - (* GET_VertexAttribP2ui(disp)) parameters -static inline _glptr_VertexAttribP2ui -GET_VertexAttribP2ui(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP2ui) (GET_by_offset - (disp, _gloffset_VertexAttribP2ui)); -} - -static inline void -SET_VertexAttribP2ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP2ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP2uiv) (GLuint, GLenum, GLboolean, - const GLuint *); -#define CALL_VertexAttribP2uiv(disp, parameters) \ - (* GET_VertexAttribP2uiv(disp)) parameters -static inline _glptr_VertexAttribP2uiv -GET_VertexAttribP2uiv(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP2uiv) (GET_by_offset - (disp, _gloffset_VertexAttribP2uiv)); -} - -static inline void -SET_VertexAttribP2uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, - const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP2uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP3ui) (GLuint, GLenum, GLboolean, - GLuint); -#define CALL_VertexAttribP3ui(disp, parameters) \ - (* GET_VertexAttribP3ui(disp)) parameters -static inline _glptr_VertexAttribP3ui -GET_VertexAttribP3ui(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP3ui) (GET_by_offset - (disp, _gloffset_VertexAttribP3ui)); -} - -static inline void -SET_VertexAttribP3ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP3uiv) (GLuint, GLenum, GLboolean, - const GLuint *); -#define CALL_VertexAttribP3uiv(disp, parameters) \ - (* GET_VertexAttribP3uiv(disp)) parameters -static inline _glptr_VertexAttribP3uiv -GET_VertexAttribP3uiv(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP3uiv) (GET_by_offset - (disp, _gloffset_VertexAttribP3uiv)); -} - -static inline void -SET_VertexAttribP3uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, - const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP4ui) (GLuint, GLenum, GLboolean, - GLuint); -#define CALL_VertexAttribP4ui(disp, parameters) \ - (* GET_VertexAttribP4ui(disp)) parameters -static inline _glptr_VertexAttribP4ui -GET_VertexAttribP4ui(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP4ui) (GET_by_offset - (disp, _gloffset_VertexAttribP4ui)); -} - -static inline void -SET_VertexAttribP4ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP4ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribP4uiv) (GLuint, GLenum, GLboolean, - const GLuint *); -#define CALL_VertexAttribP4uiv(disp, parameters) \ - (* GET_VertexAttribP4uiv(disp)) parameters -static inline _glptr_VertexAttribP4uiv -GET_VertexAttribP4uiv(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribP4uiv) (GET_by_offset - (disp, _gloffset_VertexAttribP4uiv)); -} - -static inline void -SET_VertexAttribP4uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLboolean, - const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribP4uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexP2ui) (GLenum, GLuint); - -#define CALL_VertexP2ui(disp, parameters) \ - (* GET_VertexP2ui(disp)) parameters -static inline _glptr_VertexP2ui -GET_VertexP2ui(struct _glapi_table *disp) -{ - return (_glptr_VertexP2ui) (GET_by_offset(disp, _gloffset_VertexP2ui)); -} - -static inline void -SET_VertexP2ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexP2ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexP2uiv) (GLenum, const GLuint *); - -#define CALL_VertexP2uiv(disp, parameters) \ - (* GET_VertexP2uiv(disp)) parameters -static inline _glptr_VertexP2uiv -GET_VertexP2uiv(struct _glapi_table *disp) -{ - return (_glptr_VertexP2uiv) (GET_by_offset(disp, _gloffset_VertexP2uiv)); -} - -static inline void -SET_VertexP2uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexP2uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexP3ui) (GLenum, GLuint); - -#define CALL_VertexP3ui(disp, parameters) \ - (* GET_VertexP3ui(disp)) parameters -static inline _glptr_VertexP3ui -GET_VertexP3ui(struct _glapi_table *disp) -{ - return (_glptr_VertexP3ui) (GET_by_offset(disp, _gloffset_VertexP3ui)); -} - -static inline void -SET_VertexP3ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexP3ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexP3uiv) (GLenum, const GLuint *); - -#define CALL_VertexP3uiv(disp, parameters) \ - (* GET_VertexP3uiv(disp)) parameters -static inline _glptr_VertexP3uiv -GET_VertexP3uiv(struct _glapi_table *disp) -{ - return (_glptr_VertexP3uiv) (GET_by_offset(disp, _gloffset_VertexP3uiv)); -} - -static inline void -SET_VertexP3uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexP3uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexP4ui) (GLenum, GLuint); - -#define CALL_VertexP4ui(disp, parameters) \ - (* GET_VertexP4ui(disp)) parameters -static inline _glptr_VertexP4ui -GET_VertexP4ui(struct _glapi_table *disp) -{ - return (_glptr_VertexP4ui) (GET_by_offset(disp, _gloffset_VertexP4ui)); -} - -static inline void -SET_VertexP4ui(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexP4ui, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexP4uiv) (GLenum, const GLuint *); - -#define CALL_VertexP4uiv(disp, parameters) \ - (* GET_VertexP4uiv(disp)) parameters -static inline _glptr_VertexP4uiv -GET_VertexP4uiv(struct _glapi_table *disp) -{ - return (_glptr_VertexP4uiv) (GET_by_offset(disp, _gloffset_VertexP4uiv)); -} - -static inline void -SET_VertexP4uiv(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexP4uiv, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindTransformFeedback) (GLenum, GLuint); - -#define CALL_BindTransformFeedback(disp, parameters) \ - (* GET_BindTransformFeedback(disp)) parameters -static inline _glptr_BindTransformFeedback -GET_BindTransformFeedback(struct _glapi_table *disp) -{ - return (_glptr_BindTransformFeedback) (GET_by_offset - (disp, - _gloffset_BindTransformFeedback)); -} - -static inline void -SET_BindTransformFeedback(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindTransformFeedback, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteTransformFeedbacks) (GLsizei, - const GLuint *); -#define CALL_DeleteTransformFeedbacks(disp, parameters) \ - (* GET_DeleteTransformFeedbacks(disp)) parameters -static inline _glptr_DeleteTransformFeedbacks -GET_DeleteTransformFeedbacks(struct _glapi_table *disp) -{ - return (_glptr_DeleteTransformFeedbacks) (GET_by_offset - (disp, - _gloffset_DeleteTransformFeedbacks)); -} - -static inline void -SET_DeleteTransformFeedbacks(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteTransformFeedbacks, fn); -} - -typedef void (GLAPIENTRYP _glptr_DrawTransformFeedback) (GLenum, GLuint); - -#define CALL_DrawTransformFeedback(disp, parameters) \ - (* GET_DrawTransformFeedback(disp)) parameters -static inline _glptr_DrawTransformFeedback -GET_DrawTransformFeedback(struct _glapi_table *disp) -{ - return (_glptr_DrawTransformFeedback) (GET_by_offset - (disp, - _gloffset_DrawTransformFeedback)); -} - -static inline void -SET_DrawTransformFeedback(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_DrawTransformFeedback, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenTransformFeedbacks) (GLsizei, GLuint *); - -#define CALL_GenTransformFeedbacks(disp, parameters) \ - (* GET_GenTransformFeedbacks(disp)) parameters -static inline _glptr_GenTransformFeedbacks -GET_GenTransformFeedbacks(struct _glapi_table *disp) -{ - return (_glptr_GenTransformFeedbacks) (GET_by_offset - (disp, - _gloffset_GenTransformFeedbacks)); -} - -static inline void -SET_GenTransformFeedbacks(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenTransformFeedbacks, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsTransformFeedback) (GLuint); - -#define CALL_IsTransformFeedback(disp, parameters) \ - (* GET_IsTransformFeedback(disp)) parameters -static inline _glptr_IsTransformFeedback -GET_IsTransformFeedback(struct _glapi_table *disp) -{ - return (_glptr_IsTransformFeedback) (GET_by_offset - (disp, _gloffset_IsTransformFeedback)); -} - -static inline void -SET_IsTransformFeedback(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsTransformFeedback, fn); -} - -typedef void (GLAPIENTRYP _glptr_PauseTransformFeedback) (void); - -#define CALL_PauseTransformFeedback(disp, parameters) \ - (* GET_PauseTransformFeedback(disp)) parameters -static inline _glptr_PauseTransformFeedback -GET_PauseTransformFeedback(struct _glapi_table *disp) -{ - return (_glptr_PauseTransformFeedback) (GET_by_offset - (disp, - _gloffset_PauseTransformFeedback)); -} - -static inline void -SET_PauseTransformFeedback(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_PauseTransformFeedback, fn); -} - -typedef void (GLAPIENTRYP _glptr_ResumeTransformFeedback) (void); - -#define CALL_ResumeTransformFeedback(disp, parameters) \ - (* GET_ResumeTransformFeedback(disp)) parameters -static inline _glptr_ResumeTransformFeedback -GET_ResumeTransformFeedback(struct _glapi_table *disp) -{ - return (_glptr_ResumeTransformFeedback) (GET_by_offset - (disp, - _gloffset_ResumeTransformFeedback)); -} - -static inline void -SET_ResumeTransformFeedback(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_ResumeTransformFeedback, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearDepthf) (GLclampf); - -#define CALL_ClearDepthf(disp, parameters) \ - (* GET_ClearDepthf(disp)) parameters -static inline _glptr_ClearDepthf -GET_ClearDepthf(struct _glapi_table *disp) -{ - return (_glptr_ClearDepthf) (GET_by_offset(disp, _gloffset_ClearDepthf)); -} - -static inline void -SET_ClearDepthf(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLclampf)) -{ - SET_by_offset(disp, _gloffset_ClearDepthf, fn); -} - -typedef void (GLAPIENTRYP _glptr_DepthRangef) (GLclampf, GLclampf); - -#define CALL_DepthRangef(disp, parameters) \ - (* GET_DepthRangef(disp)) parameters -static inline _glptr_DepthRangef -GET_DepthRangef(struct _glapi_table *disp) -{ - return (_glptr_DepthRangef) (GET_by_offset(disp, _gloffset_DepthRangef)); -} - -static inline void -SET_DepthRangef(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLclampf, GLclampf)) -{ - SET_by_offset(disp, _gloffset_DepthRangef, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetShaderPrecisionFormat) (GLenum, GLenum, - GLint *, GLint *); -#define CALL_GetShaderPrecisionFormat(disp, parameters) \ - (* GET_GetShaderPrecisionFormat(disp)) parameters -static inline _glptr_GetShaderPrecisionFormat -GET_GetShaderPrecisionFormat(struct _glapi_table *disp) -{ - return (_glptr_GetShaderPrecisionFormat) (GET_by_offset - (disp, - _gloffset_GetShaderPrecisionFormat)); -} - -static inline void -SET_GetShaderPrecisionFormat(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetShaderPrecisionFormat, fn); -} - -typedef void (GLAPIENTRYP _glptr_ReleaseShaderCompiler) (void); - -#define CALL_ReleaseShaderCompiler(disp, parameters) \ - (* GET_ReleaseShaderCompiler(disp)) parameters -static inline _glptr_ReleaseShaderCompiler -GET_ReleaseShaderCompiler(struct _glapi_table *disp) -{ - return (_glptr_ReleaseShaderCompiler) (GET_by_offset - (disp, - _gloffset_ReleaseShaderCompiler)); -} - -static inline void -SET_ReleaseShaderCompiler(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_ReleaseShaderCompiler, fn); -} - -typedef void (GLAPIENTRYP _glptr_ShaderBinary) (GLsizei, const GLuint *, GLenum, - const GLvoid *, GLsizei); -#define CALL_ShaderBinary(disp, parameters) \ - (* GET_ShaderBinary(disp)) parameters -static inline _glptr_ShaderBinary -GET_ShaderBinary(struct _glapi_table *disp) -{ - return (_glptr_ShaderBinary) (GET_by_offset(disp, _gloffset_ShaderBinary)); -} - -static inline void -SET_ShaderBinary(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *, GLenum, - const GLvoid *, GLsizei)) -{ - SET_by_offset(disp, _gloffset_ShaderBinary, fn); -} - -typedef GLenum(GLAPIENTRYP _glptr_GetGraphicsResetStatusARB) (void); - -#define CALL_GetGraphicsResetStatusARB(disp, parameters) \ - (* GET_GetGraphicsResetStatusARB(disp)) parameters -static inline _glptr_GetGraphicsResetStatusARB -GET_GetGraphicsResetStatusARB(struct _glapi_table *disp) -{ - return (_glptr_GetGraphicsResetStatusARB) (GET_by_offset - (disp, - _gloffset_GetGraphicsResetStatusARB)); -} - -static inline void -SET_GetGraphicsResetStatusARB(struct _glapi_table *disp, - GLenum(GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_GetGraphicsResetStatusARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnColorTableARB) (GLenum, GLenum, GLenum, - GLsizei, GLvoid *); -#define CALL_GetnColorTableARB(disp, parameters) \ - (* GET_GetnColorTableARB(disp)) parameters -static inline _glptr_GetnColorTableARB -GET_GetnColorTableARB(struct _glapi_table *disp) -{ - return (_glptr_GetnColorTableARB) (GET_by_offset - (disp, _gloffset_GetnColorTableARB)); -} - -static inline void -SET_GetnColorTableARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLsizei, - GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetnColorTableARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnCompressedTexImageARB) (GLenum, GLint, - GLsizei, GLvoid *); -#define CALL_GetnCompressedTexImageARB(disp, parameters) \ - (* GET_GetnCompressedTexImageARB(disp)) parameters -static inline _glptr_GetnCompressedTexImageARB -GET_GetnCompressedTexImageARB(struct _glapi_table *disp) -{ - return (_glptr_GetnCompressedTexImageARB) (GET_by_offset - (disp, - _gloffset_GetnCompressedTexImageARB)); -} - -static inline void -SET_GetnCompressedTexImageARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLsizei, - GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetnCompressedTexImageARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnConvolutionFilterARB) (GLenum, GLenum, - GLenum, GLsizei, - GLvoid *); -#define CALL_GetnConvolutionFilterARB(disp, parameters) \ - (* GET_GetnConvolutionFilterARB(disp)) parameters -static inline _glptr_GetnConvolutionFilterARB -GET_GetnConvolutionFilterARB(struct _glapi_table *disp) -{ - return (_glptr_GetnConvolutionFilterARB) (GET_by_offset - (disp, - _gloffset_GetnConvolutionFilterARB)); -} - -static inline void -SET_GetnConvolutionFilterARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLsizei, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetnConvolutionFilterARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnHistogramARB) (GLenum, GLboolean, GLenum, - GLenum, GLsizei, GLvoid *); -#define CALL_GetnHistogramARB(disp, parameters) \ - (* GET_GetnHistogramARB(disp)) parameters -static inline _glptr_GetnHistogramARB -GET_GetnHistogramARB(struct _glapi_table *disp) -{ - return (_glptr_GetnHistogramARB) (GET_by_offset - (disp, _gloffset_GetnHistogramARB)); -} - -static inline void -SET_GetnHistogramARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLboolean, GLenum, GLenum, - GLsizei, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetnHistogramARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnMapdvARB) (GLenum, GLenum, GLsizei, - GLdouble *); -#define CALL_GetnMapdvARB(disp, parameters) \ - (* GET_GetnMapdvARB(disp)) parameters -static inline _glptr_GetnMapdvARB -GET_GetnMapdvARB(struct _glapi_table *disp) -{ - return (_glptr_GetnMapdvARB) (GET_by_offset(disp, _gloffset_GetnMapdvARB)); -} - -static inline void -SET_GetnMapdvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetnMapdvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnMapfvARB) (GLenum, GLenum, GLsizei, - GLfloat *); -#define CALL_GetnMapfvARB(disp, parameters) \ - (* GET_GetnMapfvARB(disp)) parameters -static inline _glptr_GetnMapfvARB -GET_GetnMapfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetnMapfvARB) (GET_by_offset(disp, _gloffset_GetnMapfvARB)); -} - -static inline void -SET_GetnMapfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetnMapfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnMapivARB) (GLenum, GLenum, GLsizei, - GLint *); -#define CALL_GetnMapivARB(disp, parameters) \ - (* GET_GetnMapivARB(disp)) parameters -static inline _glptr_GetnMapivARB -GET_GetnMapivARB(struct _glapi_table *disp) -{ - return (_glptr_GetnMapivARB) (GET_by_offset(disp, _gloffset_GetnMapivARB)); -} - -static inline void -SET_GetnMapivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetnMapivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnMinmaxARB) (GLenum, GLboolean, GLenum, - GLenum, GLsizei, GLvoid *); -#define CALL_GetnMinmaxARB(disp, parameters) \ - (* GET_GetnMinmaxARB(disp)) parameters -static inline _glptr_GetnMinmaxARB -GET_GetnMinmaxARB(struct _glapi_table *disp) -{ - return (_glptr_GetnMinmaxARB) (GET_by_offset - (disp, _gloffset_GetnMinmaxARB)); -} - -static inline void -SET_GetnMinmaxARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLboolean, GLenum, GLenum, - GLsizei, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetnMinmaxARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnPixelMapfvARB) (GLenum, GLsizei, - GLfloat *); -#define CALL_GetnPixelMapfvARB(disp, parameters) \ - (* GET_GetnPixelMapfvARB(disp)) parameters -static inline _glptr_GetnPixelMapfvARB -GET_GetnPixelMapfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetnPixelMapfvARB) (GET_by_offset - (disp, _gloffset_GetnPixelMapfvARB)); -} - -static inline void -SET_GetnPixelMapfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetnPixelMapfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnPixelMapuivARB) (GLenum, GLsizei, - GLuint *); -#define CALL_GetnPixelMapuivARB(disp, parameters) \ - (* GET_GetnPixelMapuivARB(disp)) parameters -static inline _glptr_GetnPixelMapuivARB -GET_GetnPixelMapuivARB(struct _glapi_table *disp) -{ - return (_glptr_GetnPixelMapuivARB) (GET_by_offset - (disp, _gloffset_GetnPixelMapuivARB)); -} - -static inline void -SET_GetnPixelMapuivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetnPixelMapuivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnPixelMapusvARB) (GLenum, GLsizei, - GLushort *); -#define CALL_GetnPixelMapusvARB(disp, parameters) \ - (* GET_GetnPixelMapusvARB(disp)) parameters -static inline _glptr_GetnPixelMapusvARB -GET_GetnPixelMapusvARB(struct _glapi_table *disp) -{ - return (_glptr_GetnPixelMapusvARB) (GET_by_offset - (disp, _gloffset_GetnPixelMapusvARB)); -} - -static inline void -SET_GetnPixelMapusvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLushort *)) -{ - SET_by_offset(disp, _gloffset_GetnPixelMapusvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnPolygonStippleARB) (GLsizei, GLubyte *); - -#define CALL_GetnPolygonStippleARB(disp, parameters) \ - (* GET_GetnPolygonStippleARB(disp)) parameters -static inline _glptr_GetnPolygonStippleARB -GET_GetnPolygonStippleARB(struct _glapi_table *disp) -{ - return (_glptr_GetnPolygonStippleARB) (GET_by_offset - (disp, - _gloffset_GetnPolygonStippleARB)); -} - -static inline void -SET_GetnPolygonStippleARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLubyte *)) -{ - SET_by_offset(disp, _gloffset_GetnPolygonStippleARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnSeparableFilterARB) (GLenum, GLenum, - GLenum, GLsizei, - GLvoid *, GLsizei, - GLvoid *, GLvoid *); -#define CALL_GetnSeparableFilterARB(disp, parameters) \ - (* GET_GetnSeparableFilterARB(disp)) parameters -static inline _glptr_GetnSeparableFilterARB -GET_GetnSeparableFilterARB(struct _glapi_table *disp) -{ - return (_glptr_GetnSeparableFilterARB) (GET_by_offset - (disp, - _gloffset_GetnSeparableFilterARB)); -} - -static inline void -SET_GetnSeparableFilterARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLsizei, GLvoid *, GLsizei, - GLvoid *, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetnSeparableFilterARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnTexImageARB) (GLenum, GLint, GLenum, - GLenum, GLsizei, GLvoid *); -#define CALL_GetnTexImageARB(disp, parameters) \ - (* GET_GetnTexImageARB(disp)) parameters -static inline _glptr_GetnTexImageARB -GET_GetnTexImageARB(struct _glapi_table *disp) -{ - return (_glptr_GetnTexImageARB) (GET_by_offset - (disp, _gloffset_GetnTexImageARB)); -} - -static inline void -SET_GetnTexImageARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint, GLenum, GLenum, - GLsizei, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_GetnTexImageARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnUniformdvARB) (GLhandleARB, GLint, GLsizei, - GLdouble *); -#define CALL_GetnUniformdvARB(disp, parameters) \ - (* GET_GetnUniformdvARB(disp)) parameters -static inline _glptr_GetnUniformdvARB -GET_GetnUniformdvARB(struct _glapi_table *disp) -{ - return (_glptr_GetnUniformdvARB) (GET_by_offset - (disp, _gloffset_GetnUniformdvARB)); -} - -static inline void -SET_GetnUniformdvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLint, GLsizei, - GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetnUniformdvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnUniformfvARB) (GLhandleARB, GLint, GLsizei, - GLfloat *); -#define CALL_GetnUniformfvARB(disp, parameters) \ - (* GET_GetnUniformfvARB(disp)) parameters -static inline _glptr_GetnUniformfvARB -GET_GetnUniformfvARB(struct _glapi_table *disp) -{ - return (_glptr_GetnUniformfvARB) (GET_by_offset - (disp, _gloffset_GetnUniformfvARB)); -} - -static inline void -SET_GetnUniformfvARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLint, GLsizei, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetnUniformfvARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnUniformivARB) (GLhandleARB, GLint, GLsizei, - GLint *); -#define CALL_GetnUniformivARB(disp, parameters) \ - (* GET_GetnUniformivARB(disp)) parameters -static inline _glptr_GetnUniformivARB -GET_GetnUniformivARB(struct _glapi_table *disp) -{ - return (_glptr_GetnUniformivARB) (GET_by_offset - (disp, _gloffset_GetnUniformivARB)); -} - -static inline void -SET_GetnUniformivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLint, GLsizei, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetnUniformivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetnUniformuivARB) (GLhandleARB, GLint, - GLsizei, GLuint *); -#define CALL_GetnUniformuivARB(disp, parameters) \ - (* GET_GetnUniformuivARB(disp)) parameters -static inline _glptr_GetnUniformuivARB -GET_GetnUniformuivARB(struct _glapi_table *disp) -{ - return (_glptr_GetnUniformuivARB) (GET_by_offset - (disp, _gloffset_GetnUniformuivARB)); -} - -static inline void -SET_GetnUniformuivARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLhandleARB, GLint, GLsizei, - GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetnUniformuivARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_ReadnPixelsARB) (GLint, GLint, GLsizei, - GLsizei, GLenum, GLenum, - GLsizei, GLvoid *); -#define CALL_ReadnPixelsARB(disp, parameters) \ - (* GET_ReadnPixelsARB(disp)) parameters -static inline _glptr_ReadnPixelsARB -GET_ReadnPixelsARB(struct _glapi_table *disp) -{ - return (_glptr_ReadnPixelsARB) (GET_by_offset - (disp, _gloffset_ReadnPixelsARB)); -} - -static inline void -SET_ReadnPixelsARB(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLsizei, GLsizei, - GLenum, GLenum, GLsizei, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ReadnPixelsARB, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexStorage1D) (GLenum, GLsizei, GLenum, - GLsizei); -#define CALL_TexStorage1D(disp, parameters) \ - (* GET_TexStorage1D(disp)) parameters -static inline _glptr_TexStorage1D -GET_TexStorage1D(struct _glapi_table *disp) -{ - return (_glptr_TexStorage1D) (GET_by_offset(disp, _gloffset_TexStorage1D)); -} - -static inline void -SET_TexStorage1D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLenum, GLsizei)) -{ - SET_by_offset(disp, _gloffset_TexStorage1D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexStorage2D) (GLenum, GLsizei, GLenum, - GLsizei, GLsizei); -#define CALL_TexStorage2D(disp, parameters) \ - (* GET_TexStorage2D(disp)) parameters -static inline _glptr_TexStorage2D -GET_TexStorage2D(struct _glapi_table *disp) -{ - return (_glptr_TexStorage2D) (GET_by_offset(disp, _gloffset_TexStorage2D)); -} - -static inline void -SET_TexStorage2D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLenum, GLsizei, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_TexStorage2D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexStorage3D) (GLenum, GLsizei, GLenum, - GLsizei, GLsizei, GLsizei); -#define CALL_TexStorage3D(disp, parameters) \ - (* GET_TexStorage3D(disp)) parameters -static inline _glptr_TexStorage3D -GET_TexStorage3D(struct _glapi_table *disp) -{ - return (_glptr_TexStorage3D) (GET_by_offset(disp, _gloffset_TexStorage3D)); -} - -static inline void -SET_TexStorage3D(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLenum, GLsizei, - GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_TexStorage3D, fn); -} - -typedef void (GLAPIENTRYP _glptr_TextureStorage1DEXT) (GLuint, GLenum, GLsizei, - GLenum, GLsizei); -#define CALL_TextureStorage1DEXT(disp, parameters) \ - (* GET_TextureStorage1DEXT(disp)) parameters -static inline _glptr_TextureStorage1DEXT -GET_TextureStorage1DEXT(struct _glapi_table *disp) -{ - return (_glptr_TextureStorage1DEXT) (GET_by_offset - (disp, _gloffset_TextureStorage1DEXT)); -} - -static inline void -SET_TextureStorage1DEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLsizei, GLenum, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_TextureStorage1DEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TextureStorage2DEXT) (GLuint, GLenum, GLsizei, - GLenum, GLsizei, - GLsizei); -#define CALL_TextureStorage2DEXT(disp, parameters) \ - (* GET_TextureStorage2DEXT(disp)) parameters -static inline _glptr_TextureStorage2DEXT -GET_TextureStorage2DEXT(struct _glapi_table *disp) -{ - return (_glptr_TextureStorage2DEXT) (GET_by_offset - (disp, _gloffset_TextureStorage2DEXT)); -} - -static inline void -SET_TextureStorage2DEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLsizei, GLenum, - GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_TextureStorage2DEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TextureStorage3DEXT) (GLuint, GLenum, GLsizei, - GLenum, GLsizei, GLsizei, - GLsizei); -#define CALL_TextureStorage3DEXT(disp, parameters) \ - (* GET_TextureStorage3DEXT(disp)) parameters -static inline _glptr_TextureStorage3DEXT -GET_TextureStorage3DEXT(struct _glapi_table *disp) -{ - return (_glptr_TextureStorage3DEXT) (GET_by_offset - (disp, _gloffset_TextureStorage3DEXT)); -} - -static inline void -SET_TextureStorage3DEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLsizei, GLenum, - GLsizei, GLsizei, GLsizei)) -{ - SET_by_offset(disp, _gloffset_TextureStorage3DEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_PolygonOffsetEXT) (GLfloat, GLfloat); - -#define CALL_PolygonOffsetEXT(disp, parameters) \ - (* GET_PolygonOffsetEXT(disp)) parameters -static inline _glptr_PolygonOffsetEXT -GET_PolygonOffsetEXT(struct _glapi_table *disp) -{ - return (_glptr_PolygonOffsetEXT) (GET_by_offset - (disp, _gloffset_PolygonOffsetEXT)); -} - -static inline void -SET_PolygonOffsetEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_PolygonOffsetEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetPixelTexGenParameterfvSGIS) (GLenum, - GLfloat *); -#define CALL_GetPixelTexGenParameterfvSGIS(disp, parameters) \ - (* GET_GetPixelTexGenParameterfvSGIS(disp)) parameters -static inline _glptr_GetPixelTexGenParameterfvSGIS -GET_GetPixelTexGenParameterfvSGIS(struct _glapi_table *disp) -{ - return (_glptr_GetPixelTexGenParameterfvSGIS) (GET_by_offset - (disp, - _gloffset_GetPixelTexGenParameterfvSGIS)); -} - -static inline void -SET_GetPixelTexGenParameterfvSGIS(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetPixelTexGenParameterfvSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetPixelTexGenParameterivSGIS) (GLenum, - GLint *); -#define CALL_GetPixelTexGenParameterivSGIS(disp, parameters) \ - (* GET_GetPixelTexGenParameterivSGIS(disp)) parameters -static inline _glptr_GetPixelTexGenParameterivSGIS -GET_GetPixelTexGenParameterivSGIS(struct _glapi_table *disp) -{ - return (_glptr_GetPixelTexGenParameterivSGIS) (GET_by_offset - (disp, - _gloffset_GetPixelTexGenParameterivSGIS)); -} - -static inline void -SET_GetPixelTexGenParameterivSGIS(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetPixelTexGenParameterivSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelTexGenParameterfSGIS) (GLenum, GLfloat); - -#define CALL_PixelTexGenParameterfSGIS(disp, parameters) \ - (* GET_PixelTexGenParameterfSGIS(disp)) parameters -static inline _glptr_PixelTexGenParameterfSGIS -GET_PixelTexGenParameterfSGIS(struct _glapi_table *disp) -{ - return (_glptr_PixelTexGenParameterfSGIS) (GET_by_offset - (disp, - _gloffset_PixelTexGenParameterfSGIS)); -} - -static inline void -SET_PixelTexGenParameterfSGIS(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_PixelTexGenParameterfSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelTexGenParameterfvSGIS) (GLenum, - const GLfloat *); -#define CALL_PixelTexGenParameterfvSGIS(disp, parameters) \ - (* GET_PixelTexGenParameterfvSGIS(disp)) parameters -static inline _glptr_PixelTexGenParameterfvSGIS -GET_PixelTexGenParameterfvSGIS(struct _glapi_table *disp) -{ - return (_glptr_PixelTexGenParameterfvSGIS) (GET_by_offset - (disp, - _gloffset_PixelTexGenParameterfvSGIS)); -} - -static inline void -SET_PixelTexGenParameterfvSGIS(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_PixelTexGenParameterfvSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelTexGenParameteriSGIS) (GLenum, GLint); - -#define CALL_PixelTexGenParameteriSGIS(disp, parameters) \ - (* GET_PixelTexGenParameteriSGIS(disp)) parameters -static inline _glptr_PixelTexGenParameteriSGIS -GET_PixelTexGenParameteriSGIS(struct _glapi_table *disp) -{ - return (_glptr_PixelTexGenParameteriSGIS) (GET_by_offset - (disp, - _gloffset_PixelTexGenParameteriSGIS)); -} - -static inline void -SET_PixelTexGenParameteriSGIS(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_PixelTexGenParameteriSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelTexGenParameterivSGIS) (GLenum, - const GLint *); -#define CALL_PixelTexGenParameterivSGIS(disp, parameters) \ - (* GET_PixelTexGenParameterivSGIS(disp)) parameters -static inline _glptr_PixelTexGenParameterivSGIS -GET_PixelTexGenParameterivSGIS(struct _glapi_table *disp) -{ - return (_glptr_PixelTexGenParameterivSGIS) (GET_by_offset - (disp, - _gloffset_PixelTexGenParameterivSGIS)); -} - -static inline void -SET_PixelTexGenParameterivSGIS(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_PixelTexGenParameterivSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_SampleMaskSGIS) (GLclampf, GLboolean); - -#define CALL_SampleMaskSGIS(disp, parameters) \ - (* GET_SampleMaskSGIS(disp)) parameters -static inline _glptr_SampleMaskSGIS -GET_SampleMaskSGIS(struct _glapi_table *disp) -{ - return (_glptr_SampleMaskSGIS) (GET_by_offset - (disp, _gloffset_SampleMaskSGIS)); -} - -static inline void -SET_SampleMaskSGIS(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLclampf, GLboolean)) -{ - SET_by_offset(disp, _gloffset_SampleMaskSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_SamplePatternSGIS) (GLenum); - -#define CALL_SamplePatternSGIS(disp, parameters) \ - (* GET_SamplePatternSGIS(disp)) parameters -static inline _glptr_SamplePatternSGIS -GET_SamplePatternSGIS(struct _glapi_table *disp) -{ - return (_glptr_SamplePatternSGIS) (GET_by_offset - (disp, _gloffset_SamplePatternSGIS)); -} - -static inline void -SET_SamplePatternSGIS(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_SamplePatternSGIS, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorPointerEXT) (GLint, GLenum, GLsizei, - GLsizei, const GLvoid *); -#define CALL_ColorPointerEXT(disp, parameters) \ - (* GET_ColorPointerEXT(disp)) parameters -static inline _glptr_ColorPointerEXT -GET_ColorPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_ColorPointerEXT) (GET_by_offset - (disp, _gloffset_ColorPointerEXT)); -} - -static inline void -SET_ColorPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLenum, GLsizei, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_ColorPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_EdgeFlagPointerEXT) (GLsizei, GLsizei, - const GLboolean *); -#define CALL_EdgeFlagPointerEXT(disp, parameters) \ - (* GET_EdgeFlagPointerEXT(disp)) parameters -static inline _glptr_EdgeFlagPointerEXT -GET_EdgeFlagPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_EdgeFlagPointerEXT) (GET_by_offset - (disp, _gloffset_EdgeFlagPointerEXT)); -} - -static inline void -SET_EdgeFlagPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLsizei, - const GLboolean *)) -{ - SET_by_offset(disp, _gloffset_EdgeFlagPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_IndexPointerEXT) (GLenum, GLsizei, GLsizei, - const GLvoid *); -#define CALL_IndexPointerEXT(disp, parameters) \ - (* GET_IndexPointerEXT(disp)) parameters -static inline _glptr_IndexPointerEXT -GET_IndexPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_IndexPointerEXT) (GET_by_offset - (disp, _gloffset_IndexPointerEXT)); -} - -static inline void -SET_IndexPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_IndexPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_NormalPointerEXT) (GLenum, GLsizei, GLsizei, - const GLvoid *); -#define CALL_NormalPointerEXT(disp, parameters) \ - (* GET_NormalPointerEXT(disp)) parameters -static inline _glptr_NormalPointerEXT -GET_NormalPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_NormalPointerEXT) (GET_by_offset - (disp, _gloffset_NormalPointerEXT)); -} - -static inline void -SET_NormalPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_NormalPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexCoordPointerEXT) (GLint, GLenum, GLsizei, - GLsizei, const GLvoid *); -#define CALL_TexCoordPointerEXT(disp, parameters) \ - (* GET_TexCoordPointerEXT(disp)) parameters -static inline _glptr_TexCoordPointerEXT -GET_TexCoordPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_TexCoordPointerEXT) (GET_by_offset - (disp, _gloffset_TexCoordPointerEXT)); -} - -static inline void -SET_TexCoordPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLenum, GLsizei, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TexCoordPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexPointerEXT) (GLint, GLenum, GLsizei, - GLsizei, const GLvoid *); -#define CALL_VertexPointerEXT(disp, parameters) \ - (* GET_VertexPointerEXT(disp)) parameters -static inline _glptr_VertexPointerEXT -GET_VertexPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexPointerEXT) (GET_by_offset - (disp, _gloffset_VertexPointerEXT)); -} - -static inline void -SET_VertexPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLenum, GLsizei, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_VertexPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_PointParameterfEXT) (GLenum, GLfloat); - -#define CALL_PointParameterfEXT(disp, parameters) \ - (* GET_PointParameterfEXT(disp)) parameters -static inline _glptr_PointParameterfEXT -GET_PointParameterfEXT(struct _glapi_table *disp) -{ - return (_glptr_PointParameterfEXT) (GET_by_offset - (disp, _gloffset_PointParameterfEXT)); -} - -static inline void -SET_PointParameterfEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_PointParameterfEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_PointParameterfvEXT) (GLenum, const GLfloat *); - -#define CALL_PointParameterfvEXT(disp, parameters) \ - (* GET_PointParameterfvEXT(disp)) parameters -static inline _glptr_PointParameterfvEXT -GET_PointParameterfvEXT(struct _glapi_table *disp) -{ - return (_glptr_PointParameterfvEXT) (GET_by_offset - (disp, _gloffset_PointParameterfvEXT)); -} - -static inline void -SET_PointParameterfvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_PointParameterfvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_LockArraysEXT) (GLint, GLsizei); - -#define CALL_LockArraysEXT(disp, parameters) \ - (* GET_LockArraysEXT(disp)) parameters -static inline _glptr_LockArraysEXT -GET_LockArraysEXT(struct _glapi_table *disp) -{ - return (_glptr_LockArraysEXT) (GET_by_offset - (disp, _gloffset_LockArraysEXT)); -} - -static inline void -SET_LockArraysEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei)) -{ - SET_by_offset(disp, _gloffset_LockArraysEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_UnlockArraysEXT) (void); - -#define CALL_UnlockArraysEXT(disp, parameters) \ - (* GET_UnlockArraysEXT(disp)) parameters -static inline _glptr_UnlockArraysEXT -GET_UnlockArraysEXT(struct _glapi_table *disp) -{ - return (_glptr_UnlockArraysEXT) (GET_by_offset - (disp, _gloffset_UnlockArraysEXT)); -} - -static inline void -SET_UnlockArraysEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_UnlockArraysEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3bEXT) (GLbyte, GLbyte, GLbyte); - -#define CALL_SecondaryColor3bEXT(disp, parameters) \ - (* GET_SecondaryColor3bEXT(disp)) parameters -static inline _glptr_SecondaryColor3bEXT -GET_SecondaryColor3bEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3bEXT) (GET_by_offset - (disp, _gloffset_SecondaryColor3bEXT)); -} - -static inline void -SET_SecondaryColor3bEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLbyte, GLbyte, GLbyte)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3bEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3bvEXT) (const GLbyte *); - -#define CALL_SecondaryColor3bvEXT(disp, parameters) \ - (* GET_SecondaryColor3bvEXT(disp)) parameters -static inline _glptr_SecondaryColor3bvEXT -GET_SecondaryColor3bvEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3bvEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3bvEXT)); -} - -static inline void -SET_SecondaryColor3bvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLbyte *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3bvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3dEXT) (GLdouble, GLdouble, - GLdouble); -#define CALL_SecondaryColor3dEXT(disp, parameters) \ - (* GET_SecondaryColor3dEXT(disp)) parameters -static inline _glptr_SecondaryColor3dEXT -GET_SecondaryColor3dEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3dEXT) (GET_by_offset - (disp, _gloffset_SecondaryColor3dEXT)); -} - -static inline void -SET_SecondaryColor3dEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3dEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3dvEXT) (const GLdouble *); - -#define CALL_SecondaryColor3dvEXT(disp, parameters) \ - (* GET_SecondaryColor3dvEXT(disp)) parameters -static inline _glptr_SecondaryColor3dvEXT -GET_SecondaryColor3dvEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3dvEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3dvEXT)); -} - -static inline void -SET_SecondaryColor3dvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3dvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3fEXT) (GLfloat, GLfloat, - GLfloat); -#define CALL_SecondaryColor3fEXT(disp, parameters) \ - (* GET_SecondaryColor3fEXT(disp)) parameters -static inline _glptr_SecondaryColor3fEXT -GET_SecondaryColor3fEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3fEXT) (GET_by_offset - (disp, _gloffset_SecondaryColor3fEXT)); -} - -static inline void -SET_SecondaryColor3fEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3fEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3fvEXT) (const GLfloat *); - -#define CALL_SecondaryColor3fvEXT(disp, parameters) \ - (* GET_SecondaryColor3fvEXT(disp)) parameters -static inline _glptr_SecondaryColor3fvEXT -GET_SecondaryColor3fvEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3fvEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3fvEXT)); -} - -static inline void -SET_SecondaryColor3fvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3fvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3iEXT) (GLint, GLint, GLint); - -#define CALL_SecondaryColor3iEXT(disp, parameters) \ - (* GET_SecondaryColor3iEXT(disp)) parameters -static inline _glptr_SecondaryColor3iEXT -GET_SecondaryColor3iEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3iEXT) (GET_by_offset - (disp, _gloffset_SecondaryColor3iEXT)); -} - -static inline void -SET_SecondaryColor3iEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3iEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3ivEXT) (const GLint *); - -#define CALL_SecondaryColor3ivEXT(disp, parameters) \ - (* GET_SecondaryColor3ivEXT(disp)) parameters -static inline _glptr_SecondaryColor3ivEXT -GET_SecondaryColor3ivEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3ivEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3ivEXT)); -} - -static inline void -SET_SecondaryColor3ivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3ivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3sEXT) (GLshort, GLshort, - GLshort); -#define CALL_SecondaryColor3sEXT(disp, parameters) \ - (* GET_SecondaryColor3sEXT(disp)) parameters -static inline _glptr_SecondaryColor3sEXT -GET_SecondaryColor3sEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3sEXT) (GET_by_offset - (disp, _gloffset_SecondaryColor3sEXT)); -} - -static inline void -SET_SecondaryColor3sEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3sEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3svEXT) (const GLshort *); - -#define CALL_SecondaryColor3svEXT(disp, parameters) \ - (* GET_SecondaryColor3svEXT(disp)) parameters -static inline _glptr_SecondaryColor3svEXT -GET_SecondaryColor3svEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3svEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3svEXT)); -} - -static inline void -SET_SecondaryColor3svEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3svEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3ubEXT) (GLubyte, GLubyte, - GLubyte); -#define CALL_SecondaryColor3ubEXT(disp, parameters) \ - (* GET_SecondaryColor3ubEXT(disp)) parameters -static inline _glptr_SecondaryColor3ubEXT -GET_SecondaryColor3ubEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3ubEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3ubEXT)); -} - -static inline void -SET_SecondaryColor3ubEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLubyte, GLubyte, GLubyte)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3ubEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3ubvEXT) (const GLubyte *); - -#define CALL_SecondaryColor3ubvEXT(disp, parameters) \ - (* GET_SecondaryColor3ubvEXT(disp)) parameters -static inline _glptr_SecondaryColor3ubvEXT -GET_SecondaryColor3ubvEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3ubvEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3ubvEXT)); -} - -static inline void -SET_SecondaryColor3ubvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3ubvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3uiEXT) (GLuint, GLuint, GLuint); - -#define CALL_SecondaryColor3uiEXT(disp, parameters) \ - (* GET_SecondaryColor3uiEXT(disp)) parameters -static inline _glptr_SecondaryColor3uiEXT -GET_SecondaryColor3uiEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3uiEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3uiEXT)); -} - -static inline void -SET_SecondaryColor3uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3uivEXT) (const GLuint *); - -#define CALL_SecondaryColor3uivEXT(disp, parameters) \ - (* GET_SecondaryColor3uivEXT(disp)) parameters -static inline _glptr_SecondaryColor3uivEXT -GET_SecondaryColor3uivEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3uivEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3uivEXT)); -} - -static inline void -SET_SecondaryColor3uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLuint *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3usEXT) (GLushort, GLushort, - GLushort); -#define CALL_SecondaryColor3usEXT(disp, parameters) \ - (* GET_SecondaryColor3usEXT(disp)) parameters -static inline _glptr_SecondaryColor3usEXT -GET_SecondaryColor3usEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3usEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3usEXT)); -} - -static inline void -SET_SecondaryColor3usEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLushort, GLushort, GLushort)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3usEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColor3usvEXT) (const GLushort *); - -#define CALL_SecondaryColor3usvEXT(disp, parameters) \ - (* GET_SecondaryColor3usvEXT(disp)) parameters -static inline _glptr_SecondaryColor3usvEXT -GET_SecondaryColor3usvEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColor3usvEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColor3usvEXT)); -} - -static inline void -SET_SecondaryColor3usvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLushort *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColor3usvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_SecondaryColorPointerEXT) (GLint, GLenum, - GLsizei, - const GLvoid *); -#define CALL_SecondaryColorPointerEXT(disp, parameters) \ - (* GET_SecondaryColorPointerEXT(disp)) parameters -static inline _glptr_SecondaryColorPointerEXT -GET_SecondaryColorPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_SecondaryColorPointerEXT) (GET_by_offset - (disp, - _gloffset_SecondaryColorPointerEXT)); -} - -static inline void -SET_SecondaryColorPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLenum, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_SecondaryColorPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiDrawArraysEXT) (GLenum, const GLint *, - const GLsizei *, GLsizei); -#define CALL_MultiDrawArraysEXT(disp, parameters) \ - (* GET_MultiDrawArraysEXT(disp)) parameters -static inline _glptr_MultiDrawArraysEXT -GET_MultiDrawArraysEXT(struct _glapi_table *disp) -{ - return (_glptr_MultiDrawArraysEXT) (GET_by_offset - (disp, _gloffset_MultiDrawArraysEXT)); -} - -static inline void -SET_MultiDrawArraysEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *, - const GLsizei *, GLsizei)) -{ - SET_by_offset(disp, _gloffset_MultiDrawArraysEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiDrawElementsEXT) (GLenum, const GLsizei *, - GLenum, const GLvoid **, - GLsizei); -#define CALL_MultiDrawElementsEXT(disp, parameters) \ - (* GET_MultiDrawElementsEXT(disp)) parameters -static inline _glptr_MultiDrawElementsEXT -GET_MultiDrawElementsEXT(struct _glapi_table *disp) -{ - return (_glptr_MultiDrawElementsEXT) (GET_by_offset - (disp, - _gloffset_MultiDrawElementsEXT)); -} - -static inline void -SET_MultiDrawElementsEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLsizei *, GLenum, - const GLvoid **, GLsizei)) -{ - SET_by_offset(disp, _gloffset_MultiDrawElementsEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FogCoordPointerEXT) (GLenum, GLsizei, - const GLvoid *); -#define CALL_FogCoordPointerEXT(disp, parameters) \ - (* GET_FogCoordPointerEXT(disp)) parameters -static inline _glptr_FogCoordPointerEXT -GET_FogCoordPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_FogCoordPointerEXT) (GET_by_offset - (disp, _gloffset_FogCoordPointerEXT)); -} - -static inline void -SET_FogCoordPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_FogCoordPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FogCoorddEXT) (GLdouble); - -#define CALL_FogCoorddEXT(disp, parameters) \ - (* GET_FogCoorddEXT(disp)) parameters -static inline _glptr_FogCoorddEXT -GET_FogCoorddEXT(struct _glapi_table *disp) -{ - return (_glptr_FogCoorddEXT) (GET_by_offset(disp, _gloffset_FogCoorddEXT)); -} - -static inline void -SET_FogCoorddEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLdouble)) -{ - SET_by_offset(disp, _gloffset_FogCoorddEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FogCoorddvEXT) (const GLdouble *); - -#define CALL_FogCoorddvEXT(disp, parameters) \ - (* GET_FogCoorddvEXT(disp)) parameters -static inline _glptr_FogCoorddvEXT -GET_FogCoorddvEXT(struct _glapi_table *disp) -{ - return (_glptr_FogCoorddvEXT) (GET_by_offset - (disp, _gloffset_FogCoorddvEXT)); -} - -static inline void -SET_FogCoorddvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_FogCoorddvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FogCoordfEXT) (GLfloat); - -#define CALL_FogCoordfEXT(disp, parameters) \ - (* GET_FogCoordfEXT(disp)) parameters -static inline _glptr_FogCoordfEXT -GET_FogCoordfEXT(struct _glapi_table *disp) -{ - return (_glptr_FogCoordfEXT) (GET_by_offset(disp, _gloffset_FogCoordfEXT)); -} - -static inline void -SET_FogCoordfEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLfloat)) -{ - SET_by_offset(disp, _gloffset_FogCoordfEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FogCoordfvEXT) (const GLfloat *); - -#define CALL_FogCoordfvEXT(disp, parameters) \ - (* GET_FogCoordfvEXT(disp)) parameters -static inline _glptr_FogCoordfvEXT -GET_FogCoordfvEXT(struct _glapi_table *disp) -{ - return (_glptr_FogCoordfvEXT) (GET_by_offset - (disp, _gloffset_FogCoordfvEXT)); -} - -static inline void -SET_FogCoordfvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_FogCoordfvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_PixelTexGenSGIX) (GLenum); - -#define CALL_PixelTexGenSGIX(disp, parameters) \ - (* GET_PixelTexGenSGIX(disp)) parameters -static inline _glptr_PixelTexGenSGIX -GET_PixelTexGenSGIX(struct _glapi_table *disp) -{ - return (_glptr_PixelTexGenSGIX) (GET_by_offset - (disp, _gloffset_PixelTexGenSGIX)); -} - -static inline void -SET_PixelTexGenSGIX(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_PixelTexGenSGIX, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendFuncSeparateEXT) (GLenum, GLenum, GLenum, - GLenum); -#define CALL_BlendFuncSeparateEXT(disp, parameters) \ - (* GET_BlendFuncSeparateEXT(disp)) parameters -static inline _glptr_BlendFuncSeparateEXT -GET_BlendFuncSeparateEXT(struct _glapi_table *disp) -{ - return (_glptr_BlendFuncSeparateEXT) (GET_by_offset - (disp, - _gloffset_BlendFuncSeparateEXT)); -} - -static inline void -SET_BlendFuncSeparateEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendFuncSeparateEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FlushVertexArrayRangeNV) (void); - -#define CALL_FlushVertexArrayRangeNV(disp, parameters) \ - (* GET_FlushVertexArrayRangeNV(disp)) parameters -static inline _glptr_FlushVertexArrayRangeNV -GET_FlushVertexArrayRangeNV(struct _glapi_table *disp) -{ - return (_glptr_FlushVertexArrayRangeNV) (GET_by_offset - (disp, - _gloffset_FlushVertexArrayRangeNV)); -} - -static inline void -SET_FlushVertexArrayRangeNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_FlushVertexArrayRangeNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexArrayRangeNV) (GLsizei, const GLvoid *); - -#define CALL_VertexArrayRangeNV(disp, parameters) \ - (* GET_VertexArrayRangeNV(disp)) parameters -static inline _glptr_VertexArrayRangeNV -GET_VertexArrayRangeNV(struct _glapi_table *disp) -{ - return (_glptr_VertexArrayRangeNV) (GET_by_offset - (disp, _gloffset_VertexArrayRangeNV)); -} - -static inline void -SET_VertexArrayRangeNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_VertexArrayRangeNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_CombinerInputNV) (GLenum, GLenum, GLenum, - GLenum, GLenum, GLenum); -#define CALL_CombinerInputNV(disp, parameters) \ - (* GET_CombinerInputNV(disp)) parameters -static inline _glptr_CombinerInputNV -GET_CombinerInputNV(struct _glapi_table *disp) -{ - return (_glptr_CombinerInputNV) (GET_by_offset - (disp, _gloffset_CombinerInputNV)); -} - -static inline void -SET_CombinerInputNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLenum, - GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_CombinerInputNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_CombinerOutputNV) (GLenum, GLenum, GLenum, - GLenum, GLenum, GLenum, - GLenum, GLboolean, - GLboolean, GLboolean); -#define CALL_CombinerOutputNV(disp, parameters) \ - (* GET_CombinerOutputNV(disp)) parameters -static inline _glptr_CombinerOutputNV -GET_CombinerOutputNV(struct _glapi_table *disp) -{ - return (_glptr_CombinerOutputNV) (GET_by_offset - (disp, _gloffset_CombinerOutputNV)); -} - -static inline void -SET_CombinerOutputNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLenum, - GLenum, GLenum, GLenum, GLboolean, - GLboolean, GLboolean)) -{ - SET_by_offset(disp, _gloffset_CombinerOutputNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_CombinerParameterfNV) (GLenum, GLfloat); - -#define CALL_CombinerParameterfNV(disp, parameters) \ - (* GET_CombinerParameterfNV(disp)) parameters -static inline _glptr_CombinerParameterfNV -GET_CombinerParameterfNV(struct _glapi_table *disp) -{ - return (_glptr_CombinerParameterfNV) (GET_by_offset - (disp, - _gloffset_CombinerParameterfNV)); -} - -static inline void -SET_CombinerParameterfNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat)) -{ - SET_by_offset(disp, _gloffset_CombinerParameterfNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_CombinerParameterfvNV) (GLenum, - const GLfloat *); -#define CALL_CombinerParameterfvNV(disp, parameters) \ - (* GET_CombinerParameterfvNV(disp)) parameters -static inline _glptr_CombinerParameterfvNV -GET_CombinerParameterfvNV(struct _glapi_table *disp) -{ - return (_glptr_CombinerParameterfvNV) (GET_by_offset - (disp, - _gloffset_CombinerParameterfvNV)); -} - -static inline void -SET_CombinerParameterfvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_CombinerParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_CombinerParameteriNV) (GLenum, GLint); - -#define CALL_CombinerParameteriNV(disp, parameters) \ - (* GET_CombinerParameteriNV(disp)) parameters -static inline _glptr_CombinerParameteriNV -GET_CombinerParameteriNV(struct _glapi_table *disp) -{ - return (_glptr_CombinerParameteriNV) (GET_by_offset - (disp, - _gloffset_CombinerParameteriNV)); -} - -static inline void -SET_CombinerParameteriNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_CombinerParameteriNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_CombinerParameterivNV) (GLenum, const GLint *); - -#define CALL_CombinerParameterivNV(disp, parameters) \ - (* GET_CombinerParameterivNV(disp)) parameters -static inline _glptr_CombinerParameterivNV -GET_CombinerParameterivNV(struct _glapi_table *disp) -{ - return (_glptr_CombinerParameterivNV) (GET_by_offset - (disp, - _gloffset_CombinerParameterivNV)); -} - -static inline void -SET_CombinerParameterivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_CombinerParameterivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_FinalCombinerInputNV) (GLenum, GLenum, GLenum, - GLenum); -#define CALL_FinalCombinerInputNV(disp, parameters) \ - (* GET_FinalCombinerInputNV(disp)) parameters -static inline _glptr_FinalCombinerInputNV -GET_FinalCombinerInputNV(struct _glapi_table *disp) -{ - return (_glptr_FinalCombinerInputNV) (GET_by_offset - (disp, - _gloffset_FinalCombinerInputNV)); -} - -static inline void -SET_FinalCombinerInputNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_FinalCombinerInputNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetCombinerInputParameterfvNV) (GLenum, GLenum, - GLenum, GLenum, - GLfloat *); -#define CALL_GetCombinerInputParameterfvNV(disp, parameters) \ - (* GET_GetCombinerInputParameterfvNV(disp)) parameters -static inline _glptr_GetCombinerInputParameterfvNV -GET_GetCombinerInputParameterfvNV(struct _glapi_table *disp) -{ - return (_glptr_GetCombinerInputParameterfvNV) (GET_by_offset - (disp, - _gloffset_GetCombinerInputParameterfvNV)); -} - -static inline void -SET_GetCombinerInputParameterfvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetCombinerInputParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetCombinerInputParameterivNV) (GLenum, GLenum, - GLenum, GLenum, - GLint *); -#define CALL_GetCombinerInputParameterivNV(disp, parameters) \ - (* GET_GetCombinerInputParameterivNV(disp)) parameters -static inline _glptr_GetCombinerInputParameterivNV -GET_GetCombinerInputParameterivNV(struct _glapi_table *disp) -{ - return (_glptr_GetCombinerInputParameterivNV) (GET_by_offset - (disp, - _gloffset_GetCombinerInputParameterivNV)); -} - -static inline void -SET_GetCombinerInputParameterivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetCombinerInputParameterivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetCombinerOutputParameterfvNV) (GLenum, - GLenum, - GLenum, - GLfloat *); -#define CALL_GetCombinerOutputParameterfvNV(disp, parameters) \ - (* GET_GetCombinerOutputParameterfvNV(disp)) parameters -static inline _glptr_GetCombinerOutputParameterfvNV -GET_GetCombinerOutputParameterfvNV(struct _glapi_table *disp) -{ - return (_glptr_GetCombinerOutputParameterfvNV) (GET_by_offset - (disp, - _gloffset_GetCombinerOutputParameterfvNV)); -} - -static inline void -SET_GetCombinerOutputParameterfvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetCombinerOutputParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetCombinerOutputParameterivNV) (GLenum, - GLenum, - GLenum, - GLint *); -#define CALL_GetCombinerOutputParameterivNV(disp, parameters) \ - (* GET_GetCombinerOutputParameterivNV(disp)) parameters -static inline _glptr_GetCombinerOutputParameterivNV -GET_GetCombinerOutputParameterivNV(struct _glapi_table *disp) -{ - return (_glptr_GetCombinerOutputParameterivNV) (GET_by_offset - (disp, - _gloffset_GetCombinerOutputParameterivNV)); -} - -static inline void -SET_GetCombinerOutputParameterivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetCombinerOutputParameterivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetFinalCombinerInputParameterfvNV) (GLenum, - GLenum, - GLfloat - *); -#define CALL_GetFinalCombinerInputParameterfvNV(disp, parameters) \ - (* GET_GetFinalCombinerInputParameterfvNV(disp)) parameters -static inline _glptr_GetFinalCombinerInputParameterfvNV -GET_GetFinalCombinerInputParameterfvNV(struct _glapi_table *disp) -{ - return (_glptr_GetFinalCombinerInputParameterfvNV) (GET_by_offset - (disp, - _gloffset_GetFinalCombinerInputParameterfvNV)); -} - -static inline void -SET_GetFinalCombinerInputParameterfvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetFinalCombinerInputParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetFinalCombinerInputParameterivNV) (GLenum, - GLenum, - GLint *); -#define CALL_GetFinalCombinerInputParameterivNV(disp, parameters) \ - (* GET_GetFinalCombinerInputParameterivNV(disp)) parameters -static inline _glptr_GetFinalCombinerInputParameterivNV -GET_GetFinalCombinerInputParameterivNV(struct _glapi_table *disp) -{ - return (_glptr_GetFinalCombinerInputParameterivNV) (GET_by_offset - (disp, - _gloffset_GetFinalCombinerInputParameterivNV)); -} - -static inline void -SET_GetFinalCombinerInputParameterivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetFinalCombinerInputParameterivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ResizeBuffersMESA) (void); - -#define CALL_ResizeBuffersMESA(disp, parameters) \ - (* GET_ResizeBuffersMESA(disp)) parameters -static inline _glptr_ResizeBuffersMESA -GET_ResizeBuffersMESA(struct _glapi_table *disp) -{ - return (_glptr_ResizeBuffersMESA) (GET_by_offset - (disp, _gloffset_ResizeBuffersMESA)); -} - -static inline void -SET_ResizeBuffersMESA(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_ResizeBuffersMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2dMESA) (GLdouble, GLdouble); - -#define CALL_WindowPos2dMESA(disp, parameters) \ - (* GET_WindowPos2dMESA(disp)) parameters -static inline _glptr_WindowPos2dMESA -GET_WindowPos2dMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2dMESA) (GET_by_offset - (disp, _gloffset_WindowPos2dMESA)); -} - -static inline void -SET_WindowPos2dMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_WindowPos2dMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2dvMESA) (const GLdouble *); - -#define CALL_WindowPos2dvMESA(disp, parameters) \ - (* GET_WindowPos2dvMESA(disp)) parameters -static inline _glptr_WindowPos2dvMESA -GET_WindowPos2dvMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2dvMESA) (GET_by_offset - (disp, _gloffset_WindowPos2dvMESA)); -} - -static inline void -SET_WindowPos2dvMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_WindowPos2dvMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2fMESA) (GLfloat, GLfloat); - -#define CALL_WindowPos2fMESA(disp, parameters) \ - (* GET_WindowPos2fMESA(disp)) parameters -static inline _glptr_WindowPos2fMESA -GET_WindowPos2fMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2fMESA) (GET_by_offset - (disp, _gloffset_WindowPos2fMESA)); -} - -static inline void -SET_WindowPos2fMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_WindowPos2fMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2fvMESA) (const GLfloat *); - -#define CALL_WindowPos2fvMESA(disp, parameters) \ - (* GET_WindowPos2fvMESA(disp)) parameters -static inline _glptr_WindowPos2fvMESA -GET_WindowPos2fvMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2fvMESA) (GET_by_offset - (disp, _gloffset_WindowPos2fvMESA)); -} - -static inline void -SET_WindowPos2fvMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_WindowPos2fvMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2iMESA) (GLint, GLint); - -#define CALL_WindowPos2iMESA(disp, parameters) \ - (* GET_WindowPos2iMESA(disp)) parameters -static inline _glptr_WindowPos2iMESA -GET_WindowPos2iMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2iMESA) (GET_by_offset - (disp, _gloffset_WindowPos2iMESA)); -} - -static inline void -SET_WindowPos2iMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_WindowPos2iMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2ivMESA) (const GLint *); - -#define CALL_WindowPos2ivMESA(disp, parameters) \ - (* GET_WindowPos2ivMESA(disp)) parameters -static inline _glptr_WindowPos2ivMESA -GET_WindowPos2ivMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2ivMESA) (GET_by_offset - (disp, _gloffset_WindowPos2ivMESA)); -} - -static inline void -SET_WindowPos2ivMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_WindowPos2ivMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2sMESA) (GLshort, GLshort); - -#define CALL_WindowPos2sMESA(disp, parameters) \ - (* GET_WindowPos2sMESA(disp)) parameters -static inline _glptr_WindowPos2sMESA -GET_WindowPos2sMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2sMESA) (GET_by_offset - (disp, _gloffset_WindowPos2sMESA)); -} - -static inline void -SET_WindowPos2sMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_WindowPos2sMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos2svMESA) (const GLshort *); - -#define CALL_WindowPos2svMESA(disp, parameters) \ - (* GET_WindowPos2svMESA(disp)) parameters -static inline _glptr_WindowPos2svMESA -GET_WindowPos2svMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos2svMESA) (GET_by_offset - (disp, _gloffset_WindowPos2svMESA)); -} - -static inline void -SET_WindowPos2svMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_WindowPos2svMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3dMESA) (GLdouble, GLdouble, - GLdouble); -#define CALL_WindowPos3dMESA(disp, parameters) \ - (* GET_WindowPos3dMESA(disp)) parameters -static inline _glptr_WindowPos3dMESA -GET_WindowPos3dMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3dMESA) (GET_by_offset - (disp, _gloffset_WindowPos3dMESA)); -} - -static inline void -SET_WindowPos3dMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_WindowPos3dMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3dvMESA) (const GLdouble *); - -#define CALL_WindowPos3dvMESA(disp, parameters) \ - (* GET_WindowPos3dvMESA(disp)) parameters -static inline _glptr_WindowPos3dvMESA -GET_WindowPos3dvMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3dvMESA) (GET_by_offset - (disp, _gloffset_WindowPos3dvMESA)); -} - -static inline void -SET_WindowPos3dvMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_WindowPos3dvMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3fMESA) (GLfloat, GLfloat, GLfloat); - -#define CALL_WindowPos3fMESA(disp, parameters) \ - (* GET_WindowPos3fMESA(disp)) parameters -static inline _glptr_WindowPos3fMESA -GET_WindowPos3fMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3fMESA) (GET_by_offset - (disp, _gloffset_WindowPos3fMESA)); -} - -static inline void -SET_WindowPos3fMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_WindowPos3fMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3fvMESA) (const GLfloat *); - -#define CALL_WindowPos3fvMESA(disp, parameters) \ - (* GET_WindowPos3fvMESA(disp)) parameters -static inline _glptr_WindowPos3fvMESA -GET_WindowPos3fvMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3fvMESA) (GET_by_offset - (disp, _gloffset_WindowPos3fvMESA)); -} - -static inline void -SET_WindowPos3fvMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_WindowPos3fvMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3iMESA) (GLint, GLint, GLint); - -#define CALL_WindowPos3iMESA(disp, parameters) \ - (* GET_WindowPos3iMESA(disp)) parameters -static inline _glptr_WindowPos3iMESA -GET_WindowPos3iMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3iMESA) (GET_by_offset - (disp, _gloffset_WindowPos3iMESA)); -} - -static inline void -SET_WindowPos3iMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_WindowPos3iMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3ivMESA) (const GLint *); - -#define CALL_WindowPos3ivMESA(disp, parameters) \ - (* GET_WindowPos3ivMESA(disp)) parameters -static inline _glptr_WindowPos3ivMESA -GET_WindowPos3ivMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3ivMESA) (GET_by_offset - (disp, _gloffset_WindowPos3ivMESA)); -} - -static inline void -SET_WindowPos3ivMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_WindowPos3ivMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3sMESA) (GLshort, GLshort, GLshort); - -#define CALL_WindowPos3sMESA(disp, parameters) \ - (* GET_WindowPos3sMESA(disp)) parameters -static inline _glptr_WindowPos3sMESA -GET_WindowPos3sMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3sMESA) (GET_by_offset - (disp, _gloffset_WindowPos3sMESA)); -} - -static inline void -SET_WindowPos3sMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_WindowPos3sMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos3svMESA) (const GLshort *); - -#define CALL_WindowPos3svMESA(disp, parameters) \ - (* GET_WindowPos3svMESA(disp)) parameters -static inline _glptr_WindowPos3svMESA -GET_WindowPos3svMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos3svMESA) (GET_by_offset - (disp, _gloffset_WindowPos3svMESA)); -} - -static inline void -SET_WindowPos3svMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_WindowPos3svMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4dMESA) (GLdouble, GLdouble, GLdouble, - GLdouble); -#define CALL_WindowPos4dMESA(disp, parameters) \ - (* GET_WindowPos4dMESA(disp)) parameters -static inline _glptr_WindowPos4dMESA -GET_WindowPos4dMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4dMESA) (GET_by_offset - (disp, _gloffset_WindowPos4dMESA)); -} - -static inline void -SET_WindowPos4dMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLdouble, GLdouble, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_WindowPos4dMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4dvMESA) (const GLdouble *); - -#define CALL_WindowPos4dvMESA(disp, parameters) \ - (* GET_WindowPos4dvMESA(disp)) parameters -static inline _glptr_WindowPos4dvMESA -GET_WindowPos4dvMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4dvMESA) (GET_by_offset - (disp, _gloffset_WindowPos4dvMESA)); -} - -static inline void -SET_WindowPos4dvMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_WindowPos4dvMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4fMESA) (GLfloat, GLfloat, GLfloat, - GLfloat); -#define CALL_WindowPos4fMESA(disp, parameters) \ - (* GET_WindowPos4fMESA(disp)) parameters -static inline _glptr_WindowPos4fMESA -GET_WindowPos4fMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4fMESA) (GET_by_offset - (disp, _gloffset_WindowPos4fMESA)); -} - -static inline void -SET_WindowPos4fMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLfloat, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_WindowPos4fMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4fvMESA) (const GLfloat *); - -#define CALL_WindowPos4fvMESA(disp, parameters) \ - (* GET_WindowPos4fvMESA(disp)) parameters -static inline _glptr_WindowPos4fvMESA -GET_WindowPos4fvMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4fvMESA) (GET_by_offset - (disp, _gloffset_WindowPos4fvMESA)); -} - -static inline void -SET_WindowPos4fvMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_WindowPos4fvMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4iMESA) (GLint, GLint, GLint, GLint); - -#define CALL_WindowPos4iMESA(disp, parameters) \ - (* GET_WindowPos4iMESA(disp)) parameters -static inline _glptr_WindowPos4iMESA -GET_WindowPos4iMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4iMESA) (GET_by_offset - (disp, _gloffset_WindowPos4iMESA)); -} - -static inline void -SET_WindowPos4iMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_WindowPos4iMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4ivMESA) (const GLint *); - -#define CALL_WindowPos4ivMESA(disp, parameters) \ - (* GET_WindowPos4ivMESA(disp)) parameters -static inline _glptr_WindowPos4ivMESA -GET_WindowPos4ivMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4ivMESA) (GET_by_offset - (disp, _gloffset_WindowPos4ivMESA)); -} - -static inline void -SET_WindowPos4ivMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLint *)) -{ - SET_by_offset(disp, _gloffset_WindowPos4ivMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4sMESA) (GLshort, GLshort, GLshort, - GLshort); -#define CALL_WindowPos4sMESA(disp, parameters) \ - (* GET_WindowPos4sMESA(disp)) parameters -static inline _glptr_WindowPos4sMESA -GET_WindowPos4sMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4sMESA) (GET_by_offset - (disp, _gloffset_WindowPos4sMESA)); -} - -static inline void -SET_WindowPos4sMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLshort, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_WindowPos4sMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_WindowPos4svMESA) (const GLshort *); - -#define CALL_WindowPos4svMESA(disp, parameters) \ - (* GET_WindowPos4svMESA(disp)) parameters -static inline _glptr_WindowPos4svMESA -GET_WindowPos4svMESA(struct _glapi_table *disp) -{ - return (_glptr_WindowPos4svMESA) (GET_by_offset - (disp, _gloffset_WindowPos4svMESA)); -} - -static inline void -SET_WindowPos4svMESA(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLshort *)) -{ - SET_by_offset(disp, _gloffset_WindowPos4svMESA, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiModeDrawArraysIBM) (const GLenum *, - const GLint *, - const GLsizei *, - GLsizei, GLint); -#define CALL_MultiModeDrawArraysIBM(disp, parameters) \ - (* GET_MultiModeDrawArraysIBM(disp)) parameters -static inline _glptr_MultiModeDrawArraysIBM -GET_MultiModeDrawArraysIBM(struct _glapi_table *disp) -{ - return (_glptr_MultiModeDrawArraysIBM) (GET_by_offset - (disp, - _gloffset_MultiModeDrawArraysIBM)); -} - -static inline void -SET_MultiModeDrawArraysIBM(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLenum *, const GLint *, - const GLsizei *, GLsizei, - GLint)) -{ - SET_by_offset(disp, _gloffset_MultiModeDrawArraysIBM, fn); -} - -typedef void (GLAPIENTRYP _glptr_MultiModeDrawElementsIBM) (const GLenum *, - const GLsizei *, - GLenum, - const GLvoid * - const *, GLsizei, - GLint); -#define CALL_MultiModeDrawElementsIBM(disp, parameters) \ - (* GET_MultiModeDrawElementsIBM(disp)) parameters -static inline _glptr_MultiModeDrawElementsIBM -GET_MultiModeDrawElementsIBM(struct _glapi_table *disp) -{ - return (_glptr_MultiModeDrawElementsIBM) (GET_by_offset - (disp, - _gloffset_MultiModeDrawElementsIBM)); -} - -static inline void -SET_MultiModeDrawElementsIBM(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (const GLenum *, - const GLsizei *, GLenum, - const GLvoid * const *, - GLsizei, GLint)) -{ - SET_by_offset(disp, _gloffset_MultiModeDrawElementsIBM, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteFencesNV) (GLsizei, const GLuint *); - -#define CALL_DeleteFencesNV(disp, parameters) \ - (* GET_DeleteFencesNV(disp)) parameters -static inline _glptr_DeleteFencesNV -GET_DeleteFencesNV(struct _glapi_table *disp) -{ - return (_glptr_DeleteFencesNV) (GET_by_offset - (disp, _gloffset_DeleteFencesNV)); -} - -static inline void -SET_DeleteFencesNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteFencesNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_FinishFenceNV) (GLuint); - -#define CALL_FinishFenceNV(disp, parameters) \ - (* GET_FinishFenceNV(disp)) parameters -static inline _glptr_FinishFenceNV -GET_FinishFenceNV(struct _glapi_table *disp) -{ - return (_glptr_FinishFenceNV) (GET_by_offset - (disp, _gloffset_FinishFenceNV)); -} - -static inline void -SET_FinishFenceNV(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_FinishFenceNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenFencesNV) (GLsizei, GLuint *); - -#define CALL_GenFencesNV(disp, parameters) \ - (* GET_GenFencesNV(disp)) parameters -static inline _glptr_GenFencesNV -GET_GenFencesNV(struct _glapi_table *disp) -{ - return (_glptr_GenFencesNV) (GET_by_offset(disp, _gloffset_GenFencesNV)); -} - -static inline void -SET_GenFencesNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenFencesNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetFenceivNV) (GLuint, GLenum, GLint *); - -#define CALL_GetFenceivNV(disp, parameters) \ - (* GET_GetFenceivNV(disp)) parameters -static inline _glptr_GetFenceivNV -GET_GetFenceivNV(struct _glapi_table *disp) -{ - return (_glptr_GetFenceivNV) (GET_by_offset(disp, _gloffset_GetFenceivNV)); -} - -static inline void -SET_GetFenceivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetFenceivNV, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsFenceNV) (GLuint); - -#define CALL_IsFenceNV(disp, parameters) \ - (* GET_IsFenceNV(disp)) parameters -static inline _glptr_IsFenceNV -GET_IsFenceNV(struct _glapi_table *disp) -{ - return (_glptr_IsFenceNV) (GET_by_offset(disp, _gloffset_IsFenceNV)); -} - -static inline void -SET_IsFenceNV(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsFenceNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_SetFenceNV) (GLuint, GLenum); - -#define CALL_SetFenceNV(disp, parameters) \ - (* GET_SetFenceNV(disp)) parameters -static inline _glptr_SetFenceNV -GET_SetFenceNV(struct _glapi_table *disp) -{ - return (_glptr_SetFenceNV) (GET_by_offset(disp, _gloffset_SetFenceNV)); -} - -static inline void -SET_SetFenceNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_SetFenceNV, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_TestFenceNV) (GLuint); - -#define CALL_TestFenceNV(disp, parameters) \ - (* GET_TestFenceNV(disp)) parameters -static inline _glptr_TestFenceNV -GET_TestFenceNV(struct _glapi_table *disp) -{ - return (_glptr_TestFenceNV) (GET_by_offset(disp, _gloffset_TestFenceNV)); -} - -static inline void -SET_TestFenceNV(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_TestFenceNV, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_AreProgramsResidentNV) (GLsizei, - const GLuint *, - GLboolean *); -#define CALL_AreProgramsResidentNV(disp, parameters) \ - (* GET_AreProgramsResidentNV(disp)) parameters -static inline _glptr_AreProgramsResidentNV -GET_AreProgramsResidentNV(struct _glapi_table *disp) -{ - return (_glptr_AreProgramsResidentNV) (GET_by_offset - (disp, - _gloffset_AreProgramsResidentNV)); -} - -static inline void -SET_AreProgramsResidentNV(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLsizei, const GLuint *, - GLboolean *)) -{ - SET_by_offset(disp, _gloffset_AreProgramsResidentNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindProgramNV) (GLenum, GLuint); - -#define CALL_BindProgramNV(disp, parameters) \ - (* GET_BindProgramNV(disp)) parameters -static inline _glptr_BindProgramNV -GET_BindProgramNV(struct _glapi_table *disp) -{ - return (_glptr_BindProgramNV) (GET_by_offset - (disp, _gloffset_BindProgramNV)); -} - -static inline void -SET_BindProgramNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindProgramNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteProgramsNV) (GLsizei, const GLuint *); - -#define CALL_DeleteProgramsNV(disp, parameters) \ - (* GET_DeleteProgramsNV(disp)) parameters -static inline _glptr_DeleteProgramsNV -GET_DeleteProgramsNV(struct _glapi_table *disp) -{ - return (_glptr_DeleteProgramsNV) (GET_by_offset - (disp, _gloffset_DeleteProgramsNV)); -} - -static inline void -SET_DeleteProgramsNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteProgramsNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ExecuteProgramNV) (GLenum, GLuint, - const GLfloat *); -#define CALL_ExecuteProgramNV(disp, parameters) \ - (* GET_ExecuteProgramNV(disp)) parameters -static inline _glptr_ExecuteProgramNV -GET_ExecuteProgramNV(struct _glapi_table *disp) -{ - return (_glptr_ExecuteProgramNV) (GET_by_offset - (disp, _gloffset_ExecuteProgramNV)); -} - -static inline void -SET_ExecuteProgramNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ExecuteProgramNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenProgramsNV) (GLsizei, GLuint *); - -#define CALL_GenProgramsNV(disp, parameters) \ - (* GET_GenProgramsNV(disp)) parameters -static inline _glptr_GenProgramsNV -GET_GenProgramsNV(struct _glapi_table *disp) -{ - return (_glptr_GenProgramsNV) (GET_by_offset - (disp, _gloffset_GenProgramsNV)); -} - -static inline void -SET_GenProgramsNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenProgramsNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramParameterdvNV) (GLenum, GLuint, - GLenum, GLdouble *); -#define CALL_GetProgramParameterdvNV(disp, parameters) \ - (* GET_GetProgramParameterdvNV(disp)) parameters -static inline _glptr_GetProgramParameterdvNV -GET_GetProgramParameterdvNV(struct _glapi_table *disp) -{ - return (_glptr_GetProgramParameterdvNV) (GET_by_offset - (disp, - _gloffset_GetProgramParameterdvNV)); -} - -static inline void -SET_GetProgramParameterdvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLenum, - GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetProgramParameterdvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramParameterfvNV) (GLenum, GLuint, - GLenum, GLfloat *); -#define CALL_GetProgramParameterfvNV(disp, parameters) \ - (* GET_GetProgramParameterfvNV(disp)) parameters -static inline _glptr_GetProgramParameterfvNV -GET_GetProgramParameterfvNV(struct _glapi_table *disp) -{ - return (_glptr_GetProgramParameterfvNV) (GET_by_offset - (disp, - _gloffset_GetProgramParameterfvNV)); -} - -static inline void -SET_GetProgramParameterfvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLenum, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetProgramParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramStringNV) (GLuint, GLenum, - GLubyte *); -#define CALL_GetProgramStringNV(disp, parameters) \ - (* GET_GetProgramStringNV(disp)) parameters -static inline _glptr_GetProgramStringNV -GET_GetProgramStringNV(struct _glapi_table *disp) -{ - return (_glptr_GetProgramStringNV) (GET_by_offset - (disp, _gloffset_GetProgramStringNV)); -} - -static inline void -SET_GetProgramStringNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLubyte *)) -{ - SET_by_offset(disp, _gloffset_GetProgramStringNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramivNV) (GLuint, GLenum, GLint *); - -#define CALL_GetProgramivNV(disp, parameters) \ - (* GET_GetProgramivNV(disp)) parameters -static inline _glptr_GetProgramivNV -GET_GetProgramivNV(struct _glapi_table *disp) -{ - return (_glptr_GetProgramivNV) (GET_by_offset - (disp, _gloffset_GetProgramivNV)); -} - -static inline void -SET_GetProgramivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetProgramivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTrackMatrixivNV) (GLenum, GLuint, GLenum, - GLint *); -#define CALL_GetTrackMatrixivNV(disp, parameters) \ - (* GET_GetTrackMatrixivNV(disp)) parameters -static inline _glptr_GetTrackMatrixivNV -GET_GetTrackMatrixivNV(struct _glapi_table *disp) -{ - return (_glptr_GetTrackMatrixivNV) (GET_by_offset - (disp, _gloffset_GetTrackMatrixivNV)); -} - -static inline void -SET_GetTrackMatrixivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetTrackMatrixivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribPointervNV) (GLuint, GLenum, - GLvoid **); -#define CALL_GetVertexAttribPointervNV(disp, parameters) \ - (* GET_GetVertexAttribPointervNV(disp)) parameters -static inline _glptr_GetVertexAttribPointervNV -GET_GetVertexAttribPointervNV(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribPointervNV) (GET_by_offset - (disp, - _gloffset_GetVertexAttribPointervNV)); -} - -static inline void -SET_GetVertexAttribPointervNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLvoid **)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribPointervNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribdvNV) (GLuint, GLenum, - GLdouble *); -#define CALL_GetVertexAttribdvNV(disp, parameters) \ - (* GET_GetVertexAttribdvNV(disp)) parameters -static inline _glptr_GetVertexAttribdvNV -GET_GetVertexAttribdvNV(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribdvNV) (GET_by_offset - (disp, _gloffset_GetVertexAttribdvNV)); -} - -static inline void -SET_GetVertexAttribdvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribdvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribfvNV) (GLuint, GLenum, - GLfloat *); -#define CALL_GetVertexAttribfvNV(disp, parameters) \ - (* GET_GetVertexAttribfvNV(disp)) parameters -static inline _glptr_GetVertexAttribfvNV -GET_GetVertexAttribfvNV(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribfvNV) (GET_by_offset - (disp, _gloffset_GetVertexAttribfvNV)); -} - -static inline void -SET_GetVertexAttribfvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribivNV) (GLuint, GLenum, GLint *); - -#define CALL_GetVertexAttribivNV(disp, parameters) \ - (* GET_GetVertexAttribivNV(disp)) parameters -static inline _glptr_GetVertexAttribivNV -GET_GetVertexAttribivNV(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribivNV) (GET_by_offset - (disp, _gloffset_GetVertexAttribivNV)); -} - -static inline void -SET_GetVertexAttribivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribivNV, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsProgramNV) (GLuint); - -#define CALL_IsProgramNV(disp, parameters) \ - (* GET_IsProgramNV(disp)) parameters -static inline _glptr_IsProgramNV -GET_IsProgramNV(struct _glapi_table *disp) -{ - return (_glptr_IsProgramNV) (GET_by_offset(disp, _gloffset_IsProgramNV)); -} - -static inline void -SET_IsProgramNV(struct _glapi_table *disp, GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsProgramNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_LoadProgramNV) (GLenum, GLuint, GLsizei, - const GLubyte *); -#define CALL_LoadProgramNV(disp, parameters) \ - (* GET_LoadProgramNV(disp)) parameters -static inline _glptr_LoadProgramNV -GET_LoadProgramNV(struct _glapi_table *disp) -{ - return (_glptr_LoadProgramNV) (GET_by_offset - (disp, _gloffset_LoadProgramNV)); -} - -static inline void -SET_LoadProgramNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLsizei, - const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_LoadProgramNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramParameters4dvNV) (GLenum, GLuint, - GLsizei, - const GLdouble *); -#define CALL_ProgramParameters4dvNV(disp, parameters) \ - (* GET_ProgramParameters4dvNV(disp)) parameters -static inline _glptr_ProgramParameters4dvNV -GET_ProgramParameters4dvNV(struct _glapi_table *disp) -{ - return (_glptr_ProgramParameters4dvNV) (GET_by_offset - (disp, - _gloffset_ProgramParameters4dvNV)); -} - -static inline void -SET_ProgramParameters4dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLsizei, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_ProgramParameters4dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramParameters4fvNV) (GLenum, GLuint, - GLsizei, - const GLfloat *); -#define CALL_ProgramParameters4fvNV(disp, parameters) \ - (* GET_ProgramParameters4fvNV(disp)) parameters -static inline _glptr_ProgramParameters4fvNV -GET_ProgramParameters4fvNV(struct _glapi_table *disp) -{ - return (_glptr_ProgramParameters4fvNV) (GET_by_offset - (disp, - _gloffset_ProgramParameters4fvNV)); -} - -static inline void -SET_ProgramParameters4fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLsizei, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ProgramParameters4fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_RequestResidentProgramsNV) (GLsizei, - const GLuint *); -#define CALL_RequestResidentProgramsNV(disp, parameters) \ - (* GET_RequestResidentProgramsNV(disp)) parameters -static inline _glptr_RequestResidentProgramsNV -GET_RequestResidentProgramsNV(struct _glapi_table *disp) -{ - return (_glptr_RequestResidentProgramsNV) (GET_by_offset - (disp, - _gloffset_RequestResidentProgramsNV)); -} - -static inline void -SET_RequestResidentProgramsNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_RequestResidentProgramsNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_TrackMatrixNV) (GLenum, GLuint, GLenum, - GLenum); -#define CALL_TrackMatrixNV(disp, parameters) \ - (* GET_TrackMatrixNV(disp)) parameters -static inline _glptr_TrackMatrixNV -GET_TrackMatrixNV(struct _glapi_table *disp) -{ - return (_glptr_TrackMatrixNV) (GET_by_offset - (disp, _gloffset_TrackMatrixNV)); -} - -static inline void -SET_TrackMatrixNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_TrackMatrixNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1dNV) (GLuint, GLdouble); - -#define CALL_VertexAttrib1dNV(disp, parameters) \ - (* GET_VertexAttrib1dNV(disp)) parameters -static inline _glptr_VertexAttrib1dNV -GET_VertexAttrib1dNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1dNV) (GET_by_offset - (disp, _gloffset_VertexAttrib1dNV)); -} - -static inline void -SET_VertexAttrib1dNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1dNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1dvNV) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib1dvNV(disp, parameters) \ - (* GET_VertexAttrib1dvNV(disp)) parameters -static inline _glptr_VertexAttrib1dvNV -GET_VertexAttrib1dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1dvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib1dvNV)); -} - -static inline void -SET_VertexAttrib1dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1fNV) (GLuint, GLfloat); - -#define CALL_VertexAttrib1fNV(disp, parameters) \ - (* GET_VertexAttrib1fNV(disp)) parameters -static inline _glptr_VertexAttrib1fNV -GET_VertexAttrib1fNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1fNV) (GET_by_offset - (disp, _gloffset_VertexAttrib1fNV)); -} - -static inline void -SET_VertexAttrib1fNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1fNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1fvNV) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib1fvNV(disp, parameters) \ - (* GET_VertexAttrib1fvNV(disp)) parameters -static inline _glptr_VertexAttrib1fvNV -GET_VertexAttrib1fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1fvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib1fvNV)); -} - -static inline void -SET_VertexAttrib1fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1sNV) (GLuint, GLshort); - -#define CALL_VertexAttrib1sNV(disp, parameters) \ - (* GET_VertexAttrib1sNV(disp)) parameters -static inline _glptr_VertexAttrib1sNV -GET_VertexAttrib1sNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1sNV) (GET_by_offset - (disp, _gloffset_VertexAttrib1sNV)); -} - -static inline void -SET_VertexAttrib1sNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1sNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib1svNV) (GLuint, const GLshort *); - -#define CALL_VertexAttrib1svNV(disp, parameters) \ - (* GET_VertexAttrib1svNV(disp)) parameters -static inline _glptr_VertexAttrib1svNV -GET_VertexAttrib1svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib1svNV) (GET_by_offset - (disp, _gloffset_VertexAttrib1svNV)); -} - -static inline void -SET_VertexAttrib1svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib1svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2dNV) (GLuint, GLdouble, GLdouble); - -#define CALL_VertexAttrib2dNV(disp, parameters) \ - (* GET_VertexAttrib2dNV(disp)) parameters -static inline _glptr_VertexAttrib2dNV -GET_VertexAttrib2dNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2dNV) (GET_by_offset - (disp, _gloffset_VertexAttrib2dNV)); -} - -static inline void -SET_VertexAttrib2dNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2dNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2dvNV) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib2dvNV(disp, parameters) \ - (* GET_VertexAttrib2dvNV(disp)) parameters -static inline _glptr_VertexAttrib2dvNV -GET_VertexAttrib2dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2dvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib2dvNV)); -} - -static inline void -SET_VertexAttrib2dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2fNV) (GLuint, GLfloat, GLfloat); - -#define CALL_VertexAttrib2fNV(disp, parameters) \ - (* GET_VertexAttrib2fNV(disp)) parameters -static inline _glptr_VertexAttrib2fNV -GET_VertexAttrib2fNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2fNV) (GET_by_offset - (disp, _gloffset_VertexAttrib2fNV)); -} - -static inline void -SET_VertexAttrib2fNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2fNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2fvNV) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib2fvNV(disp, parameters) \ - (* GET_VertexAttrib2fvNV(disp)) parameters -static inline _glptr_VertexAttrib2fvNV -GET_VertexAttrib2fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2fvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib2fvNV)); -} - -static inline void -SET_VertexAttrib2fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2sNV) (GLuint, GLshort, GLshort); - -#define CALL_VertexAttrib2sNV(disp, parameters) \ - (* GET_VertexAttrib2sNV(disp)) parameters -static inline _glptr_VertexAttrib2sNV -GET_VertexAttrib2sNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2sNV) (GET_by_offset - (disp, _gloffset_VertexAttrib2sNV)); -} - -static inline void -SET_VertexAttrib2sNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2sNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib2svNV) (GLuint, const GLshort *); - -#define CALL_VertexAttrib2svNV(disp, parameters) \ - (* GET_VertexAttrib2svNV(disp)) parameters -static inline _glptr_VertexAttrib2svNV -GET_VertexAttrib2svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib2svNV) (GET_by_offset - (disp, _gloffset_VertexAttrib2svNV)); -} - -static inline void -SET_VertexAttrib2svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib2svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3dNV) (GLuint, GLdouble, GLdouble, - GLdouble); -#define CALL_VertexAttrib3dNV(disp, parameters) \ - (* GET_VertexAttrib3dNV(disp)) parameters -static inline _glptr_VertexAttrib3dNV -GET_VertexAttrib3dNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3dNV) (GET_by_offset - (disp, _gloffset_VertexAttrib3dNV)); -} - -static inline void -SET_VertexAttrib3dNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3dNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3dvNV) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib3dvNV(disp, parameters) \ - (* GET_VertexAttrib3dvNV(disp)) parameters -static inline _glptr_VertexAttrib3dvNV -GET_VertexAttrib3dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3dvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib3dvNV)); -} - -static inline void -SET_VertexAttrib3dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3fNV) (GLuint, GLfloat, GLfloat, - GLfloat); -#define CALL_VertexAttrib3fNV(disp, parameters) \ - (* GET_VertexAttrib3fNV(disp)) parameters -static inline _glptr_VertexAttrib3fNV -GET_VertexAttrib3fNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3fNV) (GET_by_offset - (disp, _gloffset_VertexAttrib3fNV)); -} - -static inline void -SET_VertexAttrib3fNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3fNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3fvNV) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib3fvNV(disp, parameters) \ - (* GET_VertexAttrib3fvNV(disp)) parameters -static inline _glptr_VertexAttrib3fvNV -GET_VertexAttrib3fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3fvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib3fvNV)); -} - -static inline void -SET_VertexAttrib3fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3sNV) (GLuint, GLshort, GLshort, - GLshort); -#define CALL_VertexAttrib3sNV(disp, parameters) \ - (* GET_VertexAttrib3sNV(disp)) parameters -static inline _glptr_VertexAttrib3sNV -GET_VertexAttrib3sNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3sNV) (GET_by_offset - (disp, _gloffset_VertexAttrib3sNV)); -} - -static inline void -SET_VertexAttrib3sNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort, GLshort, GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3sNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib3svNV) (GLuint, const GLshort *); - -#define CALL_VertexAttrib3svNV(disp, parameters) \ - (* GET_VertexAttrib3svNV(disp)) parameters -static inline _glptr_VertexAttrib3svNV -GET_VertexAttrib3svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib3svNV) (GET_by_offset - (disp, _gloffset_VertexAttrib3svNV)); -} - -static inline void -SET_VertexAttrib3svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib3svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4dNV) (GLuint, GLdouble, GLdouble, - GLdouble, GLdouble); -#define CALL_VertexAttrib4dNV(disp, parameters) \ - (* GET_VertexAttrib4dNV(disp)) parameters -static inline _glptr_VertexAttrib4dNV -GET_VertexAttrib4dNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4dNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4dNV)); -} - -static inline void -SET_VertexAttrib4dNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLdouble, GLdouble, - GLdouble, GLdouble)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4dNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4dvNV) (GLuint, const GLdouble *); - -#define CALL_VertexAttrib4dvNV(disp, parameters) \ - (* GET_VertexAttrib4dvNV(disp)) parameters -static inline _glptr_VertexAttrib4dvNV -GET_VertexAttrib4dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4dvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4dvNV)); -} - -static inline void -SET_VertexAttrib4dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4fNV) (GLuint, GLfloat, GLfloat, - GLfloat, GLfloat); -#define CALL_VertexAttrib4fNV(disp, parameters) \ - (* GET_VertexAttrib4fNV(disp)) parameters -static inline _glptr_VertexAttrib4fNV -GET_VertexAttrib4fNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4fNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4fNV)); -} - -static inline void -SET_VertexAttrib4fNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLfloat, GLfloat, GLfloat, - GLfloat)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4fNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4fvNV) (GLuint, const GLfloat *); - -#define CALL_VertexAttrib4fvNV(disp, parameters) \ - (* GET_VertexAttrib4fvNV(disp)) parameters -static inline _glptr_VertexAttrib4fvNV -GET_VertexAttrib4fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4fvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4fvNV)); -} - -static inline void -SET_VertexAttrib4fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4sNV) (GLuint, GLshort, GLshort, - GLshort, GLshort); -#define CALL_VertexAttrib4sNV(disp, parameters) \ - (* GET_VertexAttrib4sNV(disp)) parameters -static inline _glptr_VertexAttrib4sNV -GET_VertexAttrib4sNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4sNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4sNV)); -} - -static inline void -SET_VertexAttrib4sNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLshort, GLshort, GLshort, - GLshort)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4sNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4svNV) (GLuint, const GLshort *); - -#define CALL_VertexAttrib4svNV(disp, parameters) \ - (* GET_VertexAttrib4svNV(disp)) parameters -static inline _glptr_VertexAttrib4svNV -GET_VertexAttrib4svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4svNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4svNV)); -} - -static inline void -SET_VertexAttrib4svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4ubNV) (GLuint, GLubyte, GLubyte, - GLubyte, GLubyte); -#define CALL_VertexAttrib4ubNV(disp, parameters) \ - (* GET_VertexAttrib4ubNV(disp)) parameters -static inline _glptr_VertexAttrib4ubNV -GET_VertexAttrib4ubNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4ubNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4ubNV)); -} - -static inline void -SET_VertexAttrib4ubNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLubyte, GLubyte, GLubyte, - GLubyte)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4ubNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttrib4ubvNV) (GLuint, const GLubyte *); - -#define CALL_VertexAttrib4ubvNV(disp, parameters) \ - (* GET_VertexAttrib4ubvNV(disp)) parameters -static inline _glptr_VertexAttrib4ubvNV -GET_VertexAttrib4ubvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttrib4ubvNV) (GET_by_offset - (disp, _gloffset_VertexAttrib4ubvNV)); -} - -static inline void -SET_VertexAttrib4ubvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttrib4ubvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribPointerNV) (GLuint, GLint, GLenum, - GLsizei, - const GLvoid *); -#define CALL_VertexAttribPointerNV(disp, parameters) \ - (* GET_VertexAttribPointerNV(disp)) parameters -static inline _glptr_VertexAttribPointerNV -GET_VertexAttribPointerNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribPointerNV) (GET_by_offset - (disp, - _gloffset_VertexAttribPointerNV)); -} - -static inline void -SET_VertexAttribPointerNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint, GLenum, GLsizei, - const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribPointerNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs1dvNV) (GLuint, GLsizei, - const GLdouble *); -#define CALL_VertexAttribs1dvNV(disp, parameters) \ - (* GET_VertexAttribs1dvNV(disp)) parameters -static inline _glptr_VertexAttribs1dvNV -GET_VertexAttribs1dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs1dvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs1dvNV)); -} - -static inline void -SET_VertexAttribs1dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs1dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs1fvNV) (GLuint, GLsizei, - const GLfloat *); -#define CALL_VertexAttribs1fvNV(disp, parameters) \ - (* GET_VertexAttribs1fvNV(disp)) parameters -static inline _glptr_VertexAttribs1fvNV -GET_VertexAttribs1fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs1fvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs1fvNV)); -} - -static inline void -SET_VertexAttribs1fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs1fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs1svNV) (GLuint, GLsizei, - const GLshort *); -#define CALL_VertexAttribs1svNV(disp, parameters) \ - (* GET_VertexAttribs1svNV(disp)) parameters -static inline _glptr_VertexAttribs1svNV -GET_VertexAttribs1svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs1svNV) (GET_by_offset - (disp, _gloffset_VertexAttribs1svNV)); -} - -static inline void -SET_VertexAttribs1svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs1svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs2dvNV) (GLuint, GLsizei, - const GLdouble *); -#define CALL_VertexAttribs2dvNV(disp, parameters) \ - (* GET_VertexAttribs2dvNV(disp)) parameters -static inline _glptr_VertexAttribs2dvNV -GET_VertexAttribs2dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs2dvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs2dvNV)); -} - -static inline void -SET_VertexAttribs2dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs2dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs2fvNV) (GLuint, GLsizei, - const GLfloat *); -#define CALL_VertexAttribs2fvNV(disp, parameters) \ - (* GET_VertexAttribs2fvNV(disp)) parameters -static inline _glptr_VertexAttribs2fvNV -GET_VertexAttribs2fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs2fvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs2fvNV)); -} - -static inline void -SET_VertexAttribs2fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs2fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs2svNV) (GLuint, GLsizei, - const GLshort *); -#define CALL_VertexAttribs2svNV(disp, parameters) \ - (* GET_VertexAttribs2svNV(disp)) parameters -static inline _glptr_VertexAttribs2svNV -GET_VertexAttribs2svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs2svNV) (GET_by_offset - (disp, _gloffset_VertexAttribs2svNV)); -} - -static inline void -SET_VertexAttribs2svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs2svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs3dvNV) (GLuint, GLsizei, - const GLdouble *); -#define CALL_VertexAttribs3dvNV(disp, parameters) \ - (* GET_VertexAttribs3dvNV(disp)) parameters -static inline _glptr_VertexAttribs3dvNV -GET_VertexAttribs3dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs3dvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs3dvNV)); -} - -static inline void -SET_VertexAttribs3dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs3dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs3fvNV) (GLuint, GLsizei, - const GLfloat *); -#define CALL_VertexAttribs3fvNV(disp, parameters) \ - (* GET_VertexAttribs3fvNV(disp)) parameters -static inline _glptr_VertexAttribs3fvNV -GET_VertexAttribs3fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs3fvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs3fvNV)); -} - -static inline void -SET_VertexAttribs3fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs3fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs3svNV) (GLuint, GLsizei, - const GLshort *); -#define CALL_VertexAttribs3svNV(disp, parameters) \ - (* GET_VertexAttribs3svNV(disp)) parameters -static inline _glptr_VertexAttribs3svNV -GET_VertexAttribs3svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs3svNV) (GET_by_offset - (disp, _gloffset_VertexAttribs3svNV)); -} - -static inline void -SET_VertexAttribs3svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs3svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4dvNV) (GLuint, GLsizei, - const GLdouble *); -#define CALL_VertexAttribs4dvNV(disp, parameters) \ - (* GET_VertexAttribs4dvNV(disp)) parameters -static inline _glptr_VertexAttribs4dvNV -GET_VertexAttribs4dvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs4dvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs4dvNV)); -} - -static inline void -SET_VertexAttribs4dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs4dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4fvNV) (GLuint, GLsizei, - const GLfloat *); -#define CALL_VertexAttribs4fvNV(disp, parameters) \ - (* GET_VertexAttribs4fvNV(disp)) parameters -static inline _glptr_VertexAttribs4fvNV -GET_VertexAttribs4fvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs4fvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs4fvNV)); -} - -static inline void -SET_VertexAttribs4fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs4fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4svNV) (GLuint, GLsizei, - const GLshort *); -#define CALL_VertexAttribs4svNV(disp, parameters) \ - (* GET_VertexAttribs4svNV(disp)) parameters -static inline _glptr_VertexAttribs4svNV -GET_VertexAttribs4svNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs4svNV) (GET_by_offset - (disp, _gloffset_VertexAttribs4svNV)); -} - -static inline void -SET_VertexAttribs4svNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs4svNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribs4ubvNV) (GLuint, GLsizei, - const GLubyte *); -#define CALL_VertexAttribs4ubvNV(disp, parameters) \ - (* GET_VertexAttribs4ubvNV(disp)) parameters -static inline _glptr_VertexAttribs4ubvNV -GET_VertexAttribs4ubvNV(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribs4ubvNV) (GET_by_offset - (disp, _gloffset_VertexAttribs4ubvNV)); -} - -static inline void -SET_VertexAttribs4ubvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribs4ubvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexBumpParameterfvATI) (GLenum, GLfloat *); - -#define CALL_GetTexBumpParameterfvATI(disp, parameters) \ - (* GET_GetTexBumpParameterfvATI(disp)) parameters -static inline _glptr_GetTexBumpParameterfvATI -GET_GetTexBumpParameterfvATI(struct _glapi_table *disp) -{ - return (_glptr_GetTexBumpParameterfvATI) (GET_by_offset - (disp, - _gloffset_GetTexBumpParameterfvATI)); -} - -static inline void -SET_GetTexBumpParameterfvATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetTexBumpParameterfvATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexBumpParameterivATI) (GLenum, GLint *); - -#define CALL_GetTexBumpParameterivATI(disp, parameters) \ - (* GET_GetTexBumpParameterivATI(disp)) parameters -static inline _glptr_GetTexBumpParameterivATI -GET_GetTexBumpParameterivATI(struct _glapi_table *disp) -{ - return (_glptr_GetTexBumpParameterivATI) (GET_by_offset - (disp, - _gloffset_GetTexBumpParameterivATI)); -} - -static inline void -SET_GetTexBumpParameterivATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetTexBumpParameterivATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexBumpParameterfvATI) (GLenum, - const GLfloat *); -#define CALL_TexBumpParameterfvATI(disp, parameters) \ - (* GET_TexBumpParameterfvATI(disp)) parameters -static inline _glptr_TexBumpParameterfvATI -GET_TexBumpParameterfvATI(struct _glapi_table *disp) -{ - return (_glptr_TexBumpParameterfvATI) (GET_by_offset - (disp, - _gloffset_TexBumpParameterfvATI)); -} - -static inline void -SET_TexBumpParameterfvATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_TexBumpParameterfvATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexBumpParameterivATI) (GLenum, const GLint *); - -#define CALL_TexBumpParameterivATI(disp, parameters) \ - (* GET_TexBumpParameterivATI(disp)) parameters -static inline _glptr_TexBumpParameterivATI -GET_TexBumpParameterivATI(struct _glapi_table *disp) -{ - return (_glptr_TexBumpParameterivATI) (GET_by_offset - (disp, - _gloffset_TexBumpParameterivATI)); -} - -static inline void -SET_TexBumpParameterivATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexBumpParameterivATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_AlphaFragmentOp1ATI) (GLenum, GLuint, GLuint, - GLuint, GLuint, GLuint); -#define CALL_AlphaFragmentOp1ATI(disp, parameters) \ - (* GET_AlphaFragmentOp1ATI(disp)) parameters -static inline _glptr_AlphaFragmentOp1ATI -GET_AlphaFragmentOp1ATI(struct _glapi_table *disp) -{ - return (_glptr_AlphaFragmentOp1ATI) (GET_by_offset - (disp, _gloffset_AlphaFragmentOp1ATI)); -} - -static inline void -SET_AlphaFragmentOp1ATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLuint, - GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_AlphaFragmentOp1ATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_AlphaFragmentOp2ATI) (GLenum, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint); -#define CALL_AlphaFragmentOp2ATI(disp, parameters) \ - (* GET_AlphaFragmentOp2ATI(disp)) parameters -static inline _glptr_AlphaFragmentOp2ATI -GET_AlphaFragmentOp2ATI(struct _glapi_table *disp) -{ - return (_glptr_AlphaFragmentOp2ATI) (GET_by_offset - (disp, _gloffset_AlphaFragmentOp2ATI)); -} - -static inline void -SET_AlphaFragmentOp2ATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, GLuint, - GLuint)) -{ - SET_by_offset(disp, _gloffset_AlphaFragmentOp2ATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_AlphaFragmentOp3ATI) (GLenum, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint); -#define CALL_AlphaFragmentOp3ATI(disp, parameters) \ - (* GET_AlphaFragmentOp3ATI(disp)) parameters -static inline _glptr_AlphaFragmentOp3ATI -GET_AlphaFragmentOp3ATI(struct _glapi_table *disp) -{ - return (_glptr_AlphaFragmentOp3ATI) (GET_by_offset - (disp, _gloffset_AlphaFragmentOp3ATI)); -} - -static inline void -SET_AlphaFragmentOp3ATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_AlphaFragmentOp3ATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_BeginFragmentShaderATI) (void); - -#define CALL_BeginFragmentShaderATI(disp, parameters) \ - (* GET_BeginFragmentShaderATI(disp)) parameters -static inline _glptr_BeginFragmentShaderATI -GET_BeginFragmentShaderATI(struct _glapi_table *disp) -{ - return (_glptr_BeginFragmentShaderATI) (GET_by_offset - (disp, - _gloffset_BeginFragmentShaderATI)); -} - -static inline void -SET_BeginFragmentShaderATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_BeginFragmentShaderATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindFragmentShaderATI) (GLuint); - -#define CALL_BindFragmentShaderATI(disp, parameters) \ - (* GET_BindFragmentShaderATI(disp)) parameters -static inline _glptr_BindFragmentShaderATI -GET_BindFragmentShaderATI(struct _glapi_table *disp) -{ - return (_glptr_BindFragmentShaderATI) (GET_by_offset - (disp, - _gloffset_BindFragmentShaderATI)); -} - -static inline void -SET_BindFragmentShaderATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_BindFragmentShaderATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorFragmentOp1ATI) (GLenum, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint); -#define CALL_ColorFragmentOp1ATI(disp, parameters) \ - (* GET_ColorFragmentOp1ATI(disp)) parameters -static inline _glptr_ColorFragmentOp1ATI -GET_ColorFragmentOp1ATI(struct _glapi_table *disp) -{ - return (_glptr_ColorFragmentOp1ATI) (GET_by_offset - (disp, _gloffset_ColorFragmentOp1ATI)); -} - -static inline void -SET_ColorFragmentOp1ATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_ColorFragmentOp1ATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorFragmentOp2ATI) (GLenum, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint); -#define CALL_ColorFragmentOp2ATI(disp, parameters) \ - (* GET_ColorFragmentOp2ATI(disp)) parameters -static inline _glptr_ColorFragmentOp2ATI -GET_ColorFragmentOp2ATI(struct _glapi_table *disp) -{ - return (_glptr_ColorFragmentOp2ATI) (GET_by_offset - (disp, _gloffset_ColorFragmentOp2ATI)); -} - -static inline void -SET_ColorFragmentOp2ATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, GLuint, - GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_ColorFragmentOp2ATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorFragmentOp3ATI) (GLenum, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, - GLuint); -#define CALL_ColorFragmentOp3ATI(disp, parameters) \ - (* GET_ColorFragmentOp3ATI(disp)) parameters -static inline _glptr_ColorFragmentOp3ATI -GET_ColorFragmentOp3ATI(struct _glapi_table *disp) -{ - return (_glptr_ColorFragmentOp3ATI) (GET_by_offset - (disp, _gloffset_ColorFragmentOp3ATI)); -} - -static inline void -SET_ColorFragmentOp3ATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, GLuint, - GLuint, GLuint, GLuint, GLuint, - GLuint)) -{ - SET_by_offset(disp, _gloffset_ColorFragmentOp3ATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteFragmentShaderATI) (GLuint); - -#define CALL_DeleteFragmentShaderATI(disp, parameters) \ - (* GET_DeleteFragmentShaderATI(disp)) parameters -static inline _glptr_DeleteFragmentShaderATI -GET_DeleteFragmentShaderATI(struct _glapi_table *disp) -{ - return (_glptr_DeleteFragmentShaderATI) (GET_by_offset - (disp, - _gloffset_DeleteFragmentShaderATI)); -} - -static inline void -SET_DeleteFragmentShaderATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_DeleteFragmentShaderATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_EndFragmentShaderATI) (void); - -#define CALL_EndFragmentShaderATI(disp, parameters) \ - (* GET_EndFragmentShaderATI(disp)) parameters -static inline _glptr_EndFragmentShaderATI -GET_EndFragmentShaderATI(struct _glapi_table *disp) -{ - return (_glptr_EndFragmentShaderATI) (GET_by_offset - (disp, - _gloffset_EndFragmentShaderATI)); -} - -static inline void -SET_EndFragmentShaderATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_EndFragmentShaderATI, fn); -} - -typedef GLuint(GLAPIENTRYP _glptr_GenFragmentShadersATI) (GLuint); - -#define CALL_GenFragmentShadersATI(disp, parameters) \ - (* GET_GenFragmentShadersATI(disp)) parameters -static inline _glptr_GenFragmentShadersATI -GET_GenFragmentShadersATI(struct _glapi_table *disp) -{ - return (_glptr_GenFragmentShadersATI) (GET_by_offset - (disp, - _gloffset_GenFragmentShadersATI)); -} - -static inline void -SET_GenFragmentShadersATI(struct _glapi_table *disp, - GLuint(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_GenFragmentShadersATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_PassTexCoordATI) (GLuint, GLuint, GLenum); - -#define CALL_PassTexCoordATI(disp, parameters) \ - (* GET_PassTexCoordATI(disp)) parameters -static inline _glptr_PassTexCoordATI -GET_PassTexCoordATI(struct _glapi_table *disp) -{ - return (_glptr_PassTexCoordATI) (GET_by_offset - (disp, _gloffset_PassTexCoordATI)); -} - -static inline void -SET_PassTexCoordATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_PassTexCoordATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_SampleMapATI) (GLuint, GLuint, GLenum); - -#define CALL_SampleMapATI(disp, parameters) \ - (* GET_SampleMapATI(disp)) parameters -static inline _glptr_SampleMapATI -GET_SampleMapATI(struct _glapi_table *disp) -{ - return (_glptr_SampleMapATI) (GET_by_offset(disp, _gloffset_SampleMapATI)); -} - -static inline void -SET_SampleMapATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_SampleMapATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_SetFragmentShaderConstantATI) (GLuint, - const GLfloat - *); -#define CALL_SetFragmentShaderConstantATI(disp, parameters) \ - (* GET_SetFragmentShaderConstantATI(disp)) parameters -static inline _glptr_SetFragmentShaderConstantATI -GET_SetFragmentShaderConstantATI(struct _glapi_table *disp) -{ - return (_glptr_SetFragmentShaderConstantATI) (GET_by_offset - (disp, - _gloffset_SetFragmentShaderConstantATI)); -} - -static inline void -SET_SetFragmentShaderConstantATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_SetFragmentShaderConstantATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_PointParameteriNV) (GLenum, GLint); - -#define CALL_PointParameteriNV(disp, parameters) \ - (* GET_PointParameteriNV(disp)) parameters -static inline _glptr_PointParameteriNV -GET_PointParameteriNV(struct _glapi_table *disp) -{ - return (_glptr_PointParameteriNV) (GET_by_offset - (disp, _gloffset_PointParameteriNV)); -} - -static inline void -SET_PointParameteriNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_PointParameteriNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_PointParameterivNV) (GLenum, const GLint *); - -#define CALL_PointParameterivNV(disp, parameters) \ - (* GET_PointParameterivNV(disp)) parameters -static inline _glptr_PointParameterivNV -GET_PointParameterivNV(struct _glapi_table *disp) -{ - return (_glptr_PointParameterivNV) (GET_by_offset - (disp, _gloffset_PointParameterivNV)); -} - -static inline void -SET_PointParameterivNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_PointParameterivNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ActiveStencilFaceEXT) (GLenum); - -#define CALL_ActiveStencilFaceEXT(disp, parameters) \ - (* GET_ActiveStencilFaceEXT(disp)) parameters -static inline _glptr_ActiveStencilFaceEXT -GET_ActiveStencilFaceEXT(struct _glapi_table *disp) -{ - return (_glptr_ActiveStencilFaceEXT) (GET_by_offset - (disp, - _gloffset_ActiveStencilFaceEXT)); -} - -static inline void -SET_ActiveStencilFaceEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ActiveStencilFaceEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindVertexArrayAPPLE) (GLuint); - -#define CALL_BindVertexArrayAPPLE(disp, parameters) \ - (* GET_BindVertexArrayAPPLE(disp)) parameters -static inline _glptr_BindVertexArrayAPPLE -GET_BindVertexArrayAPPLE(struct _glapi_table *disp) -{ - return (_glptr_BindVertexArrayAPPLE) (GET_by_offset - (disp, - _gloffset_BindVertexArrayAPPLE)); -} - -static inline void -SET_BindVertexArrayAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_BindVertexArrayAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteVertexArraysAPPLE) (GLsizei, - const GLuint *); -#define CALL_DeleteVertexArraysAPPLE(disp, parameters) \ - (* GET_DeleteVertexArraysAPPLE(disp)) parameters -static inline _glptr_DeleteVertexArraysAPPLE -GET_DeleteVertexArraysAPPLE(struct _glapi_table *disp) -{ - return (_glptr_DeleteVertexArraysAPPLE) (GET_by_offset - (disp, - _gloffset_DeleteVertexArraysAPPLE)); -} - -static inline void -SET_DeleteVertexArraysAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteVertexArraysAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenVertexArraysAPPLE) (GLsizei, GLuint *); - -#define CALL_GenVertexArraysAPPLE(disp, parameters) \ - (* GET_GenVertexArraysAPPLE(disp)) parameters -static inline _glptr_GenVertexArraysAPPLE -GET_GenVertexArraysAPPLE(struct _glapi_table *disp) -{ - return (_glptr_GenVertexArraysAPPLE) (GET_by_offset - (disp, - _gloffset_GenVertexArraysAPPLE)); -} - -static inline void -SET_GenVertexArraysAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenVertexArraysAPPLE, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsVertexArrayAPPLE) (GLuint); - -#define CALL_IsVertexArrayAPPLE(disp, parameters) \ - (* GET_IsVertexArrayAPPLE(disp)) parameters -static inline _glptr_IsVertexArrayAPPLE -GET_IsVertexArrayAPPLE(struct _glapi_table *disp) -{ - return (_glptr_IsVertexArrayAPPLE) (GET_by_offset - (disp, _gloffset_IsVertexArrayAPPLE)); -} - -static inline void -SET_IsVertexArrayAPPLE(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsVertexArrayAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramNamedParameterdvNV) (GLuint, GLsizei, - const GLubyte *, - GLdouble *); -#define CALL_GetProgramNamedParameterdvNV(disp, parameters) \ - (* GET_GetProgramNamedParameterdvNV(disp)) parameters -static inline _glptr_GetProgramNamedParameterdvNV -GET_GetProgramNamedParameterdvNV(struct _glapi_table *disp) -{ - return (_glptr_GetProgramNamedParameterdvNV) (GET_by_offset - (disp, - _gloffset_GetProgramNamedParameterdvNV)); -} - -static inline void -SET_GetProgramNamedParameterdvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLubyte *, - GLdouble *)) -{ - SET_by_offset(disp, _gloffset_GetProgramNamedParameterdvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetProgramNamedParameterfvNV) (GLuint, GLsizei, - const GLubyte *, - GLfloat *); -#define CALL_GetProgramNamedParameterfvNV(disp, parameters) \ - (* GET_GetProgramNamedParameterfvNV(disp)) parameters -static inline _glptr_GetProgramNamedParameterfvNV -GET_GetProgramNamedParameterfvNV(struct _glapi_table *disp) -{ - return (_glptr_GetProgramNamedParameterfvNV) (GET_by_offset - (disp, - _gloffset_GetProgramNamedParameterfvNV)); -} - -static inline void -SET_GetProgramNamedParameterfvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLubyte *, - GLfloat *)) -{ - SET_by_offset(disp, _gloffset_GetProgramNamedParameterfvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4dNV) (GLuint, GLsizei, - const GLubyte *, - GLdouble, GLdouble, - GLdouble, - GLdouble); -#define CALL_ProgramNamedParameter4dNV(disp, parameters) \ - (* GET_ProgramNamedParameter4dNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4dNV -GET_ProgramNamedParameter4dNV(struct _glapi_table *disp) -{ - return (_glptr_ProgramNamedParameter4dNV) (GET_by_offset - (disp, - _gloffset_ProgramNamedParameter4dNV)); -} - -static inline void -SET_ProgramNamedParameter4dNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLubyte *, GLdouble, - GLdouble, GLdouble, - GLdouble)) -{ - SET_by_offset(disp, _gloffset_ProgramNamedParameter4dNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4dvNV) (GLuint, GLsizei, - const GLubyte *, - const GLdouble *); -#define CALL_ProgramNamedParameter4dvNV(disp, parameters) \ - (* GET_ProgramNamedParameter4dvNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4dvNV -GET_ProgramNamedParameter4dvNV(struct _glapi_table *disp) -{ - return (_glptr_ProgramNamedParameter4dvNV) (GET_by_offset - (disp, - _gloffset_ProgramNamedParameter4dvNV)); -} - -static inline void -SET_ProgramNamedParameter4dvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLubyte *, - const GLdouble *)) -{ - SET_by_offset(disp, _gloffset_ProgramNamedParameter4dvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4fNV) (GLuint, GLsizei, - const GLubyte *, - GLfloat, GLfloat, - GLfloat, GLfloat); -#define CALL_ProgramNamedParameter4fNV(disp, parameters) \ - (* GET_ProgramNamedParameter4fNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4fNV -GET_ProgramNamedParameter4fNV(struct _glapi_table *disp) -{ - return (_glptr_ProgramNamedParameter4fNV) (GET_by_offset - (disp, - _gloffset_ProgramNamedParameter4fNV)); -} - -static inline void -SET_ProgramNamedParameter4fNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLubyte *, GLfloat, - GLfloat, GLfloat, GLfloat)) -{ - SET_by_offset(disp, _gloffset_ProgramNamedParameter4fNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramNamedParameter4fvNV) (GLuint, GLsizei, - const GLubyte *, - const GLfloat *); -#define CALL_ProgramNamedParameter4fvNV(disp, parameters) \ - (* GET_ProgramNamedParameter4fvNV(disp)) parameters -static inline _glptr_ProgramNamedParameter4fvNV -GET_ProgramNamedParameter4fvNV(struct _glapi_table *disp) -{ - return (_glptr_ProgramNamedParameter4fvNV) (GET_by_offset - (disp, - _gloffset_ProgramNamedParameter4fvNV)); -} - -static inline void -SET_ProgramNamedParameter4fvNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const GLubyte *, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ProgramNamedParameter4fvNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_PrimitiveRestartIndexNV) (GLuint); - -#define CALL_PrimitiveRestartIndexNV(disp, parameters) \ - (* GET_PrimitiveRestartIndexNV(disp)) parameters -static inline _glptr_PrimitiveRestartIndexNV -GET_PrimitiveRestartIndexNV(struct _glapi_table *disp) -{ - return (_glptr_PrimitiveRestartIndexNV) (GET_by_offset - (disp, - _gloffset_PrimitiveRestartIndexNV)); -} - -static inline void -SET_PrimitiveRestartIndexNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_PrimitiveRestartIndexNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_PrimitiveRestartNV) (void); - -#define CALL_PrimitiveRestartNV(disp, parameters) \ - (* GET_PrimitiveRestartNV(disp)) parameters -static inline _glptr_PrimitiveRestartNV -GET_PrimitiveRestartNV(struct _glapi_table *disp) -{ - return (_glptr_PrimitiveRestartNV) (GET_by_offset - (disp, _gloffset_PrimitiveRestartNV)); -} - -static inline void -SET_PrimitiveRestartNV(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_PrimitiveRestartNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_DepthBoundsEXT) (GLclampd, GLclampd); - -#define CALL_DepthBoundsEXT(disp, parameters) \ - (* GET_DepthBoundsEXT(disp)) parameters -static inline _glptr_DepthBoundsEXT -GET_DepthBoundsEXT(struct _glapi_table *disp) -{ - return (_glptr_DepthBoundsEXT) (GET_by_offset - (disp, _gloffset_DepthBoundsEXT)); -} - -static inline void -SET_DepthBoundsEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLclampd, GLclampd)) -{ - SET_by_offset(disp, _gloffset_DepthBoundsEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlendEquationSeparateEXT) (GLenum, GLenum); - -#define CALL_BlendEquationSeparateEXT(disp, parameters) \ - (* GET_BlendEquationSeparateEXT(disp)) parameters -static inline _glptr_BlendEquationSeparateEXT -GET_BlendEquationSeparateEXT(struct _glapi_table *disp) -{ - return (_glptr_BlendEquationSeparateEXT) (GET_by_offset - (disp, - _gloffset_BlendEquationSeparateEXT)); -} - -static inline void -SET_BlendEquationSeparateEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum)) -{ - SET_by_offset(disp, _gloffset_BlendEquationSeparateEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindFramebufferEXT) (GLenum, GLuint); - -#define CALL_BindFramebufferEXT(disp, parameters) \ - (* GET_BindFramebufferEXT(disp)) parameters -static inline _glptr_BindFramebufferEXT -GET_BindFramebufferEXT(struct _glapi_table *disp) -{ - return (_glptr_BindFramebufferEXT) (GET_by_offset - (disp, _gloffset_BindFramebufferEXT)); -} - -static inline void -SET_BindFramebufferEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindFramebufferEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindRenderbufferEXT) (GLenum, GLuint); - -#define CALL_BindRenderbufferEXT(disp, parameters) \ - (* GET_BindRenderbufferEXT(disp)) parameters -static inline _glptr_BindRenderbufferEXT -GET_BindRenderbufferEXT(struct _glapi_table *disp) -{ - return (_glptr_BindRenderbufferEXT) (GET_by_offset - (disp, _gloffset_BindRenderbufferEXT)); -} - -static inline void -SET_BindRenderbufferEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindRenderbufferEXT, fn); -} - -typedef GLenum(GLAPIENTRYP _glptr_CheckFramebufferStatusEXT) (GLenum); - -#define CALL_CheckFramebufferStatusEXT(disp, parameters) \ - (* GET_CheckFramebufferStatusEXT(disp)) parameters -static inline _glptr_CheckFramebufferStatusEXT -GET_CheckFramebufferStatusEXT(struct _glapi_table *disp) -{ - return (_glptr_CheckFramebufferStatusEXT) (GET_by_offset - (disp, - _gloffset_CheckFramebufferStatusEXT)); -} - -static inline void -SET_CheckFramebufferStatusEXT(struct _glapi_table *disp, - GLenum(GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_CheckFramebufferStatusEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteFramebuffersEXT) (GLsizei, - const GLuint *); -#define CALL_DeleteFramebuffersEXT(disp, parameters) \ - (* GET_DeleteFramebuffersEXT(disp)) parameters -static inline _glptr_DeleteFramebuffersEXT -GET_DeleteFramebuffersEXT(struct _glapi_table *disp) -{ - return (_glptr_DeleteFramebuffersEXT) (GET_by_offset - (disp, - _gloffset_DeleteFramebuffersEXT)); -} - -static inline void -SET_DeleteFramebuffersEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteFramebuffersEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_DeleteRenderbuffersEXT) (GLsizei, - const GLuint *); -#define CALL_DeleteRenderbuffersEXT(disp, parameters) \ - (* GET_DeleteRenderbuffersEXT(disp)) parameters -static inline _glptr_DeleteRenderbuffersEXT -GET_DeleteRenderbuffersEXT(struct _glapi_table *disp) -{ - return (_glptr_DeleteRenderbuffersEXT) (GET_by_offset - (disp, - _gloffset_DeleteRenderbuffersEXT)); -} - -static inline void -SET_DeleteRenderbuffersEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_DeleteRenderbuffersEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferRenderbufferEXT) (GLenum, GLenum, - GLenum, GLuint); -#define CALL_FramebufferRenderbufferEXT(disp, parameters) \ - (* GET_FramebufferRenderbufferEXT(disp)) parameters -static inline _glptr_FramebufferRenderbufferEXT -GET_FramebufferRenderbufferEXT(struct _glapi_table *disp) -{ - return (_glptr_FramebufferRenderbufferEXT) (GET_by_offset - (disp, - _gloffset_FramebufferRenderbufferEXT)); -} - -static inline void -SET_FramebufferRenderbufferEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLuint)) -{ - SET_by_offset(disp, _gloffset_FramebufferRenderbufferEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferTexture1DEXT) (GLenum, GLenum, - GLenum, GLuint, - GLint); -#define CALL_FramebufferTexture1DEXT(disp, parameters) \ - (* GET_FramebufferTexture1DEXT(disp)) parameters -static inline _glptr_FramebufferTexture1DEXT -GET_FramebufferTexture1DEXT(struct _glapi_table *disp) -{ - return (_glptr_FramebufferTexture1DEXT) (GET_by_offset - (disp, - _gloffset_FramebufferTexture1DEXT)); -} - -static inline void -SET_FramebufferTexture1DEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLuint, GLint)) -{ - SET_by_offset(disp, _gloffset_FramebufferTexture1DEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferTexture2DEXT) (GLenum, GLenum, - GLenum, GLuint, - GLint); -#define CALL_FramebufferTexture2DEXT(disp, parameters) \ - (* GET_FramebufferTexture2DEXT(disp)) parameters -static inline _glptr_FramebufferTexture2DEXT -GET_FramebufferTexture2DEXT(struct _glapi_table *disp) -{ - return (_glptr_FramebufferTexture2DEXT) (GET_by_offset - (disp, - _gloffset_FramebufferTexture2DEXT)); -} - -static inline void -SET_FramebufferTexture2DEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLuint, GLint)) -{ - SET_by_offset(disp, _gloffset_FramebufferTexture2DEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferTexture3DEXT) (GLenum, GLenum, - GLenum, GLuint, - GLint, GLint); -#define CALL_FramebufferTexture3DEXT(disp, parameters) \ - (* GET_FramebufferTexture3DEXT(disp)) parameters -static inline _glptr_FramebufferTexture3DEXT -GET_FramebufferTexture3DEXT(struct _glapi_table *disp) -{ - return (_glptr_FramebufferTexture3DEXT) (GET_by_offset - (disp, - _gloffset_FramebufferTexture3DEXT)); -} - -static inline void -SET_FramebufferTexture3DEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLenum, - GLuint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_FramebufferTexture3DEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenFramebuffersEXT) (GLsizei, GLuint *); - -#define CALL_GenFramebuffersEXT(disp, parameters) \ - (* GET_GenFramebuffersEXT(disp)) parameters -static inline _glptr_GenFramebuffersEXT -GET_GenFramebuffersEXT(struct _glapi_table *disp) -{ - return (_glptr_GenFramebuffersEXT) (GET_by_offset - (disp, _gloffset_GenFramebuffersEXT)); -} - -static inline void -SET_GenFramebuffersEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenFramebuffersEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenRenderbuffersEXT) (GLsizei, GLuint *); - -#define CALL_GenRenderbuffersEXT(disp, parameters) \ - (* GET_GenRenderbuffersEXT(disp)) parameters -static inline _glptr_GenRenderbuffersEXT -GET_GenRenderbuffersEXT(struct _glapi_table *disp) -{ - return (_glptr_GenRenderbuffersEXT) (GET_by_offset - (disp, _gloffset_GenRenderbuffersEXT)); -} - -static inline void -SET_GenRenderbuffersEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLsizei, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GenRenderbuffersEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GenerateMipmapEXT) (GLenum); - -#define CALL_GenerateMipmapEXT(disp, parameters) \ - (* GET_GenerateMipmapEXT(disp)) parameters -static inline _glptr_GenerateMipmapEXT -GET_GenerateMipmapEXT(struct _glapi_table *disp) -{ - return (_glptr_GenerateMipmapEXT) (GET_by_offset - (disp, _gloffset_GenerateMipmapEXT)); -} - -static inline void -SET_GenerateMipmapEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_GenerateMipmapEXT, fn); -} - -typedef void (GLAPIENTRYP - _glptr_GetFramebufferAttachmentParameterivEXT) (GLenum, GLenum, - GLenum, GLint *); -#define CALL_GetFramebufferAttachmentParameterivEXT(disp, parameters) \ - (* GET_GetFramebufferAttachmentParameterivEXT(disp)) parameters -static inline _glptr_GetFramebufferAttachmentParameterivEXT -GET_GetFramebufferAttachmentParameterivEXT(struct _glapi_table *disp) -{ - return (_glptr_GetFramebufferAttachmentParameterivEXT) (GET_by_offset - (disp, - _gloffset_GetFramebufferAttachmentParameterivEXT)); -} - -static inline void -SET_GetFramebufferAttachmentParameterivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, - GLenum, - GLenum, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetFramebufferAttachmentParameterivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetRenderbufferParameterivEXT) (GLenum, GLenum, - GLint *); -#define CALL_GetRenderbufferParameterivEXT(disp, parameters) \ - (* GET_GetRenderbufferParameterivEXT(disp)) parameters -static inline _glptr_GetRenderbufferParameterivEXT -GET_GetRenderbufferParameterivEXT(struct _glapi_table *disp) -{ - return (_glptr_GetRenderbufferParameterivEXT) (GET_by_offset - (disp, - _gloffset_GetRenderbufferParameterivEXT)); -} - -static inline void -SET_GetRenderbufferParameterivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetRenderbufferParameterivEXT, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsFramebufferEXT) (GLuint); - -#define CALL_IsFramebufferEXT(disp, parameters) \ - (* GET_IsFramebufferEXT(disp)) parameters -static inline _glptr_IsFramebufferEXT -GET_IsFramebufferEXT(struct _glapi_table *disp) -{ - return (_glptr_IsFramebufferEXT) (GET_by_offset - (disp, _gloffset_IsFramebufferEXT)); -} - -static inline void -SET_IsFramebufferEXT(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsFramebufferEXT, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsRenderbufferEXT) (GLuint); - -#define CALL_IsRenderbufferEXT(disp, parameters) \ - (* GET_IsRenderbufferEXT(disp)) parameters -static inline _glptr_IsRenderbufferEXT -GET_IsRenderbufferEXT(struct _glapi_table *disp) -{ - return (_glptr_IsRenderbufferEXT) (GET_by_offset - (disp, _gloffset_IsRenderbufferEXT)); -} - -static inline void -SET_IsRenderbufferEXT(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_IsRenderbufferEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_RenderbufferStorageEXT) (GLenum, GLenum, - GLsizei, GLsizei); -#define CALL_RenderbufferStorageEXT(disp, parameters) \ - (* GET_RenderbufferStorageEXT(disp)) parameters -static inline _glptr_RenderbufferStorageEXT -GET_RenderbufferStorageEXT(struct _glapi_table *disp) -{ - return (_glptr_RenderbufferStorageEXT) (GET_by_offset - (disp, - _gloffset_RenderbufferStorageEXT)); -} - -static inline void -SET_RenderbufferStorageEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLsizei, - GLsizei)) -{ - SET_by_offset(disp, _gloffset_RenderbufferStorageEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BlitFramebufferEXT) (GLint, GLint, GLint, - GLint, GLint, GLint, - GLint, GLint, GLbitfield, - GLenum); -#define CALL_BlitFramebufferEXT(disp, parameters) \ - (* GET_BlitFramebufferEXT(disp)) parameters -static inline _glptr_BlitFramebufferEXT -GET_BlitFramebufferEXT(struct _glapi_table *disp) -{ - return (_glptr_BlitFramebufferEXT) (GET_by_offset - (disp, _gloffset_BlitFramebufferEXT)); -} - -static inline void -SET_BlitFramebufferEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint, GLint, - GLint, GLint, GLint, GLbitfield, - GLenum)) -{ - SET_by_offset(disp, _gloffset_BlitFramebufferEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BufferParameteriAPPLE) (GLenum, GLenum, GLint); - -#define CALL_BufferParameteriAPPLE(disp, parameters) \ - (* GET_BufferParameteriAPPLE(disp)) parameters -static inline _glptr_BufferParameteriAPPLE -GET_BufferParameteriAPPLE(struct _glapi_table *disp) -{ - return (_glptr_BufferParameteriAPPLE) (GET_by_offset - (disp, - _gloffset_BufferParameteriAPPLE)); -} - -static inline void -SET_BufferParameteriAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint)) -{ - SET_by_offset(disp, _gloffset_BufferParameteriAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_FlushMappedBufferRangeAPPLE) (GLenum, GLintptr, - GLsizeiptr); -#define CALL_FlushMappedBufferRangeAPPLE(disp, parameters) \ - (* GET_FlushMappedBufferRangeAPPLE(disp)) parameters -static inline _glptr_FlushMappedBufferRangeAPPLE -GET_FlushMappedBufferRangeAPPLE(struct _glapi_table *disp) -{ - return (_glptr_FlushMappedBufferRangeAPPLE) (GET_by_offset - (disp, - _gloffset_FlushMappedBufferRangeAPPLE)); -} - -static inline void -SET_FlushMappedBufferRangeAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLintptr, - GLsizeiptr)) -{ - SET_by_offset(disp, _gloffset_FlushMappedBufferRangeAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindFragDataLocationEXT) (GLuint, GLuint, - const GLchar *); -#define CALL_BindFragDataLocationEXT(disp, parameters) \ - (* GET_BindFragDataLocationEXT(disp)) parameters -static inline _glptr_BindFragDataLocationEXT -GET_BindFragDataLocationEXT(struct _glapi_table *disp) -{ - return (_glptr_BindFragDataLocationEXT) (GET_by_offset - (disp, - _gloffset_BindFragDataLocationEXT)); -} - -static inline void -SET_BindFragDataLocationEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, - const GLchar *)) -{ - SET_by_offset(disp, _gloffset_BindFragDataLocationEXT, fn); -} - -typedef GLint(GLAPIENTRYP _glptr_GetFragDataLocationEXT) (GLuint, - const GLchar *); -#define CALL_GetFragDataLocationEXT(disp, parameters) \ - (* GET_GetFragDataLocationEXT(disp)) parameters -static inline _glptr_GetFragDataLocationEXT -GET_GetFragDataLocationEXT(struct _glapi_table *disp) -{ - return (_glptr_GetFragDataLocationEXT) (GET_by_offset - (disp, - _gloffset_GetFragDataLocationEXT)); -} - -static inline void -SET_GetFragDataLocationEXT(struct _glapi_table *disp, - GLint(GLAPIENTRYP fn) (GLuint, const GLchar *)) -{ - SET_by_offset(disp, _gloffset_GetFragDataLocationEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetUniformuivEXT) (GLuint, GLint, GLuint *); - -#define CALL_GetUniformuivEXT(disp, parameters) \ - (* GET_GetUniformuivEXT(disp)) parameters -static inline _glptr_GetUniformuivEXT -GET_GetUniformuivEXT(struct _glapi_table *disp) -{ - return (_glptr_GetUniformuivEXT) (GET_by_offset - (disp, _gloffset_GetUniformuivEXT)); -} - -static inline void -SET_GetUniformuivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetUniformuivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribIivEXT) (GLuint, GLenum, - GLint *); -#define CALL_GetVertexAttribIivEXT(disp, parameters) \ - (* GET_GetVertexAttribIivEXT(disp)) parameters -static inline _glptr_GetVertexAttribIivEXT -GET_GetVertexAttribIivEXT(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribIivEXT) (GET_by_offset - (disp, - _gloffset_GetVertexAttribIivEXT)); -} - -static inline void -SET_GetVertexAttribIivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribIivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetVertexAttribIuivEXT) (GLuint, GLenum, - GLuint *); -#define CALL_GetVertexAttribIuivEXT(disp, parameters) \ - (* GET_GetVertexAttribIuivEXT(disp)) parameters -static inline _glptr_GetVertexAttribIuivEXT -GET_GetVertexAttribIuivEXT(struct _glapi_table *disp) -{ - return (_glptr_GetVertexAttribIuivEXT) (GET_by_offset - (disp, - _gloffset_GetVertexAttribIuivEXT)); -} - -static inline void -SET_GetVertexAttribIuivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetVertexAttribIuivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform1uiEXT) (GLint, GLuint); - -#define CALL_Uniform1uiEXT(disp, parameters) \ - (* GET_Uniform1uiEXT(disp)) parameters -static inline _glptr_Uniform1uiEXT -GET_Uniform1uiEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform1uiEXT) (GET_by_offset - (disp, _gloffset_Uniform1uiEXT)); -} - -static inline void -SET_Uniform1uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLuint)) -{ - SET_by_offset(disp, _gloffset_Uniform1uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform1uivEXT) (GLint, GLsizei, - const GLuint *); -#define CALL_Uniform1uivEXT(disp, parameters) \ - (* GET_Uniform1uivEXT(disp)) parameters -static inline _glptr_Uniform1uivEXT -GET_Uniform1uivEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform1uivEXT) (GET_by_offset - (disp, _gloffset_Uniform1uivEXT)); -} - -static inline void -SET_Uniform1uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_Uniform1uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform2uiEXT) (GLint, GLuint, GLuint); - -#define CALL_Uniform2uiEXT(disp, parameters) \ - (* GET_Uniform2uiEXT(disp)) parameters -static inline _glptr_Uniform2uiEXT -GET_Uniform2uiEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform2uiEXT) (GET_by_offset - (disp, _gloffset_Uniform2uiEXT)); -} - -static inline void -SET_Uniform2uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_Uniform2uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform2uivEXT) (GLint, GLsizei, - const GLuint *); -#define CALL_Uniform2uivEXT(disp, parameters) \ - (* GET_Uniform2uivEXT(disp)) parameters -static inline _glptr_Uniform2uivEXT -GET_Uniform2uivEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform2uivEXT) (GET_by_offset - (disp, _gloffset_Uniform2uivEXT)); -} - -static inline void -SET_Uniform2uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_Uniform2uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform3uiEXT) (GLint, GLuint, GLuint, GLuint); - -#define CALL_Uniform3uiEXT(disp, parameters) \ - (* GET_Uniform3uiEXT(disp)) parameters -static inline _glptr_Uniform3uiEXT -GET_Uniform3uiEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform3uiEXT) (GET_by_offset - (disp, _gloffset_Uniform3uiEXT)); -} - -static inline void -SET_Uniform3uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_Uniform3uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform3uivEXT) (GLint, GLsizei, - const GLuint *); -#define CALL_Uniform3uivEXT(disp, parameters) \ - (* GET_Uniform3uivEXT(disp)) parameters -static inline _glptr_Uniform3uivEXT -GET_Uniform3uivEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform3uivEXT) (GET_by_offset - (disp, _gloffset_Uniform3uivEXT)); -} - -static inline void -SET_Uniform3uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_Uniform3uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform4uiEXT) (GLint, GLuint, GLuint, GLuint, - GLuint); -#define CALL_Uniform4uiEXT(disp, parameters) \ - (* GET_Uniform4uiEXT(disp)) parameters -static inline _glptr_Uniform4uiEXT -GET_Uniform4uiEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform4uiEXT) (GET_by_offset - (disp, _gloffset_Uniform4uiEXT)); -} - -static inline void -SET_Uniform4uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLuint, GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_Uniform4uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_Uniform4uivEXT) (GLint, GLsizei, - const GLuint *); -#define CALL_Uniform4uivEXT(disp, parameters) \ - (* GET_Uniform4uivEXT(disp)) parameters -static inline _glptr_Uniform4uivEXT -GET_Uniform4uivEXT(struct _glapi_table *disp) -{ - return (_glptr_Uniform4uivEXT) (GET_by_offset - (disp, _gloffset_Uniform4uivEXT)); -} - -static inline void -SET_Uniform4uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLsizei, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_Uniform4uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI1iEXT) (GLuint, GLint); - -#define CALL_VertexAttribI1iEXT(disp, parameters) \ - (* GET_VertexAttribI1iEXT(disp)) parameters -static inline _glptr_VertexAttribI1iEXT -GET_VertexAttribI1iEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI1iEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI1iEXT)); -} - -static inline void -SET_VertexAttribI1iEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI1iEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI1ivEXT) (GLuint, const GLint *); - -#define CALL_VertexAttribI1ivEXT(disp, parameters) \ - (* GET_VertexAttribI1ivEXT(disp)) parameters -static inline _glptr_VertexAttribI1ivEXT -GET_VertexAttribI1ivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI1ivEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI1ivEXT)); -} - -static inline void -SET_VertexAttribI1ivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI1ivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI1uiEXT) (GLuint, GLuint); - -#define CALL_VertexAttribI1uiEXT(disp, parameters) \ - (* GET_VertexAttribI1uiEXT(disp)) parameters -static inline _glptr_VertexAttribI1uiEXT -GET_VertexAttribI1uiEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI1uiEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI1uiEXT)); -} - -static inline void -SET_VertexAttribI1uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI1uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI1uivEXT) (GLuint, const GLuint *); - -#define CALL_VertexAttribI1uivEXT(disp, parameters) \ - (* GET_VertexAttribI1uivEXT(disp)) parameters -static inline _glptr_VertexAttribI1uivEXT -GET_VertexAttribI1uivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI1uivEXT) (GET_by_offset - (disp, - _gloffset_VertexAttribI1uivEXT)); -} - -static inline void -SET_VertexAttribI1uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI1uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI2iEXT) (GLuint, GLint, GLint); - -#define CALL_VertexAttribI2iEXT(disp, parameters) \ - (* GET_VertexAttribI2iEXT(disp)) parameters -static inline _glptr_VertexAttribI2iEXT -GET_VertexAttribI2iEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI2iEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI2iEXT)); -} - -static inline void -SET_VertexAttribI2iEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI2iEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI2ivEXT) (GLuint, const GLint *); - -#define CALL_VertexAttribI2ivEXT(disp, parameters) \ - (* GET_VertexAttribI2ivEXT(disp)) parameters -static inline _glptr_VertexAttribI2ivEXT -GET_VertexAttribI2ivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI2ivEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI2ivEXT)); -} - -static inline void -SET_VertexAttribI2ivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI2ivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI2uiEXT) (GLuint, GLuint, GLuint); - -#define CALL_VertexAttribI2uiEXT(disp, parameters) \ - (* GET_VertexAttribI2uiEXT(disp)) parameters -static inline _glptr_VertexAttribI2uiEXT -GET_VertexAttribI2uiEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI2uiEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI2uiEXT)); -} - -static inline void -SET_VertexAttribI2uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI2uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI2uivEXT) (GLuint, const GLuint *); - -#define CALL_VertexAttribI2uivEXT(disp, parameters) \ - (* GET_VertexAttribI2uivEXT(disp)) parameters -static inline _glptr_VertexAttribI2uivEXT -GET_VertexAttribI2uivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI2uivEXT) (GET_by_offset - (disp, - _gloffset_VertexAttribI2uivEXT)); -} - -static inline void -SET_VertexAttribI2uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI2uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI3iEXT) (GLuint, GLint, GLint, - GLint); -#define CALL_VertexAttribI3iEXT(disp, parameters) \ - (* GET_VertexAttribI3iEXT(disp)) parameters -static inline _glptr_VertexAttribI3iEXT -GET_VertexAttribI3iEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI3iEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI3iEXT)); -} - -static inline void -SET_VertexAttribI3iEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI3iEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI3ivEXT) (GLuint, const GLint *); - -#define CALL_VertexAttribI3ivEXT(disp, parameters) \ - (* GET_VertexAttribI3ivEXT(disp)) parameters -static inline _glptr_VertexAttribI3ivEXT -GET_VertexAttribI3ivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI3ivEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI3ivEXT)); -} - -static inline void -SET_VertexAttribI3ivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI3ivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI3uiEXT) (GLuint, GLuint, GLuint, - GLuint); -#define CALL_VertexAttribI3uiEXT(disp, parameters) \ - (* GET_VertexAttribI3uiEXT(disp)) parameters -static inline _glptr_VertexAttribI3uiEXT -GET_VertexAttribI3uiEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI3uiEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI3uiEXT)); -} - -static inline void -SET_VertexAttribI3uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI3uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI3uivEXT) (GLuint, const GLuint *); - -#define CALL_VertexAttribI3uivEXT(disp, parameters) \ - (* GET_VertexAttribI3uivEXT(disp)) parameters -static inline _glptr_VertexAttribI3uivEXT -GET_VertexAttribI3uivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI3uivEXT) (GET_by_offset - (disp, - _gloffset_VertexAttribI3uivEXT)); -} - -static inline void -SET_VertexAttribI3uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI3uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4bvEXT) (GLuint, const GLbyte *); - -#define CALL_VertexAttribI4bvEXT(disp, parameters) \ - (* GET_VertexAttribI4bvEXT(disp)) parameters -static inline _glptr_VertexAttribI4bvEXT -GET_VertexAttribI4bvEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4bvEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI4bvEXT)); -} - -static inline void -SET_VertexAttribI4bvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLbyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4bvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4iEXT) (GLuint, GLint, GLint, - GLint, GLint); -#define CALL_VertexAttribI4iEXT(disp, parameters) \ - (* GET_VertexAttribI4iEXT(disp)) parameters -static inline _glptr_VertexAttribI4iEXT -GET_VertexAttribI4iEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4iEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI4iEXT)); -} - -static inline void -SET_VertexAttribI4iEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint, GLint, GLint, - GLint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4iEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4ivEXT) (GLuint, const GLint *); - -#define CALL_VertexAttribI4ivEXT(disp, parameters) \ - (* GET_VertexAttribI4ivEXT(disp)) parameters -static inline _glptr_VertexAttribI4ivEXT -GET_VertexAttribI4ivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4ivEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI4ivEXT)); -} - -static inline void -SET_VertexAttribI4ivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4ivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4svEXT) (GLuint, const GLshort *); - -#define CALL_VertexAttribI4svEXT(disp, parameters) \ - (* GET_VertexAttribI4svEXT(disp)) parameters -static inline _glptr_VertexAttribI4svEXT -GET_VertexAttribI4svEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4svEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI4svEXT)); -} - -static inline void -SET_VertexAttribI4svEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLshort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4svEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4ubvEXT) (GLuint, - const GLubyte *); -#define CALL_VertexAttribI4ubvEXT(disp, parameters) \ - (* GET_VertexAttribI4ubvEXT(disp)) parameters -static inline _glptr_VertexAttribI4ubvEXT -GET_VertexAttribI4ubvEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4ubvEXT) (GET_by_offset - (disp, - _gloffset_VertexAttribI4ubvEXT)); -} - -static inline void -SET_VertexAttribI4ubvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLubyte *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4ubvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4uiEXT) (GLuint, GLuint, GLuint, - GLuint, GLuint); -#define CALL_VertexAttribI4uiEXT(disp, parameters) \ - (* GET_VertexAttribI4uiEXT(disp)) parameters -static inline _glptr_VertexAttribI4uiEXT -GET_VertexAttribI4uiEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4uiEXT) (GET_by_offset - (disp, _gloffset_VertexAttribI4uiEXT)); -} - -static inline void -SET_VertexAttribI4uiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLuint, GLuint, - GLuint)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4uiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4uivEXT) (GLuint, const GLuint *); - -#define CALL_VertexAttribI4uivEXT(disp, parameters) \ - (* GET_VertexAttribI4uivEXT(disp)) parameters -static inline _glptr_VertexAttribI4uivEXT -GET_VertexAttribI4uivEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4uivEXT) (GET_by_offset - (disp, - _gloffset_VertexAttribI4uivEXT)); -} - -static inline void -SET_VertexAttribI4uivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4uivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribI4usvEXT) (GLuint, - const GLushort *); -#define CALL_VertexAttribI4usvEXT(disp, parameters) \ - (* GET_VertexAttribI4usvEXT(disp)) parameters -static inline _glptr_VertexAttribI4usvEXT -GET_VertexAttribI4usvEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribI4usvEXT) (GET_by_offset - (disp, - _gloffset_VertexAttribI4usvEXT)); -} - -static inline void -SET_VertexAttribI4usvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, const GLushort *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribI4usvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_VertexAttribIPointerEXT) (GLuint, GLint, - GLenum, GLsizei, - const GLvoid *); -#define CALL_VertexAttribIPointerEXT(disp, parameters) \ - (* GET_VertexAttribIPointerEXT(disp)) parameters -static inline _glptr_VertexAttribIPointerEXT -GET_VertexAttribIPointerEXT(struct _glapi_table *disp) -{ - return (_glptr_VertexAttribIPointerEXT) (GET_by_offset - (disp, - _gloffset_VertexAttribIPointerEXT)); -} - -static inline void -SET_VertexAttribIPointerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLint, GLenum, - GLsizei, const GLvoid *)) -{ - SET_by_offset(disp, _gloffset_VertexAttribIPointerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_FramebufferTextureLayerEXT) (GLenum, GLenum, - GLuint, GLint, - GLint); -#define CALL_FramebufferTextureLayerEXT(disp, parameters) \ - (* GET_FramebufferTextureLayerEXT(disp)) parameters -static inline _glptr_FramebufferTextureLayerEXT -GET_FramebufferTextureLayerEXT(struct _glapi_table *disp) -{ - return (_glptr_FramebufferTextureLayerEXT) (GET_by_offset - (disp, - _gloffset_FramebufferTextureLayerEXT)); -} - -static inline void -SET_FramebufferTextureLayerEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint, - GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_FramebufferTextureLayerEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_ColorMaskIndexedEXT) (GLuint, GLboolean, - GLboolean, GLboolean, - GLboolean); -#define CALL_ColorMaskIndexedEXT(disp, parameters) \ - (* GET_ColorMaskIndexedEXT(disp)) parameters -static inline _glptr_ColorMaskIndexedEXT -GET_ColorMaskIndexedEXT(struct _glapi_table *disp) -{ - return (_glptr_ColorMaskIndexedEXT) (GET_by_offset - (disp, _gloffset_ColorMaskIndexedEXT)); -} - -static inline void -SET_ColorMaskIndexedEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLboolean, GLboolean, - GLboolean, GLboolean)) -{ - SET_by_offset(disp, _gloffset_ColorMaskIndexedEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_DisableIndexedEXT) (GLenum, GLuint); - -#define CALL_DisableIndexedEXT(disp, parameters) \ - (* GET_DisableIndexedEXT(disp)) parameters -static inline _glptr_DisableIndexedEXT -GET_DisableIndexedEXT(struct _glapi_table *disp) -{ - return (_glptr_DisableIndexedEXT) (GET_by_offset - (disp, _gloffset_DisableIndexedEXT)); -} - -static inline void -SET_DisableIndexedEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_DisableIndexedEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_EnableIndexedEXT) (GLenum, GLuint); - -#define CALL_EnableIndexedEXT(disp, parameters) \ - (* GET_EnableIndexedEXT(disp)) parameters -static inline _glptr_EnableIndexedEXT -GET_EnableIndexedEXT(struct _glapi_table *disp) -{ - return (_glptr_EnableIndexedEXT) (GET_by_offset - (disp, _gloffset_EnableIndexedEXT)); -} - -static inline void -SET_EnableIndexedEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_EnableIndexedEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetBooleanIndexedvEXT) (GLenum, GLuint, - GLboolean *); -#define CALL_GetBooleanIndexedvEXT(disp, parameters) \ - (* GET_GetBooleanIndexedvEXT(disp)) parameters -static inline _glptr_GetBooleanIndexedvEXT -GET_GetBooleanIndexedvEXT(struct _glapi_table *disp) -{ - return (_glptr_GetBooleanIndexedvEXT) (GET_by_offset - (disp, - _gloffset_GetBooleanIndexedvEXT)); -} - -static inline void -SET_GetBooleanIndexedvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLboolean *)) -{ - SET_by_offset(disp, _gloffset_GetBooleanIndexedvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetIntegerIndexedvEXT) (GLenum, GLuint, - GLint *); -#define CALL_GetIntegerIndexedvEXT(disp, parameters) \ - (* GET_GetIntegerIndexedvEXT(disp)) parameters -static inline _glptr_GetIntegerIndexedvEXT -GET_GetIntegerIndexedvEXT(struct _glapi_table *disp) -{ - return (_glptr_GetIntegerIndexedvEXT) (GET_by_offset - (disp, - _gloffset_GetIntegerIndexedvEXT)); -} - -static inline void -SET_GetIntegerIndexedvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetIntegerIndexedvEXT, fn); -} - -typedef GLboolean(GLAPIENTRYP _glptr_IsEnabledIndexedEXT) (GLenum, GLuint); - -#define CALL_IsEnabledIndexedEXT(disp, parameters) \ - (* GET_IsEnabledIndexedEXT(disp)) parameters -static inline _glptr_IsEnabledIndexedEXT -GET_IsEnabledIndexedEXT(struct _glapi_table *disp) -{ - return (_glptr_IsEnabledIndexedEXT) (GET_by_offset - (disp, _gloffset_IsEnabledIndexedEXT)); -} - -static inline void -SET_IsEnabledIndexedEXT(struct _glapi_table *disp, - GLboolean(GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_IsEnabledIndexedEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearColorIiEXT) (GLint, GLint, GLint, GLint); - -#define CALL_ClearColorIiEXT(disp, parameters) \ - (* GET_ClearColorIiEXT(disp)) parameters -static inline _glptr_ClearColorIiEXT -GET_ClearColorIiEXT(struct _glapi_table *disp) -{ - return (_glptr_ClearColorIiEXT) (GET_by_offset - (disp, _gloffset_ClearColorIiEXT)); -} - -static inline void -SET_ClearColorIiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLint, GLint, GLint, GLint)) -{ - SET_by_offset(disp, _gloffset_ClearColorIiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_ClearColorIuiEXT) (GLuint, GLuint, GLuint, - GLuint); -#define CALL_ClearColorIuiEXT(disp, parameters) \ - (* GET_ClearColorIuiEXT(disp)) parameters -static inline _glptr_ClearColorIuiEXT -GET_ClearColorIuiEXT(struct _glapi_table *disp) -{ - return (_glptr_ClearColorIuiEXT) (GET_by_offset - (disp, _gloffset_ClearColorIuiEXT)); -} - -static inline void -SET_ClearColorIuiEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_ClearColorIuiEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexParameterIivEXT) (GLenum, GLenum, - GLint *); -#define CALL_GetTexParameterIivEXT(disp, parameters) \ - (* GET_GetTexParameterIivEXT(disp)) parameters -static inline _glptr_GetTexParameterIivEXT -GET_GetTexParameterIivEXT(struct _glapi_table *disp) -{ - return (_glptr_GetTexParameterIivEXT) (GET_by_offset - (disp, - _gloffset_GetTexParameterIivEXT)); -} - -static inline void -SET_GetTexParameterIivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint *)) -{ - SET_by_offset(disp, _gloffset_GetTexParameterIivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexParameterIuivEXT) (GLenum, GLenum, - GLuint *); -#define CALL_GetTexParameterIuivEXT(disp, parameters) \ - (* GET_GetTexParameterIuivEXT(disp)) parameters -static inline _glptr_GetTexParameterIuivEXT -GET_GetTexParameterIuivEXT(struct _glapi_table *disp) -{ - return (_glptr_GetTexParameterIuivEXT) (GET_by_offset - (disp, - _gloffset_GetTexParameterIuivEXT)); -} - -static inline void -SET_GetTexParameterIuivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLuint *)) -{ - SET_by_offset(disp, _gloffset_GetTexParameterIuivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexParameterIivEXT) (GLenum, GLenum, - const GLint *); -#define CALL_TexParameterIivEXT(disp, parameters) \ - (* GET_TexParameterIivEXT(disp)) parameters -static inline _glptr_TexParameterIivEXT -GET_TexParameterIivEXT(struct _glapi_table *disp) -{ - return (_glptr_TexParameterIivEXT) (GET_by_offset - (disp, _gloffset_TexParameterIivEXT)); -} - -static inline void -SET_TexParameterIivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLint *)) -{ - SET_by_offset(disp, _gloffset_TexParameterIivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TexParameterIuivEXT) (GLenum, GLenum, - const GLuint *); -#define CALL_TexParameterIuivEXT(disp, parameters) \ - (* GET_TexParameterIuivEXT(disp)) parameters -static inline _glptr_TexParameterIuivEXT -GET_TexParameterIuivEXT(struct _glapi_table *disp) -{ - return (_glptr_TexParameterIuivEXT) (GET_by_offset - (disp, _gloffset_TexParameterIuivEXT)); -} - -static inline void -SET_TexParameterIuivEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, const GLuint *)) -{ - SET_by_offset(disp, _gloffset_TexParameterIuivEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BeginConditionalRenderNV) (GLuint, GLenum); - -#define CALL_BeginConditionalRenderNV(disp, parameters) \ - (* GET_BeginConditionalRenderNV(disp)) parameters -static inline _glptr_BeginConditionalRenderNV -GET_BeginConditionalRenderNV(struct _glapi_table *disp) -{ - return (_glptr_BeginConditionalRenderNV) (GET_by_offset - (disp, - _gloffset_BeginConditionalRenderNV)); -} - -static inline void -SET_BeginConditionalRenderNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_BeginConditionalRenderNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_EndConditionalRenderNV) (void); - -#define CALL_EndConditionalRenderNV(disp, parameters) \ - (* GET_EndConditionalRenderNV(disp)) parameters -static inline _glptr_EndConditionalRenderNV -GET_EndConditionalRenderNV(struct _glapi_table *disp) -{ - return (_glptr_EndConditionalRenderNV) (GET_by_offset - (disp, - _gloffset_EndConditionalRenderNV)); -} - -static inline void -SET_EndConditionalRenderNV(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_EndConditionalRenderNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_BeginTransformFeedbackEXT) (GLenum); - -#define CALL_BeginTransformFeedbackEXT(disp, parameters) \ - (* GET_BeginTransformFeedbackEXT(disp)) parameters -static inline _glptr_BeginTransformFeedbackEXT -GET_BeginTransformFeedbackEXT(struct _glapi_table *disp) -{ - return (_glptr_BeginTransformFeedbackEXT) (GET_by_offset - (disp, - _gloffset_BeginTransformFeedbackEXT)); -} - -static inline void -SET_BeginTransformFeedbackEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_BeginTransformFeedbackEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindBufferBaseEXT) (GLenum, GLuint, GLuint); - -#define CALL_BindBufferBaseEXT(disp, parameters) \ - (* GET_BindBufferBaseEXT(disp)) parameters -static inline _glptr_BindBufferBaseEXT -GET_BindBufferBaseEXT(struct _glapi_table *disp) -{ - return (_glptr_BindBufferBaseEXT) (GET_by_offset - (disp, _gloffset_BindBufferBaseEXT)); -} - -static inline void -SET_BindBufferBaseEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint)) -{ - SET_by_offset(disp, _gloffset_BindBufferBaseEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindBufferOffsetEXT) (GLenum, GLuint, GLuint, - GLintptr); -#define CALL_BindBufferOffsetEXT(disp, parameters) \ - (* GET_BindBufferOffsetEXT(disp)) parameters -static inline _glptr_BindBufferOffsetEXT -GET_BindBufferOffsetEXT(struct _glapi_table *disp) -{ - return (_glptr_BindBufferOffsetEXT) (GET_by_offset - (disp, _gloffset_BindBufferOffsetEXT)); -} - -static inline void -SET_BindBufferOffsetEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, - GLintptr)) -{ - SET_by_offset(disp, _gloffset_BindBufferOffsetEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_BindBufferRangeEXT) (GLenum, GLuint, GLuint, - GLintptr, GLsizeiptr); -#define CALL_BindBufferRangeEXT(disp, parameters) \ - (* GET_BindBufferRangeEXT(disp)) parameters -static inline _glptr_BindBufferRangeEXT -GET_BindBufferRangeEXT(struct _glapi_table *disp) -{ - return (_glptr_BindBufferRangeEXT) (GET_by_offset - (disp, _gloffset_BindBufferRangeEXT)); -} - -static inline void -SET_BindBufferRangeEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLuint, GLintptr, - GLsizeiptr)) -{ - SET_by_offset(disp, _gloffset_BindBufferRangeEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_EndTransformFeedbackEXT) (void); - -#define CALL_EndTransformFeedbackEXT(disp, parameters) \ - (* GET_EndTransformFeedbackEXT(disp)) parameters -static inline _glptr_EndTransformFeedbackEXT -GET_EndTransformFeedbackEXT(struct _glapi_table *disp) -{ - return (_glptr_EndTransformFeedbackEXT) (GET_by_offset - (disp, - _gloffset_EndTransformFeedbackEXT)); -} - -static inline void -SET_EndTransformFeedbackEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_EndTransformFeedbackEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTransformFeedbackVaryingEXT) (GLuint, - GLuint, - GLsizei, - GLsizei *, - GLsizei *, - GLenum *, - GLchar *); -#define CALL_GetTransformFeedbackVaryingEXT(disp, parameters) \ - (* GET_GetTransformFeedbackVaryingEXT(disp)) parameters -static inline _glptr_GetTransformFeedbackVaryingEXT -GET_GetTransformFeedbackVaryingEXT(struct _glapi_table *disp) -{ - return (_glptr_GetTransformFeedbackVaryingEXT) (GET_by_offset - (disp, - _gloffset_GetTransformFeedbackVaryingEXT)); -} - -static inline void -SET_GetTransformFeedbackVaryingEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLuint, - GLsizei, GLsizei *, - GLsizei *, GLenum *, - GLchar *)) -{ - SET_by_offset(disp, _gloffset_GetTransformFeedbackVaryingEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TransformFeedbackVaryingsEXT) (GLuint, GLsizei, - const char **, - GLenum); -#define CALL_TransformFeedbackVaryingsEXT(disp, parameters) \ - (* GET_TransformFeedbackVaryingsEXT(disp)) parameters -static inline _glptr_TransformFeedbackVaryingsEXT -GET_TransformFeedbackVaryingsEXT(struct _glapi_table *disp) -{ - return (_glptr_TransformFeedbackVaryingsEXT) (GET_by_offset - (disp, - _gloffset_TransformFeedbackVaryingsEXT)); -} - -static inline void -SET_TransformFeedbackVaryingsEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLsizei, - const char **, GLenum)) -{ - SET_by_offset(disp, _gloffset_TransformFeedbackVaryingsEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProvokingVertexEXT) (GLenum); - -#define CALL_ProvokingVertexEXT(disp, parameters) \ - (* GET_ProvokingVertexEXT(disp)) parameters -static inline _glptr_ProvokingVertexEXT -GET_ProvokingVertexEXT(struct _glapi_table *disp) -{ - return (_glptr_ProvokingVertexEXT) (GET_by_offset - (disp, _gloffset_ProvokingVertexEXT)); -} - -static inline void -SET_ProvokingVertexEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum)) -{ - SET_by_offset(disp, _gloffset_ProvokingVertexEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetTexParameterPointervAPPLE) (GLenum, GLenum, - GLvoid **); -#define CALL_GetTexParameterPointervAPPLE(disp, parameters) \ - (* GET_GetTexParameterPointervAPPLE(disp)) parameters -static inline _glptr_GetTexParameterPointervAPPLE -GET_GetTexParameterPointervAPPLE(struct _glapi_table *disp) -{ - return (_glptr_GetTexParameterPointervAPPLE) (GET_by_offset - (disp, - _gloffset_GetTexParameterPointervAPPLE)); -} - -static inline void -SET_GetTexParameterPointervAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, - GLvoid **)) -{ - SET_by_offset(disp, _gloffset_GetTexParameterPointervAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_TextureRangeAPPLE) (GLenum, GLsizei, GLvoid *); - -#define CALL_TextureRangeAPPLE(disp, parameters) \ - (* GET_TextureRangeAPPLE(disp)) parameters -static inline _glptr_TextureRangeAPPLE -GET_TextureRangeAPPLE(struct _glapi_table *disp) -{ - return (_glptr_TextureRangeAPPLE) (GET_by_offset - (disp, _gloffset_TextureRangeAPPLE)); -} - -static inline void -SET_TextureRangeAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLsizei, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_TextureRangeAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetObjectParameterivAPPLE) (GLenum, GLuint, - GLenum, GLint *); -#define CALL_GetObjectParameterivAPPLE(disp, parameters) \ - (* GET_GetObjectParameterivAPPLE(disp)) parameters -static inline _glptr_GetObjectParameterivAPPLE -GET_GetObjectParameterivAPPLE(struct _glapi_table *disp) -{ - return (_glptr_GetObjectParameterivAPPLE) (GET_by_offset - (disp, - _gloffset_GetObjectParameterivAPPLE)); -} - -static inline void -SET_GetObjectParameterivAPPLE(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLenum, - GLint *)) -{ - SET_by_offset(disp, _gloffset_GetObjectParameterivAPPLE, fn); -} - -typedef GLenum(GLAPIENTRYP _glptr_ObjectPurgeableAPPLE) (GLenum, GLuint, - GLenum); -#define CALL_ObjectPurgeableAPPLE(disp, parameters) \ - (* GET_ObjectPurgeableAPPLE(disp)) parameters -static inline _glptr_ObjectPurgeableAPPLE -GET_ObjectPurgeableAPPLE(struct _glapi_table *disp) -{ - return (_glptr_ObjectPurgeableAPPLE) (GET_by_offset - (disp, - _gloffset_ObjectPurgeableAPPLE)); -} - -static inline void -SET_ObjectPurgeableAPPLE(struct _glapi_table *disp, - GLenum(GLAPIENTRYP fn) (GLenum, GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_ObjectPurgeableAPPLE, fn); -} - -typedef GLenum(GLAPIENTRYP _glptr_ObjectUnpurgeableAPPLE) (GLenum, GLuint, - GLenum); -#define CALL_ObjectUnpurgeableAPPLE(disp, parameters) \ - (* GET_ObjectUnpurgeableAPPLE(disp)) parameters -static inline _glptr_ObjectUnpurgeableAPPLE -GET_ObjectUnpurgeableAPPLE(struct _glapi_table *disp) -{ - return (_glptr_ObjectUnpurgeableAPPLE) (GET_by_offset - (disp, - _gloffset_ObjectUnpurgeableAPPLE)); -} - -static inline void -SET_ObjectUnpurgeableAPPLE(struct _glapi_table *disp, - GLenum(GLAPIENTRYP fn) (GLenum, GLuint, GLenum)) -{ - SET_by_offset(disp, _gloffset_ObjectUnpurgeableAPPLE, fn); -} - -typedef void (GLAPIENTRYP _glptr_ActiveProgramEXT) (GLuint); - -#define CALL_ActiveProgramEXT(disp, parameters) \ - (* GET_ActiveProgramEXT(disp)) parameters -static inline _glptr_ActiveProgramEXT -GET_ActiveProgramEXT(struct _glapi_table *disp) -{ - return (_glptr_ActiveProgramEXT) (GET_by_offset - (disp, _gloffset_ActiveProgramEXT)); -} - -static inline void -SET_ActiveProgramEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn) (GLuint)) -{ - SET_by_offset(disp, _gloffset_ActiveProgramEXT, fn); -} - -typedef GLuint(GLAPIENTRYP _glptr_CreateShaderProgramEXT) (GLenum, - const GLchar *); -#define CALL_CreateShaderProgramEXT(disp, parameters) \ - (* GET_CreateShaderProgramEXT(disp)) parameters -static inline _glptr_CreateShaderProgramEXT -GET_CreateShaderProgramEXT(struct _glapi_table *disp) -{ - return (_glptr_CreateShaderProgramEXT) (GET_by_offset - (disp, - _gloffset_CreateShaderProgramEXT)); -} - -static inline void -SET_CreateShaderProgramEXT(struct _glapi_table *disp, - GLuint(GLAPIENTRYP fn) (GLenum, const GLchar *)) -{ - SET_by_offset(disp, _gloffset_CreateShaderProgramEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_UseShaderProgramEXT) (GLenum, GLuint); - -#define CALL_UseShaderProgramEXT(disp, parameters) \ - (* GET_UseShaderProgramEXT(disp)) parameters -static inline _glptr_UseShaderProgramEXT -GET_UseShaderProgramEXT(struct _glapi_table *disp) -{ - return (_glptr_UseShaderProgramEXT) (GET_by_offset - (disp, _gloffset_UseShaderProgramEXT)); -} - -static inline void -SET_UseShaderProgramEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint)) -{ - SET_by_offset(disp, _gloffset_UseShaderProgramEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_TextureBarrierNV) (void); - -#define CALL_TextureBarrierNV(disp, parameters) \ - (* GET_TextureBarrierNV(disp)) parameters -static inline _glptr_TextureBarrierNV -GET_TextureBarrierNV(struct _glapi_table *disp) -{ - return (_glptr_TextureBarrierNV) (GET_by_offset - (disp, _gloffset_TextureBarrierNV)); -} - -static inline void -SET_TextureBarrierNV(struct _glapi_table *disp, void (GLAPIENTRYP fn) (void)) -{ - SET_by_offset(disp, _gloffset_TextureBarrierNV, fn); -} - -typedef void (GLAPIENTRYP _glptr_StencilFuncSeparateATI) (GLenum, GLenum, GLint, - GLuint); -#define CALL_StencilFuncSeparateATI(disp, parameters) \ - (* GET_StencilFuncSeparateATI(disp)) parameters -static inline _glptr_StencilFuncSeparateATI -GET_StencilFuncSeparateATI(struct _glapi_table *disp) -{ - return (_glptr_StencilFuncSeparateATI) (GET_by_offset - (disp, - _gloffset_StencilFuncSeparateATI)); -} - -static inline void -SET_StencilFuncSeparateATI(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLenum, GLint, - GLuint)) -{ - SET_by_offset(disp, _gloffset_StencilFuncSeparateATI, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramEnvParameters4fvEXT) (GLenum, GLuint, - GLsizei, - const GLfloat *); -#define CALL_ProgramEnvParameters4fvEXT(disp, parameters) \ - (* GET_ProgramEnvParameters4fvEXT(disp)) parameters -static inline _glptr_ProgramEnvParameters4fvEXT -GET_ProgramEnvParameters4fvEXT(struct _glapi_table *disp) -{ - return (_glptr_ProgramEnvParameters4fvEXT) (GET_by_offset - (disp, - _gloffset_ProgramEnvParameters4fvEXT)); -} - -static inline void -SET_ProgramEnvParameters4fvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLsizei, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ProgramEnvParameters4fvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_ProgramLocalParameters4fvEXT) (GLenum, GLuint, - GLsizei, - const GLfloat - *); -#define CALL_ProgramLocalParameters4fvEXT(disp, parameters) \ - (* GET_ProgramLocalParameters4fvEXT(disp)) parameters -static inline _glptr_ProgramLocalParameters4fvEXT -GET_ProgramLocalParameters4fvEXT(struct _glapi_table *disp) -{ - return (_glptr_ProgramLocalParameters4fvEXT) (GET_by_offset - (disp, - _gloffset_ProgramLocalParameters4fvEXT)); -} - -static inline void -SET_ProgramLocalParameters4fvEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLuint, GLsizei, - const GLfloat *)) -{ - SET_by_offset(disp, _gloffset_ProgramLocalParameters4fvEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetQueryObjecti64vEXT) (GLuint, GLenum, - GLint64EXT *); -#define CALL_GetQueryObjecti64vEXT(disp, parameters) \ - (* GET_GetQueryObjecti64vEXT(disp)) parameters -static inline _glptr_GetQueryObjecti64vEXT -GET_GetQueryObjecti64vEXT(struct _glapi_table *disp) -{ - return (_glptr_GetQueryObjecti64vEXT) (GET_by_offset - (disp, - _gloffset_GetQueryObjecti64vEXT)); -} - -static inline void -SET_GetQueryObjecti64vEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, GLint64EXT *)) -{ - SET_by_offset(disp, _gloffset_GetQueryObjecti64vEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_GetQueryObjectui64vEXT) (GLuint, GLenum, - GLuint64EXT *); -#define CALL_GetQueryObjectui64vEXT(disp, parameters) \ - (* GET_GetQueryObjectui64vEXT(disp)) parameters -static inline _glptr_GetQueryObjectui64vEXT -GET_GetQueryObjectui64vEXT(struct _glapi_table *disp) -{ - return (_glptr_GetQueryObjectui64vEXT) (GET_by_offset - (disp, - _gloffset_GetQueryObjectui64vEXT)); -} - -static inline void -SET_GetQueryObjectui64vEXT(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLuint, GLenum, - GLuint64EXT *)) -{ - SET_by_offset(disp, _gloffset_GetQueryObjectui64vEXT, fn); -} - -typedef void (GLAPIENTRYP _glptr_EGLImageTargetRenderbufferStorageOES) (GLenum, - GLvoid - *); -#define CALL_EGLImageTargetRenderbufferStorageOES(disp, parameters) \ - (* GET_EGLImageTargetRenderbufferStorageOES(disp)) parameters -static inline _glptr_EGLImageTargetRenderbufferStorageOES -GET_EGLImageTargetRenderbufferStorageOES(struct _glapi_table *disp) -{ - return (_glptr_EGLImageTargetRenderbufferStorageOES) (GET_by_offset - (disp, - _gloffset_EGLImageTargetRenderbufferStorageOES)); -} - -static inline void -SET_EGLImageTargetRenderbufferStorageOES(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, - GLvoid *)) -{ - SET_by_offset(disp, _gloffset_EGLImageTargetRenderbufferStorageOES, fn); -} - -typedef void (GLAPIENTRYP _glptr_EGLImageTargetTexture2DOES) (GLenum, GLvoid *); - -#define CALL_EGLImageTargetTexture2DOES(disp, parameters) \ - (* GET_EGLImageTargetTexture2DOES(disp)) parameters -static inline _glptr_EGLImageTargetTexture2DOES -GET_EGLImageTargetTexture2DOES(struct _glapi_table *disp) -{ - return (_glptr_EGLImageTargetTexture2DOES) (GET_by_offset - (disp, - _gloffset_EGLImageTargetTexture2DOES)); -} - -static inline void -SET_EGLImageTargetTexture2DOES(struct _glapi_table *disp, - void (GLAPIENTRYP fn) (GLenum, GLvoid *)) -{ - SET_by_offset(disp, _gloffset_EGLImageTargetTexture2DOES, fn); -} - -#endif /* !defined( _DISPATCH_H_ ) */ diff --git a/xserver/glx/extension_string.c b/xserver/glx/extension_string.c index 544ca1f5e..4bef96f0b 100644 --- a/xserver/glx/extension_string.c +++ b/xserver/glx/extension_string.c @@ -65,15 +65,22 @@ struct extension_info { unsigned char driver_support; }; +/** + * List of known GLX Extensions. + * The last Y/N switch informs whether the support of this extension is always enabled. + */ static const struct extension_info known_glx_extensions[] = { /* GLX_ARB_get_proc_address is implemented on the client. */ /* *INDENT-OFF* */ { GLX(ARB_create_context), VER(0,0), N, }, { GLX(ARB_create_context_profile), VER(0,0), N, }, { GLX(ARB_create_context_robustness), VER(0,0), N, }, + { GLX(ARB_fbconfig_float), VER(0,0), N, }, + { GLX(ARB_framebuffer_sRGB), VER(0,0), N, }, { GLX(ARB_multisample), VER(1,4), Y, }, { GLX(EXT_create_context_es2_profile), VER(0,0), N, }, + { GLX(EXT_framebuffer_sRGB), VER(0,0), N, }, { GLX(EXT_import_context), VER(0,0), Y, }, { GLX(EXT_texture_from_pixmap), VER(0,0), Y, }, { GLX(EXT_visual_info), VER(0,0), Y, }, diff --git a/xserver/glx/extension_string.h b/xserver/glx/extension_string.h index 7a4a8b1c2..e7d393297 100644 --- a/xserver/glx/extension_string.h +++ b/xserver/glx/extension_string.h @@ -39,6 +39,8 @@ enum { ARB_create_context_bit = 0, ARB_create_context_profile_bit, ARB_create_context_robustness_bit, + ARB_fbconfig_float_bit, + ARB_framebuffer_sRGB_bit, ARB_multisample_bit, EXT_create_context_es2_profile_bit, EXT_import_context_bit, @@ -58,6 +60,10 @@ enum { __NUM_GLX_EXTS, }; +/* For extensions which have identical ARB and EXT implementation + * in GLX area, use one enabling bit for both. */ +#define EXT_framebuffer_sRGB_bit ARB_framebuffer_sRGB_bit + #define __GLX_EXT_BYTES ((__NUM_GLX_EXTS + 7) / 8) extern int __glXGetExtensionString(const unsigned char *enable_bits, diff --git a/xserver/glx/glapi.c b/xserver/glx/glapi.c deleted file mode 100644 index ad7329eff..000000000 --- a/xserver/glx/glapi.c +++ /dev/null @@ -1,504 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * - * Copyright (C) 1999-2006 Brian Paul 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 - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * This file manages the OpenGL API dispatch layer. There are functions - * to set/get the current dispatch table for the current thread and to - * manage registration/dispatch of dynamically added extension functions. - * - * This code was originally general enough to be shared with Mesa, but - * they diverged long ago, so this is now just enough support to make - * indirect GLX work. - */ - -#include -#include -#include -#define PUBLIC _X_EXPORT - -#include -#include -#ifdef DEBUG -#include -#endif - -#include "glapi.h" -#include "dispatch.h" -#include "glapitable.h" - -#define FIRST_DYNAMIC_OFFSET (sizeof(struct _glapi_table) / sizeof(void *)) - -#if defined(PTHREADS) || defined(GLX_USE_TLS) -static void init_glapi_relocs(void); -#endif - -/** - * \name Current dispatch and current context control variables - * - * Depending on whether or not multithreading is support, and the type of - * support available, several variables are used to store the current context - * pointer and the current dispatch table pointer. In the non-threaded case, - * the variables \c _glapi_Dispatch and \c _glapi_Context are used for this - * purpose. - * - * In the "normal" threaded case, the variables \c _glapi_Dispatch and - * \c _glapi_Context will be \c NULL if an application is detected as being - * multithreaded. Single-threaded applications will use \c _glapi_Dispatch - * and \c _glapi_Context just like the case without any threading support. - * When \c _glapi_Dispatch and \c _glapi_Context are \c NULL, the thread state - * data \c _gl_DispatchTSD and \c ContextTSD are used. Drivers and the - * static dispatch functions access these variables via \c _glapi_get_dispatch - * and \c _glapi_get_context. - * - * In the TLS case, the variables \c _glapi_Dispatch and \c _glapi_Context are - * hardcoded to \c NULL. Instead the TLS variables \c _glapi_tls_Dispatch and - * \c _glapi_tls_Context are used. Having \c _glapi_Dispatch and - * \c _glapi_Context be hardcoded to \c NULL maintains binary compatability - * between TLS enabled loaders and non-TLS DRI drivers. - */ -/*@{*/ -#if defined(GLX_USE_TLS) - -PUBLIC TLS struct _glapi_table *_glapi_tls_Dispatch = NULL; - -PUBLIC TLS void *_glapi_tls_Context; - -PUBLIC const struct _glapi_table *_glapi_Dispatch = NULL; -PUBLIC const void *_glapi_Context = NULL; - -#else - -#if defined(THREADS) - -_glthread_TSD _gl_DispatchTSD; /**< Per-thread dispatch pointer */ -static _glthread_TSD ContextTSD; /**< Per-thread context pointer */ - -#if defined(WIN32_THREADS) -void FreeTSD(_glthread_TSD * p); -void -FreeAllTSD(void) -{ - FreeTSD(&_gl_DispatchTSD); - FreeTSD(&ContextTSD); -} -#endif /* defined(WIN32_THREADS) */ - -#endif /* defined(THREADS) */ - -PUBLIC struct _glapi_table *_glapi_Dispatch = NULL; -PUBLIC void *_glapi_Context = NULL; - -#endif /* defined(GLX_USE_TLS) */ -/*@}*/ - -/* - * xserver's gl is not multithreaded, we promise. - */ -PUBLIC void -_glapi_check_multithread(void) -{ -} - -/** - * Set the current context pointer for this thread. - * The context pointer is an opaque type which should be cast to - * void from the real context pointer type. - */ -PUBLIC void -_glapi_set_context(void *context) -{ -#if defined(GLX_USE_TLS) - _glapi_tls_Context = context; -#elif defined(THREADS) - _glthread_SetTSD(&ContextTSD, context); - _glapi_Context = context; -#else - _glapi_Context = context; -#endif -} - -/** - * Get the current context pointer for this thread. - * The context pointer is an opaque type which should be cast from - * void to the real context pointer type. - */ -PUBLIC void * -_glapi_get_context(void) -{ -#if defined(GLX_USE_TLS) - return _glapi_tls_Context; -#else - return _glapi_Context; -#endif -} - -/** - * Set the global or per-thread dispatch table pointer. - */ -PUBLIC void -_glapi_set_dispatch(struct _glapi_table *dispatch) -{ -#if defined(PTHREADS) || defined(GLX_USE_TLS) - static pthread_once_t once_control = PTHREAD_ONCE_INIT; - - pthread_once(&once_control, init_glapi_relocs); -#endif - -#if defined(GLX_USE_TLS) - _glapi_tls_Dispatch = dispatch; -#elif defined(THREADS) - _glthread_SetTSD(&_gl_DispatchTSD, (void *) dispatch); - _glapi_Dispatch = dispatch; -#else /*THREADS*/ - _glapi_Dispatch = dispatch; -#endif /*THREADS*/ -} - -/** - * Return pointer to current dispatch table for calling thread. - */ -PUBLIC struct _glapi_table * -_glapi_get_dispatch(void) -{ - struct _glapi_table *api; - -#if defined(GLX_USE_TLS) - api = _glapi_tls_Dispatch; -#else - api = _glapi_Dispatch; -#endif - return api; -} - -/*** - *** The rest of this file is pretty much concerned with GetProcAddress - *** functionality. - ***/ - -#if defined(USE_X64_64_ASM) && defined(GLX_USE_TLS) -#define DISPATCH_FUNCTION_SIZE 16 -#elif defined(USE_X86_ASM) -#if defined(THREADS) && !defined(GLX_USE_TLS) -#define DISPATCH_FUNCTION_SIZE 32 -#else -#define DISPATCH_FUNCTION_SIZE 16 -#endif -#endif - -/* The code in this file is auto-generated with Python */ -#include "glprocs.h" - -/** - * Search the table of static entrypoint functions for the named function - * and return the corresponding glprocs_table_t entry. - */ -static const glprocs_table_t * -find_entry(const char *n) -{ - GLuint i; - - for (i = 0; static_functions[i].Name_offset >= 0; i++) { - const char *testName = - gl_string_table + static_functions[i].Name_offset; - if (strcmp(testName, n) == 0) { - return &static_functions[i]; - } - } - return NULL; -} - -/** - * Return dispatch table offset of the named static (built-in) function. - * Return -1 if function not found. - */ -static GLint -get_static_proc_offset(const char *funcName) -{ - const glprocs_table_t *const f = find_entry(funcName); - - if (f) { - return f->Offset; - } - return -1; -} - -/********************************************************************** - * Extension function management. - */ - -/* - * Number of extension functions which we can dynamically add at runtime. - */ -#define MAX_EXTENSION_FUNCS 300 - -/* - * The dispatch table size (number of entries) is the size of the - * _glapi_table struct plus the number of dynamic entries we can add. - * The extra slots can be filled in by DRI drivers that register new extension - * functions. - */ -#define DISPATCH_TABLE_SIZE (sizeof(struct _glapi_table) / sizeof(void *) + MAX_EXTENSION_FUNCS) - -/** - * Track information about a function added to the GL API. - */ -struct _glapi_function { - /** - * Name of the function. - */ - const char *name; - - /** - * Text string that describes the types of the parameters passed to the - * named function. Parameter types are converted to characters using the - * following rules: - * - 'i' for \c GLint, \c GLuint, and \c GLenum - * - 'p' for any pointer type - * - 'f' for \c GLfloat and \c GLclampf - * - 'd' for \c GLdouble and \c GLclampd - */ - const char *parameter_signature; - - /** - * Offset in the dispatch table where the pointer to the real function is - * located. If the driver has not requested that the named function be - * added to the dispatch table, this will have the value ~0. - */ - unsigned dispatch_offset; -}; - -static struct _glapi_function ExtEntryTable[MAX_EXTENSION_FUNCS]; -static GLuint NumExtEntryPoints = 0; - -/** - * Generate new entrypoint - * - * Use a temporary dispatch offset of ~0 (i.e. -1). Later, when the driver - * calls \c _glapi_add_dispatch we'll put in the proper offset. If that - * never happens, and the user calls this function, he'll segfault. That's - * what you get when you try calling a GL function that doesn't really exist. - * - * \param funcName Name of the function to create an entry-point for. - * - * \sa _glapi_add_entrypoint - */ - -static struct _glapi_function * -add_function_name(const char *funcName) -{ - struct _glapi_function *entry = NULL; - - if (NumExtEntryPoints < MAX_EXTENSION_FUNCS) { - entry = &ExtEntryTable[NumExtEntryPoints]; - - ExtEntryTable[NumExtEntryPoints].name = strdup(funcName); - ExtEntryTable[NumExtEntryPoints].parameter_signature = NULL; - ExtEntryTable[NumExtEntryPoints].dispatch_offset = ~0; - NumExtEntryPoints++; - } - - return entry; -} - -/** - * Fill-in the dispatch stub for the named function. - * - * This function is intended to be called by a hardware driver. When called, - * a dispatch stub may be created created for the function. A pointer to this - * dispatch function will be returned by glXGetProcAddress. - * - * \param function_names Array of pointers to function names that should - * share a common dispatch offset. - * \param parameter_signature String representing the types of the parameters - * passed to the named function. Parameter types - * are converted to characters using the following - * rules: - * - 'i' for \c GLint, \c GLuint, and \c GLenum - * - 'p' for any pointer type - * - 'f' for \c GLfloat and \c GLclampf - * - 'd' for \c GLdouble and \c GLclampd - * - * \returns - * The offset in the dispatch table of the named function. A pointer to the - * driver's implementation of the named function should be stored at - * \c dispatch_table[\c offset]. - * - * \sa glXGetProcAddress - * - * \warning - * This function can only handle up to 8 names at a time. As far as I know, - * the maximum number of names ever associated with an existing GL function is - * 4 (\c glPointParameterfSGIS, \c glPointParameterfEXT, - * \c glPointParameterfARB, and \c glPointParameterf), so this should not be - * too painful of a limitation. - * - * \todo - * Determine whether or not \c parameter_signature should be allowed to be - * \c NULL. It doesn't seem like much of a hardship for drivers to have to - * pass in an empty string. - * - * \todo - * Determine if code should be added to reject function names that start with - * 'glX'. - * - * \bug - * Add code to compare \c parameter_signature with the parameter signature of - * a static function. In order to do that, we need to find a way to \b get - * the parameter signature of a static function. - */ - -PUBLIC int -_glapi_add_dispatch(const char *const *function_names, - const char *parameter_signature) -{ - static int next_dynamic_offset = FIRST_DYNAMIC_OFFSET; - const char *const real_sig = (parameter_signature != NULL) - ? parameter_signature : ""; - struct _glapi_function *entry[8]; - GLboolean is_static[8]; - unsigned i; - unsigned j; - int offset = ~0; - int new_offset; - - (void) memset(is_static, 0, sizeof(is_static)); - (void) memset(entry, 0, sizeof(entry)); - - for (i = 0; function_names[i] != NULL; i++) { - /* Do some trivial validation on the name of the function. */ - - if (function_names[i][0] != 'g' || function_names[i][1] != 'l') - return GL_FALSE; - - /* Determine if the named function already exists. If the function does - * exist, it must have the same parameter signature as the function - * being added. - */ - - new_offset = get_static_proc_offset(function_names[i]); - if (new_offset >= 0) { - /* FIXME: Make sure the parameter signatures match! How do we get - * FIXME: the parameter signature for static functions? - */ - - if ((offset != ~0) && (new_offset != offset)) { - return -1; - } - - is_static[i] = GL_TRUE; - offset = new_offset; - } - - for (j = 0; j < NumExtEntryPoints; j++) { - if (strcmp(ExtEntryTable[j].name, function_names[i]) == 0) { - /* The offset may be ~0 if the function name was added by - * glXGetProcAddress but never filled in by the driver. - */ - - if (ExtEntryTable[j].dispatch_offset != ~0) { - if (strcmp(real_sig, ExtEntryTable[j].parameter_signature) - != 0) - return -1; - - if ((offset != ~0) && - (ExtEntryTable[j].dispatch_offset != offset)) { - return -1; - } - - offset = ExtEntryTable[j].dispatch_offset; - } - - entry[i] = &ExtEntryTable[j]; - break; - } - } - } - - if (offset == ~0) { - offset = next_dynamic_offset; - next_dynamic_offset++; - } - - for (i = 0; function_names[i] != NULL; i++) { - if (!is_static[i]) { - if (entry[i] == NULL) { - entry[i] = add_function_name(function_names[i]); - if (entry[i] == NULL) - return -1; - } - - entry[i]->parameter_signature = strdup(real_sig); - entry[i]->dispatch_offset = offset; - } - } - - return offset; -} - -/* - * glXGetProcAddress doesn't exist in the protocol, the drivers never call - * this themselves, and neither does the server. warn if it happens though. - */ -PUBLIC _glapi_proc -_glapi_get_proc_address(const char *funcName) -{ - ErrorF("_glapi_get_proc_address called!\n"); - return NULL; -} - -/** - * Return size of dispatch table struct as number of functions (or - * slots). - */ -PUBLIC GLuint -_glapi_get_dispatch_table_size(void) -{ - return DISPATCH_TABLE_SIZE; -} - -#if defined(PTHREADS) || defined(GLX_USE_TLS) -/** - * Perform platform-specific GL API entry-point fixups. - */ -static void -init_glapi_relocs(void) -{ -#if defined(USE_X86_ASM) && defined(GLX_USE_TLS) && !defined(GLX_X86_READONLY_TEXT) - extern unsigned long _x86_get_dispatch(void); - - char run_time_patch[] = { - 0x65, 0xa1, 0, 0, 0, 0 /* movl %gs:0,%eax */ - }; - GLuint *offset = (GLuint *) &run_time_patch[2]; /* 32-bits for x86/32 */ - const GLubyte *const get_disp = (const GLubyte *) run_time_patch; - GLubyte *curr_func = (GLubyte *) gl_dispatch_functions_start; - - *offset = _x86_get_dispatch(); - while (curr_func != (GLubyte *) gl_dispatch_functions_end) { - (void) memcpy(curr_func, get_disp, sizeof(run_time_patch)); - curr_func += DISPATCH_FUNCTION_SIZE; - } -#endif -} -#endif /* defined(PTHREADS) || defined(GLX_USE_TLS) */ diff --git a/xserver/glx/glapi.h b/xserver/glx/glapi.h deleted file mode 100644 index bad791eab..000000000 --- a/xserver/glx/glapi.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 7.1 - * - * Copyright (C) 1999-2008 Brian Paul 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 - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * \mainpage Mesa GL API Module - * - * \section GLAPIIntroduction Introduction - * - * The Mesa GL API module is responsible for dispatching all the - * gl*() functions. All GL functions are dispatched by jumping through - * the current dispatch table (basically a struct full of function - * pointers.) - * - * A per-thread current dispatch table and per-thread current context - * pointer are managed by this module too. - * - * This module is intended to be non-Mesa-specific so it can be used - * with the X/DRI libGL also. - */ - -#ifndef _GLAPI_H -#define _GLAPI_H - -#define GL_GLEXT_PROTOTYPES - -#include "GL/gl.h" -#include "GL/glext.h" -#include "glthread.h" - -struct _glapi_table; - -typedef void (*_glapi_proc) (void); /* generic function pointer */ - -typedef void (*_glapi_warning_func) (void *ctx, const char *str, ...); - -#if defined(USE_MGL_NAMESPACE) -#define _glapi_set_dispatch _mglapi_set_dispatch -#define _glapi_get_dispatch _mglapi_get_dispatch -#define _glapi_set_context _mglapi_set_context -#define _glapi_get_context _mglapi_get_context -#define _glapi_Context _mglapi_Context -#define _glapi_Dispatch _mglapi_Dispatch -#endif - -/* - * Number of extension functions which we can dynamically add at runtime. - */ -#define MAX_EXTENSION_FUNCS 300 - -/** - ** Define the GET_CURRENT_CONTEXT() macro. - ** \param C local variable which will hold the current context. - **/ -#if defined (GLX_USE_TLS) - -const extern void *_glapi_Context; -const extern struct _glapi_table *_glapi_Dispatch; - -extern TLS void *_glapi_tls_Context; - -#define GET_CURRENT_CONTEXT(C) GLcontext *C = (GLcontext *) _glapi_tls_Context - -#else - -extern void *_glapi_Context; -extern struct _glapi_table *_glapi_Dispatch; - -#ifdef THREADS -#define GET_CURRENT_CONTEXT(C) GLcontext *C = (GLcontext *) (_glapi_Context ? _glapi_Context : _glapi_get_context()) -#else -#define GET_CURRENT_CONTEXT(C) GLcontext *C = (GLcontext *) _glapi_Context -#endif - -#endif /* defined (GLX_USE_TLS) */ - -/** - ** GL API public functions - **/ - -extern void - _glapi_check_multithread(void); - -extern void - _glapi_set_context(void *context); - -extern void *_glapi_get_context(void); - -extern void - _glapi_set_dispatch(struct _glapi_table *dispatch); - -extern struct _glapi_table *_glapi_get_dispatch(void); - -extern int - _glapi_begin_dispatch_override(struct _glapi_table *override); - -extern void - _glapi_end_dispatch_override(int layer); - -struct _glapi_table *_glapi_get_override_dispatch(int layer); - -extern GLuint _glapi_get_dispatch_table_size(void); - -extern int - -_glapi_add_dispatch(const char *const *function_names, - const char *parameter_signature); - -extern _glapi_proc _glapi_get_proc_address(const char *funcName); - -extern struct _glapi_table *_glapi_create_table_from_handle(void *handle, - const char - *symbol_prefix); - -#endif diff --git a/xserver/glx/glapi_gentable.c b/xserver/glx/glapi_gentable.c deleted file mode 100644 index 4b2801547..000000000 --- a/xserver/glx/glapi_gentable.c +++ /dev/null @@ -1,10058 +0,0 @@ -/* DO NOT EDIT - This file generated automatically by gl_gen_table.py (from Mesa) script */ - -/* - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. - * (C) Copyright IBM Corporation 2004, 2005 - * (C) Copyright Apple Inc 2011 - * 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 - * BRIAN PAUL, IBM, - * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/* GLXEXT is the define used in the xserver when the GLX extension is being - * built. Hijack this to determine whether this file is being built for the - * server or the client. - */ -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \ - || (!defined(GLXEXT) && defined(DEBUG) && !defined(_WIN32_WCE)) -#define USE_BACKTRACE -#endif - -#ifdef USE_BACKTRACE -#include -#endif - -#include -#include -#include - -#include - -#include "glapi.h" -#include "glapitable.h" - -#ifdef GLXEXT -#include "os.h" -#endif - -static void -__glapi_gentable_NoOp(void) -{ - const char *fstr = "Unknown"; - - /* Silence potential GCC warning for some #ifdef paths. - */ - (void) fstr; -#if defined(USE_BACKTRACE) -#if !defined(GLXEXT) - if (getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG")) -#endif - { - void *frames[2]; - - if (backtrace(frames, 2) == 2) { - Dl_info info; - - dladdr(frames[1], &info); - if (info.dli_sname) - fstr = info.dli_sname; - } - -#if !defined(GLXEXT) - fprintf(stderr, "Call to unimplemented API: %s\n", fstr); -#endif - } -#endif -#if defined(GLXEXT) - LogMessage(X_ERROR, "GLX: Call to unimplemented API: %s\n", fstr); -#endif -} - -static void -__glapi_gentable_set_remaining_noop(struct _glapi_table *disp) -{ - GLuint entries = _glapi_get_dispatch_table_size(); - void **dispatch = (void **) disp; - int i; - - /* ISO C is annoying sometimes */ - union { - _glapi_proc p; - void *v; - } p; - - p.p = __glapi_gentable_NoOp; - - for (i = 0; i < entries; i++) - if (dispatch[i] == NULL) - dispatch[i] = p.v; -} - -struct _glapi_table * -_glapi_create_table_from_handle(void *handle, const char *symbol_prefix) -{ - struct _glapi_table *disp = calloc(_glapi_get_dispatch_table_size(), sizeof(void*)); - char symboln[512]; - - if (!disp) - return NULL; - - if (symbol_prefix == NULL) - symbol_prefix = ""; - - if (!disp->NewList) { - void **procp = (void **) &disp->NewList; - - snprintf(symboln, sizeof(symboln), "%sNewList", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndList) { - void **procp = (void **) &disp->EndList; - - snprintf(symboln, sizeof(symboln), "%sEndList", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CallList) { - void **procp = (void **) &disp->CallList; - - snprintf(symboln, sizeof(symboln), "%sCallList", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CallLists) { - void **procp = (void **) &disp->CallLists; - - snprintf(symboln, sizeof(symboln), "%sCallLists", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteLists) { - void **procp = (void **) &disp->DeleteLists; - - snprintf(symboln, sizeof(symboln), "%sDeleteLists", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenLists) { - void **procp = (void **) &disp->GenLists; - - snprintf(symboln, sizeof(symboln), "%sGenLists", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ListBase) { - void **procp = (void **) &disp->ListBase; - - snprintf(symboln, sizeof(symboln), "%sListBase", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Begin) { - void **procp = (void **) &disp->Begin; - - snprintf(symboln, sizeof(symboln), "%sBegin", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Bitmap) { - void **procp = (void **) &disp->Bitmap; - - snprintf(symboln, sizeof(symboln), "%sBitmap", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3b) { - void **procp = (void **) &disp->Color3b; - - snprintf(symboln, sizeof(symboln), "%sColor3b", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3bv) { - void **procp = (void **) &disp->Color3bv; - - snprintf(symboln, sizeof(symboln), "%sColor3bv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3d) { - void **procp = (void **) &disp->Color3d; - - snprintf(symboln, sizeof(symboln), "%sColor3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3dv) { - void **procp = (void **) &disp->Color3dv; - - snprintf(symboln, sizeof(symboln), "%sColor3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3f) { - void **procp = (void **) &disp->Color3f; - - snprintf(symboln, sizeof(symboln), "%sColor3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3fv) { - void **procp = (void **) &disp->Color3fv; - - snprintf(symboln, sizeof(symboln), "%sColor3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3i) { - void **procp = (void **) &disp->Color3i; - - snprintf(symboln, sizeof(symboln), "%sColor3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3iv) { - void **procp = (void **) &disp->Color3iv; - - snprintf(symboln, sizeof(symboln), "%sColor3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3s) { - void **procp = (void **) &disp->Color3s; - - snprintf(symboln, sizeof(symboln), "%sColor3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3sv) { - void **procp = (void **) &disp->Color3sv; - - snprintf(symboln, sizeof(symboln), "%sColor3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3ub) { - void **procp = (void **) &disp->Color3ub; - - snprintf(symboln, sizeof(symboln), "%sColor3ub", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3ubv) { - void **procp = (void **) &disp->Color3ubv; - - snprintf(symboln, sizeof(symboln), "%sColor3ubv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3ui) { - void **procp = (void **) &disp->Color3ui; - - snprintf(symboln, sizeof(symboln), "%sColor3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3uiv) { - void **procp = (void **) &disp->Color3uiv; - - snprintf(symboln, sizeof(symboln), "%sColor3uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3us) { - void **procp = (void **) &disp->Color3us; - - snprintf(symboln, sizeof(symboln), "%sColor3us", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color3usv) { - void **procp = (void **) &disp->Color3usv; - - snprintf(symboln, sizeof(symboln), "%sColor3usv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4b) { - void **procp = (void **) &disp->Color4b; - - snprintf(symboln, sizeof(symboln), "%sColor4b", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4bv) { - void **procp = (void **) &disp->Color4bv; - - snprintf(symboln, sizeof(symboln), "%sColor4bv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4d) { - void **procp = (void **) &disp->Color4d; - - snprintf(symboln, sizeof(symboln), "%sColor4d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4dv) { - void **procp = (void **) &disp->Color4dv; - - snprintf(symboln, sizeof(symboln), "%sColor4dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4f) { - void **procp = (void **) &disp->Color4f; - - snprintf(symboln, sizeof(symboln), "%sColor4f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4fv) { - void **procp = (void **) &disp->Color4fv; - - snprintf(symboln, sizeof(symboln), "%sColor4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4i) { - void **procp = (void **) &disp->Color4i; - - snprintf(symboln, sizeof(symboln), "%sColor4i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4iv) { - void **procp = (void **) &disp->Color4iv; - - snprintf(symboln, sizeof(symboln), "%sColor4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4s) { - void **procp = (void **) &disp->Color4s; - - snprintf(symboln, sizeof(symboln), "%sColor4s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4sv) { - void **procp = (void **) &disp->Color4sv; - - snprintf(symboln, sizeof(symboln), "%sColor4sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4ub) { - void **procp = (void **) &disp->Color4ub; - - snprintf(symboln, sizeof(symboln), "%sColor4ub", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4ubv) { - void **procp = (void **) &disp->Color4ubv; - - snprintf(symboln, sizeof(symboln), "%sColor4ubv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4ui) { - void **procp = (void **) &disp->Color4ui; - - snprintf(symboln, sizeof(symboln), "%sColor4ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4uiv) { - void **procp = (void **) &disp->Color4uiv; - - snprintf(symboln, sizeof(symboln), "%sColor4uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4us) { - void **procp = (void **) &disp->Color4us; - - snprintf(symboln, sizeof(symboln), "%sColor4us", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Color4usv) { - void **procp = (void **) &disp->Color4usv; - - snprintf(symboln, sizeof(symboln), "%sColor4usv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EdgeFlag) { - void **procp = (void **) &disp->EdgeFlag; - - snprintf(symboln, sizeof(symboln), "%sEdgeFlag", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EdgeFlagv) { - void **procp = (void **) &disp->EdgeFlagv; - - snprintf(symboln, sizeof(symboln), "%sEdgeFlagv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->End) { - void **procp = (void **) &disp->End; - - snprintf(symboln, sizeof(symboln), "%sEnd", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexd) { - void **procp = (void **) &disp->Indexd; - - snprintf(symboln, sizeof(symboln), "%sIndexd", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexdv) { - void **procp = (void **) &disp->Indexdv; - - snprintf(symboln, sizeof(symboln), "%sIndexdv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexf) { - void **procp = (void **) &disp->Indexf; - - snprintf(symboln, sizeof(symboln), "%sIndexf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexfv) { - void **procp = (void **) &disp->Indexfv; - - snprintf(symboln, sizeof(symboln), "%sIndexfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexi) { - void **procp = (void **) &disp->Indexi; - - snprintf(symboln, sizeof(symboln), "%sIndexi", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexiv) { - void **procp = (void **) &disp->Indexiv; - - snprintf(symboln, sizeof(symboln), "%sIndexiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexs) { - void **procp = (void **) &disp->Indexs; - - snprintf(symboln, sizeof(symboln), "%sIndexs", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexsv) { - void **procp = (void **) &disp->Indexsv; - - snprintf(symboln, sizeof(symboln), "%sIndexsv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3b) { - void **procp = (void **) &disp->Normal3b; - - snprintf(symboln, sizeof(symboln), "%sNormal3b", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3bv) { - void **procp = (void **) &disp->Normal3bv; - - snprintf(symboln, sizeof(symboln), "%sNormal3bv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3d) { - void **procp = (void **) &disp->Normal3d; - - snprintf(symboln, sizeof(symboln), "%sNormal3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3dv) { - void **procp = (void **) &disp->Normal3dv; - - snprintf(symboln, sizeof(symboln), "%sNormal3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3f) { - void **procp = (void **) &disp->Normal3f; - - snprintf(symboln, sizeof(symboln), "%sNormal3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3fv) { - void **procp = (void **) &disp->Normal3fv; - - snprintf(symboln, sizeof(symboln), "%sNormal3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3i) { - void **procp = (void **) &disp->Normal3i; - - snprintf(symboln, sizeof(symboln), "%sNormal3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3iv) { - void **procp = (void **) &disp->Normal3iv; - - snprintf(symboln, sizeof(symboln), "%sNormal3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3s) { - void **procp = (void **) &disp->Normal3s; - - snprintf(symboln, sizeof(symboln), "%sNormal3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Normal3sv) { - void **procp = (void **) &disp->Normal3sv; - - snprintf(symboln, sizeof(symboln), "%sNormal3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2d) { - void **procp = (void **) &disp->RasterPos2d; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2dv) { - void **procp = (void **) &disp->RasterPos2dv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2f) { - void **procp = (void **) &disp->RasterPos2f; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2fv) { - void **procp = (void **) &disp->RasterPos2fv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2i) { - void **procp = (void **) &disp->RasterPos2i; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2iv) { - void **procp = (void **) &disp->RasterPos2iv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2s) { - void **procp = (void **) &disp->RasterPos2s; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos2sv) { - void **procp = (void **) &disp->RasterPos2sv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos2sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3d) { - void **procp = (void **) &disp->RasterPos3d; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3dv) { - void **procp = (void **) &disp->RasterPos3dv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3f) { - void **procp = (void **) &disp->RasterPos3f; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3fv) { - void **procp = (void **) &disp->RasterPos3fv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3i) { - void **procp = (void **) &disp->RasterPos3i; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3iv) { - void **procp = (void **) &disp->RasterPos3iv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3s) { - void **procp = (void **) &disp->RasterPos3s; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos3sv) { - void **procp = (void **) &disp->RasterPos3sv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4d) { - void **procp = (void **) &disp->RasterPos4d; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4dv) { - void **procp = (void **) &disp->RasterPos4dv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4f) { - void **procp = (void **) &disp->RasterPos4f; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4fv) { - void **procp = (void **) &disp->RasterPos4fv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4i) { - void **procp = (void **) &disp->RasterPos4i; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4iv) { - void **procp = (void **) &disp->RasterPos4iv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4s) { - void **procp = (void **) &disp->RasterPos4s; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RasterPos4sv) { - void **procp = (void **) &disp->RasterPos4sv; - - snprintf(symboln, sizeof(symboln), "%sRasterPos4sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rectd) { - void **procp = (void **) &disp->Rectd; - - snprintf(symboln, sizeof(symboln), "%sRectd", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rectdv) { - void **procp = (void **) &disp->Rectdv; - - snprintf(symboln, sizeof(symboln), "%sRectdv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rectf) { - void **procp = (void **) &disp->Rectf; - - snprintf(symboln, sizeof(symboln), "%sRectf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rectfv) { - void **procp = (void **) &disp->Rectfv; - - snprintf(symboln, sizeof(symboln), "%sRectfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Recti) { - void **procp = (void **) &disp->Recti; - - snprintf(symboln, sizeof(symboln), "%sRecti", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rectiv) { - void **procp = (void **) &disp->Rectiv; - - snprintf(symboln, sizeof(symboln), "%sRectiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rects) { - void **procp = (void **) &disp->Rects; - - snprintf(symboln, sizeof(symboln), "%sRects", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rectsv) { - void **procp = (void **) &disp->Rectsv; - - snprintf(symboln, sizeof(symboln), "%sRectsv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1d) { - void **procp = (void **) &disp->TexCoord1d; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1dv) { - void **procp = (void **) &disp->TexCoord1dv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1f) { - void **procp = (void **) &disp->TexCoord1f; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1fv) { - void **procp = (void **) &disp->TexCoord1fv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1i) { - void **procp = (void **) &disp->TexCoord1i; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1iv) { - void **procp = (void **) &disp->TexCoord1iv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1s) { - void **procp = (void **) &disp->TexCoord1s; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord1sv) { - void **procp = (void **) &disp->TexCoord1sv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord1sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2d) { - void **procp = (void **) &disp->TexCoord2d; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2dv) { - void **procp = (void **) &disp->TexCoord2dv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2f) { - void **procp = (void **) &disp->TexCoord2f; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2fv) { - void **procp = (void **) &disp->TexCoord2fv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2i) { - void **procp = (void **) &disp->TexCoord2i; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2iv) { - void **procp = (void **) &disp->TexCoord2iv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2s) { - void **procp = (void **) &disp->TexCoord2s; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord2sv) { - void **procp = (void **) &disp->TexCoord2sv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord2sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3d) { - void **procp = (void **) &disp->TexCoord3d; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3dv) { - void **procp = (void **) &disp->TexCoord3dv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3f) { - void **procp = (void **) &disp->TexCoord3f; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3fv) { - void **procp = (void **) &disp->TexCoord3fv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3i) { - void **procp = (void **) &disp->TexCoord3i; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3iv) { - void **procp = (void **) &disp->TexCoord3iv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3s) { - void **procp = (void **) &disp->TexCoord3s; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord3sv) { - void **procp = (void **) &disp->TexCoord3sv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4d) { - void **procp = (void **) &disp->TexCoord4d; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4dv) { - void **procp = (void **) &disp->TexCoord4dv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4f) { - void **procp = (void **) &disp->TexCoord4f; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4fv) { - void **procp = (void **) &disp->TexCoord4fv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4i) { - void **procp = (void **) &disp->TexCoord4i; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4iv) { - void **procp = (void **) &disp->TexCoord4iv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4s) { - void **procp = (void **) &disp->TexCoord4s; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoord4sv) { - void **procp = (void **) &disp->TexCoord4sv; - - snprintf(symboln, sizeof(symboln), "%sTexCoord4sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2d) { - void **procp = (void **) &disp->Vertex2d; - - snprintf(symboln, sizeof(symboln), "%sVertex2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2dv) { - void **procp = (void **) &disp->Vertex2dv; - - snprintf(symboln, sizeof(symboln), "%sVertex2dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2f) { - void **procp = (void **) &disp->Vertex2f; - - snprintf(symboln, sizeof(symboln), "%sVertex2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2fv) { - void **procp = (void **) &disp->Vertex2fv; - - snprintf(symboln, sizeof(symboln), "%sVertex2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2i) { - void **procp = (void **) &disp->Vertex2i; - - snprintf(symboln, sizeof(symboln), "%sVertex2i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2iv) { - void **procp = (void **) &disp->Vertex2iv; - - snprintf(symboln, sizeof(symboln), "%sVertex2iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2s) { - void **procp = (void **) &disp->Vertex2s; - - snprintf(symboln, sizeof(symboln), "%sVertex2s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex2sv) { - void **procp = (void **) &disp->Vertex2sv; - - snprintf(symboln, sizeof(symboln), "%sVertex2sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3d) { - void **procp = (void **) &disp->Vertex3d; - - snprintf(symboln, sizeof(symboln), "%sVertex3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3dv) { - void **procp = (void **) &disp->Vertex3dv; - - snprintf(symboln, sizeof(symboln), "%sVertex3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3f) { - void **procp = (void **) &disp->Vertex3f; - - snprintf(symboln, sizeof(symboln), "%sVertex3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3fv) { - void **procp = (void **) &disp->Vertex3fv; - - snprintf(symboln, sizeof(symboln), "%sVertex3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3i) { - void **procp = (void **) &disp->Vertex3i; - - snprintf(symboln, sizeof(symboln), "%sVertex3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3iv) { - void **procp = (void **) &disp->Vertex3iv; - - snprintf(symboln, sizeof(symboln), "%sVertex3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3s) { - void **procp = (void **) &disp->Vertex3s; - - snprintf(symboln, sizeof(symboln), "%sVertex3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex3sv) { - void **procp = (void **) &disp->Vertex3sv; - - snprintf(symboln, sizeof(symboln), "%sVertex3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4d) { - void **procp = (void **) &disp->Vertex4d; - - snprintf(symboln, sizeof(symboln), "%sVertex4d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4dv) { - void **procp = (void **) &disp->Vertex4dv; - - snprintf(symboln, sizeof(symboln), "%sVertex4dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4f) { - void **procp = (void **) &disp->Vertex4f; - - snprintf(symboln, sizeof(symboln), "%sVertex4f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4fv) { - void **procp = (void **) &disp->Vertex4fv; - - snprintf(symboln, sizeof(symboln), "%sVertex4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4i) { - void **procp = (void **) &disp->Vertex4i; - - snprintf(symboln, sizeof(symboln), "%sVertex4i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4iv) { - void **procp = (void **) &disp->Vertex4iv; - - snprintf(symboln, sizeof(symboln), "%sVertex4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4s) { - void **procp = (void **) &disp->Vertex4s; - - snprintf(symboln, sizeof(symboln), "%sVertex4s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Vertex4sv) { - void **procp = (void **) &disp->Vertex4sv; - - snprintf(symboln, sizeof(symboln), "%sVertex4sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClipPlane) { - void **procp = (void **) &disp->ClipPlane; - - snprintf(symboln, sizeof(symboln), "%sClipPlane", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorMaterial) { - void **procp = (void **) &disp->ColorMaterial; - - snprintf(symboln, sizeof(symboln), "%sColorMaterial", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CullFace) { - void **procp = (void **) &disp->CullFace; - - snprintf(symboln, sizeof(symboln), "%sCullFace", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Fogf) { - void **procp = (void **) &disp->Fogf; - - snprintf(symboln, sizeof(symboln), "%sFogf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Fogfv) { - void **procp = (void **) &disp->Fogfv; - - snprintf(symboln, sizeof(symboln), "%sFogfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Fogi) { - void **procp = (void **) &disp->Fogi; - - snprintf(symboln, sizeof(symboln), "%sFogi", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Fogiv) { - void **procp = (void **) &disp->Fogiv; - - snprintf(symboln, sizeof(symboln), "%sFogiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FrontFace) { - void **procp = (void **) &disp->FrontFace; - - snprintf(symboln, sizeof(symboln), "%sFrontFace", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Hint) { - void **procp = (void **) &disp->Hint; - - snprintf(symboln, sizeof(symboln), "%sHint", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Lightf) { - void **procp = (void **) &disp->Lightf; - - snprintf(symboln, sizeof(symboln), "%sLightf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Lightfv) { - void **procp = (void **) &disp->Lightfv; - - snprintf(symboln, sizeof(symboln), "%sLightfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Lighti) { - void **procp = (void **) &disp->Lighti; - - snprintf(symboln, sizeof(symboln), "%sLighti", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Lightiv) { - void **procp = (void **) &disp->Lightiv; - - snprintf(symboln, sizeof(symboln), "%sLightiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LightModelf) { - void **procp = (void **) &disp->LightModelf; - - snprintf(symboln, sizeof(symboln), "%sLightModelf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LightModelfv) { - void **procp = (void **) &disp->LightModelfv; - - snprintf(symboln, sizeof(symboln), "%sLightModelfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LightModeli) { - void **procp = (void **) &disp->LightModeli; - - snprintf(symboln, sizeof(symboln), "%sLightModeli", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LightModeliv) { - void **procp = (void **) &disp->LightModeliv; - - snprintf(symboln, sizeof(symboln), "%sLightModeliv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LineStipple) { - void **procp = (void **) &disp->LineStipple; - - snprintf(symboln, sizeof(symboln), "%sLineStipple", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LineWidth) { - void **procp = (void **) &disp->LineWidth; - - snprintf(symboln, sizeof(symboln), "%sLineWidth", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Materialf) { - void **procp = (void **) &disp->Materialf; - - snprintf(symboln, sizeof(symboln), "%sMaterialf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Materialfv) { - void **procp = (void **) &disp->Materialfv; - - snprintf(symboln, sizeof(symboln), "%sMaterialfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Materiali) { - void **procp = (void **) &disp->Materiali; - - snprintf(symboln, sizeof(symboln), "%sMateriali", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Materialiv) { - void **procp = (void **) &disp->Materialiv; - - snprintf(symboln, sizeof(symboln), "%sMaterialiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointSize) { - void **procp = (void **) &disp->PointSize; - - snprintf(symboln, sizeof(symboln), "%sPointSize", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PolygonMode) { - void **procp = (void **) &disp->PolygonMode; - - snprintf(symboln, sizeof(symboln), "%sPolygonMode", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PolygonStipple) { - void **procp = (void **) &disp->PolygonStipple; - - snprintf(symboln, sizeof(symboln), "%sPolygonStipple", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Scissor) { - void **procp = (void **) &disp->Scissor; - - snprintf(symboln, sizeof(symboln), "%sScissor", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ShadeModel) { - void **procp = (void **) &disp->ShadeModel; - - snprintf(symboln, sizeof(symboln), "%sShadeModel", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameterf) { - void **procp = (void **) &disp->TexParameterf; - - snprintf(symboln, sizeof(symboln), "%sTexParameterf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameterfv) { - void **procp = (void **) &disp->TexParameterfv; - - snprintf(symboln, sizeof(symboln), "%sTexParameterfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameteri) { - void **procp = (void **) &disp->TexParameteri; - - snprintf(symboln, sizeof(symboln), "%sTexParameteri", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameteriv) { - void **procp = (void **) &disp->TexParameteriv; - - snprintf(symboln, sizeof(symboln), "%sTexParameteriv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexImage1D) { - void **procp = (void **) &disp->TexImage1D; - - snprintf(symboln, sizeof(symboln), "%sTexImage1D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexImage2D) { - void **procp = (void **) &disp->TexImage2D; - - snprintf(symboln, sizeof(symboln), "%sTexImage2D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexEnvf) { - void **procp = (void **) &disp->TexEnvf; - - snprintf(symboln, sizeof(symboln), "%sTexEnvf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexEnvfv) { - void **procp = (void **) &disp->TexEnvfv; - - snprintf(symboln, sizeof(symboln), "%sTexEnvfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexEnvi) { - void **procp = (void **) &disp->TexEnvi; - - snprintf(symboln, sizeof(symboln), "%sTexEnvi", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexEnviv) { - void **procp = (void **) &disp->TexEnviv; - - snprintf(symboln, sizeof(symboln), "%sTexEnviv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexGend) { - void **procp = (void **) &disp->TexGend; - - snprintf(symboln, sizeof(symboln), "%sTexGend", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexGendv) { - void **procp = (void **) &disp->TexGendv; - - snprintf(symboln, sizeof(symboln), "%sTexGendv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexGenf) { - void **procp = (void **) &disp->TexGenf; - - snprintf(symboln, sizeof(symboln), "%sTexGenf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexGenfv) { - void **procp = (void **) &disp->TexGenfv; - - snprintf(symboln, sizeof(symboln), "%sTexGenfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexGeni) { - void **procp = (void **) &disp->TexGeni; - - snprintf(symboln, sizeof(symboln), "%sTexGeni", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexGeniv) { - void **procp = (void **) &disp->TexGeniv; - - snprintf(symboln, sizeof(symboln), "%sTexGeniv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FeedbackBuffer) { - void **procp = (void **) &disp->FeedbackBuffer; - - snprintf(symboln, sizeof(symboln), "%sFeedbackBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SelectBuffer) { - void **procp = (void **) &disp->SelectBuffer; - - snprintf(symboln, sizeof(symboln), "%sSelectBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RenderMode) { - void **procp = (void **) &disp->RenderMode; - - snprintf(symboln, sizeof(symboln), "%sRenderMode", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->InitNames) { - void **procp = (void **) &disp->InitNames; - - snprintf(symboln, sizeof(symboln), "%sInitNames", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadName) { - void **procp = (void **) &disp->LoadName; - - snprintf(symboln, sizeof(symboln), "%sLoadName", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PassThrough) { - void **procp = (void **) &disp->PassThrough; - - snprintf(symboln, sizeof(symboln), "%sPassThrough", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PopName) { - void **procp = (void **) &disp->PopName; - - snprintf(symboln, sizeof(symboln), "%sPopName", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PushName) { - void **procp = (void **) &disp->PushName; - - snprintf(symboln, sizeof(symboln), "%sPushName", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawBuffer) { - void **procp = (void **) &disp->DrawBuffer; - - snprintf(symboln, sizeof(symboln), "%sDrawBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Clear) { - void **procp = (void **) &disp->Clear; - - snprintf(symboln, sizeof(symboln), "%sClear", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearAccum) { - void **procp = (void **) &disp->ClearAccum; - - snprintf(symboln, sizeof(symboln), "%sClearAccum", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearIndex) { - void **procp = (void **) &disp->ClearIndex; - - snprintf(symboln, sizeof(symboln), "%sClearIndex", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearColor) { - void **procp = (void **) &disp->ClearColor; - - snprintf(symboln, sizeof(symboln), "%sClearColor", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearStencil) { - void **procp = (void **) &disp->ClearStencil; - - snprintf(symboln, sizeof(symboln), "%sClearStencil", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearDepth) { - void **procp = (void **) &disp->ClearDepth; - - snprintf(symboln, sizeof(symboln), "%sClearDepth", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilMask) { - void **procp = (void **) &disp->StencilMask; - - snprintf(symboln, sizeof(symboln), "%sStencilMask", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorMask) { - void **procp = (void **) &disp->ColorMask; - - snprintf(symboln, sizeof(symboln), "%sColorMask", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DepthMask) { - void **procp = (void **) &disp->DepthMask; - - snprintf(symboln, sizeof(symboln), "%sDepthMask", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IndexMask) { - void **procp = (void **) &disp->IndexMask; - - snprintf(symboln, sizeof(symboln), "%sIndexMask", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Accum) { - void **procp = (void **) &disp->Accum; - - snprintf(symboln, sizeof(symboln), "%sAccum", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Disable) { - void **procp = (void **) &disp->Disable; - - snprintf(symboln, sizeof(symboln), "%sDisable", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Enable) { - void **procp = (void **) &disp->Enable; - - snprintf(symboln, sizeof(symboln), "%sEnable", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Finish) { - void **procp = (void **) &disp->Finish; - - snprintf(symboln, sizeof(symboln), "%sFinish", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Flush) { - void **procp = (void **) &disp->Flush; - - snprintf(symboln, sizeof(symboln), "%sFlush", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PopAttrib) { - void **procp = (void **) &disp->PopAttrib; - - snprintf(symboln, sizeof(symboln), "%sPopAttrib", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PushAttrib) { - void **procp = (void **) &disp->PushAttrib; - - snprintf(symboln, sizeof(symboln), "%sPushAttrib", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Map1d) { - void **procp = (void **) &disp->Map1d; - - snprintf(symboln, sizeof(symboln), "%sMap1d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Map1f) { - void **procp = (void **) &disp->Map1f; - - snprintf(symboln, sizeof(symboln), "%sMap1f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Map2d) { - void **procp = (void **) &disp->Map2d; - - snprintf(symboln, sizeof(symboln), "%sMap2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Map2f) { - void **procp = (void **) &disp->Map2f; - - snprintf(symboln, sizeof(symboln), "%sMap2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MapGrid1d) { - void **procp = (void **) &disp->MapGrid1d; - - snprintf(symboln, sizeof(symboln), "%sMapGrid1d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MapGrid1f) { - void **procp = (void **) &disp->MapGrid1f; - - snprintf(symboln, sizeof(symboln), "%sMapGrid1f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MapGrid2d) { - void **procp = (void **) &disp->MapGrid2d; - - snprintf(symboln, sizeof(symboln), "%sMapGrid2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MapGrid2f) { - void **procp = (void **) &disp->MapGrid2f; - - snprintf(symboln, sizeof(symboln), "%sMapGrid2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord1d) { - void **procp = (void **) &disp->EvalCoord1d; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord1d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord1dv) { - void **procp = (void **) &disp->EvalCoord1dv; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord1dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord1f) { - void **procp = (void **) &disp->EvalCoord1f; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord1f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord1fv) { - void **procp = (void **) &disp->EvalCoord1fv; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord1fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord2d) { - void **procp = (void **) &disp->EvalCoord2d; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord2dv) { - void **procp = (void **) &disp->EvalCoord2dv; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord2dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord2f) { - void **procp = (void **) &disp->EvalCoord2f; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalCoord2fv) { - void **procp = (void **) &disp->EvalCoord2fv; - - snprintf(symboln, sizeof(symboln), "%sEvalCoord2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalMesh1) { - void **procp = (void **) &disp->EvalMesh1; - - snprintf(symboln, sizeof(symboln), "%sEvalMesh1", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalPoint1) { - void **procp = (void **) &disp->EvalPoint1; - - snprintf(symboln, sizeof(symboln), "%sEvalPoint1", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalMesh2) { - void **procp = (void **) &disp->EvalMesh2; - - snprintf(symboln, sizeof(symboln), "%sEvalMesh2", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EvalPoint2) { - void **procp = (void **) &disp->EvalPoint2; - - snprintf(symboln, sizeof(symboln), "%sEvalPoint2", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AlphaFunc) { - void **procp = (void **) &disp->AlphaFunc; - - snprintf(symboln, sizeof(symboln), "%sAlphaFunc", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFunc) { - void **procp = (void **) &disp->BlendFunc; - - snprintf(symboln, sizeof(symboln), "%sBlendFunc", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LogicOp) { - void **procp = (void **) &disp->LogicOp; - - snprintf(symboln, sizeof(symboln), "%sLogicOp", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilFunc) { - void **procp = (void **) &disp->StencilFunc; - - snprintf(symboln, sizeof(symboln), "%sStencilFunc", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilOp) { - void **procp = (void **) &disp->StencilOp; - - snprintf(symboln, sizeof(symboln), "%sStencilOp", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DepthFunc) { - void **procp = (void **) &disp->DepthFunc; - - snprintf(symboln, sizeof(symboln), "%sDepthFunc", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelZoom) { - void **procp = (void **) &disp->PixelZoom; - - snprintf(symboln, sizeof(symboln), "%sPixelZoom", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelTransferf) { - void **procp = (void **) &disp->PixelTransferf; - - snprintf(symboln, sizeof(symboln), "%sPixelTransferf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelTransferi) { - void **procp = (void **) &disp->PixelTransferi; - - snprintf(symboln, sizeof(symboln), "%sPixelTransferi", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelStoref) { - void **procp = (void **) &disp->PixelStoref; - - snprintf(symboln, sizeof(symboln), "%sPixelStoref", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelStorei) { - void **procp = (void **) &disp->PixelStorei; - - snprintf(symboln, sizeof(symboln), "%sPixelStorei", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelMapfv) { - void **procp = (void **) &disp->PixelMapfv; - - snprintf(symboln, sizeof(symboln), "%sPixelMapfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelMapuiv) { - void **procp = (void **) &disp->PixelMapuiv; - - snprintf(symboln, sizeof(symboln), "%sPixelMapuiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelMapusv) { - void **procp = (void **) &disp->PixelMapusv; - - snprintf(symboln, sizeof(symboln), "%sPixelMapusv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ReadBuffer) { - void **procp = (void **) &disp->ReadBuffer; - - snprintf(symboln, sizeof(symboln), "%sReadBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyPixels) { - void **procp = (void **) &disp->CopyPixels; - - snprintf(symboln, sizeof(symboln), "%sCopyPixels", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ReadPixels) { - void **procp = (void **) &disp->ReadPixels; - - snprintf(symboln, sizeof(symboln), "%sReadPixels", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawPixels) { - void **procp = (void **) &disp->DrawPixels; - - snprintf(symboln, sizeof(symboln), "%sDrawPixels", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBooleanv) { - void **procp = (void **) &disp->GetBooleanv; - - snprintf(symboln, sizeof(symboln), "%sGetBooleanv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetClipPlane) { - void **procp = (void **) &disp->GetClipPlane; - - snprintf(symboln, sizeof(symboln), "%sGetClipPlane", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetDoublev) { - void **procp = (void **) &disp->GetDoublev; - - snprintf(symboln, sizeof(symboln), "%sGetDoublev", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetError) { - void **procp = (void **) &disp->GetError; - - snprintf(symboln, sizeof(symboln), "%sGetError", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFloatv) { - void **procp = (void **) &disp->GetFloatv; - - snprintf(symboln, sizeof(symboln), "%sGetFloatv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetIntegerv) { - void **procp = (void **) &disp->GetIntegerv; - - snprintf(symboln, sizeof(symboln), "%sGetIntegerv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetLightfv) { - void **procp = (void **) &disp->GetLightfv; - - snprintf(symboln, sizeof(symboln), "%sGetLightfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetLightiv) { - void **procp = (void **) &disp->GetLightiv; - - snprintf(symboln, sizeof(symboln), "%sGetLightiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMapdv) { - void **procp = (void **) &disp->GetMapdv; - - snprintf(symboln, sizeof(symboln), "%sGetMapdv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMapfv) { - void **procp = (void **) &disp->GetMapfv; - - snprintf(symboln, sizeof(symboln), "%sGetMapfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMapiv) { - void **procp = (void **) &disp->GetMapiv; - - snprintf(symboln, sizeof(symboln), "%sGetMapiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMaterialfv) { - void **procp = (void **) &disp->GetMaterialfv; - - snprintf(symboln, sizeof(symboln), "%sGetMaterialfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMaterialiv) { - void **procp = (void **) &disp->GetMaterialiv; - - snprintf(symboln, sizeof(symboln), "%sGetMaterialiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPixelMapfv) { - void **procp = (void **) &disp->GetPixelMapfv; - - snprintf(symboln, sizeof(symboln), "%sGetPixelMapfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPixelMapuiv) { - void **procp = (void **) &disp->GetPixelMapuiv; - - snprintf(symboln, sizeof(symboln), "%sGetPixelMapuiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPixelMapusv) { - void **procp = (void **) &disp->GetPixelMapusv; - - snprintf(symboln, sizeof(symboln), "%sGetPixelMapusv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPolygonStipple) { - void **procp = (void **) &disp->GetPolygonStipple; - - snprintf(symboln, sizeof(symboln), "%sGetPolygonStipple", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetString) { - void **procp = (void **) &disp->GetString; - - snprintf(symboln, sizeof(symboln), "%sGetString", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexEnvfv) { - void **procp = (void **) &disp->GetTexEnvfv; - - snprintf(symboln, sizeof(symboln), "%sGetTexEnvfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexEnviv) { - void **procp = (void **) &disp->GetTexEnviv; - - snprintf(symboln, sizeof(symboln), "%sGetTexEnviv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexGendv) { - void **procp = (void **) &disp->GetTexGendv; - - snprintf(symboln, sizeof(symboln), "%sGetTexGendv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexGenfv) { - void **procp = (void **) &disp->GetTexGenfv; - - snprintf(symboln, sizeof(symboln), "%sGetTexGenfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexGeniv) { - void **procp = (void **) &disp->GetTexGeniv; - - snprintf(symboln, sizeof(symboln), "%sGetTexGeniv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexImage) { - void **procp = (void **) &disp->GetTexImage; - - snprintf(symboln, sizeof(symboln), "%sGetTexImage", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexParameterfv) { - void **procp = (void **) &disp->GetTexParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetTexParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexParameteriv) { - void **procp = (void **) &disp->GetTexParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetTexParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexLevelParameterfv) { - void **procp = (void **) &disp->GetTexLevelParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetTexLevelParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexLevelParameteriv) { - void **procp = (void **) &disp->GetTexLevelParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetTexLevelParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsEnabled) { - void **procp = (void **) &disp->IsEnabled; - - snprintf(symboln, sizeof(symboln), "%sIsEnabled", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsList) { - void **procp = (void **) &disp->IsList; - - snprintf(symboln, sizeof(symboln), "%sIsList", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DepthRange) { - void **procp = (void **) &disp->DepthRange; - - snprintf(symboln, sizeof(symboln), "%sDepthRange", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Frustum) { - void **procp = (void **) &disp->Frustum; - - snprintf(symboln, sizeof(symboln), "%sFrustum", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadIdentity) { - void **procp = (void **) &disp->LoadIdentity; - - snprintf(symboln, sizeof(symboln), "%sLoadIdentity", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadMatrixf) { - void **procp = (void **) &disp->LoadMatrixf; - - snprintf(symboln, sizeof(symboln), "%sLoadMatrixf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadMatrixd) { - void **procp = (void **) &disp->LoadMatrixd; - - snprintf(symboln, sizeof(symboln), "%sLoadMatrixd", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MatrixMode) { - void **procp = (void **) &disp->MatrixMode; - - snprintf(symboln, sizeof(symboln), "%sMatrixMode", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultMatrixf) { - void **procp = (void **) &disp->MultMatrixf; - - snprintf(symboln, sizeof(symboln), "%sMultMatrixf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultMatrixd) { - void **procp = (void **) &disp->MultMatrixd; - - snprintf(symboln, sizeof(symboln), "%sMultMatrixd", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Ortho) { - void **procp = (void **) &disp->Ortho; - - snprintf(symboln, sizeof(symboln), "%sOrtho", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PopMatrix) { - void **procp = (void **) &disp->PopMatrix; - - snprintf(symboln, sizeof(symboln), "%sPopMatrix", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PushMatrix) { - void **procp = (void **) &disp->PushMatrix; - - snprintf(symboln, sizeof(symboln), "%sPushMatrix", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rotated) { - void **procp = (void **) &disp->Rotated; - - snprintf(symboln, sizeof(symboln), "%sRotated", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Rotatef) { - void **procp = (void **) &disp->Rotatef; - - snprintf(symboln, sizeof(symboln), "%sRotatef", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Scaled) { - void **procp = (void **) &disp->Scaled; - - snprintf(symboln, sizeof(symboln), "%sScaled", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Scalef) { - void **procp = (void **) &disp->Scalef; - - snprintf(symboln, sizeof(symboln), "%sScalef", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Translated) { - void **procp = (void **) &disp->Translated; - - snprintf(symboln, sizeof(symboln), "%sTranslated", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Translatef) { - void **procp = (void **) &disp->Translatef; - - snprintf(symboln, sizeof(symboln), "%sTranslatef", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Viewport) { - void **procp = (void **) &disp->Viewport; - - snprintf(symboln, sizeof(symboln), "%sViewport", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ArrayElement) { - void **procp = (void **) &disp->ArrayElement; - - snprintf(symboln, sizeof(symboln), "%sArrayElement", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ArrayElement) { - void **procp = (void **) &disp->ArrayElement; - - snprintf(symboln, sizeof(symboln), "%sArrayElementEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindTexture) { - void **procp = (void **) &disp->BindTexture; - - snprintf(symboln, sizeof(symboln), "%sBindTexture", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindTexture) { - void **procp = (void **) &disp->BindTexture; - - snprintf(symboln, sizeof(symboln), "%sBindTextureEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorPointer) { - void **procp = (void **) &disp->ColorPointer; - - snprintf(symboln, sizeof(symboln), "%sColorPointer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DisableClientState) { - void **procp = (void **) &disp->DisableClientState; - - snprintf(symboln, sizeof(symboln), "%sDisableClientState", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawArrays) { - void **procp = (void **) &disp->DrawArrays; - - snprintf(symboln, sizeof(symboln), "%sDrawArrays", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawArrays) { - void **procp = (void **) &disp->DrawArrays; - - snprintf(symboln, sizeof(symboln), "%sDrawArraysEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawElements) { - void **procp = (void **) &disp->DrawElements; - - snprintf(symboln, sizeof(symboln), "%sDrawElements", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EdgeFlagPointer) { - void **procp = (void **) &disp->EdgeFlagPointer; - - snprintf(symboln, sizeof(symboln), "%sEdgeFlagPointer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EnableClientState) { - void **procp = (void **) &disp->EnableClientState; - - snprintf(symboln, sizeof(symboln), "%sEnableClientState", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IndexPointer) { - void **procp = (void **) &disp->IndexPointer; - - snprintf(symboln, sizeof(symboln), "%sIndexPointer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexub) { - void **procp = (void **) &disp->Indexub; - - snprintf(symboln, sizeof(symboln), "%sIndexub", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Indexubv) { - void **procp = (void **) &disp->Indexubv; - - snprintf(symboln, sizeof(symboln), "%sIndexubv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->InterleavedArrays) { - void **procp = (void **) &disp->InterleavedArrays; - - snprintf(symboln, sizeof(symboln), "%sInterleavedArrays", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->NormalPointer) { - void **procp = (void **) &disp->NormalPointer; - - snprintf(symboln, sizeof(symboln), "%sNormalPointer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PolygonOffset) { - void **procp = (void **) &disp->PolygonOffset; - - snprintf(symboln, sizeof(symboln), "%sPolygonOffset", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordPointer) { - void **procp = (void **) &disp->TexCoordPointer; - - snprintf(symboln, sizeof(symboln), "%sTexCoordPointer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexPointer) { - void **procp = (void **) &disp->VertexPointer; - - snprintf(symboln, sizeof(symboln), "%sVertexPointer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AreTexturesResident) { - void **procp = (void **) &disp->AreTexturesResident; - - snprintf(symboln, sizeof(symboln), "%sAreTexturesResident", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AreTexturesResident) { - void **procp = (void **) &disp->AreTexturesResident; - - snprintf(symboln, sizeof(symboln), "%sAreTexturesResidentEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexImage1D) { - void **procp = (void **) &disp->CopyTexImage1D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexImage1D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexImage1D) { - void **procp = (void **) &disp->CopyTexImage1D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexImage1DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexImage2D) { - void **procp = (void **) &disp->CopyTexImage2D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexImage2D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexImage2D) { - void **procp = (void **) &disp->CopyTexImage2D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexImage2DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexSubImage1D) { - void **procp = (void **) &disp->CopyTexSubImage1D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage1D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexSubImage1D) { - void **procp = (void **) &disp->CopyTexSubImage1D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage1DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexSubImage2D) { - void **procp = (void **) &disp->CopyTexSubImage2D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage2D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexSubImage2D) { - void **procp = (void **) &disp->CopyTexSubImage2D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage2DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteTextures) { - void **procp = (void **) &disp->DeleteTextures; - - snprintf(symboln, sizeof(symboln), "%sDeleteTextures", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteTextures) { - void **procp = (void **) &disp->DeleteTextures; - - snprintf(symboln, sizeof(symboln), "%sDeleteTexturesEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenTextures) { - void **procp = (void **) &disp->GenTextures; - - snprintf(symboln, sizeof(symboln), "%sGenTextures", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenTextures) { - void **procp = (void **) &disp->GenTextures; - - snprintf(symboln, sizeof(symboln), "%sGenTexturesEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPointerv) { - void **procp = (void **) &disp->GetPointerv; - - snprintf(symboln, sizeof(symboln), "%sGetPointerv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPointerv) { - void **procp = (void **) &disp->GetPointerv; - - snprintf(symboln, sizeof(symboln), "%sGetPointervEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsTexture) { - void **procp = (void **) &disp->IsTexture; - - snprintf(symboln, sizeof(symboln), "%sIsTexture", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsTexture) { - void **procp = (void **) &disp->IsTexture; - - snprintf(symboln, sizeof(symboln), "%sIsTextureEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PrioritizeTextures) { - void **procp = (void **) &disp->PrioritizeTextures; - - snprintf(symboln, sizeof(symboln), "%sPrioritizeTextures", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PrioritizeTextures) { - void **procp = (void **) &disp->PrioritizeTextures; - - snprintf(symboln, sizeof(symboln), "%sPrioritizeTexturesEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexSubImage1D) { - void **procp = (void **) &disp->TexSubImage1D; - - snprintf(symboln, sizeof(symboln), "%sTexSubImage1D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexSubImage1D) { - void **procp = (void **) &disp->TexSubImage1D; - - snprintf(symboln, sizeof(symboln), "%sTexSubImage1DEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexSubImage2D) { - void **procp = (void **) &disp->TexSubImage2D; - - snprintf(symboln, sizeof(symboln), "%sTexSubImage2D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexSubImage2D) { - void **procp = (void **) &disp->TexSubImage2D; - - snprintf(symboln, sizeof(symboln), "%sTexSubImage2DEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PopClientAttrib) { - void **procp = (void **) &disp->PopClientAttrib; - - snprintf(symboln, sizeof(symboln), "%sPopClientAttrib", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PushClientAttrib) { - void **procp = (void **) &disp->PushClientAttrib; - - snprintf(symboln, sizeof(symboln), "%sPushClientAttrib", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendColor) { - void **procp = (void **) &disp->BlendColor; - - snprintf(symboln, sizeof(symboln), "%sBlendColor", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendColor) { - void **procp = (void **) &disp->BlendColor; - - snprintf(symboln, sizeof(symboln), "%sBlendColorEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquation) { - void **procp = (void **) &disp->BlendEquation; - - snprintf(symboln, sizeof(symboln), "%sBlendEquation", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquation) { - void **procp = (void **) &disp->BlendEquation; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawRangeElements) { - void **procp = (void **) &disp->DrawRangeElements; - - snprintf(symboln, sizeof(symboln), "%sDrawRangeElements", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawRangeElements) { - void **procp = (void **) &disp->DrawRangeElements; - - snprintf(symboln, sizeof(symboln), "%sDrawRangeElementsEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorTable) { - void **procp = (void **) &disp->ColorTable; - - snprintf(symboln, sizeof(symboln), "%sColorTable", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorTable) { - void **procp = (void **) &disp->ColorTable; - - snprintf(symboln, sizeof(symboln), "%sColorTableSGI", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorTable) { - void **procp = (void **) &disp->ColorTable; - - snprintf(symboln, sizeof(symboln), "%sColorTableEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorTableParameterfv) { - void **procp = (void **) &disp->ColorTableParameterfv; - - snprintf(symboln, sizeof(symboln), "%sColorTableParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorTableParameterfv) { - void **procp = (void **) &disp->ColorTableParameterfv; - - snprintf(symboln, sizeof(symboln), "%sColorTableParameterfvSGI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorTableParameteriv) { - void **procp = (void **) &disp->ColorTableParameteriv; - - snprintf(symboln, sizeof(symboln), "%sColorTableParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorTableParameteriv) { - void **procp = (void **) &disp->ColorTableParameteriv; - - snprintf(symboln, sizeof(symboln), "%sColorTableParameterivSGI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyColorTable) { - void **procp = (void **) &disp->CopyColorTable; - - snprintf(symboln, sizeof(symboln), "%sCopyColorTable", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyColorTable) { - void **procp = (void **) &disp->CopyColorTable; - - snprintf(symboln, sizeof(symboln), "%sCopyColorTableSGI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTable) { - void **procp = (void **) &disp->GetColorTable; - - snprintf(symboln, sizeof(symboln), "%sGetColorTable", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTable) { - void **procp = (void **) &disp->GetColorTable; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableSGI", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTable) { - void **procp = (void **) &disp->GetColorTable; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTableParameterfv) { - void **procp = (void **) &disp->GetColorTableParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTableParameterfv) { - void **procp = (void **) &disp->GetColorTableParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterfvSGI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTableParameterfv) { - void **procp = (void **) &disp->GetColorTableParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterfvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTableParameteriv) { - void **procp = (void **) &disp->GetColorTableParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTableParameteriv) { - void **procp = (void **) &disp->GetColorTableParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterivSGI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetColorTableParameteriv) { - void **procp = (void **) &disp->GetColorTableParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorSubTable) { - void **procp = (void **) &disp->ColorSubTable; - - snprintf(symboln, sizeof(symboln), "%sColorSubTable", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorSubTable) { - void **procp = (void **) &disp->ColorSubTable; - - snprintf(symboln, sizeof(symboln), "%sColorSubTableEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyColorSubTable) { - void **procp = (void **) &disp->CopyColorSubTable; - - snprintf(symboln, sizeof(symboln), "%sCopyColorSubTable", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyColorSubTable) { - void **procp = (void **) &disp->CopyColorSubTable; - - snprintf(symboln, sizeof(symboln), "%sCopyColorSubTableEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionFilter1D) { - void **procp = (void **) &disp->ConvolutionFilter1D; - - snprintf(symboln, sizeof(symboln), "%sConvolutionFilter1D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionFilter1D) { - void **procp = (void **) &disp->ConvolutionFilter1D; - - snprintf(symboln, sizeof(symboln), "%sConvolutionFilter1DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionFilter2D) { - void **procp = (void **) &disp->ConvolutionFilter2D; - - snprintf(symboln, sizeof(symboln), "%sConvolutionFilter2D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionFilter2D) { - void **procp = (void **) &disp->ConvolutionFilter2D; - - snprintf(symboln, sizeof(symboln), "%sConvolutionFilter2DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameterf) { - void **procp = (void **) &disp->ConvolutionParameterf; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameterf", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameterf) { - void **procp = (void **) &disp->ConvolutionParameterf; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameterfEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameterfv) { - void **procp = (void **) &disp->ConvolutionParameterfv; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameterfv) { - void **procp = (void **) &disp->ConvolutionParameterfv; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameterfvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameteri) { - void **procp = (void **) &disp->ConvolutionParameteri; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameteri", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameteri) { - void **procp = (void **) &disp->ConvolutionParameteri; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameteriEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameteriv) { - void **procp = (void **) &disp->ConvolutionParameteriv; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ConvolutionParameteriv) { - void **procp = (void **) &disp->ConvolutionParameteriv; - - snprintf(symboln, sizeof(symboln), "%sConvolutionParameterivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyConvolutionFilter1D) { - void **procp = (void **) &disp->CopyConvolutionFilter1D; - - snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter1D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyConvolutionFilter1D) { - void **procp = (void **) &disp->CopyConvolutionFilter1D; - - snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter1DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyConvolutionFilter2D) { - void **procp = (void **) &disp->CopyConvolutionFilter2D; - - snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter2D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyConvolutionFilter2D) { - void **procp = (void **) &disp->CopyConvolutionFilter2D; - - snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter2DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetConvolutionFilter) { - void **procp = (void **) &disp->GetConvolutionFilter; - - snprintf(symboln, sizeof(symboln), "%sGetConvolutionFilter", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetConvolutionFilter) { - void **procp = (void **) &disp->GetConvolutionFilter; - - snprintf(symboln, sizeof(symboln), "%sGetConvolutionFilterEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetConvolutionParameterfv) { - void **procp = (void **) &disp->GetConvolutionParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetConvolutionParameterfv) { - void **procp = (void **) &disp->GetConvolutionParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameterfvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetConvolutionParameteriv) { - void **procp = (void **) &disp->GetConvolutionParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetConvolutionParameteriv) { - void **procp = (void **) &disp->GetConvolutionParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameterivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetSeparableFilter) { - void **procp = (void **) &disp->GetSeparableFilter; - - snprintf(symboln, sizeof(symboln), "%sGetSeparableFilter", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetSeparableFilter) { - void **procp = (void **) &disp->GetSeparableFilter; - - snprintf(symboln, sizeof(symboln), "%sGetSeparableFilterEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SeparableFilter2D) { - void **procp = (void **) &disp->SeparableFilter2D; - - snprintf(symboln, sizeof(symboln), "%sSeparableFilter2D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SeparableFilter2D) { - void **procp = (void **) &disp->SeparableFilter2D; - - snprintf(symboln, sizeof(symboln), "%sSeparableFilter2DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetHistogram) { - void **procp = (void **) &disp->GetHistogram; - - snprintf(symboln, sizeof(symboln), "%sGetHistogram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetHistogram) { - void **procp = (void **) &disp->GetHistogram; - - snprintf(symboln, sizeof(symboln), "%sGetHistogramEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetHistogramParameterfv) { - void **procp = (void **) &disp->GetHistogramParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetHistogramParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetHistogramParameterfv) { - void **procp = (void **) &disp->GetHistogramParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetHistogramParameterfvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetHistogramParameteriv) { - void **procp = (void **) &disp->GetHistogramParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetHistogramParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetHistogramParameteriv) { - void **procp = (void **) &disp->GetHistogramParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetHistogramParameterivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMinmax) { - void **procp = (void **) &disp->GetMinmax; - - snprintf(symboln, sizeof(symboln), "%sGetMinmax", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMinmax) { - void **procp = (void **) &disp->GetMinmax; - - snprintf(symboln, sizeof(symboln), "%sGetMinmaxEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMinmaxParameterfv) { - void **procp = (void **) &disp->GetMinmaxParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMinmaxParameterfv) { - void **procp = (void **) &disp->GetMinmaxParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameterfvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMinmaxParameteriv) { - void **procp = (void **) &disp->GetMinmaxParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetMinmaxParameteriv) { - void **procp = (void **) &disp->GetMinmaxParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameterivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Histogram) { - void **procp = (void **) &disp->Histogram; - - snprintf(symboln, sizeof(symboln), "%sHistogram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Histogram) { - void **procp = (void **) &disp->Histogram; - - snprintf(symboln, sizeof(symboln), "%sHistogramEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Minmax) { - void **procp = (void **) &disp->Minmax; - - snprintf(symboln, sizeof(symboln), "%sMinmax", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Minmax) { - void **procp = (void **) &disp->Minmax; - - snprintf(symboln, sizeof(symboln), "%sMinmaxEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ResetHistogram) { - void **procp = (void **) &disp->ResetHistogram; - - snprintf(symboln, sizeof(symboln), "%sResetHistogram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ResetHistogram) { - void **procp = (void **) &disp->ResetHistogram; - - snprintf(symboln, sizeof(symboln), "%sResetHistogramEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ResetMinmax) { - void **procp = (void **) &disp->ResetMinmax; - - snprintf(symboln, sizeof(symboln), "%sResetMinmax", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ResetMinmax) { - void **procp = (void **) &disp->ResetMinmax; - - snprintf(symboln, sizeof(symboln), "%sResetMinmaxEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexImage3D) { - void **procp = (void **) &disp->TexImage3D; - - snprintf(symboln, sizeof(symboln), "%sTexImage3D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexImage3D) { - void **procp = (void **) &disp->TexImage3D; - - snprintf(symboln, sizeof(symboln), "%sTexImage3DEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexSubImage3D) { - void **procp = (void **) &disp->TexSubImage3D; - - snprintf(symboln, sizeof(symboln), "%sTexSubImage3D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexSubImage3D) { - void **procp = (void **) &disp->TexSubImage3D; - - snprintf(symboln, sizeof(symboln), "%sTexSubImage3DEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexSubImage3D) { - void **procp = (void **) &disp->CopyTexSubImage3D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage3D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyTexSubImage3D) { - void **procp = (void **) &disp->CopyTexSubImage3D; - - snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage3DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ActiveTextureARB) { - void **procp = (void **) &disp->ActiveTextureARB; - - snprintf(symboln, sizeof(symboln), "%sActiveTexture", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ActiveTextureARB) { - void **procp = (void **) &disp->ActiveTextureARB; - - snprintf(symboln, sizeof(symboln), "%sActiveTextureARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClientActiveTextureARB) { - void **procp = (void **) &disp->ClientActiveTextureARB; - - snprintf(symboln, sizeof(symboln), "%sClientActiveTexture", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClientActiveTextureARB) { - void **procp = (void **) &disp->ClientActiveTextureARB; - - snprintf(symboln, sizeof(symboln), "%sClientActiveTextureARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1dARB) { - void **procp = (void **) &disp->MultiTexCoord1dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1dARB) { - void **procp = (void **) &disp->MultiTexCoord1dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1dvARB) { - void **procp = (void **) &disp->MultiTexCoord1dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1dvARB) { - void **procp = (void **) &disp->MultiTexCoord1dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1fARB) { - void **procp = (void **) &disp->MultiTexCoord1fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1fARB) { - void **procp = (void **) &disp->MultiTexCoord1fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1fvARB) { - void **procp = (void **) &disp->MultiTexCoord1fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1fvARB) { - void **procp = (void **) &disp->MultiTexCoord1fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1iARB) { - void **procp = (void **) &disp->MultiTexCoord1iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1iARB) { - void **procp = (void **) &disp->MultiTexCoord1iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1iARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1ivARB) { - void **procp = (void **) &disp->MultiTexCoord1ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1ivARB) { - void **procp = (void **) &disp->MultiTexCoord1ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1ivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1sARB) { - void **procp = (void **) &disp->MultiTexCoord1sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1sARB) { - void **procp = (void **) &disp->MultiTexCoord1sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1svARB) { - void **procp = (void **) &disp->MultiTexCoord1svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord1svARB) { - void **procp = (void **) &disp->MultiTexCoord1svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2dARB) { - void **procp = (void **) &disp->MultiTexCoord2dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2dARB) { - void **procp = (void **) &disp->MultiTexCoord2dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2dvARB) { - void **procp = (void **) &disp->MultiTexCoord2dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2dvARB) { - void **procp = (void **) &disp->MultiTexCoord2dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2fARB) { - void **procp = (void **) &disp->MultiTexCoord2fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2fARB) { - void **procp = (void **) &disp->MultiTexCoord2fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2fvARB) { - void **procp = (void **) &disp->MultiTexCoord2fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2fvARB) { - void **procp = (void **) &disp->MultiTexCoord2fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2iARB) { - void **procp = (void **) &disp->MultiTexCoord2iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2iARB) { - void **procp = (void **) &disp->MultiTexCoord2iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2iARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2ivARB) { - void **procp = (void **) &disp->MultiTexCoord2ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2ivARB) { - void **procp = (void **) &disp->MultiTexCoord2ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2ivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2sARB) { - void **procp = (void **) &disp->MultiTexCoord2sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2sARB) { - void **procp = (void **) &disp->MultiTexCoord2sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2svARB) { - void **procp = (void **) &disp->MultiTexCoord2svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord2svARB) { - void **procp = (void **) &disp->MultiTexCoord2svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3dARB) { - void **procp = (void **) &disp->MultiTexCoord3dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3dARB) { - void **procp = (void **) &disp->MultiTexCoord3dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3dvARB) { - void **procp = (void **) &disp->MultiTexCoord3dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3dvARB) { - void **procp = (void **) &disp->MultiTexCoord3dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3fARB) { - void **procp = (void **) &disp->MultiTexCoord3fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3fARB) { - void **procp = (void **) &disp->MultiTexCoord3fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3fvARB) { - void **procp = (void **) &disp->MultiTexCoord3fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3fvARB) { - void **procp = (void **) &disp->MultiTexCoord3fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3iARB) { - void **procp = (void **) &disp->MultiTexCoord3iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3iARB) { - void **procp = (void **) &disp->MultiTexCoord3iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3iARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3ivARB) { - void **procp = (void **) &disp->MultiTexCoord3ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3ivARB) { - void **procp = (void **) &disp->MultiTexCoord3ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3ivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3sARB) { - void **procp = (void **) &disp->MultiTexCoord3sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3sARB) { - void **procp = (void **) &disp->MultiTexCoord3sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3svARB) { - void **procp = (void **) &disp->MultiTexCoord3svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord3svARB) { - void **procp = (void **) &disp->MultiTexCoord3svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4dARB) { - void **procp = (void **) &disp->MultiTexCoord4dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4dARB) { - void **procp = (void **) &disp->MultiTexCoord4dARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4dvARB) { - void **procp = (void **) &disp->MultiTexCoord4dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4dvARB) { - void **procp = (void **) &disp->MultiTexCoord4dvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4fARB) { - void **procp = (void **) &disp->MultiTexCoord4fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4fARB) { - void **procp = (void **) &disp->MultiTexCoord4fARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4fvARB) { - void **procp = (void **) &disp->MultiTexCoord4fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4fvARB) { - void **procp = (void **) &disp->MultiTexCoord4fvARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4iARB) { - void **procp = (void **) &disp->MultiTexCoord4iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4iARB) { - void **procp = (void **) &disp->MultiTexCoord4iARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4iARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4ivARB) { - void **procp = (void **) &disp->MultiTexCoord4ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4ivARB) { - void **procp = (void **) &disp->MultiTexCoord4ivARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4ivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4sARB) { - void **procp = (void **) &disp->MultiTexCoord4sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4sARB) { - void **procp = (void **) &disp->MultiTexCoord4sARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4svARB) { - void **procp = (void **) &disp->MultiTexCoord4svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoord4svARB) { - void **procp = (void **) &disp->MultiTexCoord4svARB; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AttachShader) { - void **procp = (void **) &disp->AttachShader; - - snprintf(symboln, sizeof(symboln), "%sAttachShader", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CreateProgram) { - void **procp = (void **) &disp->CreateProgram; - - snprintf(symboln, sizeof(symboln), "%sCreateProgram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CreateShader) { - void **procp = (void **) &disp->CreateShader; - - snprintf(symboln, sizeof(symboln), "%sCreateShader", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteProgram) { - void **procp = (void **) &disp->DeleteProgram; - - snprintf(symboln, sizeof(symboln), "%sDeleteProgram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteShader) { - void **procp = (void **) &disp->DeleteShader; - - snprintf(symboln, sizeof(symboln), "%sDeleteShader", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DetachShader) { - void **procp = (void **) &disp->DetachShader; - - snprintf(symboln, sizeof(symboln), "%sDetachShader", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetAttachedShaders) { - void **procp = (void **) &disp->GetAttachedShaders; - - snprintf(symboln, sizeof(symboln), "%sGetAttachedShaders", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramInfoLog) { - void **procp = (void **) &disp->GetProgramInfoLog; - - snprintf(symboln, sizeof(symboln), "%sGetProgramInfoLog", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramiv) { - void **procp = (void **) &disp->GetProgramiv; - - snprintf(symboln, sizeof(symboln), "%sGetProgramiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetShaderInfoLog) { - void **procp = (void **) &disp->GetShaderInfoLog; - - snprintf(symboln, sizeof(symboln), "%sGetShaderInfoLog", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetShaderiv) { - void **procp = (void **) &disp->GetShaderiv; - - snprintf(symboln, sizeof(symboln), "%sGetShaderiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsProgram) { - void **procp = (void **) &disp->IsProgram; - - snprintf(symboln, sizeof(symboln), "%sIsProgram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsShader) { - void **procp = (void **) &disp->IsShader; - - snprintf(symboln, sizeof(symboln), "%sIsShader", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilFuncSeparate) { - void **procp = (void **) &disp->StencilFuncSeparate; - - snprintf(symboln, sizeof(symboln), "%sStencilFuncSeparate", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilMaskSeparate) { - void **procp = (void **) &disp->StencilMaskSeparate; - - snprintf(symboln, sizeof(symboln), "%sStencilMaskSeparate", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilOpSeparate) { - void **procp = (void **) &disp->StencilOpSeparate; - - snprintf(symboln, sizeof(symboln), "%sStencilOpSeparate", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilOpSeparate) { - void **procp = (void **) &disp->StencilOpSeparate; - - snprintf(symboln, sizeof(symboln), "%sStencilOpSeparateATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix2x3fv) { - void **procp = (void **) &disp->UniformMatrix2x3fv; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix2x3fv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix2x4fv) { - void **procp = (void **) &disp->UniformMatrix2x4fv; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix2x4fv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix3x2fv) { - void **procp = (void **) &disp->UniformMatrix3x2fv; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix3x2fv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix3x4fv) { - void **procp = (void **) &disp->UniformMatrix3x4fv; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix3x4fv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix4x2fv) { - void **procp = (void **) &disp->UniformMatrix4x2fv; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix4x2fv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix4x3fv) { - void **procp = (void **) &disp->UniformMatrix4x3fv; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix4x3fv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClampColor) { - void **procp = (void **) &disp->ClampColor; - - snprintf(symboln, sizeof(symboln), "%sClampColor", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearBufferfi) { - void **procp = (void **) &disp->ClearBufferfi; - - snprintf(symboln, sizeof(symboln), "%sClearBufferfi", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearBufferfv) { - void **procp = (void **) &disp->ClearBufferfv; - - snprintf(symboln, sizeof(symboln), "%sClearBufferfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearBufferiv) { - void **procp = (void **) &disp->ClearBufferiv; - - snprintf(symboln, sizeof(symboln), "%sClearBufferiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearBufferuiv) { - void **procp = (void **) &disp->ClearBufferuiv; - - snprintf(symboln, sizeof(symboln), "%sClearBufferuiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetStringi) { - void **procp = (void **) &disp->GetStringi; - - snprintf(symboln, sizeof(symboln), "%sGetStringi", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexBuffer) { - void **procp = (void **) &disp->TexBuffer; - - snprintf(symboln, sizeof(symboln), "%sTexBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTexture) { - void **procp = (void **) &disp->FramebufferTexture; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTexture", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBufferParameteri64v) { - void **procp = (void **) &disp->GetBufferParameteri64v; - - snprintf(symboln, sizeof(symboln), "%sGetBufferParameteri64v", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetInteger64i_v) { - void **procp = (void **) &disp->GetInteger64i_v; - - snprintf(symboln, sizeof(symboln), "%sGetInteger64i_v", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribDivisor) { - void **procp = (void **) &disp->VertexAttribDivisor; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribDivisor", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadTransposeMatrixdARB) { - void **procp = (void **) &disp->LoadTransposeMatrixdARB; - - snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixd", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadTransposeMatrixdARB) { - void **procp = (void **) &disp->LoadTransposeMatrixdARB; - - snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixdARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadTransposeMatrixfARB) { - void **procp = (void **) &disp->LoadTransposeMatrixfARB; - - snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixf", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadTransposeMatrixfARB) { - void **procp = (void **) &disp->LoadTransposeMatrixfARB; - - snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixfARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultTransposeMatrixdARB) { - void **procp = (void **) &disp->MultTransposeMatrixdARB; - - snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixd", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultTransposeMatrixdARB) { - void **procp = (void **) &disp->MultTransposeMatrixdARB; - - snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixdARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultTransposeMatrixfARB) { - void **procp = (void **) &disp->MultTransposeMatrixfARB; - - snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixf", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultTransposeMatrixfARB) { - void **procp = (void **) &disp->MultTransposeMatrixfARB; - - snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixfARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SampleCoverageARB) { - void **procp = (void **) &disp->SampleCoverageARB; - - snprintf(symboln, sizeof(symboln), "%sSampleCoverage", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SampleCoverageARB) { - void **procp = (void **) &disp->SampleCoverageARB; - - snprintf(symboln, sizeof(symboln), "%sSampleCoverageARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexImage1DARB) { - void **procp = (void **) &disp->CompressedTexImage1DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexImage1D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexImage1DARB) { - void **procp = (void **) &disp->CompressedTexImage1DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexImage1DARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexImage2DARB) { - void **procp = (void **) &disp->CompressedTexImage2DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexImage2D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexImage2DARB) { - void **procp = (void **) &disp->CompressedTexImage2DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexImage2DARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexImage3DARB) { - void **procp = (void **) &disp->CompressedTexImage3DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexImage3D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexImage3DARB) { - void **procp = (void **) &disp->CompressedTexImage3DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexImage3DARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexSubImage1DARB) { - void **procp = (void **) &disp->CompressedTexSubImage1DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage1D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexSubImage1DARB) { - void **procp = (void **) &disp->CompressedTexSubImage1DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage1DARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexSubImage2DARB) { - void **procp = (void **) &disp->CompressedTexSubImage2DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage2D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexSubImage2DARB) { - void **procp = (void **) &disp->CompressedTexSubImage2DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage2DARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexSubImage3DARB) { - void **procp = (void **) &disp->CompressedTexSubImage3DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage3D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompressedTexSubImage3DARB) { - void **procp = (void **) &disp->CompressedTexSubImage3DARB; - - snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage3DARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetCompressedTexImageARB) { - void **procp = (void **) &disp->GetCompressedTexImageARB; - - snprintf(symboln, sizeof(symboln), "%sGetCompressedTexImage", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetCompressedTexImageARB) { - void **procp = (void **) &disp->GetCompressedTexImageARB; - - snprintf(symboln, sizeof(symboln), "%sGetCompressedTexImageARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DisableVertexAttribArrayARB) { - void **procp = (void **) &disp->DisableVertexAttribArrayARB; - - snprintf(symboln, sizeof(symboln), "%sDisableVertexAttribArray", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DisableVertexAttribArrayARB) { - void **procp = (void **) &disp->DisableVertexAttribArrayARB; - - snprintf(symboln, sizeof(symboln), "%sDisableVertexAttribArrayARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EnableVertexAttribArrayARB) { - void **procp = (void **) &disp->EnableVertexAttribArrayARB; - - snprintf(symboln, sizeof(symboln), "%sEnableVertexAttribArray", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EnableVertexAttribArrayARB) { - void **procp = (void **) &disp->EnableVertexAttribArrayARB; - - snprintf(symboln, sizeof(symboln), "%sEnableVertexAttribArrayARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramEnvParameterdvARB) { - void **procp = (void **) &disp->GetProgramEnvParameterdvARB; - - snprintf(symboln, sizeof(symboln), "%sGetProgramEnvParameterdvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramEnvParameterfvARB) { - void **procp = (void **) &disp->GetProgramEnvParameterfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetProgramEnvParameterfvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramLocalParameterdvARB) { - void **procp = (void **) &disp->GetProgramLocalParameterdvARB; - - snprintf(symboln, sizeof(symboln), "%sGetProgramLocalParameterdvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramLocalParameterfvARB) { - void **procp = (void **) &disp->GetProgramLocalParameterfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetProgramLocalParameterfvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramStringARB) { - void **procp = (void **) &disp->GetProgramStringARB; - - snprintf(symboln, sizeof(symboln), "%sGetProgramStringARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramivARB) { - void **procp = (void **) &disp->GetProgramivARB; - - snprintf(symboln, sizeof(symboln), "%sGetProgramivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribdvARB) { - void **procp = (void **) &disp->GetVertexAttribdvARB; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribdv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribdvARB) { - void **procp = (void **) &disp->GetVertexAttribdvARB; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribdvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribfvARB) { - void **procp = (void **) &disp->GetVertexAttribfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribfvARB) { - void **procp = (void **) &disp->GetVertexAttribfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribfvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribivARB) { - void **procp = (void **) &disp->GetVertexAttribivARB; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribivARB) { - void **procp = (void **) &disp->GetVertexAttribivARB; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4dARB) { - void **procp = (void **) &disp->ProgramEnvParameter4dARB; - - snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4dARB) { - void **procp = (void **) &disp->ProgramEnvParameter4dARB; - - snprintf(symboln, sizeof(symboln), "%sProgramParameter4dNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4dvARB) { - void **procp = (void **) &disp->ProgramEnvParameter4dvARB; - - snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4dvARB) { - void **procp = (void **) &disp->ProgramEnvParameter4dvARB; - - snprintf(symboln, sizeof(symboln), "%sProgramParameter4dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4fARB) { - void **procp = (void **) &disp->ProgramEnvParameter4fARB; - - snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4fARB) { - void **procp = (void **) &disp->ProgramEnvParameter4fARB; - - snprintf(symboln, sizeof(symboln), "%sProgramParameter4fNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4fvARB) { - void **procp = (void **) &disp->ProgramEnvParameter4fvARB; - - snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameter4fvARB) { - void **procp = (void **) &disp->ProgramEnvParameter4fvARB; - - snprintf(symboln, sizeof(symboln), "%sProgramParameter4fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramLocalParameter4dARB) { - void **procp = (void **) &disp->ProgramLocalParameter4dARB; - - snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramLocalParameter4dvARB) { - void **procp = (void **) &disp->ProgramLocalParameter4dvARB; - - snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramLocalParameter4fARB) { - void **procp = (void **) &disp->ProgramLocalParameter4fARB; - - snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramLocalParameter4fvARB) { - void **procp = (void **) &disp->ProgramLocalParameter4fvARB; - - snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramStringARB) { - void **procp = (void **) &disp->ProgramStringARB; - - snprintf(symboln, sizeof(symboln), "%sProgramStringARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1dARB) { - void **procp = (void **) &disp->VertexAttrib1dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1dARB) { - void **procp = (void **) &disp->VertexAttrib1dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1dvARB) { - void **procp = (void **) &disp->VertexAttrib1dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1dvARB) { - void **procp = (void **) &disp->VertexAttrib1dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1fARB) { - void **procp = (void **) &disp->VertexAttrib1fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1fARB) { - void **procp = (void **) &disp->VertexAttrib1fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1fvARB) { - void **procp = (void **) &disp->VertexAttrib1fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1fvARB) { - void **procp = (void **) &disp->VertexAttrib1fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1sARB) { - void **procp = (void **) &disp->VertexAttrib1sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1sARB) { - void **procp = (void **) &disp->VertexAttrib1sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1svARB) { - void **procp = (void **) &disp->VertexAttrib1svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1svARB) { - void **procp = (void **) &disp->VertexAttrib1svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2dARB) { - void **procp = (void **) &disp->VertexAttrib2dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2dARB) { - void **procp = (void **) &disp->VertexAttrib2dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2dvARB) { - void **procp = (void **) &disp->VertexAttrib2dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2dvARB) { - void **procp = (void **) &disp->VertexAttrib2dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2fARB) { - void **procp = (void **) &disp->VertexAttrib2fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2fARB) { - void **procp = (void **) &disp->VertexAttrib2fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2fvARB) { - void **procp = (void **) &disp->VertexAttrib2fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2fvARB) { - void **procp = (void **) &disp->VertexAttrib2fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2sARB) { - void **procp = (void **) &disp->VertexAttrib2sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2sARB) { - void **procp = (void **) &disp->VertexAttrib2sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2svARB) { - void **procp = (void **) &disp->VertexAttrib2svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2svARB) { - void **procp = (void **) &disp->VertexAttrib2svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3dARB) { - void **procp = (void **) &disp->VertexAttrib3dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3dARB) { - void **procp = (void **) &disp->VertexAttrib3dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3dvARB) { - void **procp = (void **) &disp->VertexAttrib3dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3dvARB) { - void **procp = (void **) &disp->VertexAttrib3dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3fARB) { - void **procp = (void **) &disp->VertexAttrib3fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3fARB) { - void **procp = (void **) &disp->VertexAttrib3fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3fvARB) { - void **procp = (void **) &disp->VertexAttrib3fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3fvARB) { - void **procp = (void **) &disp->VertexAttrib3fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3sARB) { - void **procp = (void **) &disp->VertexAttrib3sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3sARB) { - void **procp = (void **) &disp->VertexAttrib3sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3svARB) { - void **procp = (void **) &disp->VertexAttrib3svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3svARB) { - void **procp = (void **) &disp->VertexAttrib3svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NbvARB) { - void **procp = (void **) &disp->VertexAttrib4NbvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nbv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NbvARB) { - void **procp = (void **) &disp->VertexAttrib4NbvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NbvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NivARB) { - void **procp = (void **) &disp->VertexAttrib4NivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Niv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NivARB) { - void **procp = (void **) &disp->VertexAttrib4NivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NsvARB) { - void **procp = (void **) &disp->VertexAttrib4NsvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nsv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NsvARB) { - void **procp = (void **) &disp->VertexAttrib4NsvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NsvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NubARB) { - void **procp = (void **) &disp->VertexAttrib4NubARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nub", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NubARB) { - void **procp = (void **) &disp->VertexAttrib4NubARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NubARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NubvARB) { - void **procp = (void **) &disp->VertexAttrib4NubvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nubv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NubvARB) { - void **procp = (void **) &disp->VertexAttrib4NubvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NubvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NuivARB) { - void **procp = (void **) &disp->VertexAttrib4NuivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nuiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NuivARB) { - void **procp = (void **) &disp->VertexAttrib4NuivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NuivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NusvARB) { - void **procp = (void **) &disp->VertexAttrib4NusvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nusv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4NusvARB) { - void **procp = (void **) &disp->VertexAttrib4NusvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NusvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4bvARB) { - void **procp = (void **) &disp->VertexAttrib4bvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4bv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4bvARB) { - void **procp = (void **) &disp->VertexAttrib4bvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4bvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4dARB) { - void **procp = (void **) &disp->VertexAttrib4dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4dARB) { - void **procp = (void **) &disp->VertexAttrib4dARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4dvARB) { - void **procp = (void **) &disp->VertexAttrib4dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4dvARB) { - void **procp = (void **) &disp->VertexAttrib4dvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4fARB) { - void **procp = (void **) &disp->VertexAttrib4fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4fARB) { - void **procp = (void **) &disp->VertexAttrib4fARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4fvARB) { - void **procp = (void **) &disp->VertexAttrib4fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4fvARB) { - void **procp = (void **) &disp->VertexAttrib4fvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4ivARB) { - void **procp = (void **) &disp->VertexAttrib4ivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4ivARB) { - void **procp = (void **) &disp->VertexAttrib4ivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4sARB) { - void **procp = (void **) &disp->VertexAttrib4sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4sARB) { - void **procp = (void **) &disp->VertexAttrib4sARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4sARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4svARB) { - void **procp = (void **) &disp->VertexAttrib4svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4svARB) { - void **procp = (void **) &disp->VertexAttrib4svARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4svARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4ubvARB) { - void **procp = (void **) &disp->VertexAttrib4ubvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4ubvARB) { - void **procp = (void **) &disp->VertexAttrib4ubvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4uivARB) { - void **procp = (void **) &disp->VertexAttrib4uivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4uivARB) { - void **procp = (void **) &disp->VertexAttrib4uivARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4uivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4usvARB) { - void **procp = (void **) &disp->VertexAttrib4usvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4usv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4usvARB) { - void **procp = (void **) &disp->VertexAttrib4usvARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4usvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribPointerARB) { - void **procp = (void **) &disp->VertexAttribPointerARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribPointer", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribPointerARB) { - void **procp = (void **) &disp->VertexAttribPointerARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribPointerARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindBufferARB) { - void **procp = (void **) &disp->BindBufferARB; - - snprintf(symboln, sizeof(symboln), "%sBindBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindBufferARB) { - void **procp = (void **) &disp->BindBufferARB; - - snprintf(symboln, sizeof(symboln), "%sBindBufferARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BufferDataARB) { - void **procp = (void **) &disp->BufferDataARB; - - snprintf(symboln, sizeof(symboln), "%sBufferData", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BufferDataARB) { - void **procp = (void **) &disp->BufferDataARB; - - snprintf(symboln, sizeof(symboln), "%sBufferDataARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BufferSubDataARB) { - void **procp = (void **) &disp->BufferSubDataARB; - - snprintf(symboln, sizeof(symboln), "%sBufferSubData", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BufferSubDataARB) { - void **procp = (void **) &disp->BufferSubDataARB; - - snprintf(symboln, sizeof(symboln), "%sBufferSubDataARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteBuffersARB) { - void **procp = (void **) &disp->DeleteBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sDeleteBuffers", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteBuffersARB) { - void **procp = (void **) &disp->DeleteBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sDeleteBuffersARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenBuffersARB) { - void **procp = (void **) &disp->GenBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sGenBuffers", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenBuffersARB) { - void **procp = (void **) &disp->GenBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sGenBuffersARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBufferParameterivARB) { - void **procp = (void **) &disp->GetBufferParameterivARB; - - snprintf(symboln, sizeof(symboln), "%sGetBufferParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBufferParameterivARB) { - void **procp = (void **) &disp->GetBufferParameterivARB; - - snprintf(symboln, sizeof(symboln), "%sGetBufferParameterivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBufferPointervARB) { - void **procp = (void **) &disp->GetBufferPointervARB; - - snprintf(symboln, sizeof(symboln), "%sGetBufferPointerv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBufferPointervARB) { - void **procp = (void **) &disp->GetBufferPointervARB; - - snprintf(symboln, sizeof(symboln), "%sGetBufferPointervARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBufferSubDataARB) { - void **procp = (void **) &disp->GetBufferSubDataARB; - - snprintf(symboln, sizeof(symboln), "%sGetBufferSubData", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBufferSubDataARB) { - void **procp = (void **) &disp->GetBufferSubDataARB; - - snprintf(symboln, sizeof(symboln), "%sGetBufferSubDataARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsBufferARB) { - void **procp = (void **) &disp->IsBufferARB; - - snprintf(symboln, sizeof(symboln), "%sIsBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsBufferARB) { - void **procp = (void **) &disp->IsBufferARB; - - snprintf(symboln, sizeof(symboln), "%sIsBufferARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MapBufferARB) { - void **procp = (void **) &disp->MapBufferARB; - - snprintf(symboln, sizeof(symboln), "%sMapBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MapBufferARB) { - void **procp = (void **) &disp->MapBufferARB; - - snprintf(symboln, sizeof(symboln), "%sMapBufferARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UnmapBufferARB) { - void **procp = (void **) &disp->UnmapBufferARB; - - snprintf(symboln, sizeof(symboln), "%sUnmapBuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UnmapBufferARB) { - void **procp = (void **) &disp->UnmapBufferARB; - - snprintf(symboln, sizeof(symboln), "%sUnmapBufferARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BeginQueryARB) { - void **procp = (void **) &disp->BeginQueryARB; - - snprintf(symboln, sizeof(symboln), "%sBeginQuery", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BeginQueryARB) { - void **procp = (void **) &disp->BeginQueryARB; - - snprintf(symboln, sizeof(symboln), "%sBeginQueryARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteQueriesARB) { - void **procp = (void **) &disp->DeleteQueriesARB; - - snprintf(symboln, sizeof(symboln), "%sDeleteQueries", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteQueriesARB) { - void **procp = (void **) &disp->DeleteQueriesARB; - - snprintf(symboln, sizeof(symboln), "%sDeleteQueriesARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndQueryARB) { - void **procp = (void **) &disp->EndQueryARB; - - snprintf(symboln, sizeof(symboln), "%sEndQuery", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndQueryARB) { - void **procp = (void **) &disp->EndQueryARB; - - snprintf(symboln, sizeof(symboln), "%sEndQueryARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenQueriesARB) { - void **procp = (void **) &disp->GenQueriesARB; - - snprintf(symboln, sizeof(symboln), "%sGenQueries", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenQueriesARB) { - void **procp = (void **) &disp->GenQueriesARB; - - snprintf(symboln, sizeof(symboln), "%sGenQueriesARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryObjectivARB) { - void **procp = (void **) &disp->GetQueryObjectivARB; - - snprintf(symboln, sizeof(symboln), "%sGetQueryObjectiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryObjectivARB) { - void **procp = (void **) &disp->GetQueryObjectivARB; - - snprintf(symboln, sizeof(symboln), "%sGetQueryObjectivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryObjectuivARB) { - void **procp = (void **) &disp->GetQueryObjectuivARB; - - snprintf(symboln, sizeof(symboln), "%sGetQueryObjectuiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryObjectuivARB) { - void **procp = (void **) &disp->GetQueryObjectuivARB; - - snprintf(symboln, sizeof(symboln), "%sGetQueryObjectuivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryivARB) { - void **procp = (void **) &disp->GetQueryivARB; - - snprintf(symboln, sizeof(symboln), "%sGetQueryiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryivARB) { - void **procp = (void **) &disp->GetQueryivARB; - - snprintf(symboln, sizeof(symboln), "%sGetQueryivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsQueryARB) { - void **procp = (void **) &disp->IsQueryARB; - - snprintf(symboln, sizeof(symboln), "%sIsQuery", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsQueryARB) { - void **procp = (void **) &disp->IsQueryARB; - - snprintf(symboln, sizeof(symboln), "%sIsQueryARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AttachObjectARB) { - void **procp = (void **) &disp->AttachObjectARB; - - snprintf(symboln, sizeof(symboln), "%sAttachObjectARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompileShaderARB) { - void **procp = (void **) &disp->CompileShaderARB; - - snprintf(symboln, sizeof(symboln), "%sCompileShader", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CompileShaderARB) { - void **procp = (void **) &disp->CompileShaderARB; - - snprintf(symboln, sizeof(symboln), "%sCompileShaderARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CreateProgramObjectARB) { - void **procp = (void **) &disp->CreateProgramObjectARB; - - snprintf(symboln, sizeof(symboln), "%sCreateProgramObjectARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CreateShaderObjectARB) { - void **procp = (void **) &disp->CreateShaderObjectARB; - - snprintf(symboln, sizeof(symboln), "%sCreateShaderObjectARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteObjectARB) { - void **procp = (void **) &disp->DeleteObjectARB; - - snprintf(symboln, sizeof(symboln), "%sDeleteObjectARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DetachObjectARB) { - void **procp = (void **) &disp->DetachObjectARB; - - snprintf(symboln, sizeof(symboln), "%sDetachObjectARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetActiveUniformARB) { - void **procp = (void **) &disp->GetActiveUniformARB; - - snprintf(symboln, sizeof(symboln), "%sGetActiveUniform", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetActiveUniformARB) { - void **procp = (void **) &disp->GetActiveUniformARB; - - snprintf(symboln, sizeof(symboln), "%sGetActiveUniformARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetAttachedObjectsARB) { - void **procp = (void **) &disp->GetAttachedObjectsARB; - - snprintf(symboln, sizeof(symboln), "%sGetAttachedObjectsARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetHandleARB) { - void **procp = (void **) &disp->GetHandleARB; - - snprintf(symboln, sizeof(symboln), "%sGetHandleARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetInfoLogARB) { - void **procp = (void **) &disp->GetInfoLogARB; - - snprintf(symboln, sizeof(symboln), "%sGetInfoLogARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetObjectParameterfvARB) { - void **procp = (void **) &disp->GetObjectParameterfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetObjectParameterfvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetObjectParameterivARB) { - void **procp = (void **) &disp->GetObjectParameterivARB; - - snprintf(symboln, sizeof(symboln), "%sGetObjectParameterivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetShaderSourceARB) { - void **procp = (void **) &disp->GetShaderSourceARB; - - snprintf(symboln, sizeof(symboln), "%sGetShaderSource", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetShaderSourceARB) { - void **procp = (void **) &disp->GetShaderSourceARB; - - snprintf(symboln, sizeof(symboln), "%sGetShaderSourceARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformLocationARB) { - void **procp = (void **) &disp->GetUniformLocationARB; - - snprintf(symboln, sizeof(symboln), "%sGetUniformLocation", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformLocationARB) { - void **procp = (void **) &disp->GetUniformLocationARB; - - snprintf(symboln, sizeof(symboln), "%sGetUniformLocationARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformfvARB) { - void **procp = (void **) &disp->GetUniformfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetUniformfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformfvARB) { - void **procp = (void **) &disp->GetUniformfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetUniformfvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformivARB) { - void **procp = (void **) &disp->GetUniformivARB; - - snprintf(symboln, sizeof(symboln), "%sGetUniformiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformivARB) { - void **procp = (void **) &disp->GetUniformivARB; - - snprintf(symboln, sizeof(symboln), "%sGetUniformivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LinkProgramARB) { - void **procp = (void **) &disp->LinkProgramARB; - - snprintf(symboln, sizeof(symboln), "%sLinkProgram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LinkProgramARB) { - void **procp = (void **) &disp->LinkProgramARB; - - snprintf(symboln, sizeof(symboln), "%sLinkProgramARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ShaderSourceARB) { - void **procp = (void **) &disp->ShaderSourceARB; - - snprintf(symboln, sizeof(symboln), "%sShaderSource", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ShaderSourceARB) { - void **procp = (void **) &disp->ShaderSourceARB; - - snprintf(symboln, sizeof(symboln), "%sShaderSourceARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1fARB) { - void **procp = (void **) &disp->Uniform1fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1fARB) { - void **procp = (void **) &disp->Uniform1fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1fARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1fvARB) { - void **procp = (void **) &disp->Uniform1fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1fvARB) { - void **procp = (void **) &disp->Uniform1fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1fvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1iARB) { - void **procp = (void **) &disp->Uniform1iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1iARB) { - void **procp = (void **) &disp->Uniform1iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1iARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1ivARB) { - void **procp = (void **) &disp->Uniform1ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1ivARB) { - void **procp = (void **) &disp->Uniform1ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform1ivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2fARB) { - void **procp = (void **) &disp->Uniform2fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2fARB) { - void **procp = (void **) &disp->Uniform2fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2fARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2fvARB) { - void **procp = (void **) &disp->Uniform2fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2fvARB) { - void **procp = (void **) &disp->Uniform2fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2fvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2iARB) { - void **procp = (void **) &disp->Uniform2iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2iARB) { - void **procp = (void **) &disp->Uniform2iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2iARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2ivARB) { - void **procp = (void **) &disp->Uniform2ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2ivARB) { - void **procp = (void **) &disp->Uniform2ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform2ivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3fARB) { - void **procp = (void **) &disp->Uniform3fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3fARB) { - void **procp = (void **) &disp->Uniform3fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3fARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3fvARB) { - void **procp = (void **) &disp->Uniform3fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3fvARB) { - void **procp = (void **) &disp->Uniform3fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3fvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3iARB) { - void **procp = (void **) &disp->Uniform3iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3iARB) { - void **procp = (void **) &disp->Uniform3iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3iARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3ivARB) { - void **procp = (void **) &disp->Uniform3ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3ivARB) { - void **procp = (void **) &disp->Uniform3ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform3ivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4fARB) { - void **procp = (void **) &disp->Uniform4fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4fARB) { - void **procp = (void **) &disp->Uniform4fARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4fARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4fvARB) { - void **procp = (void **) &disp->Uniform4fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4fvARB) { - void **procp = (void **) &disp->Uniform4fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4fvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4iARB) { - void **procp = (void **) &disp->Uniform4iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4iARB) { - void **procp = (void **) &disp->Uniform4iARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4iARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4ivARB) { - void **procp = (void **) &disp->Uniform4ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4ivARB) { - void **procp = (void **) &disp->Uniform4ivARB; - - snprintf(symboln, sizeof(symboln), "%sUniform4ivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix2fvARB) { - void **procp = (void **) &disp->UniformMatrix2fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix2fvARB) { - void **procp = (void **) &disp->UniformMatrix2fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix2fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix3fvARB) { - void **procp = (void **) &disp->UniformMatrix3fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix3fvARB) { - void **procp = (void **) &disp->UniformMatrix3fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix3fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix4fvARB) { - void **procp = (void **) &disp->UniformMatrix4fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix4fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UniformMatrix4fvARB) { - void **procp = (void **) &disp->UniformMatrix4fvARB; - - snprintf(symboln, sizeof(symboln), "%sUniformMatrix4fvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UseProgramObjectARB) { - void **procp = (void **) &disp->UseProgramObjectARB; - - snprintf(symboln, sizeof(symboln), "%sUseProgram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UseProgramObjectARB) { - void **procp = (void **) &disp->UseProgramObjectARB; - - snprintf(symboln, sizeof(symboln), "%sUseProgramObjectARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ValidateProgramARB) { - void **procp = (void **) &disp->ValidateProgramARB; - - snprintf(symboln, sizeof(symboln), "%sValidateProgram", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ValidateProgramARB) { - void **procp = (void **) &disp->ValidateProgramARB; - - snprintf(symboln, sizeof(symboln), "%sValidateProgramARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindAttribLocationARB) { - void **procp = (void **) &disp->BindAttribLocationARB; - - snprintf(symboln, sizeof(symboln), "%sBindAttribLocation", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindAttribLocationARB) { - void **procp = (void **) &disp->BindAttribLocationARB; - - snprintf(symboln, sizeof(symboln), "%sBindAttribLocationARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetActiveAttribARB) { - void **procp = (void **) &disp->GetActiveAttribARB; - - snprintf(symboln, sizeof(symboln), "%sGetActiveAttrib", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetActiveAttribARB) { - void **procp = (void **) &disp->GetActiveAttribARB; - - snprintf(symboln, sizeof(symboln), "%sGetActiveAttribARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetAttribLocationARB) { - void **procp = (void **) &disp->GetAttribLocationARB; - - snprintf(symboln, sizeof(symboln), "%sGetAttribLocation", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetAttribLocationARB) { - void **procp = (void **) &disp->GetAttribLocationARB; - - snprintf(symboln, sizeof(symboln), "%sGetAttribLocationARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawBuffersARB) { - void **procp = (void **) &disp->DrawBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sDrawBuffers", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawBuffersARB) { - void **procp = (void **) &disp->DrawBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sDrawBuffersARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawBuffersARB) { - void **procp = (void **) &disp->DrawBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sDrawBuffersATI", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawBuffersARB) { - void **procp = (void **) &disp->DrawBuffersARB; - - snprintf(symboln, sizeof(symboln), "%sDrawBuffersNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClampColorARB) { - void **procp = (void **) &disp->ClampColorARB; - - snprintf(symboln, sizeof(symboln), "%sClampColorARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawArraysInstancedARB) { - void **procp = (void **) &disp->DrawArraysInstancedARB; - - snprintf(symboln, sizeof(symboln), "%sDrawArraysInstancedARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawArraysInstancedARB) { - void **procp = (void **) &disp->DrawArraysInstancedARB; - - snprintf(symboln, sizeof(symboln), "%sDrawArraysInstancedEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawArraysInstancedARB) { - void **procp = (void **) &disp->DrawArraysInstancedARB; - - snprintf(symboln, sizeof(symboln), "%sDrawArraysInstanced", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawElementsInstancedARB) { - void **procp = (void **) &disp->DrawElementsInstancedARB; - - snprintf(symboln, sizeof(symboln), "%sDrawElementsInstancedARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawElementsInstancedARB) { - void **procp = (void **) &disp->DrawElementsInstancedARB; - - snprintf(symboln, sizeof(symboln), "%sDrawElementsInstancedEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawElementsInstancedARB) { - void **procp = (void **) &disp->DrawElementsInstancedARB; - - snprintf(symboln, sizeof(symboln), "%sDrawElementsInstanced", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RenderbufferStorageMultisample) { - void **procp = (void **) &disp->RenderbufferStorageMultisample; - - snprintf(symboln, sizeof(symboln), "%sRenderbufferStorageMultisample", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RenderbufferStorageMultisample) { - void **procp = (void **) &disp->RenderbufferStorageMultisample; - - snprintf(symboln, sizeof(symboln), - "%sRenderbufferStorageMultisampleEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTextureARB) { - void **procp = (void **) &disp->FramebufferTextureARB; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTextureARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTextureFaceARB) { - void **procp = (void **) &disp->FramebufferTextureFaceARB; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTextureFaceARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramParameteriARB) { - void **procp = (void **) &disp->ProgramParameteriARB; - - snprintf(symboln, sizeof(symboln), "%sProgramParameteriARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribDivisorARB) { - void **procp = (void **) &disp->VertexAttribDivisorARB; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribDivisorARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FlushMappedBufferRange) { - void **procp = (void **) &disp->FlushMappedBufferRange; - - snprintf(symboln, sizeof(symboln), "%sFlushMappedBufferRange", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MapBufferRange) { - void **procp = (void **) &disp->MapBufferRange; - - snprintf(symboln, sizeof(symboln), "%sMapBufferRange", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexBufferARB) { - void **procp = (void **) &disp->TexBufferARB; - - snprintf(symboln, sizeof(symboln), "%sTexBufferARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindVertexArray) { - void **procp = (void **) &disp->BindVertexArray; - - snprintf(symboln, sizeof(symboln), "%sBindVertexArray", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenVertexArrays) { - void **procp = (void **) &disp->GenVertexArrays; - - snprintf(symboln, sizeof(symboln), "%sGenVertexArrays", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CopyBufferSubData) { - void **procp = (void **) &disp->CopyBufferSubData; - - snprintf(symboln, sizeof(symboln), "%sCopyBufferSubData", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClientWaitSync) { - void **procp = (void **) &disp->ClientWaitSync; - - snprintf(symboln, sizeof(symboln), "%sClientWaitSync", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteSync) { - void **procp = (void **) &disp->DeleteSync; - - snprintf(symboln, sizeof(symboln), "%sDeleteSync", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FenceSync) { - void **procp = (void **) &disp->FenceSync; - - snprintf(symboln, sizeof(symboln), "%sFenceSync", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetInteger64v) { - void **procp = (void **) &disp->GetInteger64v; - - snprintf(symboln, sizeof(symboln), "%sGetInteger64v", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetSynciv) { - void **procp = (void **) &disp->GetSynciv; - - snprintf(symboln, sizeof(symboln), "%sGetSynciv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsSync) { - void **procp = (void **) &disp->IsSync; - - snprintf(symboln, sizeof(symboln), "%sIsSync", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WaitSync) { - void **procp = (void **) &disp->WaitSync; - - snprintf(symboln, sizeof(symboln), "%sWaitSync", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawElementsBaseVertex) { - void **procp = (void **) &disp->DrawElementsBaseVertex; - - snprintf(symboln, sizeof(symboln), "%sDrawElementsBaseVertex", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawElementsInstancedBaseVertex) { - void **procp = (void **) &disp->DrawElementsInstancedBaseVertex; - - snprintf(symboln, sizeof(symboln), "%sDrawElementsInstancedBaseVertex", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawRangeElementsBaseVertex) { - void **procp = (void **) &disp->DrawRangeElementsBaseVertex; - - snprintf(symboln, sizeof(symboln), "%sDrawRangeElementsBaseVertex", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiDrawElementsBaseVertex) { - void **procp = (void **) &disp->MultiDrawElementsBaseVertex; - - snprintf(symboln, sizeof(symboln), "%sMultiDrawElementsBaseVertex", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquationSeparateiARB) { - void **procp = (void **) &disp->BlendEquationSeparateiARB; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateiARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquationSeparateiARB) { - void **procp = (void **) &disp->BlendEquationSeparateiARB; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateIndexedAMD", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquationiARB) { - void **procp = (void **) &disp->BlendEquationiARB; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationiARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquationiARB) { - void **procp = (void **) &disp->BlendEquationiARB; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationIndexedAMD", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFuncSeparateiARB) { - void **procp = (void **) &disp->BlendFuncSeparateiARB; - - snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateiARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFuncSeparateiARB) { - void **procp = (void **) &disp->BlendFuncSeparateiARB; - - snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateIndexedAMD", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFunciARB) { - void **procp = (void **) &disp->BlendFunciARB; - - snprintf(symboln, sizeof(symboln), "%sBlendFunciARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFunciARB) { - void **procp = (void **) &disp->BlendFunciARB; - - snprintf(symboln, sizeof(symboln), "%sBlendFuncIndexedAMD", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindSampler) { - void **procp = (void **) &disp->BindSampler; - - snprintf(symboln, sizeof(symboln), "%sBindSampler", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteSamplers) { - void **procp = (void **) &disp->DeleteSamplers; - - snprintf(symboln, sizeof(symboln), "%sDeleteSamplers", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenSamplers) { - void **procp = (void **) &disp->GenSamplers; - - snprintf(symboln, sizeof(symboln), "%sGenSamplers", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetSamplerParameterIiv) { - void **procp = (void **) &disp->GetSamplerParameterIiv; - - snprintf(symboln, sizeof(symboln), "%sGetSamplerParameterIiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetSamplerParameterIuiv) { - void **procp = (void **) &disp->GetSamplerParameterIuiv; - - snprintf(symboln, sizeof(symboln), "%sGetSamplerParameterIuiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetSamplerParameterfv) { - void **procp = (void **) &disp->GetSamplerParameterfv; - - snprintf(symboln, sizeof(symboln), "%sGetSamplerParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetSamplerParameteriv) { - void **procp = (void **) &disp->GetSamplerParameteriv; - - snprintf(symboln, sizeof(symboln), "%sGetSamplerParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsSampler) { - void **procp = (void **) &disp->IsSampler; - - snprintf(symboln, sizeof(symboln), "%sIsSampler", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplerParameterIiv) { - void **procp = (void **) &disp->SamplerParameterIiv; - - snprintf(symboln, sizeof(symboln), "%sSamplerParameterIiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplerParameterIuiv) { - void **procp = (void **) &disp->SamplerParameterIuiv; - - snprintf(symboln, sizeof(symboln), "%sSamplerParameterIuiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplerParameterf) { - void **procp = (void **) &disp->SamplerParameterf; - - snprintf(symboln, sizeof(symboln), "%sSamplerParameterf", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplerParameterfv) { - void **procp = (void **) &disp->SamplerParameterfv; - - snprintf(symboln, sizeof(symboln), "%sSamplerParameterfv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplerParameteri) { - void **procp = (void **) &disp->SamplerParameteri; - - snprintf(symboln, sizeof(symboln), "%sSamplerParameteri", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplerParameteriv) { - void **procp = (void **) &disp->SamplerParameteriv; - - snprintf(symboln, sizeof(symboln), "%sSamplerParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorP3ui) { - void **procp = (void **) &disp->ColorP3ui; - - snprintf(symboln, sizeof(symboln), "%sColorP3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorP3uiv) { - void **procp = (void **) &disp->ColorP3uiv; - - snprintf(symboln, sizeof(symboln), "%sColorP3uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorP4ui) { - void **procp = (void **) &disp->ColorP4ui; - - snprintf(symboln, sizeof(symboln), "%sColorP4ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorP4uiv) { - void **procp = (void **) &disp->ColorP4uiv; - - snprintf(symboln, sizeof(symboln), "%sColorP4uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP1ui) { - void **procp = (void **) &disp->MultiTexCoordP1ui; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP1ui", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP1uiv) { - void **procp = (void **) &disp->MultiTexCoordP1uiv; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP1uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP2ui) { - void **procp = (void **) &disp->MultiTexCoordP2ui; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP2ui", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP2uiv) { - void **procp = (void **) &disp->MultiTexCoordP2uiv; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP2uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP3ui) { - void **procp = (void **) &disp->MultiTexCoordP3ui; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP3ui", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP3uiv) { - void **procp = (void **) &disp->MultiTexCoordP3uiv; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP3uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP4ui) { - void **procp = (void **) &disp->MultiTexCoordP4ui; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP4ui", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiTexCoordP4uiv) { - void **procp = (void **) &disp->MultiTexCoordP4uiv; - - snprintf(symboln, sizeof(symboln), "%sMultiTexCoordP4uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->NormalP3ui) { - void **procp = (void **) &disp->NormalP3ui; - - snprintf(symboln, sizeof(symboln), "%sNormalP3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->NormalP3uiv) { - void **procp = (void **) &disp->NormalP3uiv; - - snprintf(symboln, sizeof(symboln), "%sNormalP3uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColorP3ui) { - void **procp = (void **) &disp->SecondaryColorP3ui; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColorP3ui", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColorP3uiv) { - void **procp = (void **) &disp->SecondaryColorP3uiv; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColorP3uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP1ui) { - void **procp = (void **) &disp->TexCoordP1ui; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP1ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP1uiv) { - void **procp = (void **) &disp->TexCoordP1uiv; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP1uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP2ui) { - void **procp = (void **) &disp->TexCoordP2ui; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP2ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP2uiv) { - void **procp = (void **) &disp->TexCoordP2uiv; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP2uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP3ui) { - void **procp = (void **) &disp->TexCoordP3ui; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP3uiv) { - void **procp = (void **) &disp->TexCoordP3uiv; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP3uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP4ui) { - void **procp = (void **) &disp->TexCoordP4ui; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP4ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordP4uiv) { - void **procp = (void **) &disp->TexCoordP4uiv; - - snprintf(symboln, sizeof(symboln), "%sTexCoordP4uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP1ui) { - void **procp = (void **) &disp->VertexAttribP1ui; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP1ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP1uiv) { - void **procp = (void **) &disp->VertexAttribP1uiv; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP1uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP2ui) { - void **procp = (void **) &disp->VertexAttribP2ui; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP2ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP2uiv) { - void **procp = (void **) &disp->VertexAttribP2uiv; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP2uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP3ui) { - void **procp = (void **) &disp->VertexAttribP3ui; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP3uiv) { - void **procp = (void **) &disp->VertexAttribP3uiv; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP3uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP4ui) { - void **procp = (void **) &disp->VertexAttribP4ui; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP4ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribP4uiv) { - void **procp = (void **) &disp->VertexAttribP4uiv; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribP4uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexP2ui) { - void **procp = (void **) &disp->VertexP2ui; - - snprintf(symboln, sizeof(symboln), "%sVertexP2ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexP2uiv) { - void **procp = (void **) &disp->VertexP2uiv; - - snprintf(symboln, sizeof(symboln), "%sVertexP2uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexP3ui) { - void **procp = (void **) &disp->VertexP3ui; - - snprintf(symboln, sizeof(symboln), "%sVertexP3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexP3uiv) { - void **procp = (void **) &disp->VertexP3uiv; - - snprintf(symboln, sizeof(symboln), "%sVertexP3uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexP4ui) { - void **procp = (void **) &disp->VertexP4ui; - - snprintf(symboln, sizeof(symboln), "%sVertexP4ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexP4uiv) { - void **procp = (void **) &disp->VertexP4uiv; - - snprintf(symboln, sizeof(symboln), "%sVertexP4uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindTransformFeedback) { - void **procp = (void **) &disp->BindTransformFeedback; - - snprintf(symboln, sizeof(symboln), "%sBindTransformFeedback", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteTransformFeedbacks) { - void **procp = (void **) &disp->DeleteTransformFeedbacks; - - snprintf(symboln, sizeof(symboln), "%sDeleteTransformFeedbacks", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DrawTransformFeedback) { - void **procp = (void **) &disp->DrawTransformFeedback; - - snprintf(symboln, sizeof(symboln), "%sDrawTransformFeedback", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenTransformFeedbacks) { - void **procp = (void **) &disp->GenTransformFeedbacks; - - snprintf(symboln, sizeof(symboln), "%sGenTransformFeedbacks", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsTransformFeedback) { - void **procp = (void **) &disp->IsTransformFeedback; - - snprintf(symboln, sizeof(symboln), "%sIsTransformFeedback", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PauseTransformFeedback) { - void **procp = (void **) &disp->PauseTransformFeedback; - - snprintf(symboln, sizeof(symboln), "%sPauseTransformFeedback", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ResumeTransformFeedback) { - void **procp = (void **) &disp->ResumeTransformFeedback; - - snprintf(symboln, sizeof(symboln), "%sResumeTransformFeedback", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearDepthf) { - void **procp = (void **) &disp->ClearDepthf; - - snprintf(symboln, sizeof(symboln), "%sClearDepthf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DepthRangef) { - void **procp = (void **) &disp->DepthRangef; - - snprintf(symboln, sizeof(symboln), "%sDepthRangef", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetShaderPrecisionFormat) { - void **procp = (void **) &disp->GetShaderPrecisionFormat; - - snprintf(symboln, sizeof(symboln), "%sGetShaderPrecisionFormat", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ReleaseShaderCompiler) { - void **procp = (void **) &disp->ReleaseShaderCompiler; - - snprintf(symboln, sizeof(symboln), "%sReleaseShaderCompiler", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ShaderBinary) { - void **procp = (void **) &disp->ShaderBinary; - - snprintf(symboln, sizeof(symboln), "%sShaderBinary", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetGraphicsResetStatusARB) { - void **procp = (void **) &disp->GetGraphicsResetStatusARB; - - snprintf(symboln, sizeof(symboln), "%sGetGraphicsResetStatusARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnColorTableARB) { - void **procp = (void **) &disp->GetnColorTableARB; - - snprintf(symboln, sizeof(symboln), "%sGetnColorTableARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnCompressedTexImageARB) { - void **procp = (void **) &disp->GetnCompressedTexImageARB; - - snprintf(symboln, sizeof(symboln), "%sGetnCompressedTexImageARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnConvolutionFilterARB) { - void **procp = (void **) &disp->GetnConvolutionFilterARB; - - snprintf(symboln, sizeof(symboln), "%sGetnConvolutionFilterARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnHistogramARB) { - void **procp = (void **) &disp->GetnHistogramARB; - - snprintf(symboln, sizeof(symboln), "%sGetnHistogramARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnMapdvARB) { - void **procp = (void **) &disp->GetnMapdvARB; - - snprintf(symboln, sizeof(symboln), "%sGetnMapdvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnMapfvARB) { - void **procp = (void **) &disp->GetnMapfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetnMapfvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnMapivARB) { - void **procp = (void **) &disp->GetnMapivARB; - - snprintf(symboln, sizeof(symboln), "%sGetnMapivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnMinmaxARB) { - void **procp = (void **) &disp->GetnMinmaxARB; - - snprintf(symboln, sizeof(symboln), "%sGetnMinmaxARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnPixelMapfvARB) { - void **procp = (void **) &disp->GetnPixelMapfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetnPixelMapfvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnPixelMapuivARB) { - void **procp = (void **) &disp->GetnPixelMapuivARB; - - snprintf(symboln, sizeof(symboln), "%sGetnPixelMapuivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnPixelMapusvARB) { - void **procp = (void **) &disp->GetnPixelMapusvARB; - - snprintf(symboln, sizeof(symboln), "%sGetnPixelMapusvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnPolygonStippleARB) { - void **procp = (void **) &disp->GetnPolygonStippleARB; - - snprintf(symboln, sizeof(symboln), "%sGetnPolygonStippleARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnSeparableFilterARB) { - void **procp = (void **) &disp->GetnSeparableFilterARB; - - snprintf(symboln, sizeof(symboln), "%sGetnSeparableFilterARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnTexImageARB) { - void **procp = (void **) &disp->GetnTexImageARB; - - snprintf(symboln, sizeof(symboln), "%sGetnTexImageARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnUniformdvARB) { - void **procp = (void **) &disp->GetnUniformdvARB; - - snprintf(symboln, sizeof(symboln), "%sGetnUniformdvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnUniformfvARB) { - void **procp = (void **) &disp->GetnUniformfvARB; - - snprintf(symboln, sizeof(symboln), "%sGetnUniformfvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnUniformivARB) { - void **procp = (void **) &disp->GetnUniformivARB; - - snprintf(symboln, sizeof(symboln), "%sGetnUniformivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetnUniformuivARB) { - void **procp = (void **) &disp->GetnUniformuivARB; - - snprintf(symboln, sizeof(symboln), "%sGetnUniformuivARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ReadnPixelsARB) { - void **procp = (void **) &disp->ReadnPixelsARB; - - snprintf(symboln, sizeof(symboln), "%sReadnPixelsARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexStorage1D) { - void **procp = (void **) &disp->TexStorage1D; - - snprintf(symboln, sizeof(symboln), "%sTexStorage1D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexStorage2D) { - void **procp = (void **) &disp->TexStorage2D; - - snprintf(symboln, sizeof(symboln), "%sTexStorage2D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexStorage3D) { - void **procp = (void **) &disp->TexStorage3D; - - snprintf(symboln, sizeof(symboln), "%sTexStorage3D", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TextureStorage1DEXT) { - void **procp = (void **) &disp->TextureStorage1DEXT; - - snprintf(symboln, sizeof(symboln), "%sTextureStorage1DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TextureStorage2DEXT) { - void **procp = (void **) &disp->TextureStorage2DEXT; - - snprintf(symboln, sizeof(symboln), "%sTextureStorage2DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TextureStorage3DEXT) { - void **procp = (void **) &disp->TextureStorage3DEXT; - - snprintf(symboln, sizeof(symboln), "%sTextureStorage3DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PolygonOffsetEXT) { - void **procp = (void **) &disp->PolygonOffsetEXT; - - snprintf(symboln, sizeof(symboln), "%sPolygonOffsetEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPixelTexGenParameterfvSGIS) { - void **procp = (void **) &disp->GetPixelTexGenParameterfvSGIS; - - snprintf(symboln, sizeof(symboln), "%sGetPixelTexGenParameterfvSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetPixelTexGenParameterivSGIS) { - void **procp = (void **) &disp->GetPixelTexGenParameterivSGIS; - - snprintf(symboln, sizeof(symboln), "%sGetPixelTexGenParameterivSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelTexGenParameterfSGIS) { - void **procp = (void **) &disp->PixelTexGenParameterfSGIS; - - snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameterfSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelTexGenParameterfvSGIS) { - void **procp = (void **) &disp->PixelTexGenParameterfvSGIS; - - snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameterfvSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelTexGenParameteriSGIS) { - void **procp = (void **) &disp->PixelTexGenParameteriSGIS; - - snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameteriSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelTexGenParameterivSGIS) { - void **procp = (void **) &disp->PixelTexGenParameterivSGIS; - - snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameterivSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SampleMaskSGIS) { - void **procp = (void **) &disp->SampleMaskSGIS; - - snprintf(symboln, sizeof(symboln), "%sSampleMaskSGIS", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SampleMaskSGIS) { - void **procp = (void **) &disp->SampleMaskSGIS; - - snprintf(symboln, sizeof(symboln), "%sSampleMaskEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplePatternSGIS) { - void **procp = (void **) &disp->SamplePatternSGIS; - - snprintf(symboln, sizeof(symboln), "%sSamplePatternSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SamplePatternSGIS) { - void **procp = (void **) &disp->SamplePatternSGIS; - - snprintf(symboln, sizeof(symboln), "%sSamplePatternEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorPointerEXT) { - void **procp = (void **) &disp->ColorPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sColorPointerEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EdgeFlagPointerEXT) { - void **procp = (void **) &disp->EdgeFlagPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sEdgeFlagPointerEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IndexPointerEXT) { - void **procp = (void **) &disp->IndexPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sIndexPointerEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->NormalPointerEXT) { - void **procp = (void **) &disp->NormalPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sNormalPointerEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexCoordPointerEXT) { - void **procp = (void **) &disp->TexCoordPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sTexCoordPointerEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexPointerEXT) { - void **procp = (void **) &disp->VertexPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexPointerEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfEXT) { - void **procp = (void **) &disp->PointParameterfEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfEXT) { - void **procp = (void **) &disp->PointParameterfEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterfARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfEXT) { - void **procp = (void **) &disp->PointParameterfEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterfEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfEXT) { - void **procp = (void **) &disp->PointParameterfEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterfSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfvEXT) { - void **procp = (void **) &disp->PointParameterfvEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfvEXT) { - void **procp = (void **) &disp->PointParameterfvEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterfvARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfvEXT) { - void **procp = (void **) &disp->PointParameterfvEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterfvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterfvEXT) { - void **procp = (void **) &disp->PointParameterfvEXT; - - snprintf(symboln, sizeof(symboln), "%sPointParameterfvSGIS", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LockArraysEXT) { - void **procp = (void **) &disp->LockArraysEXT; - - snprintf(symboln, sizeof(symboln), "%sLockArraysEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UnlockArraysEXT) { - void **procp = (void **) &disp->UnlockArraysEXT; - - snprintf(symboln, sizeof(symboln), "%sUnlockArraysEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3bEXT) { - void **procp = (void **) &disp->SecondaryColor3bEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3b", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3bEXT) { - void **procp = (void **) &disp->SecondaryColor3bEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3bEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3bvEXT) { - void **procp = (void **) &disp->SecondaryColor3bvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3bv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3bvEXT) { - void **procp = (void **) &disp->SecondaryColor3bvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3bvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3dEXT) { - void **procp = (void **) &disp->SecondaryColor3dEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3dEXT) { - void **procp = (void **) &disp->SecondaryColor3dEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3dEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3dvEXT) { - void **procp = (void **) &disp->SecondaryColor3dvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3dv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3dvEXT) { - void **procp = (void **) &disp->SecondaryColor3dvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3dvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3fEXT) { - void **procp = (void **) &disp->SecondaryColor3fEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3fEXT) { - void **procp = (void **) &disp->SecondaryColor3fEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3fEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3fvEXT) { - void **procp = (void **) &disp->SecondaryColor3fvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3fv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3fvEXT) { - void **procp = (void **) &disp->SecondaryColor3fvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3fvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3iEXT) { - void **procp = (void **) &disp->SecondaryColor3iEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3iEXT) { - void **procp = (void **) &disp->SecondaryColor3iEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3iEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3ivEXT) { - void **procp = (void **) &disp->SecondaryColor3ivEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3iv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3ivEXT) { - void **procp = (void **) &disp->SecondaryColor3ivEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3sEXT) { - void **procp = (void **) &disp->SecondaryColor3sEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3sEXT) { - void **procp = (void **) &disp->SecondaryColor3sEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3sEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3svEXT) { - void **procp = (void **) &disp->SecondaryColor3svEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3sv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3svEXT) { - void **procp = (void **) &disp->SecondaryColor3svEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3svEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3ubEXT) { - void **procp = (void **) &disp->SecondaryColor3ubEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ub", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3ubEXT) { - void **procp = (void **) &disp->SecondaryColor3ubEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ubEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3ubvEXT) { - void **procp = (void **) &disp->SecondaryColor3ubvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ubv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3ubvEXT) { - void **procp = (void **) &disp->SecondaryColor3ubvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ubvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3uiEXT) { - void **procp = (void **) &disp->SecondaryColor3uiEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ui", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3uiEXT) { - void **procp = (void **) &disp->SecondaryColor3uiEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3uiEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3uivEXT) { - void **procp = (void **) &disp->SecondaryColor3uivEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3uivEXT) { - void **procp = (void **) &disp->SecondaryColor3uivEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3uivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3usEXT) { - void **procp = (void **) &disp->SecondaryColor3usEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3us", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3usEXT) { - void **procp = (void **) &disp->SecondaryColor3usEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3usEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3usvEXT) { - void **procp = (void **) &disp->SecondaryColor3usvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3usv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColor3usvEXT) { - void **procp = (void **) &disp->SecondaryColor3usvEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColor3usvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColorPointerEXT) { - void **procp = (void **) &disp->SecondaryColorPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColorPointer", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SecondaryColorPointerEXT) { - void **procp = (void **) &disp->SecondaryColorPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sSecondaryColorPointerEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiDrawArraysEXT) { - void **procp = (void **) &disp->MultiDrawArraysEXT; - - snprintf(symboln, sizeof(symboln), "%sMultiDrawArrays", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiDrawArraysEXT) { - void **procp = (void **) &disp->MultiDrawArraysEXT; - - snprintf(symboln, sizeof(symboln), "%sMultiDrawArraysEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiDrawElementsEXT) { - void **procp = (void **) &disp->MultiDrawElementsEXT; - - snprintf(symboln, sizeof(symboln), "%sMultiDrawElements", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiDrawElementsEXT) { - void **procp = (void **) &disp->MultiDrawElementsEXT; - - snprintf(symboln, sizeof(symboln), "%sMultiDrawElementsEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoordPointerEXT) { - void **procp = (void **) &disp->FogCoordPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoordPointer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoordPointerEXT) { - void **procp = (void **) &disp->FogCoordPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoordPointerEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoorddEXT) { - void **procp = (void **) &disp->FogCoorddEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoordd", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoorddEXT) { - void **procp = (void **) &disp->FogCoorddEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoorddEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoorddvEXT) { - void **procp = (void **) &disp->FogCoorddvEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoorddv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoorddvEXT) { - void **procp = (void **) &disp->FogCoorddvEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoorddvEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoordfEXT) { - void **procp = (void **) &disp->FogCoordfEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoordf", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoordfEXT) { - void **procp = (void **) &disp->FogCoordfEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoordfEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoordfvEXT) { - void **procp = (void **) &disp->FogCoordfvEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoordfv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FogCoordfvEXT) { - void **procp = (void **) &disp->FogCoordfvEXT; - - snprintf(symboln, sizeof(symboln), "%sFogCoordfvEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PixelTexGenSGIX) { - void **procp = (void **) &disp->PixelTexGenSGIX; - - snprintf(symboln, sizeof(symboln), "%sPixelTexGenSGIX", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFuncSeparateEXT) { - void **procp = (void **) &disp->BlendFuncSeparateEXT; - - snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparate", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFuncSeparateEXT) { - void **procp = (void **) &disp->BlendFuncSeparateEXT; - - snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendFuncSeparateEXT) { - void **procp = (void **) &disp->BlendFuncSeparateEXT; - - snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateINGR", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FlushVertexArrayRangeNV) { - void **procp = (void **) &disp->FlushVertexArrayRangeNV; - - snprintf(symboln, sizeof(symboln), "%sFlushVertexArrayRangeNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexArrayRangeNV) { - void **procp = (void **) &disp->VertexArrayRangeNV; - - snprintf(symboln, sizeof(symboln), "%sVertexArrayRangeNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CombinerInputNV) { - void **procp = (void **) &disp->CombinerInputNV; - - snprintf(symboln, sizeof(symboln), "%sCombinerInputNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CombinerOutputNV) { - void **procp = (void **) &disp->CombinerOutputNV; - - snprintf(symboln, sizeof(symboln), "%sCombinerOutputNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CombinerParameterfNV) { - void **procp = (void **) &disp->CombinerParameterfNV; - - snprintf(symboln, sizeof(symboln), "%sCombinerParameterfNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CombinerParameterfvNV) { - void **procp = (void **) &disp->CombinerParameterfvNV; - - snprintf(symboln, sizeof(symboln), "%sCombinerParameterfvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CombinerParameteriNV) { - void **procp = (void **) &disp->CombinerParameteriNV; - - snprintf(symboln, sizeof(symboln), "%sCombinerParameteriNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CombinerParameterivNV) { - void **procp = (void **) &disp->CombinerParameterivNV; - - snprintf(symboln, sizeof(symboln), "%sCombinerParameterivNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FinalCombinerInputNV) { - void **procp = (void **) &disp->FinalCombinerInputNV; - - snprintf(symboln, sizeof(symboln), "%sFinalCombinerInputNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetCombinerInputParameterfvNV) { - void **procp = (void **) &disp->GetCombinerInputParameterfvNV; - - snprintf(symboln, sizeof(symboln), "%sGetCombinerInputParameterfvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetCombinerInputParameterivNV) { - void **procp = (void **) &disp->GetCombinerInputParameterivNV; - - snprintf(symboln, sizeof(symboln), "%sGetCombinerInputParameterivNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetCombinerOutputParameterfvNV) { - void **procp = (void **) &disp->GetCombinerOutputParameterfvNV; - - snprintf(symboln, sizeof(symboln), "%sGetCombinerOutputParameterfvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetCombinerOutputParameterivNV) { - void **procp = (void **) &disp->GetCombinerOutputParameterivNV; - - snprintf(symboln, sizeof(symboln), "%sGetCombinerOutputParameterivNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFinalCombinerInputParameterfvNV) { - void **procp = (void **) &disp->GetFinalCombinerInputParameterfvNV; - - snprintf(symboln, sizeof(symboln), - "%sGetFinalCombinerInputParameterfvNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFinalCombinerInputParameterivNV) { - void **procp = (void **) &disp->GetFinalCombinerInputParameterivNV; - - snprintf(symboln, sizeof(symboln), - "%sGetFinalCombinerInputParameterivNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ResizeBuffersMESA) { - void **procp = (void **) &disp->ResizeBuffersMESA; - - snprintf(symboln, sizeof(symboln), "%sResizeBuffersMESA", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2dMESA) { - void **procp = (void **) &disp->WindowPos2dMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2dMESA) { - void **procp = (void **) &disp->WindowPos2dMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2dARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2dMESA) { - void **procp = (void **) &disp->WindowPos2dMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2dMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2dvMESA) { - void **procp = (void **) &disp->WindowPos2dvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2dvMESA) { - void **procp = (void **) &disp->WindowPos2dvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2dvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2dvMESA) { - void **procp = (void **) &disp->WindowPos2dvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2dvMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2fMESA) { - void **procp = (void **) &disp->WindowPos2fMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2fMESA) { - void **procp = (void **) &disp->WindowPos2fMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2fARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2fMESA) { - void **procp = (void **) &disp->WindowPos2fMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2fMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2fvMESA) { - void **procp = (void **) &disp->WindowPos2fvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2fvMESA) { - void **procp = (void **) &disp->WindowPos2fvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2fvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2fvMESA) { - void **procp = (void **) &disp->WindowPos2fvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2fvMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2iMESA) { - void **procp = (void **) &disp->WindowPos2iMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2iMESA) { - void **procp = (void **) &disp->WindowPos2iMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2iARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2iMESA) { - void **procp = (void **) &disp->WindowPos2iMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2iMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2ivMESA) { - void **procp = (void **) &disp->WindowPos2ivMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2ivMESA) { - void **procp = (void **) &disp->WindowPos2ivMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2ivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2ivMESA) { - void **procp = (void **) &disp->WindowPos2ivMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2ivMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2sMESA) { - void **procp = (void **) &disp->WindowPos2sMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2sMESA) { - void **procp = (void **) &disp->WindowPos2sMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2sARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2sMESA) { - void **procp = (void **) &disp->WindowPos2sMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2sMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2svMESA) { - void **procp = (void **) &disp->WindowPos2svMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2svMESA) { - void **procp = (void **) &disp->WindowPos2svMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2svARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos2svMESA) { - void **procp = (void **) &disp->WindowPos2svMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos2svMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3dMESA) { - void **procp = (void **) &disp->WindowPos3dMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3d", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3dMESA) { - void **procp = (void **) &disp->WindowPos3dMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3dARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3dMESA) { - void **procp = (void **) &disp->WindowPos3dMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3dMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3dvMESA) { - void **procp = (void **) &disp->WindowPos3dvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3dv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3dvMESA) { - void **procp = (void **) &disp->WindowPos3dvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3dvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3dvMESA) { - void **procp = (void **) &disp->WindowPos3dvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3dvMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3fMESA) { - void **procp = (void **) &disp->WindowPos3fMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3f", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3fMESA) { - void **procp = (void **) &disp->WindowPos3fMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3fARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3fMESA) { - void **procp = (void **) &disp->WindowPos3fMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3fMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3fvMESA) { - void **procp = (void **) &disp->WindowPos3fvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3fv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3fvMESA) { - void **procp = (void **) &disp->WindowPos3fvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3fvARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3fvMESA) { - void **procp = (void **) &disp->WindowPos3fvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3fvMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3iMESA) { - void **procp = (void **) &disp->WindowPos3iMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3iMESA) { - void **procp = (void **) &disp->WindowPos3iMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3iARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3iMESA) { - void **procp = (void **) &disp->WindowPos3iMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3iMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3ivMESA) { - void **procp = (void **) &disp->WindowPos3ivMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3ivMESA) { - void **procp = (void **) &disp->WindowPos3ivMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3ivARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3ivMESA) { - void **procp = (void **) &disp->WindowPos3ivMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3ivMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3sMESA) { - void **procp = (void **) &disp->WindowPos3sMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3s", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3sMESA) { - void **procp = (void **) &disp->WindowPos3sMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3sARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3sMESA) { - void **procp = (void **) &disp->WindowPos3sMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3sMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3svMESA) { - void **procp = (void **) &disp->WindowPos3svMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3svMESA) { - void **procp = (void **) &disp->WindowPos3svMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3svARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos3svMESA) { - void **procp = (void **) &disp->WindowPos3svMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos3svMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4dMESA) { - void **procp = (void **) &disp->WindowPos4dMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4dMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4dvMESA) { - void **procp = (void **) &disp->WindowPos4dvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4dvMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4fMESA) { - void **procp = (void **) &disp->WindowPos4fMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4fMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4fvMESA) { - void **procp = (void **) &disp->WindowPos4fvMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4fvMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4iMESA) { - void **procp = (void **) &disp->WindowPos4iMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4iMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4ivMESA) { - void **procp = (void **) &disp->WindowPos4ivMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4ivMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4sMESA) { - void **procp = (void **) &disp->WindowPos4sMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4sMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->WindowPos4svMESA) { - void **procp = (void **) &disp->WindowPos4svMESA; - - snprintf(symboln, sizeof(symboln), "%sWindowPos4svMESA", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiModeDrawArraysIBM) { - void **procp = (void **) &disp->MultiModeDrawArraysIBM; - - snprintf(symboln, sizeof(symboln), "%sMultiModeDrawArraysIBM", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->MultiModeDrawElementsIBM) { - void **procp = (void **) &disp->MultiModeDrawElementsIBM; - - snprintf(symboln, sizeof(symboln), "%sMultiModeDrawElementsIBM", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteFencesNV) { - void **procp = (void **) &disp->DeleteFencesNV; - - snprintf(symboln, sizeof(symboln), "%sDeleteFencesNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FinishFenceNV) { - void **procp = (void **) &disp->FinishFenceNV; - - snprintf(symboln, sizeof(symboln), "%sFinishFenceNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenFencesNV) { - void **procp = (void **) &disp->GenFencesNV; - - snprintf(symboln, sizeof(symboln), "%sGenFencesNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFenceivNV) { - void **procp = (void **) &disp->GetFenceivNV; - - snprintf(symboln, sizeof(symboln), "%sGetFenceivNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsFenceNV) { - void **procp = (void **) &disp->IsFenceNV; - - snprintf(symboln, sizeof(symboln), "%sIsFenceNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SetFenceNV) { - void **procp = (void **) &disp->SetFenceNV; - - snprintf(symboln, sizeof(symboln), "%sSetFenceNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TestFenceNV) { - void **procp = (void **) &disp->TestFenceNV; - - snprintf(symboln, sizeof(symboln), "%sTestFenceNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AreProgramsResidentNV) { - void **procp = (void **) &disp->AreProgramsResidentNV; - - snprintf(symboln, sizeof(symboln), "%sAreProgramsResidentNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindProgramNV) { - void **procp = (void **) &disp->BindProgramNV; - - snprintf(symboln, sizeof(symboln), "%sBindProgramARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindProgramNV) { - void **procp = (void **) &disp->BindProgramNV; - - snprintf(symboln, sizeof(symboln), "%sBindProgramNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteProgramsNV) { - void **procp = (void **) &disp->DeleteProgramsNV; - - snprintf(symboln, sizeof(symboln), "%sDeleteProgramsARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteProgramsNV) { - void **procp = (void **) &disp->DeleteProgramsNV; - - snprintf(symboln, sizeof(symboln), "%sDeleteProgramsNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ExecuteProgramNV) { - void **procp = (void **) &disp->ExecuteProgramNV; - - snprintf(symboln, sizeof(symboln), "%sExecuteProgramNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenProgramsNV) { - void **procp = (void **) &disp->GenProgramsNV; - - snprintf(symboln, sizeof(symboln), "%sGenProgramsARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenProgramsNV) { - void **procp = (void **) &disp->GenProgramsNV; - - snprintf(symboln, sizeof(symboln), "%sGenProgramsNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramParameterdvNV) { - void **procp = (void **) &disp->GetProgramParameterdvNV; - - snprintf(symboln, sizeof(symboln), "%sGetProgramParameterdvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramParameterfvNV) { - void **procp = (void **) &disp->GetProgramParameterfvNV; - - snprintf(symboln, sizeof(symboln), "%sGetProgramParameterfvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramStringNV) { - void **procp = (void **) &disp->GetProgramStringNV; - - snprintf(symboln, sizeof(symboln), "%sGetProgramStringNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramivNV) { - void **procp = (void **) &disp->GetProgramivNV; - - snprintf(symboln, sizeof(symboln), "%sGetProgramivNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTrackMatrixivNV) { - void **procp = (void **) &disp->GetTrackMatrixivNV; - - snprintf(symboln, sizeof(symboln), "%sGetTrackMatrixivNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribPointervNV) { - void **procp = (void **) &disp->GetVertexAttribPointervNV; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribPointerv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribPointervNV) { - void **procp = (void **) &disp->GetVertexAttribPointervNV; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribPointervARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribPointervNV) { - void **procp = (void **) &disp->GetVertexAttribPointervNV; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribPointervNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribdvNV) { - void **procp = (void **) &disp->GetVertexAttribdvNV; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribdvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribfvNV) { - void **procp = (void **) &disp->GetVertexAttribfvNV; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribfvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribivNV) { - void **procp = (void **) &disp->GetVertexAttribivNV; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribivNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsProgramNV) { - void **procp = (void **) &disp->IsProgramNV; - - snprintf(symboln, sizeof(symboln), "%sIsProgramARB", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsProgramNV) { - void **procp = (void **) &disp->IsProgramNV; - - snprintf(symboln, sizeof(symboln), "%sIsProgramNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->LoadProgramNV) { - void **procp = (void **) &disp->LoadProgramNV; - - snprintf(symboln, sizeof(symboln), "%sLoadProgramNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramParameters4dvNV) { - void **procp = (void **) &disp->ProgramParameters4dvNV; - - snprintf(symboln, sizeof(symboln), "%sProgramParameters4dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramParameters4fvNV) { - void **procp = (void **) &disp->ProgramParameters4fvNV; - - snprintf(symboln, sizeof(symboln), "%sProgramParameters4fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RequestResidentProgramsNV) { - void **procp = (void **) &disp->RequestResidentProgramsNV; - - snprintf(symboln, sizeof(symboln), "%sRequestResidentProgramsNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TrackMatrixNV) { - void **procp = (void **) &disp->TrackMatrixNV; - - snprintf(symboln, sizeof(symboln), "%sTrackMatrixNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1dNV) { - void **procp = (void **) &disp->VertexAttrib1dNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1dvNV) { - void **procp = (void **) &disp->VertexAttrib1dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1fNV) { - void **procp = (void **) &disp->VertexAttrib1fNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1fvNV) { - void **procp = (void **) &disp->VertexAttrib1fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1sNV) { - void **procp = (void **) &disp->VertexAttrib1sNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1sNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib1svNV) { - void **procp = (void **) &disp->VertexAttrib1svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib1svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2dNV) { - void **procp = (void **) &disp->VertexAttrib2dNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2dvNV) { - void **procp = (void **) &disp->VertexAttrib2dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2fNV) { - void **procp = (void **) &disp->VertexAttrib2fNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2fvNV) { - void **procp = (void **) &disp->VertexAttrib2fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2sNV) { - void **procp = (void **) &disp->VertexAttrib2sNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2sNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib2svNV) { - void **procp = (void **) &disp->VertexAttrib2svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib2svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3dNV) { - void **procp = (void **) &disp->VertexAttrib3dNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3dvNV) { - void **procp = (void **) &disp->VertexAttrib3dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3fNV) { - void **procp = (void **) &disp->VertexAttrib3fNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3fvNV) { - void **procp = (void **) &disp->VertexAttrib3fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3sNV) { - void **procp = (void **) &disp->VertexAttrib3sNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3sNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib3svNV) { - void **procp = (void **) &disp->VertexAttrib3svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib3svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4dNV) { - void **procp = (void **) &disp->VertexAttrib4dNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4dvNV) { - void **procp = (void **) &disp->VertexAttrib4dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4fNV) { - void **procp = (void **) &disp->VertexAttrib4fNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4fvNV) { - void **procp = (void **) &disp->VertexAttrib4fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4sNV) { - void **procp = (void **) &disp->VertexAttrib4sNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4sNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4svNV) { - void **procp = (void **) &disp->VertexAttrib4svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4ubNV) { - void **procp = (void **) &disp->VertexAttrib4ubNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttrib4ubvNV) { - void **procp = (void **) &disp->VertexAttrib4ubvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribPointerNV) { - void **procp = (void **) &disp->VertexAttribPointerNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribPointerNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs1dvNV) { - void **procp = (void **) &disp->VertexAttribs1dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs1dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs1fvNV) { - void **procp = (void **) &disp->VertexAttribs1fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs1fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs1svNV) { - void **procp = (void **) &disp->VertexAttribs1svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs1svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs2dvNV) { - void **procp = (void **) &disp->VertexAttribs2dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs2dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs2fvNV) { - void **procp = (void **) &disp->VertexAttribs2fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs2fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs2svNV) { - void **procp = (void **) &disp->VertexAttribs2svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs2svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs3dvNV) { - void **procp = (void **) &disp->VertexAttribs3dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs3dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs3fvNV) { - void **procp = (void **) &disp->VertexAttribs3fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs3fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs3svNV) { - void **procp = (void **) &disp->VertexAttribs3svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs3svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs4dvNV) { - void **procp = (void **) &disp->VertexAttribs4dvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs4dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs4fvNV) { - void **procp = (void **) &disp->VertexAttribs4fvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs4fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs4svNV) { - void **procp = (void **) &disp->VertexAttribs4svNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs4svNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribs4ubvNV) { - void **procp = (void **) &disp->VertexAttribs4ubvNV; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribs4ubvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexBumpParameterfvATI) { - void **procp = (void **) &disp->GetTexBumpParameterfvATI; - - snprintf(symboln, sizeof(symboln), "%sGetTexBumpParameterfvATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexBumpParameterivATI) { - void **procp = (void **) &disp->GetTexBumpParameterivATI; - - snprintf(symboln, sizeof(symboln), "%sGetTexBumpParameterivATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexBumpParameterfvATI) { - void **procp = (void **) &disp->TexBumpParameterfvATI; - - snprintf(symboln, sizeof(symboln), "%sTexBumpParameterfvATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexBumpParameterivATI) { - void **procp = (void **) &disp->TexBumpParameterivATI; - - snprintf(symboln, sizeof(symboln), "%sTexBumpParameterivATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AlphaFragmentOp1ATI) { - void **procp = (void **) &disp->AlphaFragmentOp1ATI; - - snprintf(symboln, sizeof(symboln), "%sAlphaFragmentOp1ATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AlphaFragmentOp2ATI) { - void **procp = (void **) &disp->AlphaFragmentOp2ATI; - - snprintf(symboln, sizeof(symboln), "%sAlphaFragmentOp2ATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->AlphaFragmentOp3ATI) { - void **procp = (void **) &disp->AlphaFragmentOp3ATI; - - snprintf(symboln, sizeof(symboln), "%sAlphaFragmentOp3ATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BeginFragmentShaderATI) { - void **procp = (void **) &disp->BeginFragmentShaderATI; - - snprintf(symboln, sizeof(symboln), "%sBeginFragmentShaderATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindFragmentShaderATI) { - void **procp = (void **) &disp->BindFragmentShaderATI; - - snprintf(symboln, sizeof(symboln), "%sBindFragmentShaderATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorFragmentOp1ATI) { - void **procp = (void **) &disp->ColorFragmentOp1ATI; - - snprintf(symboln, sizeof(symboln), "%sColorFragmentOp1ATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorFragmentOp2ATI) { - void **procp = (void **) &disp->ColorFragmentOp2ATI; - - snprintf(symboln, sizeof(symboln), "%sColorFragmentOp2ATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorFragmentOp3ATI) { - void **procp = (void **) &disp->ColorFragmentOp3ATI; - - snprintf(symboln, sizeof(symboln), "%sColorFragmentOp3ATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteFragmentShaderATI) { - void **procp = (void **) &disp->DeleteFragmentShaderATI; - - snprintf(symboln, sizeof(symboln), "%sDeleteFragmentShaderATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndFragmentShaderATI) { - void **procp = (void **) &disp->EndFragmentShaderATI; - - snprintf(symboln, sizeof(symboln), "%sEndFragmentShaderATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenFragmentShadersATI) { - void **procp = (void **) &disp->GenFragmentShadersATI; - - snprintf(symboln, sizeof(symboln), "%sGenFragmentShadersATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PassTexCoordATI) { - void **procp = (void **) &disp->PassTexCoordATI; - - snprintf(symboln, sizeof(symboln), "%sPassTexCoordATI", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SampleMapATI) { - void **procp = (void **) &disp->SampleMapATI; - - snprintf(symboln, sizeof(symboln), "%sSampleMapATI", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->SetFragmentShaderConstantATI) { - void **procp = (void **) &disp->SetFragmentShaderConstantATI; - - snprintf(symboln, sizeof(symboln), "%sSetFragmentShaderConstantATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameteriNV) { - void **procp = (void **) &disp->PointParameteriNV; - - snprintf(symboln, sizeof(symboln), "%sPointParameteri", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameteriNV) { - void **procp = (void **) &disp->PointParameteriNV; - - snprintf(symboln, sizeof(symboln), "%sPointParameteriNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterivNV) { - void **procp = (void **) &disp->PointParameterivNV; - - snprintf(symboln, sizeof(symboln), "%sPointParameteriv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PointParameterivNV) { - void **procp = (void **) &disp->PointParameterivNV; - - snprintf(symboln, sizeof(symboln), "%sPointParameterivNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ActiveStencilFaceEXT) { - void **procp = (void **) &disp->ActiveStencilFaceEXT; - - snprintf(symboln, sizeof(symboln), "%sActiveStencilFaceEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindVertexArrayAPPLE) { - void **procp = (void **) &disp->BindVertexArrayAPPLE; - - snprintf(symboln, sizeof(symboln), "%sBindVertexArrayAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteVertexArraysAPPLE) { - void **procp = (void **) &disp->DeleteVertexArraysAPPLE; - - snprintf(symboln, sizeof(symboln), "%sDeleteVertexArrays", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteVertexArraysAPPLE) { - void **procp = (void **) &disp->DeleteVertexArraysAPPLE; - - snprintf(symboln, sizeof(symboln), "%sDeleteVertexArraysAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenVertexArraysAPPLE) { - void **procp = (void **) &disp->GenVertexArraysAPPLE; - - snprintf(symboln, sizeof(symboln), "%sGenVertexArraysAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsVertexArrayAPPLE) { - void **procp = (void **) &disp->IsVertexArrayAPPLE; - - snprintf(symboln, sizeof(symboln), "%sIsVertexArray", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsVertexArrayAPPLE) { - void **procp = (void **) &disp->IsVertexArrayAPPLE; - - snprintf(symboln, sizeof(symboln), "%sIsVertexArrayAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramNamedParameterdvNV) { - void **procp = (void **) &disp->GetProgramNamedParameterdvNV; - - snprintf(symboln, sizeof(symboln), "%sGetProgramNamedParameterdvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetProgramNamedParameterfvNV) { - void **procp = (void **) &disp->GetProgramNamedParameterfvNV; - - snprintf(symboln, sizeof(symboln), "%sGetProgramNamedParameterfvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramNamedParameter4dNV) { - void **procp = (void **) &disp->ProgramNamedParameter4dNV; - - snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4dNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramNamedParameter4dvNV) { - void **procp = (void **) &disp->ProgramNamedParameter4dvNV; - - snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4dvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramNamedParameter4fNV) { - void **procp = (void **) &disp->ProgramNamedParameter4fNV; - - snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4fNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramNamedParameter4fvNV) { - void **procp = (void **) &disp->ProgramNamedParameter4fvNV; - - snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4fvNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PrimitiveRestartIndexNV) { - void **procp = (void **) &disp->PrimitiveRestartIndexNV; - - snprintf(symboln, sizeof(symboln), "%sPrimitiveRestartIndexNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PrimitiveRestartIndexNV) { - void **procp = (void **) &disp->PrimitiveRestartIndexNV; - - snprintf(symboln, sizeof(symboln), "%sPrimitiveRestartIndex", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->PrimitiveRestartNV) { - void **procp = (void **) &disp->PrimitiveRestartNV; - - snprintf(symboln, sizeof(symboln), "%sPrimitiveRestartNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DepthBoundsEXT) { - void **procp = (void **) &disp->DepthBoundsEXT; - - snprintf(symboln, sizeof(symboln), "%sDepthBoundsEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquationSeparateEXT) { - void **procp = (void **) &disp->BlendEquationSeparateEXT; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparate", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquationSeparateEXT) { - void **procp = (void **) &disp->BlendEquationSeparateEXT; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlendEquationSeparateEXT) { - void **procp = (void **) &disp->BlendEquationSeparateEXT; - - snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindFramebufferEXT) { - void **procp = (void **) &disp->BindFramebufferEXT; - - snprintf(symboln, sizeof(symboln), "%sBindFramebuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindFramebufferEXT) { - void **procp = (void **) &disp->BindFramebufferEXT; - - snprintf(symboln, sizeof(symboln), "%sBindFramebufferEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindRenderbufferEXT) { - void **procp = (void **) &disp->BindRenderbufferEXT; - - snprintf(symboln, sizeof(symboln), "%sBindRenderbuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindRenderbufferEXT) { - void **procp = (void **) &disp->BindRenderbufferEXT; - - snprintf(symboln, sizeof(symboln), "%sBindRenderbufferEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CheckFramebufferStatusEXT) { - void **procp = (void **) &disp->CheckFramebufferStatusEXT; - - snprintf(symboln, sizeof(symboln), "%sCheckFramebufferStatus", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CheckFramebufferStatusEXT) { - void **procp = (void **) &disp->CheckFramebufferStatusEXT; - - snprintf(symboln, sizeof(symboln), "%sCheckFramebufferStatusEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteFramebuffersEXT) { - void **procp = (void **) &disp->DeleteFramebuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sDeleteFramebuffers", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteFramebuffersEXT) { - void **procp = (void **) &disp->DeleteFramebuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sDeleteFramebuffersEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteRenderbuffersEXT) { - void **procp = (void **) &disp->DeleteRenderbuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sDeleteRenderbuffers", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DeleteRenderbuffersEXT) { - void **procp = (void **) &disp->DeleteRenderbuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sDeleteRenderbuffersEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferRenderbufferEXT) { - void **procp = (void **) &disp->FramebufferRenderbufferEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferRenderbuffer", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferRenderbufferEXT) { - void **procp = (void **) &disp->FramebufferRenderbufferEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferRenderbufferEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTexture1DEXT) { - void **procp = (void **) &disp->FramebufferTexture1DEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTexture1D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTexture1DEXT) { - void **procp = (void **) &disp->FramebufferTexture1DEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTexture1DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTexture2DEXT) { - void **procp = (void **) &disp->FramebufferTexture2DEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTexture2D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTexture2DEXT) { - void **procp = (void **) &disp->FramebufferTexture2DEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTexture2DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTexture3DEXT) { - void **procp = (void **) &disp->FramebufferTexture3DEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTexture3D", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTexture3DEXT) { - void **procp = (void **) &disp->FramebufferTexture3DEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTexture3DEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenFramebuffersEXT) { - void **procp = (void **) &disp->GenFramebuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sGenFramebuffers", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenFramebuffersEXT) { - void **procp = (void **) &disp->GenFramebuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sGenFramebuffersEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenRenderbuffersEXT) { - void **procp = (void **) &disp->GenRenderbuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sGenRenderbuffers", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenRenderbuffersEXT) { - void **procp = (void **) &disp->GenRenderbuffersEXT; - - snprintf(symboln, sizeof(symboln), "%sGenRenderbuffersEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenerateMipmapEXT) { - void **procp = (void **) &disp->GenerateMipmapEXT; - - snprintf(symboln, sizeof(symboln), "%sGenerateMipmap", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GenerateMipmapEXT) { - void **procp = (void **) &disp->GenerateMipmapEXT; - - snprintf(symboln, sizeof(symboln), "%sGenerateMipmapEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFramebufferAttachmentParameterivEXT) { - void **procp = (void **) &disp->GetFramebufferAttachmentParameterivEXT; - - snprintf(symboln, sizeof(symboln), - "%sGetFramebufferAttachmentParameteriv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFramebufferAttachmentParameterivEXT) { - void **procp = (void **) &disp->GetFramebufferAttachmentParameterivEXT; - - snprintf(symboln, sizeof(symboln), - "%sGetFramebufferAttachmentParameterivEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetRenderbufferParameterivEXT) { - void **procp = (void **) &disp->GetRenderbufferParameterivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetRenderbufferParameteriv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetRenderbufferParameterivEXT) { - void **procp = (void **) &disp->GetRenderbufferParameterivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetRenderbufferParameterivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsFramebufferEXT) { - void **procp = (void **) &disp->IsFramebufferEXT; - - snprintf(symboln, sizeof(symboln), "%sIsFramebuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsFramebufferEXT) { - void **procp = (void **) &disp->IsFramebufferEXT; - - snprintf(symboln, sizeof(symboln), "%sIsFramebufferEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsRenderbufferEXT) { - void **procp = (void **) &disp->IsRenderbufferEXT; - - snprintf(symboln, sizeof(symboln), "%sIsRenderbuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsRenderbufferEXT) { - void **procp = (void **) &disp->IsRenderbufferEXT; - - snprintf(symboln, sizeof(symboln), "%sIsRenderbufferEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RenderbufferStorageEXT) { - void **procp = (void **) &disp->RenderbufferStorageEXT; - - snprintf(symboln, sizeof(symboln), "%sRenderbufferStorage", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->RenderbufferStorageEXT) { - void **procp = (void **) &disp->RenderbufferStorageEXT; - - snprintf(symboln, sizeof(symboln), "%sRenderbufferStorageEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlitFramebufferEXT) { - void **procp = (void **) &disp->BlitFramebufferEXT; - - snprintf(symboln, sizeof(symboln), "%sBlitFramebuffer", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BlitFramebufferEXT) { - void **procp = (void **) &disp->BlitFramebufferEXT; - - snprintf(symboln, sizeof(symboln), "%sBlitFramebufferEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BufferParameteriAPPLE) { - void **procp = (void **) &disp->BufferParameteriAPPLE; - - snprintf(symboln, sizeof(symboln), "%sBufferParameteriAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FlushMappedBufferRangeAPPLE) { - void **procp = (void **) &disp->FlushMappedBufferRangeAPPLE; - - snprintf(symboln, sizeof(symboln), "%sFlushMappedBufferRangeAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindFragDataLocationEXT) { - void **procp = (void **) &disp->BindFragDataLocationEXT; - - snprintf(symboln, sizeof(symboln), "%sBindFragDataLocationEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindFragDataLocationEXT) { - void **procp = (void **) &disp->BindFragDataLocationEXT; - - snprintf(symboln, sizeof(symboln), "%sBindFragDataLocation", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFragDataLocationEXT) { - void **procp = (void **) &disp->GetFragDataLocationEXT; - - snprintf(symboln, sizeof(symboln), "%sGetFragDataLocationEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetFragDataLocationEXT) { - void **procp = (void **) &disp->GetFragDataLocationEXT; - - snprintf(symboln, sizeof(symboln), "%sGetFragDataLocation", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformuivEXT) { - void **procp = (void **) &disp->GetUniformuivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetUniformuivEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetUniformuivEXT) { - void **procp = (void **) &disp->GetUniformuivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetUniformuiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribIivEXT) { - void **procp = (void **) &disp->GetVertexAttribIivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribIivEXT) { - void **procp = (void **) &disp->GetVertexAttribIivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribIuivEXT) { - void **procp = (void **) &disp->GetVertexAttribIuivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIuivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetVertexAttribIuivEXT) { - void **procp = (void **) &disp->GetVertexAttribIuivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIuiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1uiEXT) { - void **procp = (void **) &disp->Uniform1uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform1uiEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1uiEXT) { - void **procp = (void **) &disp->Uniform1uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform1ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1uivEXT) { - void **procp = (void **) &disp->Uniform1uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform1uivEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform1uivEXT) { - void **procp = (void **) &disp->Uniform1uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform1uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2uiEXT) { - void **procp = (void **) &disp->Uniform2uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform2uiEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2uiEXT) { - void **procp = (void **) &disp->Uniform2uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform2ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2uivEXT) { - void **procp = (void **) &disp->Uniform2uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform2uivEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform2uivEXT) { - void **procp = (void **) &disp->Uniform2uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform2uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3uiEXT) { - void **procp = (void **) &disp->Uniform3uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform3uiEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3uiEXT) { - void **procp = (void **) &disp->Uniform3uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3uivEXT) { - void **procp = (void **) &disp->Uniform3uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform3uivEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform3uivEXT) { - void **procp = (void **) &disp->Uniform3uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform3uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4uiEXT) { - void **procp = (void **) &disp->Uniform4uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform4uiEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4uiEXT) { - void **procp = (void **) &disp->Uniform4uiEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform4ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4uivEXT) { - void **procp = (void **) &disp->Uniform4uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform4uivEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->Uniform4uivEXT) { - void **procp = (void **) &disp->Uniform4uivEXT; - - snprintf(symboln, sizeof(symboln), "%sUniform4uiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1iEXT) { - void **procp = (void **) &disp->VertexAttribI1iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1iEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1iEXT) { - void **procp = (void **) &disp->VertexAttribI1iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1ivEXT) { - void **procp = (void **) &disp->VertexAttribI1ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1ivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1ivEXT) { - void **procp = (void **) &disp->VertexAttribI1ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1uiEXT) { - void **procp = (void **) &disp->VertexAttribI1uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1uiEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1uiEXT) { - void **procp = (void **) &disp->VertexAttribI1uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1uivEXT) { - void **procp = (void **) &disp->VertexAttribI1uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1uivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI1uivEXT) { - void **procp = (void **) &disp->VertexAttribI1uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI1uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2iEXT) { - void **procp = (void **) &disp->VertexAttribI2iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2iEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2iEXT) { - void **procp = (void **) &disp->VertexAttribI2iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2ivEXT) { - void **procp = (void **) &disp->VertexAttribI2ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2ivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2ivEXT) { - void **procp = (void **) &disp->VertexAttribI2ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2uiEXT) { - void **procp = (void **) &disp->VertexAttribI2uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2uiEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2uiEXT) { - void **procp = (void **) &disp->VertexAttribI2uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2uivEXT) { - void **procp = (void **) &disp->VertexAttribI2uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2uivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI2uivEXT) { - void **procp = (void **) &disp->VertexAttribI2uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI2uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3iEXT) { - void **procp = (void **) &disp->VertexAttribI3iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3iEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3iEXT) { - void **procp = (void **) &disp->VertexAttribI3iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3ivEXT) { - void **procp = (void **) &disp->VertexAttribI3ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3ivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3ivEXT) { - void **procp = (void **) &disp->VertexAttribI3ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3uiEXT) { - void **procp = (void **) &disp->VertexAttribI3uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3uiEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3uiEXT) { - void **procp = (void **) &disp->VertexAttribI3uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3uivEXT) { - void **procp = (void **) &disp->VertexAttribI3uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3uivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI3uivEXT) { - void **procp = (void **) &disp->VertexAttribI3uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI3uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4bvEXT) { - void **procp = (void **) &disp->VertexAttribI4bvEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4bvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4bvEXT) { - void **procp = (void **) &disp->VertexAttribI4bvEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4bv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4iEXT) { - void **procp = (void **) &disp->VertexAttribI4iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4iEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4iEXT) { - void **procp = (void **) &disp->VertexAttribI4iEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4i", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4ivEXT) { - void **procp = (void **) &disp->VertexAttribI4ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4ivEXT) { - void **procp = (void **) &disp->VertexAttribI4ivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4iv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4svEXT) { - void **procp = (void **) &disp->VertexAttribI4svEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4svEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4svEXT) { - void **procp = (void **) &disp->VertexAttribI4svEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4sv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4ubvEXT) { - void **procp = (void **) &disp->VertexAttribI4ubvEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ubvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4ubvEXT) { - void **procp = (void **) &disp->VertexAttribI4ubvEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ubv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4uiEXT) { - void **procp = (void **) &disp->VertexAttribI4uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4uiEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4uiEXT) { - void **procp = (void **) &disp->VertexAttribI4uiEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ui", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4uivEXT) { - void **procp = (void **) &disp->VertexAttribI4uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4uivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4uivEXT) { - void **procp = (void **) &disp->VertexAttribI4uivEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4uiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4usvEXT) { - void **procp = (void **) &disp->VertexAttribI4usvEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4usvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribI4usvEXT) { - void **procp = (void **) &disp->VertexAttribI4usvEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribI4usv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribIPointerEXT) { - void **procp = (void **) &disp->VertexAttribIPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribIPointerEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->VertexAttribIPointerEXT) { - void **procp = (void **) &disp->VertexAttribIPointerEXT; - - snprintf(symboln, sizeof(symboln), "%sVertexAttribIPointer", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTextureLayerEXT) { - void **procp = (void **) &disp->FramebufferTextureLayerEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTextureLayer", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTextureLayerEXT) { - void **procp = (void **) &disp->FramebufferTextureLayerEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTextureLayerARB", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->FramebufferTextureLayerEXT) { - void **procp = (void **) &disp->FramebufferTextureLayerEXT; - - snprintf(symboln, sizeof(symboln), "%sFramebufferTextureLayerEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorMaskIndexedEXT) { - void **procp = (void **) &disp->ColorMaskIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sColorMaskIndexedEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ColorMaskIndexedEXT) { - void **procp = (void **) &disp->ColorMaskIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sColorMaski", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DisableIndexedEXT) { - void **procp = (void **) &disp->DisableIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sDisableIndexedEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->DisableIndexedEXT) { - void **procp = (void **) &disp->DisableIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sDisablei", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EnableIndexedEXT) { - void **procp = (void **) &disp->EnableIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sEnableIndexedEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EnableIndexedEXT) { - void **procp = (void **) &disp->EnableIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sEnablei", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBooleanIndexedvEXT) { - void **procp = (void **) &disp->GetBooleanIndexedvEXT; - - snprintf(symboln, sizeof(symboln), "%sGetBooleanIndexedvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetBooleanIndexedvEXT) { - void **procp = (void **) &disp->GetBooleanIndexedvEXT; - - snprintf(symboln, sizeof(symboln), "%sGetBooleani_v", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetIntegerIndexedvEXT) { - void **procp = (void **) &disp->GetIntegerIndexedvEXT; - - snprintf(symboln, sizeof(symboln), "%sGetIntegerIndexedvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetIntegerIndexedvEXT) { - void **procp = (void **) &disp->GetIntegerIndexedvEXT; - - snprintf(symboln, sizeof(symboln), "%sGetIntegeri_v", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsEnabledIndexedEXT) { - void **procp = (void **) &disp->IsEnabledIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sIsEnabledIndexedEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->IsEnabledIndexedEXT) { - void **procp = (void **) &disp->IsEnabledIndexedEXT; - - snprintf(symboln, sizeof(symboln), "%sIsEnabledi", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearColorIiEXT) { - void **procp = (void **) &disp->ClearColorIiEXT; - - snprintf(symboln, sizeof(symboln), "%sClearColorIiEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ClearColorIuiEXT) { - void **procp = (void **) &disp->ClearColorIuiEXT; - - snprintf(symboln, sizeof(symboln), "%sClearColorIuiEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexParameterIivEXT) { - void **procp = (void **) &disp->GetTexParameterIivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetTexParameterIivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexParameterIivEXT) { - void **procp = (void **) &disp->GetTexParameterIivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetTexParameterIiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexParameterIuivEXT) { - void **procp = (void **) &disp->GetTexParameterIuivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetTexParameterIuivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexParameterIuivEXT) { - void **procp = (void **) &disp->GetTexParameterIuivEXT; - - snprintf(symboln, sizeof(symboln), "%sGetTexParameterIuiv", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameterIivEXT) { - void **procp = (void **) &disp->TexParameterIivEXT; - - snprintf(symboln, sizeof(symboln), "%sTexParameterIivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameterIivEXT) { - void **procp = (void **) &disp->TexParameterIivEXT; - - snprintf(symboln, sizeof(symboln), "%sTexParameterIiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameterIuivEXT) { - void **procp = (void **) &disp->TexParameterIuivEXT; - - snprintf(symboln, sizeof(symboln), "%sTexParameterIuivEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TexParameterIuivEXT) { - void **procp = (void **) &disp->TexParameterIuivEXT; - - snprintf(symboln, sizeof(symboln), "%sTexParameterIuiv", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BeginConditionalRenderNV) { - void **procp = (void **) &disp->BeginConditionalRenderNV; - - snprintf(symboln, sizeof(symboln), "%sBeginConditionalRenderNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BeginConditionalRenderNV) { - void **procp = (void **) &disp->BeginConditionalRenderNV; - - snprintf(symboln, sizeof(symboln), "%sBeginConditionalRender", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndConditionalRenderNV) { - void **procp = (void **) &disp->EndConditionalRenderNV; - - snprintf(symboln, sizeof(symboln), "%sEndConditionalRenderNV", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndConditionalRenderNV) { - void **procp = (void **) &disp->EndConditionalRenderNV; - - snprintf(symboln, sizeof(symboln), "%sEndConditionalRender", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BeginTransformFeedbackEXT) { - void **procp = (void **) &disp->BeginTransformFeedbackEXT; - - snprintf(symboln, sizeof(symboln), "%sBeginTransformFeedbackEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BeginTransformFeedbackEXT) { - void **procp = (void **) &disp->BeginTransformFeedbackEXT; - - snprintf(symboln, sizeof(symboln), "%sBeginTransformFeedback", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindBufferBaseEXT) { - void **procp = (void **) &disp->BindBufferBaseEXT; - - snprintf(symboln, sizeof(symboln), "%sBindBufferBaseEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindBufferBaseEXT) { - void **procp = (void **) &disp->BindBufferBaseEXT; - - snprintf(symboln, sizeof(symboln), "%sBindBufferBase", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindBufferOffsetEXT) { - void **procp = (void **) &disp->BindBufferOffsetEXT; - - snprintf(symboln, sizeof(symboln), "%sBindBufferOffsetEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindBufferRangeEXT) { - void **procp = (void **) &disp->BindBufferRangeEXT; - - snprintf(symboln, sizeof(symboln), "%sBindBufferRangeEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->BindBufferRangeEXT) { - void **procp = (void **) &disp->BindBufferRangeEXT; - - snprintf(symboln, sizeof(symboln), "%sBindBufferRange", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndTransformFeedbackEXT) { - void **procp = (void **) &disp->EndTransformFeedbackEXT; - - snprintf(symboln, sizeof(symboln), "%sEndTransformFeedbackEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EndTransformFeedbackEXT) { - void **procp = (void **) &disp->EndTransformFeedbackEXT; - - snprintf(symboln, sizeof(symboln), "%sEndTransformFeedback", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTransformFeedbackVaryingEXT) { - void **procp = (void **) &disp->GetTransformFeedbackVaryingEXT; - - snprintf(symboln, sizeof(symboln), "%sGetTransformFeedbackVaryingEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTransformFeedbackVaryingEXT) { - void **procp = (void **) &disp->GetTransformFeedbackVaryingEXT; - - snprintf(symboln, sizeof(symboln), "%sGetTransformFeedbackVarying", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TransformFeedbackVaryingsEXT) { - void **procp = (void **) &disp->TransformFeedbackVaryingsEXT; - - snprintf(symboln, sizeof(symboln), "%sTransformFeedbackVaryingsEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TransformFeedbackVaryingsEXT) { - void **procp = (void **) &disp->TransformFeedbackVaryingsEXT; - - snprintf(symboln, sizeof(symboln), "%sTransformFeedbackVaryings", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProvokingVertexEXT) { - void **procp = (void **) &disp->ProvokingVertexEXT; - - snprintf(symboln, sizeof(symboln), "%sProvokingVertexEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProvokingVertexEXT) { - void **procp = (void **) &disp->ProvokingVertexEXT; - - snprintf(symboln, sizeof(symboln), "%sProvokingVertex", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetTexParameterPointervAPPLE) { - void **procp = (void **) &disp->GetTexParameterPointervAPPLE; - - snprintf(symboln, sizeof(symboln), "%sGetTexParameterPointervAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TextureRangeAPPLE) { - void **procp = (void **) &disp->TextureRangeAPPLE; - - snprintf(symboln, sizeof(symboln), "%sTextureRangeAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetObjectParameterivAPPLE) { - void **procp = (void **) &disp->GetObjectParameterivAPPLE; - - snprintf(symboln, sizeof(symboln), "%sGetObjectParameterivAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ObjectPurgeableAPPLE) { - void **procp = (void **) &disp->ObjectPurgeableAPPLE; - - snprintf(symboln, sizeof(symboln), "%sObjectPurgeableAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ObjectUnpurgeableAPPLE) { - void **procp = (void **) &disp->ObjectUnpurgeableAPPLE; - - snprintf(symboln, sizeof(symboln), "%sObjectUnpurgeableAPPLE", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ActiveProgramEXT) { - void **procp = (void **) &disp->ActiveProgramEXT; - - snprintf(symboln, sizeof(symboln), "%sActiveProgramEXT", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->CreateShaderProgramEXT) { - void **procp = (void **) &disp->CreateShaderProgramEXT; - - snprintf(symboln, sizeof(symboln), "%sCreateShaderProgramEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->UseShaderProgramEXT) { - void **procp = (void **) &disp->UseShaderProgramEXT; - - snprintf(symboln, sizeof(symboln), "%sUseShaderProgramEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->TextureBarrierNV) { - void **procp = (void **) &disp->TextureBarrierNV; - - snprintf(symboln, sizeof(symboln), "%sTextureBarrierNV", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->StencilFuncSeparateATI) { - void **procp = (void **) &disp->StencilFuncSeparateATI; - - snprintf(symboln, sizeof(symboln), "%sStencilFuncSeparateATI", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramEnvParameters4fvEXT) { - void **procp = (void **) &disp->ProgramEnvParameters4fvEXT; - - snprintf(symboln, sizeof(symboln), "%sProgramEnvParameters4fvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->ProgramLocalParameters4fvEXT) { - void **procp = (void **) &disp->ProgramLocalParameters4fvEXT; - - snprintf(symboln, sizeof(symboln), "%sProgramLocalParameters4fvEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryObjecti64vEXT) { - void **procp = (void **) &disp->GetQueryObjecti64vEXT; - - snprintf(symboln, sizeof(symboln), "%sGetQueryObjecti64vEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->GetQueryObjectui64vEXT) { - void **procp = (void **) &disp->GetQueryObjectui64vEXT; - - snprintf(symboln, sizeof(symboln), "%sGetQueryObjectui64vEXT", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EGLImageTargetRenderbufferStorageOES) { - void **procp = (void **) &disp->EGLImageTargetRenderbufferStorageOES; - - snprintf(symboln, sizeof(symboln), - "%sEGLImageTargetRenderbufferStorageOES", symbol_prefix); - *procp = dlsym(handle, symboln); - } - - if (!disp->EGLImageTargetTexture2DOES) { - void **procp = (void **) &disp->EGLImageTargetTexture2DOES; - - snprintf(symboln, sizeof(symboln), "%sEGLImageTargetTexture2DOES", - symbol_prefix); - *procp = dlsym(handle, symboln); - } - - __glapi_gentable_set_remaining_noop(disp); - - return disp; -} diff --git a/xserver/glx/glapitable.h b/xserver/glx/glapitable.h deleted file mode 100644 index f7e7c6c97..000000000 --- a/xserver/glx/glapitable.h +++ /dev/null @@ -1,1016 +0,0 @@ -/* DO NOT EDIT - This file generated automatically by gl_table.py (from Mesa) script */ - -/* - * Copyright (C) 1999-2003 Brian Paul All Rights Reserved. - * (C) Copyright IBM Corporation 2004 - * 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 - * BRIAN PAUL, IBM, - * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#if !defined( _GLAPI_TABLE_H_ ) -#define _GLAPI_TABLE_H_ - -#ifndef GLAPIENTRYP -#ifndef GLAPIENTRY -#define GLAPIENTRY -#endif - -#define GLAPIENTRYP GLAPIENTRY * -#endif - -struct _glapi_table { - void (GLAPIENTRYP NewList) (GLuint list, GLenum mode); /* 0 */ - void (GLAPIENTRYP EndList) (void); /* 1 */ - void (GLAPIENTRYP CallList) (GLuint list); /* 2 */ - void (GLAPIENTRYP CallLists) (GLsizei n, GLenum type, const GLvoid * lists); /* 3 */ - void (GLAPIENTRYP DeleteLists) (GLuint list, GLsizei range); /* 4 */ - GLuint(GLAPIENTRYP GenLists) (GLsizei range); /* 5 */ - void (GLAPIENTRYP ListBase) (GLuint base); /* 6 */ - void (GLAPIENTRYP Begin) (GLenum mode); /* 7 */ - void (GLAPIENTRYP Bitmap) (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap); /* 8 */ - void (GLAPIENTRYP Color3b) (GLbyte red, GLbyte green, GLbyte blue); /* 9 */ - void (GLAPIENTRYP Color3bv) (const GLbyte * v); /* 10 */ - void (GLAPIENTRYP Color3d) (GLdouble red, GLdouble green, GLdouble blue); /* 11 */ - void (GLAPIENTRYP Color3dv) (const GLdouble * v); /* 12 */ - void (GLAPIENTRYP Color3f) (GLfloat red, GLfloat green, GLfloat blue); /* 13 */ - void (GLAPIENTRYP Color3fv) (const GLfloat * v); /* 14 */ - void (GLAPIENTRYP Color3i) (GLint red, GLint green, GLint blue); /* 15 */ - void (GLAPIENTRYP Color3iv) (const GLint * v); /* 16 */ - void (GLAPIENTRYP Color3s) (GLshort red, GLshort green, GLshort blue); /* 17 */ - void (GLAPIENTRYP Color3sv) (const GLshort * v); /* 18 */ - void (GLAPIENTRYP Color3ub) (GLubyte red, GLubyte green, GLubyte blue); /* 19 */ - void (GLAPIENTRYP Color3ubv) (const GLubyte * v); /* 20 */ - void (GLAPIENTRYP Color3ui) (GLuint red, GLuint green, GLuint blue); /* 21 */ - void (GLAPIENTRYP Color3uiv) (const GLuint * v); /* 22 */ - void (GLAPIENTRYP Color3us) (GLushort red, GLushort green, GLushort blue); /* 23 */ - void (GLAPIENTRYP Color3usv) (const GLushort * v); /* 24 */ - void (GLAPIENTRYP Color4b) (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); /* 25 */ - void (GLAPIENTRYP Color4bv) (const GLbyte * v); /* 26 */ - void (GLAPIENTRYP Color4d) (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); /* 27 */ - void (GLAPIENTRYP Color4dv) (const GLdouble * v); /* 28 */ - void (GLAPIENTRYP Color4f) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); /* 29 */ - void (GLAPIENTRYP Color4fv) (const GLfloat * v); /* 30 */ - void (GLAPIENTRYP Color4i) (GLint red, GLint green, GLint blue, GLint alpha); /* 31 */ - void (GLAPIENTRYP Color4iv) (const GLint * v); /* 32 */ - void (GLAPIENTRYP Color4s) (GLshort red, GLshort green, GLshort blue, GLshort alpha); /* 33 */ - void (GLAPIENTRYP Color4sv) (const GLshort * v); /* 34 */ - void (GLAPIENTRYP Color4ub) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); /* 35 */ - void (GLAPIENTRYP Color4ubv) (const GLubyte * v); /* 36 */ - void (GLAPIENTRYP Color4ui) (GLuint red, GLuint green, GLuint blue, GLuint alpha); /* 37 */ - void (GLAPIENTRYP Color4uiv) (const GLuint * v); /* 38 */ - void (GLAPIENTRYP Color4us) (GLushort red, GLushort green, GLushort blue, GLushort alpha); /* 39 */ - void (GLAPIENTRYP Color4usv) (const GLushort * v); /* 40 */ - void (GLAPIENTRYP EdgeFlag) (GLboolean flag); /* 41 */ - void (GLAPIENTRYP EdgeFlagv) (const GLboolean * flag); /* 42 */ - void (GLAPIENTRYP End) (void); /* 43 */ - void (GLAPIENTRYP Indexd) (GLdouble c); /* 44 */ - void (GLAPIENTRYP Indexdv) (const GLdouble * c); /* 45 */ - void (GLAPIENTRYP Indexf) (GLfloat c); /* 46 */ - void (GLAPIENTRYP Indexfv) (const GLfloat * c); /* 47 */ - void (GLAPIENTRYP Indexi) (GLint c); /* 48 */ - void (GLAPIENTRYP Indexiv) (const GLint * c); /* 49 */ - void (GLAPIENTRYP Indexs) (GLshort c); /* 50 */ - void (GLAPIENTRYP Indexsv) (const GLshort * c); /* 51 */ - void (GLAPIENTRYP Normal3b) (GLbyte nx, GLbyte ny, GLbyte nz); /* 52 */ - void (GLAPIENTRYP Normal3bv) (const GLbyte * v); /* 53 */ - void (GLAPIENTRYP Normal3d) (GLdouble nx, GLdouble ny, GLdouble nz); /* 54 */ - void (GLAPIENTRYP Normal3dv) (const GLdouble * v); /* 55 */ - void (GLAPIENTRYP Normal3f) (GLfloat nx, GLfloat ny, GLfloat nz); /* 56 */ - void (GLAPIENTRYP Normal3fv) (const GLfloat * v); /* 57 */ - void (GLAPIENTRYP Normal3i) (GLint nx, GLint ny, GLint nz); /* 58 */ - void (GLAPIENTRYP Normal3iv) (const GLint * v); /* 59 */ - void (GLAPIENTRYP Normal3s) (GLshort nx, GLshort ny, GLshort nz); /* 60 */ - void (GLAPIENTRYP Normal3sv) (const GLshort * v); /* 61 */ - void (GLAPIENTRYP RasterPos2d) (GLdouble x, GLdouble y); /* 62 */ - void (GLAPIENTRYP RasterPos2dv) (const GLdouble * v); /* 63 */ - void (GLAPIENTRYP RasterPos2f) (GLfloat x, GLfloat y); /* 64 */ - void (GLAPIENTRYP RasterPos2fv) (const GLfloat * v); /* 65 */ - void (GLAPIENTRYP RasterPos2i) (GLint x, GLint y); /* 66 */ - void (GLAPIENTRYP RasterPos2iv) (const GLint * v); /* 67 */ - void (GLAPIENTRYP RasterPos2s) (GLshort x, GLshort y); /* 68 */ - void (GLAPIENTRYP RasterPos2sv) (const GLshort * v); /* 69 */ - void (GLAPIENTRYP RasterPos3d) (GLdouble x, GLdouble y, GLdouble z); /* 70 */ - void (GLAPIENTRYP RasterPos3dv) (const GLdouble * v); /* 71 */ - void (GLAPIENTRYP RasterPos3f) (GLfloat x, GLfloat y, GLfloat z); /* 72 */ - void (GLAPIENTRYP RasterPos3fv) (const GLfloat * v); /* 73 */ - void (GLAPIENTRYP RasterPos3i) (GLint x, GLint y, GLint z); /* 74 */ - void (GLAPIENTRYP RasterPos3iv) (const GLint * v); /* 75 */ - void (GLAPIENTRYP RasterPos3s) (GLshort x, GLshort y, GLshort z); /* 76 */ - void (GLAPIENTRYP RasterPos3sv) (const GLshort * v); /* 77 */ - void (GLAPIENTRYP RasterPos4d) (GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 78 */ - void (GLAPIENTRYP RasterPos4dv) (const GLdouble * v); /* 79 */ - void (GLAPIENTRYP RasterPos4f) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 80 */ - void (GLAPIENTRYP RasterPos4fv) (const GLfloat * v); /* 81 */ - void (GLAPIENTRYP RasterPos4i) (GLint x, GLint y, GLint z, GLint w); /* 82 */ - void (GLAPIENTRYP RasterPos4iv) (const GLint * v); /* 83 */ - void (GLAPIENTRYP RasterPos4s) (GLshort x, GLshort y, GLshort z, GLshort w); /* 84 */ - void (GLAPIENTRYP RasterPos4sv) (const GLshort * v); /* 85 */ - void (GLAPIENTRYP Rectd) (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); /* 86 */ - void (GLAPIENTRYP Rectdv) (const GLdouble * v1, const GLdouble * v2); /* 87 */ - void (GLAPIENTRYP Rectf) (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); /* 88 */ - void (GLAPIENTRYP Rectfv) (const GLfloat * v1, const GLfloat * v2); /* 89 */ - void (GLAPIENTRYP Recti) (GLint x1, GLint y1, GLint x2, GLint y2); /* 90 */ - void (GLAPIENTRYP Rectiv) (const GLint * v1, const GLint * v2); /* 91 */ - void (GLAPIENTRYP Rects) (GLshort x1, GLshort y1, GLshort x2, GLshort y2); /* 92 */ - void (GLAPIENTRYP Rectsv) (const GLshort * v1, const GLshort * v2); /* 93 */ - void (GLAPIENTRYP TexCoord1d) (GLdouble s); /* 94 */ - void (GLAPIENTRYP TexCoord1dv) (const GLdouble * v); /* 95 */ - void (GLAPIENTRYP TexCoord1f) (GLfloat s); /* 96 */ - void (GLAPIENTRYP TexCoord1fv) (const GLfloat * v); /* 97 */ - void (GLAPIENTRYP TexCoord1i) (GLint s); /* 98 */ - void (GLAPIENTRYP TexCoord1iv) (const GLint * v); /* 99 */ - void (GLAPIENTRYP TexCoord1s) (GLshort s); /* 100 */ - void (GLAPIENTRYP TexCoord1sv) (const GLshort * v); /* 101 */ - void (GLAPIENTRYP TexCoord2d) (GLdouble s, GLdouble t); /* 102 */ - void (GLAPIENTRYP TexCoord2dv) (const GLdouble * v); /* 103 */ - void (GLAPIENTRYP TexCoord2f) (GLfloat s, GLfloat t); /* 104 */ - void (GLAPIENTRYP TexCoord2fv) (const GLfloat * v); /* 105 */ - void (GLAPIENTRYP TexCoord2i) (GLint s, GLint t); /* 106 */ - void (GLAPIENTRYP TexCoord2iv) (const GLint * v); /* 107 */ - void (GLAPIENTRYP TexCoord2s) (GLshort s, GLshort t); /* 108 */ - void (GLAPIENTRYP TexCoord2sv) (const GLshort * v); /* 109 */ - void (GLAPIENTRYP TexCoord3d) (GLdouble s, GLdouble t, GLdouble r); /* 110 */ - void (GLAPIENTRYP TexCoord3dv) (const GLdouble * v); /* 111 */ - void (GLAPIENTRYP TexCoord3f) (GLfloat s, GLfloat t, GLfloat r); /* 112 */ - void (GLAPIENTRYP TexCoord3fv) (const GLfloat * v); /* 113 */ - void (GLAPIENTRYP TexCoord3i) (GLint s, GLint t, GLint r); /* 114 */ - void (GLAPIENTRYP TexCoord3iv) (const GLint * v); /* 115 */ - void (GLAPIENTRYP TexCoord3s) (GLshort s, GLshort t, GLshort r); /* 116 */ - void (GLAPIENTRYP TexCoord3sv) (const GLshort * v); /* 117 */ - void (GLAPIENTRYP TexCoord4d) (GLdouble s, GLdouble t, GLdouble r, GLdouble q); /* 118 */ - void (GLAPIENTRYP TexCoord4dv) (const GLdouble * v); /* 119 */ - void (GLAPIENTRYP TexCoord4f) (GLfloat s, GLfloat t, GLfloat r, GLfloat q); /* 120 */ - void (GLAPIENTRYP TexCoord4fv) (const GLfloat * v); /* 121 */ - void (GLAPIENTRYP TexCoord4i) (GLint s, GLint t, GLint r, GLint q); /* 122 */ - void (GLAPIENTRYP TexCoord4iv) (const GLint * v); /* 123 */ - void (GLAPIENTRYP TexCoord4s) (GLshort s, GLshort t, GLshort r, GLshort q); /* 124 */ - void (GLAPIENTRYP TexCoord4sv) (const GLshort * v); /* 125 */ - void (GLAPIENTRYP Vertex2d) (GLdouble x, GLdouble y); /* 126 */ - void (GLAPIENTRYP Vertex2dv) (const GLdouble * v); /* 127 */ - void (GLAPIENTRYP Vertex2f) (GLfloat x, GLfloat y); /* 128 */ - void (GLAPIENTRYP Vertex2fv) (const GLfloat * v); /* 129 */ - void (GLAPIENTRYP Vertex2i) (GLint x, GLint y); /* 130 */ - void (GLAPIENTRYP Vertex2iv) (const GLint * v); /* 131 */ - void (GLAPIENTRYP Vertex2s) (GLshort x, GLshort y); /* 132 */ - void (GLAPIENTRYP Vertex2sv) (const GLshort * v); /* 133 */ - void (GLAPIENTRYP Vertex3d) (GLdouble x, GLdouble y, GLdouble z); /* 134 */ - void (GLAPIENTRYP Vertex3dv) (const GLdouble * v); /* 135 */ - void (GLAPIENTRYP Vertex3f) (GLfloat x, GLfloat y, GLfloat z); /* 136 */ - void (GLAPIENTRYP Vertex3fv) (const GLfloat * v); /* 137 */ - void (GLAPIENTRYP Vertex3i) (GLint x, GLint y, GLint z); /* 138 */ - void (GLAPIENTRYP Vertex3iv) (const GLint * v); /* 139 */ - void (GLAPIENTRYP Vertex3s) (GLshort x, GLshort y, GLshort z); /* 140 */ - void (GLAPIENTRYP Vertex3sv) (const GLshort * v); /* 141 */ - void (GLAPIENTRYP Vertex4d) (GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 142 */ - void (GLAPIENTRYP Vertex4dv) (const GLdouble * v); /* 143 */ - void (GLAPIENTRYP Vertex4f) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 144 */ - void (GLAPIENTRYP Vertex4fv) (const GLfloat * v); /* 145 */ - void (GLAPIENTRYP Vertex4i) (GLint x, GLint y, GLint z, GLint w); /* 146 */ - void (GLAPIENTRYP Vertex4iv) (const GLint * v); /* 147 */ - void (GLAPIENTRYP Vertex4s) (GLshort x, GLshort y, GLshort z, GLshort w); /* 148 */ - void (GLAPIENTRYP Vertex4sv) (const GLshort * v); /* 149 */ - void (GLAPIENTRYP ClipPlane) (GLenum plane, const GLdouble * equation); /* 150 */ - void (GLAPIENTRYP ColorMaterial) (GLenum face, GLenum mode); /* 151 */ - void (GLAPIENTRYP CullFace) (GLenum mode); /* 152 */ - void (GLAPIENTRYP Fogf) (GLenum pname, GLfloat param); /* 153 */ - void (GLAPIENTRYP Fogfv) (GLenum pname, const GLfloat * params); /* 154 */ - void (GLAPIENTRYP Fogi) (GLenum pname, GLint param); /* 155 */ - void (GLAPIENTRYP Fogiv) (GLenum pname, const GLint * params); /* 156 */ - void (GLAPIENTRYP FrontFace) (GLenum mode); /* 157 */ - void (GLAPIENTRYP Hint) (GLenum target, GLenum mode); /* 158 */ - void (GLAPIENTRYP Lightf) (GLenum light, GLenum pname, GLfloat param); /* 159 */ - void (GLAPIENTRYP Lightfv) (GLenum light, GLenum pname, const GLfloat * params); /* 160 */ - void (GLAPIENTRYP Lighti) (GLenum light, GLenum pname, GLint param); /* 161 */ - void (GLAPIENTRYP Lightiv) (GLenum light, GLenum pname, const GLint * params); /* 162 */ - void (GLAPIENTRYP LightModelf) (GLenum pname, GLfloat param); /* 163 */ - void (GLAPIENTRYP LightModelfv) (GLenum pname, const GLfloat * params); /* 164 */ - void (GLAPIENTRYP LightModeli) (GLenum pname, GLint param); /* 165 */ - void (GLAPIENTRYP LightModeliv) (GLenum pname, const GLint * params); /* 166 */ - void (GLAPIENTRYP LineStipple) (GLint factor, GLushort pattern); /* 167 */ - void (GLAPIENTRYP LineWidth) (GLfloat width); /* 168 */ - void (GLAPIENTRYP Materialf) (GLenum face, GLenum pname, GLfloat param); /* 169 */ - void (GLAPIENTRYP Materialfv) (GLenum face, GLenum pname, const GLfloat * params); /* 170 */ - void (GLAPIENTRYP Materiali) (GLenum face, GLenum pname, GLint param); /* 171 */ - void (GLAPIENTRYP Materialiv) (GLenum face, GLenum pname, const GLint * params); /* 172 */ - void (GLAPIENTRYP PointSize) (GLfloat size); /* 173 */ - void (GLAPIENTRYP PolygonMode) (GLenum face, GLenum mode); /* 174 */ - void (GLAPIENTRYP PolygonStipple) (const GLubyte * mask); /* 175 */ - void (GLAPIENTRYP Scissor) (GLint x, GLint y, GLsizei width, GLsizei height); /* 176 */ - void (GLAPIENTRYP ShadeModel) (GLenum mode); /* 177 */ - void (GLAPIENTRYP TexParameterf) (GLenum target, GLenum pname, GLfloat param); /* 178 */ - void (GLAPIENTRYP TexParameterfv) (GLenum target, GLenum pname, const GLfloat * params); /* 179 */ - void (GLAPIENTRYP TexParameteri) (GLenum target, GLenum pname, GLint param); /* 180 */ - void (GLAPIENTRYP TexParameteriv) (GLenum target, GLenum pname, const GLint * params); /* 181 */ - void (GLAPIENTRYP TexImage1D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 182 */ - void (GLAPIENTRYP TexImage2D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 183 */ - void (GLAPIENTRYP TexEnvf) (GLenum target, GLenum pname, GLfloat param); /* 184 */ - void (GLAPIENTRYP TexEnvfv) (GLenum target, GLenum pname, const GLfloat * params); /* 185 */ - void (GLAPIENTRYP TexEnvi) (GLenum target, GLenum pname, GLint param); /* 186 */ - void (GLAPIENTRYP TexEnviv) (GLenum target, GLenum pname, const GLint * params); /* 187 */ - void (GLAPIENTRYP TexGend) (GLenum coord, GLenum pname, GLdouble param); /* 188 */ - void (GLAPIENTRYP TexGendv) (GLenum coord, GLenum pname, const GLdouble * params); /* 189 */ - void (GLAPIENTRYP TexGenf) (GLenum coord, GLenum pname, GLfloat param); /* 190 */ - void (GLAPIENTRYP TexGenfv) (GLenum coord, GLenum pname, const GLfloat * params); /* 191 */ - void (GLAPIENTRYP TexGeni) (GLenum coord, GLenum pname, GLint param); /* 192 */ - void (GLAPIENTRYP TexGeniv) (GLenum coord, GLenum pname, const GLint * params); /* 193 */ - void (GLAPIENTRYP FeedbackBuffer) (GLsizei size, GLenum type, GLfloat * buffer); /* 194 */ - void (GLAPIENTRYP SelectBuffer) (GLsizei size, GLuint * buffer); /* 195 */ - GLint(GLAPIENTRYP RenderMode) (GLenum mode); /* 196 */ - void (GLAPIENTRYP InitNames) (void); /* 197 */ - void (GLAPIENTRYP LoadName) (GLuint name); /* 198 */ - void (GLAPIENTRYP PassThrough) (GLfloat token); /* 199 */ - void (GLAPIENTRYP PopName) (void); /* 200 */ - void (GLAPIENTRYP PushName) (GLuint name); /* 201 */ - void (GLAPIENTRYP DrawBuffer) (GLenum mode); /* 202 */ - void (GLAPIENTRYP Clear) (GLbitfield mask); /* 203 */ - void (GLAPIENTRYP ClearAccum) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); /* 204 */ - void (GLAPIENTRYP ClearIndex) (GLfloat c); /* 205 */ - void (GLAPIENTRYP ClearColor) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); /* 206 */ - void (GLAPIENTRYP ClearStencil) (GLint s); /* 207 */ - void (GLAPIENTRYP ClearDepth) (GLclampd depth); /* 208 */ - void (GLAPIENTRYP StencilMask) (GLuint mask); /* 209 */ - void (GLAPIENTRYP ColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); /* 210 */ - void (GLAPIENTRYP DepthMask) (GLboolean flag); /* 211 */ - void (GLAPIENTRYP IndexMask) (GLuint mask); /* 212 */ - void (GLAPIENTRYP Accum) (GLenum op, GLfloat value); /* 213 */ - void (GLAPIENTRYP Disable) (GLenum cap); /* 214 */ - void (GLAPIENTRYP Enable) (GLenum cap); /* 215 */ - void (GLAPIENTRYP Finish) (void); /* 216 */ - void (GLAPIENTRYP Flush) (void); /* 217 */ - void (GLAPIENTRYP PopAttrib) (void); /* 218 */ - void (GLAPIENTRYP PushAttrib) (GLbitfield mask); /* 219 */ - void (GLAPIENTRYP Map1d) (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points); /* 220 */ - void (GLAPIENTRYP Map1f) (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points); /* 221 */ - void (GLAPIENTRYP Map2d) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points); /* 222 */ - void (GLAPIENTRYP Map2f) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points); /* 223 */ - void (GLAPIENTRYP MapGrid1d) (GLint un, GLdouble u1, GLdouble u2); /* 224 */ - void (GLAPIENTRYP MapGrid1f) (GLint un, GLfloat u1, GLfloat u2); /* 225 */ - void (GLAPIENTRYP MapGrid2d) (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); /* 226 */ - void (GLAPIENTRYP MapGrid2f) (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); /* 227 */ - void (GLAPIENTRYP EvalCoord1d) (GLdouble u); /* 228 */ - void (GLAPIENTRYP EvalCoord1dv) (const GLdouble * u); /* 229 */ - void (GLAPIENTRYP EvalCoord1f) (GLfloat u); /* 230 */ - void (GLAPIENTRYP EvalCoord1fv) (const GLfloat * u); /* 231 */ - void (GLAPIENTRYP EvalCoord2d) (GLdouble u, GLdouble v); /* 232 */ - void (GLAPIENTRYP EvalCoord2dv) (const GLdouble * u); /* 233 */ - void (GLAPIENTRYP EvalCoord2f) (GLfloat u, GLfloat v); /* 234 */ - void (GLAPIENTRYP EvalCoord2fv) (const GLfloat * u); /* 235 */ - void (GLAPIENTRYP EvalMesh1) (GLenum mode, GLint i1, GLint i2); /* 236 */ - void (GLAPIENTRYP EvalPoint1) (GLint i); /* 237 */ - void (GLAPIENTRYP EvalMesh2) (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); /* 238 */ - void (GLAPIENTRYP EvalPoint2) (GLint i, GLint j); /* 239 */ - void (GLAPIENTRYP AlphaFunc) (GLenum func, GLclampf ref); /* 240 */ - void (GLAPIENTRYP BlendFunc) (GLenum sfactor, GLenum dfactor); /* 241 */ - void (GLAPIENTRYP LogicOp) (GLenum opcode); /* 242 */ - void (GLAPIENTRYP StencilFunc) (GLenum func, GLint ref, GLuint mask); /* 243 */ - void (GLAPIENTRYP StencilOp) (GLenum fail, GLenum zfail, GLenum zpass); /* 244 */ - void (GLAPIENTRYP DepthFunc) (GLenum func); /* 245 */ - void (GLAPIENTRYP PixelZoom) (GLfloat xfactor, GLfloat yfactor); /* 246 */ - void (GLAPIENTRYP PixelTransferf) (GLenum pname, GLfloat param); /* 247 */ - void (GLAPIENTRYP PixelTransferi) (GLenum pname, GLint param); /* 248 */ - void (GLAPIENTRYP PixelStoref) (GLenum pname, GLfloat param); /* 249 */ - void (GLAPIENTRYP PixelStorei) (GLenum pname, GLint param); /* 250 */ - void (GLAPIENTRYP PixelMapfv) (GLenum map, GLsizei mapsize, const GLfloat * values); /* 251 */ - void (GLAPIENTRYP PixelMapuiv) (GLenum map, GLsizei mapsize, const GLuint * values); /* 252 */ - void (GLAPIENTRYP PixelMapusv) (GLenum map, GLsizei mapsize, const GLushort * values); /* 253 */ - void (GLAPIENTRYP ReadBuffer) (GLenum mode); /* 254 */ - void (GLAPIENTRYP CopyPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); /* 255 */ - void (GLAPIENTRYP ReadPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels); /* 256 */ - void (GLAPIENTRYP DrawPixels) (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 257 */ - void (GLAPIENTRYP GetBooleanv) (GLenum pname, GLboolean * params); /* 258 */ - void (GLAPIENTRYP GetClipPlane) (GLenum plane, GLdouble * equation); /* 259 */ - void (GLAPIENTRYP GetDoublev) (GLenum pname, GLdouble * params); /* 260 */ - GLenum(GLAPIENTRYP GetError) (void); /* 261 */ - void (GLAPIENTRYP GetFloatv) (GLenum pname, GLfloat * params); /* 262 */ - void (GLAPIENTRYP GetIntegerv) (GLenum pname, GLint * params); /* 263 */ - void (GLAPIENTRYP GetLightfv) (GLenum light, GLenum pname, GLfloat * params); /* 264 */ - void (GLAPIENTRYP GetLightiv) (GLenum light, GLenum pname, GLint * params); /* 265 */ - void (GLAPIENTRYP GetMapdv) (GLenum target, GLenum query, GLdouble * v); /* 266 */ - void (GLAPIENTRYP GetMapfv) (GLenum target, GLenum query, GLfloat * v); /* 267 */ - void (GLAPIENTRYP GetMapiv) (GLenum target, GLenum query, GLint * v); /* 268 */ - void (GLAPIENTRYP GetMaterialfv) (GLenum face, GLenum pname, GLfloat * params); /* 269 */ - void (GLAPIENTRYP GetMaterialiv) (GLenum face, GLenum pname, GLint * params); /* 270 */ - void (GLAPIENTRYP GetPixelMapfv) (GLenum map, GLfloat * values); /* 271 */ - void (GLAPIENTRYP GetPixelMapuiv) (GLenum map, GLuint * values); /* 272 */ - void (GLAPIENTRYP GetPixelMapusv) (GLenum map, GLushort * values); /* 273 */ - void (GLAPIENTRYP GetPolygonStipple) (GLubyte * mask); /* 274 */ - const GLubyte *(GLAPIENTRYP GetString) (GLenum name); /* 275 */ - void (GLAPIENTRYP GetTexEnvfv) (GLenum target, GLenum pname, GLfloat * params); /* 276 */ - void (GLAPIENTRYP GetTexEnviv) (GLenum target, GLenum pname, GLint * params); /* 277 */ - void (GLAPIENTRYP GetTexGendv) (GLenum coord, GLenum pname, GLdouble * params); /* 278 */ - void (GLAPIENTRYP GetTexGenfv) (GLenum coord, GLenum pname, GLfloat * params); /* 279 */ - void (GLAPIENTRYP GetTexGeniv) (GLenum coord, GLenum pname, GLint * params); /* 280 */ - void (GLAPIENTRYP GetTexImage) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels); /* 281 */ - void (GLAPIENTRYP GetTexParameterfv) (GLenum target, GLenum pname, GLfloat * params); /* 282 */ - void (GLAPIENTRYP GetTexParameteriv) (GLenum target, GLenum pname, GLint * params); /* 283 */ - void (GLAPIENTRYP GetTexLevelParameterfv) (GLenum target, GLint level, GLenum pname, GLfloat * params); /* 284 */ - void (GLAPIENTRYP GetTexLevelParameteriv) (GLenum target, GLint level, GLenum pname, GLint * params); /* 285 */ - GLboolean(GLAPIENTRYP IsEnabled) (GLenum cap); /* 286 */ - GLboolean(GLAPIENTRYP IsList) (GLuint list); /* 287 */ - void (GLAPIENTRYP DepthRange) (GLclampd zNear, GLclampd zFar); /* 288 */ - void (GLAPIENTRYP Frustum) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); /* 289 */ - void (GLAPIENTRYP LoadIdentity) (void); /* 290 */ - void (GLAPIENTRYP LoadMatrixf) (const GLfloat * m); /* 291 */ - void (GLAPIENTRYP LoadMatrixd) (const GLdouble * m); /* 292 */ - void (GLAPIENTRYP MatrixMode) (GLenum mode); /* 293 */ - void (GLAPIENTRYP MultMatrixf) (const GLfloat * m); /* 294 */ - void (GLAPIENTRYP MultMatrixd) (const GLdouble * m); /* 295 */ - void (GLAPIENTRYP Ortho) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); /* 296 */ - void (GLAPIENTRYP PopMatrix) (void); /* 297 */ - void (GLAPIENTRYP PushMatrix) (void); /* 298 */ - void (GLAPIENTRYP Rotated) (GLdouble angle, GLdouble x, GLdouble y, GLdouble z); /* 299 */ - void (GLAPIENTRYP Rotatef) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); /* 300 */ - void (GLAPIENTRYP Scaled) (GLdouble x, GLdouble y, GLdouble z); /* 301 */ - void (GLAPIENTRYP Scalef) (GLfloat x, GLfloat y, GLfloat z); /* 302 */ - void (GLAPIENTRYP Translated) (GLdouble x, GLdouble y, GLdouble z); /* 303 */ - void (GLAPIENTRYP Translatef) (GLfloat x, GLfloat y, GLfloat z); /* 304 */ - void (GLAPIENTRYP Viewport) (GLint x, GLint y, GLsizei width, GLsizei height); /* 305 */ - void (GLAPIENTRYP ArrayElement) (GLint i); /* 306 */ - void (GLAPIENTRYP BindTexture) (GLenum target, GLuint texture); /* 307 */ - void (GLAPIENTRYP ColorPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 308 */ - void (GLAPIENTRYP DisableClientState) (GLenum array); /* 309 */ - void (GLAPIENTRYP DrawArrays) (GLenum mode, GLint first, GLsizei count); /* 310 */ - void (GLAPIENTRYP DrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices); /* 311 */ - void (GLAPIENTRYP EdgeFlagPointer) (GLsizei stride, const GLvoid * pointer); /* 312 */ - void (GLAPIENTRYP EnableClientState) (GLenum array); /* 313 */ - void (GLAPIENTRYP IndexPointer) (GLenum type, GLsizei stride, const GLvoid * pointer); /* 314 */ - void (GLAPIENTRYP Indexub) (GLubyte c); /* 315 */ - void (GLAPIENTRYP Indexubv) (const GLubyte * c); /* 316 */ - void (GLAPIENTRYP InterleavedArrays) (GLenum format, GLsizei stride, const GLvoid * pointer); /* 317 */ - void (GLAPIENTRYP NormalPointer) (GLenum type, GLsizei stride, const GLvoid * pointer); /* 318 */ - void (GLAPIENTRYP PolygonOffset) (GLfloat factor, GLfloat units); /* 319 */ - void (GLAPIENTRYP TexCoordPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 320 */ - void (GLAPIENTRYP VertexPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 321 */ - GLboolean(GLAPIENTRYP AreTexturesResident) (GLsizei n, const GLuint * textures, GLboolean * residences); /* 322 */ - void (GLAPIENTRYP CopyTexImage1D) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); /* 323 */ - void (GLAPIENTRYP CopyTexImage2D) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); /* 324 */ - void (GLAPIENTRYP CopyTexSubImage1D) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); /* 325 */ - void (GLAPIENTRYP CopyTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 326 */ - void (GLAPIENTRYP DeleteTextures) (GLsizei n, const GLuint * textures); /* 327 */ - void (GLAPIENTRYP GenTextures) (GLsizei n, GLuint * textures); /* 328 */ - void (GLAPIENTRYP GetPointerv) (GLenum pname, GLvoid ** params); /* 329 */ - GLboolean(GLAPIENTRYP IsTexture) (GLuint texture); /* 330 */ - void (GLAPIENTRYP PrioritizeTextures) (GLsizei n, const GLuint * textures, const GLclampf * priorities); /* 331 */ - void (GLAPIENTRYP TexSubImage1D) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); /* 332 */ - void (GLAPIENTRYP TexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 333 */ - void (GLAPIENTRYP PopClientAttrib) (void); /* 334 */ - void (GLAPIENTRYP PushClientAttrib) (GLbitfield mask); /* 335 */ - void (GLAPIENTRYP BlendColor) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); /* 336 */ - void (GLAPIENTRYP BlendEquation) (GLenum mode); /* 337 */ - void (GLAPIENTRYP DrawRangeElements) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices); /* 338 */ - void (GLAPIENTRYP ColorTable) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table); /* 339 */ - void (GLAPIENTRYP ColorTableParameterfv) (GLenum target, GLenum pname, const GLfloat * params); /* 340 */ - void (GLAPIENTRYP ColorTableParameteriv) (GLenum target, GLenum pname, const GLint * params); /* 341 */ - void (GLAPIENTRYP CopyColorTable) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); /* 342 */ - void (GLAPIENTRYP GetColorTable) (GLenum target, GLenum format, GLenum type, GLvoid * table); /* 343 */ - void (GLAPIENTRYP GetColorTableParameterfv) (GLenum target, GLenum pname, GLfloat * params); /* 344 */ - void (GLAPIENTRYP GetColorTableParameteriv) (GLenum target, GLenum pname, GLint * params); /* 345 */ - void (GLAPIENTRYP ColorSubTable) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data); /* 346 */ - void (GLAPIENTRYP CopyColorSubTable) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); /* 347 */ - void (GLAPIENTRYP ConvolutionFilter1D) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image); /* 348 */ - void (GLAPIENTRYP ConvolutionFilter2D) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image); /* 349 */ - void (GLAPIENTRYP ConvolutionParameterf) (GLenum target, GLenum pname, GLfloat params); /* 350 */ - void (GLAPIENTRYP ConvolutionParameterfv) (GLenum target, GLenum pname, const GLfloat * params); /* 351 */ - void (GLAPIENTRYP ConvolutionParameteri) (GLenum target, GLenum pname, GLint params); /* 352 */ - void (GLAPIENTRYP ConvolutionParameteriv) (GLenum target, GLenum pname, const GLint * params); /* 353 */ - void (GLAPIENTRYP CopyConvolutionFilter1D) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); /* 354 */ - void (GLAPIENTRYP CopyConvolutionFilter2D) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); /* 355 */ - void (GLAPIENTRYP GetConvolutionFilter) (GLenum target, GLenum format, GLenum type, GLvoid * image); /* 356 */ - void (GLAPIENTRYP GetConvolutionParameterfv) (GLenum target, GLenum pname, GLfloat * params); /* 357 */ - void (GLAPIENTRYP GetConvolutionParameteriv) (GLenum target, GLenum pname, GLint * params); /* 358 */ - void (GLAPIENTRYP GetSeparableFilter) (GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); /* 359 */ - void (GLAPIENTRYP SeparableFilter2D) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column); /* 360 */ - void (GLAPIENTRYP GetHistogram) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 361 */ - void (GLAPIENTRYP GetHistogramParameterfv) (GLenum target, GLenum pname, GLfloat * params); /* 362 */ - void (GLAPIENTRYP GetHistogramParameteriv) (GLenum target, GLenum pname, GLint * params); /* 363 */ - void (GLAPIENTRYP GetMinmax) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 364 */ - void (GLAPIENTRYP GetMinmaxParameterfv) (GLenum target, GLenum pname, GLfloat * params); /* 365 */ - void (GLAPIENTRYP GetMinmaxParameteriv) (GLenum target, GLenum pname, GLint * params); /* 366 */ - void (GLAPIENTRYP Histogram) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); /* 367 */ - void (GLAPIENTRYP Minmax) (GLenum target, GLenum internalformat, GLboolean sink); /* 368 */ - void (GLAPIENTRYP ResetHistogram) (GLenum target); /* 369 */ - void (GLAPIENTRYP ResetMinmax) (GLenum target); /* 370 */ - void (GLAPIENTRYP TexImage3D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 371 */ - void (GLAPIENTRYP TexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels); /* 372 */ - void (GLAPIENTRYP CopyTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 373 */ - void (GLAPIENTRYP ActiveTextureARB) (GLenum texture); /* 374 */ - void (GLAPIENTRYP ClientActiveTextureARB) (GLenum texture); /* 375 */ - void (GLAPIENTRYP MultiTexCoord1dARB) (GLenum target, GLdouble s); /* 376 */ - void (GLAPIENTRYP MultiTexCoord1dvARB) (GLenum target, const GLdouble * v); /* 377 */ - void (GLAPIENTRYP MultiTexCoord1fARB) (GLenum target, GLfloat s); /* 378 */ - void (GLAPIENTRYP MultiTexCoord1fvARB) (GLenum target, const GLfloat * v); /* 379 */ - void (GLAPIENTRYP MultiTexCoord1iARB) (GLenum target, GLint s); /* 380 */ - void (GLAPIENTRYP MultiTexCoord1ivARB) (GLenum target, const GLint * v); /* 381 */ - void (GLAPIENTRYP MultiTexCoord1sARB) (GLenum target, GLshort s); /* 382 */ - void (GLAPIENTRYP MultiTexCoord1svARB) (GLenum target, const GLshort * v); /* 383 */ - void (GLAPIENTRYP MultiTexCoord2dARB) (GLenum target, GLdouble s, GLdouble t); /* 384 */ - void (GLAPIENTRYP MultiTexCoord2dvARB) (GLenum target, const GLdouble * v); /* 385 */ - void (GLAPIENTRYP MultiTexCoord2fARB) (GLenum target, GLfloat s, GLfloat t); /* 386 */ - void (GLAPIENTRYP MultiTexCoord2fvARB) (GLenum target, const GLfloat * v); /* 387 */ - void (GLAPIENTRYP MultiTexCoord2iARB) (GLenum target, GLint s, GLint t); /* 388 */ - void (GLAPIENTRYP MultiTexCoord2ivARB) (GLenum target, const GLint * v); /* 389 */ - void (GLAPIENTRYP MultiTexCoord2sARB) (GLenum target, GLshort s, GLshort t); /* 390 */ - void (GLAPIENTRYP MultiTexCoord2svARB) (GLenum target, const GLshort * v); /* 391 */ - void (GLAPIENTRYP MultiTexCoord3dARB) (GLenum target, GLdouble s, GLdouble t, GLdouble r); /* 392 */ - void (GLAPIENTRYP MultiTexCoord3dvARB) (GLenum target, const GLdouble * v); /* 393 */ - void (GLAPIENTRYP MultiTexCoord3fARB) (GLenum target, GLfloat s, GLfloat t, GLfloat r); /* 394 */ - void (GLAPIENTRYP MultiTexCoord3fvARB) (GLenum target, const GLfloat * v); /* 395 */ - void (GLAPIENTRYP MultiTexCoord3iARB) (GLenum target, GLint s, GLint t, GLint r); /* 396 */ - void (GLAPIENTRYP MultiTexCoord3ivARB) (GLenum target, const GLint * v); /* 397 */ - void (GLAPIENTRYP MultiTexCoord3sARB) (GLenum target, GLshort s, GLshort t, GLshort r); /* 398 */ - void (GLAPIENTRYP MultiTexCoord3svARB) (GLenum target, const GLshort * v); /* 399 */ - void (GLAPIENTRYP MultiTexCoord4dARB) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); /* 400 */ - void (GLAPIENTRYP MultiTexCoord4dvARB) (GLenum target, const GLdouble * v); /* 401 */ - void (GLAPIENTRYP MultiTexCoord4fARB) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); /* 402 */ - void (GLAPIENTRYP MultiTexCoord4fvARB) (GLenum target, const GLfloat * v); /* 403 */ - void (GLAPIENTRYP MultiTexCoord4iARB) (GLenum target, GLint s, GLint t, GLint r, GLint q); /* 404 */ - void (GLAPIENTRYP MultiTexCoord4ivARB) (GLenum target, const GLint * v); /* 405 */ - void (GLAPIENTRYP MultiTexCoord4sARB) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); /* 406 */ - void (GLAPIENTRYP MultiTexCoord4svARB) (GLenum target, const GLshort * v); /* 407 */ - void (GLAPIENTRYP AttachShader) (GLuint program, GLuint shader); /* 408 */ - GLuint(GLAPIENTRYP CreateProgram) (void); /* 409 */ - GLuint(GLAPIENTRYP CreateShader) (GLenum type); /* 410 */ - void (GLAPIENTRYP DeleteProgram) (GLuint program); /* 411 */ - void (GLAPIENTRYP DeleteShader) (GLuint program); /* 412 */ - void (GLAPIENTRYP DetachShader) (GLuint program, GLuint shader); /* 413 */ - void (GLAPIENTRYP GetAttachedShaders) (GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj); /* 414 */ - void (GLAPIENTRYP GetProgramInfoLog) (GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 415 */ - void (GLAPIENTRYP GetProgramiv) (GLuint program, GLenum pname, GLint * params); /* 416 */ - void (GLAPIENTRYP GetShaderInfoLog) (GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 417 */ - void (GLAPIENTRYP GetShaderiv) (GLuint shader, GLenum pname, GLint * params); /* 418 */ - GLboolean(GLAPIENTRYP IsProgram) (GLuint program); /* 419 */ - GLboolean(GLAPIENTRYP IsShader) (GLuint shader); /* 420 */ - void (GLAPIENTRYP StencilFuncSeparate) (GLenum face, GLenum func, GLint ref, GLuint mask); /* 421 */ - void (GLAPIENTRYP StencilMaskSeparate) (GLenum face, GLuint mask); /* 422 */ - void (GLAPIENTRYP StencilOpSeparate) (GLenum face, GLenum sfail, GLenum zfail, GLenum zpass); /* 423 */ - void (GLAPIENTRYP UniformMatrix2x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 424 */ - void (GLAPIENTRYP UniformMatrix2x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 425 */ - void (GLAPIENTRYP UniformMatrix3x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 426 */ - void (GLAPIENTRYP UniformMatrix3x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 427 */ - void (GLAPIENTRYP UniformMatrix4x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 428 */ - void (GLAPIENTRYP UniformMatrix4x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 429 */ - void (GLAPIENTRYP ClampColor) (GLenum target, GLenum clamp); /* 430 */ - void (GLAPIENTRYP ClearBufferfi) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); /* 431 */ - void (GLAPIENTRYP ClearBufferfv) (GLenum buffer, GLint drawbuffer, const GLfloat * value); /* 432 */ - void (GLAPIENTRYP ClearBufferiv) (GLenum buffer, GLint drawbuffer, const GLint * value); /* 433 */ - void (GLAPIENTRYP ClearBufferuiv) (GLenum buffer, GLint drawbuffer, const GLuint * value); /* 434 */ - const GLubyte *(GLAPIENTRYP GetStringi) (GLenum name, GLuint index); /* 435 */ - void (GLAPIENTRYP TexBuffer) (GLenum target, GLenum internalFormat, GLuint buffer); /* 436 */ - void (GLAPIENTRYP FramebufferTexture) (GLenum target, GLenum attachment, GLuint texture, GLint level); /* 437 */ - void (GLAPIENTRYP GetBufferParameteri64v) (GLenum target, GLenum pname, GLint64 * params); /* 438 */ - void (GLAPIENTRYP GetInteger64i_v) (GLenum cap, GLuint index, GLint64 * data); /* 439 */ - void (GLAPIENTRYP VertexAttribDivisor) (GLuint index, GLuint divisor); /* 440 */ - void (GLAPIENTRYP LoadTransposeMatrixdARB) (const GLdouble * m); /* 441 */ - void (GLAPIENTRYP LoadTransposeMatrixfARB) (const GLfloat * m); /* 442 */ - void (GLAPIENTRYP MultTransposeMatrixdARB) (const GLdouble * m); /* 443 */ - void (GLAPIENTRYP MultTransposeMatrixfARB) (const GLfloat * m); /* 444 */ - void (GLAPIENTRYP SampleCoverageARB) (GLclampf value, GLboolean invert); /* 445 */ - void (GLAPIENTRYP CompressedTexImage1DARB) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); /* 446 */ - void (GLAPIENTRYP CompressedTexImage2DARB) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); /* 447 */ - void (GLAPIENTRYP CompressedTexImage3DARB) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); /* 448 */ - void (GLAPIENTRYP CompressedTexSubImage1DARB) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 449 */ - void (GLAPIENTRYP CompressedTexSubImage2DARB) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 450 */ - void (GLAPIENTRYP CompressedTexSubImage3DARB) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 451 */ - void (GLAPIENTRYP GetCompressedTexImageARB) (GLenum target, GLint level, GLvoid * img); /* 452 */ - void (GLAPIENTRYP DisableVertexAttribArrayARB) (GLuint index); /* 453 */ - void (GLAPIENTRYP EnableVertexAttribArrayARB) (GLuint index); /* 454 */ - void (GLAPIENTRYP GetProgramEnvParameterdvARB) (GLenum target, GLuint index, GLdouble * params); /* 455 */ - void (GLAPIENTRYP GetProgramEnvParameterfvARB) (GLenum target, GLuint index, GLfloat * params); /* 456 */ - void (GLAPIENTRYP GetProgramLocalParameterdvARB) (GLenum target, GLuint index, GLdouble * params); /* 457 */ - void (GLAPIENTRYP GetProgramLocalParameterfvARB) (GLenum target, GLuint index, GLfloat * params); /* 458 */ - void (GLAPIENTRYP GetProgramStringARB) (GLenum target, GLenum pname, GLvoid * string); /* 459 */ - void (GLAPIENTRYP GetProgramivARB) (GLenum target, GLenum pname, GLint * params); /* 460 */ - void (GLAPIENTRYP GetVertexAttribdvARB) (GLuint index, GLenum pname, GLdouble * params); /* 461 */ - void (GLAPIENTRYP GetVertexAttribfvARB) (GLuint index, GLenum pname, GLfloat * params); /* 462 */ - void (GLAPIENTRYP GetVertexAttribivARB) (GLuint index, GLenum pname, GLint * params); /* 463 */ - void (GLAPIENTRYP ProgramEnvParameter4dARB) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 464 */ - void (GLAPIENTRYP ProgramEnvParameter4dvARB) (GLenum target, GLuint index, const GLdouble * params); /* 465 */ - void (GLAPIENTRYP ProgramEnvParameter4fARB) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 466 */ - void (GLAPIENTRYP ProgramEnvParameter4fvARB) (GLenum target, GLuint index, const GLfloat * params); /* 467 */ - void (GLAPIENTRYP ProgramLocalParameter4dARB) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 468 */ - void (GLAPIENTRYP ProgramLocalParameter4dvARB) (GLenum target, GLuint index, const GLdouble * params); /* 469 */ - void (GLAPIENTRYP ProgramLocalParameter4fARB) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 470 */ - void (GLAPIENTRYP ProgramLocalParameter4fvARB) (GLenum target, GLuint index, const GLfloat * params); /* 471 */ - void (GLAPIENTRYP ProgramStringARB) (GLenum target, GLenum format, GLsizei len, const GLvoid * string); /* 472 */ - void (GLAPIENTRYP VertexAttrib1dARB) (GLuint index, GLdouble x); /* 473 */ - void (GLAPIENTRYP VertexAttrib1dvARB) (GLuint index, const GLdouble * v); /* 474 */ - void (GLAPIENTRYP VertexAttrib1fARB) (GLuint index, GLfloat x); /* 475 */ - void (GLAPIENTRYP VertexAttrib1fvARB) (GLuint index, const GLfloat * v); /* 476 */ - void (GLAPIENTRYP VertexAttrib1sARB) (GLuint index, GLshort x); /* 477 */ - void (GLAPIENTRYP VertexAttrib1svARB) (GLuint index, const GLshort * v); /* 478 */ - void (GLAPIENTRYP VertexAttrib2dARB) (GLuint index, GLdouble x, GLdouble y); /* 479 */ - void (GLAPIENTRYP VertexAttrib2dvARB) (GLuint index, const GLdouble * v); /* 480 */ - void (GLAPIENTRYP VertexAttrib2fARB) (GLuint index, GLfloat x, GLfloat y); /* 481 */ - void (GLAPIENTRYP VertexAttrib2fvARB) (GLuint index, const GLfloat * v); /* 482 */ - void (GLAPIENTRYP VertexAttrib2sARB) (GLuint index, GLshort x, GLshort y); /* 483 */ - void (GLAPIENTRYP VertexAttrib2svARB) (GLuint index, const GLshort * v); /* 484 */ - void (GLAPIENTRYP VertexAttrib3dARB) (GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 485 */ - void (GLAPIENTRYP VertexAttrib3dvARB) (GLuint index, const GLdouble * v); /* 486 */ - void (GLAPIENTRYP VertexAttrib3fARB) (GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 487 */ - void (GLAPIENTRYP VertexAttrib3fvARB) (GLuint index, const GLfloat * v); /* 488 */ - void (GLAPIENTRYP VertexAttrib3sARB) (GLuint index, GLshort x, GLshort y, GLshort z); /* 489 */ - void (GLAPIENTRYP VertexAttrib3svARB) (GLuint index, const GLshort * v); /* 490 */ - void (GLAPIENTRYP VertexAttrib4NbvARB) (GLuint index, const GLbyte * v); /* 491 */ - void (GLAPIENTRYP VertexAttrib4NivARB) (GLuint index, const GLint * v); /* 492 */ - void (GLAPIENTRYP VertexAttrib4NsvARB) (GLuint index, const GLshort * v); /* 493 */ - void (GLAPIENTRYP VertexAttrib4NubARB) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 494 */ - void (GLAPIENTRYP VertexAttrib4NubvARB) (GLuint index, const GLubyte * v); /* 495 */ - void (GLAPIENTRYP VertexAttrib4NuivARB) (GLuint index, const GLuint * v); /* 496 */ - void (GLAPIENTRYP VertexAttrib4NusvARB) (GLuint index, const GLushort * v); /* 497 */ - void (GLAPIENTRYP VertexAttrib4bvARB) (GLuint index, const GLbyte * v); /* 498 */ - void (GLAPIENTRYP VertexAttrib4dARB) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 499 */ - void (GLAPIENTRYP VertexAttrib4dvARB) (GLuint index, const GLdouble * v); /* 500 */ - void (GLAPIENTRYP VertexAttrib4fARB) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 501 */ - void (GLAPIENTRYP VertexAttrib4fvARB) (GLuint index, const GLfloat * v); /* 502 */ - void (GLAPIENTRYP VertexAttrib4ivARB) (GLuint index, const GLint * v); /* 503 */ - void (GLAPIENTRYP VertexAttrib4sARB) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 504 */ - void (GLAPIENTRYP VertexAttrib4svARB) (GLuint index, const GLshort * v); /* 505 */ - void (GLAPIENTRYP VertexAttrib4ubvARB) (GLuint index, const GLubyte * v); /* 506 */ - void (GLAPIENTRYP VertexAttrib4uivARB) (GLuint index, const GLuint * v); /* 507 */ - void (GLAPIENTRYP VertexAttrib4usvARB) (GLuint index, const GLushort * v); /* 508 */ - void (GLAPIENTRYP VertexAttribPointerARB) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); /* 509 */ - void (GLAPIENTRYP BindBufferARB) (GLenum target, GLuint buffer); /* 510 */ - void (GLAPIENTRYP BufferDataARB) (GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage); /* 511 */ - void (GLAPIENTRYP BufferSubDataARB) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data); /* 512 */ - void (GLAPIENTRYP DeleteBuffersARB) (GLsizei n, const GLuint * buffer); /* 513 */ - void (GLAPIENTRYP GenBuffersARB) (GLsizei n, GLuint * buffer); /* 514 */ - void (GLAPIENTRYP GetBufferParameterivARB) (GLenum target, GLenum pname, GLint * params); /* 515 */ - void (GLAPIENTRYP GetBufferPointervARB) (GLenum target, GLenum pname, GLvoid ** params); /* 516 */ - void (GLAPIENTRYP GetBufferSubDataARB) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data); /* 517 */ - GLboolean(GLAPIENTRYP IsBufferARB) (GLuint buffer); /* 518 */ - GLvoid *(GLAPIENTRYP MapBufferARB) (GLenum target, GLenum access); /* 519 */ - GLboolean(GLAPIENTRYP UnmapBufferARB) (GLenum target); /* 520 */ - void (GLAPIENTRYP BeginQueryARB) (GLenum target, GLuint id); /* 521 */ - void (GLAPIENTRYP DeleteQueriesARB) (GLsizei n, const GLuint * ids); /* 522 */ - void (GLAPIENTRYP EndQueryARB) (GLenum target); /* 523 */ - void (GLAPIENTRYP GenQueriesARB) (GLsizei n, GLuint * ids); /* 524 */ - void (GLAPIENTRYP GetQueryObjectivARB) (GLuint id, GLenum pname, GLint * params); /* 525 */ - void (GLAPIENTRYP GetQueryObjectuivARB) (GLuint id, GLenum pname, GLuint * params); /* 526 */ - void (GLAPIENTRYP GetQueryivARB) (GLenum target, GLenum pname, GLint * params); /* 527 */ - GLboolean(GLAPIENTRYP IsQueryARB) (GLuint id); /* 528 */ - void (GLAPIENTRYP AttachObjectARB) (GLhandleARB containerObj, GLhandleARB obj); /* 529 */ - void (GLAPIENTRYP CompileShaderARB) (GLhandleARB shader); /* 530 */ - GLhandleARB(GLAPIENTRYP CreateProgramObjectARB) (void); /* 531 */ - GLhandleARB(GLAPIENTRYP CreateShaderObjectARB) (GLenum shaderType); /* 532 */ - void (GLAPIENTRYP DeleteObjectARB) (GLhandleARB obj); /* 533 */ - void (GLAPIENTRYP DetachObjectARB) (GLhandleARB containerObj, GLhandleARB attachedObj); /* 534 */ - void (GLAPIENTRYP GetActiveUniformARB) (GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 535 */ - void (GLAPIENTRYP GetAttachedObjectsARB) (GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog); /* 536 */ - GLhandleARB(GLAPIENTRYP GetHandleARB) (GLenum pname); /* 537 */ - void (GLAPIENTRYP GetInfoLogARB) (GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); /* 538 */ - void (GLAPIENTRYP GetObjectParameterfvARB) (GLhandleARB obj, GLenum pname, GLfloat * params); /* 539 */ - void (GLAPIENTRYP GetObjectParameterivARB) (GLhandleARB obj, GLenum pname, GLint * params); /* 540 */ - void (GLAPIENTRYP GetShaderSourceARB) (GLhandleARB shader, GLsizei bufSize, GLsizei * length, GLcharARB * source); /* 541 */ - GLint(GLAPIENTRYP GetUniformLocationARB) (GLhandleARB program, const GLcharARB * name); /* 542 */ - void (GLAPIENTRYP GetUniformfvARB) (GLhandleARB program, GLint location, GLfloat * params); /* 543 */ - void (GLAPIENTRYP GetUniformivARB) (GLhandleARB program, GLint location, GLint * params); /* 544 */ - void (GLAPIENTRYP LinkProgramARB) (GLhandleARB program); /* 545 */ - void (GLAPIENTRYP ShaderSourceARB) (GLhandleARB shader, GLsizei count, const GLcharARB ** string, const GLint * length); /* 546 */ - void (GLAPIENTRYP Uniform1fARB) (GLint location, GLfloat v0); /* 547 */ - void (GLAPIENTRYP Uniform1fvARB) (GLint location, GLsizei count, const GLfloat * value); /* 548 */ - void (GLAPIENTRYP Uniform1iARB) (GLint location, GLint v0); /* 549 */ - void (GLAPIENTRYP Uniform1ivARB) (GLint location, GLsizei count, const GLint * value); /* 550 */ - void (GLAPIENTRYP Uniform2fARB) (GLint location, GLfloat v0, GLfloat v1); /* 551 */ - void (GLAPIENTRYP Uniform2fvARB) (GLint location, GLsizei count, const GLfloat * value); /* 552 */ - void (GLAPIENTRYP Uniform2iARB) (GLint location, GLint v0, GLint v1); /* 553 */ - void (GLAPIENTRYP Uniform2ivARB) (GLint location, GLsizei count, const GLint * value); /* 554 */ - void (GLAPIENTRYP Uniform3fARB) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); /* 555 */ - void (GLAPIENTRYP Uniform3fvARB) (GLint location, GLsizei count, const GLfloat * value); /* 556 */ - void (GLAPIENTRYP Uniform3iARB) (GLint location, GLint v0, GLint v1, GLint v2); /* 557 */ - void (GLAPIENTRYP Uniform3ivARB) (GLint location, GLsizei count, const GLint * value); /* 558 */ - void (GLAPIENTRYP Uniform4fARB) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); /* 559 */ - void (GLAPIENTRYP Uniform4fvARB) (GLint location, GLsizei count, const GLfloat * value); /* 560 */ - void (GLAPIENTRYP Uniform4iARB) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); /* 561 */ - void (GLAPIENTRYP Uniform4ivARB) (GLint location, GLsizei count, const GLint * value); /* 562 */ - void (GLAPIENTRYP UniformMatrix2fvARB) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 563 */ - void (GLAPIENTRYP UniformMatrix3fvARB) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 564 */ - void (GLAPIENTRYP UniformMatrix4fvARB) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 565 */ - void (GLAPIENTRYP UseProgramObjectARB) (GLhandleARB program); /* 566 */ - void (GLAPIENTRYP ValidateProgramARB) (GLhandleARB program); /* 567 */ - void (GLAPIENTRYP BindAttribLocationARB) (GLhandleARB program, GLuint index, const GLcharARB * name); /* 568 */ - void (GLAPIENTRYP GetActiveAttribARB) (GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 569 */ - GLint(GLAPIENTRYP GetAttribLocationARB) (GLhandleARB program, const GLcharARB * name); /* 570 */ - void (GLAPIENTRYP DrawBuffersARB) (GLsizei n, const GLenum * bufs); /* 571 */ - void (GLAPIENTRYP ClampColorARB) (GLenum target, GLenum clamp); /* 572 */ - void (GLAPIENTRYP DrawArraysInstancedARB) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); /* 573 */ - void (GLAPIENTRYP DrawElementsInstancedARB) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount); /* 574 */ - void (GLAPIENTRYP RenderbufferStorageMultisample) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); /* 575 */ - void (GLAPIENTRYP FramebufferTextureARB) (GLenum target, GLenum attachment, GLuint texture, GLint level); /* 576 */ - void (GLAPIENTRYP FramebufferTextureFaceARB) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); /* 577 */ - void (GLAPIENTRYP ProgramParameteriARB) (GLuint program, GLenum pname, GLint value); /* 578 */ - void (GLAPIENTRYP VertexAttribDivisorARB) (GLuint index, GLuint divisor); /* 579 */ - void (GLAPIENTRYP FlushMappedBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length); /* 580 */ - GLvoid *(GLAPIENTRYP MapBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); /* 581 */ - void (GLAPIENTRYP TexBufferARB) (GLenum target, GLenum internalFormat, GLuint buffer); /* 582 */ - void (GLAPIENTRYP BindVertexArray) (GLuint array); /* 583 */ - void (GLAPIENTRYP GenVertexArrays) (GLsizei n, GLuint * arrays); /* 584 */ - void (GLAPIENTRYP CopyBufferSubData) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 585 */ - GLenum(GLAPIENTRYP ClientWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout); /* 586 */ - void (GLAPIENTRYP DeleteSync) (GLsync sync); /* 587 */ - GLsync(GLAPIENTRYP FenceSync) (GLenum condition, GLbitfield flags); /* 588 */ - void (GLAPIENTRYP GetInteger64v) (GLenum pname, GLint64 * params); /* 589 */ - void (GLAPIENTRYP GetSynciv) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 590 */ - GLboolean(GLAPIENTRYP IsSync) (GLsync sync); /* 591 */ - void (GLAPIENTRYP WaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout); /* 592 */ - void (GLAPIENTRYP DrawElementsBaseVertex) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 593 */ - void (GLAPIENTRYP DrawElementsInstancedBaseVertex) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLint basevertex); /* 594 */ - void (GLAPIENTRYP DrawRangeElementsBaseVertex) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 595 */ - void (GLAPIENTRYP MultiDrawElementsBaseVertex) (GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 596 */ - void (GLAPIENTRYP BlendEquationSeparateiARB) (GLuint buf, GLenum modeRGB, GLenum modeA); /* 597 */ - void (GLAPIENTRYP BlendEquationiARB) (GLuint buf, GLenum mode); /* 598 */ - void (GLAPIENTRYP BlendFuncSeparateiARB) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA); /* 599 */ - void (GLAPIENTRYP BlendFunciARB) (GLuint buf, GLenum src, GLenum dst); /* 600 */ - void (GLAPIENTRYP BindSampler) (GLuint unit, GLuint sampler); /* 601 */ - void (GLAPIENTRYP DeleteSamplers) (GLsizei count, const GLuint * samplers); /* 602 */ - void (GLAPIENTRYP GenSamplers) (GLsizei count, GLuint * samplers); /* 603 */ - void (GLAPIENTRYP GetSamplerParameterIiv) (GLuint sampler, GLenum pname, GLint * params); /* 604 */ - void (GLAPIENTRYP GetSamplerParameterIuiv) (GLuint sampler, GLenum pname, GLuint * params); /* 605 */ - void (GLAPIENTRYP GetSamplerParameterfv) (GLuint sampler, GLenum pname, GLfloat * params); /* 606 */ - void (GLAPIENTRYP GetSamplerParameteriv) (GLuint sampler, GLenum pname, GLint * params); /* 607 */ - GLboolean(GLAPIENTRYP IsSampler) (GLuint sampler); /* 608 */ - void (GLAPIENTRYP SamplerParameterIiv) (GLuint sampler, GLenum pname, const GLint * params); /* 609 */ - void (GLAPIENTRYP SamplerParameterIuiv) (GLuint sampler, GLenum pname, const GLuint * params); /* 610 */ - void (GLAPIENTRYP SamplerParameterf) (GLuint sampler, GLenum pname, GLfloat param); /* 611 */ - void (GLAPIENTRYP SamplerParameterfv) (GLuint sampler, GLenum pname, const GLfloat * params); /* 612 */ - void (GLAPIENTRYP SamplerParameteri) (GLuint sampler, GLenum pname, GLint param); /* 613 */ - void (GLAPIENTRYP SamplerParameteriv) (GLuint sampler, GLenum pname, const GLint * params); /* 614 */ - void (GLAPIENTRYP ColorP3ui) (GLenum type, GLuint color); /* 615 */ - void (GLAPIENTRYP ColorP3uiv) (GLenum type, const GLuint * color); /* 616 */ - void (GLAPIENTRYP ColorP4ui) (GLenum type, GLuint color); /* 617 */ - void (GLAPIENTRYP ColorP4uiv) (GLenum type, const GLuint * color); /* 618 */ - void (GLAPIENTRYP MultiTexCoordP1ui) (GLenum texture, GLenum type, GLuint coords); /* 619 */ - void (GLAPIENTRYP MultiTexCoordP1uiv) (GLenum texture, GLenum type, const GLuint * coords); /* 620 */ - void (GLAPIENTRYP MultiTexCoordP2ui) (GLenum texture, GLenum type, GLuint coords); /* 621 */ - void (GLAPIENTRYP MultiTexCoordP2uiv) (GLenum texture, GLenum type, const GLuint * coords); /* 622 */ - void (GLAPIENTRYP MultiTexCoordP3ui) (GLenum texture, GLenum type, GLuint coords); /* 623 */ - void (GLAPIENTRYP MultiTexCoordP3uiv) (GLenum texture, GLenum type, const GLuint * coords); /* 624 */ - void (GLAPIENTRYP MultiTexCoordP4ui) (GLenum texture, GLenum type, GLuint coords); /* 625 */ - void (GLAPIENTRYP MultiTexCoordP4uiv) (GLenum texture, GLenum type, const GLuint * coords); /* 626 */ - void (GLAPIENTRYP NormalP3ui) (GLenum type, GLuint coords); /* 627 */ - void (GLAPIENTRYP NormalP3uiv) (GLenum type, const GLuint * coords); /* 628 */ - void (GLAPIENTRYP SecondaryColorP3ui) (GLenum type, GLuint color); /* 629 */ - void (GLAPIENTRYP SecondaryColorP3uiv) (GLenum type, const GLuint * color); /* 630 */ - void (GLAPIENTRYP TexCoordP1ui) (GLenum type, GLuint coords); /* 631 */ - void (GLAPIENTRYP TexCoordP1uiv) (GLenum type, const GLuint * coords); /* 632 */ - void (GLAPIENTRYP TexCoordP2ui) (GLenum type, GLuint coords); /* 633 */ - void (GLAPIENTRYP TexCoordP2uiv) (GLenum type, const GLuint * coords); /* 634 */ - void (GLAPIENTRYP TexCoordP3ui) (GLenum type, GLuint coords); /* 635 */ - void (GLAPIENTRYP TexCoordP3uiv) (GLenum type, const GLuint * coords); /* 636 */ - void (GLAPIENTRYP TexCoordP4ui) (GLenum type, GLuint coords); /* 637 */ - void (GLAPIENTRYP TexCoordP4uiv) (GLenum type, const GLuint * coords); /* 638 */ - void (GLAPIENTRYP VertexAttribP1ui) (GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 639 */ - void (GLAPIENTRYP VertexAttribP1uiv) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 640 */ - void (GLAPIENTRYP VertexAttribP2ui) (GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 641 */ - void (GLAPIENTRYP VertexAttribP2uiv) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 642 */ - void (GLAPIENTRYP VertexAttribP3ui) (GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 643 */ - void (GLAPIENTRYP VertexAttribP3uiv) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 644 */ - void (GLAPIENTRYP VertexAttribP4ui) (GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 645 */ - void (GLAPIENTRYP VertexAttribP4uiv) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 646 */ - void (GLAPIENTRYP VertexP2ui) (GLenum type, GLuint value); /* 647 */ - void (GLAPIENTRYP VertexP2uiv) (GLenum type, const GLuint * value); /* 648 */ - void (GLAPIENTRYP VertexP3ui) (GLenum type, GLuint value); /* 649 */ - void (GLAPIENTRYP VertexP3uiv) (GLenum type, const GLuint * value); /* 650 */ - void (GLAPIENTRYP VertexP4ui) (GLenum type, GLuint value); /* 651 */ - void (GLAPIENTRYP VertexP4uiv) (GLenum type, const GLuint * value); /* 652 */ - void (GLAPIENTRYP BindTransformFeedback) (GLenum target, GLuint id); /* 653 */ - void (GLAPIENTRYP DeleteTransformFeedbacks) (GLsizei n, const GLuint * ids); /* 654 */ - void (GLAPIENTRYP DrawTransformFeedback) (GLenum mode, GLuint id); /* 655 */ - void (GLAPIENTRYP GenTransformFeedbacks) (GLsizei n, GLuint * ids); /* 656 */ - GLboolean(GLAPIENTRYP IsTransformFeedback) (GLuint id); /* 657 */ - void (GLAPIENTRYP PauseTransformFeedback) (void); /* 658 */ - void (GLAPIENTRYP ResumeTransformFeedback) (void); /* 659 */ - void (GLAPIENTRYP ClearDepthf) (GLclampf depth); /* 660 */ - void (GLAPIENTRYP DepthRangef) (GLclampf zNear, GLclampf zFar); /* 661 */ - void (GLAPIENTRYP GetShaderPrecisionFormat) (GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); /* 662 */ - void (GLAPIENTRYP ReleaseShaderCompiler) (void); /* 663 */ - void (GLAPIENTRYP ShaderBinary) (GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); /* 664 */ - GLenum(GLAPIENTRYP GetGraphicsResetStatusARB) (void); /* 665 */ - void (GLAPIENTRYP GetnColorTableARB) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table); /* 666 */ - void (GLAPIENTRYP GetnCompressedTexImageARB) (GLenum target, GLint lod, GLsizei bufSize, GLvoid * img); /* 667 */ - void (GLAPIENTRYP GetnConvolutionFilterARB) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image); /* 668 */ - void (GLAPIENTRYP GetnHistogramARB) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 669 */ - void (GLAPIENTRYP GetnMapdvARB) (GLenum target, GLenum query, GLsizei bufSize, GLdouble * v); /* 670 */ - void (GLAPIENTRYP GetnMapfvARB) (GLenum target, GLenum query, GLsizei bufSize, GLfloat * v); /* 671 */ - void (GLAPIENTRYP GetnMapivARB) (GLenum target, GLenum query, GLsizei bufSize, GLint * v); /* 672 */ - void (GLAPIENTRYP GetnMinmaxARB) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 673 */ - void (GLAPIENTRYP GetnPixelMapfvARB) (GLenum map, GLsizei bufSize, GLfloat * values); /* 674 */ - void (GLAPIENTRYP GetnPixelMapuivARB) (GLenum map, GLsizei bufSize, GLuint * values); /* 675 */ - void (GLAPIENTRYP GetnPixelMapusvARB) (GLenum map, GLsizei bufSize, GLushort * values); /* 676 */ - void (GLAPIENTRYP GetnPolygonStippleARB) (GLsizei bufSize, GLubyte * pattern); /* 677 */ - void (GLAPIENTRYP GetnSeparableFilterARB) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span); /* 678 */ - void (GLAPIENTRYP GetnTexImageARB) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img); /* 679 */ - void (GLAPIENTRYP GetnUniformdvARB) (GLhandleARB program, GLint location, GLsizei bufSize, GLdouble * params); /* 680 */ - void (GLAPIENTRYP GetnUniformfvARB) (GLhandleARB program, GLint location, GLsizei bufSize, GLfloat * params); /* 681 */ - void (GLAPIENTRYP GetnUniformivARB) (GLhandleARB program, GLint location, GLsizei bufSize, GLint * params); /* 682 */ - void (GLAPIENTRYP GetnUniformuivARB) (GLhandleARB program, GLint location, GLsizei bufSize, GLuint * params); /* 683 */ - void (GLAPIENTRYP ReadnPixelsARB) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); /* 684 */ - void (GLAPIENTRYP TexStorage1D) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 685 */ - void (GLAPIENTRYP TexStorage2D) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 686 */ - void (GLAPIENTRYP TexStorage3D) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 687 */ - void (GLAPIENTRYP TextureStorage1DEXT) (GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 688 */ - void (GLAPIENTRYP TextureStorage2DEXT) (GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 689 */ - void (GLAPIENTRYP TextureStorage3DEXT) (GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 690 */ - void (GLAPIENTRYP PolygonOffsetEXT) (GLfloat factor, GLfloat bias); /* 691 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS) (GLenum pname, GLfloat * params); /* 692 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS) (GLenum pname, GLint * params); /* 693 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS) (GLenum pname, GLfloat param); /* 694 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS) (GLenum pname, const GLfloat * params); /* 695 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS) (GLenum pname, GLint param); /* 696 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS) (GLenum pname, const GLint * params); /* 697 */ - void (GLAPIENTRYP SampleMaskSGIS) (GLclampf value, GLboolean invert); /* 698 */ - void (GLAPIENTRYP SamplePatternSGIS) (GLenum pattern); /* 699 */ - void (GLAPIENTRYP ColorPointerEXT) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 700 */ - void (GLAPIENTRYP EdgeFlagPointerEXT) (GLsizei stride, GLsizei count, const GLboolean * pointer); /* 701 */ - void (GLAPIENTRYP IndexPointerEXT) (GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 702 */ - void (GLAPIENTRYP NormalPointerEXT) (GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 703 */ - void (GLAPIENTRYP TexCoordPointerEXT) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 704 */ - void (GLAPIENTRYP VertexPointerEXT) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 705 */ - void (GLAPIENTRYP PointParameterfEXT) (GLenum pname, GLfloat param); /* 706 */ - void (GLAPIENTRYP PointParameterfvEXT) (GLenum pname, const GLfloat * params); /* 707 */ - void (GLAPIENTRYP LockArraysEXT) (GLint first, GLsizei count); /* 708 */ - void (GLAPIENTRYP UnlockArraysEXT) (void); /* 709 */ - void (GLAPIENTRYP SecondaryColor3bEXT) (GLbyte red, GLbyte green, GLbyte blue); /* 710 */ - void (GLAPIENTRYP SecondaryColor3bvEXT) (const GLbyte * v); /* 711 */ - void (GLAPIENTRYP SecondaryColor3dEXT) (GLdouble red, GLdouble green, GLdouble blue); /* 712 */ - void (GLAPIENTRYP SecondaryColor3dvEXT) (const GLdouble * v); /* 713 */ - void (GLAPIENTRYP SecondaryColor3fEXT) (GLfloat red, GLfloat green, GLfloat blue); /* 714 */ - void (GLAPIENTRYP SecondaryColor3fvEXT) (const GLfloat * v); /* 715 */ - void (GLAPIENTRYP SecondaryColor3iEXT) (GLint red, GLint green, GLint blue); /* 716 */ - void (GLAPIENTRYP SecondaryColor3ivEXT) (const GLint * v); /* 717 */ - void (GLAPIENTRYP SecondaryColor3sEXT) (GLshort red, GLshort green, GLshort blue); /* 718 */ - void (GLAPIENTRYP SecondaryColor3svEXT) (const GLshort * v); /* 719 */ - void (GLAPIENTRYP SecondaryColor3ubEXT) (GLubyte red, GLubyte green, GLubyte blue); /* 720 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT) (const GLubyte * v); /* 721 */ - void (GLAPIENTRYP SecondaryColor3uiEXT) (GLuint red, GLuint green, GLuint blue); /* 722 */ - void (GLAPIENTRYP SecondaryColor3uivEXT) (const GLuint * v); /* 723 */ - void (GLAPIENTRYP SecondaryColor3usEXT) (GLushort red, GLushort green, GLushort blue); /* 724 */ - void (GLAPIENTRYP SecondaryColor3usvEXT) (const GLushort * v); /* 725 */ - void (GLAPIENTRYP SecondaryColorPointerEXT) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 726 */ - void (GLAPIENTRYP MultiDrawArraysEXT) (GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 727 */ - void (GLAPIENTRYP MultiDrawElementsEXT) (GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 728 */ - void (GLAPIENTRYP FogCoordPointerEXT) (GLenum type, GLsizei stride, const GLvoid * pointer); /* 729 */ - void (GLAPIENTRYP FogCoorddEXT) (GLdouble coord); /* 730 */ - void (GLAPIENTRYP FogCoorddvEXT) (const GLdouble * coord); /* 731 */ - void (GLAPIENTRYP FogCoordfEXT) (GLfloat coord); /* 732 */ - void (GLAPIENTRYP FogCoordfvEXT) (const GLfloat * coord); /* 733 */ - void (GLAPIENTRYP PixelTexGenSGIX) (GLenum mode); /* 734 */ - void (GLAPIENTRYP BlendFuncSeparateEXT) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 735 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV) (void); /* 736 */ - void (GLAPIENTRYP VertexArrayRangeNV) (GLsizei length, const GLvoid * pointer); /* 737 */ - void (GLAPIENTRYP CombinerInputNV) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 738 */ - void (GLAPIENTRYP CombinerOutputNV) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 739 */ - void (GLAPIENTRYP CombinerParameterfNV) (GLenum pname, GLfloat param); /* 740 */ - void (GLAPIENTRYP CombinerParameterfvNV) (GLenum pname, const GLfloat * params); /* 741 */ - void (GLAPIENTRYP CombinerParameteriNV) (GLenum pname, GLint param); /* 742 */ - void (GLAPIENTRYP CombinerParameterivNV) (GLenum pname, const GLint * params); /* 743 */ - void (GLAPIENTRYP FinalCombinerInputNV) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 744 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 745 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 746 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV) (GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 747 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV) (GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 748 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV) (GLenum variable, GLenum pname, GLfloat * params); /* 749 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV) (GLenum variable, GLenum pname, GLint * params); /* 750 */ - void (GLAPIENTRYP ResizeBuffersMESA) (void); /* 751 */ - void (GLAPIENTRYP WindowPos2dMESA) (GLdouble x, GLdouble y); /* 752 */ - void (GLAPIENTRYP WindowPos2dvMESA) (const GLdouble * v); /* 753 */ - void (GLAPIENTRYP WindowPos2fMESA) (GLfloat x, GLfloat y); /* 754 */ - void (GLAPIENTRYP WindowPos2fvMESA) (const GLfloat * v); /* 755 */ - void (GLAPIENTRYP WindowPos2iMESA) (GLint x, GLint y); /* 756 */ - void (GLAPIENTRYP WindowPos2ivMESA) (const GLint * v); /* 757 */ - void (GLAPIENTRYP WindowPos2sMESA) (GLshort x, GLshort y); /* 758 */ - void (GLAPIENTRYP WindowPos2svMESA) (const GLshort * v); /* 759 */ - void (GLAPIENTRYP WindowPos3dMESA) (GLdouble x, GLdouble y, GLdouble z); /* 760 */ - void (GLAPIENTRYP WindowPos3dvMESA) (const GLdouble * v); /* 761 */ - void (GLAPIENTRYP WindowPos3fMESA) (GLfloat x, GLfloat y, GLfloat z); /* 762 */ - void (GLAPIENTRYP WindowPos3fvMESA) (const GLfloat * v); /* 763 */ - void (GLAPIENTRYP WindowPos3iMESA) (GLint x, GLint y, GLint z); /* 764 */ - void (GLAPIENTRYP WindowPos3ivMESA) (const GLint * v); /* 765 */ - void (GLAPIENTRYP WindowPos3sMESA) (GLshort x, GLshort y, GLshort z); /* 766 */ - void (GLAPIENTRYP WindowPos3svMESA) (const GLshort * v); /* 767 */ - void (GLAPIENTRYP WindowPos4dMESA) (GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 768 */ - void (GLAPIENTRYP WindowPos4dvMESA) (const GLdouble * v); /* 769 */ - void (GLAPIENTRYP WindowPos4fMESA) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 770 */ - void (GLAPIENTRYP WindowPos4fvMESA) (const GLfloat * v); /* 771 */ - void (GLAPIENTRYP WindowPos4iMESA) (GLint x, GLint y, GLint z, GLint w); /* 772 */ - void (GLAPIENTRYP WindowPos4ivMESA) (const GLint * v); /* 773 */ - void (GLAPIENTRYP WindowPos4sMESA) (GLshort x, GLshort y, GLshort z, GLshort w); /* 774 */ - void (GLAPIENTRYP WindowPos4svMESA) (const GLshort * v); /* 775 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM) (const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 776 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM) (const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); /* 777 */ - void (GLAPIENTRYP DeleteFencesNV) (GLsizei n, const GLuint * fences); /* 778 */ - void (GLAPIENTRYP FinishFenceNV) (GLuint fence); /* 779 */ - void (GLAPIENTRYP GenFencesNV) (GLsizei n, GLuint * fences); /* 780 */ - void (GLAPIENTRYP GetFenceivNV) (GLuint fence, GLenum pname, GLint * params); /* 781 */ - GLboolean(GLAPIENTRYP IsFenceNV) (GLuint fence); /* 782 */ - void (GLAPIENTRYP SetFenceNV) (GLuint fence, GLenum condition); /* 783 */ - GLboolean(GLAPIENTRYP TestFenceNV) (GLuint fence); /* 784 */ - GLboolean(GLAPIENTRYP AreProgramsResidentNV) (GLsizei n, const GLuint * ids, GLboolean * residences); /* 785 */ - void (GLAPIENTRYP BindProgramNV) (GLenum target, GLuint program); /* 786 */ - void (GLAPIENTRYP DeleteProgramsNV) (GLsizei n, const GLuint * programs); /* 787 */ - void (GLAPIENTRYP ExecuteProgramNV) (GLenum target, GLuint id, const GLfloat * params); /* 788 */ - void (GLAPIENTRYP GenProgramsNV) (GLsizei n, GLuint * programs); /* 789 */ - void (GLAPIENTRYP GetProgramParameterdvNV) (GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 790 */ - void (GLAPIENTRYP GetProgramParameterfvNV) (GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 791 */ - void (GLAPIENTRYP GetProgramStringNV) (GLuint id, GLenum pname, GLubyte * program); /* 792 */ - void (GLAPIENTRYP GetProgramivNV) (GLuint id, GLenum pname, GLint * params); /* 793 */ - void (GLAPIENTRYP GetTrackMatrixivNV) (GLenum target, GLuint address, GLenum pname, GLint * params); /* 794 */ - void (GLAPIENTRYP GetVertexAttribPointervNV) (GLuint index, GLenum pname, GLvoid ** pointer); /* 795 */ - void (GLAPIENTRYP GetVertexAttribdvNV) (GLuint index, GLenum pname, GLdouble * params); /* 796 */ - void (GLAPIENTRYP GetVertexAttribfvNV) (GLuint index, GLenum pname, GLfloat * params); /* 797 */ - void (GLAPIENTRYP GetVertexAttribivNV) (GLuint index, GLenum pname, GLint * params); /* 798 */ - GLboolean(GLAPIENTRYP IsProgramNV) (GLuint program); /* 799 */ - void (GLAPIENTRYP LoadProgramNV) (GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 800 */ - void (GLAPIENTRYP ProgramParameters4dvNV) (GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 801 */ - void (GLAPIENTRYP ProgramParameters4fvNV) (GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 802 */ - void (GLAPIENTRYP RequestResidentProgramsNV) (GLsizei n, const GLuint * ids); /* 803 */ - void (GLAPIENTRYP TrackMatrixNV) (GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 804 */ - void (GLAPIENTRYP VertexAttrib1dNV) (GLuint index, GLdouble x); /* 805 */ - void (GLAPIENTRYP VertexAttrib1dvNV) (GLuint index, const GLdouble * v); /* 806 */ - void (GLAPIENTRYP VertexAttrib1fNV) (GLuint index, GLfloat x); /* 807 */ - void (GLAPIENTRYP VertexAttrib1fvNV) (GLuint index, const GLfloat * v); /* 808 */ - void (GLAPIENTRYP VertexAttrib1sNV) (GLuint index, GLshort x); /* 809 */ - void (GLAPIENTRYP VertexAttrib1svNV) (GLuint index, const GLshort * v); /* 810 */ - void (GLAPIENTRYP VertexAttrib2dNV) (GLuint index, GLdouble x, GLdouble y); /* 811 */ - void (GLAPIENTRYP VertexAttrib2dvNV) (GLuint index, const GLdouble * v); /* 812 */ - void (GLAPIENTRYP VertexAttrib2fNV) (GLuint index, GLfloat x, GLfloat y); /* 813 */ - void (GLAPIENTRYP VertexAttrib2fvNV) (GLuint index, const GLfloat * v); /* 814 */ - void (GLAPIENTRYP VertexAttrib2sNV) (GLuint index, GLshort x, GLshort y); /* 815 */ - void (GLAPIENTRYP VertexAttrib2svNV) (GLuint index, const GLshort * v); /* 816 */ - void (GLAPIENTRYP VertexAttrib3dNV) (GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 817 */ - void (GLAPIENTRYP VertexAttrib3dvNV) (GLuint index, const GLdouble * v); /* 818 */ - void (GLAPIENTRYP VertexAttrib3fNV) (GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 819 */ - void (GLAPIENTRYP VertexAttrib3fvNV) (GLuint index, const GLfloat * v); /* 820 */ - void (GLAPIENTRYP VertexAttrib3sNV) (GLuint index, GLshort x, GLshort y, GLshort z); /* 821 */ - void (GLAPIENTRYP VertexAttrib3svNV) (GLuint index, const GLshort * v); /* 822 */ - void (GLAPIENTRYP VertexAttrib4dNV) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 823 */ - void (GLAPIENTRYP VertexAttrib4dvNV) (GLuint index, const GLdouble * v); /* 824 */ - void (GLAPIENTRYP VertexAttrib4fNV) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 825 */ - void (GLAPIENTRYP VertexAttrib4fvNV) (GLuint index, const GLfloat * v); /* 826 */ - void (GLAPIENTRYP VertexAttrib4sNV) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 827 */ - void (GLAPIENTRYP VertexAttrib4svNV) (GLuint index, const GLshort * v); /* 828 */ - void (GLAPIENTRYP VertexAttrib4ubNV) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 829 */ - void (GLAPIENTRYP VertexAttrib4ubvNV) (GLuint index, const GLubyte * v); /* 830 */ - void (GLAPIENTRYP VertexAttribPointerNV) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 831 */ - void (GLAPIENTRYP VertexAttribs1dvNV) (GLuint index, GLsizei n, const GLdouble * v); /* 832 */ - void (GLAPIENTRYP VertexAttribs1fvNV) (GLuint index, GLsizei n, const GLfloat * v); /* 833 */ - void (GLAPIENTRYP VertexAttribs1svNV) (GLuint index, GLsizei n, const GLshort * v); /* 834 */ - void (GLAPIENTRYP VertexAttribs2dvNV) (GLuint index, GLsizei n, const GLdouble * v); /* 835 */ - void (GLAPIENTRYP VertexAttribs2fvNV) (GLuint index, GLsizei n, const GLfloat * v); /* 836 */ - void (GLAPIENTRYP VertexAttribs2svNV) (GLuint index, GLsizei n, const GLshort * v); /* 837 */ - void (GLAPIENTRYP VertexAttribs3dvNV) (GLuint index, GLsizei n, const GLdouble * v); /* 838 */ - void (GLAPIENTRYP VertexAttribs3fvNV) (GLuint index, GLsizei n, const GLfloat * v); /* 839 */ - void (GLAPIENTRYP VertexAttribs3svNV) (GLuint index, GLsizei n, const GLshort * v); /* 840 */ - void (GLAPIENTRYP VertexAttribs4dvNV) (GLuint index, GLsizei n, const GLdouble * v); /* 841 */ - void (GLAPIENTRYP VertexAttribs4fvNV) (GLuint index, GLsizei n, const GLfloat * v); /* 842 */ - void (GLAPIENTRYP VertexAttribs4svNV) (GLuint index, GLsizei n, const GLshort * v); /* 843 */ - void (GLAPIENTRYP VertexAttribs4ubvNV) (GLuint index, GLsizei n, const GLubyte * v); /* 844 */ - void (GLAPIENTRYP GetTexBumpParameterfvATI) (GLenum pname, GLfloat * param); /* 845 */ - void (GLAPIENTRYP GetTexBumpParameterivATI) (GLenum pname, GLint * param); /* 846 */ - void (GLAPIENTRYP TexBumpParameterfvATI) (GLenum pname, const GLfloat * param); /* 847 */ - void (GLAPIENTRYP TexBumpParameterivATI) (GLenum pname, const GLint * param); /* 848 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 849 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 850 */ - void (GLAPIENTRYP AlphaFragmentOp3ATI) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 851 */ - void (GLAPIENTRYP BeginFragmentShaderATI) (void); /* 852 */ - void (GLAPIENTRYP BindFragmentShaderATI) (GLuint id); /* 853 */ - void (GLAPIENTRYP ColorFragmentOp1ATI) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 854 */ - void (GLAPIENTRYP ColorFragmentOp2ATI) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 855 */ - void (GLAPIENTRYP ColorFragmentOp3ATI) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 856 */ - void (GLAPIENTRYP DeleteFragmentShaderATI) (GLuint id); /* 857 */ - void (GLAPIENTRYP EndFragmentShaderATI) (void); /* 858 */ - GLuint(GLAPIENTRYP GenFragmentShadersATI) (GLuint range); /* 859 */ - void (GLAPIENTRYP PassTexCoordATI) (GLuint dst, GLuint coord, GLenum swizzle); /* 860 */ - void (GLAPIENTRYP SampleMapATI) (GLuint dst, GLuint interp, GLenum swizzle); /* 861 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI) (GLuint dst, const GLfloat * value); /* 862 */ - void (GLAPIENTRYP PointParameteriNV) (GLenum pname, GLint param); /* 863 */ - void (GLAPIENTRYP PointParameterivNV) (GLenum pname, const GLint * params); /* 864 */ - void (GLAPIENTRYP ActiveStencilFaceEXT) (GLenum face); /* 865 */ - void (GLAPIENTRYP BindVertexArrayAPPLE) (GLuint array); /* 866 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE) (GLsizei n, const GLuint * arrays); /* 867 */ - void (GLAPIENTRYP GenVertexArraysAPPLE) (GLsizei n, GLuint * arrays); /* 868 */ - GLboolean(GLAPIENTRYP IsVertexArrayAPPLE) (GLuint array); /* 869 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV) (GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 870 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV) (GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 871 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV) (GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 872 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV) (GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 873 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV) (GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 874 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV) (GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 875 */ - void (GLAPIENTRYP PrimitiveRestartIndexNV) (GLuint index); /* 876 */ - void (GLAPIENTRYP PrimitiveRestartNV) (void); /* 877 */ - void (GLAPIENTRYP DepthBoundsEXT) (GLclampd zmin, GLclampd zmax); /* 878 */ - void (GLAPIENTRYP BlendEquationSeparateEXT) (GLenum modeRGB, GLenum modeA); /* 879 */ - void (GLAPIENTRYP BindFramebufferEXT) (GLenum target, GLuint framebuffer); /* 880 */ - void (GLAPIENTRYP BindRenderbufferEXT) (GLenum target, GLuint renderbuffer); /* 881 */ - GLenum(GLAPIENTRYP CheckFramebufferStatusEXT) (GLenum target); /* 882 */ - void (GLAPIENTRYP DeleteFramebuffersEXT) (GLsizei n, const GLuint * framebuffers); /* 883 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT) (GLsizei n, const GLuint * renderbuffers); /* 884 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 885 */ - void (GLAPIENTRYP FramebufferTexture1DEXT) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 886 */ - void (GLAPIENTRYP FramebufferTexture2DEXT) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 887 */ - void (GLAPIENTRYP FramebufferTexture3DEXT) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 888 */ - void (GLAPIENTRYP GenFramebuffersEXT) (GLsizei n, GLuint * framebuffers); /* 889 */ - void (GLAPIENTRYP GenRenderbuffersEXT) (GLsizei n, GLuint * renderbuffers); /* 890 */ - void (GLAPIENTRYP GenerateMipmapEXT) (GLenum target); /* 891 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT) (GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 892 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT) (GLenum target, GLenum pname, GLint * params); /* 893 */ - GLboolean(GLAPIENTRYP IsFramebufferEXT) (GLuint framebuffer); /* 894 */ - GLboolean(GLAPIENTRYP IsRenderbufferEXT) (GLuint renderbuffer); /* 895 */ - void (GLAPIENTRYP RenderbufferStorageEXT) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 896 */ - void (GLAPIENTRYP BlitFramebufferEXT) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 897 */ - void (GLAPIENTRYP BufferParameteriAPPLE) (GLenum target, GLenum pname, GLint param); /* 898 */ - void (GLAPIENTRYP FlushMappedBufferRangeAPPLE) (GLenum target, GLintptr offset, GLsizeiptr size); /* 899 */ - void (GLAPIENTRYP BindFragDataLocationEXT) (GLuint program, GLuint colorNumber, const GLchar * name); /* 900 */ - GLint(GLAPIENTRYP GetFragDataLocationEXT) (GLuint program, const GLchar * name); /* 901 */ - void (GLAPIENTRYP GetUniformuivEXT) (GLuint program, GLint location, GLuint * params); /* 902 */ - void (GLAPIENTRYP GetVertexAttribIivEXT) (GLuint index, GLenum pname, GLint * params); /* 903 */ - void (GLAPIENTRYP GetVertexAttribIuivEXT) (GLuint index, GLenum pname, GLuint * params); /* 904 */ - void (GLAPIENTRYP Uniform1uiEXT) (GLint location, GLuint x); /* 905 */ - void (GLAPIENTRYP Uniform1uivEXT) (GLint location, GLsizei count, const GLuint * value); /* 906 */ - void (GLAPIENTRYP Uniform2uiEXT) (GLint location, GLuint x, GLuint y); /* 907 */ - void (GLAPIENTRYP Uniform2uivEXT) (GLint location, GLsizei count, const GLuint * value); /* 908 */ - void (GLAPIENTRYP Uniform3uiEXT) (GLint location, GLuint x, GLuint y, GLuint z); /* 909 */ - void (GLAPIENTRYP Uniform3uivEXT) (GLint location, GLsizei count, const GLuint * value); /* 910 */ - void (GLAPIENTRYP Uniform4uiEXT) (GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 911 */ - void (GLAPIENTRYP Uniform4uivEXT) (GLint location, GLsizei count, const GLuint * value); /* 912 */ - void (GLAPIENTRYP VertexAttribI1iEXT) (GLuint index, GLint x); /* 913 */ - void (GLAPIENTRYP VertexAttribI1ivEXT) (GLuint index, const GLint * v); /* 914 */ - void (GLAPIENTRYP VertexAttribI1uiEXT) (GLuint index, GLuint x); /* 915 */ - void (GLAPIENTRYP VertexAttribI1uivEXT) (GLuint index, const GLuint * v); /* 916 */ - void (GLAPIENTRYP VertexAttribI2iEXT) (GLuint index, GLint x, GLint y); /* 917 */ - void (GLAPIENTRYP VertexAttribI2ivEXT) (GLuint index, const GLint * v); /* 918 */ - void (GLAPIENTRYP VertexAttribI2uiEXT) (GLuint index, GLuint x, GLuint y); /* 919 */ - void (GLAPIENTRYP VertexAttribI2uivEXT) (GLuint index, const GLuint * v); /* 920 */ - void (GLAPIENTRYP VertexAttribI3iEXT) (GLuint index, GLint x, GLint y, GLint z); /* 921 */ - void (GLAPIENTRYP VertexAttribI3ivEXT) (GLuint index, const GLint * v); /* 922 */ - void (GLAPIENTRYP VertexAttribI3uiEXT) (GLuint index, GLuint x, GLuint y, GLuint z); /* 923 */ - void (GLAPIENTRYP VertexAttribI3uivEXT) (GLuint index, const GLuint * v); /* 924 */ - void (GLAPIENTRYP VertexAttribI4bvEXT) (GLuint index, const GLbyte * v); /* 925 */ - void (GLAPIENTRYP VertexAttribI4iEXT) (GLuint index, GLint x, GLint y, GLint z, GLint w); /* 926 */ - void (GLAPIENTRYP VertexAttribI4ivEXT) (GLuint index, const GLint * v); /* 927 */ - void (GLAPIENTRYP VertexAttribI4svEXT) (GLuint index, const GLshort * v); /* 928 */ - void (GLAPIENTRYP VertexAttribI4ubvEXT) (GLuint index, const GLubyte * v); /* 929 */ - void (GLAPIENTRYP VertexAttribI4uiEXT) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 930 */ - void (GLAPIENTRYP VertexAttribI4uivEXT) (GLuint index, const GLuint * v); /* 931 */ - void (GLAPIENTRYP VertexAttribI4usvEXT) (GLuint index, const GLushort * v); /* 932 */ - void (GLAPIENTRYP VertexAttribIPointerEXT) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 933 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 934 */ - void (GLAPIENTRYP ColorMaskIndexedEXT) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 935 */ - void (GLAPIENTRYP DisableIndexedEXT) (GLenum target, GLuint index); /* 936 */ - void (GLAPIENTRYP EnableIndexedEXT) (GLenum target, GLuint index); /* 937 */ - void (GLAPIENTRYP GetBooleanIndexedvEXT) (GLenum value, GLuint index, GLboolean * data); /* 938 */ - void (GLAPIENTRYP GetIntegerIndexedvEXT) (GLenum value, GLuint index, GLint * data); /* 939 */ - GLboolean(GLAPIENTRYP IsEnabledIndexedEXT) (GLenum target, GLuint index); /* 940 */ - void (GLAPIENTRYP ClearColorIiEXT) (GLint r, GLint g, GLint b, GLint a); /* 941 */ - void (GLAPIENTRYP ClearColorIuiEXT) (GLuint r, GLuint g, GLuint b, GLuint a); /* 942 */ - void (GLAPIENTRYP GetTexParameterIivEXT) (GLenum target, GLenum pname, GLint * params); /* 943 */ - void (GLAPIENTRYP GetTexParameterIuivEXT) (GLenum target, GLenum pname, GLuint * params); /* 944 */ - void (GLAPIENTRYP TexParameterIivEXT) (GLenum target, GLenum pname, const GLint * params); /* 945 */ - void (GLAPIENTRYP TexParameterIuivEXT) (GLenum target, GLenum pname, const GLuint * params); /* 946 */ - void (GLAPIENTRYP BeginConditionalRenderNV) (GLuint query, GLenum mode); /* 947 */ - void (GLAPIENTRYP EndConditionalRenderNV) (void); /* 948 */ - void (GLAPIENTRYP BeginTransformFeedbackEXT) (GLenum mode); /* 949 */ - void (GLAPIENTRYP BindBufferBaseEXT) (GLenum target, GLuint index, GLuint buffer); /* 950 */ - void (GLAPIENTRYP BindBufferOffsetEXT) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 951 */ - void (GLAPIENTRYP BindBufferRangeEXT) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 952 */ - void (GLAPIENTRYP EndTransformFeedbackEXT) (void); /* 953 */ - void (GLAPIENTRYP GetTransformFeedbackVaryingEXT) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 954 */ - void (GLAPIENTRYP TransformFeedbackVaryingsEXT) (GLuint program, GLsizei count, const char **varyings, GLenum bufferMode); /* 955 */ - void (GLAPIENTRYP ProvokingVertexEXT) (GLenum mode); /* 956 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE) (GLenum target, GLenum pname, GLvoid ** params); /* 957 */ - void (GLAPIENTRYP TextureRangeAPPLE) (GLenum target, GLsizei length, GLvoid * pointer); /* 958 */ - void (GLAPIENTRYP GetObjectParameterivAPPLE) (GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 959 */ - GLenum(GLAPIENTRYP ObjectPurgeableAPPLE) (GLenum objectType, GLuint name, GLenum option); /* 960 */ - GLenum(GLAPIENTRYP ObjectUnpurgeableAPPLE) (GLenum objectType, GLuint name, GLenum option); /* 961 */ - void (GLAPIENTRYP ActiveProgramEXT) (GLuint program); /* 962 */ - GLuint(GLAPIENTRYP CreateShaderProgramEXT) (GLenum type, const GLchar * string); /* 963 */ - void (GLAPIENTRYP UseShaderProgramEXT) (GLenum type, GLuint program); /* 964 */ - void (GLAPIENTRYP TextureBarrierNV) (void); /* 965 */ - void (GLAPIENTRYP StencilFuncSeparateATI) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 966 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT) (GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 967 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT) (GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 968 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT) (GLuint id, GLenum pname, GLint64EXT * params); /* 969 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT) (GLuint id, GLenum pname, GLuint64EXT * params); /* 970 */ - void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES) (GLenum target, GLvoid * writeOffset); /* 971 */ - void (GLAPIENTRYP EGLImageTargetTexture2DOES) (GLenum target, GLvoid * writeOffset); /* 972 */ -}; - -#endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/xserver/glx/glprocs.h b/xserver/glx/glprocs.h deleted file mode 100644 index 87063642c..000000000 --- a/xserver/glx/glprocs.h +++ /dev/null @@ -1,3534 +0,0 @@ -/* DO NOT EDIT - This file generated automatically by gl_procs.py (from Mesa) script */ - -/* - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. - * (C) Copyright IBM Corporation 2004, 2006 - * 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 - * BRIAN PAUL, IBM, - * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/* This file is only included by glapi.c and is used for - * the GetProcAddress() function - */ - -typedef struct { - GLint Name_offset; -#if defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) - _glapi_proc Address; -#endif - GLuint Offset; -} glprocs_table_t; - -#if !defined(NEED_FUNCTION_POINTER) && !defined(GLX_INDIRECT_RENDERING) -#define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , o } -#elif defined(NEED_FUNCTION_POINTER) && !defined(GLX_INDIRECT_RENDERING) -#define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , (_glapi_proc) f1 , o } -#elif defined(NEED_FUNCTION_POINTER) && defined(GLX_INDIRECT_RENDERING) -#define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , (_glapi_proc) f2 , o } -#elif !defined(NEED_FUNCTION_POINTER) && defined(GLX_INDIRECT_RENDERING) -#define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , (_glapi_proc) f3 , o } -#endif - -static const char gl_string_table[] = - "glNewList\0" - "glEndList\0" - "glCallList\0" - "glCallLists\0" - "glDeleteLists\0" - "glGenLists\0" - "glListBase\0" - "glBegin\0" - "glBitmap\0" - "glColor3b\0" - "glColor3bv\0" - "glColor3d\0" - "glColor3dv\0" - "glColor3f\0" - "glColor3fv\0" - "glColor3i\0" - "glColor3iv\0" - "glColor3s\0" - "glColor3sv\0" - "glColor3ub\0" - "glColor3ubv\0" - "glColor3ui\0" - "glColor3uiv\0" - "glColor3us\0" - "glColor3usv\0" - "glColor4b\0" - "glColor4bv\0" - "glColor4d\0" - "glColor4dv\0" - "glColor4f\0" - "glColor4fv\0" - "glColor4i\0" - "glColor4iv\0" - "glColor4s\0" - "glColor4sv\0" - "glColor4ub\0" - "glColor4ubv\0" - "glColor4ui\0" - "glColor4uiv\0" - "glColor4us\0" - "glColor4usv\0" - "glEdgeFlag\0" - "glEdgeFlagv\0" - "glEnd\0" - "glIndexd\0" - "glIndexdv\0" - "glIndexf\0" - "glIndexfv\0" - "glIndexi\0" - "glIndexiv\0" - "glIndexs\0" - "glIndexsv\0" - "glNormal3b\0" - "glNormal3bv\0" - "glNormal3d\0" - "glNormal3dv\0" - "glNormal3f\0" - "glNormal3fv\0" - "glNormal3i\0" - "glNormal3iv\0" - "glNormal3s\0" - "glNormal3sv\0" - "glRasterPos2d\0" - "glRasterPos2dv\0" - "glRasterPos2f\0" - "glRasterPos2fv\0" - "glRasterPos2i\0" - "glRasterPos2iv\0" - "glRasterPos2s\0" - "glRasterPos2sv\0" - "glRasterPos3d\0" - "glRasterPos3dv\0" - "glRasterPos3f\0" - "glRasterPos3fv\0" - "glRasterPos3i\0" - "glRasterPos3iv\0" - "glRasterPos3s\0" - "glRasterPos3sv\0" - "glRasterPos4d\0" - "glRasterPos4dv\0" - "glRasterPos4f\0" - "glRasterPos4fv\0" - "glRasterPos4i\0" - "glRasterPos4iv\0" - "glRasterPos4s\0" - "glRasterPos4sv\0" - "glRectd\0" - "glRectdv\0" - "glRectf\0" - "glRectfv\0" - "glRecti\0" - "glRectiv\0" - "glRects\0" - "glRectsv\0" - "glTexCoord1d\0" - "glTexCoord1dv\0" - "glTexCoord1f\0" - "glTexCoord1fv\0" - "glTexCoord1i\0" - "glTexCoord1iv\0" - "glTexCoord1s\0" - "glTexCoord1sv\0" - "glTexCoord2d\0" - "glTexCoord2dv\0" - "glTexCoord2f\0" - "glTexCoord2fv\0" - "glTexCoord2i\0" - "glTexCoord2iv\0" - "glTexCoord2s\0" - "glTexCoord2sv\0" - "glTexCoord3d\0" - "glTexCoord3dv\0" - "glTexCoord3f\0" - "glTexCoord3fv\0" - "glTexCoord3i\0" - "glTexCoord3iv\0" - "glTexCoord3s\0" - "glTexCoord3sv\0" - "glTexCoord4d\0" - "glTexCoord4dv\0" - "glTexCoord4f\0" - "glTexCoord4fv\0" - "glTexCoord4i\0" - "glTexCoord4iv\0" - "glTexCoord4s\0" - "glTexCoord4sv\0" - "glVertex2d\0" - "glVertex2dv\0" - "glVertex2f\0" - "glVertex2fv\0" - "glVertex2i\0" - "glVertex2iv\0" - "glVertex2s\0" - "glVertex2sv\0" - "glVertex3d\0" - "glVertex3dv\0" - "glVertex3f\0" - "glVertex3fv\0" - "glVertex3i\0" - "glVertex3iv\0" - "glVertex3s\0" - "glVertex3sv\0" - "glVertex4d\0" - "glVertex4dv\0" - "glVertex4f\0" - "glVertex4fv\0" - "glVertex4i\0" - "glVertex4iv\0" - "glVertex4s\0" - "glVertex4sv\0" - "glClipPlane\0" - "glColorMaterial\0" - "glCullFace\0" - "glFogf\0" - "glFogfv\0" - "glFogi\0" - "glFogiv\0" - "glFrontFace\0" - "glHint\0" - "glLightf\0" - "glLightfv\0" - "glLighti\0" - "glLightiv\0" - "glLightModelf\0" - "glLightModelfv\0" - "glLightModeli\0" - "glLightModeliv\0" - "glLineStipple\0" - "glLineWidth\0" - "glMaterialf\0" - "glMaterialfv\0" - "glMateriali\0" - "glMaterialiv\0" - "glPointSize\0" - "glPolygonMode\0" - "glPolygonStipple\0" - "glScissor\0" - "glShadeModel\0" - "glTexParameterf\0" - "glTexParameterfv\0" - "glTexParameteri\0" - "glTexParameteriv\0" - "glTexImage1D\0" - "glTexImage2D\0" - "glTexEnvf\0" - "glTexEnvfv\0" - "glTexEnvi\0" - "glTexEnviv\0" - "glTexGend\0" - "glTexGendv\0" - "glTexGenf\0" - "glTexGenfv\0" - "glTexGeni\0" - "glTexGeniv\0" - "glFeedbackBuffer\0" - "glSelectBuffer\0" - "glRenderMode\0" - "glInitNames\0" - "glLoadName\0" - "glPassThrough\0" - "glPopName\0" - "glPushName\0" - "glDrawBuffer\0" - "glClear\0" - "glClearAccum\0" - "glClearIndex\0" - "glClearColor\0" - "glClearStencil\0" - "glClearDepth\0" - "glStencilMask\0" - "glColorMask\0" - "glDepthMask\0" - "glIndexMask\0" - "glAccum\0" - "glDisable\0" - "glEnable\0" - "glFinish\0" - "glFlush\0" - "glPopAttrib\0" - "glPushAttrib\0" - "glMap1d\0" - "glMap1f\0" - "glMap2d\0" - "glMap2f\0" - "glMapGrid1d\0" - "glMapGrid1f\0" - "glMapGrid2d\0" - "glMapGrid2f\0" - "glEvalCoord1d\0" - "glEvalCoord1dv\0" - "glEvalCoord1f\0" - "glEvalCoord1fv\0" - "glEvalCoord2d\0" - "glEvalCoord2dv\0" - "glEvalCoord2f\0" - "glEvalCoord2fv\0" - "glEvalMesh1\0" - "glEvalPoint1\0" - "glEvalMesh2\0" - "glEvalPoint2\0" - "glAlphaFunc\0" - "glBlendFunc\0" - "glLogicOp\0" - "glStencilFunc\0" - "glStencilOp\0" - "glDepthFunc\0" - "glPixelZoom\0" - "glPixelTransferf\0" - "glPixelTransferi\0" - "glPixelStoref\0" - "glPixelStorei\0" - "glPixelMapfv\0" - "glPixelMapuiv\0" - "glPixelMapusv\0" - "glReadBuffer\0" - "glCopyPixels\0" - "glReadPixels\0" - "glDrawPixels\0" - "glGetBooleanv\0" - "glGetClipPlane\0" - "glGetDoublev\0" - "glGetError\0" - "glGetFloatv\0" - "glGetIntegerv\0" - "glGetLightfv\0" - "glGetLightiv\0" - "glGetMapdv\0" - "glGetMapfv\0" - "glGetMapiv\0" - "glGetMaterialfv\0" - "glGetMaterialiv\0" - "glGetPixelMapfv\0" - "glGetPixelMapuiv\0" - "glGetPixelMapusv\0" - "glGetPolygonStipple\0" - "glGetString\0" - "glGetTexEnvfv\0" - "glGetTexEnviv\0" - "glGetTexGendv\0" - "glGetTexGenfv\0" - "glGetTexGeniv\0" - "glGetTexImage\0" - "glGetTexParameterfv\0" - "glGetTexParameteriv\0" - "glGetTexLevelParameterfv\0" - "glGetTexLevelParameteriv\0" - "glIsEnabled\0" - "glIsList\0" - "glDepthRange\0" - "glFrustum\0" - "glLoadIdentity\0" - "glLoadMatrixf\0" - "glLoadMatrixd\0" - "glMatrixMode\0" - "glMultMatrixf\0" - "glMultMatrixd\0" - "glOrtho\0" - "glPopMatrix\0" - "glPushMatrix\0" - "glRotated\0" - "glRotatef\0" - "glScaled\0" - "glScalef\0" - "glTranslated\0" - "glTranslatef\0" - "glViewport\0" - "glArrayElement\0" - "glBindTexture\0" - "glColorPointer\0" - "glDisableClientState\0" - "glDrawArrays\0" - "glDrawElements\0" - "glEdgeFlagPointer\0" - "glEnableClientState\0" - "glIndexPointer\0" - "glIndexub\0" - "glIndexubv\0" - "glInterleavedArrays\0" - "glNormalPointer\0" - "glPolygonOffset\0" - "glTexCoordPointer\0" - "glVertexPointer\0" - "glAreTexturesResident\0" - "glCopyTexImage1D\0" - "glCopyTexImage2D\0" - "glCopyTexSubImage1D\0" - "glCopyTexSubImage2D\0" - "glDeleteTextures\0" - "glGenTextures\0" - "glGetPointerv\0" - "glIsTexture\0" - "glPrioritizeTextures\0" - "glTexSubImage1D\0" - "glTexSubImage2D\0" - "glPopClientAttrib\0" - "glPushClientAttrib\0" - "glBlendColor\0" - "glBlendEquation\0" - "glDrawRangeElements\0" - "glColorTable\0" - "glColorTableParameterfv\0" - "glColorTableParameteriv\0" - "glCopyColorTable\0" - "glGetColorTable\0" - "glGetColorTableParameterfv\0" - "glGetColorTableParameteriv\0" - "glColorSubTable\0" - "glCopyColorSubTable\0" - "glConvolutionFilter1D\0" - "glConvolutionFilter2D\0" - "glConvolutionParameterf\0" - "glConvolutionParameterfv\0" - "glConvolutionParameteri\0" - "glConvolutionParameteriv\0" - "glCopyConvolutionFilter1D\0" - "glCopyConvolutionFilter2D\0" - "glGetConvolutionFilter\0" - "glGetConvolutionParameterfv\0" - "glGetConvolutionParameteriv\0" - "glGetSeparableFilter\0" - "glSeparableFilter2D\0" - "glGetHistogram\0" - "glGetHistogramParameterfv\0" - "glGetHistogramParameteriv\0" - "glGetMinmax\0" - "glGetMinmaxParameterfv\0" - "glGetMinmaxParameteriv\0" - "glHistogram\0" - "glMinmax\0" - "glResetHistogram\0" - "glResetMinmax\0" - "glTexImage3D\0" - "glTexSubImage3D\0" - "glCopyTexSubImage3D\0" - "glActiveTextureARB\0" - "glClientActiveTextureARB\0" - "glMultiTexCoord1dARB\0" - "glMultiTexCoord1dvARB\0" - "glMultiTexCoord1fARB\0" - "glMultiTexCoord1fvARB\0" - "glMultiTexCoord1iARB\0" - "glMultiTexCoord1ivARB\0" - "glMultiTexCoord1sARB\0" - "glMultiTexCoord1svARB\0" - "glMultiTexCoord2dARB\0" - "glMultiTexCoord2dvARB\0" - "glMultiTexCoord2fARB\0" - "glMultiTexCoord2fvARB\0" - "glMultiTexCoord2iARB\0" - "glMultiTexCoord2ivARB\0" - "glMultiTexCoord2sARB\0" - "glMultiTexCoord2svARB\0" - "glMultiTexCoord3dARB\0" - "glMultiTexCoord3dvARB\0" - "glMultiTexCoord3fARB\0" - "glMultiTexCoord3fvARB\0" - "glMultiTexCoord3iARB\0" - "glMultiTexCoord3ivARB\0" - "glMultiTexCoord3sARB\0" - "glMultiTexCoord3svARB\0" - "glMultiTexCoord4dARB\0" - "glMultiTexCoord4dvARB\0" - "glMultiTexCoord4fARB\0" - "glMultiTexCoord4fvARB\0" - "glMultiTexCoord4iARB\0" - "glMultiTexCoord4ivARB\0" - "glMultiTexCoord4sARB\0" - "glMultiTexCoord4svARB\0" - "glAttachShader\0" - "glCreateProgram\0" - "glCreateShader\0" - "glDeleteProgram\0" - "glDeleteShader\0" - "glDetachShader\0" - "glGetAttachedShaders\0" - "glGetProgramInfoLog\0" - "glGetProgramiv\0" - "glGetShaderInfoLog\0" - "glGetShaderiv\0" - "glIsProgram\0" - "glIsShader\0" - "glStencilFuncSeparate\0" - "glStencilMaskSeparate\0" - "glStencilOpSeparate\0" - "glUniformMatrix2x3fv\0" - "glUniformMatrix2x4fv\0" - "glUniformMatrix3x2fv\0" - "glUniformMatrix3x4fv\0" - "glUniformMatrix4x2fv\0" - "glUniformMatrix4x3fv\0" - "glClampColor\0" - "glClearBufferfi\0" - "glClearBufferfv\0" - "glClearBufferiv\0" - "glClearBufferuiv\0" - "glGetStringi\0" - "glTexBuffer\0" - "glFramebufferTexture\0" - "glGetBufferParameteri64v\0" - "glGetInteger64i_v\0" - "glVertexAttribDivisor\0" - "glLoadTransposeMatrixdARB\0" - "glLoadTransposeMatrixfARB\0" - "glMultTransposeMatrixdARB\0" - "glMultTransposeMatrixfARB\0" - "glSampleCoverageARB\0" - "glCompressedTexImage1DARB\0" - "glCompressedTexImage2DARB\0" - "glCompressedTexImage3DARB\0" - "glCompressedTexSubImage1DARB\0" - "glCompressedTexSubImage2DARB\0" - "glCompressedTexSubImage3DARB\0" - "glGetCompressedTexImageARB\0" - "glDisableVertexAttribArrayARB\0" - "glEnableVertexAttribArrayARB\0" - "glGetProgramEnvParameterdvARB\0" - "glGetProgramEnvParameterfvARB\0" - "glGetProgramLocalParameterdvARB\0" - "glGetProgramLocalParameterfvARB\0" - "glGetProgramStringARB\0" - "glGetProgramivARB\0" - "glGetVertexAttribdvARB\0" - "glGetVertexAttribfvARB\0" - "glGetVertexAttribivARB\0" - "glProgramEnvParameter4dARB\0" - "glProgramEnvParameter4dvARB\0" - "glProgramEnvParameter4fARB\0" - "glProgramEnvParameter4fvARB\0" - "glProgramLocalParameter4dARB\0" - "glProgramLocalParameter4dvARB\0" - "glProgramLocalParameter4fARB\0" - "glProgramLocalParameter4fvARB\0" - "glProgramStringARB\0" - "glVertexAttrib1dARB\0" - "glVertexAttrib1dvARB\0" - "glVertexAttrib1fARB\0" - "glVertexAttrib1fvARB\0" - "glVertexAttrib1sARB\0" - "glVertexAttrib1svARB\0" - "glVertexAttrib2dARB\0" - "glVertexAttrib2dvARB\0" - "glVertexAttrib2fARB\0" - "glVertexAttrib2fvARB\0" - "glVertexAttrib2sARB\0" - "glVertexAttrib2svARB\0" - "glVertexAttrib3dARB\0" - "glVertexAttrib3dvARB\0" - "glVertexAttrib3fARB\0" - "glVertexAttrib3fvARB\0" - "glVertexAttrib3sARB\0" - "glVertexAttrib3svARB\0" - "glVertexAttrib4NbvARB\0" - "glVertexAttrib4NivARB\0" - "glVertexAttrib4NsvARB\0" - "glVertexAttrib4NubARB\0" - "glVertexAttrib4NubvARB\0" - "glVertexAttrib4NuivARB\0" - "glVertexAttrib4NusvARB\0" - "glVertexAttrib4bvARB\0" - "glVertexAttrib4dARB\0" - "glVertexAttrib4dvARB\0" - "glVertexAttrib4fARB\0" - "glVertexAttrib4fvARB\0" - "glVertexAttrib4ivARB\0" - "glVertexAttrib4sARB\0" - "glVertexAttrib4svARB\0" - "glVertexAttrib4ubvARB\0" - "glVertexAttrib4uivARB\0" - "glVertexAttrib4usvARB\0" - "glVertexAttribPointerARB\0" - "glBindBufferARB\0" - "glBufferDataARB\0" - "glBufferSubDataARB\0" - "glDeleteBuffersARB\0" - "glGenBuffersARB\0" - "glGetBufferParameterivARB\0" - "glGetBufferPointervARB\0" - "glGetBufferSubDataARB\0" - "glIsBufferARB\0" - "glMapBufferARB\0" - "glUnmapBufferARB\0" - "glBeginQueryARB\0" - "glDeleteQueriesARB\0" - "glEndQueryARB\0" - "glGenQueriesARB\0" - "glGetQueryObjectivARB\0" - "glGetQueryObjectuivARB\0" - "glGetQueryivARB\0" - "glIsQueryARB\0" - "glAttachObjectARB\0" - "glCompileShaderARB\0" - "glCreateProgramObjectARB\0" - "glCreateShaderObjectARB\0" - "glDeleteObjectARB\0" - "glDetachObjectARB\0" - "glGetActiveUniformARB\0" - "glGetAttachedObjectsARB\0" - "glGetHandleARB\0" - "glGetInfoLogARB\0" - "glGetObjectParameterfvARB\0" - "glGetObjectParameterivARB\0" - "glGetShaderSourceARB\0" - "glGetUniformLocationARB\0" - "glGetUniformfvARB\0" - "glGetUniformivARB\0" - "glLinkProgramARB\0" - "glShaderSourceARB\0" - "glUniform1fARB\0" - "glUniform1fvARB\0" - "glUniform1iARB\0" - "glUniform1ivARB\0" - "glUniform2fARB\0" - "glUniform2fvARB\0" - "glUniform2iARB\0" - "glUniform2ivARB\0" - "glUniform3fARB\0" - "glUniform3fvARB\0" - "glUniform3iARB\0" - "glUniform3ivARB\0" - "glUniform4fARB\0" - "glUniform4fvARB\0" - "glUniform4iARB\0" - "glUniform4ivARB\0" - "glUniformMatrix2fvARB\0" - "glUniformMatrix3fvARB\0" - "glUniformMatrix4fvARB\0" - "glUseProgramObjectARB\0" - "glValidateProgramARB\0" - "glBindAttribLocationARB\0" - "glGetActiveAttribARB\0" - "glGetAttribLocationARB\0" - "glDrawBuffersARB\0" - "glClampColorARB\0" - "glDrawArraysInstancedARB\0" - "glDrawElementsInstancedARB\0" - "glRenderbufferStorageMultisample\0" - "glFramebufferTextureARB\0" - "glFramebufferTextureFaceARB\0" - "glProgramParameteriARB\0" - "glVertexAttribDivisorARB\0" - "glFlushMappedBufferRange\0" - "glMapBufferRange\0" - "glTexBufferARB\0" - "glBindVertexArray\0" - "glGenVertexArrays\0" - "glCopyBufferSubData\0" - "glClientWaitSync\0" - "glDeleteSync\0" - "glFenceSync\0" - "glGetInteger64v\0" - "glGetSynciv\0" - "glIsSync\0" - "glWaitSync\0" - "glDrawElementsBaseVertex\0" - "glDrawElementsInstancedBaseVertex\0" - "glDrawRangeElementsBaseVertex\0" - "glMultiDrawElementsBaseVertex\0" - "glBlendEquationSeparateiARB\0" - "glBlendEquationiARB\0" - "glBlendFuncSeparateiARB\0" - "glBlendFunciARB\0" - "glBindSampler\0" - "glDeleteSamplers\0" - "glGenSamplers\0" - "glGetSamplerParameterIiv\0" - "glGetSamplerParameterIuiv\0" - "glGetSamplerParameterfv\0" - "glGetSamplerParameteriv\0" - "glIsSampler\0" - "glSamplerParameterIiv\0" - "glSamplerParameterIuiv\0" - "glSamplerParameterf\0" - "glSamplerParameterfv\0" - "glSamplerParameteri\0" - "glSamplerParameteriv\0" - "glColorP3ui\0" - "glColorP3uiv\0" - "glColorP4ui\0" - "glColorP4uiv\0" - "glMultiTexCoordP1ui\0" - "glMultiTexCoordP1uiv\0" - "glMultiTexCoordP2ui\0" - "glMultiTexCoordP2uiv\0" - "glMultiTexCoordP3ui\0" - "glMultiTexCoordP3uiv\0" - "glMultiTexCoordP4ui\0" - "glMultiTexCoordP4uiv\0" - "glNormalP3ui\0" - "glNormalP3uiv\0" - "glSecondaryColorP3ui\0" - "glSecondaryColorP3uiv\0" - "glTexCoordP1ui\0" - "glTexCoordP1uiv\0" - "glTexCoordP2ui\0" - "glTexCoordP2uiv\0" - "glTexCoordP3ui\0" - "glTexCoordP3uiv\0" - "glTexCoordP4ui\0" - "glTexCoordP4uiv\0" - "glVertexAttribP1ui\0" - "glVertexAttribP1uiv\0" - "glVertexAttribP2ui\0" - "glVertexAttribP2uiv\0" - "glVertexAttribP3ui\0" - "glVertexAttribP3uiv\0" - "glVertexAttribP4ui\0" - "glVertexAttribP4uiv\0" - "glVertexP2ui\0" - "glVertexP2uiv\0" - "glVertexP3ui\0" - "glVertexP3uiv\0" - "glVertexP4ui\0" - "glVertexP4uiv\0" - "glBindTransformFeedback\0" - "glDeleteTransformFeedbacks\0" - "glDrawTransformFeedback\0" - "glGenTransformFeedbacks\0" - "glIsTransformFeedback\0" - "glPauseTransformFeedback\0" - "glResumeTransformFeedback\0" - "glClearDepthf\0" - "glDepthRangef\0" - "glGetShaderPrecisionFormat\0" - "glReleaseShaderCompiler\0" - "glShaderBinary\0" - "glGetGraphicsResetStatusARB\0" - "glGetnColorTableARB\0" - "glGetnCompressedTexImageARB\0" - "glGetnConvolutionFilterARB\0" - "glGetnHistogramARB\0" - "glGetnMapdvARB\0" - "glGetnMapfvARB\0" - "glGetnMapivARB\0" - "glGetnMinmaxARB\0" - "glGetnPixelMapfvARB\0" - "glGetnPixelMapuivARB\0" - "glGetnPixelMapusvARB\0" - "glGetnPolygonStippleARB\0" - "glGetnSeparableFilterARB\0" - "glGetnTexImageARB\0" - "glGetnUniformdvARB\0" - "glGetnUniformfvARB\0" - "glGetnUniformivARB\0" - "glGetnUniformuivARB\0" - "glReadnPixelsARB\0" - "glTexStorage1D\0" - "glTexStorage2D\0" - "glTexStorage3D\0" - "glTextureStorage1DEXT\0" - "glTextureStorage2DEXT\0" - "glTextureStorage3DEXT\0" - "glPolygonOffsetEXT\0" - "glGetPixelTexGenParameterfvSGIS\0" - "glGetPixelTexGenParameterivSGIS\0" - "glPixelTexGenParameterfSGIS\0" - "glPixelTexGenParameterfvSGIS\0" - "glPixelTexGenParameteriSGIS\0" - "glPixelTexGenParameterivSGIS\0" - "glSampleMaskSGIS\0" - "glSamplePatternSGIS\0" - "glColorPointerEXT\0" - "glEdgeFlagPointerEXT\0" - "glIndexPointerEXT\0" - "glNormalPointerEXT\0" - "glTexCoordPointerEXT\0" - "glVertexPointerEXT\0" - "glPointParameterfEXT\0" - "glPointParameterfvEXT\0" - "glLockArraysEXT\0" - "glUnlockArraysEXT\0" - "glSecondaryColor3bEXT\0" - "glSecondaryColor3bvEXT\0" - "glSecondaryColor3dEXT\0" - "glSecondaryColor3dvEXT\0" - "glSecondaryColor3fEXT\0" - "glSecondaryColor3fvEXT\0" - "glSecondaryColor3iEXT\0" - "glSecondaryColor3ivEXT\0" - "glSecondaryColor3sEXT\0" - "glSecondaryColor3svEXT\0" - "glSecondaryColor3ubEXT\0" - "glSecondaryColor3ubvEXT\0" - "glSecondaryColor3uiEXT\0" - "glSecondaryColor3uivEXT\0" - "glSecondaryColor3usEXT\0" - "glSecondaryColor3usvEXT\0" - "glSecondaryColorPointerEXT\0" - "glMultiDrawArraysEXT\0" - "glMultiDrawElementsEXT\0" - "glFogCoordPointerEXT\0" - "glFogCoorddEXT\0" - "glFogCoorddvEXT\0" - "glFogCoordfEXT\0" - "glFogCoordfvEXT\0" - "glPixelTexGenSGIX\0" - "glBlendFuncSeparateEXT\0" - "glFlushVertexArrayRangeNV\0" - "glVertexArrayRangeNV\0" - "glCombinerInputNV\0" - "glCombinerOutputNV\0" - "glCombinerParameterfNV\0" - "glCombinerParameterfvNV\0" - "glCombinerParameteriNV\0" - "glCombinerParameterivNV\0" - "glFinalCombinerInputNV\0" - "glGetCombinerInputParameterfvNV\0" - "glGetCombinerInputParameterivNV\0" - "glGetCombinerOutputParameterfvNV\0" - "glGetCombinerOutputParameterivNV\0" - "glGetFinalCombinerInputParameterfvNV\0" - "glGetFinalCombinerInputParameterivNV\0" - "glResizeBuffersMESA\0" - "glWindowPos2dMESA\0" - "glWindowPos2dvMESA\0" - "glWindowPos2fMESA\0" - "glWindowPos2fvMESA\0" - "glWindowPos2iMESA\0" - "glWindowPos2ivMESA\0" - "glWindowPos2sMESA\0" - "glWindowPos2svMESA\0" - "glWindowPos3dMESA\0" - "glWindowPos3dvMESA\0" - "glWindowPos3fMESA\0" - "glWindowPos3fvMESA\0" - "glWindowPos3iMESA\0" - "glWindowPos3ivMESA\0" - "glWindowPos3sMESA\0" - "glWindowPos3svMESA\0" - "glWindowPos4dMESA\0" - "glWindowPos4dvMESA\0" - "glWindowPos4fMESA\0" - "glWindowPos4fvMESA\0" - "glWindowPos4iMESA\0" - "glWindowPos4ivMESA\0" - "glWindowPos4sMESA\0" - "glWindowPos4svMESA\0" - "glMultiModeDrawArraysIBM\0" - "glMultiModeDrawElementsIBM\0" - "glDeleteFencesNV\0" - "glFinishFenceNV\0" - "glGenFencesNV\0" - "glGetFenceivNV\0" - "glIsFenceNV\0" - "glSetFenceNV\0" - "glTestFenceNV\0" - "glAreProgramsResidentNV\0" - "glBindProgramNV\0" - "glDeleteProgramsNV\0" - "glExecuteProgramNV\0" - "glGenProgramsNV\0" - "glGetProgramParameterdvNV\0" - "glGetProgramParameterfvNV\0" - "glGetProgramStringNV\0" - "glGetProgramivNV\0" - "glGetTrackMatrixivNV\0" - "glGetVertexAttribPointervNV\0" - "glGetVertexAttribdvNV\0" - "glGetVertexAttribfvNV\0" - "glGetVertexAttribivNV\0" - "glIsProgramNV\0" - "glLoadProgramNV\0" - "glProgramParameters4dvNV\0" - "glProgramParameters4fvNV\0" - "glRequestResidentProgramsNV\0" - "glTrackMatrixNV\0" - "glVertexAttrib1dNV\0" - "glVertexAttrib1dvNV\0" - "glVertexAttrib1fNV\0" - "glVertexAttrib1fvNV\0" - "glVertexAttrib1sNV\0" - "glVertexAttrib1svNV\0" - "glVertexAttrib2dNV\0" - "glVertexAttrib2dvNV\0" - "glVertexAttrib2fNV\0" - "glVertexAttrib2fvNV\0" - "glVertexAttrib2sNV\0" - "glVertexAttrib2svNV\0" - "glVertexAttrib3dNV\0" - "glVertexAttrib3dvNV\0" - "glVertexAttrib3fNV\0" - "glVertexAttrib3fvNV\0" - "glVertexAttrib3sNV\0" - "glVertexAttrib3svNV\0" - "glVertexAttrib4dNV\0" - "glVertexAttrib4dvNV\0" - "glVertexAttrib4fNV\0" - "glVertexAttrib4fvNV\0" - "glVertexAttrib4sNV\0" - "glVertexAttrib4svNV\0" - "glVertexAttrib4ubNV\0" - "glVertexAttrib4ubvNV\0" - "glVertexAttribPointerNV\0" - "glVertexAttribs1dvNV\0" - "glVertexAttribs1fvNV\0" - "glVertexAttribs1svNV\0" - "glVertexAttribs2dvNV\0" - "glVertexAttribs2fvNV\0" - "glVertexAttribs2svNV\0" - "glVertexAttribs3dvNV\0" - "glVertexAttribs3fvNV\0" - "glVertexAttribs3svNV\0" - "glVertexAttribs4dvNV\0" - "glVertexAttribs4fvNV\0" - "glVertexAttribs4svNV\0" - "glVertexAttribs4ubvNV\0" - "glGetTexBumpParameterfvATI\0" - "glGetTexBumpParameterivATI\0" - "glTexBumpParameterfvATI\0" - "glTexBumpParameterivATI\0" - "glAlphaFragmentOp1ATI\0" - "glAlphaFragmentOp2ATI\0" - "glAlphaFragmentOp3ATI\0" - "glBeginFragmentShaderATI\0" - "glBindFragmentShaderATI\0" - "glColorFragmentOp1ATI\0" - "glColorFragmentOp2ATI\0" - "glColorFragmentOp3ATI\0" - "glDeleteFragmentShaderATI\0" - "glEndFragmentShaderATI\0" - "glGenFragmentShadersATI\0" - "glPassTexCoordATI\0" - "glSampleMapATI\0" - "glSetFragmentShaderConstantATI\0" - "glPointParameteriNV\0" - "glPointParameterivNV\0" - "glActiveStencilFaceEXT\0" - "glBindVertexArrayAPPLE\0" - "glDeleteVertexArraysAPPLE\0" - "glGenVertexArraysAPPLE\0" - "glIsVertexArrayAPPLE\0" - "glGetProgramNamedParameterdvNV\0" - "glGetProgramNamedParameterfvNV\0" - "glProgramNamedParameter4dNV\0" - "glProgramNamedParameter4dvNV\0" - "glProgramNamedParameter4fNV\0" - "glProgramNamedParameter4fvNV\0" - "glPrimitiveRestartIndexNV\0" - "glPrimitiveRestartNV\0" - "glDepthBoundsEXT\0" - "glBlendEquationSeparateEXT\0" - "glBindFramebufferEXT\0" - "glBindRenderbufferEXT\0" - "glCheckFramebufferStatusEXT\0" - "glDeleteFramebuffersEXT\0" - "glDeleteRenderbuffersEXT\0" - "glFramebufferRenderbufferEXT\0" - "glFramebufferTexture1DEXT\0" - "glFramebufferTexture2DEXT\0" - "glFramebufferTexture3DEXT\0" - "glGenFramebuffersEXT\0" - "glGenRenderbuffersEXT\0" - "glGenerateMipmapEXT\0" - "glGetFramebufferAttachmentParameterivEXT\0" - "glGetRenderbufferParameterivEXT\0" - "glIsFramebufferEXT\0" - "glIsRenderbufferEXT\0" - "glRenderbufferStorageEXT\0" - "glBlitFramebufferEXT\0" - "glBufferParameteriAPPLE\0" - "glFlushMappedBufferRangeAPPLE\0" - "glBindFragDataLocationEXT\0" - "glGetFragDataLocationEXT\0" - "glGetUniformuivEXT\0" - "glGetVertexAttribIivEXT\0" - "glGetVertexAttribIuivEXT\0" - "glUniform1uiEXT\0" - "glUniform1uivEXT\0" - "glUniform2uiEXT\0" - "glUniform2uivEXT\0" - "glUniform3uiEXT\0" - "glUniform3uivEXT\0" - "glUniform4uiEXT\0" - "glUniform4uivEXT\0" - "glVertexAttribI1iEXT\0" - "glVertexAttribI1ivEXT\0" - "glVertexAttribI1uiEXT\0" - "glVertexAttribI1uivEXT\0" - "glVertexAttribI2iEXT\0" - "glVertexAttribI2ivEXT\0" - "glVertexAttribI2uiEXT\0" - "glVertexAttribI2uivEXT\0" - "glVertexAttribI3iEXT\0" - "glVertexAttribI3ivEXT\0" - "glVertexAttribI3uiEXT\0" - "glVertexAttribI3uivEXT\0" - "glVertexAttribI4bvEXT\0" - "glVertexAttribI4iEXT\0" - "glVertexAttribI4ivEXT\0" - "glVertexAttribI4svEXT\0" - "glVertexAttribI4ubvEXT\0" - "glVertexAttribI4uiEXT\0" - "glVertexAttribI4uivEXT\0" - "glVertexAttribI4usvEXT\0" - "glVertexAttribIPointerEXT\0" - "glFramebufferTextureLayerEXT\0" - "glColorMaskIndexedEXT\0" - "glDisableIndexedEXT\0" - "glEnableIndexedEXT\0" - "glGetBooleanIndexedvEXT\0" - "glGetIntegerIndexedvEXT\0" - "glIsEnabledIndexedEXT\0" - "glClearColorIiEXT\0" - "glClearColorIuiEXT\0" - "glGetTexParameterIivEXT\0" - "glGetTexParameterIuivEXT\0" - "glTexParameterIivEXT\0" - "glTexParameterIuivEXT\0" - "glBeginConditionalRenderNV\0" - "glEndConditionalRenderNV\0" - "glBeginTransformFeedbackEXT\0" - "glBindBufferBaseEXT\0" - "glBindBufferOffsetEXT\0" - "glBindBufferRangeEXT\0" - "glEndTransformFeedbackEXT\0" - "glGetTransformFeedbackVaryingEXT\0" - "glTransformFeedbackVaryingsEXT\0" - "glProvokingVertexEXT\0" - "glGetTexParameterPointervAPPLE\0" - "glTextureRangeAPPLE\0" - "glGetObjectParameterivAPPLE\0" - "glObjectPurgeableAPPLE\0" - "glObjectUnpurgeableAPPLE\0" - "glActiveProgramEXT\0" - "glCreateShaderProgramEXT\0" - "glUseShaderProgramEXT\0" - "glTextureBarrierNV\0" - "glStencilFuncSeparateATI\0" - "glProgramEnvParameters4fvEXT\0" - "glProgramLocalParameters4fvEXT\0" - "glGetQueryObjecti64vEXT\0" - "glGetQueryObjectui64vEXT\0" - "glEGLImageTargetRenderbufferStorageOES\0" - "glEGLImageTargetTexture2DOES\0" - "glArrayElementEXT\0" - "glBindTextureEXT\0" - "glDrawArraysEXT\0" - "glAreTexturesResidentEXT\0" - "glCopyTexImage1DEXT\0" - "glCopyTexImage2DEXT\0" - "glCopyTexSubImage1DEXT\0" - "glCopyTexSubImage2DEXT\0" - "glDeleteTexturesEXT\0" - "glGenTexturesEXT\0" - "glGetPointervEXT\0" - "glIsTextureEXT\0" - "glPrioritizeTexturesEXT\0" - "glTexSubImage1DEXT\0" - "glTexSubImage2DEXT\0" - "glBlendColorEXT\0" - "glBlendEquationEXT\0" - "glDrawRangeElementsEXT\0" - "glColorTableSGI\0" - "glColorTableEXT\0" - "glColorTableParameterfvSGI\0" - "glColorTableParameterivSGI\0" - "glCopyColorTableSGI\0" - "glGetColorTableSGI\0" - "glGetColorTableEXT\0" - "glGetColorTableParameterfvSGI\0" - "glGetColorTableParameterfvEXT\0" - "glGetColorTableParameterivSGI\0" - "glGetColorTableParameterivEXT\0" - "glColorSubTableEXT\0" - "glCopyColorSubTableEXT\0" - "glConvolutionFilter1DEXT\0" - "glConvolutionFilter2DEXT\0" - "glConvolutionParameterfEXT\0" - "glConvolutionParameterfvEXT\0" - "glConvolutionParameteriEXT\0" - "glConvolutionParameterivEXT\0" - "glCopyConvolutionFilter1DEXT\0" - "glCopyConvolutionFilter2DEXT\0" - "glGetConvolutionFilterEXT\0" - "glGetConvolutionParameterfvEXT\0" - "glGetConvolutionParameterivEXT\0" - "glGetSeparableFilterEXT\0" - "glSeparableFilter2DEXT\0" - "glGetHistogramEXT\0" - "glGetHistogramParameterfvEXT\0" - "glGetHistogramParameterivEXT\0" - "glGetMinmaxEXT\0" - "glGetMinmaxParameterfvEXT\0" - "glGetMinmaxParameterivEXT\0" - "glHistogramEXT\0" - "glMinmaxEXT\0" - "glResetHistogramEXT\0" - "glResetMinmaxEXT\0" - "glTexImage3DEXT\0" - "glTexSubImage3DEXT\0" - "glCopyTexSubImage3DEXT\0" - "glActiveTexture\0" - "glClientActiveTexture\0" - "glMultiTexCoord1d\0" - "glMultiTexCoord1dv\0" - "glMultiTexCoord1f\0" - "glMultiTexCoord1fv\0" - "glMultiTexCoord1i\0" - "glMultiTexCoord1iv\0" - "glMultiTexCoord1s\0" - "glMultiTexCoord1sv\0" - "glMultiTexCoord2d\0" - "glMultiTexCoord2dv\0" - "glMultiTexCoord2f\0" - "glMultiTexCoord2fv\0" - "glMultiTexCoord2i\0" - "glMultiTexCoord2iv\0" - "glMultiTexCoord2s\0" - "glMultiTexCoord2sv\0" - "glMultiTexCoord3d\0" - "glMultiTexCoord3dv\0" - "glMultiTexCoord3f\0" - "glMultiTexCoord3fv\0" - "glMultiTexCoord3i\0" - "glMultiTexCoord3iv\0" - "glMultiTexCoord3s\0" - "glMultiTexCoord3sv\0" - "glMultiTexCoord4d\0" - "glMultiTexCoord4dv\0" - "glMultiTexCoord4f\0" - "glMultiTexCoord4fv\0" - "glMultiTexCoord4i\0" - "glMultiTexCoord4iv\0" - "glMultiTexCoord4s\0" - "glMultiTexCoord4sv\0" - "glStencilOpSeparateATI\0" - "glLoadTransposeMatrixd\0" - "glLoadTransposeMatrixf\0" - "glMultTransposeMatrixd\0" - "glMultTransposeMatrixf\0" - "glSampleCoverage\0" - "glCompressedTexImage1D\0" - "glCompressedTexImage2D\0" - "glCompressedTexImage3D\0" - "glCompressedTexSubImage1D\0" - "glCompressedTexSubImage2D\0" - "glCompressedTexSubImage3D\0" - "glGetCompressedTexImage\0" - "glDisableVertexAttribArray\0" - "glEnableVertexAttribArray\0" - "glGetVertexAttribdv\0" - "glGetVertexAttribfv\0" - "glGetVertexAttribiv\0" - "glProgramParameter4dNV\0" - "glProgramParameter4dvNV\0" - "glProgramParameter4fNV\0" - "glProgramParameter4fvNV\0" - "glVertexAttrib1d\0" - "glVertexAttrib1dv\0" - "glVertexAttrib1f\0" - "glVertexAttrib1fv\0" - "glVertexAttrib1s\0" - "glVertexAttrib1sv\0" - "glVertexAttrib2d\0" - "glVertexAttrib2dv\0" - "glVertexAttrib2f\0" - "glVertexAttrib2fv\0" - "glVertexAttrib2s\0" - "glVertexAttrib2sv\0" - "glVertexAttrib3d\0" - "glVertexAttrib3dv\0" - "glVertexAttrib3f\0" - "glVertexAttrib3fv\0" - "glVertexAttrib3s\0" - "glVertexAttrib3sv\0" - "glVertexAttrib4Nbv\0" - "glVertexAttrib4Niv\0" - "glVertexAttrib4Nsv\0" - "glVertexAttrib4Nub\0" - "glVertexAttrib4Nubv\0" - "glVertexAttrib4Nuiv\0" - "glVertexAttrib4Nusv\0" - "glVertexAttrib4bv\0" - "glVertexAttrib4d\0" - "glVertexAttrib4dv\0" - "glVertexAttrib4f\0" - "glVertexAttrib4fv\0" - "glVertexAttrib4iv\0" - "glVertexAttrib4s\0" - "glVertexAttrib4sv\0" - "glVertexAttrib4ubv\0" - "glVertexAttrib4uiv\0" - "glVertexAttrib4usv\0" - "glVertexAttribPointer\0" - "glBindBuffer\0" - "glBufferData\0" - "glBufferSubData\0" - "glDeleteBuffers\0" - "glGenBuffers\0" - "glGetBufferParameteriv\0" - "glGetBufferPointerv\0" - "glGetBufferSubData\0" - "glIsBuffer\0" - "glMapBuffer\0" - "glUnmapBuffer\0" - "glBeginQuery\0" - "glDeleteQueries\0" - "glEndQuery\0" - "glGenQueries\0" - "glGetQueryObjectiv\0" - "glGetQueryObjectuiv\0" - "glGetQueryiv\0" - "glIsQuery\0" - "glCompileShader\0" - "glGetActiveUniform\0" - "glGetShaderSource\0" - "glGetUniformLocation\0" - "glGetUniformfv\0" - "glGetUniformiv\0" - "glLinkProgram\0" - "glShaderSource\0" - "glUniform1f\0" - "glUniform1fv\0" - "glUniform1i\0" - "glUniform1iv\0" - "glUniform2f\0" - "glUniform2fv\0" - "glUniform2i\0" - "glUniform2iv\0" - "glUniform3f\0" - "glUniform3fv\0" - "glUniform3i\0" - "glUniform3iv\0" - "glUniform4f\0" - "glUniform4fv\0" - "glUniform4i\0" - "glUniform4iv\0" - "glUniformMatrix2fv\0" - "glUniformMatrix3fv\0" - "glUniformMatrix4fv\0" - "glUseProgram\0" - "glValidateProgram\0" - "glBindAttribLocation\0" - "glGetActiveAttrib\0" - "glGetAttribLocation\0" - "glDrawBuffers\0" - "glDrawBuffersATI\0" - "glDrawBuffersNV\0" - "glDrawArraysInstancedEXT\0" - "glDrawArraysInstanced\0" - "glDrawElementsInstancedEXT\0" - "glDrawElementsInstanced\0" - "glRenderbufferStorageMultisampleEXT\0" - "glBlendEquationSeparateIndexedAMD\0" - "glBlendEquationIndexedAMD\0" - "glBlendFuncSeparateIndexedAMD\0" - "glBlendFuncIndexedAMD\0" - "glSampleMaskEXT\0" - "glSamplePatternEXT\0" - "glPointParameterf\0" - "glPointParameterfARB\0" - "glPointParameterfSGIS\0" - "glPointParameterfv\0" - "glPointParameterfvARB\0" - "glPointParameterfvSGIS\0" - "glSecondaryColor3b\0" - "glSecondaryColor3bv\0" - "glSecondaryColor3d\0" - "glSecondaryColor3dv\0" - "glSecondaryColor3f\0" - "glSecondaryColor3fv\0" - "glSecondaryColor3i\0" - "glSecondaryColor3iv\0" - "glSecondaryColor3s\0" - "glSecondaryColor3sv\0" - "glSecondaryColor3ub\0" - "glSecondaryColor3ubv\0" - "glSecondaryColor3ui\0" - "glSecondaryColor3uiv\0" - "glSecondaryColor3us\0" - "glSecondaryColor3usv\0" - "glSecondaryColorPointer\0" - "glMultiDrawArrays\0" - "glMultiDrawElements\0" - "glFogCoordPointer\0" - "glFogCoordd\0" - "glFogCoorddv\0" - "glFogCoordf\0" - "glFogCoordfv\0" - "glBlendFuncSeparate\0" - "glBlendFuncSeparateINGR\0" - "glWindowPos2d\0" - "glWindowPos2dARB\0" - "glWindowPos2dv\0" - "glWindowPos2dvARB\0" - "glWindowPos2f\0" - "glWindowPos2fARB\0" - "glWindowPos2fv\0" - "glWindowPos2fvARB\0" - "glWindowPos2i\0" - "glWindowPos2iARB\0" - "glWindowPos2iv\0" - "glWindowPos2ivARB\0" - "glWindowPos2s\0" - "glWindowPos2sARB\0" - "glWindowPos2sv\0" - "glWindowPos2svARB\0" - "glWindowPos3d\0" - "glWindowPos3dARB\0" - "glWindowPos3dv\0" - "glWindowPos3dvARB\0" - "glWindowPos3f\0" - "glWindowPos3fARB\0" - "glWindowPos3fv\0" - "glWindowPos3fvARB\0" - "glWindowPos3i\0" - "glWindowPos3iARB\0" - "glWindowPos3iv\0" - "glWindowPos3ivARB\0" - "glWindowPos3s\0" - "glWindowPos3sARB\0" - "glWindowPos3sv\0" - "glWindowPos3svARB\0" - "glBindProgramARB\0" - "glDeleteProgramsARB\0" - "glGenProgramsARB\0" - "glGetVertexAttribPointerv\0" - "glGetVertexAttribPointervARB\0" - "glIsProgramARB\0" - "glPointParameteri\0" - "glPointParameteriv\0" - "glDeleteVertexArrays\0" - "glIsVertexArray\0" - "glPrimitiveRestartIndex\0" - "glBlendEquationSeparate\0" - "glBlendEquationSeparateATI\0" - "glBindFramebuffer\0" - "glBindRenderbuffer\0" - "glCheckFramebufferStatus\0" - "glDeleteFramebuffers\0" - "glDeleteRenderbuffers\0" - "glFramebufferRenderbuffer\0" - "glFramebufferTexture1D\0" - "glFramebufferTexture2D\0" - "glFramebufferTexture3D\0" - "glGenFramebuffers\0" - "glGenRenderbuffers\0" - "glGenerateMipmap\0" - "glGetFramebufferAttachmentParameteriv\0" - "glGetRenderbufferParameteriv\0" - "glIsFramebuffer\0" - "glIsRenderbuffer\0" - "glRenderbufferStorage\0" - "glBlitFramebuffer\0" - "glBindFragDataLocation\0" - "glGetFragDataLocation\0" - "glGetUniformuiv\0" - "glGetVertexAttribIiv\0" - "glGetVertexAttribIuiv\0" - "glUniform1ui\0" - "glUniform1uiv\0" - "glUniform2ui\0" - "glUniform2uiv\0" - "glUniform3ui\0" - "glUniform3uiv\0" - "glUniform4ui\0" - "glUniform4uiv\0" - "glVertexAttribI1i\0" - "glVertexAttribI1iv\0" - "glVertexAttribI1ui\0" - "glVertexAttribI1uiv\0" - "glVertexAttribI2i\0" - "glVertexAttribI2iv\0" - "glVertexAttribI2ui\0" - "glVertexAttribI2uiv\0" - "glVertexAttribI3i\0" - "glVertexAttribI3iv\0" - "glVertexAttribI3ui\0" - "glVertexAttribI3uiv\0" - "glVertexAttribI4bv\0" - "glVertexAttribI4i\0" - "glVertexAttribI4iv\0" - "glVertexAttribI4sv\0" - "glVertexAttribI4ubv\0" - "glVertexAttribI4ui\0" - "glVertexAttribI4uiv\0" - "glVertexAttribI4usv\0" - "glVertexAttribIPointer\0" - "glFramebufferTextureLayer\0" - "glFramebufferTextureLayerARB\0" - "glColorMaski\0" - "glDisablei\0" - "glEnablei\0" - "glGetBooleani_v\0" - "glGetIntegeri_v\0" - "glIsEnabledi\0" - "glGetTexParameterIiv\0" - "glGetTexParameterIuiv\0" - "glTexParameterIiv\0" - "glTexParameterIuiv\0" - "glBeginConditionalRender\0" - "glEndConditionalRender\0" - "glBeginTransformFeedback\0" - "glBindBufferBase\0" - "glBindBufferRange\0" - "glEndTransformFeedback\0" - "glGetTransformFeedbackVarying\0" - "glTransformFeedbackVaryings\0" "glProvokingVertex\0"; - -#ifdef USE_MGL_NAMESPACE -#define gl_dispatch_stub_343 mgl_dispatch_stub_343 -#define gl_dispatch_stub_344 mgl_dispatch_stub_344 -#define gl_dispatch_stub_345 mgl_dispatch_stub_345 -#define gl_dispatch_stub_356 mgl_dispatch_stub_356 -#define gl_dispatch_stub_357 mgl_dispatch_stub_357 -#define gl_dispatch_stub_358 mgl_dispatch_stub_358 -#define gl_dispatch_stub_359 mgl_dispatch_stub_359 -#define gl_dispatch_stub_361 mgl_dispatch_stub_361 -#define gl_dispatch_stub_362 mgl_dispatch_stub_362 -#define gl_dispatch_stub_363 mgl_dispatch_stub_363 -#define gl_dispatch_stub_364 mgl_dispatch_stub_364 -#define gl_dispatch_stub_365 mgl_dispatch_stub_365 -#define gl_dispatch_stub_366 mgl_dispatch_stub_366 -#define gl_dispatch_stub_692 mgl_dispatch_stub_692 -#define gl_dispatch_stub_693 mgl_dispatch_stub_693 -#define gl_dispatch_stub_694 mgl_dispatch_stub_694 -#define gl_dispatch_stub_695 mgl_dispatch_stub_695 -#define gl_dispatch_stub_696 mgl_dispatch_stub_696 -#define gl_dispatch_stub_697 mgl_dispatch_stub_697 -#define gl_dispatch_stub_698 mgl_dispatch_stub_698 -#define gl_dispatch_stub_699 mgl_dispatch_stub_699 -#define gl_dispatch_stub_734 mgl_dispatch_stub_734 -#define gl_dispatch_stub_776 mgl_dispatch_stub_776 -#define gl_dispatch_stub_777 mgl_dispatch_stub_777 -#define gl_dispatch_stub_778 mgl_dispatch_stub_778 -#define gl_dispatch_stub_779 mgl_dispatch_stub_779 -#define gl_dispatch_stub_780 mgl_dispatch_stub_780 -#define gl_dispatch_stub_781 mgl_dispatch_stub_781 -#define gl_dispatch_stub_782 mgl_dispatch_stub_782 -#define gl_dispatch_stub_783 mgl_dispatch_stub_783 -#define gl_dispatch_stub_784 mgl_dispatch_stub_784 -#define gl_dispatch_stub_865 mgl_dispatch_stub_865 -#define gl_dispatch_stub_866 mgl_dispatch_stub_866 -#define gl_dispatch_stub_867 mgl_dispatch_stub_867 -#define gl_dispatch_stub_868 mgl_dispatch_stub_868 -#define gl_dispatch_stub_869 mgl_dispatch_stub_869 -#define gl_dispatch_stub_878 mgl_dispatch_stub_878 -#define gl_dispatch_stub_879 mgl_dispatch_stub_879 -#define gl_dispatch_stub_897 mgl_dispatch_stub_897 -#define gl_dispatch_stub_898 mgl_dispatch_stub_898 -#define gl_dispatch_stub_899 mgl_dispatch_stub_899 -#define gl_dispatch_stub_957 mgl_dispatch_stub_957 -#define gl_dispatch_stub_958 mgl_dispatch_stub_958 -#define gl_dispatch_stub_966 mgl_dispatch_stub_966 -#define gl_dispatch_stub_967 mgl_dispatch_stub_967 -#define gl_dispatch_stub_968 mgl_dispatch_stub_968 -#define gl_dispatch_stub_969 mgl_dispatch_stub_969 -#define gl_dispatch_stub_970 mgl_dispatch_stub_970 -#endif /* USE_MGL_NAMESPACE */ - -#if defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) -void GLAPIENTRY gl_dispatch_stub_343(GLenum target, GLenum format, GLenum type, - GLvoid * table); -void GLAPIENTRY gl_dispatch_stub_344(GLenum target, GLenum pname, - GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_345(GLenum target, GLenum pname, - GLint * params); -void GLAPIENTRY gl_dispatch_stub_356(GLenum target, GLenum format, GLenum type, - GLvoid * image); -void GLAPIENTRY gl_dispatch_stub_357(GLenum target, GLenum pname, - GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_358(GLenum target, GLenum pname, - GLint * params); -void GLAPIENTRY gl_dispatch_stub_359(GLenum target, GLenum format, GLenum type, - GLvoid * row, GLvoid * column, - GLvoid * span); -void GLAPIENTRY gl_dispatch_stub_361(GLenum target, GLboolean reset, - GLenum format, GLenum type, - GLvoid * values); -void GLAPIENTRY gl_dispatch_stub_362(GLenum target, GLenum pname, - GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_363(GLenum target, GLenum pname, - GLint * params); -void GLAPIENTRY gl_dispatch_stub_364(GLenum target, GLboolean reset, - GLenum format, GLenum type, - GLvoid * values); -void GLAPIENTRY gl_dispatch_stub_365(GLenum target, GLenum pname, - GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_366(GLenum target, GLenum pname, - GLint * params); -void GLAPIENTRY gl_dispatch_stub_692(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_693(GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_694(GLenum pname, GLfloat param); -void GLAPIENTRY gl_dispatch_stub_695(GLenum pname, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_696(GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_697(GLenum pname, const GLint * params); -void GLAPIENTRY gl_dispatch_stub_698(GLclampf value, GLboolean invert); -void GLAPIENTRY gl_dispatch_stub_699(GLenum pattern); -void GLAPIENTRY gl_dispatch_stub_734(GLenum mode); -void GLAPIENTRY gl_dispatch_stub_776(const GLenum * mode, const GLint * first, - const GLsizei * count, GLsizei primcount, - GLint modestride); -void GLAPIENTRY gl_dispatch_stub_777(const GLenum * mode, const GLsizei * count, - GLenum type, const GLvoid * const *indices, - GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_778(GLsizei n, const GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_779(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_780(GLsizei n, GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_781(GLuint fence, GLenum pname, - GLint * params); -GLboolean GLAPIENTRY gl_dispatch_stub_782(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_783(GLuint fence, GLenum condition); -GLboolean GLAPIENTRY gl_dispatch_stub_784(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_865(GLenum face); -void GLAPIENTRY gl_dispatch_stub_866(GLuint array); -void GLAPIENTRY gl_dispatch_stub_867(GLsizei n, const GLuint * arrays); -void GLAPIENTRY gl_dispatch_stub_868(GLsizei n, GLuint * arrays); -GLboolean GLAPIENTRY gl_dispatch_stub_869(GLuint array); -void GLAPIENTRY gl_dispatch_stub_878(GLclampd zmin, GLclampd zmax); -void GLAPIENTRY gl_dispatch_stub_879(GLenum modeRGB, GLenum modeA); -void GLAPIENTRY gl_dispatch_stub_897(GLint srcX0, GLint srcY0, GLint srcX1, - GLint srcY1, GLint dstX0, GLint dstY0, - GLint dstX1, GLint dstY1, GLbitfield mask, - GLenum filter); -void GLAPIENTRY gl_dispatch_stub_898(GLenum target, GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_899(GLenum target, GLintptr offset, - GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_957(GLenum target, GLenum pname, - GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_958(GLenum target, GLsizei length, - GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_966(GLenum frontfunc, GLenum backfunc, - GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_967(GLenum target, GLuint index, GLsizei count, - const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_968(GLenum target, GLuint index, GLsizei count, - const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_969(GLuint id, GLenum pname, - GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_970(GLuint id, GLenum pname, - GLuint64EXT * params); -#endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ - -static const glprocs_table_t static_functions[] = { - NAME_FUNC_OFFSET(0, glNewList, glNewList, NULL, 0), - NAME_FUNC_OFFSET(10, glEndList, glEndList, NULL, 1), - NAME_FUNC_OFFSET(20, glCallList, glCallList, NULL, 2), - NAME_FUNC_OFFSET(31, glCallLists, glCallLists, NULL, 3), - NAME_FUNC_OFFSET(43, glDeleteLists, glDeleteLists, NULL, 4), - NAME_FUNC_OFFSET(57, glGenLists, glGenLists, NULL, 5), - NAME_FUNC_OFFSET(68, glListBase, glListBase, NULL, 6), - NAME_FUNC_OFFSET(79, glBegin, glBegin, NULL, 7), - NAME_FUNC_OFFSET(87, glBitmap, glBitmap, NULL, 8), - NAME_FUNC_OFFSET(96, glColor3b, glColor3b, NULL, 9), - NAME_FUNC_OFFSET(106, glColor3bv, glColor3bv, NULL, 10), - NAME_FUNC_OFFSET(117, glColor3d, glColor3d, NULL, 11), - NAME_FUNC_OFFSET(127, glColor3dv, glColor3dv, NULL, 12), - NAME_FUNC_OFFSET(138, glColor3f, glColor3f, NULL, 13), - NAME_FUNC_OFFSET(148, glColor3fv, glColor3fv, NULL, 14), - NAME_FUNC_OFFSET(159, glColor3i, glColor3i, NULL, 15), - NAME_FUNC_OFFSET(169, glColor3iv, glColor3iv, NULL, 16), - NAME_FUNC_OFFSET(180, glColor3s, glColor3s, NULL, 17), - NAME_FUNC_OFFSET(190, glColor3sv, glColor3sv, NULL, 18), - NAME_FUNC_OFFSET(201, glColor3ub, glColor3ub, NULL, 19), - NAME_FUNC_OFFSET(212, glColor3ubv, glColor3ubv, NULL, 20), - NAME_FUNC_OFFSET(224, glColor3ui, glColor3ui, NULL, 21), - NAME_FUNC_OFFSET(235, glColor3uiv, glColor3uiv, NULL, 22), - NAME_FUNC_OFFSET(247, glColor3us, glColor3us, NULL, 23), - NAME_FUNC_OFFSET(258, glColor3usv, glColor3usv, NULL, 24), - NAME_FUNC_OFFSET(270, glColor4b, glColor4b, NULL, 25), - NAME_FUNC_OFFSET(280, glColor4bv, glColor4bv, NULL, 26), - NAME_FUNC_OFFSET(291, glColor4d, glColor4d, NULL, 27), - NAME_FUNC_OFFSET(301, glColor4dv, glColor4dv, NULL, 28), - NAME_FUNC_OFFSET(312, glColor4f, glColor4f, NULL, 29), - NAME_FUNC_OFFSET(322, glColor4fv, glColor4fv, NULL, 30), - NAME_FUNC_OFFSET(333, glColor4i, glColor4i, NULL, 31), - NAME_FUNC_OFFSET(343, glColor4iv, glColor4iv, NULL, 32), - NAME_FUNC_OFFSET(354, glColor4s, glColor4s, NULL, 33), - NAME_FUNC_OFFSET(364, glColor4sv, glColor4sv, NULL, 34), - NAME_FUNC_OFFSET(375, glColor4ub, glColor4ub, NULL, 35), - NAME_FUNC_OFFSET(386, glColor4ubv, glColor4ubv, NULL, 36), - NAME_FUNC_OFFSET(398, glColor4ui, glColor4ui, NULL, 37), - NAME_FUNC_OFFSET(409, glColor4uiv, glColor4uiv, NULL, 38), - NAME_FUNC_OFFSET(421, glColor4us, glColor4us, NULL, 39), - NAME_FUNC_OFFSET(432, glColor4usv, glColor4usv, NULL, 40), - NAME_FUNC_OFFSET(444, glEdgeFlag, glEdgeFlag, NULL, 41), - NAME_FUNC_OFFSET(455, glEdgeFlagv, glEdgeFlagv, NULL, 42), - NAME_FUNC_OFFSET(467, glEnd, glEnd, NULL, 43), - NAME_FUNC_OFFSET(473, glIndexd, glIndexd, NULL, 44), - NAME_FUNC_OFFSET(482, glIndexdv, glIndexdv, NULL, 45), - NAME_FUNC_OFFSET(492, glIndexf, glIndexf, NULL, 46), - NAME_FUNC_OFFSET(501, glIndexfv, glIndexfv, NULL, 47), - NAME_FUNC_OFFSET(511, glIndexi, glIndexi, NULL, 48), - NAME_FUNC_OFFSET(520, glIndexiv, glIndexiv, NULL, 49), - NAME_FUNC_OFFSET(530, glIndexs, glIndexs, NULL, 50), - NAME_FUNC_OFFSET(539, glIndexsv, glIndexsv, NULL, 51), - NAME_FUNC_OFFSET(549, glNormal3b, glNormal3b, NULL, 52), - NAME_FUNC_OFFSET(560, glNormal3bv, glNormal3bv, NULL, 53), - NAME_FUNC_OFFSET(572, glNormal3d, glNormal3d, NULL, 54), - NAME_FUNC_OFFSET(583, glNormal3dv, glNormal3dv, NULL, 55), - NAME_FUNC_OFFSET(595, glNormal3f, glNormal3f, NULL, 56), - NAME_FUNC_OFFSET(606, glNormal3fv, glNormal3fv, NULL, 57), - NAME_FUNC_OFFSET(618, glNormal3i, glNormal3i, NULL, 58), - NAME_FUNC_OFFSET(629, glNormal3iv, glNormal3iv, NULL, 59), - NAME_FUNC_OFFSET(641, glNormal3s, glNormal3s, NULL, 60), - NAME_FUNC_OFFSET(652, glNormal3sv, glNormal3sv, NULL, 61), - NAME_FUNC_OFFSET(664, glRasterPos2d, glRasterPos2d, NULL, 62), - NAME_FUNC_OFFSET(678, glRasterPos2dv, glRasterPos2dv, NULL, 63), - NAME_FUNC_OFFSET(693, glRasterPos2f, glRasterPos2f, NULL, 64), - NAME_FUNC_OFFSET(707, glRasterPos2fv, glRasterPos2fv, NULL, 65), - NAME_FUNC_OFFSET(722, glRasterPos2i, glRasterPos2i, NULL, 66), - NAME_FUNC_OFFSET(736, glRasterPos2iv, glRasterPos2iv, NULL, 67), - NAME_FUNC_OFFSET(751, glRasterPos2s, glRasterPos2s, NULL, 68), - NAME_FUNC_OFFSET(765, glRasterPos2sv, glRasterPos2sv, NULL, 69), - NAME_FUNC_OFFSET(780, glRasterPos3d, glRasterPos3d, NULL, 70), - NAME_FUNC_OFFSET(794, glRasterPos3dv, glRasterPos3dv, NULL, 71), - NAME_FUNC_OFFSET(809, glRasterPos3f, glRasterPos3f, NULL, 72), - NAME_FUNC_OFFSET(823, glRasterPos3fv, glRasterPos3fv, NULL, 73), - NAME_FUNC_OFFSET(838, glRasterPos3i, glRasterPos3i, NULL, 74), - NAME_FUNC_OFFSET(852, glRasterPos3iv, glRasterPos3iv, NULL, 75), - NAME_FUNC_OFFSET(867, glRasterPos3s, glRasterPos3s, NULL, 76), - NAME_FUNC_OFFSET(881, glRasterPos3sv, glRasterPos3sv, NULL, 77), - NAME_FUNC_OFFSET(896, glRasterPos4d, glRasterPos4d, NULL, 78), - NAME_FUNC_OFFSET(910, glRasterPos4dv, glRasterPos4dv, NULL, 79), - NAME_FUNC_OFFSET(925, glRasterPos4f, glRasterPos4f, NULL, 80), - NAME_FUNC_OFFSET(939, glRasterPos4fv, glRasterPos4fv, NULL, 81), - NAME_FUNC_OFFSET(954, glRasterPos4i, glRasterPos4i, NULL, 82), - NAME_FUNC_OFFSET(968, glRasterPos4iv, glRasterPos4iv, NULL, 83), - NAME_FUNC_OFFSET(983, glRasterPos4s, glRasterPos4s, NULL, 84), - NAME_FUNC_OFFSET(997, glRasterPos4sv, glRasterPos4sv, NULL, 85), - NAME_FUNC_OFFSET(1012, glRectd, glRectd, NULL, 86), - NAME_FUNC_OFFSET(1020, glRectdv, glRectdv, NULL, 87), - NAME_FUNC_OFFSET(1029, glRectf, glRectf, NULL, 88), - NAME_FUNC_OFFSET(1037, glRectfv, glRectfv, NULL, 89), - NAME_FUNC_OFFSET(1046, glRecti, glRecti, NULL, 90), - NAME_FUNC_OFFSET(1054, glRectiv, glRectiv, NULL, 91), - NAME_FUNC_OFFSET(1063, glRects, glRects, NULL, 92), - NAME_FUNC_OFFSET(1071, glRectsv, glRectsv, NULL, 93), - NAME_FUNC_OFFSET(1080, glTexCoord1d, glTexCoord1d, NULL, 94), - NAME_FUNC_OFFSET(1093, glTexCoord1dv, glTexCoord1dv, NULL, 95), - NAME_FUNC_OFFSET(1107, glTexCoord1f, glTexCoord1f, NULL, 96), - NAME_FUNC_OFFSET(1120, glTexCoord1fv, glTexCoord1fv, NULL, 97), - NAME_FUNC_OFFSET(1134, glTexCoord1i, glTexCoord1i, NULL, 98), - NAME_FUNC_OFFSET(1147, glTexCoord1iv, glTexCoord1iv, NULL, 99), - NAME_FUNC_OFFSET(1161, glTexCoord1s, glTexCoord1s, NULL, 100), - NAME_FUNC_OFFSET(1174, glTexCoord1sv, glTexCoord1sv, NULL, 101), - NAME_FUNC_OFFSET(1188, glTexCoord2d, glTexCoord2d, NULL, 102), - NAME_FUNC_OFFSET(1201, glTexCoord2dv, glTexCoord2dv, NULL, 103), - NAME_FUNC_OFFSET(1215, glTexCoord2f, glTexCoord2f, NULL, 104), - NAME_FUNC_OFFSET(1228, glTexCoord2fv, glTexCoord2fv, NULL, 105), - NAME_FUNC_OFFSET(1242, glTexCoord2i, glTexCoord2i, NULL, 106), - NAME_FUNC_OFFSET(1255, glTexCoord2iv, glTexCoord2iv, NULL, 107), - NAME_FUNC_OFFSET(1269, glTexCoord2s, glTexCoord2s, NULL, 108), - NAME_FUNC_OFFSET(1282, glTexCoord2sv, glTexCoord2sv, NULL, 109), - NAME_FUNC_OFFSET(1296, glTexCoord3d, glTexCoord3d, NULL, 110), - NAME_FUNC_OFFSET(1309, glTexCoord3dv, glTexCoord3dv, NULL, 111), - NAME_FUNC_OFFSET(1323, glTexCoord3f, glTexCoord3f, NULL, 112), - NAME_FUNC_OFFSET(1336, glTexCoord3fv, glTexCoord3fv, NULL, 113), - NAME_FUNC_OFFSET(1350, glTexCoord3i, glTexCoord3i, NULL, 114), - NAME_FUNC_OFFSET(1363, glTexCoord3iv, glTexCoord3iv, NULL, 115), - NAME_FUNC_OFFSET(1377, glTexCoord3s, glTexCoord3s, NULL, 116), - NAME_FUNC_OFFSET(1390, glTexCoord3sv, glTexCoord3sv, NULL, 117), - NAME_FUNC_OFFSET(1404, glTexCoord4d, glTexCoord4d, NULL, 118), - NAME_FUNC_OFFSET(1417, glTexCoord4dv, glTexCoord4dv, NULL, 119), - NAME_FUNC_OFFSET(1431, glTexCoord4f, glTexCoord4f, NULL, 120), - NAME_FUNC_OFFSET(1444, glTexCoord4fv, glTexCoord4fv, NULL, 121), - NAME_FUNC_OFFSET(1458, glTexCoord4i, glTexCoord4i, NULL, 122), - NAME_FUNC_OFFSET(1471, glTexCoord4iv, glTexCoord4iv, NULL, 123), - NAME_FUNC_OFFSET(1485, glTexCoord4s, glTexCoord4s, NULL, 124), - NAME_FUNC_OFFSET(1498, glTexCoord4sv, glTexCoord4sv, NULL, 125), - NAME_FUNC_OFFSET(1512, glVertex2d, glVertex2d, NULL, 126), - NAME_FUNC_OFFSET(1523, glVertex2dv, glVertex2dv, NULL, 127), - NAME_FUNC_OFFSET(1535, glVertex2f, glVertex2f, NULL, 128), - NAME_FUNC_OFFSET(1546, glVertex2fv, glVertex2fv, NULL, 129), - NAME_FUNC_OFFSET(1558, glVertex2i, glVertex2i, NULL, 130), - NAME_FUNC_OFFSET(1569, glVertex2iv, glVertex2iv, NULL, 131), - NAME_FUNC_OFFSET(1581, glVertex2s, glVertex2s, NULL, 132), - NAME_FUNC_OFFSET(1592, glVertex2sv, glVertex2sv, NULL, 133), - NAME_FUNC_OFFSET(1604, glVertex3d, glVertex3d, NULL, 134), - NAME_FUNC_OFFSET(1615, glVertex3dv, glVertex3dv, NULL, 135), - NAME_FUNC_OFFSET(1627, glVertex3f, glVertex3f, NULL, 136), - NAME_FUNC_OFFSET(1638, glVertex3fv, glVertex3fv, NULL, 137), - NAME_FUNC_OFFSET(1650, glVertex3i, glVertex3i, NULL, 138), - NAME_FUNC_OFFSET(1661, glVertex3iv, glVertex3iv, NULL, 139), - NAME_FUNC_OFFSET(1673, glVertex3s, glVertex3s, NULL, 140), - NAME_FUNC_OFFSET(1684, glVertex3sv, glVertex3sv, NULL, 141), - NAME_FUNC_OFFSET(1696, glVertex4d, glVertex4d, NULL, 142), - NAME_FUNC_OFFSET(1707, glVertex4dv, glVertex4dv, NULL, 143), - NAME_FUNC_OFFSET(1719, glVertex4f, glVertex4f, NULL, 144), - NAME_FUNC_OFFSET(1730, glVertex4fv, glVertex4fv, NULL, 145), - NAME_FUNC_OFFSET(1742, glVertex4i, glVertex4i, NULL, 146), - NAME_FUNC_OFFSET(1753, glVertex4iv, glVertex4iv, NULL, 147), - NAME_FUNC_OFFSET(1765, glVertex4s, glVertex4s, NULL, 148), - NAME_FUNC_OFFSET(1776, glVertex4sv, glVertex4sv, NULL, 149), - NAME_FUNC_OFFSET(1788, glClipPlane, glClipPlane, NULL, 150), - NAME_FUNC_OFFSET(1800, glColorMaterial, glColorMaterial, NULL, 151), - NAME_FUNC_OFFSET(1816, glCullFace, glCullFace, NULL, 152), - NAME_FUNC_OFFSET(1827, glFogf, glFogf, NULL, 153), - NAME_FUNC_OFFSET(1834, glFogfv, glFogfv, NULL, 154), - NAME_FUNC_OFFSET(1842, glFogi, glFogi, NULL, 155), - NAME_FUNC_OFFSET(1849, glFogiv, glFogiv, NULL, 156), - NAME_FUNC_OFFSET(1857, glFrontFace, glFrontFace, NULL, 157), - NAME_FUNC_OFFSET(1869, glHint, glHint, NULL, 158), - NAME_FUNC_OFFSET(1876, glLightf, glLightf, NULL, 159), - NAME_FUNC_OFFSET(1885, glLightfv, glLightfv, NULL, 160), - NAME_FUNC_OFFSET(1895, glLighti, glLighti, NULL, 161), - NAME_FUNC_OFFSET(1904, glLightiv, glLightiv, NULL, 162), - NAME_FUNC_OFFSET(1914, glLightModelf, glLightModelf, NULL, 163), - NAME_FUNC_OFFSET(1928, glLightModelfv, glLightModelfv, NULL, 164), - NAME_FUNC_OFFSET(1943, glLightModeli, glLightModeli, NULL, 165), - NAME_FUNC_OFFSET(1957, glLightModeliv, glLightModeliv, NULL, 166), - NAME_FUNC_OFFSET(1972, glLineStipple, glLineStipple, NULL, 167), - NAME_FUNC_OFFSET(1986, glLineWidth, glLineWidth, NULL, 168), - NAME_FUNC_OFFSET(1998, glMaterialf, glMaterialf, NULL, 169), - NAME_FUNC_OFFSET(2010, glMaterialfv, glMaterialfv, NULL, 170), - NAME_FUNC_OFFSET(2023, glMateriali, glMateriali, NULL, 171), - NAME_FUNC_OFFSET(2035, glMaterialiv, glMaterialiv, NULL, 172), - NAME_FUNC_OFFSET(2048, glPointSize, glPointSize, NULL, 173), - NAME_FUNC_OFFSET(2060, glPolygonMode, glPolygonMode, NULL, 174), - NAME_FUNC_OFFSET(2074, glPolygonStipple, glPolygonStipple, NULL, 175), - NAME_FUNC_OFFSET(2091, glScissor, glScissor, NULL, 176), - NAME_FUNC_OFFSET(2101, glShadeModel, glShadeModel, NULL, 177), - NAME_FUNC_OFFSET(2114, glTexParameterf, glTexParameterf, NULL, 178), - NAME_FUNC_OFFSET(2130, glTexParameterfv, glTexParameterfv, NULL, 179), - NAME_FUNC_OFFSET(2147, glTexParameteri, glTexParameteri, NULL, 180), - NAME_FUNC_OFFSET(2163, glTexParameteriv, glTexParameteriv, NULL, 181), - NAME_FUNC_OFFSET(2180, glTexImage1D, glTexImage1D, NULL, 182), - NAME_FUNC_OFFSET(2193, glTexImage2D, glTexImage2D, NULL, 183), - NAME_FUNC_OFFSET(2206, glTexEnvf, glTexEnvf, NULL, 184), - NAME_FUNC_OFFSET(2216, glTexEnvfv, glTexEnvfv, NULL, 185), - NAME_FUNC_OFFSET(2227, glTexEnvi, glTexEnvi, NULL, 186), - NAME_FUNC_OFFSET(2237, glTexEnviv, glTexEnviv, NULL, 187), - NAME_FUNC_OFFSET(2248, glTexGend, glTexGend, NULL, 188), - NAME_FUNC_OFFSET(2258, glTexGendv, glTexGendv, NULL, 189), - NAME_FUNC_OFFSET(2269, glTexGenf, glTexGenf, NULL, 190), - NAME_FUNC_OFFSET(2279, glTexGenfv, glTexGenfv, NULL, 191), - NAME_FUNC_OFFSET(2290, glTexGeni, glTexGeni, NULL, 192), - NAME_FUNC_OFFSET(2300, glTexGeniv, glTexGeniv, NULL, 193), - NAME_FUNC_OFFSET(2311, glFeedbackBuffer, glFeedbackBuffer, NULL, 194), - NAME_FUNC_OFFSET(2328, glSelectBuffer, glSelectBuffer, NULL, 195), - NAME_FUNC_OFFSET(2343, glRenderMode, glRenderMode, NULL, 196), - NAME_FUNC_OFFSET(2356, glInitNames, glInitNames, NULL, 197), - NAME_FUNC_OFFSET(2368, glLoadName, glLoadName, NULL, 198), - NAME_FUNC_OFFSET(2379, glPassThrough, glPassThrough, NULL, 199), - NAME_FUNC_OFFSET(2393, glPopName, glPopName, NULL, 200), - NAME_FUNC_OFFSET(2403, glPushName, glPushName, NULL, 201), - NAME_FUNC_OFFSET(2414, glDrawBuffer, glDrawBuffer, NULL, 202), - NAME_FUNC_OFFSET(2427, glClear, glClear, NULL, 203), - NAME_FUNC_OFFSET(2435, glClearAccum, glClearAccum, NULL, 204), - NAME_FUNC_OFFSET(2448, glClearIndex, glClearIndex, NULL, 205), - NAME_FUNC_OFFSET(2461, glClearColor, glClearColor, NULL, 206), - NAME_FUNC_OFFSET(2474, glClearStencil, glClearStencil, NULL, 207), - NAME_FUNC_OFFSET(2489, glClearDepth, glClearDepth, NULL, 208), - NAME_FUNC_OFFSET(2502, glStencilMask, glStencilMask, NULL, 209), - NAME_FUNC_OFFSET(2516, glColorMask, glColorMask, NULL, 210), - NAME_FUNC_OFFSET(2528, glDepthMask, glDepthMask, NULL, 211), - NAME_FUNC_OFFSET(2540, glIndexMask, glIndexMask, NULL, 212), - NAME_FUNC_OFFSET(2552, glAccum, glAccum, NULL, 213), - NAME_FUNC_OFFSET(2560, glDisable, glDisable, NULL, 214), - NAME_FUNC_OFFSET(2570, glEnable, glEnable, NULL, 215), - NAME_FUNC_OFFSET(2579, glFinish, glFinish, NULL, 216), - NAME_FUNC_OFFSET(2588, glFlush, glFlush, NULL, 217), - NAME_FUNC_OFFSET(2596, glPopAttrib, glPopAttrib, NULL, 218), - NAME_FUNC_OFFSET(2608, glPushAttrib, glPushAttrib, NULL, 219), - NAME_FUNC_OFFSET(2621, glMap1d, glMap1d, NULL, 220), - NAME_FUNC_OFFSET(2629, glMap1f, glMap1f, NULL, 221), - NAME_FUNC_OFFSET(2637, glMap2d, glMap2d, NULL, 222), - NAME_FUNC_OFFSET(2645, glMap2f, glMap2f, NULL, 223), - NAME_FUNC_OFFSET(2653, glMapGrid1d, glMapGrid1d, NULL, 224), - NAME_FUNC_OFFSET(2665, glMapGrid1f, glMapGrid1f, NULL, 225), - NAME_FUNC_OFFSET(2677, glMapGrid2d, glMapGrid2d, NULL, 226), - NAME_FUNC_OFFSET(2689, glMapGrid2f, glMapGrid2f, NULL, 227), - NAME_FUNC_OFFSET(2701, glEvalCoord1d, glEvalCoord1d, NULL, 228), - NAME_FUNC_OFFSET(2715, glEvalCoord1dv, glEvalCoord1dv, NULL, 229), - NAME_FUNC_OFFSET(2730, glEvalCoord1f, glEvalCoord1f, NULL, 230), - NAME_FUNC_OFFSET(2744, glEvalCoord1fv, glEvalCoord1fv, NULL, 231), - NAME_FUNC_OFFSET(2759, glEvalCoord2d, glEvalCoord2d, NULL, 232), - NAME_FUNC_OFFSET(2773, glEvalCoord2dv, glEvalCoord2dv, NULL, 233), - NAME_FUNC_OFFSET(2788, glEvalCoord2f, glEvalCoord2f, NULL, 234), - NAME_FUNC_OFFSET(2802, glEvalCoord2fv, glEvalCoord2fv, NULL, 235), - NAME_FUNC_OFFSET(2817, glEvalMesh1, glEvalMesh1, NULL, 236), - NAME_FUNC_OFFSET(2829, glEvalPoint1, glEvalPoint1, NULL, 237), - NAME_FUNC_OFFSET(2842, glEvalMesh2, glEvalMesh2, NULL, 238), - NAME_FUNC_OFFSET(2854, glEvalPoint2, glEvalPoint2, NULL, 239), - NAME_FUNC_OFFSET(2867, glAlphaFunc, glAlphaFunc, NULL, 240), - NAME_FUNC_OFFSET(2879, glBlendFunc, glBlendFunc, NULL, 241), - NAME_FUNC_OFFSET(2891, glLogicOp, glLogicOp, NULL, 242), - NAME_FUNC_OFFSET(2901, glStencilFunc, glStencilFunc, NULL, 243), - NAME_FUNC_OFFSET(2915, glStencilOp, glStencilOp, NULL, 244), - NAME_FUNC_OFFSET(2927, glDepthFunc, glDepthFunc, NULL, 245), - NAME_FUNC_OFFSET(2939, glPixelZoom, glPixelZoom, NULL, 246), - NAME_FUNC_OFFSET(2951, glPixelTransferf, glPixelTransferf, NULL, 247), - NAME_FUNC_OFFSET(2968, glPixelTransferi, glPixelTransferi, NULL, 248), - NAME_FUNC_OFFSET(2985, glPixelStoref, glPixelStoref, NULL, 249), - NAME_FUNC_OFFSET(2999, glPixelStorei, glPixelStorei, NULL, 250), - NAME_FUNC_OFFSET(3013, glPixelMapfv, glPixelMapfv, NULL, 251), - NAME_FUNC_OFFSET(3026, glPixelMapuiv, glPixelMapuiv, NULL, 252), - NAME_FUNC_OFFSET(3040, glPixelMapusv, glPixelMapusv, NULL, 253), - NAME_FUNC_OFFSET(3054, glReadBuffer, glReadBuffer, NULL, 254), - NAME_FUNC_OFFSET(3067, glCopyPixels, glCopyPixels, NULL, 255), - NAME_FUNC_OFFSET(3080, glReadPixels, glReadPixels, NULL, 256), - NAME_FUNC_OFFSET(3093, glDrawPixels, glDrawPixels, NULL, 257), - NAME_FUNC_OFFSET(3106, glGetBooleanv, glGetBooleanv, NULL, 258), - NAME_FUNC_OFFSET(3120, glGetClipPlane, glGetClipPlane, NULL, 259), - NAME_FUNC_OFFSET(3135, glGetDoublev, glGetDoublev, NULL, 260), - NAME_FUNC_OFFSET(3148, glGetError, glGetError, NULL, 261), - NAME_FUNC_OFFSET(3159, glGetFloatv, glGetFloatv, NULL, 262), - NAME_FUNC_OFFSET(3171, glGetIntegerv, glGetIntegerv, NULL, 263), - NAME_FUNC_OFFSET(3185, glGetLightfv, glGetLightfv, NULL, 264), - NAME_FUNC_OFFSET(3198, glGetLightiv, glGetLightiv, NULL, 265), - NAME_FUNC_OFFSET(3211, glGetMapdv, glGetMapdv, NULL, 266), - NAME_FUNC_OFFSET(3222, glGetMapfv, glGetMapfv, NULL, 267), - NAME_FUNC_OFFSET(3233, glGetMapiv, glGetMapiv, NULL, 268), - NAME_FUNC_OFFSET(3244, glGetMaterialfv, glGetMaterialfv, NULL, 269), - NAME_FUNC_OFFSET(3260, glGetMaterialiv, glGetMaterialiv, NULL, 270), - NAME_FUNC_OFFSET(3276, glGetPixelMapfv, glGetPixelMapfv, NULL, 271), - NAME_FUNC_OFFSET(3292, glGetPixelMapuiv, glGetPixelMapuiv, NULL, 272), - NAME_FUNC_OFFSET(3309, glGetPixelMapusv, glGetPixelMapusv, NULL, 273), - NAME_FUNC_OFFSET(3326, glGetPolygonStipple, glGetPolygonStipple, NULL, 274), - NAME_FUNC_OFFSET(3346, glGetString, glGetString, NULL, 275), - NAME_FUNC_OFFSET(3358, glGetTexEnvfv, glGetTexEnvfv, NULL, 276), - NAME_FUNC_OFFSET(3372, glGetTexEnviv, glGetTexEnviv, NULL, 277), - NAME_FUNC_OFFSET(3386, glGetTexGendv, glGetTexGendv, NULL, 278), - NAME_FUNC_OFFSET(3400, glGetTexGenfv, glGetTexGenfv, NULL, 279), - NAME_FUNC_OFFSET(3414, glGetTexGeniv, glGetTexGeniv, NULL, 280), - NAME_FUNC_OFFSET(3428, glGetTexImage, glGetTexImage, NULL, 281), - NAME_FUNC_OFFSET(3442, glGetTexParameterfv, glGetTexParameterfv, NULL, 282), - NAME_FUNC_OFFSET(3462, glGetTexParameteriv, glGetTexParameteriv, NULL, 283), - NAME_FUNC_OFFSET(3482, glGetTexLevelParameterfv, glGetTexLevelParameterfv, - NULL, 284), - NAME_FUNC_OFFSET(3507, glGetTexLevelParameteriv, glGetTexLevelParameteriv, - NULL, 285), - NAME_FUNC_OFFSET(3532, glIsEnabled, glIsEnabled, NULL, 286), - NAME_FUNC_OFFSET(3544, glIsList, glIsList, NULL, 287), - NAME_FUNC_OFFSET(3553, glDepthRange, glDepthRange, NULL, 288), - NAME_FUNC_OFFSET(3566, glFrustum, glFrustum, NULL, 289), - NAME_FUNC_OFFSET(3576, glLoadIdentity, glLoadIdentity, NULL, 290), - NAME_FUNC_OFFSET(3591, glLoadMatrixf, glLoadMatrixf, NULL, 291), - NAME_FUNC_OFFSET(3605, glLoadMatrixd, glLoadMatrixd, NULL, 292), - NAME_FUNC_OFFSET(3619, glMatrixMode, glMatrixMode, NULL, 293), - NAME_FUNC_OFFSET(3632, glMultMatrixf, glMultMatrixf, NULL, 294), - NAME_FUNC_OFFSET(3646, glMultMatrixd, glMultMatrixd, NULL, 295), - NAME_FUNC_OFFSET(3660, glOrtho, glOrtho, NULL, 296), - NAME_FUNC_OFFSET(3668, glPopMatrix, glPopMatrix, NULL, 297), - NAME_FUNC_OFFSET(3680, glPushMatrix, glPushMatrix, NULL, 298), - NAME_FUNC_OFFSET(3693, glRotated, glRotated, NULL, 299), - NAME_FUNC_OFFSET(3703, glRotatef, glRotatef, NULL, 300), - NAME_FUNC_OFFSET(3713, glScaled, glScaled, NULL, 301), - NAME_FUNC_OFFSET(3722, glScalef, glScalef, NULL, 302), - NAME_FUNC_OFFSET(3731, glTranslated, glTranslated, NULL, 303), - NAME_FUNC_OFFSET(3744, glTranslatef, glTranslatef, NULL, 304), - NAME_FUNC_OFFSET(3757, glViewport, glViewport, NULL, 305), - NAME_FUNC_OFFSET(3768, glArrayElement, glArrayElement, NULL, 306), - NAME_FUNC_OFFSET(3783, glBindTexture, glBindTexture, NULL, 307), - NAME_FUNC_OFFSET(3797, glColorPointer, glColorPointer, NULL, 308), - NAME_FUNC_OFFSET(3812, glDisableClientState, glDisableClientState, NULL, - 309), - NAME_FUNC_OFFSET(3833, glDrawArrays, glDrawArrays, NULL, 310), - NAME_FUNC_OFFSET(3846, glDrawElements, glDrawElements, NULL, 311), - NAME_FUNC_OFFSET(3861, glEdgeFlagPointer, glEdgeFlagPointer, NULL, 312), - NAME_FUNC_OFFSET(3879, glEnableClientState, glEnableClientState, NULL, 313), - NAME_FUNC_OFFSET(3899, glIndexPointer, glIndexPointer, NULL, 314), - NAME_FUNC_OFFSET(3914, glIndexub, glIndexub, NULL, 315), - NAME_FUNC_OFFSET(3924, glIndexubv, glIndexubv, NULL, 316), - NAME_FUNC_OFFSET(3935, glInterleavedArrays, glInterleavedArrays, NULL, 317), - NAME_FUNC_OFFSET(3955, glNormalPointer, glNormalPointer, NULL, 318), - NAME_FUNC_OFFSET(3971, glPolygonOffset, glPolygonOffset, NULL, 319), - NAME_FUNC_OFFSET(3987, glTexCoordPointer, glTexCoordPointer, NULL, 320), - NAME_FUNC_OFFSET(4005, glVertexPointer, glVertexPointer, NULL, 321), - NAME_FUNC_OFFSET(4021, glAreTexturesResident, glAreTexturesResident, NULL, - 322), - NAME_FUNC_OFFSET(4043, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), - NAME_FUNC_OFFSET(4060, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), - NAME_FUNC_OFFSET(4077, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), - NAME_FUNC_OFFSET(4097, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), - NAME_FUNC_OFFSET(4117, glDeleteTextures, glDeleteTextures, NULL, 327), - NAME_FUNC_OFFSET(4134, glGenTextures, glGenTextures, NULL, 328), - NAME_FUNC_OFFSET(4148, glGetPointerv, glGetPointerv, NULL, 329), - NAME_FUNC_OFFSET(4162, glIsTexture, glIsTexture, NULL, 330), - NAME_FUNC_OFFSET(4174, glPrioritizeTextures, glPrioritizeTextures, NULL, - 331), - NAME_FUNC_OFFSET(4195, glTexSubImage1D, glTexSubImage1D, NULL, 332), - NAME_FUNC_OFFSET(4211, glTexSubImage2D, glTexSubImage2D, NULL, 333), - NAME_FUNC_OFFSET(4227, glPopClientAttrib, glPopClientAttrib, NULL, 334), - NAME_FUNC_OFFSET(4245, glPushClientAttrib, glPushClientAttrib, NULL, 335), - NAME_FUNC_OFFSET(4264, glBlendColor, glBlendColor, NULL, 336), - NAME_FUNC_OFFSET(4277, glBlendEquation, glBlendEquation, NULL, 337), - NAME_FUNC_OFFSET(4293, glDrawRangeElements, glDrawRangeElements, NULL, 338), - NAME_FUNC_OFFSET(4313, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(4326, glColorTableParameterfv, glColorTableParameterfv, - NULL, 340), - NAME_FUNC_OFFSET(4350, glColorTableParameteriv, glColorTableParameteriv, - NULL, 341), - NAME_FUNC_OFFSET(4374, glCopyColorTable, glCopyColorTable, NULL, 342), - NAME_FUNC_OFFSET(4391, glGetColorTable, glGetColorTable, NULL, 343), - NAME_FUNC_OFFSET(4407, glGetColorTableParameterfv, - glGetColorTableParameterfv, NULL, 344), - NAME_FUNC_OFFSET(4434, glGetColorTableParameteriv, - glGetColorTableParameteriv, NULL, 345), - NAME_FUNC_OFFSET(4461, glColorSubTable, glColorSubTable, NULL, 346), - NAME_FUNC_OFFSET(4477, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), - NAME_FUNC_OFFSET(4497, glConvolutionFilter1D, glConvolutionFilter1D, NULL, - 348), - NAME_FUNC_OFFSET(4519, glConvolutionFilter2D, glConvolutionFilter2D, NULL, - 349), - NAME_FUNC_OFFSET(4541, glConvolutionParameterf, glConvolutionParameterf, - NULL, 350), - NAME_FUNC_OFFSET(4565, glConvolutionParameterfv, glConvolutionParameterfv, - NULL, 351), - NAME_FUNC_OFFSET(4590, glConvolutionParameteri, glConvolutionParameteri, - NULL, 352), - NAME_FUNC_OFFSET(4614, glConvolutionParameteriv, glConvolutionParameteriv, - NULL, 353), - NAME_FUNC_OFFSET(4639, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, - NULL, 354), - NAME_FUNC_OFFSET(4665, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, - NULL, 355), - NAME_FUNC_OFFSET(4691, glGetConvolutionFilter, glGetConvolutionFilter, NULL, - 356), - NAME_FUNC_OFFSET(4714, glGetConvolutionParameterfv, - glGetConvolutionParameterfv, NULL, 357), - NAME_FUNC_OFFSET(4742, glGetConvolutionParameteriv, - glGetConvolutionParameteriv, NULL, 358), - NAME_FUNC_OFFSET(4770, glGetSeparableFilter, glGetSeparableFilter, NULL, - 359), - NAME_FUNC_OFFSET(4791, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), - NAME_FUNC_OFFSET(4811, glGetHistogram, glGetHistogram, NULL, 361), - NAME_FUNC_OFFSET(4826, glGetHistogramParameterfv, glGetHistogramParameterfv, - NULL, 362), - NAME_FUNC_OFFSET(4852, glGetHistogramParameteriv, glGetHistogramParameteriv, - NULL, 363), - NAME_FUNC_OFFSET(4878, glGetMinmax, glGetMinmax, NULL, 364), - NAME_FUNC_OFFSET(4890, glGetMinmaxParameterfv, glGetMinmaxParameterfv, NULL, - 365), - NAME_FUNC_OFFSET(4913, glGetMinmaxParameteriv, glGetMinmaxParameteriv, NULL, - 366), - NAME_FUNC_OFFSET(4936, glHistogram, glHistogram, NULL, 367), - NAME_FUNC_OFFSET(4948, glMinmax, glMinmax, NULL, 368), - NAME_FUNC_OFFSET(4957, glResetHistogram, glResetHistogram, NULL, 369), - NAME_FUNC_OFFSET(4974, glResetMinmax, glResetMinmax, NULL, 370), - NAME_FUNC_OFFSET(4988, glTexImage3D, glTexImage3D, NULL, 371), - NAME_FUNC_OFFSET(5001, glTexSubImage3D, glTexSubImage3D, NULL, 372), - NAME_FUNC_OFFSET(5017, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), - NAME_FUNC_OFFSET(5037, glActiveTextureARB, glActiveTextureARB, NULL, 374), - NAME_FUNC_OFFSET(5056, glClientActiveTextureARB, glClientActiveTextureARB, - NULL, 375), - NAME_FUNC_OFFSET(5081, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, - 376), - NAME_FUNC_OFFSET(5102, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, - 377), - NAME_FUNC_OFFSET(5124, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, - 378), - NAME_FUNC_OFFSET(5145, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, - 379), - NAME_FUNC_OFFSET(5167, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, - 380), - NAME_FUNC_OFFSET(5188, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, - 381), - NAME_FUNC_OFFSET(5210, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, - 382), - NAME_FUNC_OFFSET(5231, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, - 383), - NAME_FUNC_OFFSET(5253, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, - 384), - NAME_FUNC_OFFSET(5274, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, - 385), - NAME_FUNC_OFFSET(5296, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, - 386), - NAME_FUNC_OFFSET(5317, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, - 387), - NAME_FUNC_OFFSET(5339, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, - 388), - NAME_FUNC_OFFSET(5360, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, - 389), - NAME_FUNC_OFFSET(5382, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, - 390), - NAME_FUNC_OFFSET(5403, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, - 391), - NAME_FUNC_OFFSET(5425, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, - 392), - NAME_FUNC_OFFSET(5446, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, - 393), - NAME_FUNC_OFFSET(5468, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, - 394), - NAME_FUNC_OFFSET(5489, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, - 395), - NAME_FUNC_OFFSET(5511, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, - 396), - NAME_FUNC_OFFSET(5532, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, - 397), - NAME_FUNC_OFFSET(5554, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, - 398), - NAME_FUNC_OFFSET(5575, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, - 399), - NAME_FUNC_OFFSET(5597, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, - 400), - NAME_FUNC_OFFSET(5618, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, - 401), - NAME_FUNC_OFFSET(5640, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, - 402), - NAME_FUNC_OFFSET(5661, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, - 403), - NAME_FUNC_OFFSET(5683, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, - 404), - NAME_FUNC_OFFSET(5704, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, - 405), - NAME_FUNC_OFFSET(5726, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, - 406), - NAME_FUNC_OFFSET(5747, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, - 407), - NAME_FUNC_OFFSET(5769, glAttachShader, glAttachShader, NULL, 408), - NAME_FUNC_OFFSET(5784, glCreateProgram, glCreateProgram, NULL, 409), - NAME_FUNC_OFFSET(5800, glCreateShader, glCreateShader, NULL, 410), - NAME_FUNC_OFFSET(5815, glDeleteProgram, glDeleteProgram, NULL, 411), - NAME_FUNC_OFFSET(5831, glDeleteShader, glDeleteShader, NULL, 412), - NAME_FUNC_OFFSET(5846, glDetachShader, glDetachShader, NULL, 413), - NAME_FUNC_OFFSET(5861, glGetAttachedShaders, glGetAttachedShaders, NULL, - 414), - NAME_FUNC_OFFSET(5882, glGetProgramInfoLog, glGetProgramInfoLog, NULL, 415), - NAME_FUNC_OFFSET(5902, glGetProgramiv, glGetProgramiv, NULL, 416), - NAME_FUNC_OFFSET(5917, glGetShaderInfoLog, glGetShaderInfoLog, NULL, 417), - NAME_FUNC_OFFSET(5936, glGetShaderiv, glGetShaderiv, NULL, 418), - NAME_FUNC_OFFSET(5950, glIsProgram, glIsProgram, NULL, 419), - NAME_FUNC_OFFSET(5962, glIsShader, glIsShader, NULL, 420), - NAME_FUNC_OFFSET(5973, glStencilFuncSeparate, glStencilFuncSeparate, NULL, - 421), - NAME_FUNC_OFFSET(5995, glStencilMaskSeparate, glStencilMaskSeparate, NULL, - 422), - NAME_FUNC_OFFSET(6017, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), - NAME_FUNC_OFFSET(6037, glUniformMatrix2x3fv, glUniformMatrix2x3fv, NULL, - 424), - NAME_FUNC_OFFSET(6058, glUniformMatrix2x4fv, glUniformMatrix2x4fv, NULL, - 425), - NAME_FUNC_OFFSET(6079, glUniformMatrix3x2fv, glUniformMatrix3x2fv, NULL, - 426), - NAME_FUNC_OFFSET(6100, glUniformMatrix3x4fv, glUniformMatrix3x4fv, NULL, - 427), - NAME_FUNC_OFFSET(6121, glUniformMatrix4x2fv, glUniformMatrix4x2fv, NULL, - 428), - NAME_FUNC_OFFSET(6142, glUniformMatrix4x3fv, glUniformMatrix4x3fv, NULL, - 429), - NAME_FUNC_OFFSET(6163, glClampColor, glClampColor, NULL, 430), - NAME_FUNC_OFFSET(6176, glClearBufferfi, glClearBufferfi, NULL, 431), - NAME_FUNC_OFFSET(6192, glClearBufferfv, glClearBufferfv, NULL, 432), - NAME_FUNC_OFFSET(6208, glClearBufferiv, glClearBufferiv, NULL, 433), - NAME_FUNC_OFFSET(6224, glClearBufferuiv, glClearBufferuiv, NULL, 434), - NAME_FUNC_OFFSET(6241, glGetStringi, glGetStringi, NULL, 435), - NAME_FUNC_OFFSET(6254, glTexBuffer, glTexBuffer, NULL, 436), - NAME_FUNC_OFFSET(6266, glFramebufferTexture, glFramebufferTexture, NULL, - 437), - NAME_FUNC_OFFSET(6287, glGetBufferParameteri64v, glGetBufferParameteri64v, - NULL, 438), - NAME_FUNC_OFFSET(6312, glGetInteger64i_v, glGetInteger64i_v, NULL, 439), - NAME_FUNC_OFFSET(6330, glVertexAttribDivisor, glVertexAttribDivisor, NULL, - 440), - NAME_FUNC_OFFSET(6352, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, - NULL, 441), - NAME_FUNC_OFFSET(6378, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, - NULL, 442), - NAME_FUNC_OFFSET(6404, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, - NULL, 443), - NAME_FUNC_OFFSET(6430, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, - NULL, 444), - NAME_FUNC_OFFSET(6456, glSampleCoverageARB, glSampleCoverageARB, NULL, 445), - NAME_FUNC_OFFSET(6476, glCompressedTexImage1DARB, glCompressedTexImage1DARB, - NULL, 446), - NAME_FUNC_OFFSET(6502, glCompressedTexImage2DARB, glCompressedTexImage2DARB, - NULL, 447), - NAME_FUNC_OFFSET(6528, glCompressedTexImage3DARB, glCompressedTexImage3DARB, - NULL, 448), - NAME_FUNC_OFFSET(6554, glCompressedTexSubImage1DARB, - glCompressedTexSubImage1DARB, NULL, 449), - NAME_FUNC_OFFSET(6583, glCompressedTexSubImage2DARB, - glCompressedTexSubImage2DARB, NULL, 450), - NAME_FUNC_OFFSET(6612, glCompressedTexSubImage3DARB, - glCompressedTexSubImage3DARB, NULL, 451), - NAME_FUNC_OFFSET(6641, glGetCompressedTexImageARB, - glGetCompressedTexImageARB, NULL, 452), - NAME_FUNC_OFFSET(6668, glDisableVertexAttribArrayARB, - glDisableVertexAttribArrayARB, NULL, 453), - NAME_FUNC_OFFSET(6698, glEnableVertexAttribArrayARB, - glEnableVertexAttribArrayARB, NULL, 454), - NAME_FUNC_OFFSET(6727, glGetProgramEnvParameterdvARB, - glGetProgramEnvParameterdvARB, NULL, 455), - NAME_FUNC_OFFSET(6757, glGetProgramEnvParameterfvARB, - glGetProgramEnvParameterfvARB, NULL, 456), - NAME_FUNC_OFFSET(6787, glGetProgramLocalParameterdvARB, - glGetProgramLocalParameterdvARB, NULL, 457), - NAME_FUNC_OFFSET(6819, glGetProgramLocalParameterfvARB, - glGetProgramLocalParameterfvARB, NULL, 458), - NAME_FUNC_OFFSET(6851, glGetProgramStringARB, glGetProgramStringARB, NULL, - 459), - NAME_FUNC_OFFSET(6873, glGetProgramivARB, glGetProgramivARB, NULL, 460), - NAME_FUNC_OFFSET(6891, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, - 461), - NAME_FUNC_OFFSET(6914, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, - 462), - NAME_FUNC_OFFSET(6937, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, - 463), - NAME_FUNC_OFFSET(6960, glProgramEnvParameter4dARB, - glProgramEnvParameter4dARB, NULL, 464), - NAME_FUNC_OFFSET(6987, glProgramEnvParameter4dvARB, - glProgramEnvParameter4dvARB, NULL, 465), - NAME_FUNC_OFFSET(7015, glProgramEnvParameter4fARB, - glProgramEnvParameter4fARB, NULL, 466), - NAME_FUNC_OFFSET(7042, glProgramEnvParameter4fvARB, - glProgramEnvParameter4fvARB, NULL, 467), - NAME_FUNC_OFFSET(7070, glProgramLocalParameter4dARB, - glProgramLocalParameter4dARB, NULL, 468), - NAME_FUNC_OFFSET(7099, glProgramLocalParameter4dvARB, - glProgramLocalParameter4dvARB, NULL, 469), - NAME_FUNC_OFFSET(7129, glProgramLocalParameter4fARB, - glProgramLocalParameter4fARB, NULL, 470), - NAME_FUNC_OFFSET(7158, glProgramLocalParameter4fvARB, - glProgramLocalParameter4fvARB, NULL, 471), - NAME_FUNC_OFFSET(7188, glProgramStringARB, glProgramStringARB, NULL, 472), - NAME_FUNC_OFFSET(7207, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 473), - NAME_FUNC_OFFSET(7227, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, - 474), - NAME_FUNC_OFFSET(7248, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 475), - NAME_FUNC_OFFSET(7268, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, - 476), - NAME_FUNC_OFFSET(7289, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 477), - NAME_FUNC_OFFSET(7309, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, - 478), - NAME_FUNC_OFFSET(7330, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 479), - NAME_FUNC_OFFSET(7350, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, - 480), - NAME_FUNC_OFFSET(7371, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 481), - NAME_FUNC_OFFSET(7391, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, - 482), - NAME_FUNC_OFFSET(7412, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 483), - NAME_FUNC_OFFSET(7432, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, - 484), - NAME_FUNC_OFFSET(7453, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 485), - NAME_FUNC_OFFSET(7473, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, - 486), - NAME_FUNC_OFFSET(7494, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 487), - NAME_FUNC_OFFSET(7514, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, - 488), - NAME_FUNC_OFFSET(7535, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 489), - NAME_FUNC_OFFSET(7555, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, - 490), - NAME_FUNC_OFFSET(7576, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, - 491), - NAME_FUNC_OFFSET(7598, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, - 492), - NAME_FUNC_OFFSET(7620, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, - 493), - NAME_FUNC_OFFSET(7642, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, - 494), - NAME_FUNC_OFFSET(7664, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, - 495), - NAME_FUNC_OFFSET(7687, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, - 496), - NAME_FUNC_OFFSET(7710, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, - 497), - NAME_FUNC_OFFSET(7733, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, - 498), - NAME_FUNC_OFFSET(7754, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 499), - NAME_FUNC_OFFSET(7774, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, - 500), - NAME_FUNC_OFFSET(7795, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 501), - NAME_FUNC_OFFSET(7815, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, - 502), - NAME_FUNC_OFFSET(7836, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, - 503), - NAME_FUNC_OFFSET(7857, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 504), - NAME_FUNC_OFFSET(7877, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, - 505), - NAME_FUNC_OFFSET(7898, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, - 506), - NAME_FUNC_OFFSET(7920, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, - 507), - NAME_FUNC_OFFSET(7942, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, - 508), - NAME_FUNC_OFFSET(7964, glVertexAttribPointerARB, glVertexAttribPointerARB, - NULL, 509), - NAME_FUNC_OFFSET(7989, glBindBufferARB, glBindBufferARB, NULL, 510), - NAME_FUNC_OFFSET(8005, glBufferDataARB, glBufferDataARB, NULL, 511), - NAME_FUNC_OFFSET(8021, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), - NAME_FUNC_OFFSET(8040, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), - NAME_FUNC_OFFSET(8059, glGenBuffersARB, glGenBuffersARB, NULL, 514), - NAME_FUNC_OFFSET(8075, glGetBufferParameterivARB, glGetBufferParameterivARB, - NULL, 515), - NAME_FUNC_OFFSET(8101, glGetBufferPointervARB, glGetBufferPointervARB, NULL, - 516), - NAME_FUNC_OFFSET(8124, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, - 517), - NAME_FUNC_OFFSET(8146, glIsBufferARB, glIsBufferARB, NULL, 518), - NAME_FUNC_OFFSET(8160, glMapBufferARB, glMapBufferARB, NULL, 519), - NAME_FUNC_OFFSET(8175, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), - NAME_FUNC_OFFSET(8192, glBeginQueryARB, glBeginQueryARB, NULL, 521), - NAME_FUNC_OFFSET(8208, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), - NAME_FUNC_OFFSET(8227, glEndQueryARB, glEndQueryARB, NULL, 523), - NAME_FUNC_OFFSET(8241, glGenQueriesARB, glGenQueriesARB, NULL, 524), - NAME_FUNC_OFFSET(8257, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, - 525), - NAME_FUNC_OFFSET(8279, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, - 526), - NAME_FUNC_OFFSET(8302, glGetQueryivARB, glGetQueryivARB, NULL, 527), - NAME_FUNC_OFFSET(8318, glIsQueryARB, glIsQueryARB, NULL, 528), - NAME_FUNC_OFFSET(8331, glAttachObjectARB, glAttachObjectARB, NULL, 529), - NAME_FUNC_OFFSET(8349, glCompileShaderARB, glCompileShaderARB, NULL, 530), - NAME_FUNC_OFFSET(8368, glCreateProgramObjectARB, glCreateProgramObjectARB, - NULL, 531), - NAME_FUNC_OFFSET(8393, glCreateShaderObjectARB, glCreateShaderObjectARB, - NULL, 532), - NAME_FUNC_OFFSET(8417, glDeleteObjectARB, glDeleteObjectARB, NULL, 533), - NAME_FUNC_OFFSET(8435, glDetachObjectARB, glDetachObjectARB, NULL, 534), - NAME_FUNC_OFFSET(8453, glGetActiveUniformARB, glGetActiveUniformARB, NULL, - 535), - NAME_FUNC_OFFSET(8475, glGetAttachedObjectsARB, glGetAttachedObjectsARB, - NULL, 536), - NAME_FUNC_OFFSET(8499, glGetHandleARB, glGetHandleARB, NULL, 537), - NAME_FUNC_OFFSET(8514, glGetInfoLogARB, glGetInfoLogARB, NULL, 538), - NAME_FUNC_OFFSET(8530, glGetObjectParameterfvARB, glGetObjectParameterfvARB, - NULL, 539), - NAME_FUNC_OFFSET(8556, glGetObjectParameterivARB, glGetObjectParameterivARB, - NULL, 540), - NAME_FUNC_OFFSET(8582, glGetShaderSourceARB, glGetShaderSourceARB, NULL, - 541), - NAME_FUNC_OFFSET(8603, glGetUniformLocationARB, glGetUniformLocationARB, - NULL, 542), - NAME_FUNC_OFFSET(8627, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), - NAME_FUNC_OFFSET(8645, glGetUniformivARB, glGetUniformivARB, NULL, 544), - NAME_FUNC_OFFSET(8663, glLinkProgramARB, glLinkProgramARB, NULL, 545), - NAME_FUNC_OFFSET(8680, glShaderSourceARB, glShaderSourceARB, NULL, 546), - NAME_FUNC_OFFSET(8698, glUniform1fARB, glUniform1fARB, NULL, 547), - NAME_FUNC_OFFSET(8713, glUniform1fvARB, glUniform1fvARB, NULL, 548), - NAME_FUNC_OFFSET(8729, glUniform1iARB, glUniform1iARB, NULL, 549), - NAME_FUNC_OFFSET(8744, glUniform1ivARB, glUniform1ivARB, NULL, 550), - NAME_FUNC_OFFSET(8760, glUniform2fARB, glUniform2fARB, NULL, 551), - NAME_FUNC_OFFSET(8775, glUniform2fvARB, glUniform2fvARB, NULL, 552), - NAME_FUNC_OFFSET(8791, glUniform2iARB, glUniform2iARB, NULL, 553), - NAME_FUNC_OFFSET(8806, glUniform2ivARB, glUniform2ivARB, NULL, 554), - NAME_FUNC_OFFSET(8822, glUniform3fARB, glUniform3fARB, NULL, 555), - NAME_FUNC_OFFSET(8837, glUniform3fvARB, glUniform3fvARB, NULL, 556), - NAME_FUNC_OFFSET(8853, glUniform3iARB, glUniform3iARB, NULL, 557), - NAME_FUNC_OFFSET(8868, glUniform3ivARB, glUniform3ivARB, NULL, 558), - NAME_FUNC_OFFSET(8884, glUniform4fARB, glUniform4fARB, NULL, 559), - NAME_FUNC_OFFSET(8899, glUniform4fvARB, glUniform4fvARB, NULL, 560), - NAME_FUNC_OFFSET(8915, glUniform4iARB, glUniform4iARB, NULL, 561), - NAME_FUNC_OFFSET(8930, glUniform4ivARB, glUniform4ivARB, NULL, 562), - NAME_FUNC_OFFSET(8946, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, - 563), - NAME_FUNC_OFFSET(8968, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, - 564), - NAME_FUNC_OFFSET(8990, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, - 565), - NAME_FUNC_OFFSET(9012, glUseProgramObjectARB, glUseProgramObjectARB, NULL, - 566), - NAME_FUNC_OFFSET(9034, glValidateProgramARB, glValidateProgramARB, NULL, - 567), - NAME_FUNC_OFFSET(9055, glBindAttribLocationARB, glBindAttribLocationARB, - NULL, 568), - NAME_FUNC_OFFSET(9079, glGetActiveAttribARB, glGetActiveAttribARB, NULL, - 569), - NAME_FUNC_OFFSET(9100, glGetAttribLocationARB, glGetAttribLocationARB, NULL, - 570), - NAME_FUNC_OFFSET(9123, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(9140, glClampColorARB, glClampColorARB, NULL, 572), - NAME_FUNC_OFFSET(9156, glDrawArraysInstancedARB, glDrawArraysInstancedARB, - NULL, 573), - NAME_FUNC_OFFSET(9181, glDrawElementsInstancedARB, - glDrawElementsInstancedARB, NULL, 574), - NAME_FUNC_OFFSET(9208, glRenderbufferStorageMultisample, - glRenderbufferStorageMultisample, NULL, 575), - NAME_FUNC_OFFSET(9241, glFramebufferTextureARB, glFramebufferTextureARB, - NULL, 576), - NAME_FUNC_OFFSET(9265, glFramebufferTextureFaceARB, - glFramebufferTextureFaceARB, NULL, 577), - NAME_FUNC_OFFSET(9293, glProgramParameteriARB, glProgramParameteriARB, NULL, - 578), - NAME_FUNC_OFFSET(9316, glVertexAttribDivisorARB, glVertexAttribDivisorARB, - NULL, 579), - NAME_FUNC_OFFSET(9341, glFlushMappedBufferRange, glFlushMappedBufferRange, - NULL, 580), - NAME_FUNC_OFFSET(9366, glMapBufferRange, glMapBufferRange, NULL, 581), - NAME_FUNC_OFFSET(9383, glTexBufferARB, glTexBufferARB, NULL, 582), - NAME_FUNC_OFFSET(9398, glBindVertexArray, glBindVertexArray, NULL, 583), - NAME_FUNC_OFFSET(9416, glGenVertexArrays, glGenVertexArrays, NULL, 584), - NAME_FUNC_OFFSET(9434, glCopyBufferSubData, glCopyBufferSubData, NULL, 585), - NAME_FUNC_OFFSET(9454, glClientWaitSync, glClientWaitSync, NULL, 586), - NAME_FUNC_OFFSET(9471, glDeleteSync, glDeleteSync, NULL, 587), - NAME_FUNC_OFFSET(9484, glFenceSync, glFenceSync, NULL, 588), - NAME_FUNC_OFFSET(9496, glGetInteger64v, glGetInteger64v, NULL, 589), - NAME_FUNC_OFFSET(9512, glGetSynciv, glGetSynciv, NULL, 590), - NAME_FUNC_OFFSET(9524, glIsSync, glIsSync, NULL, 591), - NAME_FUNC_OFFSET(9533, glWaitSync, glWaitSync, NULL, 592), - NAME_FUNC_OFFSET(9544, glDrawElementsBaseVertex, glDrawElementsBaseVertex, - NULL, 593), - NAME_FUNC_OFFSET(9569, glDrawElementsInstancedBaseVertex, - glDrawElementsInstancedBaseVertex, NULL, 594), - NAME_FUNC_OFFSET(9603, glDrawRangeElementsBaseVertex, - glDrawRangeElementsBaseVertex, NULL, 595), - NAME_FUNC_OFFSET(9633, glMultiDrawElementsBaseVertex, - glMultiDrawElementsBaseVertex, NULL, 596), - NAME_FUNC_OFFSET(9663, glBlendEquationSeparateiARB, - glBlendEquationSeparateiARB, NULL, 597), - NAME_FUNC_OFFSET(9691, glBlendEquationiARB, glBlendEquationiARB, NULL, 598), - NAME_FUNC_OFFSET(9711, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, - NULL, 599), - NAME_FUNC_OFFSET(9735, glBlendFunciARB, glBlendFunciARB, NULL, 600), - NAME_FUNC_OFFSET(9751, glBindSampler, glBindSampler, NULL, 601), - NAME_FUNC_OFFSET(9765, glDeleteSamplers, glDeleteSamplers, NULL, 602), - NAME_FUNC_OFFSET(9782, glGenSamplers, glGenSamplers, NULL, 603), - NAME_FUNC_OFFSET(9796, glGetSamplerParameterIiv, glGetSamplerParameterIiv, - NULL, 604), - NAME_FUNC_OFFSET(9821, glGetSamplerParameterIuiv, glGetSamplerParameterIuiv, - NULL, 605), - NAME_FUNC_OFFSET(9847, glGetSamplerParameterfv, glGetSamplerParameterfv, - NULL, 606), - NAME_FUNC_OFFSET(9871, glGetSamplerParameteriv, glGetSamplerParameteriv, - NULL, 607), - NAME_FUNC_OFFSET(9895, glIsSampler, glIsSampler, NULL, 608), - NAME_FUNC_OFFSET(9907, glSamplerParameterIiv, glSamplerParameterIiv, NULL, - 609), - NAME_FUNC_OFFSET(9929, glSamplerParameterIuiv, glSamplerParameterIuiv, NULL, - 610), - NAME_FUNC_OFFSET(9952, glSamplerParameterf, glSamplerParameterf, NULL, 611), - NAME_FUNC_OFFSET(9972, glSamplerParameterfv, glSamplerParameterfv, NULL, - 612), - NAME_FUNC_OFFSET(9993, glSamplerParameteri, glSamplerParameteri, NULL, 613), - NAME_FUNC_OFFSET(10013, glSamplerParameteriv, glSamplerParameteriv, NULL, - 614), - NAME_FUNC_OFFSET(10034, glColorP3ui, glColorP3ui, NULL, 615), - NAME_FUNC_OFFSET(10046, glColorP3uiv, glColorP3uiv, NULL, 616), - NAME_FUNC_OFFSET(10059, glColorP4ui, glColorP4ui, NULL, 617), - NAME_FUNC_OFFSET(10071, glColorP4uiv, glColorP4uiv, NULL, 618), - NAME_FUNC_OFFSET(10084, glMultiTexCoordP1ui, glMultiTexCoordP1ui, NULL, - 619), - NAME_FUNC_OFFSET(10104, glMultiTexCoordP1uiv, glMultiTexCoordP1uiv, NULL, - 620), - NAME_FUNC_OFFSET(10125, glMultiTexCoordP2ui, glMultiTexCoordP2ui, NULL, - 621), - NAME_FUNC_OFFSET(10145, glMultiTexCoordP2uiv, glMultiTexCoordP2uiv, NULL, - 622), - NAME_FUNC_OFFSET(10166, glMultiTexCoordP3ui, glMultiTexCoordP3ui, NULL, - 623), - NAME_FUNC_OFFSET(10186, glMultiTexCoordP3uiv, glMultiTexCoordP3uiv, NULL, - 624), - NAME_FUNC_OFFSET(10207, glMultiTexCoordP4ui, glMultiTexCoordP4ui, NULL, - 625), - NAME_FUNC_OFFSET(10227, glMultiTexCoordP4uiv, glMultiTexCoordP4uiv, NULL, - 626), - NAME_FUNC_OFFSET(10248, glNormalP3ui, glNormalP3ui, NULL, 627), - NAME_FUNC_OFFSET(10261, glNormalP3uiv, glNormalP3uiv, NULL, 628), - NAME_FUNC_OFFSET(10275, glSecondaryColorP3ui, glSecondaryColorP3ui, NULL, - 629), - NAME_FUNC_OFFSET(10296, glSecondaryColorP3uiv, glSecondaryColorP3uiv, NULL, - 630), - NAME_FUNC_OFFSET(10318, glTexCoordP1ui, glTexCoordP1ui, NULL, 631), - NAME_FUNC_OFFSET(10333, glTexCoordP1uiv, glTexCoordP1uiv, NULL, 632), - NAME_FUNC_OFFSET(10349, glTexCoordP2ui, glTexCoordP2ui, NULL, 633), - NAME_FUNC_OFFSET(10364, glTexCoordP2uiv, glTexCoordP2uiv, NULL, 634), - NAME_FUNC_OFFSET(10380, glTexCoordP3ui, glTexCoordP3ui, NULL, 635), - NAME_FUNC_OFFSET(10395, glTexCoordP3uiv, glTexCoordP3uiv, NULL, 636), - NAME_FUNC_OFFSET(10411, glTexCoordP4ui, glTexCoordP4ui, NULL, 637), - NAME_FUNC_OFFSET(10426, glTexCoordP4uiv, glTexCoordP4uiv, NULL, 638), - NAME_FUNC_OFFSET(10442, glVertexAttribP1ui, glVertexAttribP1ui, NULL, 639), - NAME_FUNC_OFFSET(10461, glVertexAttribP1uiv, glVertexAttribP1uiv, NULL, - 640), - NAME_FUNC_OFFSET(10481, glVertexAttribP2ui, glVertexAttribP2ui, NULL, 641), - NAME_FUNC_OFFSET(10500, glVertexAttribP2uiv, glVertexAttribP2uiv, NULL, - 642), - NAME_FUNC_OFFSET(10520, glVertexAttribP3ui, glVertexAttribP3ui, NULL, 643), - NAME_FUNC_OFFSET(10539, glVertexAttribP3uiv, glVertexAttribP3uiv, NULL, - 644), - NAME_FUNC_OFFSET(10559, glVertexAttribP4ui, glVertexAttribP4ui, NULL, 645), - NAME_FUNC_OFFSET(10578, glVertexAttribP4uiv, glVertexAttribP4uiv, NULL, - 646), - NAME_FUNC_OFFSET(10598, glVertexP2ui, glVertexP2ui, NULL, 647), - NAME_FUNC_OFFSET(10611, glVertexP2uiv, glVertexP2uiv, NULL, 648), - NAME_FUNC_OFFSET(10625, glVertexP3ui, glVertexP3ui, NULL, 649), - NAME_FUNC_OFFSET(10638, glVertexP3uiv, glVertexP3uiv, NULL, 650), - NAME_FUNC_OFFSET(10652, glVertexP4ui, glVertexP4ui, NULL, 651), - NAME_FUNC_OFFSET(10665, glVertexP4uiv, glVertexP4uiv, NULL, 652), - NAME_FUNC_OFFSET(10679, glBindTransformFeedback, glBindTransformFeedback, - NULL, 653), - NAME_FUNC_OFFSET(10703, glDeleteTransformFeedbacks, - glDeleteTransformFeedbacks, NULL, 654), - NAME_FUNC_OFFSET(10730, glDrawTransformFeedback, glDrawTransformFeedback, - NULL, 655), - NAME_FUNC_OFFSET(10754, glGenTransformFeedbacks, glGenTransformFeedbacks, - NULL, 656), - NAME_FUNC_OFFSET(10778, glIsTransformFeedback, glIsTransformFeedback, NULL, - 657), - NAME_FUNC_OFFSET(10800, glPauseTransformFeedback, glPauseTransformFeedback, - NULL, 658), - NAME_FUNC_OFFSET(10825, glResumeTransformFeedback, - glResumeTransformFeedback, NULL, 659), - NAME_FUNC_OFFSET(10851, glClearDepthf, glClearDepthf, NULL, 660), - NAME_FUNC_OFFSET(10865, glDepthRangef, glDepthRangef, NULL, 661), - NAME_FUNC_OFFSET(10879, glGetShaderPrecisionFormat, - glGetShaderPrecisionFormat, NULL, 662), - NAME_FUNC_OFFSET(10906, glReleaseShaderCompiler, glReleaseShaderCompiler, - NULL, 663), - NAME_FUNC_OFFSET(10930, glShaderBinary, glShaderBinary, NULL, 664), - NAME_FUNC_OFFSET(10945, glGetGraphicsResetStatusARB, - glGetGraphicsResetStatusARB, NULL, 665), - NAME_FUNC_OFFSET(10973, glGetnColorTableARB, glGetnColorTableARB, NULL, - 666), - NAME_FUNC_OFFSET(10993, glGetnCompressedTexImageARB, - glGetnCompressedTexImageARB, NULL, 667), - NAME_FUNC_OFFSET(11021, glGetnConvolutionFilterARB, - glGetnConvolutionFilterARB, NULL, 668), - NAME_FUNC_OFFSET(11048, glGetnHistogramARB, glGetnHistogramARB, NULL, 669), - NAME_FUNC_OFFSET(11067, glGetnMapdvARB, glGetnMapdvARB, NULL, 670), - NAME_FUNC_OFFSET(11082, glGetnMapfvARB, glGetnMapfvARB, NULL, 671), - NAME_FUNC_OFFSET(11097, glGetnMapivARB, glGetnMapivARB, NULL, 672), - NAME_FUNC_OFFSET(11112, glGetnMinmaxARB, glGetnMinmaxARB, NULL, 673), - NAME_FUNC_OFFSET(11128, glGetnPixelMapfvARB, glGetnPixelMapfvARB, NULL, - 674), - NAME_FUNC_OFFSET(11148, glGetnPixelMapuivARB, glGetnPixelMapuivARB, NULL, - 675), - NAME_FUNC_OFFSET(11169, glGetnPixelMapusvARB, glGetnPixelMapusvARB, NULL, - 676), - NAME_FUNC_OFFSET(11190, glGetnPolygonStippleARB, glGetnPolygonStippleARB, - NULL, 677), - NAME_FUNC_OFFSET(11214, glGetnSeparableFilterARB, glGetnSeparableFilterARB, - NULL, 678), - NAME_FUNC_OFFSET(11239, glGetnTexImageARB, glGetnTexImageARB, NULL, 679), - NAME_FUNC_OFFSET(11257, glGetnUniformdvARB, glGetnUniformdvARB, NULL, 680), - NAME_FUNC_OFFSET(11276, glGetnUniformfvARB, glGetnUniformfvARB, NULL, 681), - NAME_FUNC_OFFSET(11295, glGetnUniformivARB, glGetnUniformivARB, NULL, 682), - NAME_FUNC_OFFSET(11314, glGetnUniformuivARB, glGetnUniformuivARB, NULL, - 683), - NAME_FUNC_OFFSET(11334, glReadnPixelsARB, glReadnPixelsARB, NULL, 684), - NAME_FUNC_OFFSET(11351, glTexStorage1D, glTexStorage1D, NULL, 685), - NAME_FUNC_OFFSET(11366, glTexStorage2D, glTexStorage2D, NULL, 686), - NAME_FUNC_OFFSET(11381, glTexStorage3D, glTexStorage3D, NULL, 687), - NAME_FUNC_OFFSET(11396, glTextureStorage1DEXT, glTextureStorage1DEXT, NULL, - 688), - NAME_FUNC_OFFSET(11418, glTextureStorage2DEXT, glTextureStorage2DEXT, NULL, - 689), - NAME_FUNC_OFFSET(11440, glTextureStorage3DEXT, glTextureStorage3DEXT, NULL, - 690), - NAME_FUNC_OFFSET(11462, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 691), - NAME_FUNC_OFFSET(11481, gl_dispatch_stub_692, gl_dispatch_stub_692, NULL, - 692), - NAME_FUNC_OFFSET(11513, gl_dispatch_stub_693, gl_dispatch_stub_693, NULL, - 693), - NAME_FUNC_OFFSET(11545, gl_dispatch_stub_694, gl_dispatch_stub_694, NULL, - 694), - NAME_FUNC_OFFSET(11573, gl_dispatch_stub_695, gl_dispatch_stub_695, NULL, - 695), - NAME_FUNC_OFFSET(11602, gl_dispatch_stub_696, gl_dispatch_stub_696, NULL, - 696), - NAME_FUNC_OFFSET(11630, gl_dispatch_stub_697, gl_dispatch_stub_697, NULL, - 697), - NAME_FUNC_OFFSET(11659, gl_dispatch_stub_698, gl_dispatch_stub_698, NULL, - 698), - NAME_FUNC_OFFSET(11676, gl_dispatch_stub_699, gl_dispatch_stub_699, NULL, - 699), - NAME_FUNC_OFFSET(11696, glColorPointerEXT, glColorPointerEXT, NULL, 700), - NAME_FUNC_OFFSET(11714, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, - 701), - NAME_FUNC_OFFSET(11735, glIndexPointerEXT, glIndexPointerEXT, NULL, 702), - NAME_FUNC_OFFSET(11753, glNormalPointerEXT, glNormalPointerEXT, NULL, 703), - NAME_FUNC_OFFSET(11772, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, - 704), - NAME_FUNC_OFFSET(11793, glVertexPointerEXT, glVertexPointerEXT, NULL, 705), - NAME_FUNC_OFFSET(11812, glPointParameterfEXT, glPointParameterfEXT, NULL, - 706), - NAME_FUNC_OFFSET(11833, glPointParameterfvEXT, glPointParameterfvEXT, NULL, - 707), - NAME_FUNC_OFFSET(11855, glLockArraysEXT, glLockArraysEXT, NULL, 708), - NAME_FUNC_OFFSET(11871, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 709), - NAME_FUNC_OFFSET(11889, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, - 710), - NAME_FUNC_OFFSET(11911, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, - NULL, 711), - NAME_FUNC_OFFSET(11934, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, - 712), - NAME_FUNC_OFFSET(11956, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, - NULL, 713), - NAME_FUNC_OFFSET(11979, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, - 714), - NAME_FUNC_OFFSET(12001, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, - NULL, 715), - NAME_FUNC_OFFSET(12024, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, - 716), - NAME_FUNC_OFFSET(12046, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, - NULL, 717), - NAME_FUNC_OFFSET(12069, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, - 718), - NAME_FUNC_OFFSET(12091, glSecondaryColor3svEXT, glSecondaryColor3svEXT, - NULL, 719), - NAME_FUNC_OFFSET(12114, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, - NULL, 720), - NAME_FUNC_OFFSET(12137, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, - NULL, 721), - NAME_FUNC_OFFSET(12161, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, - NULL, 722), - NAME_FUNC_OFFSET(12184, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, - NULL, 723), - NAME_FUNC_OFFSET(12208, glSecondaryColor3usEXT, glSecondaryColor3usEXT, - NULL, 724), - NAME_FUNC_OFFSET(12231, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, - NULL, 725), - NAME_FUNC_OFFSET(12255, glSecondaryColorPointerEXT, - glSecondaryColorPointerEXT, NULL, 726), - NAME_FUNC_OFFSET(12282, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, - 727), - NAME_FUNC_OFFSET(12303, glMultiDrawElementsEXT, glMultiDrawElementsEXT, - NULL, 728), - NAME_FUNC_OFFSET(12326, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, - 729), - NAME_FUNC_OFFSET(12347, glFogCoorddEXT, glFogCoorddEXT, NULL, 730), - NAME_FUNC_OFFSET(12362, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 731), - NAME_FUNC_OFFSET(12378, glFogCoordfEXT, glFogCoordfEXT, NULL, 732), - NAME_FUNC_OFFSET(12393, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 733), - NAME_FUNC_OFFSET(12409, gl_dispatch_stub_734, gl_dispatch_stub_734, NULL, - 734), - NAME_FUNC_OFFSET(12427, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, - NULL, 735), - NAME_FUNC_OFFSET(12450, glFlushVertexArrayRangeNV, - glFlushVertexArrayRangeNV, NULL, 736), - NAME_FUNC_OFFSET(12476, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, - 737), - NAME_FUNC_OFFSET(12497, glCombinerInputNV, glCombinerInputNV, NULL, 738), - NAME_FUNC_OFFSET(12515, glCombinerOutputNV, glCombinerOutputNV, NULL, 739), - NAME_FUNC_OFFSET(12534, glCombinerParameterfNV, glCombinerParameterfNV, - NULL, 740), - NAME_FUNC_OFFSET(12557, glCombinerParameterfvNV, glCombinerParameterfvNV, - NULL, 741), - NAME_FUNC_OFFSET(12581, glCombinerParameteriNV, glCombinerParameteriNV, - NULL, 742), - NAME_FUNC_OFFSET(12604, glCombinerParameterivNV, glCombinerParameterivNV, - NULL, 743), - NAME_FUNC_OFFSET(12628, glFinalCombinerInputNV, glFinalCombinerInputNV, - NULL, 744), - NAME_FUNC_OFFSET(12651, glGetCombinerInputParameterfvNV, - glGetCombinerInputParameterfvNV, NULL, 745), - NAME_FUNC_OFFSET(12683, glGetCombinerInputParameterivNV, - glGetCombinerInputParameterivNV, NULL, 746), - NAME_FUNC_OFFSET(12715, glGetCombinerOutputParameterfvNV, - glGetCombinerOutputParameterfvNV, NULL, 747), - NAME_FUNC_OFFSET(12748, glGetCombinerOutputParameterivNV, - glGetCombinerOutputParameterivNV, NULL, 748), - NAME_FUNC_OFFSET(12781, glGetFinalCombinerInputParameterfvNV, - glGetFinalCombinerInputParameterfvNV, NULL, 749), - NAME_FUNC_OFFSET(12818, glGetFinalCombinerInputParameterivNV, - glGetFinalCombinerInputParameterivNV, NULL, 750), - NAME_FUNC_OFFSET(12855, glResizeBuffersMESA, glResizeBuffersMESA, NULL, - 751), - NAME_FUNC_OFFSET(12875, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752), - NAME_FUNC_OFFSET(12893, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753), - NAME_FUNC_OFFSET(12912, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754), - NAME_FUNC_OFFSET(12930, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755), - NAME_FUNC_OFFSET(12949, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756), - NAME_FUNC_OFFSET(12967, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757), - NAME_FUNC_OFFSET(12986, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758), - NAME_FUNC_OFFSET(13004, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759), - NAME_FUNC_OFFSET(13023, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760), - NAME_FUNC_OFFSET(13041, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761), - NAME_FUNC_OFFSET(13060, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762), - NAME_FUNC_OFFSET(13078, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763), - NAME_FUNC_OFFSET(13097, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764), - NAME_FUNC_OFFSET(13115, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765), - NAME_FUNC_OFFSET(13134, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766), - NAME_FUNC_OFFSET(13152, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767), - NAME_FUNC_OFFSET(13171, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 768), - NAME_FUNC_OFFSET(13189, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 769), - NAME_FUNC_OFFSET(13208, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 770), - NAME_FUNC_OFFSET(13226, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 771), - NAME_FUNC_OFFSET(13245, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 772), - NAME_FUNC_OFFSET(13263, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 773), - NAME_FUNC_OFFSET(13282, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 774), - NAME_FUNC_OFFSET(13300, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 775), - NAME_FUNC_OFFSET(13319, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, - 776), - NAME_FUNC_OFFSET(13344, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, - 777), - NAME_FUNC_OFFSET(13371, gl_dispatch_stub_778, gl_dispatch_stub_778, NULL, - 778), - NAME_FUNC_OFFSET(13388, gl_dispatch_stub_779, gl_dispatch_stub_779, NULL, - 779), - NAME_FUNC_OFFSET(13404, gl_dispatch_stub_780, gl_dispatch_stub_780, NULL, - 780), - NAME_FUNC_OFFSET(13418, gl_dispatch_stub_781, gl_dispatch_stub_781, NULL, - 781), - NAME_FUNC_OFFSET(13433, gl_dispatch_stub_782, gl_dispatch_stub_782, NULL, - 782), - NAME_FUNC_OFFSET(13445, gl_dispatch_stub_783, gl_dispatch_stub_783, NULL, - 783), - NAME_FUNC_OFFSET(13458, gl_dispatch_stub_784, gl_dispatch_stub_784, NULL, - 784), - NAME_FUNC_OFFSET(13472, glAreProgramsResidentNV, glAreProgramsResidentNV, - NULL, 785), - NAME_FUNC_OFFSET(13496, glBindProgramNV, glBindProgramNV, NULL, 786), - NAME_FUNC_OFFSET(13512, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 787), - NAME_FUNC_OFFSET(13531, glExecuteProgramNV, glExecuteProgramNV, NULL, 788), - NAME_FUNC_OFFSET(13550, glGenProgramsNV, glGenProgramsNV, NULL, 789), - NAME_FUNC_OFFSET(13566, glGetProgramParameterdvNV, - glGetProgramParameterdvNV, NULL, 790), - NAME_FUNC_OFFSET(13592, glGetProgramParameterfvNV, - glGetProgramParameterfvNV, NULL, 791), - NAME_FUNC_OFFSET(13618, glGetProgramStringNV, glGetProgramStringNV, NULL, - 792), - NAME_FUNC_OFFSET(13639, glGetProgramivNV, glGetProgramivNV, NULL, 793), - NAME_FUNC_OFFSET(13656, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, - 794), - NAME_FUNC_OFFSET(13677, glGetVertexAttribPointervNV, - glGetVertexAttribPointervNV, NULL, 795), - NAME_FUNC_OFFSET(13705, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, - 796), - NAME_FUNC_OFFSET(13727, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, - 797), - NAME_FUNC_OFFSET(13749, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, - 798), - NAME_FUNC_OFFSET(13771, glIsProgramNV, glIsProgramNV, NULL, 799), - NAME_FUNC_OFFSET(13785, glLoadProgramNV, glLoadProgramNV, NULL, 800), - NAME_FUNC_OFFSET(13801, glProgramParameters4dvNV, glProgramParameters4dvNV, - NULL, 801), - NAME_FUNC_OFFSET(13826, glProgramParameters4fvNV, glProgramParameters4fvNV, - NULL, 802), - NAME_FUNC_OFFSET(13851, glRequestResidentProgramsNV, - glRequestResidentProgramsNV, NULL, 803), - NAME_FUNC_OFFSET(13879, glTrackMatrixNV, glTrackMatrixNV, NULL, 804), - NAME_FUNC_OFFSET(13895, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 805), - NAME_FUNC_OFFSET(13914, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, - 806), - NAME_FUNC_OFFSET(13934, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 807), - NAME_FUNC_OFFSET(13953, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, - 808), - NAME_FUNC_OFFSET(13973, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 809), - NAME_FUNC_OFFSET(13992, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, - 810), - NAME_FUNC_OFFSET(14012, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 811), - NAME_FUNC_OFFSET(14031, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, - 812), - NAME_FUNC_OFFSET(14051, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 813), - NAME_FUNC_OFFSET(14070, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, - 814), - NAME_FUNC_OFFSET(14090, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 815), - NAME_FUNC_OFFSET(14109, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, - 816), - NAME_FUNC_OFFSET(14129, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 817), - NAME_FUNC_OFFSET(14148, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, - 818), - NAME_FUNC_OFFSET(14168, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 819), - NAME_FUNC_OFFSET(14187, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, - 820), - NAME_FUNC_OFFSET(14207, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 821), - NAME_FUNC_OFFSET(14226, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, - 822), - NAME_FUNC_OFFSET(14246, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 823), - NAME_FUNC_OFFSET(14265, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, - 824), - NAME_FUNC_OFFSET(14285, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 825), - NAME_FUNC_OFFSET(14304, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, - 826), - NAME_FUNC_OFFSET(14324, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 827), - NAME_FUNC_OFFSET(14343, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, - 828), - NAME_FUNC_OFFSET(14363, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, - 829), - NAME_FUNC_OFFSET(14383, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, - 830), - NAME_FUNC_OFFSET(14404, glVertexAttribPointerNV, glVertexAttribPointerNV, - NULL, 831), - NAME_FUNC_OFFSET(14428, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, - 832), - NAME_FUNC_OFFSET(14449, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, - 833), - NAME_FUNC_OFFSET(14470, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, - 834), - NAME_FUNC_OFFSET(14491, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, - 835), - NAME_FUNC_OFFSET(14512, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, - 836), - NAME_FUNC_OFFSET(14533, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, - 837), - NAME_FUNC_OFFSET(14554, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, - 838), - NAME_FUNC_OFFSET(14575, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, - 839), - NAME_FUNC_OFFSET(14596, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, - 840), - NAME_FUNC_OFFSET(14617, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, - 841), - NAME_FUNC_OFFSET(14638, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, - 842), - NAME_FUNC_OFFSET(14659, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, - 843), - NAME_FUNC_OFFSET(14680, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, - 844), - NAME_FUNC_OFFSET(14702, glGetTexBumpParameterfvATI, - glGetTexBumpParameterfvATI, NULL, 845), - NAME_FUNC_OFFSET(14729, glGetTexBumpParameterivATI, - glGetTexBumpParameterivATI, NULL, 846), - NAME_FUNC_OFFSET(14756, glTexBumpParameterfvATI, glTexBumpParameterfvATI, - NULL, 847), - NAME_FUNC_OFFSET(14780, glTexBumpParameterivATI, glTexBumpParameterivATI, - NULL, 848), - NAME_FUNC_OFFSET(14804, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, - 849), - NAME_FUNC_OFFSET(14826, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, - 850), - NAME_FUNC_OFFSET(14848, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, - 851), - NAME_FUNC_OFFSET(14870, glBeginFragmentShaderATI, glBeginFragmentShaderATI, - NULL, 852), - NAME_FUNC_OFFSET(14895, glBindFragmentShaderATI, glBindFragmentShaderATI, - NULL, 853), - NAME_FUNC_OFFSET(14919, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, - 854), - NAME_FUNC_OFFSET(14941, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, - 855), - NAME_FUNC_OFFSET(14963, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, - 856), - NAME_FUNC_OFFSET(14985, glDeleteFragmentShaderATI, - glDeleteFragmentShaderATI, NULL, 857), - NAME_FUNC_OFFSET(15011, glEndFragmentShaderATI, glEndFragmentShaderATI, - NULL, 858), - NAME_FUNC_OFFSET(15034, glGenFragmentShadersATI, glGenFragmentShadersATI, - NULL, 859), - NAME_FUNC_OFFSET(15058, glPassTexCoordATI, glPassTexCoordATI, NULL, 860), - NAME_FUNC_OFFSET(15076, glSampleMapATI, glSampleMapATI, NULL, 861), - NAME_FUNC_OFFSET(15091, glSetFragmentShaderConstantATI, - glSetFragmentShaderConstantATI, NULL, 862), - NAME_FUNC_OFFSET(15122, glPointParameteriNV, glPointParameteriNV, NULL, - 863), - NAME_FUNC_OFFSET(15142, glPointParameterivNV, glPointParameterivNV, NULL, - 864), - NAME_FUNC_OFFSET(15163, gl_dispatch_stub_865, gl_dispatch_stub_865, NULL, - 865), - NAME_FUNC_OFFSET(15186, gl_dispatch_stub_866, gl_dispatch_stub_866, NULL, - 866), - NAME_FUNC_OFFSET(15209, gl_dispatch_stub_867, gl_dispatch_stub_867, NULL, - 867), - NAME_FUNC_OFFSET(15235, gl_dispatch_stub_868, gl_dispatch_stub_868, NULL, - 868), - NAME_FUNC_OFFSET(15258, gl_dispatch_stub_869, gl_dispatch_stub_869, NULL, - 869), - NAME_FUNC_OFFSET(15279, glGetProgramNamedParameterdvNV, - glGetProgramNamedParameterdvNV, NULL, 870), - NAME_FUNC_OFFSET(15310, glGetProgramNamedParameterfvNV, - glGetProgramNamedParameterfvNV, NULL, 871), - NAME_FUNC_OFFSET(15341, glProgramNamedParameter4dNV, - glProgramNamedParameter4dNV, NULL, 872), - NAME_FUNC_OFFSET(15369, glProgramNamedParameter4dvNV, - glProgramNamedParameter4dvNV, NULL, 873), - NAME_FUNC_OFFSET(15398, glProgramNamedParameter4fNV, - glProgramNamedParameter4fNV, NULL, 874), - NAME_FUNC_OFFSET(15426, glProgramNamedParameter4fvNV, - glProgramNamedParameter4fvNV, NULL, 875), - NAME_FUNC_OFFSET(15455, glPrimitiveRestartIndexNV, - glPrimitiveRestartIndexNV, NULL, 876), - NAME_FUNC_OFFSET(15481, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, - 877), - NAME_FUNC_OFFSET(15502, gl_dispatch_stub_878, gl_dispatch_stub_878, NULL, - 878), - NAME_FUNC_OFFSET(15519, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, - 879), - NAME_FUNC_OFFSET(15546, glBindFramebufferEXT, glBindFramebufferEXT, NULL, - 880), - NAME_FUNC_OFFSET(15567, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, - 881), - NAME_FUNC_OFFSET(15589, glCheckFramebufferStatusEXT, - glCheckFramebufferStatusEXT, NULL, 882), - NAME_FUNC_OFFSET(15617, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, - NULL, 883), - NAME_FUNC_OFFSET(15641, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, - NULL, 884), - NAME_FUNC_OFFSET(15666, glFramebufferRenderbufferEXT, - glFramebufferRenderbufferEXT, NULL, 885), - NAME_FUNC_OFFSET(15695, glFramebufferTexture1DEXT, - glFramebufferTexture1DEXT, NULL, 886), - NAME_FUNC_OFFSET(15721, glFramebufferTexture2DEXT, - glFramebufferTexture2DEXT, NULL, 887), - NAME_FUNC_OFFSET(15747, glFramebufferTexture3DEXT, - glFramebufferTexture3DEXT, NULL, 888), - NAME_FUNC_OFFSET(15773, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, - 889), - NAME_FUNC_OFFSET(15794, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, - 890), - NAME_FUNC_OFFSET(15816, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, - 891), - NAME_FUNC_OFFSET(15836, glGetFramebufferAttachmentParameterivEXT, - glGetFramebufferAttachmentParameterivEXT, NULL, 892), - NAME_FUNC_OFFSET(15877, glGetRenderbufferParameterivEXT, - glGetRenderbufferParameterivEXT, NULL, 893), - NAME_FUNC_OFFSET(15909, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 894), - NAME_FUNC_OFFSET(15928, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, - 895), - NAME_FUNC_OFFSET(15948, glRenderbufferStorageEXT, glRenderbufferStorageEXT, - NULL, 896), - NAME_FUNC_OFFSET(15973, gl_dispatch_stub_897, gl_dispatch_stub_897, NULL, - 897), - NAME_FUNC_OFFSET(15994, gl_dispatch_stub_898, gl_dispatch_stub_898, NULL, - 898), - NAME_FUNC_OFFSET(16018, gl_dispatch_stub_899, gl_dispatch_stub_899, NULL, - 899), - NAME_FUNC_OFFSET(16048, glBindFragDataLocationEXT, - glBindFragDataLocationEXT, NULL, 900), - NAME_FUNC_OFFSET(16074, glGetFragDataLocationEXT, glGetFragDataLocationEXT, - NULL, 901), - NAME_FUNC_OFFSET(16099, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 902), - NAME_FUNC_OFFSET(16118, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, - NULL, 903), - NAME_FUNC_OFFSET(16142, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, - NULL, 904), - NAME_FUNC_OFFSET(16167, glUniform1uiEXT, glUniform1uiEXT, NULL, 905), - NAME_FUNC_OFFSET(16183, glUniform1uivEXT, glUniform1uivEXT, NULL, 906), - NAME_FUNC_OFFSET(16200, glUniform2uiEXT, glUniform2uiEXT, NULL, 907), - NAME_FUNC_OFFSET(16216, glUniform2uivEXT, glUniform2uivEXT, NULL, 908), - NAME_FUNC_OFFSET(16233, glUniform3uiEXT, glUniform3uiEXT, NULL, 909), - NAME_FUNC_OFFSET(16249, glUniform3uivEXT, glUniform3uivEXT, NULL, 910), - NAME_FUNC_OFFSET(16266, glUniform4uiEXT, glUniform4uiEXT, NULL, 911), - NAME_FUNC_OFFSET(16282, glUniform4uivEXT, glUniform4uivEXT, NULL, 912), - NAME_FUNC_OFFSET(16299, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, - 913), - NAME_FUNC_OFFSET(16320, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, - 914), - NAME_FUNC_OFFSET(16342, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, - 915), - NAME_FUNC_OFFSET(16364, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, - NULL, 916), - NAME_FUNC_OFFSET(16387, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, - 917), - NAME_FUNC_OFFSET(16408, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, - 918), - NAME_FUNC_OFFSET(16430, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, - 919), - NAME_FUNC_OFFSET(16452, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, - NULL, 920), - NAME_FUNC_OFFSET(16475, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, - 921), - NAME_FUNC_OFFSET(16496, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, - 922), - NAME_FUNC_OFFSET(16518, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, - 923), - NAME_FUNC_OFFSET(16540, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, - NULL, 924), - NAME_FUNC_OFFSET(16563, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, - 925), - NAME_FUNC_OFFSET(16585, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, - 926), - NAME_FUNC_OFFSET(16606, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, - 927), - NAME_FUNC_OFFSET(16628, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, - 928), - NAME_FUNC_OFFSET(16650, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, - NULL, 929), - NAME_FUNC_OFFSET(16673, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, - 930), - NAME_FUNC_OFFSET(16695, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, - NULL, 931), - NAME_FUNC_OFFSET(16718, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, - NULL, 932), - NAME_FUNC_OFFSET(16741, glVertexAttribIPointerEXT, - glVertexAttribIPointerEXT, NULL, 933), - NAME_FUNC_OFFSET(16767, glFramebufferTextureLayerEXT, - glFramebufferTextureLayerEXT, NULL, 934), - NAME_FUNC_OFFSET(16796, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, - 935), - NAME_FUNC_OFFSET(16818, glDisableIndexedEXT, glDisableIndexedEXT, NULL, - 936), - NAME_FUNC_OFFSET(16838, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 937), - NAME_FUNC_OFFSET(16857, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, - NULL, 938), - NAME_FUNC_OFFSET(16881, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, - NULL, 939), - NAME_FUNC_OFFSET(16905, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, - 940), - NAME_FUNC_OFFSET(16927, glClearColorIiEXT, glClearColorIiEXT, NULL, 941), - NAME_FUNC_OFFSET(16945, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 942), - NAME_FUNC_OFFSET(16964, glGetTexParameterIivEXT, glGetTexParameterIivEXT, - NULL, 943), - NAME_FUNC_OFFSET(16988, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, - NULL, 944), - NAME_FUNC_OFFSET(17013, glTexParameterIivEXT, glTexParameterIivEXT, NULL, - 945), - NAME_FUNC_OFFSET(17034, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, - 946), - NAME_FUNC_OFFSET(17056, glBeginConditionalRenderNV, - glBeginConditionalRenderNV, NULL, 947), - NAME_FUNC_OFFSET(17083, glEndConditionalRenderNV, glEndConditionalRenderNV, - NULL, 948), - NAME_FUNC_OFFSET(17108, glBeginTransformFeedbackEXT, - glBeginTransformFeedbackEXT, NULL, 949), - NAME_FUNC_OFFSET(17136, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, - 950), - NAME_FUNC_OFFSET(17156, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, - 951), - NAME_FUNC_OFFSET(17178, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, - 952), - NAME_FUNC_OFFSET(17199, glEndTransformFeedbackEXT, - glEndTransformFeedbackEXT, NULL, 953), - NAME_FUNC_OFFSET(17225, glGetTransformFeedbackVaryingEXT, - glGetTransformFeedbackVaryingEXT, NULL, 954), - NAME_FUNC_OFFSET(17258, glTransformFeedbackVaryingsEXT, - glTransformFeedbackVaryingsEXT, NULL, 955), - NAME_FUNC_OFFSET(17289, glProvokingVertexEXT, glProvokingVertexEXT, NULL, - 956), - NAME_FUNC_OFFSET(17310, gl_dispatch_stub_957, gl_dispatch_stub_957, NULL, - 957), - NAME_FUNC_OFFSET(17341, gl_dispatch_stub_958, gl_dispatch_stub_958, NULL, - 958), - NAME_FUNC_OFFSET(17361, glGetObjectParameterivAPPLE, - glGetObjectParameterivAPPLE, NULL, 959), - NAME_FUNC_OFFSET(17389, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, - NULL, 960), - NAME_FUNC_OFFSET(17412, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, - NULL, 961), - NAME_FUNC_OFFSET(17437, glActiveProgramEXT, glActiveProgramEXT, NULL, 962), - NAME_FUNC_OFFSET(17456, glCreateShaderProgramEXT, glCreateShaderProgramEXT, - NULL, 963), - NAME_FUNC_OFFSET(17481, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, - 964), - NAME_FUNC_OFFSET(17503, glTextureBarrierNV, glTextureBarrierNV, NULL, 965), - NAME_FUNC_OFFSET(17522, gl_dispatch_stub_966, gl_dispatch_stub_966, NULL, - 966), - NAME_FUNC_OFFSET(17547, gl_dispatch_stub_967, gl_dispatch_stub_967, NULL, - 967), - NAME_FUNC_OFFSET(17576, gl_dispatch_stub_968, gl_dispatch_stub_968, NULL, - 968), - NAME_FUNC_OFFSET(17607, gl_dispatch_stub_969, gl_dispatch_stub_969, NULL, - 969), - NAME_FUNC_OFFSET(17631, gl_dispatch_stub_970, gl_dispatch_stub_970, NULL, - 970), - NAME_FUNC_OFFSET(17656, glEGLImageTargetRenderbufferStorageOES, - glEGLImageTargetRenderbufferStorageOES, NULL, 971), - NAME_FUNC_OFFSET(17695, glEGLImageTargetTexture2DOES, - glEGLImageTargetTexture2DOES, NULL, 972), - NAME_FUNC_OFFSET(17724, glArrayElement, glArrayElement, NULL, 306), - NAME_FUNC_OFFSET(17742, glBindTexture, glBindTexture, NULL, 307), - NAME_FUNC_OFFSET(17759, glDrawArrays, glDrawArrays, NULL, 310), - NAME_FUNC_OFFSET(17775, glAreTexturesResident, glAreTexturesResidentEXT, - glAreTexturesResidentEXT, 322), - NAME_FUNC_OFFSET(17800, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), - NAME_FUNC_OFFSET(17820, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), - NAME_FUNC_OFFSET(17840, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, - 325), - NAME_FUNC_OFFSET(17863, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, - 326), - NAME_FUNC_OFFSET(17886, glDeleteTextures, glDeleteTexturesEXT, - glDeleteTexturesEXT, 327), - NAME_FUNC_OFFSET(17906, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, - 328), - NAME_FUNC_OFFSET(17923, glGetPointerv, glGetPointerv, NULL, 329), - NAME_FUNC_OFFSET(17940, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), - NAME_FUNC_OFFSET(17955, glPrioritizeTextures, glPrioritizeTextures, NULL, - 331), - NAME_FUNC_OFFSET(17979, glTexSubImage1D, glTexSubImage1D, NULL, 332), - NAME_FUNC_OFFSET(17998, glTexSubImage2D, glTexSubImage2D, NULL, 333), - NAME_FUNC_OFFSET(18017, glBlendColor, glBlendColor, NULL, 336), - NAME_FUNC_OFFSET(18033, glBlendEquation, glBlendEquation, NULL, 337), - NAME_FUNC_OFFSET(18052, glDrawRangeElements, glDrawRangeElements, NULL, - 338), - NAME_FUNC_OFFSET(18075, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(18091, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(18107, glColorTableParameterfv, glColorTableParameterfv, - NULL, 340), - NAME_FUNC_OFFSET(18134, glColorTableParameteriv, glColorTableParameteriv, - NULL, 341), - NAME_FUNC_OFFSET(18161, glCopyColorTable, glCopyColorTable, NULL, 342), - NAME_FUNC_OFFSET(18181, glGetColorTable, glGetColorTableEXT, - glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(18200, glGetColorTable, glGetColorTableEXT, - glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(18219, glGetColorTableParameterfv, - glGetColorTableParameterfvEXT, - glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(18249, glGetColorTableParameterfv, - glGetColorTableParameterfvEXT, - glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(18279, glGetColorTableParameteriv, - glGetColorTableParameterivEXT, - glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(18309, glGetColorTableParameteriv, - glGetColorTableParameterivEXT, - glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(18339, glColorSubTable, glColorSubTable, NULL, 346), - NAME_FUNC_OFFSET(18358, glCopyColorSubTable, glCopyColorSubTable, NULL, - 347), - NAME_FUNC_OFFSET(18381, glConvolutionFilter1D, glConvolutionFilter1D, NULL, - 348), - NAME_FUNC_OFFSET(18406, glConvolutionFilter2D, glConvolutionFilter2D, NULL, - 349), - NAME_FUNC_OFFSET(18431, glConvolutionParameterf, glConvolutionParameterf, - NULL, 350), - NAME_FUNC_OFFSET(18458, glConvolutionParameterfv, glConvolutionParameterfv, - NULL, 351), - NAME_FUNC_OFFSET(18486, glConvolutionParameteri, glConvolutionParameteri, - NULL, 352), - NAME_FUNC_OFFSET(18513, glConvolutionParameteriv, glConvolutionParameteriv, - NULL, 353), - NAME_FUNC_OFFSET(18541, glCopyConvolutionFilter1D, - glCopyConvolutionFilter1D, NULL, 354), - NAME_FUNC_OFFSET(18570, glCopyConvolutionFilter2D, - glCopyConvolutionFilter2D, NULL, 355), - NAME_FUNC_OFFSET(18599, glGetConvolutionFilter, gl_dispatch_stub_356, - gl_dispatch_stub_356, 356), - NAME_FUNC_OFFSET(18625, glGetConvolutionParameterfv, gl_dispatch_stub_357, - gl_dispatch_stub_357, 357), - NAME_FUNC_OFFSET(18656, glGetConvolutionParameteriv, gl_dispatch_stub_358, - gl_dispatch_stub_358, 358), - NAME_FUNC_OFFSET(18687, glGetSeparableFilter, gl_dispatch_stub_359, - gl_dispatch_stub_359, 359), - NAME_FUNC_OFFSET(18711, glSeparableFilter2D, glSeparableFilter2D, NULL, - 360), - NAME_FUNC_OFFSET(18734, glGetHistogram, gl_dispatch_stub_361, - gl_dispatch_stub_361, 361), - NAME_FUNC_OFFSET(18752, glGetHistogramParameterfv, gl_dispatch_stub_362, - gl_dispatch_stub_362, 362), - NAME_FUNC_OFFSET(18781, glGetHistogramParameteriv, gl_dispatch_stub_363, - gl_dispatch_stub_363, 363), - NAME_FUNC_OFFSET(18810, glGetMinmax, gl_dispatch_stub_364, - gl_dispatch_stub_364, 364), - NAME_FUNC_OFFSET(18825, glGetMinmaxParameterfv, gl_dispatch_stub_365, - gl_dispatch_stub_365, 365), - NAME_FUNC_OFFSET(18851, glGetMinmaxParameteriv, gl_dispatch_stub_366, - gl_dispatch_stub_366, 366), - NAME_FUNC_OFFSET(18877, glHistogram, glHistogram, NULL, 367), - NAME_FUNC_OFFSET(18892, glMinmax, glMinmax, NULL, 368), - NAME_FUNC_OFFSET(18904, glResetHistogram, glResetHistogram, NULL, 369), - NAME_FUNC_OFFSET(18924, glResetMinmax, glResetMinmax, NULL, 370), - NAME_FUNC_OFFSET(18941, glTexImage3D, glTexImage3D, NULL, 371), - NAME_FUNC_OFFSET(18957, glTexSubImage3D, glTexSubImage3D, NULL, 372), - NAME_FUNC_OFFSET(18976, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, - 373), - NAME_FUNC_OFFSET(18999, glActiveTextureARB, glActiveTextureARB, NULL, 374), - NAME_FUNC_OFFSET(19015, glClientActiveTextureARB, glClientActiveTextureARB, - NULL, 375), - NAME_FUNC_OFFSET(19037, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, - 376), - NAME_FUNC_OFFSET(19055, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, - 377), - NAME_FUNC_OFFSET(19074, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, - 378), - NAME_FUNC_OFFSET(19092, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, - 379), - NAME_FUNC_OFFSET(19111, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, - 380), - NAME_FUNC_OFFSET(19129, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, - 381), - NAME_FUNC_OFFSET(19148, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, - 382), - NAME_FUNC_OFFSET(19166, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, - 383), - NAME_FUNC_OFFSET(19185, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, - 384), - NAME_FUNC_OFFSET(19203, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, - 385), - NAME_FUNC_OFFSET(19222, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, - 386), - NAME_FUNC_OFFSET(19240, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, - 387), - NAME_FUNC_OFFSET(19259, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, - 388), - NAME_FUNC_OFFSET(19277, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, - 389), - NAME_FUNC_OFFSET(19296, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, - 390), - NAME_FUNC_OFFSET(19314, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, - 391), - NAME_FUNC_OFFSET(19333, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, - 392), - NAME_FUNC_OFFSET(19351, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, - 393), - NAME_FUNC_OFFSET(19370, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, - 394), - NAME_FUNC_OFFSET(19388, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, - 395), - NAME_FUNC_OFFSET(19407, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, - 396), - NAME_FUNC_OFFSET(19425, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, - 397), - NAME_FUNC_OFFSET(19444, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, - 398), - NAME_FUNC_OFFSET(19462, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, - 399), - NAME_FUNC_OFFSET(19481, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, - 400), - NAME_FUNC_OFFSET(19499, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, - 401), - NAME_FUNC_OFFSET(19518, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, - 402), - NAME_FUNC_OFFSET(19536, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, - 403), - NAME_FUNC_OFFSET(19555, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, - 404), - NAME_FUNC_OFFSET(19573, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, - 405), - NAME_FUNC_OFFSET(19592, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, - 406), - NAME_FUNC_OFFSET(19610, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, - 407), - NAME_FUNC_OFFSET(19629, glStencilOpSeparate, glStencilOpSeparate, NULL, - 423), - NAME_FUNC_OFFSET(19652, glLoadTransposeMatrixdARB, - glLoadTransposeMatrixdARB, NULL, 441), - NAME_FUNC_OFFSET(19675, glLoadTransposeMatrixfARB, - glLoadTransposeMatrixfARB, NULL, 442), - NAME_FUNC_OFFSET(19698, glMultTransposeMatrixdARB, - glMultTransposeMatrixdARB, NULL, 443), - NAME_FUNC_OFFSET(19721, glMultTransposeMatrixfARB, - glMultTransposeMatrixfARB, NULL, 444), - NAME_FUNC_OFFSET(19744, glSampleCoverageARB, glSampleCoverageARB, NULL, - 445), - NAME_FUNC_OFFSET(19761, glCompressedTexImage1DARB, - glCompressedTexImage1DARB, NULL, 446), - NAME_FUNC_OFFSET(19784, glCompressedTexImage2DARB, - glCompressedTexImage2DARB, NULL, 447), - NAME_FUNC_OFFSET(19807, glCompressedTexImage3DARB, - glCompressedTexImage3DARB, NULL, 448), - NAME_FUNC_OFFSET(19830, glCompressedTexSubImage1DARB, - glCompressedTexSubImage1DARB, NULL, 449), - NAME_FUNC_OFFSET(19856, glCompressedTexSubImage2DARB, - glCompressedTexSubImage2DARB, NULL, 450), - NAME_FUNC_OFFSET(19882, glCompressedTexSubImage3DARB, - glCompressedTexSubImage3DARB, NULL, 451), - NAME_FUNC_OFFSET(19908, glGetCompressedTexImageARB, - glGetCompressedTexImageARB, NULL, 452), - NAME_FUNC_OFFSET(19932, glDisableVertexAttribArrayARB, - glDisableVertexAttribArrayARB, NULL, 453), - NAME_FUNC_OFFSET(19959, glEnableVertexAttribArrayARB, - glEnableVertexAttribArrayARB, NULL, 454), - NAME_FUNC_OFFSET(19985, glGetVertexAttribdvARB, glGetVertexAttribdvARB, - NULL, 461), - NAME_FUNC_OFFSET(20005, glGetVertexAttribfvARB, glGetVertexAttribfvARB, - NULL, 462), - NAME_FUNC_OFFSET(20025, glGetVertexAttribivARB, glGetVertexAttribivARB, - NULL, 463), - NAME_FUNC_OFFSET(20045, glProgramEnvParameter4dARB, - glProgramEnvParameter4dARB, NULL, 464), - NAME_FUNC_OFFSET(20068, glProgramEnvParameter4dvARB, - glProgramEnvParameter4dvARB, NULL, 465), - NAME_FUNC_OFFSET(20092, glProgramEnvParameter4fARB, - glProgramEnvParameter4fARB, NULL, 466), - NAME_FUNC_OFFSET(20115, glProgramEnvParameter4fvARB, - glProgramEnvParameter4fvARB, NULL, 467), - NAME_FUNC_OFFSET(20139, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, - 473), - NAME_FUNC_OFFSET(20156, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, - 474), - NAME_FUNC_OFFSET(20174, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, - 475), - NAME_FUNC_OFFSET(20191, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, - 476), - NAME_FUNC_OFFSET(20209, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, - 477), - NAME_FUNC_OFFSET(20226, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, - 478), - NAME_FUNC_OFFSET(20244, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, - 479), - NAME_FUNC_OFFSET(20261, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, - 480), - NAME_FUNC_OFFSET(20279, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, - 481), - NAME_FUNC_OFFSET(20296, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, - 482), - NAME_FUNC_OFFSET(20314, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, - 483), - NAME_FUNC_OFFSET(20331, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, - 484), - NAME_FUNC_OFFSET(20349, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, - 485), - NAME_FUNC_OFFSET(20366, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, - 486), - NAME_FUNC_OFFSET(20384, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, - 487), - NAME_FUNC_OFFSET(20401, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, - 488), - NAME_FUNC_OFFSET(20419, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, - 489), - NAME_FUNC_OFFSET(20436, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, - 490), - NAME_FUNC_OFFSET(20454, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, - 491), - NAME_FUNC_OFFSET(20473, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, - 492), - NAME_FUNC_OFFSET(20492, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, - 493), - NAME_FUNC_OFFSET(20511, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, - 494), - NAME_FUNC_OFFSET(20530, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, - NULL, 495), - NAME_FUNC_OFFSET(20550, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, - NULL, 496), - NAME_FUNC_OFFSET(20570, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, - NULL, 497), - NAME_FUNC_OFFSET(20590, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, - 498), - NAME_FUNC_OFFSET(20608, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, - 499), - NAME_FUNC_OFFSET(20625, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, - 500), - NAME_FUNC_OFFSET(20643, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, - 501), - NAME_FUNC_OFFSET(20660, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, - 502), - NAME_FUNC_OFFSET(20678, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, - 503), - NAME_FUNC_OFFSET(20696, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, - 504), - NAME_FUNC_OFFSET(20713, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, - 505), - NAME_FUNC_OFFSET(20731, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, - 506), - NAME_FUNC_OFFSET(20750, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, - 507), - NAME_FUNC_OFFSET(20769, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, - 508), - NAME_FUNC_OFFSET(20788, glVertexAttribPointerARB, glVertexAttribPointerARB, - NULL, 509), - NAME_FUNC_OFFSET(20810, glBindBufferARB, glBindBufferARB, NULL, 510), - NAME_FUNC_OFFSET(20823, glBufferDataARB, glBufferDataARB, NULL, 511), - NAME_FUNC_OFFSET(20836, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), - NAME_FUNC_OFFSET(20852, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), - NAME_FUNC_OFFSET(20868, glGenBuffersARB, glGenBuffersARB, NULL, 514), - NAME_FUNC_OFFSET(20881, glGetBufferParameterivARB, - glGetBufferParameterivARB, NULL, 515), - NAME_FUNC_OFFSET(20904, glGetBufferPointervARB, glGetBufferPointervARB, - NULL, 516), - NAME_FUNC_OFFSET(20924, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, - 517), - NAME_FUNC_OFFSET(20943, glIsBufferARB, glIsBufferARB, NULL, 518), - NAME_FUNC_OFFSET(20954, glMapBufferARB, glMapBufferARB, NULL, 519), - NAME_FUNC_OFFSET(20966, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), - NAME_FUNC_OFFSET(20980, glBeginQueryARB, glBeginQueryARB, NULL, 521), - NAME_FUNC_OFFSET(20993, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), - NAME_FUNC_OFFSET(21009, glEndQueryARB, glEndQueryARB, NULL, 523), - NAME_FUNC_OFFSET(21020, glGenQueriesARB, glGenQueriesARB, NULL, 524), - NAME_FUNC_OFFSET(21033, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, - 525), - NAME_FUNC_OFFSET(21052, glGetQueryObjectuivARB, glGetQueryObjectuivARB, - NULL, 526), - NAME_FUNC_OFFSET(21072, glGetQueryivARB, glGetQueryivARB, NULL, 527), - NAME_FUNC_OFFSET(21085, glIsQueryARB, glIsQueryARB, NULL, 528), - NAME_FUNC_OFFSET(21095, glCompileShaderARB, glCompileShaderARB, NULL, 530), - NAME_FUNC_OFFSET(21111, glGetActiveUniformARB, glGetActiveUniformARB, NULL, - 535), - NAME_FUNC_OFFSET(21130, glGetShaderSourceARB, glGetShaderSourceARB, NULL, - 541), - NAME_FUNC_OFFSET(21148, glGetUniformLocationARB, glGetUniformLocationARB, - NULL, 542), - NAME_FUNC_OFFSET(21169, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), - NAME_FUNC_OFFSET(21184, glGetUniformivARB, glGetUniformivARB, NULL, 544), - NAME_FUNC_OFFSET(21199, glLinkProgramARB, glLinkProgramARB, NULL, 545), - NAME_FUNC_OFFSET(21213, glShaderSourceARB, glShaderSourceARB, NULL, 546), - NAME_FUNC_OFFSET(21228, glUniform1fARB, glUniform1fARB, NULL, 547), - NAME_FUNC_OFFSET(21240, glUniform1fvARB, glUniform1fvARB, NULL, 548), - NAME_FUNC_OFFSET(21253, glUniform1iARB, glUniform1iARB, NULL, 549), - NAME_FUNC_OFFSET(21265, glUniform1ivARB, glUniform1ivARB, NULL, 550), - NAME_FUNC_OFFSET(21278, glUniform2fARB, glUniform2fARB, NULL, 551), - NAME_FUNC_OFFSET(21290, glUniform2fvARB, glUniform2fvARB, NULL, 552), - NAME_FUNC_OFFSET(21303, glUniform2iARB, glUniform2iARB, NULL, 553), - NAME_FUNC_OFFSET(21315, glUniform2ivARB, glUniform2ivARB, NULL, 554), - NAME_FUNC_OFFSET(21328, glUniform3fARB, glUniform3fARB, NULL, 555), - NAME_FUNC_OFFSET(21340, glUniform3fvARB, glUniform3fvARB, NULL, 556), - NAME_FUNC_OFFSET(21353, glUniform3iARB, glUniform3iARB, NULL, 557), - NAME_FUNC_OFFSET(21365, glUniform3ivARB, glUniform3ivARB, NULL, 558), - NAME_FUNC_OFFSET(21378, glUniform4fARB, glUniform4fARB, NULL, 559), - NAME_FUNC_OFFSET(21390, glUniform4fvARB, glUniform4fvARB, NULL, 560), - NAME_FUNC_OFFSET(21403, glUniform4iARB, glUniform4iARB, NULL, 561), - NAME_FUNC_OFFSET(21415, glUniform4ivARB, glUniform4ivARB, NULL, 562), - NAME_FUNC_OFFSET(21428, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, - 563), - NAME_FUNC_OFFSET(21447, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, - 564), - NAME_FUNC_OFFSET(21466, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, - 565), - NAME_FUNC_OFFSET(21485, glUseProgramObjectARB, glUseProgramObjectARB, NULL, - 566), - NAME_FUNC_OFFSET(21498, glValidateProgramARB, glValidateProgramARB, NULL, - 567), - NAME_FUNC_OFFSET(21516, glBindAttribLocationARB, glBindAttribLocationARB, - NULL, 568), - NAME_FUNC_OFFSET(21537, glGetActiveAttribARB, glGetActiveAttribARB, NULL, - 569), - NAME_FUNC_OFFSET(21555, glGetAttribLocationARB, glGetAttribLocationARB, - NULL, 570), - NAME_FUNC_OFFSET(21575, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(21589, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(21606, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(21622, glDrawArraysInstancedARB, glDrawArraysInstancedARB, - NULL, 573), - NAME_FUNC_OFFSET(21647, glDrawArraysInstancedARB, glDrawArraysInstancedARB, - NULL, 573), - NAME_FUNC_OFFSET(21669, glDrawElementsInstancedARB, - glDrawElementsInstancedARB, NULL, 574), - NAME_FUNC_OFFSET(21696, glDrawElementsInstancedARB, - glDrawElementsInstancedARB, NULL, 574), - NAME_FUNC_OFFSET(21720, glRenderbufferStorageMultisample, - glRenderbufferStorageMultisample, NULL, 575), - NAME_FUNC_OFFSET(21756, glBlendEquationSeparateiARB, - glBlendEquationSeparateiARB, NULL, 597), - NAME_FUNC_OFFSET(21790, glBlendEquationiARB, glBlendEquationiARB, NULL, - 598), - NAME_FUNC_OFFSET(21816, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, - NULL, 599), - NAME_FUNC_OFFSET(21846, glBlendFunciARB, glBlendFunciARB, NULL, 600), - NAME_FUNC_OFFSET(21868, gl_dispatch_stub_698, gl_dispatch_stub_698, NULL, - 698), - NAME_FUNC_OFFSET(21884, gl_dispatch_stub_699, gl_dispatch_stub_699, NULL, - 699), - NAME_FUNC_OFFSET(21903, glPointParameterfEXT, glPointParameterfEXT, NULL, - 706), - NAME_FUNC_OFFSET(21921, glPointParameterfEXT, glPointParameterfEXT, NULL, - 706), - NAME_FUNC_OFFSET(21942, glPointParameterfEXT, glPointParameterfEXT, NULL, - 706), - NAME_FUNC_OFFSET(21964, glPointParameterfvEXT, glPointParameterfvEXT, NULL, - 707), - NAME_FUNC_OFFSET(21983, glPointParameterfvEXT, glPointParameterfvEXT, NULL, - 707), - NAME_FUNC_OFFSET(22005, glPointParameterfvEXT, glPointParameterfvEXT, NULL, - 707), - NAME_FUNC_OFFSET(22028, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, - 710), - NAME_FUNC_OFFSET(22047, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, - NULL, 711), - NAME_FUNC_OFFSET(22067, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, - 712), - NAME_FUNC_OFFSET(22086, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, - NULL, 713), - NAME_FUNC_OFFSET(22106, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, - 714), - NAME_FUNC_OFFSET(22125, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, - NULL, 715), - NAME_FUNC_OFFSET(22145, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, - 716), - NAME_FUNC_OFFSET(22164, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, - NULL, 717), - NAME_FUNC_OFFSET(22184, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, - 718), - NAME_FUNC_OFFSET(22203, glSecondaryColor3svEXT, glSecondaryColor3svEXT, - NULL, 719), - NAME_FUNC_OFFSET(22223, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, - NULL, 720), - NAME_FUNC_OFFSET(22243, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, - NULL, 721), - NAME_FUNC_OFFSET(22264, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, - NULL, 722), - NAME_FUNC_OFFSET(22284, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, - NULL, 723), - NAME_FUNC_OFFSET(22305, glSecondaryColor3usEXT, glSecondaryColor3usEXT, - NULL, 724), - NAME_FUNC_OFFSET(22325, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, - NULL, 725), - NAME_FUNC_OFFSET(22346, glSecondaryColorPointerEXT, - glSecondaryColorPointerEXT, NULL, 726), - NAME_FUNC_OFFSET(22370, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, - 727), - NAME_FUNC_OFFSET(22388, glMultiDrawElementsEXT, glMultiDrawElementsEXT, - NULL, 728), - NAME_FUNC_OFFSET(22408, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, - 729), - NAME_FUNC_OFFSET(22426, glFogCoorddEXT, glFogCoorddEXT, NULL, 730), - NAME_FUNC_OFFSET(22438, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 731), - NAME_FUNC_OFFSET(22451, glFogCoordfEXT, glFogCoordfEXT, NULL, 732), - NAME_FUNC_OFFSET(22463, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 733), - NAME_FUNC_OFFSET(22476, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, - NULL, 735), - NAME_FUNC_OFFSET(22496, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, - NULL, 735), - NAME_FUNC_OFFSET(22520, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752), - NAME_FUNC_OFFSET(22534, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752), - NAME_FUNC_OFFSET(22551, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753), - NAME_FUNC_OFFSET(22566, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753), - NAME_FUNC_OFFSET(22584, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754), - NAME_FUNC_OFFSET(22598, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754), - NAME_FUNC_OFFSET(22615, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755), - NAME_FUNC_OFFSET(22630, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755), - NAME_FUNC_OFFSET(22648, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756), - NAME_FUNC_OFFSET(22662, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756), - NAME_FUNC_OFFSET(22679, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757), - NAME_FUNC_OFFSET(22694, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757), - NAME_FUNC_OFFSET(22712, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758), - NAME_FUNC_OFFSET(22726, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758), - NAME_FUNC_OFFSET(22743, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759), - NAME_FUNC_OFFSET(22758, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759), - NAME_FUNC_OFFSET(22776, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760), - NAME_FUNC_OFFSET(22790, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760), - NAME_FUNC_OFFSET(22807, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761), - NAME_FUNC_OFFSET(22822, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761), - NAME_FUNC_OFFSET(22840, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762), - NAME_FUNC_OFFSET(22854, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762), - NAME_FUNC_OFFSET(22871, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763), - NAME_FUNC_OFFSET(22886, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763), - NAME_FUNC_OFFSET(22904, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764), - NAME_FUNC_OFFSET(22918, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764), - NAME_FUNC_OFFSET(22935, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765), - NAME_FUNC_OFFSET(22950, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765), - NAME_FUNC_OFFSET(22968, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766), - NAME_FUNC_OFFSET(22982, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766), - NAME_FUNC_OFFSET(22999, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767), - NAME_FUNC_OFFSET(23014, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767), - NAME_FUNC_OFFSET(23032, glBindProgramNV, glBindProgramNV, NULL, 786), - NAME_FUNC_OFFSET(23049, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 787), - NAME_FUNC_OFFSET(23069, glGenProgramsNV, glGenProgramsNV, NULL, 789), - NAME_FUNC_OFFSET(23086, glGetVertexAttribPointervNV, - glGetVertexAttribPointervNV, NULL, 795), - NAME_FUNC_OFFSET(23112, glGetVertexAttribPointervNV, - glGetVertexAttribPointervNV, NULL, 795), - NAME_FUNC_OFFSET(23141, glIsProgramNV, glIsProgramNV, NULL, 799), - NAME_FUNC_OFFSET(23156, glPointParameteriNV, glPointParameteriNV, NULL, - 863), - NAME_FUNC_OFFSET(23174, glPointParameterivNV, glPointParameterivNV, NULL, - 864), - NAME_FUNC_OFFSET(23193, gl_dispatch_stub_867, gl_dispatch_stub_867, NULL, - 867), - NAME_FUNC_OFFSET(23214, gl_dispatch_stub_869, gl_dispatch_stub_869, NULL, - 869), - NAME_FUNC_OFFSET(23230, glPrimitiveRestartIndexNV, - glPrimitiveRestartIndexNV, NULL, 876), - NAME_FUNC_OFFSET(23254, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, - 879), - NAME_FUNC_OFFSET(23278, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, - 879), - NAME_FUNC_OFFSET(23305, glBindFramebufferEXT, glBindFramebufferEXT, NULL, - 880), - NAME_FUNC_OFFSET(23323, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, - 881), - NAME_FUNC_OFFSET(23342, glCheckFramebufferStatusEXT, - glCheckFramebufferStatusEXT, NULL, 882), - NAME_FUNC_OFFSET(23367, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, - NULL, 883), - NAME_FUNC_OFFSET(23388, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, - NULL, 884), - NAME_FUNC_OFFSET(23410, glFramebufferRenderbufferEXT, - glFramebufferRenderbufferEXT, NULL, 885), - NAME_FUNC_OFFSET(23436, glFramebufferTexture1DEXT, - glFramebufferTexture1DEXT, NULL, 886), - NAME_FUNC_OFFSET(23459, glFramebufferTexture2DEXT, - glFramebufferTexture2DEXT, NULL, 887), - NAME_FUNC_OFFSET(23482, glFramebufferTexture3DEXT, - glFramebufferTexture3DEXT, NULL, 888), - NAME_FUNC_OFFSET(23505, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, - 889), - NAME_FUNC_OFFSET(23523, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, - 890), - NAME_FUNC_OFFSET(23542, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, - 891), - NAME_FUNC_OFFSET(23559, glGetFramebufferAttachmentParameterivEXT, - glGetFramebufferAttachmentParameterivEXT, NULL, 892), - NAME_FUNC_OFFSET(23597, glGetRenderbufferParameterivEXT, - glGetRenderbufferParameterivEXT, NULL, 893), - NAME_FUNC_OFFSET(23626, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 894), - NAME_FUNC_OFFSET(23642, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, - 895), - NAME_FUNC_OFFSET(23659, glRenderbufferStorageEXT, glRenderbufferStorageEXT, - NULL, 896), - NAME_FUNC_OFFSET(23681, gl_dispatch_stub_897, gl_dispatch_stub_897, NULL, - 897), - NAME_FUNC_OFFSET(23699, glBindFragDataLocationEXT, - glBindFragDataLocationEXT, NULL, 900), - NAME_FUNC_OFFSET(23722, glGetFragDataLocationEXT, glGetFragDataLocationEXT, - NULL, 901), - NAME_FUNC_OFFSET(23744, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 902), - NAME_FUNC_OFFSET(23760, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, - NULL, 903), - NAME_FUNC_OFFSET(23781, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, - NULL, 904), - NAME_FUNC_OFFSET(23803, glUniform1uiEXT, glUniform1uiEXT, NULL, 905), - NAME_FUNC_OFFSET(23816, glUniform1uivEXT, glUniform1uivEXT, NULL, 906), - NAME_FUNC_OFFSET(23830, glUniform2uiEXT, glUniform2uiEXT, NULL, 907), - NAME_FUNC_OFFSET(23843, glUniform2uivEXT, glUniform2uivEXT, NULL, 908), - NAME_FUNC_OFFSET(23857, glUniform3uiEXT, glUniform3uiEXT, NULL, 909), - NAME_FUNC_OFFSET(23870, glUniform3uivEXT, glUniform3uivEXT, NULL, 910), - NAME_FUNC_OFFSET(23884, glUniform4uiEXT, glUniform4uiEXT, NULL, 911), - NAME_FUNC_OFFSET(23897, glUniform4uivEXT, glUniform4uivEXT, NULL, 912), - NAME_FUNC_OFFSET(23911, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, - 913), - NAME_FUNC_OFFSET(23929, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, - 914), - NAME_FUNC_OFFSET(23948, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, - 915), - NAME_FUNC_OFFSET(23967, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, - NULL, 916), - NAME_FUNC_OFFSET(23987, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, - 917), - NAME_FUNC_OFFSET(24005, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, - 918), - NAME_FUNC_OFFSET(24024, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, - 919), - NAME_FUNC_OFFSET(24043, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, - NULL, 920), - NAME_FUNC_OFFSET(24063, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, - 921), - NAME_FUNC_OFFSET(24081, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, - 922), - NAME_FUNC_OFFSET(24100, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, - 923), - NAME_FUNC_OFFSET(24119, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, - NULL, 924), - NAME_FUNC_OFFSET(24139, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, - 925), - NAME_FUNC_OFFSET(24158, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, - 926), - NAME_FUNC_OFFSET(24176, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, - 927), - NAME_FUNC_OFFSET(24195, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, - 928), - NAME_FUNC_OFFSET(24214, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, - NULL, 929), - NAME_FUNC_OFFSET(24234, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, - 930), - NAME_FUNC_OFFSET(24253, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, - NULL, 931), - NAME_FUNC_OFFSET(24273, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, - NULL, 932), - NAME_FUNC_OFFSET(24293, glVertexAttribIPointerEXT, - glVertexAttribIPointerEXT, NULL, 933), - NAME_FUNC_OFFSET(24316, glFramebufferTextureLayerEXT, - glFramebufferTextureLayerEXT, NULL, 934), - NAME_FUNC_OFFSET(24342, glFramebufferTextureLayerEXT, - glFramebufferTextureLayerEXT, NULL, 934), - NAME_FUNC_OFFSET(24371, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, - 935), - NAME_FUNC_OFFSET(24384, glDisableIndexedEXT, glDisableIndexedEXT, NULL, - 936), - NAME_FUNC_OFFSET(24395, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 937), - NAME_FUNC_OFFSET(24405, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, - NULL, 938), - NAME_FUNC_OFFSET(24421, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, - NULL, 939), - NAME_FUNC_OFFSET(24437, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, - 940), - NAME_FUNC_OFFSET(24450, glGetTexParameterIivEXT, glGetTexParameterIivEXT, - NULL, 943), - NAME_FUNC_OFFSET(24471, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, - NULL, 944), - NAME_FUNC_OFFSET(24493, glTexParameterIivEXT, glTexParameterIivEXT, NULL, - 945), - NAME_FUNC_OFFSET(24511, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, - 946), - NAME_FUNC_OFFSET(24530, glBeginConditionalRenderNV, - glBeginConditionalRenderNV, NULL, 947), - NAME_FUNC_OFFSET(24555, glEndConditionalRenderNV, glEndConditionalRenderNV, - NULL, 948), - NAME_FUNC_OFFSET(24578, glBeginTransformFeedbackEXT, - glBeginTransformFeedbackEXT, NULL, 949), - NAME_FUNC_OFFSET(24603, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, - 950), - NAME_FUNC_OFFSET(24620, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, - 952), - NAME_FUNC_OFFSET(24638, glEndTransformFeedbackEXT, - glEndTransformFeedbackEXT, NULL, 953), - NAME_FUNC_OFFSET(24661, glGetTransformFeedbackVaryingEXT, - glGetTransformFeedbackVaryingEXT, NULL, 954), - NAME_FUNC_OFFSET(24691, glTransformFeedbackVaryingsEXT, - glTransformFeedbackVaryingsEXT, NULL, 955), - NAME_FUNC_OFFSET(24719, glProvokingVertexEXT, glProvokingVertexEXT, NULL, - 956), - NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) -}; - -#undef NAME_FUNC_OFFSET diff --git a/xserver/glx/glthread.c b/xserver/glx/glthread.c deleted file mode 100644 index fd4c6cc09..000000000 --- a/xserver/glx/glthread.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5.1 - * - * Copyright (C) 1999-2006 Brian Paul 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 - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * XXX There's probably some work to do in order to make this file - * truly reusable outside of Mesa. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#include -#endif - -#include -#include -#include "glthread.h" - -/* - * This file should still compile even when THREADS is not defined. - * This is to make things easier to deal with on the makefile scene.. - */ -#ifdef THREADS -#include - -/* - * Error messages - */ -#define INIT_TSD_ERROR "_glthread_: failed to allocate key for thread specific data" -#define GET_TSD_ERROR "_glthread_: failed to get thread specific data" -#define SET_TSD_ERROR "_glthread_: thread failed to set thread specific data" - -/* - * Magic number to determine if a TSD object has been initialized. - * Kind of a hack but there doesn't appear to be a better cross-platform - * solution. - */ -#define INIT_MAGIC 0xff8adc98 - -/* - * POSIX Threads -- The best way to go if your platform supports them. - * Solaris >= 2.5 have POSIX threads, IRIX >= 6.4 reportedly - * has them, and many of the free Unixes now have them. - * Be sure to use appropriate -mt or -D_REENTRANT type - * compile flags when building. - */ -#ifdef PTHREADS - -_X_EXPORT unsigned long -_glthread_GetID(void) -{ - return (unsigned long) pthread_self(); -} - -void -_glthread_InitTSD(_glthread_TSD * tsd) -{ - if (pthread_key_create(&tsd->key, NULL /*free */ ) != 0) { - perror(INIT_TSD_ERROR); - exit(-1); - } - tsd->initMagic = INIT_MAGIC; -} - -void * -_glthread_GetTSD(_glthread_TSD * tsd) -{ - if (tsd->initMagic != (int) INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - return pthread_getspecific(tsd->key); -} - -void -_glthread_SetTSD(_glthread_TSD * tsd, void *ptr) -{ - if (tsd->initMagic != (int) INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - if (pthread_setspecific(tsd->key, ptr) != 0) { - perror(SET_TSD_ERROR); - exit(-1); - } -} - -#endif /* PTHREADS */ - -/* - * Win32 Threads. The only available option for Windows 95/NT. - * Be sure that you compile using the Multithreaded runtime, otherwise - * bad things will happen. - */ -#ifdef WIN32_THREADS - -void -FreeTSD(_glthread_TSD * p) -{ - if (p->initMagic == INIT_MAGIC) { - TlsFree(p->key); - p->initMagic = 0; - } -} - -void -InsteadOf_exit(int nCode) -{ - DWORD dwErr = GetLastError(); -} - -unsigned long -_glthread_GetID(void) -{ - return GetCurrentThreadId(); -} - -void -_glthread_InitTSD(_glthread_TSD * tsd) -{ - tsd->key = TlsAlloc(); - if (tsd->key == TLS_OUT_OF_INDEXES) { - perror("Mesa:_glthread_InitTSD"); - InsteadOf_exit(-1); - } - tsd->initMagic = INIT_MAGIC; -} - -void * -_glthread_GetTSD(_glthread_TSD * tsd) -{ - if (tsd->initMagic != INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - return TlsGetValue(tsd->key); -} - -void -_glthread_SetTSD(_glthread_TSD * tsd, void *ptr) -{ - /* the following code assumes that the _glthread_TSD has been initialized - to zero at creation */ - if (tsd->initMagic != INIT_MAGIC) { - _glthread_InitTSD(tsd); - } - if (TlsSetValue(tsd->key, ptr) == 0) { - perror("Mesa:_glthread_SetTSD"); - InsteadOf_exit(-1); - } -} - -#endif /* WIN32_THREADS */ - -#else /* THREADS */ - -/* - * no-op functions - */ - -_X_EXPORT unsigned long -_glthread_GetID(void) -{ - return 0; -} - -void -_glthread_InitTSD(_glthread_TSD * tsd) -{ - (void) tsd; -} - -void * -_glthread_GetTSD(_glthread_TSD * tsd) -{ - (void) tsd; - return NULL; -} - -void -_glthread_SetTSD(_glthread_TSD * tsd, void *ptr) -{ - (void) tsd; - (void) ptr; -} - -#endif /* THREADS */ diff --git a/xserver/glx/glthread.h b/xserver/glx/glthread.h deleted file mode 100644 index 62c9bd4f1..000000000 --- a/xserver/glx/glthread.h +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5.2 - * - * Copyright (C) 1999-2006 Brian Paul 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 - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * Thread support for gl dispatch. - * - * Initial version by John Stone (j.stone@acm.org) (johns@cs.umr.edu) - * and Christoph Poliwoda (poliwoda@volumegraphics.com) - * Revised by Keith Whitwell - * Adapted for new gl dispatcher by Brian Paul - * - * - * - * DOCUMENTATION - * - * This thread module exports the following types: - * _glthread_TSD Thread-specific data area - * _glthread_Thread Thread datatype - * _glthread_Mutex Mutual exclusion lock - * - * Macros: - * _glthread_DECLARE_STATIC_MUTEX(name) Declare a non-local mutex - * _glthread_INIT_MUTEX(name) Initialize a mutex - * _glthread_LOCK_MUTEX(name) Lock a mutex - * _glthread_UNLOCK_MUTEX(name) Unlock a mutex - * - * Functions: - * _glthread_GetID(v) Get integer thread ID - * _glthread_InitTSD() Initialize thread-specific data - * _glthread_GetTSD() Get thread-specific data - * _glthread_SetTSD() Set thread-specific data - * - */ - -/* - * If this file is accidentally included by a non-threaded build, - * it should not cause the build to fail, or otherwise cause problems. - * In general, it should only be included when needed however. - */ - -#ifndef GLTHREAD_H -#define GLTHREAD_H - -#if defined(USE_MGL_NAMESPACE) -#define _glapi_Dispatch _mglapi_Dispatch -#endif - -#if (defined(PTHREADS) || defined(WIN32_THREADS)) \ - && !defined(THREADS) -#define THREADS -#endif - -#ifdef VMS -#include -#endif - -/* - * POSIX threads. This should be your choice in the Unix world - * whenever possible. When building with POSIX threads, be sure - * to enable any compiler flags which will cause the MT-safe - * libc (if one exists) to be used when linking, as well as any - * header macros for MT-safe errno, etc. For Solaris, this is the -mt - * compiler flag. On Solaris with gcc, use -D_REENTRANT to enable - * proper compiling for MT-safe libc etc. - */ -#if defined(PTHREADS) -#include /* POSIX threads headers */ - -typedef struct { - pthread_key_t key; - int initMagic; -} _glthread_TSD; - -typedef pthread_t _glthread_Thread; - -typedef pthread_mutex_t _glthread_Mutex; - -#define _glthread_DECLARE_STATIC_MUTEX(name) \ - static _glthread_Mutex name = PTHREAD_MUTEX_INITIALIZER - -#define _glthread_INIT_MUTEX(name) \ - pthread_mutex_init(&(name), NULL) - -#define _glthread_DESTROY_MUTEX(name) \ - pthread_mutex_destroy(&(name)) - -#define _glthread_LOCK_MUTEX(name) \ - (void) pthread_mutex_lock(&(name)) - -#define _glthread_UNLOCK_MUTEX(name) \ - (void) pthread_mutex_unlock(&(name)) - -#endif /* PTHREADS */ - -/* - * Solaris threads. Use only up to Solaris 2.4. - * Solaris 2.5 and higher provide POSIX threads. - * Be sure to compile with -mt on the Solaris compilers, or - * use -D_REENTRANT if using gcc. - */ - -/* - * Windows threads. Should work with Windows NT and 95. - * IMPORTANT: Link with multithreaded runtime library when THREADS are - * used! - */ -#ifdef WIN32_THREADS -#include - -typedef struct { - DWORD key; - int initMagic; -} _glthread_TSD; - -typedef HANDLE _glthread_Thread; - -typedef CRITICAL_SECTION _glthread_Mutex; - -#define _glthread_DECLARE_STATIC_MUTEX(name) /*static*/ _glthread_Mutex name = {0,0,0,0,0,0} -#define _glthread_INIT_MUTEX(name) InitializeCriticalSection(&name) -#define _glthread_DESTROY_MUTEX(name) DeleteCriticalSection(&name) -#define _glthread_LOCK_MUTEX(name) EnterCriticalSection(&name) -#define _glthread_UNLOCK_MUTEX(name) LeaveCriticalSection(&name) - -#endif /* WIN32_THREADS */ - -/* - * BeOS threads. R5.x required. - */ -#ifdef BEOS_THREADS - -#include -#include - -typedef struct { - int32 key; - int initMagic; -} _glthread_TSD; - -typedef thread_id _glthread_Thread; - -/* Use Benaphore, aka speeder semaphore */ -typedef struct { - int32 lock; - sem_id sem; -} benaphore; -typedef benaphore _glthread_Mutex; - -#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = { 0, 0 } -#define _glthread_INIT_MUTEX(name) name.sem = create_sem(0, #name"_benaphore"), name.lock = 0 -#define _glthread_DESTROY_MUTEX(name) delete_sem(name.sem), name.lock = 0 -#define _glthread_LOCK_MUTEX(name) if (name.sem == 0) _glthread_INIT_MUTEX(name); \ - if (atomic_add(&(name.lock), 1) >= 1) acquire_sem(name.sem) -#define _glthread_UNLOCK_MUTEX(name) if (atomic_add(&(name.lock), -1) > 1) release_sem(name.sem) - -#endif /* BEOS_THREADS */ - -#ifndef THREADS - -/* - * THREADS not defined - */ - -typedef int _glthread_TSD; - -typedef int _glthread_Thread; - -typedef int _glthread_Mutex; - -#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0 - -#define _glthread_INIT_MUTEX(name) (void) name - -#define _glthread_DESTROY_MUTEX(name) (void) name - -#define _glthread_LOCK_MUTEX(name) (void) name - -#define _glthread_UNLOCK_MUTEX(name) (void) name - -#endif /* THREADS */ - -/* - * Platform independent thread specific data API. - */ - -extern unsigned long - _glthread_GetID(void); - -extern void - _glthread_InitTSD(_glthread_TSD *); - -extern void *_glthread_GetTSD(_glthread_TSD *); - -extern void - _glthread_SetTSD(_glthread_TSD *, void *); - -#if defined(GLX_USE_TLS) - -extern TLS struct _glapi_table *_glapi_tls_Dispatch; - -#define GET_DISPATCH() _glapi_tls_Dispatch - -#elif !defined(GL_CALL) -#if defined(THREADS) -#define GET_DISPATCH() \ - ((__builtin_expect( _glapi_Dispatch != NULL, 1 )) \ - ? _glapi_Dispatch : _glapi_get_dispatch()) -#else -#define GET_DISPATCH() _glapi_Dispatch -#endif /* defined(THREADS) */ -#endif /* ndef GL_CALL */ - -#endif /* THREADS_H */ diff --git a/xserver/glx/glxcmds.c b/xserver/glx/glxcmds.c index c1f4e22f8..b8da04882 100644 --- a/xserver/glx/glxcmds.c +++ b/xserver/glx/glxcmds.c @@ -42,14 +42,12 @@ #include #include "glxutil.h" #include "glxext.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" #include "indirect_dispatch.h" #include "indirect_table.h" #include "indirect_util.h" +static char GLXServerVendorName[] = "SGI"; + _X_HIDDEN int validGlxScreen(ClientPtr client, int screen, __GLXscreen ** pGlxScreen, int *err) @@ -297,7 +295,7 @@ DoCreateContext(__GLXclientState * cl, GLXContextID gcId, glxc->id = gcId; glxc->share_id = shareList; glxc->idExists = GL_TRUE; - glxc->isCurrent = GL_FALSE; + glxc->currentClient = NULL; glxc->isDirect = isDirect; glxc->hasUnflushedCommands = GL_FALSE; glxc->renderMode = GL_RENDER; @@ -404,9 +402,7 @@ __glXDisp_DestroyContext(__GLXclientState * cl, GLbyte * pc) &glxc, &err)) return err; - glxc->idExists = GL_FALSE; - if (!glxc->isCurrent) - FreeResourceByType(req->context, __glXContextRes, FALSE); + FreeResourceByType(req->context, __glXContextRes, FALSE); return Success; } @@ -442,7 +438,7 @@ StopUsingContext(__GLXcontext * glxc) /* Tell server GL library */ __glXLastContext = 0; } - glxc->isCurrent = GL_FALSE; + glxc->currentClient = NULL; if (!glxc->idExists) { FreeResourceByType(glxc->id, __glXContextRes, FALSE); } @@ -452,8 +448,8 @@ StopUsingContext(__GLXcontext * glxc) static void StartUsingContext(__GLXclientState * cl, __GLXcontext * glxc) { - glxc->isCurrent = GL_TRUE; __glXLastContext = glxc; + glxc->currentClient = cl->client; } /** @@ -513,6 +509,10 @@ __glXGetDrawable(__GLXcontext * glxc, GLXDrawable drawId, ClientPtr client, pDraw, drawId, GLX_DRAWABLE_WINDOW, drawId, glxc->config); + if (!pGlxDraw) { + *error = BadAlloc; + return NULL; + } /* since we are creating the drawablePrivate, drawId should be new */ if (!AddResource(drawId, __glXDrawableRes, pGlxDraw)) { @@ -583,7 +583,7 @@ DoMakeCurrent(__GLXclientState * cl, if (!validGlxContext(client, contextId, DixUseAccess, &glxc, &error)) return error; - if ((glxc != prevglxc) && glxc->isCurrent) { + if ((glxc != prevglxc) && glxc->currentClient) { /* Context is current to somebody else */ return BadAccess; } @@ -613,7 +613,7 @@ DoMakeCurrent(__GLXclientState * cl, */ if (prevglxc->hasUnflushedCommands) { if (__glXForceCurrent(cl, tag, (int *) &error)) { - CALL_Flush(GET_DISPATCH(), ()); + glFlush(); prevglxc->hasUnflushedCommands = GL_FALSE; } else { @@ -646,7 +646,7 @@ DoMakeCurrent(__GLXclientState * cl, return __glXError(GLXBadContext); } - glxc->isCurrent = GL_TRUE; + glxc->currentClient = client; } StopUsingContext(prevglxc); @@ -796,7 +796,7 @@ __glXDisp_WaitGL(__GLXclientState * cl, GLbyte * pc) if (!__glXForceCurrent(cl, req->contextTag, &error)) return error; - CALL_Finish(GET_DISPATCH(), ()); + glFinish(); } if (glxc && glxc->drawPriv->waitGL) @@ -867,7 +867,7 @@ __glXDisp_CopyContext(__GLXclientState * cl, GLbyte * pc) /* ** The destination context must not be current for any client. */ - if (dst->isCurrent) { + if (dst->currentClient) { client->errorValue = dest; return BadAccess; } @@ -894,7 +894,7 @@ __glXDisp_CopyContext(__GLXclientState * cl, GLbyte * pc) ** Do whatever is needed to make sure that all preceding requests ** in both streams are completed before the copy is executed. */ - CALL_Finish(GET_DISPATCH(), ()); + glFinish(); tagcx->hasUnflushedCommands = GL_FALSE; } else { @@ -913,7 +913,7 @@ __glXDisp_CopyContext(__GLXclientState * cl, GLbyte * pc) enum { GLX_VIS_CONFIG_UNPAIRED = 18, - GLX_VIS_CONFIG_PAIRED = 20 + GLX_VIS_CONFIG_PAIRED = 22 }; enum { @@ -1005,8 +1005,17 @@ __glXDisp_GetVisualConfigs(__GLXclientState * cl, GLbyte * pc) buf[p++] = modes->samples; buf[p++] = GLX_SAMPLE_BUFFERS_SGIS; buf[p++] = modes->sampleBuffers; - buf[p++] = 0; /* copy over visualSelectGroup (GLX_VISUAL_SELECT_GROUP_SGIX)? */ - buf[p++] = 0; + /* Add attribute only if its value is not default. */ + if (modes->sRGBCapable != GL_FALSE) { + buf[p++] = GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT; + buf[p++] = modes->sRGBCapable; + } + /* Don't add visualSelectGroup (GLX_VISUAL_SELECT_GROUP_SGIX)? + * Pad the remaining place with zeroes, so that attributes count is constant. */ + while (p < GLX_VIS_CONFIG_TOTAL) { + buf[p++] = 0; + buf[p++] = 0; + } assert(p == GLX_VIS_CONFIG_TOTAL); if (client->swapped) { @@ -1017,7 +1026,7 @@ __glXDisp_GetVisualConfigs(__GLXclientState * cl, GLbyte * pc) return Success; } -#define __GLX_TOTAL_FBCONFIG_ATTRIBS (36) +#define __GLX_TOTAL_FBCONFIG_ATTRIBS (44) #define __GLX_FBCONFIG_ATTRIBS_LENGTH (__GLX_TOTAL_FBCONFIG_ATTRIBS * 2) /** * Send the set of GLXFBConfigs to the client. There is not currently @@ -1102,13 +1111,33 @@ DoGetFBConfigs(__GLXclientState * cl, unsigned screen) WRITE_PAIR(GLX_SWAP_METHOD_OML, modes->swapMethod); WRITE_PAIR(GLX_SAMPLES_SGIS, modes->samples); WRITE_PAIR(GLX_SAMPLE_BUFFERS_SGIS, modes->sampleBuffers); - /* GLX_VISUAL_SELECT_GROUP_SGIX ? */ + WRITE_PAIR(GLX_VISUAL_SELECT_GROUP_SGIX, modes->visualSelectGroup); WRITE_PAIR(GLX_DRAWABLE_TYPE, modes->drawableType); WRITE_PAIR(GLX_BIND_TO_TEXTURE_RGB_EXT, modes->bindToTextureRgb); WRITE_PAIR(GLX_BIND_TO_TEXTURE_RGBA_EXT, modes->bindToTextureRgba); WRITE_PAIR(GLX_BIND_TO_MIPMAP_TEXTURE_EXT, modes->bindToMipmapTexture); WRITE_PAIR(GLX_BIND_TO_TEXTURE_TARGETS_EXT, modes->bindToTextureTargets); + /* can't report honestly until mesa is fixed */ + WRITE_PAIR(GLX_Y_INVERTED_EXT, GLX_DONT_CARE); + if (modes->drawableType & GLX_PBUFFER_BIT) { + WRITE_PAIR(GLX_MAX_PBUFFER_WIDTH, modes->maxPbufferWidth); + WRITE_PAIR(GLX_MAX_PBUFFER_HEIGHT, modes->maxPbufferHeight); + WRITE_PAIR(GLX_MAX_PBUFFER_PIXELS, modes->maxPbufferPixels); + WRITE_PAIR(GLX_OPTIMAL_PBUFFER_WIDTH_SGIX, + modes->optimalPbufferWidth); + WRITE_PAIR(GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX, + modes->optimalPbufferHeight); + } + /* Add attribute only if its value is not default. */ + if (modes->sRGBCapable != GL_FALSE) { + WRITE_PAIR(GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT, modes->sRGBCapable); + } + /* Pad the remaining place with zeroes, so that attributes count is constant. */ + while (p < __GLX_FBCONFIG_ATTRIBS_LENGTH) { + WRITE_PAIR(0, 0); + } + assert(p == __GLX_FBCONFIG_ATTRIBS_LENGTH); if (client->swapped) { __GLX_SWAP_INT_ARRAY(buf, __GLX_FBCONFIG_ATTRIBS_LENGTH); @@ -1215,7 +1244,8 @@ DoCreateGLXPixmap(ClientPtr client, __GLXscreen * pGlxScreen, err = DoCreateGLXDrawable(client, pGlxScreen, config, pDraw, drawableId, glxDrawableId, GLX_DRAWABLE_PIXMAP); - ((PixmapPtr) pDraw)->refcnt++; + if (err == Success) + ((PixmapPtr) pDraw)->refcnt++; return err; } @@ -1396,6 +1426,8 @@ DoCreatePbuffer(ClientPtr client, int screenNum, XID fbconfigId, width, height, config->rgbBits, 0); __glXleaveServer(GL_FALSE); + if (!pPixmap) + return BadAlloc; /* Assign the pixmap the same id as the pbuffer and add it as a * resource so it and the DRI2 drawable will be reclaimed when the @@ -1437,7 +1469,6 @@ __glXDisp_CreatePbuffer(__GLXclientState * cl, GLbyte * pc) height = attrs[i * 2 + 1]; break; case GLX_LARGEST_PBUFFER: - case GLX_PRESERVED_CONTENTS: /* FIXME: huh... */ break; } @@ -1455,6 +1486,10 @@ __glXDisp_CreateGLXPbufferSGIX(__GLXclientState * cl, GLbyte * pc) REQUEST_AT_LEAST_SIZE(xGLXCreateGLXPbufferSGIXReq); + /* + * We should really handle attributes correctly, but this extension + * is so rare I have difficulty caring. + */ return DoCreatePbuffer(cl->client, req->screen, req->fbconfig, req->width, req->height, req->pbuffer); } @@ -1637,7 +1672,7 @@ __glXDisp_SwapBuffers(__GLXclientState * cl, GLbyte * pc) ** Do whatever is needed to make sure that all preceding requests ** in both streams are completed before the swap is executed. */ - CALL_Finish(GET_DISPATCH(), ()); + glFinish(); glxc->hasUnflushedCommands = GL_FALSE; } else { @@ -1662,15 +1697,14 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId) ClientPtr client = cl->client; __GLXcontext *ctx; xGLXQueryContextInfoEXTReply reply; - int nProps; - int *sendBuf, *pSendBuf; + int nProps = 3; + int sendBuf[nProps * 2]; int nReplyBytes; int err; if (!validGlxContext(cl->client, gcId, DixReadAccess, &ctx, &err)) return err; - nProps = 3; reply = (xGLXQueryContextInfoEXTReply) { .type = X_Reply, .sequenceNumber = client->sequence, @@ -1679,17 +1713,12 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId) }; nReplyBytes = reply.length << 2; - sendBuf = (int *) malloc((size_t) nReplyBytes); - if (sendBuf == NULL) { - return __glXError(GLXBadContext); /* XXX: Is this correct? */ - } - pSendBuf = sendBuf; - *pSendBuf++ = GLX_SHARE_CONTEXT_EXT; - *pSendBuf++ = (int) (ctx->share_id); - *pSendBuf++ = GLX_VISUAL_ID_EXT; - *pSendBuf++ = (int) (ctx->config->visualID); - *pSendBuf++ = GLX_SCREEN_EXT; - *pSendBuf++ = (int) (ctx->pGlxScreen->pScreen->myNum); + sendBuf[0] = GLX_SHARE_CONTEXT_EXT; + sendBuf[1] = (int) (ctx->share_id); + sendBuf[2] = GLX_VISUAL_ID_EXT; + sendBuf[3] = (int) (ctx->config->visualID); + sendBuf[4] = GLX_SCREEN_EXT; + sendBuf[5] = (int) (ctx->pGlxScreen->pScreen->myNum); if (client->swapped) { __glXSwapQueryContextInfoEXTReply(client, &reply, sendBuf); @@ -1698,7 +1727,6 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId) WriteToClient(client, sz_xGLXQueryContextInfoEXTReply, &reply); WriteToClient(client, nReplyBytes, sendBuf); } - free((char *) sendBuf); return Success; } @@ -1841,7 +1869,7 @@ __glXDisp_CopySubBufferMESA(__GLXclientState * cl, GLbyte * pc) ** Do whatever is needed to make sure that all preceding requests ** in both streams are completed before the swap is executed. */ - CALL_Finish(GET_DISPATCH(), ()); + glFinish(); glxc->hasUnflushedCommands = GL_FALSE; } else { @@ -1872,14 +1900,38 @@ DoGetDrawableAttributes(__GLXclientState * cl, XID drawId) ClientPtr client = cl->client; xGLXGetDrawableAttributesReply reply; __GLXdrawable *pGlxDraw; - CARD32 attributes[6]; - int numAttribs, error; + CARD32 attributes[14]; + int numAttribs = 0, error; if (!validGlxDrawable(client, drawId, GLX_DRAWABLE_ANY, DixGetAttrAccess, &pGlxDraw, &error)) return error; - numAttribs = 3; + attributes[0] = GLX_TEXTURE_TARGET_EXT; + attributes[1] = pGlxDraw->target == GL_TEXTURE_2D ? GLX_TEXTURE_2D_EXT : + GLX_TEXTURE_RECTANGLE_EXT; + numAttribs++; + attributes[2] = GLX_Y_INVERTED_EXT; + attributes[3] = GL_FALSE; + numAttribs++; + attributes[4] = GLX_EVENT_MASK; + attributes[5] = pGlxDraw->eventMask; + numAttribs++; + attributes[6] = GLX_WIDTH; + attributes[7] = pGlxDraw->pDraw->width; + numAttribs++; + attributes[8] = GLX_HEIGHT; + attributes[9] = pGlxDraw->pDraw->height; + numAttribs++; + attributes[10] = GLX_FBCONFIG_ID; + attributes[11] = pGlxDraw->config->fbconfigID; + numAttribs++; + if (pGlxDraw->type == GLX_DRAWABLE_PBUFFER) { + attributes[12] = GLX_PRESERVED_CONTENTS; + attributes[13] = GL_TRUE; + numAttribs++; + } + reply = (xGLXGetDrawableAttributesReply) { .type = X_Reply, .sequenceNumber = client->sequence, @@ -1887,14 +1939,6 @@ DoGetDrawableAttributes(__GLXclientState * cl, XID drawId) .numAttribs = numAttribs }; - attributes[0] = GLX_TEXTURE_TARGET_EXT; - attributes[1] = pGlxDraw->target == GL_TEXTURE_2D ? GLX_TEXTURE_2D_EXT : - GLX_TEXTURE_RECTANGLE_EXT; - attributes[2] = GLX_Y_INVERTED_EXT; - attributes[3] = GL_FALSE; - attributes[4] = GLX_EVENT_MASK; - attributes[5] = pGlxDraw->eventMask; - if (client->swapped) { __glXSwapGetDrawableAttributesReply(client, &reply, attributes); } @@ -2142,15 +2186,12 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc) ** Make enough space in the buffer, then copy the entire request. */ if (cl->largeCmdBufSize < cmdlen) { - if (!cl->largeCmdBuf) { - cl->largeCmdBuf = (GLbyte *) malloc(cmdlen); - } - else { - cl->largeCmdBuf = (GLbyte *) realloc(cl->largeCmdBuf, cmdlen); - } - if (!cl->largeCmdBuf) { - return BadAlloc; - } + GLbyte *newbuf = cl->largeCmdBuf; + + if (!(newbuf = realloc(newbuf, cmdlen))) + return BadAlloc; + + cl->largeCmdBuf = newbuf; cl->largeCmdBufSize = cmdlen; } memcpy(cl->largeCmdBuf, pc, dataBytes); @@ -2366,7 +2407,7 @@ __glXDisp_QueryServerString(__GLXclientState * cl, GLbyte * pc) switch (req->name) { case GLX_VENDOR: - ptr = pGlxScreen->GLXvendor; + ptr = GLXServerVendorName; break; case GLX_VERSION: /* Return to the server version rather than the screen version @@ -2427,3 +2468,64 @@ __glXDisp_ClientInfo(__GLXclientState * cl, GLbyte * pc) return Success; } + +#include + +void +__glXsendSwapEvent(__GLXdrawable *drawable, int type, CARD64 ust, + CARD64 msc, CARD32 sbc) +{ + ClientPtr client = clients[CLIENT_ID(drawable->drawId)]; + + xGLXBufferSwapComplete2 wire = { + .type = __glXEventBase + GLX_BufferSwapComplete + }; + + if (!client) + return; + + if (!(drawable->eventMask & GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK)) + return; + + wire.event_type = type; + wire.drawable = drawable->drawId; + wire.ust_hi = ust >> 32; + wire.ust_lo = ust & 0xffffffff; + wire.msc_hi = msc >> 32; + wire.msc_lo = msc & 0xffffffff; + wire.sbc = sbc; + + WriteEventsToClient(client, 1, (xEvent *) &wire); +} + +#if PRESENT +static void +__glXpresentCompleteNotify(WindowPtr window, CARD8 present_mode, CARD32 serial, + uint64_t ust, uint64_t msc) +{ + __GLXdrawable *drawable; + int glx_type; + int rc; + + rc = dixLookupResourceByType((pointer *) &drawable, window->drawable.id, + __glXDrawableRes, serverClient, DixGetAttrAccess); + + if (rc != Success) + return; + + if (present_mode == PresentCompleteModeFlip) + glx_type = GLX_FLIP_COMPLETE_INTEL; + else + glx_type = GLX_BLIT_COMPLETE_INTEL; + + __glXsendSwapEvent(drawable, glx_type, ust, msc, serial); +} + +#include + +void +__glXregisterPresentCompleteNotify(void) +{ + present_register_complete_notify(__glXpresentCompleteNotify); +} +#endif diff --git a/xserver/glx/glxcmdsswap.c b/xserver/glx/glxcmdsswap.c index 43f88d335..5d179f317 100644 --- a/xserver/glx/glxcmdsswap.c +++ b/xserver/glx/glxcmdsswap.c @@ -40,10 +40,6 @@ #include #include #include "glxext.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" #include "indirect_dispatch.h" #include "indirect_table.h" #include "indirect_util.h" diff --git a/xserver/glx/glxcontext.h b/xserver/glx/glxcontext.h index 4764e56f5..677898a67 100644 --- a/xserver/glx/glxcontext.h +++ b/xserver/glx/glxcontext.h @@ -55,7 +55,6 @@ struct __GLXcontext { /* ** list of context structs */ - __GLXcontext *last; __GLXcontext *next; /* @@ -69,6 +68,11 @@ struct __GLXcontext { */ __GLXscreen *pGlxScreen; + /* + ** If this context is current for a client, this will be that client + */ + ClientPtr currentClient; + /* ** The XID of this context. */ @@ -84,11 +88,6 @@ struct __GLXcontext { */ GLboolean idExists; - /* - ** Whether this context is current for some client. - */ - GLboolean isCurrent; - /* ** Whether this context is a direct rendering context. */ diff --git a/xserver/glx/glxdri.c b/xserver/glx/glxdri.c deleted file mode 100644 index 41424afdd..000000000 --- a/xserver/glx/glxdri.c +++ /dev/null @@ -1,1168 +0,0 @@ -/* - * Copyright © 2006 Red Hat, Inc - * - * Permission to use, copy, modify, distribute, and sell this software - * and its documentation for any purpose is hereby granted without - * fee, provided that the above copyright notice appear in all copies - * and that both that copyright notice and this permission notice - * appear in supporting documentation, and that the name of Red Hat, - * Inc not be used in advertising or publicity pertaining to - * distribution of the software without specific, written prior - * permission. Red Hat, Inc makes no representations about the - * suitability of this software for any purpose. It is provided "as - * is" without express or implied warranty. - * - * RED HAT, INC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN - * NO EVENT SHALL RED HAT, INC BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#define _XF86DRI_SERVER_ -#include -#include -#include -#include -#include -#include - -#include "servermd.h" - -#define DRI_NEW_INTERFACE_ONLY -#include "glxserver.h" -#include "glxutil.h" -#include "glxdricommon.h" - -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" -#include "extension_string.h" - -typedef struct __GLXDRIscreen __GLXDRIscreen; -typedef struct __GLXDRIcontext __GLXDRIcontext; -typedef struct __GLXDRIdrawable __GLXDRIdrawable; - -struct __GLXDRIscreen { - __GLXscreen base; - __DRIscreen *driScreen; - void *driver; - - xf86EnterVTProc *enterVT; - xf86LeaveVTProc *leaveVT; - - const __DRIcoreExtension *core; - const __DRIlegacyExtension *legacy; - const __DRIcopySubBufferExtension *copySubBuffer; - const __DRIswapControlExtension *swapControl; - const __DRIconfig **driConfigs; - -#ifdef __DRI_TEX_OFFSET - const __DRItexOffsetExtension *texOffset; - DRITexOffsetStartProcPtr texOffsetStart; - DRITexOffsetFinishProcPtr texOffsetFinish; - __GLXDRIdrawable *texOffsetOverride[16]; - GLuint lastTexOffsetOverride; -#endif - - unsigned char glx_enable_bits[__GLX_EXT_BYTES]; -}; - -struct __GLXDRIcontext { - __GLXcontext base; - __DRIcontext *driContext; - XID hwContextID; -}; - -struct __GLXDRIdrawable { - __GLXdrawable base; - __DRIdrawable *driDrawable; - - /* Pulled in from old __GLXpixmap */ -#ifdef __DRI_TEX_OFFSET - GLint texname; - __GLXDRIcontext *ctx; - unsigned long long offset; - DamagePtr pDamage; -#endif -}; - -static void -__glXDRIleaveServer(GLboolean rendering) -{ - int i; - - for (i = 0; rendering && i < screenInfo.numScreens; i++) { - __GLXDRIscreen *const screen = - (__GLXDRIscreen *) glxGetScreen(screenInfo.screens[i]); - GLuint lastOverride = screen->lastTexOffsetOverride; - - if (lastOverride) { - __GLXDRIdrawable **texOffsetOverride = screen->texOffsetOverride; - int j; - - for (j = 0; j < lastOverride; j++) { - __GLXDRIdrawable *pGlxPix = texOffsetOverride[j]; - - if (pGlxPix && pGlxPix->texname) { - pGlxPix->offset = - screen->texOffsetStart((PixmapPtr) pGlxPix->base.pDraw); - } - } - } - } - - DRIBlockHandler(NULL, NULL, NULL); - - for (i = 0; rendering && i < screenInfo.numScreens; i++) { - __GLXDRIscreen *const screen = - (__GLXDRIscreen *) glxGetScreen(screenInfo.screens[i]); - GLuint lastOverride = screen->lastTexOffsetOverride; - - if (lastOverride) { - __GLXDRIdrawable **texOffsetOverride = screen->texOffsetOverride; - int j; - - for (j = 0; j < lastOverride; j++) { - __GLXDRIdrawable *pGlxPix = texOffsetOverride[j]; - - if (pGlxPix && pGlxPix->texname) { - screen->texOffset->setTexOffset(pGlxPix->ctx->driContext, - pGlxPix->texname, - pGlxPix->offset, - pGlxPix->base.pDraw->depth, - ((PixmapPtr) pGlxPix->base. - pDraw)->devKind); - } - } - } - } -} - -static void -__glXDRIenterServer(GLboolean rendering) -{ - int i; - - for (i = 0; rendering && i < screenInfo.numScreens; i++) { - __GLXDRIscreen *const screen = (__GLXDRIscreen *) - glxGetScreen(screenInfo.screens[i]); - - if (screen->lastTexOffsetOverride) { - CALL_Flush(GET_DISPATCH(), ()); - break; - } - } - - DRIWakeupHandler(NULL, 0, NULL); -} - -static void -__glXDRIdoReleaseTexImage(__GLXDRIscreen * screen, __GLXDRIdrawable * drawable) -{ - GLuint lastOverride = screen->lastTexOffsetOverride; - - if (lastOverride) { - __GLXDRIdrawable **texOffsetOverride = screen->texOffsetOverride; - int i; - - for (i = 0; i < lastOverride; i++) { - if (texOffsetOverride[i] == drawable) { - if (screen->texOffsetFinish) - screen->texOffsetFinish((PixmapPtr) drawable->base.pDraw); - - texOffsetOverride[i] = NULL; - - if (i + 1 == lastOverride) { - lastOverride = 0; - - while (i--) { - if (texOffsetOverride[i]) { - lastOverride = i + 1; - break; - } - } - - screen->lastTexOffsetOverride = lastOverride; - - break; - } - } - } - } -} - -static void -__glXDRIdrawableDestroy(__GLXdrawable * drawable) -{ - __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable; - __GLXDRIscreen *screen; - int i; - - for (i = 0; i < screenInfo.numScreens; i++) { - screen = (__GLXDRIscreen *) glxGetScreen(screenInfo.screens[i]); - __glXDRIdoReleaseTexImage(screen, private); - } - - /* If the X window was destroyed, the dri DestroyWindow hook will - * aready have taken care of this, so only call if pDraw isn't NULL. */ - if (drawable->pDraw != NULL) { - screen = (__GLXDRIscreen *) glxGetScreen(drawable->pDraw->pScreen); - (*screen->core->destroyDrawable) (private->driDrawable); - - __glXenterServer(GL_FALSE); - DRIDestroyDrawable(drawable->pDraw->pScreen, - serverClient, drawable->pDraw); - __glXleaveServer(GL_FALSE); - } - - __glXDrawableRelease(drawable); - - free(private); -} - -static GLboolean -__glXDRIdrawableSwapBuffers(ClientPtr client, __GLXdrawable * basePrivate) -{ - __GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate; - __GLXDRIscreen *screen = - (__GLXDRIscreen *) glxGetScreen(basePrivate->pDraw->pScreen); - - (*screen->core->swapBuffers) (private->driDrawable); - - return TRUE; -} - -static int -__glXDRIdrawableSwapInterval(__GLXdrawable * baseDrawable, int interval) -{ - __GLXDRIdrawable *draw = (__GLXDRIdrawable *) baseDrawable; - __GLXDRIscreen *screen = - (__GLXDRIscreen *) glxGetScreen(baseDrawable->pDraw->pScreen); - - if (screen->swapControl) - screen->swapControl->setSwapInterval(draw->driDrawable, interval); - - return 0; -} - -static void -__glXDRIdrawableCopySubBuffer(__GLXdrawable * basePrivate, - int x, int y, int w, int h) -{ - __GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate; - __GLXDRIscreen *screen = (__GLXDRIscreen *) - glxGetScreen(basePrivate->pDraw->pScreen); - - if (screen->copySubBuffer) - screen->copySubBuffer->copySubBuffer(private->driDrawable, x, y, w, h); -} - -static void -__glXDRIcontextDestroy(__GLXcontext * baseContext) -{ - __GLXDRIcontext *context = (__GLXDRIcontext *) baseContext; - __GLXDRIscreen *screen = (__GLXDRIscreen *) context->base.pGlxScreen; - Bool retval; - - screen->core->destroyContext(context->driContext); - - __glXenterServer(GL_FALSE); - retval = DRIDestroyContext(baseContext->pGlxScreen->pScreen, - context->hwContextID); - __glXleaveServer(GL_FALSE); - - __glXContextDestroy(&context->base); - free(context); -} - -static int -__glXDRIcontextMakeCurrent(__GLXcontext * baseContext) -{ - __GLXDRIcontext *context = (__GLXDRIcontext *) baseContext; - __GLXDRIscreen *screen = (__GLXDRIscreen *) context->base.pGlxScreen; - __GLXDRIdrawable *draw = (__GLXDRIdrawable *) baseContext->drawPriv; - __GLXDRIdrawable *read = (__GLXDRIdrawable *) baseContext->readPriv; - - return (*screen->core->bindContext) (context->driContext, - draw->driDrawable, read->driDrawable); -} - -static int -__glXDRIcontextLoseCurrent(__GLXcontext * baseContext) -{ - __GLXDRIcontext *context = (__GLXDRIcontext *) baseContext; - __GLXDRIscreen *screen = (__GLXDRIscreen *) context->base.pGlxScreen; - - return (*screen->core->unbindContext) (context->driContext); -} - -static int -__glXDRIcontextCopy(__GLXcontext * baseDst, __GLXcontext * baseSrc, - unsigned long mask) -{ - __GLXDRIcontext *dst = (__GLXDRIcontext *) baseDst; - __GLXDRIcontext *src = (__GLXDRIcontext *) baseSrc; - __GLXDRIscreen *screen = (__GLXDRIscreen *) dst->base.pGlxScreen; - - return (*screen->core->copyContext) (dst->driContext, - src->driContext, mask); -} - -static void -glxFillAlphaChannel(CARD32 *pixels, CARD32 rowstride, int width, int height) -{ - int i; - CARD32 *p, *end; - - rowstride /= 4; - - for (i = 0; i < height; i++) { - p = pixels; - end = p + width; - while (p < end) - *p++ |= 0xFF000000; - pixels += rowstride; - } -} - -static Bool -testTexOffset(__GLXDRIscreen * const screen, PixmapPtr pPixmap) -{ - Bool ret; - - if (!screen->texOffsetStart || !screen->texOffset) - return FALSE; - - __glXenterServer(GL_FALSE); - ret = screen->texOffsetStart(pPixmap) != ~0ULL; - __glXleaveServer(GL_FALSE); - - return ret; -} - -/* - * (sticking this here for lack of a better place) - * Known issues with the GLX_EXT_texture_from_pixmap implementation: - * - In general we ignore the fbconfig, lots of examples follow - * - No fbconfig handling for multiple mipmap levels - * - No fbconfig handling for 1D textures - * - No fbconfig handling for TEXTURE_TARGET - * - No fbconfig exposure of Y inversion state - * - No GenerateMipmapEXT support (due to no FBO support) - * - No support for anything but 16bpp and 32bpp-sparse pixmaps - */ - -static int -__glXDRIbindTexImage(__GLXcontext * baseContext, - int buffer, __GLXdrawable * glxPixmap) -{ - RegionPtr pRegion = NULL; - PixmapPtr pixmap; - int bpp, override = 0, texname; - GLenum format, type; - ScreenPtr pScreen = glxPixmap->pDraw->pScreen; - __GLXDRIdrawable *driDraw = (__GLXDRIdrawable *) glxPixmap; - __GLXDRIscreen *const screen = (__GLXDRIscreen *) glxGetScreen(pScreen); - - CALL_GetIntegerv(GET_DISPATCH(), (glxPixmap->target == GL_TEXTURE_2D ? - GL_TEXTURE_BINDING_2D : - GL_TEXTURE_BINDING_RECTANGLE_NV, - &texname)); - - if (!texname) - return __glXError(GLXBadContextState); - - pixmap = (PixmapPtr) glxPixmap->pDraw; - - if (testTexOffset(screen, pixmap)) { - __GLXDRIdrawable **texOffsetOverride = screen->texOffsetOverride; - int i, firstEmpty = 16; - - for (i = 0; i < 16; i++) { - if (texOffsetOverride[i] == driDraw) - goto alreadyin; - - if (firstEmpty == 16 && !texOffsetOverride[i]) - firstEmpty = i; - } - - if (firstEmpty == 16) { - ErrorF("%s: Failed to register texture offset override\n", - __func__); - goto nooverride; - } - - if (firstEmpty >= screen->lastTexOffsetOverride) - screen->lastTexOffsetOverride = firstEmpty + 1; - - texOffsetOverride[firstEmpty] = driDraw; - - alreadyin: - override = 1; - - driDraw->ctx = (__GLXDRIcontext *) baseContext; - - if (texname == driDraw->texname) - return Success; - - driDraw->texname = texname; - - screen->texOffset->setTexOffset(driDraw->ctx->driContext, texname, 0, - pixmap->drawable.depth, - pixmap->devKind); - } - nooverride: - - if (!driDraw->pDamage) { - if (!override) { - driDraw->pDamage = DamageCreate(NULL, NULL, DamageReportNone, - TRUE, pScreen, NULL); - if (!driDraw->pDamage) - return BadAlloc; - - DamageRegister((DrawablePtr) pixmap, driDraw->pDamage); - } - - pRegion = NULL; - } - else { - pRegion = DamageRegion(driDraw->pDamage); - if (RegionNil(pRegion)) - return Success; - } - - /* XXX 24bpp packed, 8, etc */ - if (pixmap->drawable.depth >= 24) { - bpp = 4; - format = GL_BGRA; - type = -#if X_BYTE_ORDER == X_BIG_ENDIAN - !override ? GL_UNSIGNED_INT_8_8_8_8_REV : -#endif - GL_UNSIGNED_BYTE; - } - else { - bpp = 2; - format = GL_RGB; - type = GL_UNSIGNED_SHORT_5_6_5; - } - - if (pRegion == NULL) { - void *data = NULL; - - if (!override) { - unsigned pitch = PixmapBytePad(pixmap->drawable.width, - pixmap->drawable.depth); - - data = malloc(pitch * pixmap->drawable.height); - - __glXenterServer(GL_FALSE); - pScreen->GetImage(&pixmap->drawable, 0 /*pixmap->drawable.x */ , - 0 /*pixmap->drawable.y */ , - pixmap->drawable.width, - pixmap->drawable.height, ZPixmap, ~0, data); - __glXleaveServer(GL_FALSE); - - if (pixmap->drawable.depth == 24) - glxFillAlphaChannel(data, - pitch, - pixmap->drawable.width, - pixmap->drawable.height); - - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, - pitch / bpp)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, 0)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, 0)); - } - - CALL_TexImage2D(GET_DISPATCH(), - (glxPixmap->target, - 0, - bpp == 4 ? 4 : 3, - pixmap->drawable.width, - pixmap->drawable.height, 0, format, type, data)); - - free(data); - } - else if (!override) { - int i, numRects; - BoxPtr p; - - numRects = RegionNumRects(pRegion); - p = RegionRects(pRegion); - - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, 0)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, 0)); - - for (i = 0; i < numRects; i++) { - unsigned pitch = PixmapBytePad(p[i].x2 - p[i].x1, - pixmap->drawable.depth); - void *data = malloc(pitch * (p[i].y2 - p[i].y1)); - - __glXenterServer(GL_FALSE); - pScreen->GetImage(&pixmap->drawable, /*pixmap->drawable.x + */ - p[i].x1, - /*pixmap->drawable.y */ +p[i].y1, - p[i].x2 - p[i].x1, - p[i].y2 - p[i].y1, ZPixmap, ~0, data); - __glXleaveServer(GL_FALSE); - - if (pixmap->drawable.depth == 24) - glxFillAlphaChannel(data, - pitch, - p[i].x2 - p[i].x1, p[i].y2 - p[i].y1); - - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, - pitch / bpp)); - - CALL_TexSubImage2D(GET_DISPATCH(), - (glxPixmap->target, - 0, - p[i].x1, p[i].y1, - p[i].x2 - p[i].x1, p[i].y2 - p[i].y1, - format, type, data)); - - free(data); - } - } - - if (!override) - DamageEmpty(driDraw->pDamage); - - return Success; -} - -static int -__glXDRIreleaseTexImage(__GLXcontext * baseContext, - int buffer, __GLXdrawable * pixmap) -{ - __GLXDRIscreen *screen = - (__GLXDRIscreen *) glxGetScreen(pixmap->pDraw->pScreen); - __GLXDRIdrawable *drawable = (__GLXDRIdrawable *) pixmap; - - __glXDRIdoReleaseTexImage(screen, drawable); - - return Success; -} - -static __GLXtextureFromPixmap __glXDRItextureFromPixmap = { - __glXDRIbindTexImage, - __glXDRIreleaseTexImage -}; - -static void -__glXDRIscreenDestroy(__GLXscreen * baseScreen) -{ - int i; - - __GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen; - - screen->core->destroyScreen(screen->driScreen); - - dlclose(screen->driver); - - __glXScreenDestroy(baseScreen); - - if (screen->driConfigs) { - for (i = 0; screen->driConfigs[i] != NULL; i++) - free((__DRIconfig **) screen->driConfigs[i]); - free(screen->driConfigs); - } - - free(screen); -} - -static __GLXcontext * -__glXDRIscreenCreateContext(__GLXscreen * baseScreen, - __GLXconfig * glxConfig, - __GLXcontext * baseShareContext, - unsigned num_attribs, - const uint32_t *attribs, - int *error) -{ - __GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen; - __GLXDRIcontext *context, *shareContext; - __GLXDRIconfig *config = (__GLXDRIconfig *) glxConfig; - VisualPtr visual; - int i; - GLboolean retval; - __DRIcontext *driShare; - drm_context_t hwContext; - ScreenPtr pScreen = baseScreen->pScreen; - - /* DRI1 cannot support createContextAttribs, so these parameters will - * never be used. - */ - (void) num_attribs; - (void) attribs; - (void) error; - - shareContext = (__GLXDRIcontext *) baseShareContext; - if (shareContext) - driShare = shareContext->driContext; - else - driShare = NULL; - - if (baseShareContext && baseShareContext->isDirect) - return NULL; - - context = calloc(1, sizeof *context); - if (context == NULL) - return NULL; - - context->base.destroy = __glXDRIcontextDestroy; - context->base.makeCurrent = __glXDRIcontextMakeCurrent; - context->base.loseCurrent = __glXDRIcontextLoseCurrent; - context->base.copy = __glXDRIcontextCopy; - - context->base.textureFromPixmap = &__glXDRItextureFromPixmap; - /* Find the requested X visual */ - visual = pScreen->visuals; - for (i = 0; i < pScreen->numVisuals; i++, visual++) - if (visual->vid == glxConfig->visualID) - break; - if (i == pScreen->numVisuals) - return NULL; - - context->hwContextID = FakeClientID(0); - - __glXenterServer(GL_FALSE); - retval = DRICreateContext(baseScreen->pScreen, visual, - context->hwContextID, &hwContext); - __glXleaveServer(GL_FALSE); - - if (!retval) - return NULL; - - context->driContext = screen->legacy->createNewContext(screen->driScreen, config->driConfig, 0, /* render type */ - driShare, - hwContext, context); - - if (context->driContext == NULL) { - __glXenterServer(GL_FALSE); - retval = DRIDestroyContext(baseScreen->pScreen, context->hwContextID); - __glXleaveServer(GL_FALSE); - free(context); - return NULL; - } - - return &context->base; -} - -static __GLXdrawable * -__glXDRIscreenCreateDrawable(ClientPtr client, - __GLXscreen * screen, - DrawablePtr pDraw, - XID drawId, - int type, XID glxDrawId, __GLXconfig * glxConfig) -{ - __GLXDRIscreen *driScreen = (__GLXDRIscreen *) screen; - __GLXDRIconfig *config = (__GLXDRIconfig *) glxConfig; - __GLXDRIdrawable *private; - GLboolean retval; - drm_drawable_t hwDrawable; - - private = calloc(1, sizeof *private); - if (private == NULL) - return NULL; - - if (!__glXDrawableInit(&private->base, screen, - pDraw, type, glxDrawId, glxConfig)) { - free(private); - return NULL; - } - - private->base.destroy = __glXDRIdrawableDestroy; - private->base.swapBuffers = __glXDRIdrawableSwapBuffers; - private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer; - private->base.waitX = NULL; - private->base.waitGL = NULL; - - __glXenterServer(GL_FALSE); - retval = DRICreateDrawable(screen->pScreen, serverClient, - pDraw, &hwDrawable); - __glXleaveServer(GL_FALSE); - - if (!retval) { - free(private); - return NULL; - } - - /* The last argument is 'attrs', which is used with pbuffers which - * we currently don't support. */ - - private->driDrawable = - (driScreen->legacy->createNewDrawable) (driScreen->driScreen, - config->driConfig, - hwDrawable, 0, NULL, private); - - if (private->driDrawable == NULL) { - __glXenterServer(GL_FALSE); - DRIDestroyDrawable(screen->pScreen, serverClient, pDraw); - __glXleaveServer(GL_FALSE); - free(private); - return NULL; - } - - return &private->base; -} - -static GLboolean -getDrawableInfo(__DRIdrawable * driDrawable, - unsigned int *index, unsigned int *stamp, - int *x, int *y, int *width, int *height, - int *numClipRects, drm_clip_rect_t ** ppClipRects, - int *backX, int *backY, - int *numBackClipRects, drm_clip_rect_t ** ppBackClipRects, - void *data) -{ - __GLXDRIdrawable *drawable = data; - ScreenPtr pScreen; - drm_clip_rect_t *pClipRects, *pBackClipRects; - GLboolean retval; - size_t size; - - /* If the X window has been destroyed, give up here. */ - if (drawable->base.pDraw == NULL) - return GL_FALSE; - - pScreen = drawable->base.pDraw->pScreen; - __glXenterServer(GL_FALSE); - retval = DRIGetDrawableInfo(pScreen, drawable->base.pDraw, index, stamp, - x, y, width, height, - numClipRects, &pClipRects, - backX, backY, - numBackClipRects, &pBackClipRects); - __glXleaveServer(GL_FALSE); - - if (retval && *numClipRects > 0) { - size = sizeof(drm_clip_rect_t) * *numClipRects; - *ppClipRects = malloc(size); - - /* Clip cliprects to screen dimensions (redirected windows) */ - if (*ppClipRects != NULL) { - int i, j; - - for (i = 0, j = 0; i < *numClipRects; i++) { - (*ppClipRects)[j].x1 = max(pClipRects[i].x1, 0); - (*ppClipRects)[j].y1 = max(pClipRects[i].y1, 0); - (*ppClipRects)[j].x2 = min(pClipRects[i].x2, pScreen->width); - (*ppClipRects)[j].y2 = min(pClipRects[i].y2, pScreen->height); - - if ((*ppClipRects)[j].x1 < (*ppClipRects)[j].x2 && - (*ppClipRects)[j].y1 < (*ppClipRects)[j].y2) { - j++; - } - } - - if (*numClipRects != j) { - *numClipRects = j; - *ppClipRects = realloc(*ppClipRects, - sizeof(drm_clip_rect_t) * *numClipRects); - } - } - else - *numClipRects = 0; - } - else { - *ppClipRects = NULL; - *numClipRects = 0; - } - - if (retval && *numBackClipRects > 0) { - size = sizeof(drm_clip_rect_t) * *numBackClipRects; - *ppBackClipRects = malloc(size); - if (*ppBackClipRects != NULL) - memcpy(*ppBackClipRects, pBackClipRects, size); - else - *numBackClipRects = 0; - } - else { - *ppBackClipRects = NULL; - *numBackClipRects = 0; - } - - return retval; -} - -static void -__glXReportDamage(__DRIdrawable * driDraw, - int x, int y, - drm_clip_rect_t * rects, int num_rects, - GLboolean front_buffer, void *data) -{ - __GLXDRIdrawable *drawable = data; - DrawablePtr pDraw = drawable->base.pDraw; - RegionRec region; - - __glXenterServer(GL_FALSE); - - if (RegionInitBoxes(®ion, (BoxPtr) rects, num_rects)) { - RegionTranslate(®ion, pDraw->x, pDraw->y); - DamageDamageRegion(pDraw, ®ion); - RegionUninit(®ion); - } - else { - while (num_rects--) { - RegionInit(®ion, (BoxPtr) rects++, 1); - RegionTranslate(®ion, pDraw->x, pDraw->y); - DamageDamageRegion(pDraw, ®ion); - RegionUninit(®ion); - } - } - - __glXleaveServer(GL_FALSE); -} - -static const __DRIgetDrawableInfoExtension getDrawableInfoExtension = { - {__DRI_GET_DRAWABLE_INFO, __DRI_GET_DRAWABLE_INFO_VERSION}, - getDrawableInfo -}; - -static const __DRIdamageExtension damageExtension = { - {__DRI_DAMAGE, __DRI_DAMAGE_VERSION}, - __glXReportDamage, -}; - -static const __DRIextension *loader_extensions[] = { - &systemTimeExtension.base, - &getDrawableInfoExtension.base, - &damageExtension.base, - NULL -}; - -static Bool -glxDRIEnterVT(ScrnInfoPtr scrn) -{ - Bool ret; - __GLXDRIscreen *screen = (__GLXDRIscreen *) - glxGetScreen(xf86ScrnToScreen(scrn)); - - LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n"); - - scrn->EnterVT = screen->enterVT; - - ret = scrn->EnterVT(scrn); - - screen->enterVT = scrn->EnterVT; - scrn->EnterVT = glxDRIEnterVT; - - if (!ret) - return FALSE; - - glxResumeClients(); - - return TRUE; -} - -static void -glxDRILeaveVT(ScrnInfoPtr scrn) -{ - __GLXDRIscreen *screen = (__GLXDRIscreen *) - glxGetScreen(xf86ScrnToScreen(scrn)); - - LogMessageVerbSigSafe(X_INFO, -1, "AIGLX: Suspending AIGLX clients for VT switch\n"); - - glxSuspendClients(); - - scrn->LeaveVT = screen->leaveVT; - (*screen->leaveVT) (scrn); - screen->leaveVT = scrn->LeaveVT; - scrn->LeaveVT = glxDRILeaveVT; -} - -static void -initializeExtensions(__GLXDRIscreen * screen) -{ - const __DRIextension **extensions; - int i; - - extensions = screen->core->getExtensions(screen->driScreen); - - for (i = 0; extensions[i]; i++) { -#ifdef __DRI_READ_DRAWABLE - if (strcmp(extensions[i]->name, __DRI_READ_DRAWABLE) == 0) { - __glXEnableExtension(screen->glx_enable_bits, - "GLX_SGI_make_current_read"); - - LogMessage(X_INFO, "AIGLX: enabled GLX_SGI_make_current_read\n"); - } -#endif - -#ifdef __DRI_COPY_SUB_BUFFER - if (strcmp(extensions[i]->name, __DRI_COPY_SUB_BUFFER) == 0) { - screen->copySubBuffer = - (__DRIcopySubBufferExtension *) extensions[i]; - __glXEnableExtension(screen->glx_enable_bits, - "GLX_MESA_copy_sub_buffer"); - - LogMessage(X_INFO, "AIGLX: enabled GLX_MESA_copy_sub_buffer\n"); - } -#endif - -#ifdef __DRI_SWAP_CONTROL - if (strcmp(extensions[i]->name, __DRI_SWAP_CONTROL) == 0) { - screen->swapControl = (__DRIswapControlExtension *) extensions[i]; - __glXEnableExtension(screen->glx_enable_bits, - "GLX_SGI_swap_control"); - __glXEnableExtension(screen->glx_enable_bits, - "GLX_MESA_swap_control"); - - LogMessage(X_INFO, - "AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control\n"); - } -#endif - -#ifdef __DRI_TEX_OFFSET - if (strcmp(extensions[i]->name, __DRI_TEX_OFFSET) == 0) { - screen->texOffset = (__DRItexOffsetExtension *) extensions[i]; - LogMessage(X_INFO, - "AIGLX: enabled GLX_texture_from_pixmap with driver support\n"); - } -#endif - /* Ignore unknown extensions */ - } -} - -static __GLXscreen * -__glXDRIscreenProbe(ScreenPtr pScreen) -{ - drm_handle_t hSAREA; - drmAddress pSAREA = NULL; - char *BusID; - __DRIversion ddx_version; - __DRIversion dri_version; - __DRIversion drm_version; - __DRIframebuffer framebuffer; - int fd = -1; - int status; - drm_magic_t magic; - drmVersionPtr version; - int newlyopened; - char *driverName; - drm_handle_t hFB; - int junk; - __GLXDRIscreen *screen; - Bool isCapable; - size_t buffer_size; - ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); - - framebuffer.base = NULL; - - if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") || - !DRIQueryDirectRenderingCapable(pScreen, &isCapable) || !isCapable) { - LogMessage(X_INFO, - "AIGLX: Screen %d is not DRI capable\n", pScreen->myNum); - return NULL; - } - - screen = calloc(1, sizeof *screen); - if (screen == NULL) - return NULL; - - screen->base.destroy = __glXDRIscreenDestroy; - screen->base.createContext = __glXDRIscreenCreateContext; - screen->base.createDrawable = __glXDRIscreenCreateDrawable; - screen->base.swapInterval = __glXDRIdrawableSwapInterval; - screen->base.pScreen = pScreen; - - __glXInitExtensionEnableBits(screen->glx_enable_bits); - - /* DRI protocol version. */ - dri_version.major = XF86DRI_MAJOR_VERSION; - dri_version.minor = XF86DRI_MINOR_VERSION; - dri_version.patch = XF86DRI_PATCH_VERSION; - - if (!DRIOpenConnection(pScreen, &hSAREA, &BusID)) { - LogMessage(X_ERROR, "AIGLX error: DRIOpenConnection failed\n"); - goto handle_error; - } - - fd = drmOpenOnce(NULL, BusID, &newlyopened); - - if (fd < 0) { - LogMessage(X_ERROR, "AIGLX error: drmOpenOnce failed (%s)\n", - strerror(-fd)); - goto handle_error; - } - - if (drmGetMagic(fd, &magic)) { - LogMessage(X_ERROR, "AIGLX error: drmGetMagic failed\n"); - goto handle_error; - } - - version = drmGetVersion(fd); - if (version) { - drm_version.major = version->version_major; - drm_version.minor = version->version_minor; - drm_version.patch = version->version_patchlevel; - drmFreeVersion(version); - } - else { - drm_version.major = -1; - drm_version.minor = -1; - drm_version.patch = -1; - } - - if (newlyopened && !DRIAuthConnection(pScreen, magic)) { - LogMessage(X_ERROR, "AIGLX error: DRIAuthConnection failed\n"); - goto handle_error; - } - - /* Get device name (like "tdfx") and the ddx version numbers. - * We'll check the version in each DRI driver's "createNewScreen" - * function. */ - if (!DRIGetClientDriverName(pScreen, - &ddx_version.major, - &ddx_version.minor, - &ddx_version.patch, &driverName)) { - LogMessage(X_ERROR, "AIGLX error: DRIGetClientDriverName failed\n"); - goto handle_error; - } - - screen->driver = glxProbeDriver(driverName, - (void **) &screen->core, - __DRI_CORE, __DRI_CORE_VERSION, - (void **) &screen->legacy, - __DRI_LEGACY, __DRI_LEGACY_VERSION); - if (screen->driver == NULL) { - goto handle_error; - } - - /* - * Get device-specific info. pDevPriv will point to a struct - * (such as DRIRADEONRec in xfree86/driver/ati/radeon_dri.h) that - * has information about the screen size, depth, pitch, ancilliary - * buffers, DRM mmap handles, etc. - */ - if (!DRIGetDeviceInfo(pScreen, &hFB, &junk, - &framebuffer.size, &framebuffer.stride, - &framebuffer.dev_priv_size, &framebuffer.dev_priv)) { - LogMessage(X_ERROR, "AIGLX error: XF86DRIGetDeviceInfo failed\n"); - goto handle_error; - } - - framebuffer.width = pScreen->width; - framebuffer.height = pScreen->height; - - /* Map the framebuffer region. */ - status = drmMap(fd, hFB, framebuffer.size, - (drmAddressPtr) &framebuffer.base); - if (status != 0) { - LogMessage(X_ERROR, "AIGLX error: drmMap of framebuffer failed (%s)\n", - strerror(-status)); - goto handle_error; - } - - /* Map the SAREA region. Further mmap regions may be setup in - * each DRI driver's "createNewScreen" function. - */ - status = drmMap(fd, hSAREA, SAREA_MAX, &pSAREA); - if (status != 0) { - LogMessage(X_ERROR, "AIGLX error: drmMap of SAREA failed (%s)\n", - strerror(-status)); - goto handle_error; - } - - screen->driScreen = - (*screen->legacy->createNewScreen) (pScreen->myNum, - &ddx_version, - &dri_version, - &drm_version, - &framebuffer, - pSAREA, - fd, - loader_extensions, - &screen->driConfigs, screen); - - if (screen->driScreen == NULL) { - LogMessage(X_ERROR, "AIGLX error: Calling driver entry point failed\n"); - goto handle_error; - } - - screen->base.fbconfigs = glxConvertConfigs(screen->core, - screen->driConfigs, - GLX_WINDOW_BIT); - - initializeExtensions(screen); - - DRIGetTexOffsetFuncs(pScreen, &screen->texOffsetStart, - &screen->texOffsetFinish); - - __glXScreenInit(&screen->base, pScreen); - - /* The first call simply determines the length of the extension string. - * This allows us to allocate some memory to hold the extension string, - * but it requires that we call __glXGetExtensionString a second time. - */ - buffer_size = __glXGetExtensionString(screen->glx_enable_bits, NULL); - if (buffer_size > 0) { - free(screen->base.GLXextensions); - - screen->base.GLXextensions = xnfalloc(buffer_size); - (void) __glXGetExtensionString(screen->glx_enable_bits, - screen->base.GLXextensions); - } - - __glXsetEnterLeaveServerFuncs(__glXDRIenterServer, __glXDRIleaveServer); - - screen->enterVT = pScrn->EnterVT; - pScrn->EnterVT = glxDRIEnterVT; - screen->leaveVT = pScrn->LeaveVT; - pScrn->LeaveVT = glxDRILeaveVT; - - LogMessage(X_INFO, "AIGLX: Loaded and initialized %s\n", driverName); - - return &screen->base; - - handle_error: - if (pSAREA != NULL) - drmUnmap(pSAREA, SAREA_MAX); - - if (framebuffer.base != NULL) - drmUnmap((drmAddress) framebuffer.base, framebuffer.size); - - if (fd >= 0) - drmCloseOnce(fd); - - DRICloseConnection(pScreen); - - if (screen->driver) - dlclose(screen->driver); - - free(screen); - - LogMessage(X_ERROR, "AIGLX: reverting to software rendering\n"); - - return NULL; -} - -_X_EXPORT __GLXprovider __glXDRIProvider = { - __glXDRIscreenProbe, - "DRI", - NULL -}; diff --git a/xserver/glx/glxdri2.c b/xserver/glx/glxdri2.c index 16e7e3dee..b2f3d6ee8 100644 --- a/xserver/glx/glxdri2.c +++ b/xserver/glx/glxdri2.c @@ -49,17 +49,12 @@ #include "glxdricommon.h" #include -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" #include "extension_string.h" typedef struct __GLXDRIscreen __GLXDRIscreen; typedef struct __GLXDRIcontext __GLXDRIcontext; typedef struct __GLXDRIdrawable __GLXDRIdrawable; - #ifdef __DRI2_ROBUSTNESS #define ALL_DRI_CTX_FLAGS (__DRI_CTX_FLAG_DEBUG \ | __DRI_CTX_FLAG_FORWARD_COMPATIBLE \ @@ -181,36 +176,25 @@ __glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust, CARD64 msc, CARD32 sbc) { __GLXdrawable *drawable = data; - xGLXBufferSwapComplete2 wire = { - .type = __glXEventBase + GLX_BufferSwapComplete - }; - - if (!(drawable->eventMask & GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK)) - return; - + int glx_type; switch (type) { case DRI2_EXCHANGE_COMPLETE: - wire.event_type = GLX_EXCHANGE_COMPLETE_INTEL; - break; - case DRI2_BLIT_COMPLETE: - wire.event_type = GLX_BLIT_COMPLETE_INTEL; - break; - case DRI2_FLIP_COMPLETE: - wire.event_type = GLX_FLIP_COMPLETE_INTEL; + glx_type = GLX_EXCHANGE_COMPLETE_INTEL; break; default: - /* unknown swap completion type */ - wire.event_type = 0; + /* unknown swap completion type, + * BLIT is a reasonable default, so + * fall through ... + */ + case DRI2_BLIT_COMPLETE: + glx_type = GLX_BLIT_COMPLETE_INTEL; + break; + case DRI2_FLIP_COMPLETE: + glx_type = GLX_FLIP_COMPLETE_INTEL; break; } - wire.drawable = drawable->drawId; - wire.ust_hi = ust >> 32; - wire.ust_lo = ust & 0xffffffff; - wire.msc_hi = msc >> 32; - wire.msc_lo = msc & 0xffffffff; - wire.sbc = sbc; - - WriteEventsToClient(client, 1, (xEvent *) &wire); + + __glXsendSwapEvent(drawable, glx_type, ust, msc, sbc); } /* @@ -375,6 +359,7 @@ __glXDRIscreenDestroy(__GLXscreen * baseScreen) { int i; + ScrnInfoPtr pScrn = xf86ScreenToScrn(baseScreen->pScreen); __GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen; (*screen->core->destroyScreen) (screen->driScreen); @@ -389,6 +374,9 @@ __glXDRIscreenDestroy(__GLXscreen * baseScreen) free(screen->driConfigs); } + pScrn->EnterVT = screen->enterVT; + pScrn->LeaveVT = screen->leaveVT; + free(screen); } @@ -784,7 +772,7 @@ dri2FlushFrontBuffer(__DRIdrawable * driDrawable, void *loaderPrivate) } static const __DRIdri2LoaderExtension loaderExtension = { - {__DRI_DRI2_LOADER, __DRI_DRI2_LOADER_VERSION}, + {__DRI_DRI2_LOADER, 3}, dri2GetBuffers, dri2FlushFrontBuffer, dri2GetBuffersWithFormat, @@ -792,7 +780,7 @@ static const __DRIdri2LoaderExtension loaderExtension = { #ifdef __DRI_USE_INVALIDATE static const __DRIuseInvalidateExtension dri2UseInvalidate = { - {__DRI_USE_INVALIDATE, __DRI_USE_INVALIDATE_VERSION} + {__DRI_USE_INVALIDATE, 1} }; #endif @@ -845,6 +833,11 @@ glxDRILeaveVT(ScrnInfoPtr scrn) scrn->LeaveVT = glxDRILeaveVT; } +/** + * Initialize extension flags in glx_enable_bits when a new screen is created + * + * @param screen The screen where glx_enable_bits are to be set. + */ static void initializeExtensions(__GLXDRIscreen * screen) { @@ -857,8 +850,6 @@ initializeExtensions(__GLXDRIscreen * screen) __glXEnableExtension(screen->glx_enable_bits, "GLX_MESA_copy_sub_buffer"); LogMessage(X_INFO, "AIGLX: enabled GLX_MESA_copy_sub_buffer\n"); - __glXEnableExtension(screen->glx_enable_bits, "GLX_INTEL_swap_event"); - LogMessage(X_INFO, "AIGLX: enabled GLX_INTEL_swap_event\n"); #if __DRI_DRI2_VERSION >= 3 if (screen->dri2->base.version >= 3) { @@ -876,12 +867,27 @@ initializeExtensions(__GLXDRIscreen * screen) #endif if (DRI2HasSwapControl(pScreen)) { + __glXEnableExtension(screen->glx_enable_bits, "GLX_INTEL_swap_event"); __glXEnableExtension(screen->glx_enable_bits, "GLX_SGI_swap_control"); __glXEnableExtension(screen->glx_enable_bits, "GLX_MESA_swap_control"); + LogMessage(X_INFO, "AIGLX: enabled GLX_INTEL_swap_event\n"); LogMessage(X_INFO, "AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control\n"); } + /* enable EXT_framebuffer_sRGB extension (even if there are no sRGB capable fbconfigs) */ + { + __glXEnableExtension(screen->glx_enable_bits, + "GLX_EXT_framebuffer_sRGB"); + LogMessage(X_INFO, "AIGLX: enabled GLX_EXT_framebuffer_sRGB\n"); + } + + /* enable ARB_fbconfig_float extension (even if there are no float fbconfigs) */ + { + __glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_fbconfig_float"); + LogMessage(X_INFO, "AIGLX: enabled GLX_ARB_fbconfig_float\n"); + } + for (i = 0; extensions[i]; i++) { #ifdef __DRI_READ_DRAWABLE if (strcmp(extensions[i]->name, __DRI_READ_DRAWABLE) == 0) { @@ -922,6 +928,9 @@ initializeExtensions(__GLXDRIscreen * screen) } } +/* white lie */ +extern glx_func_ptr glXGetProcAddressARB(const char *); + static __GLXscreen * __glXDRIscreenProbe(ScreenPtr pScreen) { @@ -934,12 +943,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen) if (screen == NULL) return NULL; - if (!xf86LoaderCheckSymbol("DRI2Connect") || - !DRI2Connect(serverClient, pScreen, DRI2DriverDRI, + if (!DRI2Connect(serverClient, pScreen, DRI2DriverDRI, &screen->fd, &driverName, &deviceName)) { LogMessage(X_INFO, "AIGLX: Screen %d is not DRI2 capable\n", pScreen->myNum); - return NULL; + goto handle_error; } screen->base.destroy = __glXDRIscreenDestroy; @@ -1007,6 +1015,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen) screen->leaveVT = pScrn->LeaveVT; pScrn->LeaveVT = glxDRILeaveVT; + __glXsetGetProcAddress(glXGetProcAddressARB); + LogMessage(X_INFO, "AIGLX: Loaded and initialized %s\n", driverName); return &screen->base; diff --git a/xserver/glx/glxdricommon.c b/xserver/glx/glxdricommon.c index 5686c5f64..a97d027a8 100644 --- a/xserver/glx/glxdricommon.c +++ b/xserver/glx/glxdricommon.c @@ -36,6 +36,7 @@ #include #include #include "glxserver.h" +#include "glxext.h" #include "glxcontext.h" #include "glxscreens.h" #include "glxdricommon.h" @@ -58,7 +59,7 @@ getUST(int64_t * ust) } const __DRIsystemTimeExtension systemTimeExtension = { - {__DRI_SYSTEM_TIME, __DRI_SYSTEM_TIME_VERSION}, + {__DRI_SYSTEM_TIME, 1}, getUST, NULL, }; @@ -105,7 +106,9 @@ __ATTRIB(__DRI_ATTRIB_BUFFER_SIZE, rgbBits), __ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGB, bindToTextureRgb), __ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGBA, bindToTextureRgba), __ATTRIB(__DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE, bindToMipmapTexture), - __ATTRIB(__DRI_ATTRIB_YINVERTED, yInverted),}; + __ATTRIB(__DRI_ATTRIB_YINVERTED, yInverted), + __ATTRIB(__DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE, sRGBCapable), + }; static void setScalar(__GLXconfig * config, unsigned int attrib, unsigned int value) @@ -125,10 +128,11 @@ createModeFromConfig(const __DRIcoreExtension * core, unsigned int visualType, unsigned int drawableType) { __GLXDRIconfig *config; + GLint renderType = 0; unsigned int attrib, value; int i; - config = malloc(sizeof *config); + config = calloc(1, sizeof *config); config->driConfig = driConfig; @@ -136,11 +140,14 @@ createModeFromConfig(const __DRIcoreExtension * core, while (core->indexConfigAttrib(driConfig, i++, &attrib, &value)) { switch (attrib) { case __DRI_ATTRIB_RENDER_TYPE: - config->config.renderType = 0; if (value & __DRI_ATTRIB_RGBA_BIT) - config->config.renderType |= GLX_RGBA_BIT; + renderType |= GLX_RGBA_BIT; if (value & __DRI_ATTRIB_COLOR_INDEX_BIT) - config->config.renderType |= GLX_COLOR_INDEX_BIT; + renderType |= GLX_COLOR_INDEX_BIT; + if (value & __DRI_ATTRIB_FLOAT_BIT) + renderType |= GLX_RGBA_FLOAT_BIT_ARB; + if (value & __DRI_ATTRIB_UNSIGNED_FLOAT_BIT) + renderType |= GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT; break; case __DRI_ATTRIB_CONFIG_CAVEAT: if (value & __DRI_ATTRIB_NON_CONFORMANT_CONFIG) @@ -169,11 +176,27 @@ createModeFromConfig(const __DRIcoreExtension * core, config->config.next = NULL; config->config.xRenderable = GL_TRUE; config->config.visualType = visualType; + config->config.renderType = renderType; config->config.drawableType = drawableType; + config->config.yInverted = GL_TRUE; return &config->config; } +static Bool +render_type_is_pbuffer_only(unsigned renderType) +{ + /* The GL_ARB_color_buffer_float spec says: + * + * "Note that floating point rendering is only supported for + * GLXPbuffer drawables. The GLX_DRAWABLE_TYPE attribute of the + * GLXFBConfig must have the GLX_PBUFFER_BIT bit set and the + * GLX_RENDER_TYPE attribute must have the GLX_RGBA_FLOAT_BIT set." + */ + return !!(renderType & (__DRI_ATTRIB_UNSIGNED_FLOAT_BIT + | __DRI_ATTRIB_FLOAT_BIT)); +} + __GLXconfig * glxConvertConfigs(const __DRIcoreExtension * core, const __DRIconfig ** configs, unsigned int drawableType) @@ -185,6 +208,14 @@ glxConvertConfigs(const __DRIcoreExtension * core, head.next = NULL; for (i = 0; configs[i]; i++) { + unsigned renderType = 0; + if (core->getConfigAttrib(configs[i], __DRI_ATTRIB_RENDER_TYPE, + &renderType)) { + if (render_type_is_pbuffer_only(renderType) && + !(drawableType & GLX_PBUFFER_BIT)) + continue; + } + /* Add all the others */ tail->next = createModeFromConfig(core, configs[i], GLX_TRUE_COLOR, drawableType); @@ -195,6 +226,14 @@ glxConvertConfigs(const __DRIcoreExtension * core, } for (i = 0; configs[i]; i++) { + int renderType = 0; + if (core->getConfigAttrib(configs[i], __DRI_ATTRIB_RENDER_TYPE, + &renderType)) { + if (render_type_is_pbuffer_only(renderType) && + !(drawableType & GLX_PBUFFER_BIT)) + continue; + } + /* Add all the others */ tail->next = createModeFromConfig(core, configs[i], GLX_DIRECT_COLOR, drawableType); diff --git a/xserver/glx/glxdriswrast.c b/xserver/glx/glxdriswrast.c index b47839868..cbc109a6d 100644 --- a/xserver/glx/glxdriswrast.c +++ b/xserver/glx/glxdriswrast.c @@ -48,10 +48,6 @@ #include "glxutil.h" #include "glxdricommon.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" #include "extension_string.h" /* RTLD_LOCAL is not defined on Cygwin */ @@ -390,7 +386,7 @@ swrastGetImage(__DRIdrawable * draw, } static const __DRIswrastLoaderExtension swrastLoaderExtension = { - {__DRI_SWRAST_LOADER, __DRI_SWRAST_LOADER_VERSION}, + {__DRI_SWRAST_LOADER, 1}, swrastGetDrawableInfo, swrastPutImage, swrastGetImage @@ -429,6 +425,9 @@ initializeExtensions(__GLXDRIscreen * screen) } } +/* white lie */ +extern glx_func_ptr glXGetProcAddressARB(const char *); + static __GLXscreen * __glXDRIscreenProbe(ScreenPtr pScreen) { @@ -447,9 +446,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen) screen->driver = glxProbeDriver(driverName, (void **) &screen->core, - __DRI_CORE, __DRI_CORE_VERSION, + __DRI_CORE, 1, (void **) &screen->swrast, - __DRI_SWRAST, __DRI_SWRAST_VERSION); + __DRI_SWRAST, 1); if (screen->driver == NULL) { goto handle_error; } @@ -476,6 +475,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen) screen->base.GLXmajor = 1; screen->base.GLXminor = 4; + __glXsetGetProcAddress(glXGetProcAddressARB); + LogMessage(X_INFO, "AIGLX: Loaded and initialized %s\n", driverName); return &screen->base; diff --git a/xserver/glx/glxext.c b/xserver/glx/glxext.c index bc7fe8217..316b4f6e8 100644 --- a/xserver/glx/glxext.c +++ b/xserver/glx/glxext.c @@ -95,16 +95,15 @@ __glXResetLargeCommandStatus(__GLXclientState * cl) } /* -** This procedure is called when the client who created the context goes -** away OR when glXDestroyContext is called. In either case, all we do is -** flag that the ID is no longer valid, and (maybe) free the context. -** use. -*/ + * This procedure is called when the client who created the context goes away + * OR when glXDestroyContext is called. In either case, all we do is flag that + * the ID is no longer valid, and (maybe) free the context. + */ static int ContextGone(__GLXcontext * cx, XID id) { cx->idExists = GL_FALSE; - if (!cx->isCurrent) { + if (!cx->currentClient) { __glXFreeContext(cx); } @@ -138,9 +137,10 @@ DrawableGone(__GLXdrawable * glxPriv, XID xid) for (c = glxAllContexts; c; c = next) { next = c->next; - if (c->isCurrent && (c->drawPriv == glxPriv || c->readPriv == glxPriv)) { + if (c->currentClient && + (c->drawPriv == glxPriv || c->readPriv == glxPriv)) { + /* just force a re-bind the next time through */ (*c->loseCurrent) (c); - c->isCurrent = GL_FALSE; if (c == __glXLastContext) __glXFlushContextCache(); } @@ -196,17 +196,17 @@ __glXRemoveFromContextList(__GLXcontext * cx) GLboolean __glXFreeContext(__GLXcontext * cx) { - if (cx->idExists || cx->isCurrent) + if (cx->idExists || cx->currentClient) return GL_FALSE; + __glXRemoveFromContextList(cx); + free(cx->feedbackBuf); free(cx->selectBuf); if (cx == __glXLastContext) { __glXFlushContextCache(); } - __glXRemoveFromContextList(cx); - /* We can get here through both regular dispatching from * __glXDispatch() or as a callback from the resource manager. In * the latter case we need to lift the DRI lock manually. */ @@ -283,17 +283,24 @@ glxClientCallback(CallbackListPtr *list, pointer closure, pointer data) NewClientInfoRec *clientinfo = (NewClientInfoRec *) data; ClientPtr pClient = clientinfo->client; __GLXclientState *cl = glxGetClient(pClient); + __GLXcontext *c, *next; switch (pClient->clientState) { case ClientStateRunning: - /* - ** By default, assume that the client supports - ** GLX major version 1 minor version 0 protocol. - */ cl->client = pClient; break; case ClientStateGone: + /* detach from all current contexts */ + for (c = glxAllContexts; c; c = next) { + next = c->next; + if (c->currentClient == pClient) { + c->loseCurrent(c); + c->currentClient = NULL; + __glXFreeContext(c); + } + } + free(cl->returnBuf); free(cl->largeCmdBuf); free(cl->GLClientextensions); @@ -392,6 +399,9 @@ GlxExtensionInit(void) __glXErrorBase = extEntry->errorBase; __glXEventBase = extEntry->eventBase; +#if PRESENT + __glXregisterPresentCompleteNotify(); +#endif } /************************************************************************/ @@ -534,6 +544,21 @@ __glXleaveServer(GLboolean rendering) glxServerLeaveCount++; } +static glx_gpa_proc _get_proc_address; + +void +__glXsetGetProcAddress(glx_gpa_proc get_proc_address) +{ + _get_proc_address = get_proc_address; +} + +void *__glGetProcAddress(const char *proc) +{ + void *ret = _get_proc_address(proc); + + return ret ? ret : NoopDDA; +} + /* ** Top level dispatcher; all commands are executed from here down. */ diff --git a/xserver/glx/glxext.h b/xserver/glx/glxext.h index 9b0978b93..3f2dee696 100644 --- a/xserver/glx/glxext.h +++ b/xserver/glx/glxext.h @@ -35,6 +35,22 @@ * Silicon Graphics, Inc. */ +/* doing #include & #include could cause problems + * with overlapping definitions, so let's use the easy way + */ +#ifndef GLX_RGBA_FLOAT_BIT_ARB +#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004 +#endif +#ifndef GLX_RGBA_FLOAT_TYPE_ARB +#define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9 +#endif +#ifndef GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT +#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 +#endif +#ifndef GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT +#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 +#endif + extern GLboolean __glXFreeContext(__GLXcontext * glxc); extern void __glXFlushContextCache(void); diff --git a/xserver/glx/glxscreens.c b/xserver/glx/glxscreens.c index 61d590cc8..78769f401 100644 --- a/xserver/glx/glxscreens.c +++ b/xserver/glx/glxscreens.c @@ -128,7 +128,6 @@ static const char GLServerExtensions[] = "GL_NV_blend_square " "GL_NV_depth_clamp " "GL_NV_fog_distance " - "GL_NV_fragment_program " "GL_NV_fragment_program_option " "GL_NV_fragment_program2 " "GL_NV_light_max_exponent " @@ -139,9 +138,6 @@ static const char GLServerExtensions[] = "GL_NV_texture_env_combine4 " "GL_NV_texture_expand_normal " "GL_NV_texture_rectangle " - "GL_NV_vertex_program " - "GL_NV_vertex_program1_1 " - "GL_NV_vertex_program2 " "GL_NV_vertex_program2_option " "GL_NV_vertex_program3 " "GL_OES_compressed_paletted_texture " @@ -154,13 +150,14 @@ static const char GLServerExtensions[] = "GL_SGIS_texture_edge_clamp " "GL_SGIS_texture_lod " "GL_SGIX_depth_texture " - "GL_SGIX_shadow " "GL_SGIX_shadow_ambient " "GL_SUN_slice_accum "; + "GL_SGIX_shadow " + "GL_SGIX_shadow_ambient " + "GL_SUN_slice_accum "; /* ** We have made the simplifying assuption that the same extensions are ** supported across all screens in a multi-screen system. */ -static char GLXServerVendorName[] = "SGI"; unsigned glxMajorVersion = SERVER_GLX_MAJOR_VERSION; unsigned glxMinorVersion = SERVER_GLX_MINOR_VERSION; static char GLXServerExtensions[] = @@ -169,12 +166,14 @@ static char GLXServerExtensions[] = "GLX_EXT_visual_rating " "GLX_EXT_import_context " "GLX_EXT_texture_from_pixmap " - "GLX_OML_swap_method " "GLX_SGI_make_current_read " + "GLX_OML_swap_method " + "GLX_SGI_make_current_read " #ifndef __APPLE__ "GLX_SGIS_multisample " #endif "GLX_SGIX_fbconfig " - "GLX_SGIX_pbuffer " "GLX_MESA_copy_sub_buffer "; + "GLX_SGIX_pbuffer " + "GLX_MESA_copy_sub_buffer "; static Bool glxCloseScreen(ScreenPtr pScreen) @@ -330,7 +329,6 @@ __glXScreenInit(__GLXscreen * pGlxScreen, ScreenPtr pScreen) pGlxScreen->pScreen = pScreen; pGlxScreen->GLextensions = strdup(GLServerExtensions); - pGlxScreen->GLXvendor = strdup(GLXServerVendorName); pGlxScreen->GLXextensions = strdup(GLXServerExtensions); /* All GLX providers must support all of the functionality required for at @@ -420,7 +418,6 @@ __glXScreenInit(__GLXscreen * pGlxScreen, ScreenPtr pScreen) void __glXScreenDestroy(__GLXscreen * screen) { - free(screen->GLXvendor); free(screen->GLXextensions); free(screen->GLextensions); free(screen->visuals); diff --git a/xserver/glx/glxscreens.h b/xserver/glx/glxscreens.h index b29df58a5..c8119fd21 100644 --- a/xserver/glx/glxscreens.h +++ b/xserver/glx/glxscreens.h @@ -54,8 +54,6 @@ struct __GLXconfig { GLint level; - GLint pixmapMode; - /* GLX */ GLint visualID; GLint visualType; /**< One of the GLX X visual types. (i.e., @@ -94,14 +92,15 @@ struct __GLXconfig { /* OML_swap_method */ GLint swapMethod; - GLint screen; - /* EXT_texture_from_pixmap */ GLint bindToTextureRgb; GLint bindToTextureRgba; GLint bindToMipmapTexture; GLint bindToTextureTargets; GLint yInverted; + + /* ARB_framebuffer_sRGB */ + GLint sRGBCapable; }; GLint glxConvertToXVisualType(int visualType); @@ -142,7 +141,6 @@ struct __GLXscreen { char *GLextensions; - char *GLXvendor; char *GLXextensions; /** diff --git a/xserver/glx/glxserver.h b/xserver/glx/glxserver.h index 1021aec80..7f36e5f5e 100644 --- a/xserver/glx/glxserver.h +++ b/xserver/glx/glxserver.h @@ -46,7 +46,9 @@ #include #include +#define GL_GLEXT_PROTOTYPES /* we want prototypes */ #include +#include #include /* @@ -115,6 +117,20 @@ void __glXleaveServer(GLboolean rendering); void glxSuspendClients(void); void glxResumeClients(void); +typedef void (*glx_func_ptr)(void); +typedef glx_func_ptr (*glx_gpa_proc)(const char *); +void __glXsetGetProcAddress(glx_gpa_proc get_proc_address); +void *__glGetProcAddress(const char *); + +void +__glXsendSwapEvent(__GLXdrawable *drawable, int type, CARD64 ust, + CARD64 msc, CARD32 sbc); + +#if PRESENT +void +__glXregisterPresentCompleteNotify(void); +#endif + /* ** State kept per client. */ diff --git a/xserver/glx/indirect_dispatch.c b/xserver/glx/indirect_dispatch.c index 0a7623cf2..329b2e61e 100644 --- a/xserver/glx/indirect_dispatch.c +++ b/xserver/glx/indirect_dispatch.c @@ -25,21 +25,14 @@ * SOFTWARE. */ -#include -#include -#include #include +#include "glxserver.h" #include "indirect_size.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" -#include "glxserver.h" #include "glxbyteorder.h" #include "indirect_util.h" #include "singlesize.h" -#include "glapi.h" -#include "glapitable.h" -#include "glthread.h" -#include "dispatch.h" #define __GLX_PAD(x) (((x) + 3) & ~3) @@ -61,8 +54,7 @@ __glXDisp_NewList(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_NewList(GET_DISPATCH(), (*(GLuint *) (pc + 0), *(GLenum *) (pc + 4) - )); + glNewList(*(GLuint *) (pc + 0), *(GLenum *) (pc + 4)); error = Success; } @@ -78,7 +70,7 @@ __glXDisp_EndList(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_EndList(GET_DISPATCH(), ()); + glEndList(); error = Success; } @@ -88,8 +80,7 @@ __glXDisp_EndList(__GLXclientState * cl, GLbyte * pc) void __glXDisp_CallList(GLbyte * pc) { - CALL_CallList(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + glCallList(*(GLuint *) (pc + 0)); } void @@ -101,7 +92,7 @@ __glXDisp_CallLists(GLbyte * pc) lists = (const GLvoid *) (pc + 8); - CALL_CallLists(GET_DISPATCH(), (n, type, lists)); + glCallLists(n, type, lists); } int @@ -113,9 +104,7 @@ __glXDisp_DeleteLists(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_DeleteLists(GET_DISPATCH(), (*(GLuint *) (pc + 0), - *(GLsizei *) (pc + 4) - )); + glDeleteLists(*(GLuint *) (pc + 0), *(GLsizei *) (pc + 4)); error = Success; } @@ -133,8 +122,7 @@ __glXDisp_GenLists(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLuint retval; - retval = CALL_GenLists(GET_DISPATCH(), (*(GLsizei *) (pc + 0) - )); + retval = glGenLists(*(GLsizei *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -145,15 +133,13 @@ __glXDisp_GenLists(__GLXclientState * cl, GLbyte * pc) void __glXDisp_ListBase(GLbyte * pc) { - CALL_ListBase(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + glListBase(*(GLuint *) (pc + 0)); } void __glXDisp_Begin(GLbyte * pc) { - CALL_Begin(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glBegin(*(GLenum *) (pc + 0)); } void @@ -162,29 +148,23 @@ __glXDisp_Bitmap(GLbyte * pc) const GLubyte *const bitmap = (const GLubyte *) ((pc + 44)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_Bitmap(GET_DISPATCH(), (*(GLsizei *) (pc + 20), - *(GLsizei *) (pc + 24), - *(GLfloat *) (pc + 28), - *(GLfloat *) (pc + 32), - *(GLfloat *) (pc + 36), - *(GLfloat *) (pc + 40), bitmap)); + glBitmap(*(GLsizei *) (pc + 20), + *(GLsizei *) (pc + 24), + *(GLfloat *) (pc + 28), + *(GLfloat *) (pc + 32), + *(GLfloat *) (pc + 36), *(GLfloat *) (pc + 40), bitmap); } void __glXDisp_Color3bv(GLbyte * pc) { - CALL_Color3bv(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); + glColor3bv((const GLbyte *) (pc + 0)); } void @@ -197,57 +177,49 @@ __glXDisp_Color3dv(GLbyte * pc) } #endif - CALL_Color3dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glColor3dv((const GLdouble *) (pc + 0)); } void __glXDisp_Color3fv(GLbyte * pc) { - CALL_Color3fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glColor3fv((const GLfloat *) (pc + 0)); } void __glXDisp_Color3iv(GLbyte * pc) { - CALL_Color3iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glColor3iv((const GLint *) (pc + 0)); } void __glXDisp_Color3sv(GLbyte * pc) { - CALL_Color3sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glColor3sv((const GLshort *) (pc + 0)); } void __glXDisp_Color3ubv(GLbyte * pc) { - CALL_Color3ubv(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); + glColor3ubv((const GLubyte *) (pc + 0)); } void __glXDisp_Color3uiv(GLbyte * pc) { - CALL_Color3uiv(GET_DISPATCH(), ((const GLuint *) (pc + 0) - )); + glColor3uiv((const GLuint *) (pc + 0)); } void __glXDisp_Color3usv(GLbyte * pc) { - CALL_Color3usv(GET_DISPATCH(), ((const GLushort *) (pc + 0) - )); + glColor3usv((const GLushort *) (pc + 0)); } void __glXDisp_Color4bv(GLbyte * pc) { - CALL_Color4bv(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); + glColor4bv((const GLbyte *) (pc + 0)); } void @@ -260,63 +232,55 @@ __glXDisp_Color4dv(GLbyte * pc) } #endif - CALL_Color4dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glColor4dv((const GLdouble *) (pc + 0)); } void __glXDisp_Color4fv(GLbyte * pc) { - CALL_Color4fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glColor4fv((const GLfloat *) (pc + 0)); } void __glXDisp_Color4iv(GLbyte * pc) { - CALL_Color4iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glColor4iv((const GLint *) (pc + 0)); } void __glXDisp_Color4sv(GLbyte * pc) { - CALL_Color4sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glColor4sv((const GLshort *) (pc + 0)); } void __glXDisp_Color4ubv(GLbyte * pc) { - CALL_Color4ubv(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); + glColor4ubv((const GLubyte *) (pc + 0)); } void __glXDisp_Color4uiv(GLbyte * pc) { - CALL_Color4uiv(GET_DISPATCH(), ((const GLuint *) (pc + 0) - )); + glColor4uiv((const GLuint *) (pc + 0)); } void __glXDisp_Color4usv(GLbyte * pc) { - CALL_Color4usv(GET_DISPATCH(), ((const GLushort *) (pc + 0) - )); + glColor4usv((const GLushort *) (pc + 0)); } void __glXDisp_EdgeFlagv(GLbyte * pc) { - CALL_EdgeFlagv(GET_DISPATCH(), ((const GLboolean *) (pc + 0) - )); + glEdgeFlagv((const GLboolean *) (pc + 0)); } void __glXDisp_End(GLbyte * pc) { - CALL_End(GET_DISPATCH(), ()); + glEnd(); } void @@ -329,36 +293,31 @@ __glXDisp_Indexdv(GLbyte * pc) } #endif - CALL_Indexdv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glIndexdv((const GLdouble *) (pc + 0)); } void __glXDisp_Indexfv(GLbyte * pc) { - CALL_Indexfv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glIndexfv((const GLfloat *) (pc + 0)); } void __glXDisp_Indexiv(GLbyte * pc) { - CALL_Indexiv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glIndexiv((const GLint *) (pc + 0)); } void __glXDisp_Indexsv(GLbyte * pc) { - CALL_Indexsv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glIndexsv((const GLshort *) (pc + 0)); } void __glXDisp_Normal3bv(GLbyte * pc) { - CALL_Normal3bv(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); + glNormal3bv((const GLbyte *) (pc + 0)); } void @@ -371,29 +330,25 @@ __glXDisp_Normal3dv(GLbyte * pc) } #endif - CALL_Normal3dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glNormal3dv((const GLdouble *) (pc + 0)); } void __glXDisp_Normal3fv(GLbyte * pc) { - CALL_Normal3fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glNormal3fv((const GLfloat *) (pc + 0)); } void __glXDisp_Normal3iv(GLbyte * pc) { - CALL_Normal3iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glNormal3iv((const GLint *) (pc + 0)); } void __glXDisp_Normal3sv(GLbyte * pc) { - CALL_Normal3sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glNormal3sv((const GLshort *) (pc + 0)); } void @@ -406,29 +361,25 @@ __glXDisp_RasterPos2dv(GLbyte * pc) } #endif - CALL_RasterPos2dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glRasterPos2dv((const GLdouble *) (pc + 0)); } void __glXDisp_RasterPos2fv(GLbyte * pc) { - CALL_RasterPos2fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glRasterPos2fv((const GLfloat *) (pc + 0)); } void __glXDisp_RasterPos2iv(GLbyte * pc) { - CALL_RasterPos2iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glRasterPos2iv((const GLint *) (pc + 0)); } void __glXDisp_RasterPos2sv(GLbyte * pc) { - CALL_RasterPos2sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glRasterPos2sv((const GLshort *) (pc + 0)); } void @@ -441,29 +392,25 @@ __glXDisp_RasterPos3dv(GLbyte * pc) } #endif - CALL_RasterPos3dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glRasterPos3dv((const GLdouble *) (pc + 0)); } void __glXDisp_RasterPos3fv(GLbyte * pc) { - CALL_RasterPos3fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glRasterPos3fv((const GLfloat *) (pc + 0)); } void __glXDisp_RasterPos3iv(GLbyte * pc) { - CALL_RasterPos3iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glRasterPos3iv((const GLint *) (pc + 0)); } void __glXDisp_RasterPos3sv(GLbyte * pc) { - CALL_RasterPos3sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glRasterPos3sv((const GLshort *) (pc + 0)); } void @@ -476,29 +423,25 @@ __glXDisp_RasterPos4dv(GLbyte * pc) } #endif - CALL_RasterPos4dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glRasterPos4dv((const GLdouble *) (pc + 0)); } void __glXDisp_RasterPos4fv(GLbyte * pc) { - CALL_RasterPos4fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glRasterPos4fv((const GLfloat *) (pc + 0)); } void __glXDisp_RasterPos4iv(GLbyte * pc) { - CALL_RasterPos4iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glRasterPos4iv((const GLint *) (pc + 0)); } void __glXDisp_RasterPos4sv(GLbyte * pc) { - CALL_RasterPos4sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glRasterPos4sv((const GLshort *) (pc + 0)); } void @@ -511,33 +454,25 @@ __glXDisp_Rectdv(GLbyte * pc) } #endif - CALL_Rectdv(GET_DISPATCH(), ((const GLdouble *) (pc + 0), - (const GLdouble *) (pc + 16) - )); + glRectdv((const GLdouble *) (pc + 0), (const GLdouble *) (pc + 16)); } void __glXDisp_Rectfv(GLbyte * pc) { - CALL_Rectfv(GET_DISPATCH(), ((const GLfloat *) (pc + 0), - (const GLfloat *) (pc + 8) - )); + glRectfv((const GLfloat *) (pc + 0), (const GLfloat *) (pc + 8)); } void __glXDisp_Rectiv(GLbyte * pc) { - CALL_Rectiv(GET_DISPATCH(), ((const GLint *) (pc + 0), - (const GLint *) (pc + 8) - )); + glRectiv((const GLint *) (pc + 0), (const GLint *) (pc + 8)); } void __glXDisp_Rectsv(GLbyte * pc) { - CALL_Rectsv(GET_DISPATCH(), ((const GLshort *) (pc + 0), - (const GLshort *) (pc + 4) - )); + glRectsv((const GLshort *) (pc + 0), (const GLshort *) (pc + 4)); } void @@ -550,29 +485,25 @@ __glXDisp_TexCoord1dv(GLbyte * pc) } #endif - CALL_TexCoord1dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glTexCoord1dv((const GLdouble *) (pc + 0)); } void __glXDisp_TexCoord1fv(GLbyte * pc) { - CALL_TexCoord1fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glTexCoord1fv((const GLfloat *) (pc + 0)); } void __glXDisp_TexCoord1iv(GLbyte * pc) { - CALL_TexCoord1iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glTexCoord1iv((const GLint *) (pc + 0)); } void __glXDisp_TexCoord1sv(GLbyte * pc) { - CALL_TexCoord1sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glTexCoord1sv((const GLshort *) (pc + 0)); } void @@ -585,29 +516,25 @@ __glXDisp_TexCoord2dv(GLbyte * pc) } #endif - CALL_TexCoord2dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glTexCoord2dv((const GLdouble *) (pc + 0)); } void __glXDisp_TexCoord2fv(GLbyte * pc) { - CALL_TexCoord2fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glTexCoord2fv((const GLfloat *) (pc + 0)); } void __glXDisp_TexCoord2iv(GLbyte * pc) { - CALL_TexCoord2iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glTexCoord2iv((const GLint *) (pc + 0)); } void __glXDisp_TexCoord2sv(GLbyte * pc) { - CALL_TexCoord2sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glTexCoord2sv((const GLshort *) (pc + 0)); } void @@ -620,29 +547,25 @@ __glXDisp_TexCoord3dv(GLbyte * pc) } #endif - CALL_TexCoord3dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glTexCoord3dv((const GLdouble *) (pc + 0)); } void __glXDisp_TexCoord3fv(GLbyte * pc) { - CALL_TexCoord3fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glTexCoord3fv((const GLfloat *) (pc + 0)); } void __glXDisp_TexCoord3iv(GLbyte * pc) { - CALL_TexCoord3iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glTexCoord3iv((const GLint *) (pc + 0)); } void __glXDisp_TexCoord3sv(GLbyte * pc) { - CALL_TexCoord3sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glTexCoord3sv((const GLshort *) (pc + 0)); } void @@ -655,29 +578,25 @@ __glXDisp_TexCoord4dv(GLbyte * pc) } #endif - CALL_TexCoord4dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glTexCoord4dv((const GLdouble *) (pc + 0)); } void __glXDisp_TexCoord4fv(GLbyte * pc) { - CALL_TexCoord4fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glTexCoord4fv((const GLfloat *) (pc + 0)); } void __glXDisp_TexCoord4iv(GLbyte * pc) { - CALL_TexCoord4iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glTexCoord4iv((const GLint *) (pc + 0)); } void __glXDisp_TexCoord4sv(GLbyte * pc) { - CALL_TexCoord4sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glTexCoord4sv((const GLshort *) (pc + 0)); } void @@ -690,29 +609,25 @@ __glXDisp_Vertex2dv(GLbyte * pc) } #endif - CALL_Vertex2dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glVertex2dv((const GLdouble *) (pc + 0)); } void __glXDisp_Vertex2fv(GLbyte * pc) { - CALL_Vertex2fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glVertex2fv((const GLfloat *) (pc + 0)); } void __glXDisp_Vertex2iv(GLbyte * pc) { - CALL_Vertex2iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glVertex2iv((const GLint *) (pc + 0)); } void __glXDisp_Vertex2sv(GLbyte * pc) { - CALL_Vertex2sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glVertex2sv((const GLshort *) (pc + 0)); } void @@ -725,29 +640,25 @@ __glXDisp_Vertex3dv(GLbyte * pc) } #endif - CALL_Vertex3dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glVertex3dv((const GLdouble *) (pc + 0)); } void __glXDisp_Vertex3fv(GLbyte * pc) { - CALL_Vertex3fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glVertex3fv((const GLfloat *) (pc + 0)); } void __glXDisp_Vertex3iv(GLbyte * pc) { - CALL_Vertex3iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glVertex3iv((const GLint *) (pc + 0)); } void __glXDisp_Vertex3sv(GLbyte * pc) { - CALL_Vertex3sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glVertex3sv((const GLshort *) (pc + 0)); } void @@ -760,29 +671,25 @@ __glXDisp_Vertex4dv(GLbyte * pc) } #endif - CALL_Vertex4dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glVertex4dv((const GLdouble *) (pc + 0)); } void __glXDisp_Vertex4fv(GLbyte * pc) { - CALL_Vertex4fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glVertex4fv((const GLfloat *) (pc + 0)); } void __glXDisp_Vertex4iv(GLbyte * pc) { - CALL_Vertex4iv(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); + glVertex4iv((const GLint *) (pc + 0)); } void __glXDisp_Vertex4sv(GLbyte * pc) { - CALL_Vertex4sv(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); + glVertex4sv((const GLshort *) (pc + 0)); } void @@ -795,31 +702,25 @@ __glXDisp_ClipPlane(GLbyte * pc) } #endif - CALL_ClipPlane(GET_DISPATCH(), (*(GLenum *) (pc + 32), - (const GLdouble *) (pc + 0) - )); + glClipPlane(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0)); } void __glXDisp_ColorMaterial(GLbyte * pc) { - CALL_ColorMaterial(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4) - )); + glColorMaterial(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4)); } void __glXDisp_CullFace(GLbyte * pc) { - CALL_CullFace(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glCullFace(*(GLenum *) (pc + 0)); } void __glXDisp_Fogf(GLbyte * pc) { - CALL_Fogf(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4) - )); + glFogf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4)); } void @@ -830,14 +731,13 @@ __glXDisp_Fogfv(GLbyte * pc) params = (const GLfloat *) (pc + 4); - CALL_Fogfv(GET_DISPATCH(), (pname, params)); + glFogfv(pname, params); } void __glXDisp_Fogi(GLbyte * pc) { - CALL_Fogi(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLint *) (pc + 4) - )); + glFogi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4)); } void @@ -848,29 +748,25 @@ __glXDisp_Fogiv(GLbyte * pc) params = (const GLint *) (pc + 4); - CALL_Fogiv(GET_DISPATCH(), (pname, params)); + glFogiv(pname, params); } void __glXDisp_FrontFace(GLbyte * pc) { - CALL_FrontFace(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glFrontFace(*(GLenum *) (pc + 0)); } void __glXDisp_Hint(GLbyte * pc) { - CALL_Hint(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLenum *) (pc + 4) - )); + glHint(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4)); } void __glXDisp_Lightf(GLbyte * pc) { - CALL_Lightf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8) - )); + glLightf(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -881,15 +777,13 @@ __glXDisp_Lightfv(GLbyte * pc) params = (const GLfloat *) (pc + 8); - CALL_Lightfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glLightfv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_Lighti(GLbyte * pc) { - CALL_Lighti(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLint *) (pc + 8) - )); + glLighti(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8)); } void @@ -900,15 +794,13 @@ __glXDisp_Lightiv(GLbyte * pc) params = (const GLint *) (pc + 8); - CALL_Lightiv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glLightiv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_LightModelf(GLbyte * pc) { - CALL_LightModelf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLfloat *) (pc + 4) - )); + glLightModelf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4)); } void @@ -919,14 +811,13 @@ __glXDisp_LightModelfv(GLbyte * pc) params = (const GLfloat *) (pc + 4); - CALL_LightModelfv(GET_DISPATCH(), (pname, params)); + glLightModelfv(pname, params); } void __glXDisp_LightModeli(GLbyte * pc) { - CALL_LightModeli(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLint *) (pc + 4) - )); + glLightModeli(*(GLenum *) (pc + 0), *(GLint *) (pc + 4)); } void @@ -937,30 +828,26 @@ __glXDisp_LightModeliv(GLbyte * pc) params = (const GLint *) (pc + 4); - CALL_LightModeliv(GET_DISPATCH(), (pname, params)); + glLightModeliv(pname, params); } void __glXDisp_LineStipple(GLbyte * pc) { - CALL_LineStipple(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLushort *) (pc + 4) - )); + glLineStipple(*(GLint *) (pc + 0), *(GLushort *) (pc + 4)); } void __glXDisp_LineWidth(GLbyte * pc) { - CALL_LineWidth(GET_DISPATCH(), (*(GLfloat *) (pc + 0) - )); + glLineWidth(*(GLfloat *) (pc + 0)); } void __glXDisp_Materialf(GLbyte * pc) { - CALL_Materialf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8) - )); + glMaterialf(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -971,15 +858,14 @@ __glXDisp_Materialfv(GLbyte * pc) params = (const GLfloat *) (pc + 8); - CALL_Materialfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glMaterialfv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_Materiali(GLbyte * pc) { - CALL_Materiali(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLint *) (pc + 8) - )); + glMateriali(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLint *) (pc + 8)); } void @@ -990,21 +876,19 @@ __glXDisp_Materialiv(GLbyte * pc) params = (const GLint *) (pc + 8); - CALL_Materialiv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glMaterialiv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_PointSize(GLbyte * pc) { - CALL_PointSize(GET_DISPATCH(), (*(GLfloat *) (pc + 0) - )); + glPointSize(*(GLfloat *) (pc + 0)); } void __glXDisp_PolygonMode(GLbyte * pc) { - CALL_PolygonMode(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLenum *) (pc + 4) - )); + glPolygonMode(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4)); } void @@ -1013,42 +897,34 @@ __glXDisp_PolygonStipple(GLbyte * pc) const GLubyte *const mask = (const GLubyte *) ((pc + 20)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_PolygonStipple(GET_DISPATCH(), (mask)); + glPolygonStipple(mask); } void __glXDisp_Scissor(GLbyte * pc) { - CALL_Scissor(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLint *) (pc + 4), - *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12) - )); + glScissor(*(GLint *) (pc + 0), + *(GLint *) (pc + 4), + *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12)); } void __glXDisp_ShadeModel(GLbyte * pc) { - CALL_ShadeModel(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glShadeModel(*(GLenum *) (pc + 0)); } void __glXDisp_TexParameterf(GLbyte * pc) { - CALL_TexParameterf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLfloat *) (pc + 8) - )); + glTexParameterf(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -1059,16 +935,14 @@ __glXDisp_TexParameterfv(GLbyte * pc) params = (const GLfloat *) (pc + 8); - CALL_TexParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glTexParameterfv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_TexParameteri(GLbyte * pc) { - CALL_TexParameteri(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLint *) (pc + 8) - )); + glTexParameteri(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLint *) (pc + 8)); } void @@ -1079,7 +953,7 @@ __glXDisp_TexParameteriv(GLbyte * pc) params = (const GLint *) (pc + 8); - CALL_TexParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glTexParameteriv(*(GLenum *) (pc + 0), pname, params); } void @@ -1088,24 +962,19 @@ __glXDisp_TexImage1D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 52)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_TexImage1D(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLint *) (pc + 24), - *(GLint *) (pc + 28), - *(GLsizei *) (pc + 32), - *(GLint *) (pc + 40), - *(GLenum *) (pc + 44), - *(GLenum *) (pc + 48), pixels)); + glTexImage1D(*(GLenum *) (pc + 20), + *(GLint *) (pc + 24), + *(GLint *) (pc + 28), + *(GLsizei *) (pc + 32), + *(GLint *) (pc + 40), + *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels); } void @@ -1114,33 +983,27 @@ __glXDisp_TexImage2D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 52)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_TexImage2D(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLint *) (pc + 24), - *(GLint *) (pc + 28), - *(GLsizei *) (pc + 32), - *(GLsizei *) (pc + 36), - *(GLint *) (pc + 40), - *(GLenum *) (pc + 44), - *(GLenum *) (pc + 48), pixels)); + glTexImage2D(*(GLenum *) (pc + 20), + *(GLint *) (pc + 24), + *(GLint *) (pc + 28), + *(GLsizei *) (pc + 32), + *(GLsizei *) (pc + 36), + *(GLint *) (pc + 40), + *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels); } void __glXDisp_TexEnvf(GLbyte * pc) { - CALL_TexEnvf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8) - )); + glTexEnvf(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -1151,15 +1014,13 @@ __glXDisp_TexEnvfv(GLbyte * pc) params = (const GLfloat *) (pc + 8); - CALL_TexEnvfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glTexEnvfv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_TexEnvi(GLbyte * pc) { - CALL_TexEnvi(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLint *) (pc + 8) - )); + glTexEnvi(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8)); } void @@ -1170,7 +1031,7 @@ __glXDisp_TexEnviv(GLbyte * pc) params = (const GLint *) (pc + 8); - CALL_TexEnviv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glTexEnviv(*(GLenum *) (pc + 0), pname, params); } void @@ -1183,9 +1044,8 @@ __glXDisp_TexGend(GLbyte * pc) } #endif - CALL_TexGend(GET_DISPATCH(), (*(GLenum *) (pc + 8), - *(GLenum *) (pc + 12), *(GLdouble *) (pc + 0) - )); + glTexGend(*(GLenum *) (pc + 8), + *(GLenum *) (pc + 12), *(GLdouble *) (pc + 0)); } void @@ -1206,15 +1066,14 @@ __glXDisp_TexGendv(GLbyte * pc) params = (const GLdouble *) (pc + 8); - CALL_TexGendv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glTexGendv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_TexGenf(GLbyte * pc) { - CALL_TexGenf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8) - )); + glTexGenf(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -1225,15 +1084,13 @@ __glXDisp_TexGenfv(GLbyte * pc) params = (const GLfloat *) (pc + 8); - CALL_TexGenfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glTexGenfv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_TexGeni(GLbyte * pc) { - CALL_TexGeni(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLint *) (pc + 8) - )); + glTexGeni(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8)); } void @@ -1244,88 +1101,77 @@ __glXDisp_TexGeniv(GLbyte * pc) params = (const GLint *) (pc + 8); - CALL_TexGeniv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glTexGeniv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_InitNames(GLbyte * pc) { - CALL_InitNames(GET_DISPATCH(), ()); + glInitNames(); } void __glXDisp_LoadName(GLbyte * pc) { - CALL_LoadName(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + glLoadName(*(GLuint *) (pc + 0)); } void __glXDisp_PassThrough(GLbyte * pc) { - CALL_PassThrough(GET_DISPATCH(), (*(GLfloat *) (pc + 0) - )); + glPassThrough(*(GLfloat *) (pc + 0)); } void __glXDisp_PopName(GLbyte * pc) { - CALL_PopName(GET_DISPATCH(), ()); + glPopName(); } void __glXDisp_PushName(GLbyte * pc) { - CALL_PushName(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + glPushName(*(GLuint *) (pc + 0)); } void __glXDisp_DrawBuffer(GLbyte * pc) { - CALL_DrawBuffer(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glDrawBuffer(*(GLenum *) (pc + 0)); } void __glXDisp_Clear(GLbyte * pc) { - CALL_Clear(GET_DISPATCH(), (*(GLbitfield *) (pc + 0) - )); + glClear(*(GLbitfield *) (pc + 0)); } void __glXDisp_ClearAccum(GLbyte * pc) { - CALL_ClearAccum(GET_DISPATCH(), (*(GLfloat *) (pc + 0), - *(GLfloat *) (pc + 4), - *(GLfloat *) (pc + 8), - *(GLfloat *) (pc + 12) - )); + glClearAccum(*(GLfloat *) (pc + 0), + *(GLfloat *) (pc + 4), + *(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12)); } void __glXDisp_ClearIndex(GLbyte * pc) { - CALL_ClearIndex(GET_DISPATCH(), (*(GLfloat *) (pc + 0) - )); + glClearIndex(*(GLfloat *) (pc + 0)); } void __glXDisp_ClearColor(GLbyte * pc) { - CALL_ClearColor(GET_DISPATCH(), (*(GLclampf *) (pc + 0), - *(GLclampf *) (pc + 4), - *(GLclampf *) (pc + 8), - *(GLclampf *) (pc + 12) - )); + glClearColor(*(GLclampf *) (pc + 0), + *(GLclampf *) (pc + 4), + *(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12)); } void __glXDisp_ClearStencil(GLbyte * pc) { - CALL_ClearStencil(GET_DISPATCH(), (*(GLint *) (pc + 0) - )); + glClearStencil(*(GLint *) (pc + 0)); } void @@ -1338,73 +1184,63 @@ __glXDisp_ClearDepth(GLbyte * pc) } #endif - CALL_ClearDepth(GET_DISPATCH(), (*(GLclampd *) (pc + 0) - )); + glClearDepth(*(GLclampd *) (pc + 0)); } void __glXDisp_StencilMask(GLbyte * pc) { - CALL_StencilMask(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + glStencilMask(*(GLuint *) (pc + 0)); } void __glXDisp_ColorMask(GLbyte * pc) { - CALL_ColorMask(GET_DISPATCH(), (*(GLboolean *) (pc + 0), - *(GLboolean *) (pc + 1), - *(GLboolean *) (pc + 2), - *(GLboolean *) (pc + 3) - )); + glColorMask(*(GLboolean *) (pc + 0), + *(GLboolean *) (pc + 1), + *(GLboolean *) (pc + 2), *(GLboolean *) (pc + 3)); } void __glXDisp_DepthMask(GLbyte * pc) { - CALL_DepthMask(GET_DISPATCH(), (*(GLboolean *) (pc + 0) - )); + glDepthMask(*(GLboolean *) (pc + 0)); } void __glXDisp_IndexMask(GLbyte * pc) { - CALL_IndexMask(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + glIndexMask(*(GLuint *) (pc + 0)); } void __glXDisp_Accum(GLbyte * pc) { - CALL_Accum(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4) - )); + glAccum(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4)); } void __glXDisp_Disable(GLbyte * pc) { - CALL_Disable(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glDisable(*(GLenum *) (pc + 0)); } void __glXDisp_Enable(GLbyte * pc) { - CALL_Enable(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glEnable(*(GLenum *) (pc + 0)); } void __glXDisp_PopAttrib(GLbyte * pc) { - CALL_PopAttrib(GET_DISPATCH(), ()); + glPopAttrib(); } void __glXDisp_PushAttrib(GLbyte * pc) { - CALL_PushAttrib(GET_DISPATCH(), (*(GLbitfield *) (pc + 0) - )); + glPushAttrib(*(GLbitfield *) (pc + 0)); } void @@ -1417,18 +1253,15 @@ __glXDisp_MapGrid1d(GLbyte * pc) } #endif - CALL_MapGrid1d(GET_DISPATCH(), (*(GLint *) (pc + 16), - *(GLdouble *) (pc + 0), - *(GLdouble *) (pc + 8) - )); + glMapGrid1d(*(GLint *) (pc + 16), + *(GLdouble *) (pc + 0), *(GLdouble *) (pc + 8)); } void __glXDisp_MapGrid1f(GLbyte * pc) { - CALL_MapGrid1f(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8) - )); + glMapGrid1f(*(GLint *) (pc + 0), + *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -1441,25 +1274,21 @@ __glXDisp_MapGrid2d(GLbyte * pc) } #endif - CALL_MapGrid2d(GET_DISPATCH(), (*(GLint *) (pc + 32), - *(GLdouble *) (pc + 0), - *(GLdouble *) (pc + 8), - *(GLint *) (pc + 36), - *(GLdouble *) (pc + 16), - *(GLdouble *) (pc + 24) - )); + glMapGrid2d(*(GLint *) (pc + 32), + *(GLdouble *) (pc + 0), + *(GLdouble *) (pc + 8), + *(GLint *) (pc + 36), + *(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24)); } void __glXDisp_MapGrid2f(GLbyte * pc) { - CALL_MapGrid2f(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLfloat *) (pc + 4), - *(GLfloat *) (pc + 8), - *(GLint *) (pc + 12), - *(GLfloat *) (pc + 16), - *(GLfloat *) (pc + 20) - )); + glMapGrid2f(*(GLint *) (pc + 0), + *(GLfloat *) (pc + 4), + *(GLfloat *) (pc + 8), + *(GLint *) (pc + 12), + *(GLfloat *) (pc + 16), *(GLfloat *) (pc + 20)); } void @@ -1472,15 +1301,13 @@ __glXDisp_EvalCoord1dv(GLbyte * pc) } #endif - CALL_EvalCoord1dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glEvalCoord1dv((const GLdouble *) (pc + 0)); } void __glXDisp_EvalCoord1fv(GLbyte * pc) { - CALL_EvalCoord1fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glEvalCoord1fv((const GLfloat *) (pc + 0)); } void @@ -1493,114 +1320,96 @@ __glXDisp_EvalCoord2dv(GLbyte * pc) } #endif - CALL_EvalCoord2dv(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glEvalCoord2dv((const GLdouble *) (pc + 0)); } void __glXDisp_EvalCoord2fv(GLbyte * pc) { - CALL_EvalCoord2fv(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glEvalCoord2fv((const GLfloat *) (pc + 0)); } void __glXDisp_EvalMesh1(GLbyte * pc) { - CALL_EvalMesh1(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), *(GLint *) (pc + 8) - )); + glEvalMesh1(*(GLenum *) (pc + 0), *(GLint *) (pc + 4), *(GLint *) (pc + 8)); } void __glXDisp_EvalPoint1(GLbyte * pc) { - CALL_EvalPoint1(GET_DISPATCH(), (*(GLint *) (pc + 0) - )); + glEvalPoint1(*(GLint *) (pc + 0)); } void __glXDisp_EvalMesh2(GLbyte * pc) { - CALL_EvalMesh2(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), *(GLint *) (pc + 16) - )); + glEvalMesh2(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), *(GLint *) (pc + 16)); } void __glXDisp_EvalPoint2(GLbyte * pc) { - CALL_EvalPoint2(GET_DISPATCH(), (*(GLint *) (pc + 0), *(GLint *) (pc + 4) - )); + glEvalPoint2(*(GLint *) (pc + 0), *(GLint *) (pc + 4)); } void __glXDisp_AlphaFunc(GLbyte * pc) { - CALL_AlphaFunc(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLclampf *) (pc + 4) - )); + glAlphaFunc(*(GLenum *) (pc + 0), *(GLclampf *) (pc + 4)); } void __glXDisp_BlendFunc(GLbyte * pc) { - CALL_BlendFunc(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLenum *) (pc + 4) - )); + glBlendFunc(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4)); } void __glXDisp_LogicOp(GLbyte * pc) { - CALL_LogicOp(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glLogicOp(*(GLenum *) (pc + 0)); } void __glXDisp_StencilFunc(GLbyte * pc) { - CALL_StencilFunc(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), *(GLuint *) (pc + 8) - )); + glStencilFunc(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), *(GLuint *) (pc + 8)); } void __glXDisp_StencilOp(GLbyte * pc) { - CALL_StencilOp(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLenum *) (pc + 8) - )); + glStencilOp(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLenum *) (pc + 8)); } void __glXDisp_DepthFunc(GLbyte * pc) { - CALL_DepthFunc(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glDepthFunc(*(GLenum *) (pc + 0)); } void __glXDisp_PixelZoom(GLbyte * pc) { - CALL_PixelZoom(GET_DISPATCH(), (*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4) - )); + glPixelZoom(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4)); } void __glXDisp_PixelTransferf(GLbyte * pc) { - CALL_PixelTransferf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLfloat *) (pc + 4) - )); + glPixelTransferf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4)); } void __glXDisp_PixelTransferi(GLbyte * pc) { - CALL_PixelTransferi(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4) - )); + glPixelTransferi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4)); } int @@ -1612,9 +1421,7 @@ __glXDisp_PixelStoref(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_PixelStoref(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLfloat *) (pc + 4) - )); + glPixelStoref(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4)); error = Success; } @@ -1630,9 +1437,7 @@ __glXDisp_PixelStorei(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_PixelStorei(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4) - )); + glPixelStorei(*(GLenum *) (pc + 0), *(GLint *) (pc + 4)); error = Success; } @@ -1644,9 +1449,7 @@ __glXDisp_PixelMapfv(GLbyte * pc) { const GLsizei mapsize = *(GLsizei *) (pc + 4); - CALL_PixelMapfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - mapsize, (const GLfloat *) (pc + 8) - )); + glPixelMapfv(*(GLenum *) (pc + 0), mapsize, (const GLfloat *) (pc + 8)); } void @@ -1654,9 +1457,7 @@ __glXDisp_PixelMapuiv(GLbyte * pc) { const GLsizei mapsize = *(GLsizei *) (pc + 4); - CALL_PixelMapuiv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - mapsize, (const GLuint *) (pc + 8) - )); + glPixelMapuiv(*(GLenum *) (pc + 0), mapsize, (const GLuint *) (pc + 8)); } void @@ -1664,27 +1465,22 @@ __glXDisp_PixelMapusv(GLbyte * pc) { const GLsizei mapsize = *(GLsizei *) (pc + 4); - CALL_PixelMapusv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - mapsize, (const GLushort *) (pc + 8) - )); + glPixelMapusv(*(GLenum *) (pc + 0), mapsize, (const GLushort *) (pc + 8)); } void __glXDisp_ReadBuffer(GLbyte * pc) { - CALL_ReadBuffer(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glReadBuffer(*(GLenum *) (pc + 0)); } void __glXDisp_CopyPixels(GLbyte * pc) { - CALL_CopyPixels(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLint *) (pc + 4), - *(GLsizei *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLenum *) (pc + 16) - )); + glCopyPixels(*(GLint *) (pc + 0), + *(GLint *) (pc + 4), + *(GLsizei *) (pc + 8), + *(GLsizei *) (pc + 12), *(GLenum *) (pc + 16)); } void @@ -1693,21 +1489,16 @@ __glXDisp_DrawPixels(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 36)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_DrawPixels(GET_DISPATCH(), (*(GLsizei *) (pc + 20), - *(GLsizei *) (pc + 24), - *(GLenum *) (pc + 28), - *(GLenum *) (pc + 32), pixels)); + glDrawPixels(*(GLsizei *) (pc + 20), + *(GLsizei *) (pc + 24), + *(GLenum *) (pc + 28), *(GLenum *) (pc + 32), pixels); } int @@ -1731,7 +1522,7 @@ __glXDisp_GetBooleanv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetBooleanv(GET_DISPATCH(), (pname, params)); + glGetBooleanv(pname, params); __glXSendReply(cl->client, params, compsize, 1, GL_FALSE, 0); error = Success; } @@ -1750,7 +1541,7 @@ __glXDisp_GetClipPlane(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLdouble equation[4]; - CALL_GetClipPlane(GET_DISPATCH(), (*(GLenum *) (pc + 0), equation)); + glGetClipPlane(*(GLenum *) (pc + 0), equation); __glXSendReply(cl->client, equation, 4, 8, GL_TRUE, 0); error = Success; } @@ -1779,7 +1570,7 @@ __glXDisp_GetDoublev(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetDoublev(GET_DISPATCH(), (pname, params)); + glGetDoublev(pname, params); __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0); error = Success; } @@ -1798,7 +1589,7 @@ __glXDisp_GetError(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLenum retval; - retval = CALL_GetError(GET_DISPATCH(), ()); + retval = glGetError(); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -1827,7 +1618,7 @@ __glXDisp_GetFloatv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetFloatv(GET_DISPATCH(), (pname, params)); + glGetFloatv(pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -1856,7 +1647,7 @@ __glXDisp_GetIntegerv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetIntegerv(GET_DISPATCH(), (pname, params)); + glGetIntegerv(pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -1885,7 +1676,7 @@ __glXDisp_GetLightfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetLightfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glGetLightfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -1914,7 +1705,7 @@ __glXDisp_GetLightiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetLightiv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glGetLightiv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -1944,7 +1735,7 @@ __glXDisp_GetMapdv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMapdv(GET_DISPATCH(), (target, query, v)); + glGetMapdv(target, query, v); __glXSendReply(cl->client, v, compsize, 8, GL_FALSE, 0); error = Success; } @@ -1974,7 +1765,7 @@ __glXDisp_GetMapfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMapfv(GET_DISPATCH(), (target, query, v)); + glGetMapfv(target, query, v); __glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2004,7 +1795,7 @@ __glXDisp_GetMapiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMapiv(GET_DISPATCH(), (target, query, v)); + glGetMapiv(target, query, v); __glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2033,8 +1824,7 @@ __glXDisp_GetMaterialfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMaterialfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetMaterialfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2063,8 +1853,7 @@ __glXDisp_GetMaterialiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMaterialiv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetMaterialiv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2093,7 +1882,7 @@ __glXDisp_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetPixelMapfv(GET_DISPATCH(), (map, values)); + glGetPixelMapfv(map, values); __glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2122,7 +1911,7 @@ __glXDisp_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetPixelMapuiv(GET_DISPATCH(), (map, values)); + glGetPixelMapuiv(map, values); __glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2151,7 +1940,7 @@ __glXDisp_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetPixelMapusv(GET_DISPATCH(), (map, values)); + glGetPixelMapusv(map, values); __glXSendReply(cl->client, values, compsize, 2, GL_FALSE, 0); error = Success; } @@ -2180,7 +1969,7 @@ __glXDisp_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexEnvfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glGetTexEnvfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2209,7 +1998,7 @@ __glXDisp_GetTexEnviv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexEnviv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glGetTexEnviv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2238,7 +2027,7 @@ __glXDisp_GetTexGendv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexGendv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glGetTexGendv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0); error = Success; } @@ -2267,7 +2056,7 @@ __glXDisp_GetTexGenfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexGenfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glGetTexGenfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2296,7 +2085,7 @@ __glXDisp_GetTexGeniv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexGeniv(GET_DISPATCH(), (*(GLenum *) (pc + 0), pname, params)); + glGetTexGeniv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2325,8 +2114,7 @@ __glXDisp_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetTexParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2355,8 +2143,7 @@ __glXDisp_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetTexParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2385,9 +2172,8 @@ __glXDisp_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexLevelParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - pname, params)); + glGetTexLevelParameterfv(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2416,9 +2202,8 @@ __glXDisp_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexLevelParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - pname, params)); + glGetTexLevelParameteriv(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -2437,8 +2222,7 @@ __glXDisp_IsEnabled(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsEnabled(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + retval = glIsEnabled(*(GLenum *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -2457,8 +2241,7 @@ __glXDisp_IsList(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsList(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + retval = glIsList(*(GLuint *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -2476,9 +2259,7 @@ __glXDisp_DepthRange(GLbyte * pc) } #endif - CALL_DepthRange(GET_DISPATCH(), (*(GLclampd *) (pc + 0), - *(GLclampd *) (pc + 8) - )); + glDepthRange(*(GLclampd *) (pc + 0), *(GLclampd *) (pc + 8)); } void @@ -2491,26 +2272,23 @@ __glXDisp_Frustum(GLbyte * pc) } #endif - CALL_Frustum(GET_DISPATCH(), (*(GLdouble *) (pc + 0), - *(GLdouble *) (pc + 8), - *(GLdouble *) (pc + 16), - *(GLdouble *) (pc + 24), - *(GLdouble *) (pc + 32), - *(GLdouble *) (pc + 40) - )); + glFrustum(*(GLdouble *) (pc + 0), + *(GLdouble *) (pc + 8), + *(GLdouble *) (pc + 16), + *(GLdouble *) (pc + 24), + *(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40)); } void __glXDisp_LoadIdentity(GLbyte * pc) { - CALL_LoadIdentity(GET_DISPATCH(), ()); + glLoadIdentity(); } void __glXDisp_LoadMatrixf(GLbyte * pc) { - CALL_LoadMatrixf(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glLoadMatrixf((const GLfloat *) (pc + 0)); } void @@ -2523,22 +2301,19 @@ __glXDisp_LoadMatrixd(GLbyte * pc) } #endif - CALL_LoadMatrixd(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glLoadMatrixd((const GLdouble *) (pc + 0)); } void __glXDisp_MatrixMode(GLbyte * pc) { - CALL_MatrixMode(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glMatrixMode(*(GLenum *) (pc + 0)); } void __glXDisp_MultMatrixf(GLbyte * pc) { - CALL_MultMatrixf(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); + glMultMatrixf((const GLfloat *) (pc + 0)); } void @@ -2551,8 +2326,7 @@ __glXDisp_MultMatrixd(GLbyte * pc) } #endif - CALL_MultMatrixd(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); + glMultMatrixd((const GLdouble *) (pc + 0)); } void @@ -2565,24 +2339,23 @@ __glXDisp_Ortho(GLbyte * pc) } #endif - CALL_Ortho(GET_DISPATCH(), (*(GLdouble *) (pc + 0), - *(GLdouble *) (pc + 8), - *(GLdouble *) (pc + 16), - *(GLdouble *) (pc + 24), - *(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40) - )); + glOrtho(*(GLdouble *) (pc + 0), + *(GLdouble *) (pc + 8), + *(GLdouble *) (pc + 16), + *(GLdouble *) (pc + 24), + *(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40)); } void __glXDisp_PopMatrix(GLbyte * pc) { - CALL_PopMatrix(GET_DISPATCH(), ()); + glPopMatrix(); } void __glXDisp_PushMatrix(GLbyte * pc) { - CALL_PushMatrix(GET_DISPATCH(), ()); + glPushMatrix(); } void @@ -2595,20 +2368,17 @@ __glXDisp_Rotated(GLbyte * pc) } #endif - CALL_Rotated(GET_DISPATCH(), (*(GLdouble *) (pc + 0), - *(GLdouble *) (pc + 8), - *(GLdouble *) (pc + 16), - *(GLdouble *) (pc + 24) - )); + glRotated(*(GLdouble *) (pc + 0), + *(GLdouble *) (pc + 8), + *(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24)); } void __glXDisp_Rotatef(GLbyte * pc) { - CALL_Rotatef(GET_DISPATCH(), (*(GLfloat *) (pc + 0), - *(GLfloat *) (pc + 4), - *(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12) - )); + glRotatef(*(GLfloat *) (pc + 0), + *(GLfloat *) (pc + 4), + *(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12)); } void @@ -2621,17 +2391,15 @@ __glXDisp_Scaled(GLbyte * pc) } #endif - CALL_Scaled(GET_DISPATCH(), (*(GLdouble *) (pc + 0), - *(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16) - )); + glScaled(*(GLdouble *) (pc + 0), + *(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16)); } void __glXDisp_Scalef(GLbyte * pc) { - CALL_Scalef(GET_DISPATCH(), (*(GLfloat *) (pc + 0), - *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8) - )); + glScalef(*(GLfloat *) (pc + 0), + *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -2644,50 +2412,41 @@ __glXDisp_Translated(GLbyte * pc) } #endif - CALL_Translated(GET_DISPATCH(), (*(GLdouble *) (pc + 0), - *(GLdouble *) (pc + 8), - *(GLdouble *) (pc + 16) - )); + glTranslated(*(GLdouble *) (pc + 0), + *(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16)); } void __glXDisp_Translatef(GLbyte * pc) { - CALL_Translatef(GET_DISPATCH(), (*(GLfloat *) (pc + 0), - *(GLfloat *) (pc + 4), - *(GLfloat *) (pc + 8) - )); + glTranslatef(*(GLfloat *) (pc + 0), + *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8)); } void __glXDisp_Viewport(GLbyte * pc) { - CALL_Viewport(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLint *) (pc + 4), - *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12) - )); + glViewport(*(GLint *) (pc + 0), + *(GLint *) (pc + 4), + *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12)); } void __glXDisp_BindTexture(GLbyte * pc) { - CALL_BindTexture(GET_DISPATCH(), (*(GLenum *) (pc + 0), *(GLuint *) (pc + 4) - )); + glBindTexture(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4)); } void __glXDisp_Indexubv(GLbyte * pc) { - CALL_Indexubv(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); + glIndexubv((const GLubyte *) (pc + 0)); } void __glXDisp_PolygonOffset(GLbyte * pc) { - CALL_PolygonOffset(GET_DISPATCH(), (*(GLfloat *) (pc + 0), - *(GLfloat *) (pc + 4) - )); + glPolygonOffset(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4)); } int @@ -2706,9 +2465,7 @@ __glXDisp_AreTexturesResident(__GLXclientState * cl, GLbyte * pc) GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); retval = - CALL_AreTexturesResident(GET_DISPATCH(), - (n, (const GLuint *) (pc + 4), - residences)); + glAreTexturesResident(n, (const GLuint *) (pc + 4), residences); __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval); error = Success; } @@ -2732,9 +2489,7 @@ __glXDisp_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc) GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); retval = - CALL_AreTexturesResident(GET_DISPATCH(), - (n, (const GLuint *) (pc + 4), - residences)); + glAreTexturesResident(n, (const GLuint *) (pc + 4), residences); __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval); error = Success; } @@ -2745,54 +2500,46 @@ __glXDisp_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc) void __glXDisp_CopyTexImage1D(GLbyte * pc) { - CALL_CopyTexImage1D(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLsizei *) (pc + 20), - *(GLint *) (pc + 24) - )); + glCopyTexImage1D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLenum *) (pc + 8), + *(GLint *) (pc + 12), + *(GLint *) (pc + 16), + *(GLsizei *) (pc + 20), *(GLint *) (pc + 24)); } void __glXDisp_CopyTexImage2D(GLbyte * pc) { - CALL_CopyTexImage2D(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLsizei *) (pc + 20), - *(GLsizei *) (pc + 24), - *(GLint *) (pc + 28) - )); + glCopyTexImage2D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLenum *) (pc + 8), + *(GLint *) (pc + 12), + *(GLint *) (pc + 16), + *(GLsizei *) (pc + 20), + *(GLsizei *) (pc + 24), *(GLint *) (pc + 28)); } void __glXDisp_CopyTexSubImage1D(GLbyte * pc) { - CALL_CopyTexSubImage1D(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLsizei *) (pc + 20) - )); + glCopyTexSubImage1D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), + *(GLint *) (pc + 16), *(GLsizei *) (pc + 20)); } void __glXDisp_CopyTexSubImage2D(GLbyte * pc) { - CALL_CopyTexSubImage2D(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLint *) (pc + 20), - *(GLsizei *) (pc + 24), - *(GLsizei *) (pc + 28) - )); + glCopyTexSubImage2D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), + *(GLint *) (pc + 16), + *(GLint *) (pc + 20), + *(GLsizei *) (pc + 24), *(GLsizei *) (pc + 28)); } int @@ -2806,8 +2553,7 @@ __glXDisp_DeleteTextures(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { const GLsizei n = *(GLsizei *) (pc + 0); - CALL_DeleteTextures(GET_DISPATCH(), (n, (const GLuint *) (pc + 4) - )); + glDeleteTextures(n, (const GLuint *) (pc + 4)); error = Success; } @@ -2825,8 +2571,7 @@ __glXDisp_DeleteTexturesEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { const GLsizei n = *(GLsizei *) (pc + 0); - CALL_DeleteTextures(GET_DISPATCH(), (n, (const GLuint *) (pc + 4) - )); + glDeleteTextures(n, (const GLuint *) (pc + 4)); error = Success; } @@ -2848,7 +2593,7 @@ __glXDisp_GenTextures(__GLXclientState * cl, GLbyte * pc) GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenTextures(GET_DISPATCH(), (n, textures)); + glGenTextures(n, textures); __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0); error = Success; } @@ -2871,7 +2616,7 @@ __glXDisp_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc) GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenTextures(GET_DISPATCH(), (n, textures)); + glGenTextures(n, textures); __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0); error = Success; } @@ -2890,8 +2635,7 @@ __glXDisp_IsTexture(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsTexture(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + retval = glIsTexture(*(GLuint *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -2910,8 +2654,7 @@ __glXDisp_IsTextureEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsTexture(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + retval = glIsTexture(*(GLuint *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -2924,10 +2667,9 @@ __glXDisp_PrioritizeTextures(GLbyte * pc) { const GLsizei n = *(GLsizei *) (pc + 0); - CALL_PrioritizeTextures(GET_DISPATCH(), (n, - (const GLuint *) (pc + 4), - (const GLclampf *) (pc + 4) - )); + glPrioritizeTextures(n, + (const GLuint *) (pc + 4), + (const GLclampf *) (pc + 4)); } void @@ -2936,23 +2678,18 @@ __glXDisp_TexSubImage1D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 56)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_TexSubImage1D(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLint *) (pc + 24), - *(GLint *) (pc + 28), - *(GLsizei *) (pc + 36), - *(GLenum *) (pc + 44), - *(GLenum *) (pc + 48), pixels)); + glTexSubImage1D(*(GLenum *) (pc + 20), + *(GLint *) (pc + 24), + *(GLint *) (pc + 28), + *(GLsizei *) (pc + 36), + *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels); } void @@ -2961,42 +2698,34 @@ __glXDisp_TexSubImage2D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 56)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_TexSubImage2D(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLint *) (pc + 24), - *(GLint *) (pc + 28), - *(GLint *) (pc + 32), - *(GLsizei *) (pc + 36), - *(GLsizei *) (pc + 40), - *(GLenum *) (pc + 44), - *(GLenum *) (pc + 48), pixels)); + glTexSubImage2D(*(GLenum *) (pc + 20), + *(GLint *) (pc + 24), + *(GLint *) (pc + 28), + *(GLint *) (pc + 32), + *(GLsizei *) (pc + 36), + *(GLsizei *) (pc + 40), + *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels); } void __glXDisp_BlendColor(GLbyte * pc) { - CALL_BlendColor(GET_DISPATCH(), (*(GLclampf *) (pc + 0), - *(GLclampf *) (pc + 4), - *(GLclampf *) (pc + 8), - *(GLclampf *) (pc + 12) - )); + glBlendColor(*(GLclampf *) (pc + 0), + *(GLclampf *) (pc + 4), + *(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12)); } void __glXDisp_BlendEquation(GLbyte * pc) { - CALL_BlendEquation(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glBlendEquation(*(GLenum *) (pc + 0)); } void @@ -3005,22 +2734,17 @@ __glXDisp_ColorTable(GLbyte * pc) const GLvoid *const table = (const GLvoid *) ((pc + 40)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_ColorTable(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLenum *) (pc + 24), - *(GLsizei *) (pc + 28), - *(GLenum *) (pc + 32), - *(GLenum *) (pc + 36), table)); + glColorTable(*(GLenum *) (pc + 20), + *(GLenum *) (pc + 24), + *(GLsizei *) (pc + 28), + *(GLenum *) (pc + 32), *(GLenum *) (pc + 36), table); } void @@ -3031,8 +2755,7 @@ __glXDisp_ColorTableParameterfv(GLbyte * pc) params = (const GLfloat *) (pc + 8); - CALL_ColorTableParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glColorTableParameterfv(*(GLenum *) (pc + 0), pname, params); } void @@ -3043,19 +2766,16 @@ __glXDisp_ColorTableParameteriv(GLbyte * pc) params = (const GLint *) (pc + 8); - CALL_ColorTableParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glColorTableParameteriv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_CopyColorTable(GLbyte * pc) { - CALL_CopyColorTable(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLsizei *) (pc + 16) - )); + glCopyColorTable(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), *(GLsizei *) (pc + 16)); } int @@ -3079,8 +2799,7 @@ __glXDisp_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3109,8 +2828,7 @@ __glXDisp_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3139,8 +2857,7 @@ __glXDisp_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3169,8 +2886,7 @@ __glXDisp_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3184,33 +2900,26 @@ __glXDisp_ColorSubTable(GLbyte * pc) const GLvoid *const data = (const GLvoid *) ((pc + 40)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_ColorSubTable(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLsizei *) (pc + 24), - *(GLsizei *) (pc + 28), - *(GLenum *) (pc + 32), - *(GLenum *) (pc + 36), data)); + glColorSubTable(*(GLenum *) (pc + 20), + *(GLsizei *) (pc + 24), + *(GLsizei *) (pc + 28), + *(GLenum *) (pc + 32), *(GLenum *) (pc + 36), data); } void __glXDisp_CopyColorSubTable(GLbyte * pc) { - CALL_CopyColorSubTable(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLsizei *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLsizei *) (pc + 16) - )); + glCopyColorSubTable(*(GLenum *) (pc + 0), + *(GLsizei *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), *(GLsizei *) (pc + 16)); } void @@ -3219,22 +2928,17 @@ __glXDisp_ConvolutionFilter1D(GLbyte * pc) const GLvoid *const image = (const GLvoid *) ((pc + 44)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_ConvolutionFilter1D(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLenum *) (pc + 24), - *(GLsizei *) (pc + 28), - *(GLenum *) (pc + 36), - *(GLenum *) (pc + 40), image)); + glConvolutionFilter1D(*(GLenum *) (pc + 20), + *(GLenum *) (pc + 24), + *(GLsizei *) (pc + 28), + *(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image); } void @@ -3243,32 +2947,25 @@ __glXDisp_ConvolutionFilter2D(GLbyte * pc) const GLvoid *const image = (const GLvoid *) ((pc + 44)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_ConvolutionFilter2D(GET_DISPATCH(), (*(GLenum *) (pc + 20), - *(GLenum *) (pc + 24), - *(GLsizei *) (pc + 28), - *(GLsizei *) (pc + 32), - *(GLenum *) (pc + 36), - *(GLenum *) (pc + 40), image)); + glConvolutionFilter2D(*(GLenum *) (pc + 20), + *(GLenum *) (pc + 24), + *(GLsizei *) (pc + 28), + *(GLsizei *) (pc + 32), + *(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image); } void __glXDisp_ConvolutionParameterf(GLbyte * pc) { - CALL_ConvolutionParameterf(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLfloat *) (pc + 8) - )); + glConvolutionParameterf(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8)); } void @@ -3279,17 +2976,14 @@ __glXDisp_ConvolutionParameterfv(GLbyte * pc) params = (const GLfloat *) (pc + 8); - CALL_ConvolutionParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_ConvolutionParameteri(GLbyte * pc) { - CALL_ConvolutionParameteri(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLint *) (pc + 8) - )); + glConvolutionParameteri(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLint *) (pc + 8)); } void @@ -3300,31 +2994,26 @@ __glXDisp_ConvolutionParameteriv(GLbyte * pc) params = (const GLint *) (pc + 8); - CALL_ConvolutionParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params); } void __glXDisp_CopyConvolutionFilter1D(GLbyte * pc) { - CALL_CopyConvolutionFilter1D(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLsizei *) (pc + 16) - )); + glCopyConvolutionFilter1D(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), *(GLsizei *) (pc + 16)); } void __glXDisp_CopyConvolutionFilter2D(GLbyte * pc) { - CALL_CopyConvolutionFilter2D(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLsizei *) (pc + 16), - *(GLsizei *) (pc + 20) - )); + glCopyConvolutionFilter2D(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), + *(GLsizei *) (pc + 16), *(GLsizei *) (pc + 20)); } int @@ -3348,8 +3037,7 @@ __glXDisp_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3378,8 +3066,7 @@ __glXDisp_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3408,8 +3095,7 @@ __glXDisp_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3438,8 +3124,7 @@ __glXDisp_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3468,8 +3153,7 @@ __glXDisp_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3498,8 +3182,7 @@ __glXDisp_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3528,8 +3211,7 @@ __glXDisp_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3558,8 +3240,7 @@ __glXDisp_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3588,8 +3269,7 @@ __glXDisp_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3618,8 +3298,7 @@ __glXDisp_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameterfv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3648,8 +3327,7 @@ __glXDisp_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3678,8 +3356,7 @@ __glXDisp_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameteriv(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -3690,33 +3367,28 @@ __glXDisp_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc) void __glXDisp_Histogram(GLbyte * pc) { - CALL_Histogram(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLsizei *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLboolean *) (pc + 12) - )); + glHistogram(*(GLenum *) (pc + 0), + *(GLsizei *) (pc + 4), + *(GLenum *) (pc + 8), *(GLboolean *) (pc + 12)); } void __glXDisp_Minmax(GLbyte * pc) { - CALL_Minmax(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), *(GLboolean *) (pc + 8) - )); + glMinmax(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), *(GLboolean *) (pc + 8)); } void __glXDisp_ResetHistogram(GLbyte * pc) { - CALL_ResetHistogram(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glResetHistogram(*(GLenum *) (pc + 0)); } void __glXDisp_ResetMinmax(GLbyte * pc) { - CALL_ResetMinmax(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glResetMinmax(*(GLenum *) (pc + 0)); } void @@ -3727,30 +3399,23 @@ __glXDisp_TexImage3D(GLbyte * pc) (const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80)); __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_TexImage3D(GET_DISPATCH(), (*(GLenum *) (pc + 36), - *(GLint *) (pc + 40), - *(GLint *) (pc + 44), - *(GLsizei *) (pc + 48), - *(GLsizei *) (pc + 52), - *(GLsizei *) (pc + 56), - *(GLint *) (pc + 64), - *(GLenum *) (pc + 68), - *(GLenum *) (pc + 72), pixels)); + glTexImage3D(*(GLenum *) (pc + 36), + *(GLint *) (pc + 40), + *(GLint *) (pc + 44), + *(GLsizei *) (pc + 48), + *(GLsizei *) (pc + 52), + *(GLsizei *) (pc + 56), + *(GLint *) (pc + 64), + *(GLenum *) (pc + 68), *(GLenum *) (pc + 72), pixels); } void @@ -3759,57 +3424,47 @@ __glXDisp_TexSubImage3D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 88)); __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) hdr->rowLength); + glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, (GLint) hdr->imageHeight); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_IMAGES, (GLint) hdr->skipImages); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, (GLint) hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) hdr->alignment); - CALL_TexSubImage3D(GET_DISPATCH(), (*(GLenum *) (pc + 36), - *(GLint *) (pc + 40), - *(GLint *) (pc + 44), - *(GLint *) (pc + 48), - *(GLint *) (pc + 52), - *(GLsizei *) (pc + 60), - *(GLsizei *) (pc + 64), - *(GLsizei *) (pc + 68), - *(GLenum *) (pc + 76), - *(GLenum *) (pc + 80), pixels)); + glTexSubImage3D(*(GLenum *) (pc + 36), + *(GLint *) (pc + 40), + *(GLint *) (pc + 44), + *(GLint *) (pc + 48), + *(GLint *) (pc + 52), + *(GLsizei *) (pc + 60), + *(GLsizei *) (pc + 64), + *(GLsizei *) (pc + 68), + *(GLenum *) (pc + 76), *(GLenum *) (pc + 80), pixels); } void __glXDisp_CopyTexSubImage3D(GLbyte * pc) { - CALL_CopyTexSubImage3D(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLint *) (pc + 20), - *(GLint *) (pc + 24), - *(GLsizei *) (pc + 28), - *(GLsizei *) (pc + 32) - )); + glCopyTexSubImage3D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), + *(GLint *) (pc + 16), + *(GLint *) (pc + 20), + *(GLint *) (pc + 24), + *(GLsizei *) (pc + 28), *(GLsizei *) (pc + 32)); } void -__glXDisp_ActiveTextureARB(GLbyte * pc) +__glXDisp_ActiveTexture(GLbyte * pc) { - CALL_ActiveTextureARB(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + glActiveTextureARB(*(GLenum *) (pc + 0)); } void -__glXDisp_MultiTexCoord1dvARB(GLbyte * pc) +__glXDisp_MultiTexCoord1dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -3818,37 +3473,29 @@ __glXDisp_MultiTexCoord1dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord1dvARB(GET_DISPATCH(), (*(GLenum *) (pc + 8), - (const GLdouble *) (pc + 0) - )); + glMultiTexCoord1dvARB(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0)); } void __glXDisp_MultiTexCoord1fvARB(GLbyte * pc) { - CALL_MultiTexCoord1fvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLfloat *) (pc + 4) - )); + glMultiTexCoord1fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4)); } void -__glXDisp_MultiTexCoord1ivARB(GLbyte * pc) +__glXDisp_MultiTexCoord1iv(GLbyte * pc) { - CALL_MultiTexCoord1ivARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLint *) (pc + 4) - )); + glMultiTexCoord1ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void -__glXDisp_MultiTexCoord1svARB(GLbyte * pc) +__glXDisp_MultiTexCoord1sv(GLbyte * pc) { - CALL_MultiTexCoord1svARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLshort *) (pc + 4) - )); + glMultiTexCoord1svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void -__glXDisp_MultiTexCoord2dvARB(GLbyte * pc) +__glXDisp_MultiTexCoord2dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -3857,37 +3504,29 @@ __glXDisp_MultiTexCoord2dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord2dvARB(GET_DISPATCH(), (*(GLenum *) (pc + 16), - (const GLdouble *) (pc + 0) - )); + glMultiTexCoord2dvARB(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0)); } void __glXDisp_MultiTexCoord2fvARB(GLbyte * pc) { - CALL_MultiTexCoord2fvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLfloat *) (pc + 4) - )); + glMultiTexCoord2fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4)); } void -__glXDisp_MultiTexCoord2ivARB(GLbyte * pc) +__glXDisp_MultiTexCoord2iv(GLbyte * pc) { - CALL_MultiTexCoord2ivARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLint *) (pc + 4) - )); + glMultiTexCoord2ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void -__glXDisp_MultiTexCoord2svARB(GLbyte * pc) +__glXDisp_MultiTexCoord2sv(GLbyte * pc) { - CALL_MultiTexCoord2svARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLshort *) (pc + 4) - )); + glMultiTexCoord2svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void -__glXDisp_MultiTexCoord3dvARB(GLbyte * pc) +__glXDisp_MultiTexCoord3dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -3896,37 +3535,29 @@ __glXDisp_MultiTexCoord3dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord3dvARB(GET_DISPATCH(), (*(GLenum *) (pc + 24), - (const GLdouble *) (pc + 0) - )); + glMultiTexCoord3dvARB(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0)); } void __glXDisp_MultiTexCoord3fvARB(GLbyte * pc) { - CALL_MultiTexCoord3fvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLfloat *) (pc + 4) - )); + glMultiTexCoord3fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4)); } void -__glXDisp_MultiTexCoord3ivARB(GLbyte * pc) +__glXDisp_MultiTexCoord3iv(GLbyte * pc) { - CALL_MultiTexCoord3ivARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLint *) (pc + 4) - )); + glMultiTexCoord3ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void -__glXDisp_MultiTexCoord3svARB(GLbyte * pc) +__glXDisp_MultiTexCoord3sv(GLbyte * pc) { - CALL_MultiTexCoord3svARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLshort *) (pc + 4) - )); + glMultiTexCoord3svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void -__glXDisp_MultiTexCoord4dvARB(GLbyte * pc) +__glXDisp_MultiTexCoord4dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -3935,145 +3566,706 @@ __glXDisp_MultiTexCoord4dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord4dvARB(GET_DISPATCH(), (*(GLenum *) (pc + 32), - (const GLdouble *) (pc + 0) - )); + glMultiTexCoord4dvARB(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0)); } void __glXDisp_MultiTexCoord4fvARB(GLbyte * pc) { - CALL_MultiTexCoord4fvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLfloat *) (pc + 4) - )); + glMultiTexCoord4fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4)); } void -__glXDisp_MultiTexCoord4ivARB(GLbyte * pc) +__glXDisp_MultiTexCoord4iv(GLbyte * pc) { - CALL_MultiTexCoord4ivARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLint *) (pc + 4) - )); + glMultiTexCoord4ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4)); } void -__glXDisp_MultiTexCoord4svARB(GLbyte * pc) +__glXDisp_MultiTexCoord4sv(GLbyte * pc) { - CALL_MultiTexCoord4svARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - (const GLshort *) (pc + 4) - )); + glMultiTexCoord4svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4)); } void -__glXDisp_SampleCoverageARB(GLbyte * pc) -{ - CALL_SampleCoverageARB(GET_DISPATCH(), (*(GLclampf *) (pc + 0), - *(GLboolean *) (pc + 4) - )); -} - -void -__glXDisp_CompressedTexImage1DARB(GLbyte * pc) +__glXDisp_CompressedTexImage1D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D = + __glGetProcAddress("glCompressedTexImage1D"); const GLsizei imageSize = *(GLsizei *) (pc + 20); - CALL_CompressedTexImage1DARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLint *) (pc + 16), - imageSize, - (const GLvoid *) (pc + 24) - )); + CompressedTexImage1D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLenum *) (pc + 8), + *(GLsizei *) (pc + 12), + *(GLint *) (pc + 16), + imageSize, (const GLvoid *) (pc + 24)); } void -__glXDisp_CompressedTexImage2DARB(GLbyte * pc) +__glXDisp_CompressedTexImage2D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D = + __glGetProcAddress("glCompressedTexImage2D"); const GLsizei imageSize = *(GLsizei *) (pc + 24); - CALL_CompressedTexImage2DARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLsizei *) (pc + 16), - *(GLint *) (pc + 20), - imageSize, - (const GLvoid *) (pc + 28) - )); + CompressedTexImage2D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLenum *) (pc + 8), + *(GLsizei *) (pc + 12), + *(GLsizei *) (pc + 16), + *(GLint *) (pc + 20), + imageSize, (const GLvoid *) (pc + 28)); } void -__glXDisp_CompressedTexImage3DARB(GLbyte * pc) +__glXDisp_CompressedTexImage3D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D = + __glGetProcAddress("glCompressedTexImage3D"); const GLsizei imageSize = *(GLsizei *) (pc + 28); - CALL_CompressedTexImage3DARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLsizei *) (pc + 16), - *(GLsizei *) (pc + 20), - *(GLint *) (pc + 24), - imageSize, - (const GLvoid *) (pc + 32) - )); + CompressedTexImage3D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLenum *) (pc + 8), + *(GLsizei *) (pc + 12), + *(GLsizei *) (pc + 16), + *(GLsizei *) (pc + 20), + *(GLint *) (pc + 24), + imageSize, (const GLvoid *) (pc + 32)); } void -__glXDisp_CompressedTexSubImage1DARB(GLbyte * pc) +__glXDisp_CompressedTexSubImage1D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D = + __glGetProcAddress("glCompressedTexSubImage1D"); const GLsizei imageSize = *(GLsizei *) (pc + 20); - CALL_CompressedTexSubImage1DARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLenum *) (pc + 16), - imageSize, - (const GLvoid *) (pc + 24) - )); + CompressedTexSubImage1D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLint *) (pc + 8), + *(GLsizei *) (pc + 12), + *(GLenum *) (pc + 16), + imageSize, (const GLvoid *) (pc + 24)); } void -__glXDisp_CompressedTexSubImage2DARB(GLbyte * pc) +__glXDisp_CompressedTexSubImage2D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D = + __glGetProcAddress("glCompressedTexSubImage2D"); const GLsizei imageSize = *(GLsizei *) (pc + 28); - CALL_CompressedTexSubImage2DARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLsizei *) (pc + 16), - *(GLsizei *) (pc + 20), - *(GLenum *) (pc + 24), - imageSize, - (const GLvoid *) (pc + 32) - )); + CompressedTexSubImage2D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), + *(GLsizei *) (pc + 16), + *(GLsizei *) (pc + 20), + *(GLenum *) (pc + 24), + imageSize, (const GLvoid *) (pc + 32)); } void -__glXDisp_CompressedTexSubImage3DARB(GLbyte * pc) +__glXDisp_CompressedTexSubImage3D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D = + __glGetProcAddress("glCompressedTexSubImage3D"); const GLsizei imageSize = *(GLsizei *) (pc + 36); - CALL_CompressedTexSubImage3DARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLsizei *) (pc + 20), - *(GLsizei *) (pc + 24), - *(GLsizei *) (pc + 28), - *(GLenum *) (pc + 32), - imageSize, - (const GLvoid *) (pc + 40) - )); + CompressedTexSubImage3D(*(GLenum *) (pc + 0), + *(GLint *) (pc + 4), + *(GLint *) (pc + 8), + *(GLint *) (pc + 12), + *(GLint *) (pc + 16), + *(GLsizei *) (pc + 20), + *(GLsizei *) (pc + 24), + *(GLsizei *) (pc + 28), + *(GLenum *) (pc + 32), + imageSize, (const GLvoid *) (pc + 40)); +} + +void +__glXDisp_SampleCoverage(GLbyte * pc) +{ + PFNGLSAMPLECOVERAGEPROC SampleCoverage = + __glGetProcAddress("glSampleCoverage"); + SampleCoverage(*(GLclampf *) (pc + 0), *(GLboolean *) (pc + 4)); +} + +void +__glXDisp_BlendFuncSeparate(GLbyte * pc) +{ + PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate = + __glGetProcAddress("glBlendFuncSeparate"); + BlendFuncSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), *(GLenum *) (pc + 12)); +} + +void +__glXDisp_FogCoorddv(GLbyte * pc) +{ + PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv"); + +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 8); + pc -= 4; + } +#endif + + FogCoorddv((const GLdouble *) (pc + 0)); +} + +void +__glXDisp_PointParameterf(GLbyte * pc) +{ + PFNGLPOINTPARAMETERFPROC PointParameterf = + __glGetProcAddress("glPointParameterf"); + PointParameterf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4)); +} + +void +__glXDisp_PointParameterfv(GLbyte * pc) +{ + PFNGLPOINTPARAMETERFVPROC PointParameterfv = + __glGetProcAddress("glPointParameterfv"); + const GLenum pname = *(GLenum *) (pc + 0); + const GLfloat *params; + + params = (const GLfloat *) (pc + 4); + + PointParameterfv(pname, params); +} + +void +__glXDisp_PointParameteri(GLbyte * pc) +{ + PFNGLPOINTPARAMETERIPROC PointParameteri = + __glGetProcAddress("glPointParameteri"); + PointParameteri(*(GLenum *) (pc + 0), *(GLint *) (pc + 4)); +} + +void +__glXDisp_PointParameteriv(GLbyte * pc) +{ + PFNGLPOINTPARAMETERIVPROC PointParameteriv = + __glGetProcAddress("glPointParameteriv"); + const GLenum pname = *(GLenum *) (pc + 0); + const GLint *params; + + params = (const GLint *) (pc + 4); + + PointParameteriv(pname, params); +} + +void +__glXDisp_SecondaryColor3bv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv = + __glGetProcAddress("glSecondaryColor3bv"); + SecondaryColor3bv((const GLbyte *) (pc + 0)); +} + +void +__glXDisp_SecondaryColor3dv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv = + __glGetProcAddress("glSecondaryColor3dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 24); + pc -= 4; + } +#endif + + SecondaryColor3dv((const GLdouble *) (pc + 0)); +} + +void +__glXDisp_SecondaryColor3iv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv = + __glGetProcAddress("glSecondaryColor3iv"); + SecondaryColor3iv((const GLint *) (pc + 0)); +} + +void +__glXDisp_SecondaryColor3sv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv = + __glGetProcAddress("glSecondaryColor3sv"); + SecondaryColor3sv((const GLshort *) (pc + 0)); +} + +void +__glXDisp_SecondaryColor3ubv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv = + __glGetProcAddress("glSecondaryColor3ubv"); + SecondaryColor3ubv((const GLubyte *) (pc + 0)); +} + +void +__glXDisp_SecondaryColor3uiv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv = + __glGetProcAddress("glSecondaryColor3uiv"); + SecondaryColor3uiv((const GLuint *) (pc + 0)); +} + +void +__glXDisp_SecondaryColor3usv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv = + __glGetProcAddress("glSecondaryColor3usv"); + SecondaryColor3usv((const GLushort *) (pc + 0)); +} + +void +__glXDisp_WindowPos3fv(GLbyte * pc) +{ + PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv"); + + WindowPos3fv((const GLfloat *) (pc + 0)); +} + +void +__glXDisp_BeginQuery(GLbyte * pc) +{ + PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery"); + + BeginQuery(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4)); +} + +int +__glXDisp_DeleteQueries(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLDELETEQUERIESPROC DeleteQueries = + __glGetProcAddress("glDeleteQueries"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = *(GLsizei *) (pc + 0); + + DeleteQueries(n, (const GLuint *) (pc + 4)); + error = Success; + } + + return error; +} + +void +__glXDisp_EndQuery(GLbyte * pc) +{ + PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery"); + + EndQuery(*(GLenum *) (pc + 0)); +} + +int +__glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = *(GLsizei *) (pc + 0); + + GLuint answerBuffer[200]; + GLuint *ids = + __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), + 4); + GenQueries(n, ids); + __glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0); + error = Success; + } + + return error; +} + +int +__glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv = + __glGetProcAddress("glGetQueryObjectiv"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLenum pname = *(GLenum *) (pc + 4); + + const GLuint compsize = __glGetQueryObjectiv_size(pname); + GLint answerBuffer[200]; + GLint *params = + __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, + sizeof(answerBuffer), 4); + + if (params == NULL) + return BadAlloc; + __glXClearErrorOccured(); + + GetQueryObjectiv(*(GLuint *) (pc + 0), pname, params); + __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); + error = Success; + } + + return error; +} + +int +__glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv = + __glGetProcAddress("glGetQueryObjectuiv"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLenum pname = *(GLenum *) (pc + 4); + + const GLuint compsize = __glGetQueryObjectuiv_size(pname); + GLuint answerBuffer[200]; + GLuint *params = + __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, + sizeof(answerBuffer), 4); + + if (params == NULL) + return BadAlloc; + __glXClearErrorOccured(); + + GetQueryObjectuiv(*(GLuint *) (pc + 0), pname, params); + __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); + error = Success; + } + + return error; +} + +int +__glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLenum pname = *(GLenum *) (pc + 4); + + const GLuint compsize = __glGetQueryiv_size(pname); + GLint answerBuffer[200]; + GLint *params = + __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, + sizeof(answerBuffer), 4); + + if (params == NULL) + return BadAlloc; + __glXClearErrorOccured(); + + GetQueryiv(*(GLenum *) (pc + 0), pname, params); + __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); + error = Success; + } + + return error; +} + +int +__glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + GLboolean retval; + + retval = IsQuery(*(GLuint *) (pc + 0)); + __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); + error = Success; + } + + return error; +} + +void +__glXDisp_BlendEquationSeparate(GLbyte * pc) +{ + PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate = + __glGetProcAddress("glBlendEquationSeparate"); + BlendEquationSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4)); +} + +void +__glXDisp_DrawBuffers(GLbyte * pc) +{ + PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers"); + const GLsizei n = *(GLsizei *) (pc + 0); + + DrawBuffers(n, (const GLenum *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib1dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv = + __glGetProcAddress("glVertexAttrib1dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 12); + pc -= 4; + } +#endif + + VertexAttrib1dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib1sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv = + __glGetProcAddress("glVertexAttrib1sv"); + VertexAttrib1sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib2dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv = + __glGetProcAddress("glVertexAttrib2dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 20); + pc -= 4; + } +#endif + + VertexAttrib2dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib2sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv = + __glGetProcAddress("glVertexAttrib2sv"); + VertexAttrib2sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib3dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv = + __glGetProcAddress("glVertexAttrib3dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 28); + pc -= 4; + } +#endif + + VertexAttrib3dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib3sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv = + __glGetProcAddress("glVertexAttrib3sv"); + VertexAttrib3sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4Nbv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv = + __glGetProcAddress("glVertexAttrib4Nbv"); + VertexAttrib4Nbv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4Niv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv = + __glGetProcAddress("glVertexAttrib4Niv"); + VertexAttrib4Niv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4Nsv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv = + __glGetProcAddress("glVertexAttrib4Nsv"); + VertexAttrib4Nsv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4Nubv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv = + __glGetProcAddress("glVertexAttrib4Nubv"); + VertexAttrib4Nubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4Nuiv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv = + __glGetProcAddress("glVertexAttrib4Nuiv"); + VertexAttrib4Nuiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4Nusv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv = + __glGetProcAddress("glVertexAttrib4Nusv"); + VertexAttrib4Nusv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4bv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv = + __glGetProcAddress("glVertexAttrib4bv"); + VertexAttrib4bv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv = + __glGetProcAddress("glVertexAttrib4dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 36); + pc -= 4; + } +#endif + + VertexAttrib4dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4iv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv = + __glGetProcAddress("glVertexAttrib4iv"); + VertexAttrib4iv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv = + __glGetProcAddress("glVertexAttrib4sv"); + VertexAttrib4sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4ubv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv = + __glGetProcAddress("glVertexAttrib4ubv"); + VertexAttrib4ubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4uiv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv = + __glGetProcAddress("glVertexAttrib4uiv"); + VertexAttrib4uiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4usv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv = + __glGetProcAddress("glVertexAttrib4usv"); + VertexAttrib4usv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4)); +} + +void +__glXDisp_ClampColor(GLbyte * pc) +{ + PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor"); + + ClampColor(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4)); +} + +void +__glXDisp_BindProgramARB(GLbyte * pc) +{ + PFNGLBINDPROGRAMARBPROC BindProgramARB = + __glGetProcAddress("glBindProgramARB"); + BindProgramARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4)); +} + +int +__glXDisp_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB = + __glGetProcAddress("glDeleteProgramsARB"); + xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_VENDPRIV_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = *(GLsizei *) (pc + 0); + + DeleteProgramsARB(n, (const GLuint *) (pc + 4)); + error = Success; + } + + return error; +} + +int +__glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGENPROGRAMSARBPROC GenProgramsARB = + __glGetProcAddress("glGenProgramsARB"); + xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; + int error; + __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); + + pc += __GLX_VENDPRIV_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = *(GLsizei *) (pc + 0); + + GLuint answerBuffer[200]; + GLuint *programs = + __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), + 4); + GenProgramsARB(n, programs); + __glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0); + error = Success; + } + + return error; } int __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB = + __glGetProcAddress("glGetProgramEnvParameterdvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -4082,9 +4274,8 @@ __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLdouble params[4]; - CALL_GetProgramEnvParameterdvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - params)); + GetProgramEnvParameterdvARB(*(GLenum *) (pc + 0), + *(GLuint *) (pc + 4), params); __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0); error = Success; } @@ -4095,6 +4286,8 @@ __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc) int __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB = + __glGetProcAddress("glGetProgramEnvParameterfvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -4103,9 +4296,8 @@ __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLfloat params[4]; - CALL_GetProgramEnvParameterfvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - params)); + GetProgramEnvParameterfvARB(*(GLenum *) (pc + 0), + *(GLuint *) (pc + 4), params); __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0); error = Success; } @@ -4116,6 +4308,8 @@ __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc) int __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB = + __glGetProcAddress("glGetProgramLocalParameterdvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -4124,9 +4318,8 @@ __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLdouble params[4]; - CALL_GetProgramLocalParameterdvARB(GET_DISPATCH(), - (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), params)); + GetProgramLocalParameterdvARB(*(GLenum *) (pc + 0), + *(GLuint *) (pc + 4), params); __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0); error = Success; } @@ -4137,6 +4330,8 @@ __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc) int __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB = + __glGetProcAddress("glGetProgramLocalParameterfvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -4145,9 +4340,8 @@ __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLfloat params[4]; - CALL_GetProgramLocalParameterfvARB(GET_DISPATCH(), - (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), params)); + GetProgramLocalParameterfvARB(*(GLenum *) (pc + 0), + *(GLuint *) (pc + 4), params); __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0); error = Success; } @@ -4158,6 +4352,8 @@ __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc) int __glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMIVARBPROC GetProgramivARB = + __glGetProcAddress("glGetProgramivARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -4176,8 +4372,7 @@ __glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetProgramivARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); + GetProgramivARB(*(GLenum *) (pc + 0), pname, params); __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; } @@ -4186,89 +4381,19 @@ __glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc) } int -__glXDisp_GetVertexAttribdvARB(__GLXclientState * cl, GLbyte * pc) +__glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); pc += __GLX_VENDPRIV_HDR_SIZE; if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); + GLboolean retval; - const GLuint compsize = __glGetVertexAttribdvARB_size(pname); - GLdouble answerBuffer[200]; - GLdouble *params = - __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, - sizeof(answerBuffer), 8); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribdvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetVertexAttribfvARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetVertexAttribfvARB_size(pname); - GLfloat answerBuffer[200]; - GLfloat *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribfvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetVertexAttribivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetVertexAttribivARB_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribivARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); + retval = IsProgramARB(*(GLuint *) (pc + 0)); + __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -4278,6 +4403,8 @@ __glXDisp_GetVertexAttribivARB(__GLXclientState * cl, GLbyte * pc) void __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc) { + PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB = + __glGetProcAddress("glProgramEnvParameter4dvARB"); #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { (void) memmove(pc - 4, pc, 40); @@ -4285,24 +4412,25 @@ __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc) } #endif - CALL_ProgramEnvParameter4dvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - (const GLdouble *) (pc + 8) - )); + ProgramEnvParameter4dvARB(*(GLenum *) (pc + 0), + *(GLuint *) (pc + 4), + (const GLdouble *) (pc + 8)); } void __glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc) { - CALL_ProgramEnvParameter4fvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - (const GLfloat *) (pc + 8) - )); + PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB = + __glGetProcAddress("glProgramEnvParameter4fvARB"); + ProgramEnvParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4), + (const GLfloat *) (pc + 8)); } void __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc) { + PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB = + __glGetProcAddress("glProgramLocalParameter4dvARB"); #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { (void) memmove(pc - 4, pc, 40); @@ -4310,1366 +4438,96 @@ __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc) } #endif - CALL_ProgramLocalParameter4dvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - (const GLdouble *) (pc + - 8) - )); + ProgramLocalParameter4dvARB(*(GLenum *) (pc + 0), + *(GLuint *) (pc + 4), + (const GLdouble *) (pc + 8)); } void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc) { - CALL_ProgramLocalParameter4fvARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - (const GLfloat *) (pc + 8) - )); + PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB = + __glGetProcAddress("glProgramLocalParameter4fvARB"); + ProgramLocalParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4), + (const GLfloat *) (pc + 8)); } void __glXDisp_ProgramStringARB(GLbyte * pc) { + PFNGLPROGRAMSTRINGARBPROC ProgramStringARB = + __glGetProcAddress("glProgramStringARB"); const GLsizei len = *(GLsizei *) (pc + 8); - CALL_ProgramStringARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - len, (const GLvoid *) (pc + 12) - )); -} - -void -__glXDisp_VertexAttrib1dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 12); - pc -= 4; - } -#endif - - CALL_VertexAttrib1dvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); + ProgramStringARB(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), len, (const GLvoid *) (pc + 12)); } void __glXDisp_VertexAttrib1fvARB(GLbyte * pc) { - CALL_VertexAttrib1fvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib1svARB(GLbyte * pc) -{ - CALL_VertexAttrib1svARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib2dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 20); - pc -= 4; - } -#endif - - CALL_VertexAttrib2dvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); + PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB = + __glGetProcAddress("glVertexAttrib1fvARB"); + VertexAttrib1fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); } void __glXDisp_VertexAttrib2fvARB(GLbyte * pc) { - CALL_VertexAttrib2fvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib2svARB(GLbyte * pc) -{ - CALL_VertexAttrib2svARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib3dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 28); - pc -= 4; - } -#endif - - CALL_VertexAttrib3dvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); + PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB = + __glGetProcAddress("glVertexAttrib2fvARB"); + VertexAttrib2fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); } void __glXDisp_VertexAttrib3fvARB(GLbyte * pc) { - CALL_VertexAttrib3fvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib3svARB(GLbyte * pc) -{ - CALL_VertexAttrib3svARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4NbvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NbvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLbyte *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4NivARB(GLbyte * pc) -{ - CALL_VertexAttrib4NivARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLint *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4NsvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NsvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4NubvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NubvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLubyte *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4NuivARB(GLbyte * pc) -{ - CALL_VertexAttrib4NuivARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLuint *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4NusvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NusvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLushort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4bvARB(GLbyte * pc) -{ - CALL_VertexAttrib4bvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLbyte *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 36); - pc -= 4; - } -#endif - - CALL_VertexAttrib4dvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); + PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB = + __glGetProcAddress("glVertexAttrib3fvARB"); + VertexAttrib3fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); } void __glXDisp_VertexAttrib4fvARB(GLbyte * pc) { - CALL_VertexAttrib4fvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); + PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB = + __glGetProcAddress("glVertexAttrib4fvARB"); + VertexAttrib4fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); } void -__glXDisp_VertexAttrib4ivARB(GLbyte * pc) +__glXDisp_BindFramebuffer(GLbyte * pc) { - CALL_VertexAttrib4ivARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLint *) (pc + 4) - )); + PFNGLBINDFRAMEBUFFERPROC BindFramebuffer = + __glGetProcAddress("glBindFramebuffer"); + BindFramebuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4)); } void -__glXDisp_VertexAttrib4svARB(GLbyte * pc) +__glXDisp_BindRenderbuffer(GLbyte * pc) { - CALL_VertexAttrib4svARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); + PFNGLBINDRENDERBUFFERPROC BindRenderbuffer = + __glGetProcAddress("glBindRenderbuffer"); + BindRenderbuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4)); } void -__glXDisp_VertexAttrib4ubvARB(GLbyte * pc) +__glXDisp_BlitFramebuffer(GLbyte * pc) { - CALL_VertexAttrib4ubvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLubyte *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4uivARB(GLbyte * pc) -{ - CALL_VertexAttrib4uivARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLuint *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4usvARB(GLbyte * pc) -{ - CALL_VertexAttrib4usvARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLushort *) (pc + 4) - )); -} - -void -__glXDisp_BeginQueryARB(GLbyte * pc) -{ - CALL_BeginQueryARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4) - )); + PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer = + __glGetProcAddress("glBlitFramebuffer"); + BlitFramebuffer(*(GLint *) (pc + 0), *(GLint *) (pc + 4), + *(GLint *) (pc + 8), *(GLint *) (pc + 12), + *(GLint *) (pc + 16), *(GLint *) (pc + 20), + *(GLint *) (pc + 24), *(GLint *) (pc + 28), + *(GLbitfield *) (pc + 32), *(GLenum *) (pc + 36)); } int -__glXDisp_DeleteQueriesARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = *(GLsizei *) (pc + 0); - - CALL_DeleteQueriesARB(GET_DISPATCH(), (n, (const GLuint *) (pc + 4) - )); - error = Success; - } - - return error; -} - -void -__glXDisp_EndQueryARB(GLbyte * pc) -{ - CALL_EndQueryARB(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); -} - -int -__glXDisp_GenQueriesARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = *(GLsizei *) (pc + 0); - - GLuint answerBuffer[200]; - GLuint *ids = - __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), - 4); - CALL_GenQueriesARB(GET_DISPATCH(), (n, ids)); - __glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetQueryObjectivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetQueryObjectivARB_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetQueryObjectivARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetQueryObjectuivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetQueryObjectuivARB_size(pname); - GLuint answerBuffer[200]; - GLuint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetQueryObjectuivARB(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetQueryivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetQueryivARB_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetQueryivARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_IsQueryARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - GLboolean retval; - - retval = CALL_IsQueryARB(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); - __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); - error = Success; - } - - return error; -} - -void -__glXDisp_DrawBuffersARB(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 0); - - CALL_DrawBuffersARB(GET_DISPATCH(), (n, (const GLenum *) (pc + 4) - )); -} - -void -__glXDisp_ClampColorARB(GLbyte * pc) -{ - CALL_ClampColorARB(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4) - )); -} - -void -__glXDisp_RenderbufferStorageMultisample(GLbyte * pc) -{ - CALL_RenderbufferStorageMultisample(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLsizei *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLsizei *) (pc + 16) - )); -} - -void -__glXDisp_SampleMaskSGIS(GLbyte * pc) -{ - CALL_SampleMaskSGIS(GET_DISPATCH(), (*(GLclampf *) (pc + 0), - *(GLboolean *) (pc + 4) - )); -} - -void -__glXDisp_SamplePatternSGIS(GLbyte * pc) -{ - CALL_SamplePatternSGIS(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); -} - -void -__glXDisp_PointParameterfEXT(GLbyte * pc) -{ - CALL_PointParameterfEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_PointParameterfvEXT(GLbyte * pc) -{ - const GLenum pname = *(GLenum *) (pc + 0); - const GLfloat *params; - - params = (const GLfloat *) (pc + 4); - - CALL_PointParameterfvEXT(GET_DISPATCH(), (pname, params)); -} - -void -__glXDisp_SecondaryColor3bvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3bvEXT(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); -} - -void -__glXDisp_SecondaryColor3dvEXT(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 24); - pc -= 4; - } -#endif - - CALL_SecondaryColor3dvEXT(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); -} - -void -__glXDisp_SecondaryColor3fvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3fvEXT(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); -} - -void -__glXDisp_SecondaryColor3ivEXT(GLbyte * pc) -{ - CALL_SecondaryColor3ivEXT(GET_DISPATCH(), ((const GLint *) (pc + 0) - )); -} - -void -__glXDisp_SecondaryColor3svEXT(GLbyte * pc) -{ - CALL_SecondaryColor3svEXT(GET_DISPATCH(), ((const GLshort *) (pc + 0) - )); -} - -void -__glXDisp_SecondaryColor3ubvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3ubvEXT(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); -} - -void -__glXDisp_SecondaryColor3uivEXT(GLbyte * pc) -{ - CALL_SecondaryColor3uivEXT(GET_DISPATCH(), ((const GLuint *) (pc + 0) - )); -} - -void -__glXDisp_SecondaryColor3usvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3usvEXT(GET_DISPATCH(), ((const GLushort *) (pc + 0) - )); -} - -void -__glXDisp_FogCoorddvEXT(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 8); - pc -= 4; - } -#endif - - CALL_FogCoorddvEXT(GET_DISPATCH(), ((const GLdouble *) (pc + 0) - )); -} - -void -__glXDisp_FogCoordfvEXT(GLbyte * pc) -{ - CALL_FogCoordfvEXT(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); -} - -void -__glXDisp_BlendFuncSeparateEXT(GLbyte * pc) -{ - CALL_BlendFuncSeparateEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLenum *) (pc + 12) - )); -} - -void -__glXDisp_WindowPos3fvMESA(GLbyte * pc) -{ - CALL_WindowPos3fvMESA(GET_DISPATCH(), ((const GLfloat *) (pc + 0) - )); -} - -int -__glXDisp_AreProgramsResidentNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = *(GLsizei *) (pc + 0); - - GLboolean retval; - GLboolean answerBuffer[200]; - GLboolean *residences = - __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); - retval = - CALL_AreProgramsResidentNV(GET_DISPATCH(), - (n, (const GLuint *) (pc + 4), - residences)); - __glXSendReply(cl->client, residences, n, 1, GL_FALSE, retval); - error = Success; - } - - return error; -} - -void -__glXDisp_BindProgramNV(GLbyte * pc) -{ - CALL_BindProgramNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4) - )); -} - -int -__glXDisp_DeleteProgramsNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = *(GLsizei *) (pc + 0); - - CALL_DeleteProgramsNV(GET_DISPATCH(), (n, (const GLuint *) (pc + 4) - )); - error = Success; - } - - return error; -} - -void -__glXDisp_ExecuteProgramNV(GLbyte * pc) -{ - CALL_ExecuteProgramNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - (const GLfloat *) (pc + 8) - )); -} - -int -__glXDisp_GenProgramsNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = *(GLsizei *) (pc + 0); - - GLuint answerBuffer[200]; - GLuint *programs = - __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), - 4); - CALL_GenProgramsNV(GET_DISPATCH(), (n, programs)); - __glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetProgramParameterdvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLdouble params[4]; - - CALL_GetProgramParameterdvNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - *(GLenum *) (pc + 8), - params)); - __glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetProgramParameterfvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLfloat params[4]; - - CALL_GetProgramParameterfvNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - *(GLenum *) (pc + 8), - params)); - __glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetProgramivNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetProgramivNV_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetProgramivNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetTrackMatrixivNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLint params[1]; - - CALL_GetTrackMatrixivNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - *(GLenum *) (pc + 8), params)); - __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetVertexAttribdvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetVertexAttribdvNV_size(pname); - GLdouble answerBuffer[200]; - GLdouble *params = - __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, - sizeof(answerBuffer), 8); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribdvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetVertexAttribfvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetVertexAttribfvNV_size(pname); - GLfloat answerBuffer[200]; - GLfloat *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribfvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetVertexAttribivNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = *(GLenum *) (pc + 4); - - const GLuint compsize = __glGetVertexAttribivNV_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribivNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - pname, params)); - __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_IsProgramNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLboolean retval; - - retval = CALL_IsProgramNV(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); - __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); - error = Success; - } - - return error; -} - -void -__glXDisp_LoadProgramNV(GLbyte * pc) -{ - const GLsizei len = *(GLsizei *) (pc + 8); - - CALL_LoadProgramNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - len, (const GLubyte *) (pc + 12) - )); -} - -void -__glXDisp_ProgramParameters4dvNV(GLbyte * pc) -{ - const GLsizei num = *(GLsizei *) (pc + 8); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_ProgramParameters4dvNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - num, - (const GLdouble *) (pc + 12) - )); -} - -void -__glXDisp_ProgramParameters4fvNV(GLbyte * pc) -{ - const GLsizei num = *(GLsizei *) (pc + 8); - - CALL_ProgramParameters4fvNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - num, - (const GLfloat *) (pc + 12) - )); -} - -void -__glXDisp_RequestResidentProgramsNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 0); - - CALL_RequestResidentProgramsNV(GET_DISPATCH(), (n, (const GLuint *) (pc + 4) - )); -} - -void -__glXDisp_TrackMatrixNV(GLbyte * pc) -{ - CALL_TrackMatrixNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLenum *) (pc + 12) - )); -} - -void -__glXDisp_VertexAttrib1dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 12); - pc -= 4; - } -#endif - - CALL_VertexAttrib1dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib1fvNV(GLbyte * pc) -{ - CALL_VertexAttrib1fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib1svNV(GLbyte * pc) -{ - CALL_VertexAttrib1svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib2dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 20); - pc -= 4; - } -#endif - - CALL_VertexAttrib2dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib2fvNV(GLbyte * pc) -{ - CALL_VertexAttrib2fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib2svNV(GLbyte * pc) -{ - CALL_VertexAttrib2svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib3dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 28); - pc -= 4; - } -#endif - - CALL_VertexAttrib3dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib3fvNV(GLbyte * pc) -{ - CALL_VertexAttrib3fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib3svNV(GLbyte * pc) -{ - CALL_VertexAttrib3svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 36); - pc -= 4; - } -#endif - - CALL_VertexAttrib4dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLdouble *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4fvNV(GLbyte * pc) -{ - CALL_VertexAttrib4fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLfloat *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4svNV(GLbyte * pc) -{ - CALL_VertexAttrib4svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLshort *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttrib4ubvNV(GLbyte * pc) -{ - CALL_VertexAttrib4ubvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - (const GLubyte *) (pc + 4) - )); -} - -void -__glXDisp_VertexAttribs1dvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs1dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLdouble *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs1fvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs1fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLfloat *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs1svNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs1svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLshort *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs2dvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs2dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLdouble *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs2fvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs2fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLfloat *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs2svNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs2svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLshort *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs3dvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs3dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLdouble *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs3fvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs3fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLfloat *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs3svNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs3svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLshort *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs4dvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs4dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLdouble *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs4fvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs4fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLfloat *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs4svNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs4svNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLshort *) (pc + 8) - )); -} - -void -__glXDisp_VertexAttribs4ubvNV(GLbyte * pc) -{ - const GLsizei n = *(GLsizei *) (pc + 4); - - CALL_VertexAttribs4ubvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - n, (const GLubyte *) (pc + 8) - )); -} - -void -__glXDisp_PointParameteriNV(GLbyte * pc) -{ - CALL_PointParameteriNV(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4) - )); -} - -void -__glXDisp_PointParameterivNV(GLbyte * pc) -{ - const GLenum pname = *(GLenum *) (pc + 0); - const GLint *params; - - params = (const GLint *) (pc + 4); - - CALL_PointParameterivNV(GET_DISPATCH(), (pname, params)); -} - -void -__glXDisp_ActiveStencilFaceEXT(GLbyte * pc) -{ - CALL_ActiveStencilFaceEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); -} - -int -__glXDisp_GetProgramNamedParameterdvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei len = *(GLsizei *) (pc + 4); - - GLdouble params[4]; - - CALL_GetProgramNamedParameterdvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - len, - (const GLubyte *) (pc - + - 8), - params)); - __glXSendReply(cl->client, params, 4, 8, GL_TRUE, 0); - error = Success; - } - - return error; -} - -int -__glXDisp_GetProgramNamedParameterfvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei len = *(GLsizei *) (pc + 4); - - GLfloat params[4]; - - CALL_GetProgramNamedParameterfvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - len, - (const GLubyte *) (pc - + - 8), - params)); - __glXSendReply(cl->client, params, 4, 4, GL_TRUE, 0); - error = Success; - } - - return error; -} - -void -__glXDisp_ProgramNamedParameter4dvNV(GLbyte * pc) -{ - const GLsizei len = *(GLsizei *) (pc + 36); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 44 + __GLX_PAD(len) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_ProgramNamedParameter4dvNV(GET_DISPATCH(), (*(GLuint *) (pc + 32), - len, - (const GLubyte *) (pc + - 40), - (const GLdouble *) (pc + 0) - )); -} - -void -__glXDisp_ProgramNamedParameter4fvNV(GLbyte * pc) -{ - const GLsizei len = *(GLsizei *) (pc + 4); - - CALL_ProgramNamedParameter4fvNV(GET_DISPATCH(), (*(GLuint *) (pc + 0), - len, - (const GLubyte *) (pc + - 24), - (const GLfloat *) (pc + 8) - )); -} - -void -__glXDisp_BlendEquationSeparateEXT(GLbyte * pc) -{ - CALL_BlendEquationSeparateEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4) - )); -} - -void -__glXDisp_BindFramebufferEXT(GLbyte * pc) -{ - CALL_BindFramebufferEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4) - )); -} - -void -__glXDisp_BindRenderbufferEXT(GLbyte * pc) -{ - CALL_BindRenderbufferEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLuint *) (pc + 4) - )); -} - -int -__glXDisp_CheckFramebufferStatusEXT(__GLXclientState * cl, GLbyte * pc) +__glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc) { + PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus = + __glGetProcAddress("glCheckFramebufferStatus"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -5678,9 +4536,7 @@ __glXDisp_CheckFramebufferStatusEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLenum retval; - retval = - CALL_CheckFramebufferStatusEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + retval = CheckFramebufferStatus(*(GLenum *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -5689,70 +4545,79 @@ __glXDisp_CheckFramebufferStatusEXT(__GLXclientState * cl, GLbyte * pc) } void -__glXDisp_DeleteFramebuffersEXT(GLbyte * pc) +__glXDisp_DeleteFramebuffers(GLbyte * pc) { + PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers = + __glGetProcAddress("glDeleteFramebuffers"); const GLsizei n = *(GLsizei *) (pc + 0); - CALL_DeleteFramebuffersEXT(GET_DISPATCH(), (n, (const GLuint *) (pc + 4) - )); + DeleteFramebuffers(n, (const GLuint *) (pc + 4)); } void -__glXDisp_DeleteRenderbuffersEXT(GLbyte * pc) +__glXDisp_DeleteRenderbuffers(GLbyte * pc) { + PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers = + __glGetProcAddress("glDeleteRenderbuffers"); const GLsizei n = *(GLsizei *) (pc + 0); - CALL_DeleteRenderbuffersEXT(GET_DISPATCH(), (n, (const GLuint *) (pc + 4) - )); + DeleteRenderbuffers(n, (const GLuint *) (pc + 4)); } void -__glXDisp_FramebufferRenderbufferEXT(GLbyte * pc) +__glXDisp_FramebufferRenderbuffer(GLbyte * pc) { - CALL_FramebufferRenderbufferEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLuint *) (pc + 12) - )); + PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer = + __glGetProcAddress("glFramebufferRenderbuffer"); + FramebufferRenderbuffer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), *(GLuint *) (pc + 12)); } void -__glXDisp_FramebufferTexture1DEXT(GLbyte * pc) +__glXDisp_FramebufferTexture1D(GLbyte * pc) { - CALL_FramebufferTexture1DEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLuint *) (pc + 12), - *(GLint *) (pc + 16) - )); + PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D = + __glGetProcAddress("glFramebufferTexture1D"); + FramebufferTexture1D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), *(GLuint *) (pc + 12), + *(GLint *) (pc + 16)); } void -__glXDisp_FramebufferTexture2DEXT(GLbyte * pc) +__glXDisp_FramebufferTexture2D(GLbyte * pc) { - CALL_FramebufferTexture2DEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLuint *) (pc + 12), - *(GLint *) (pc + 16) - )); + PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D = + __glGetProcAddress("glFramebufferTexture2D"); + FramebufferTexture2D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), *(GLuint *) (pc + 12), + *(GLint *) (pc + 16)); } void -__glXDisp_FramebufferTexture3DEXT(GLbyte * pc) +__glXDisp_FramebufferTexture3D(GLbyte * pc) { - CALL_FramebufferTexture3DEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLuint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLint *) (pc + 20) - )); + PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D = + __glGetProcAddress("glFramebufferTexture3D"); + FramebufferTexture3D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), *(GLuint *) (pc + 12), + *(GLint *) (pc + 16), *(GLint *) (pc + 20)); +} + +void +__glXDisp_FramebufferTextureLayer(GLbyte * pc) +{ + PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer = + __glGetProcAddress("glFramebufferTextureLayer"); + FramebufferTextureLayer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLuint *) (pc + 8), *(GLint *) (pc + 12), + *(GLint *) (pc + 16)); } int -__glXDisp_GenFramebuffersEXT(__GLXclientState * cl, GLbyte * pc) +__glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc) { + PFNGLGENFRAMEBUFFERSPROC GenFramebuffers = + __glGetProcAddress("glGenFramebuffers"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -5765,7 +4630,7 @@ __glXDisp_GenFramebuffersEXT(__GLXclientState * cl, GLbyte * pc) GLuint *framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenFramebuffersEXT(GET_DISPATCH(), (n, framebuffers)); + GenFramebuffers(n, framebuffers); __glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0); error = Success; } @@ -5774,8 +4639,10 @@ __glXDisp_GenFramebuffersEXT(__GLXclientState * cl, GLbyte * pc) } int -__glXDisp_GenRenderbuffersEXT(__GLXclientState * cl, GLbyte * pc) +__glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc) { + PFNGLGENRENDERBUFFERSPROC GenRenderbuffers = + __glGetProcAddress("glGenRenderbuffers"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -5788,7 +4655,7 @@ __glXDisp_GenRenderbuffersEXT(__GLXclientState * cl, GLbyte * pc) GLuint *renderbuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenRenderbuffersEXT(GET_DISPATCH(), (n, renderbuffers)); + GenRenderbuffers(n, renderbuffers); __glXSendReply(cl->client, renderbuffers, n, 4, GL_TRUE, 0); error = Success; } @@ -5797,16 +4664,20 @@ __glXDisp_GenRenderbuffersEXT(__GLXclientState * cl, GLbyte * pc) } void -__glXDisp_GenerateMipmapEXT(GLbyte * pc) +__glXDisp_GenerateMipmap(GLbyte * pc) { - CALL_GenerateMipmapEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0) - )); + PFNGLGENERATEMIPMAPPROC GenerateMipmap = + __glGetProcAddress("glGenerateMipmap"); + GenerateMipmap(*(GLenum *) (pc + 0)); } int -__glXDisp_GetFramebufferAttachmentParameterivEXT(__GLXclientState * cl, - GLbyte * pc) +__glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl, + GLbyte * pc) { + PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC + GetFramebufferAttachmentParameteriv = + __glGetProcAddress("glGetFramebufferAttachmentParameteriv"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -5815,11 +4686,9 @@ __glXDisp_GetFramebufferAttachmentParameterivEXT(__GLXclientState * cl, if (cx != NULL) { GLint params[1]; - CALL_GetFramebufferAttachmentParameterivEXT(GET_DISPATCH(), - (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - params)); + GetFramebufferAttachmentParameteriv(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), params); __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0); error = Success; } @@ -5828,8 +4697,10 @@ __glXDisp_GetFramebufferAttachmentParameterivEXT(__GLXclientState * cl, } int -__glXDisp_GetRenderbufferParameterivEXT(__GLXclientState * cl, GLbyte * pc) +__glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv = + __glGetProcAddress("glGetRenderbufferParameteriv"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -5838,9 +4709,8 @@ __glXDisp_GetRenderbufferParameterivEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLint params[1]; - CALL_GetRenderbufferParameterivEXT(GET_DISPATCH(), - (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), params)); + GetRenderbufferParameteriv(*(GLenum *) (pc + 0), + *(GLenum *) (pc + 4), params); __glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0); error = Success; } @@ -5849,8 +4719,10 @@ __glXDisp_GetRenderbufferParameterivEXT(__GLXclientState * cl, GLbyte * pc) } int -__glXDisp_IsFramebufferEXT(__GLXclientState * cl, GLbyte * pc) +__glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc) { + PFNGLISFRAMEBUFFERPROC IsFramebuffer = + __glGetProcAddress("glIsFramebuffer"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -5859,8 +4731,7 @@ __glXDisp_IsFramebufferEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsFramebufferEXT(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + retval = IsFramebuffer(*(GLuint *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -5869,8 +4740,10 @@ __glXDisp_IsFramebufferEXT(__GLXclientState * cl, GLbyte * pc) } int -__glXDisp_IsRenderbufferEXT(__GLXclientState * cl, GLbyte * pc) +__glXDisp_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc) { + PFNGLISRENDERBUFFERPROC IsRenderbuffer = + __glGetProcAddress("glIsRenderbuffer"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); @@ -5879,8 +4752,7 @@ __glXDisp_IsRenderbufferEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsRenderbufferEXT(GET_DISPATCH(), (*(GLuint *) (pc + 0) - )); + retval = IsRenderbuffer(*(GLuint *) (pc + 0)); __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -5889,38 +4761,342 @@ __glXDisp_IsRenderbufferEXT(__GLXclientState * cl, GLbyte * pc) } void -__glXDisp_RenderbufferStorageEXT(GLbyte * pc) +__glXDisp_RenderbufferStorage(GLbyte * pc) { - CALL_RenderbufferStorageEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLsizei *) (pc + 8), - *(GLsizei *) (pc + 12) - )); + PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage = + __glGetProcAddress("glRenderbufferStorage"); + RenderbufferStorage(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12)); } void -__glXDisp_BlitFramebufferEXT(GLbyte * pc) +__glXDisp_RenderbufferStorageMultisample(GLbyte * pc) { - CALL_BlitFramebufferEXT(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLint *) (pc + 4), - *(GLint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16), - *(GLint *) (pc + 20), - *(GLint *) (pc + 24), - *(GLint *) (pc + 28), - *(GLbitfield *) (pc + 32), - *(GLenum *) (pc + 36) - )); + PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample = + __glGetProcAddress("glRenderbufferStorageMultisample"); + RenderbufferStorageMultisample(*(GLenum *) (pc + 0), *(GLsizei *) (pc + 4), + *(GLenum *) (pc + 8), *(GLsizei *) (pc + 12), + *(GLsizei *) (pc + 16)); } void -__glXDisp_FramebufferTextureLayerEXT(GLbyte * pc) +__glXDisp_SecondaryColor3fvEXT(GLbyte * pc) { - CALL_FramebufferTextureLayerEXT(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLuint *) (pc + 8), - *(GLint *) (pc + 12), - *(GLint *) (pc + 16) - )); + PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT = + __glGetProcAddress("glSecondaryColor3fvEXT"); + SecondaryColor3fvEXT((const GLfloat *) (pc + 0)); +} + +void +__glXDisp_FogCoordfvEXT(GLbyte * pc) +{ + PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT = + __glGetProcAddress("glFogCoordfvEXT"); + FogCoordfvEXT((const GLfloat *) (pc + 0)); +} + +void +__glXDisp_VertexAttrib1dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV = + __glGetProcAddress("glVertexAttrib1dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 12); + pc -= 4; + } +#endif + + VertexAttrib1dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib1fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV = + __glGetProcAddress("glVertexAttrib1fvNV"); + VertexAttrib1fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib1svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV = + __glGetProcAddress("glVertexAttrib1svNV"); + VertexAttrib1svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib2dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV = + __glGetProcAddress("glVertexAttrib2dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 20); + pc -= 4; + } +#endif + + VertexAttrib2dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib2fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV = + __glGetProcAddress("glVertexAttrib2fvNV"); + VertexAttrib2fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib2svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV = + __glGetProcAddress("glVertexAttrib2svNV"); + VertexAttrib2svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib3dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV = + __glGetProcAddress("glVertexAttrib3dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 28); + pc -= 4; + } +#endif + + VertexAttrib3dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib3fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV = + __glGetProcAddress("glVertexAttrib3fvNV"); + VertexAttrib3fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib3svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV = + __glGetProcAddress("glVertexAttrib3svNV"); + VertexAttrib3svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV = + __glGetProcAddress("glVertexAttrib4dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 36); + pc -= 4; + } +#endif + + VertexAttrib4dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV = + __glGetProcAddress("glVertexAttrib4fvNV"); + VertexAttrib4fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV = + __glGetProcAddress("glVertexAttrib4svNV"); + VertexAttrib4svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4)); +} + +void +__glXDisp_VertexAttrib4ubvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV = + __glGetProcAddress("glVertexAttrib4ubvNV"); + VertexAttrib4ubvNV(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4)); +} + +void +__glXDisp_VertexAttribs1dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV = + __glGetProcAddress("glVertexAttribs1dvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs1dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs1fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV = + __glGetProcAddress("glVertexAttribs1fvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs1fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs1svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV = + __glGetProcAddress("glVertexAttribs1svNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs1svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs2dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV = + __glGetProcAddress("glVertexAttribs2dvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs2dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs2fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV = + __glGetProcAddress("glVertexAttribs2fvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs2fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs2svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV = + __glGetProcAddress("glVertexAttribs2svNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs2svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs3dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV = + __glGetProcAddress("glVertexAttribs3dvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs3dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs3fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV = + __glGetProcAddress("glVertexAttribs3fvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs3fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs3svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV = + __glGetProcAddress("glVertexAttribs3svNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs3svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs4dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV = + __glGetProcAddress("glVertexAttribs4dvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs4dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs4fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV = + __glGetProcAddress("glVertexAttribs4fvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs4fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs4svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV = + __glGetProcAddress("glVertexAttribs4svNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs4svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8)); +} + +void +__glXDisp_VertexAttribs4ubvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV = + __glGetProcAddress("glVertexAttribs4ubvNV"); + const GLsizei n = *(GLsizei *) (pc + 4); + + VertexAttribs4ubvNV(*(GLuint *) (pc + 0), n, (const GLubyte *) (pc + 8)); +} + +void +__glXDisp_ActiveStencilFaceEXT(GLbyte * pc) +{ + PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT = + __glGetProcAddress("glActiveStencilFaceEXT"); + ActiveStencilFaceEXT(*(GLenum *) (pc + 0)); } diff --git a/xserver/glx/indirect_dispatch.h b/xserver/glx/indirect_dispatch.h index d75dbe062..e6e3fdacf 100644 --- a/xserver/glx/indirect_dispatch.h +++ b/xserver/glx/indirect_dispatch.h @@ -41,32 +41,18 @@ extern _X_HIDDEN int __glXDispSwap_NewList(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_LoadIdentity(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_LoadIdentity(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_SampleCoverageARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SampleCoverageARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ConvolutionFilter1D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ConvolutionFilter1D(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_BeginQueryARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_BeginQueryARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_RasterPos3dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RasterPos3dv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_PointParameteriNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_PointParameteriNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord1iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord1iv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord4sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord4sv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_ActiveTextureARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_ActiveTextureARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_BlitFramebufferEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_BlitFramebufferEXT(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib3dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib3dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttrib4ubvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetProgramNamedParameterdvNV(struct - __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramNamedParameterdvNV(struct - __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN void __glXDisp_Histogram(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Histogram(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetMapfv(struct __GLXclientStateRec *, GLbyte *); @@ -76,8 +62,8 @@ extern _X_HIDDEN void __glXDisp_RasterPos4dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RasterPos4dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PolygonStipple(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PolygonStipple(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_BlendEquationSeparateEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_BlendEquationSeparateEXT(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord1dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1dv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetPixelMapfv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetPixelMapfv(struct __GLXclientStateRec *, @@ -96,6 +82,8 @@ extern _X_HIDDEN int __glXDisp_DestroyPixmap(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_DestroyPixmap(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_FramebufferTexture1D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_FramebufferTexture1D(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetMapiv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetMapiv(struct __GLXclientStateRec *, GLbyte *); @@ -108,10 +96,6 @@ extern _X_HIDDEN void __glXDispSwap_Indexubv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_Render(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_Render(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetQueryivARB(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetQueryivARB(struct __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN void __glXDisp_TexImage3D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexImage3D(GLbyte * pc); extern _X_HIDDEN int __glXDisp_MakeContextCurrent(struct __GLXclientStateRec *, @@ -122,23 +106,14 @@ extern _X_HIDDEN int __glXDisp_GetFBConfigs(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetFBConfigs(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttrib1sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib1sv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color3ubv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color3ubv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetQueryObjectivARB(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetQueryObjectivARB(struct - __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN void __glXDisp_Vertex3dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex3dv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_CompressedTexSubImage2DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage2DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttribs3fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttribs3fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_LightModeliv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_LightModeliv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib1svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib1svARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttribs1dvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttribs1dvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Normal3bv(GLbyte * pc); @@ -149,46 +124,52 @@ extern _X_HIDDEN int __glXDispSwap_VendorPrivate(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_TexGeniv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexGeniv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib1fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex3iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex3iv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_RenderbufferStorage(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_RenderbufferStorage(GLbyte * pc); extern _X_HIDDEN void __glXDisp_CopyConvolutionFilter1D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_CopyConvolutionFilter1D(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GenQueries(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GenQueries(struct __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN void __glXDisp_BlendColor(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_BlendColor(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_CompressedTexImage3D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_CompressedTexImage3D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Scalef(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Scalef(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Normal3iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Normal3iv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_SecondaryColor3dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SecondaryColor3dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PassThrough(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PassThrough(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_FramebufferTextureLayerEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_FramebufferTextureLayerEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Viewport(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Viewport(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4NusvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4NusvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_CopyTexSubImage2D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_CopyTexSubImage2D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_DepthRange(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_DepthRange(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetQueryiv(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GetQueryiv(struct __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN void __glXDisp_ResetHistogram(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ResetHistogram(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetProgramNamedParameterfvNV(struct - __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramNamedParameterfvNV(struct - __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN void __glXDisp_PointParameterfEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_PointParameterfEXT(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_CompressedTexSubImage2D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage2D(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_SecondaryColor3uiv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SecondaryColor3uiv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord2sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord2sv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex4dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex4dv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_CompressedTexImage3DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_CompressedTexImage3DARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4Nbv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nbv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttribs2svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttribs2svNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color3sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color3sv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetConvolutionParameteriv(struct @@ -209,6 +190,8 @@ extern _X_HIDDEN int __glXDisp_GetVisualConfigs(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetVisualConfigs(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_DeleteRenderbuffers(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_DeleteRenderbuffers(GLbyte * pc); extern _X_HIDDEN void __glXDisp_MultiTexCoord1fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord3iv(GLbyte * pc); @@ -217,16 +200,24 @@ extern _X_HIDDEN int __glXDisp_CopyContext(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CopyContext(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttrib4usv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4usv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color3fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color3fv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord4sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4sv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PointSize(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PointSize(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PopName(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PopName(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4NbvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4NbvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib2dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib2dv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4Nusv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nusv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex4sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex4sv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_ClampColor(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_ClampColor(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetTexEnvfv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetTexEnvfv(struct __GLXclientStateRec *, @@ -251,8 +242,6 @@ extern _X_HIDDEN void __glXDisp_AlphaFunc(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_AlphaFunc(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord2iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord2iv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_CompressedTexImage1DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_CompressedTexImage1DARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Rotated(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Rotated(GLbyte * pc); extern _X_HIDDEN int __glXDisp_ReadPixels(struct __GLXclientStateRec *, @@ -261,6 +250,8 @@ extern _X_HIDDEN int __glXDispSwap_ReadPixels(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_EdgeFlagv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EdgeFlagv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_CompressedTexSubImage1D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage1D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexParameterf(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexParameterf(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexParameteri(GLbyte * pc); @@ -271,12 +262,8 @@ extern _X_HIDDEN int __glXDispSwap_DestroyContext(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_DrawPixels(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_DrawPixels(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord2svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord3svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_GenerateMipmapEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_GenerateMipmapEXT(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord3sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3sv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GenLists(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GenLists(struct __GLXclientStateRec *, GLbyte *); @@ -300,6 +287,8 @@ extern _X_HIDDEN void __glXDisp_PixelMapfv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PixelMapfv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color3usv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color3usv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord2iv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2iv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_AreTexturesResident(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_AreTexturesResident(struct @@ -310,20 +299,16 @@ extern _X_HIDDEN int __glXDisp_AreTexturesResidentEXT(struct __GLXclientStateRec extern _X_HIDDEN int __glXDispSwap_AreTexturesResidentEXT(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_PointParameterfvEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_PointParameterfvEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color3bv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color3bv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_SecondaryColor3bvEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SecondaryColor3bvEXT(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib2fvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib2fvARB(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetProgramLocalParameterfvARB(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetProgramLocalParameterfvARB(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_RenderbufferStorageEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_RenderbufferStorageEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ColorTable(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ColorTable(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Accum(GLbyte * pc); @@ -339,8 +324,6 @@ extern _X_HIDDEN int __glXDispSwap_Finish(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_ClearStencil(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ClearStencil(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib3dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib3dvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttribs4ubvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ConvolutionParameteriv(GLbyte * pc); @@ -349,6 +332,8 @@ extern _X_HIDDEN void __glXDisp_RasterPos2fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RasterPos2fv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord1fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord1fv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord4dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ProgramEnvParameter4fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_RasterPos4fv(GLbyte * pc); @@ -365,39 +350,29 @@ extern _X_HIDDEN int __glXDisp_GetTexGendv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetTexGendv(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetVertexAttribfvNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetVertexAttribfvNV(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN void __glXDisp_LoadProgramNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_LoadProgramNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_EndList(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_EndList(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttrib4fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_EvalCoord1fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EvalCoord1fv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_EvalMesh2(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EvalMesh2(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex4fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex4fv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_CheckFramebufferStatusEXT(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_CheckFramebufferStatusEXT(struct - __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetVertexAttribivARB(struct __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetVertexAttribivARB(struct - __GLXclientStateRec *, - GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttribs3fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttribs3fvNV(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetProgramEnvParameterdvARB(struct + __GLXclientStateRec + *, GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GetProgramEnvParameterdvARB(struct + __GLXclientStateRec + *, GLbyte *); extern _X_HIDDEN int __glXDisp_GetFBConfigsSGIX(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetFBConfigsSGIX(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_BindFramebuffer(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_BindFramebuffer(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreateNewContext(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CreateNewContext(struct __GLXclientStateRec @@ -410,14 +385,16 @@ extern _X_HIDDEN int __glXDisp_GetMinmaxEXT(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetMinmaxEXT(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_BlendFuncSeparate(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_BlendFuncSeparate(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Normal3fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Normal3fv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4ivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4ivARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_End(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_End(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttribs3svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttribs3svNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttribs2dvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttribs2dvNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreateContextAttribsARB(struct @@ -426,28 +403,24 @@ extern _X_HIDDEN int __glXDisp_CreateContextAttribsARB(struct extern _X_HIDDEN int __glXDispSwap_CreateContextAttribsARB(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetProgramParameterfvNV(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramParameterfvNV(struct - __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN void __glXDisp_BindTexture(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_BindTexture(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib2sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib2sv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexSubImage2D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexSubImage2D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexGenfv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexGenfv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4bvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4bvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4dvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_DrawBuffers(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_DrawBuffers(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreateContextWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CreateContextWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_FramebufferTexture3DEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_FramebufferTexture3DEXT(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CopySubBufferMESA(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CopySubBufferMESA(struct __GLXclientStateRec @@ -461,25 +434,21 @@ extern _X_HIDDEN void __glXDisp_TexCoord3dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord3dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Indexdv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Indexdv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_FramebufferTexture2DEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_FramebufferTexture2DEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PushName(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PushName(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord2dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_ProgramNamedParameter4fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_ProgramNamedParameter4fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttrib4fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib4fvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib1dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib1dv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreateGLXPbufferSGIX(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CreateGLXPbufferSGIX(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_MultiTexCoord1svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_EndQueryARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_EndQueryARB(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_IsRenderbuffer(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_IsRenderbuffer(struct __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN void __glXDisp_DepthMask(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_DepthMask(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color4iv(GLbyte * pc); @@ -490,6 +459,8 @@ extern _X_HIDDEN int __glXDispSwap_GetMaterialiv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_StencilOp(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_StencilOp(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_FramebufferTextureLayer(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_FramebufferTextureLayer(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Ortho(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Ortho(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexEnvfv(GLbyte * pc); @@ -502,8 +473,11 @@ extern _X_HIDDEN void __glXDisp_LoadMatrixf(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_LoadMatrixf(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color4bv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color4bv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_SecondaryColor3usvEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SecondaryColor3usvEXT(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetCompressedTexImage(struct __GLXclientStateRec + *, GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GetCompressedTexImage(struct + __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN void __glXDisp_VertexAttrib2fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib2fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc); @@ -518,13 +492,13 @@ extern _X_HIDDEN void __glXDisp_RenderbufferStorageMultisample(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RenderbufferStorageMultisample(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord4fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord4fv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_ActiveTexture(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_ActiveTexture(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_SecondaryColor3bv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SecondaryColor3bv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_WaitX(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_WaitX(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_SecondaryColor3uivEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SecondaryColor3uivEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_FramebufferRenderbufferEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_FramebufferRenderbufferEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttrib1dvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib1dvNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GenTextures(struct __GLXclientStateRec *, @@ -535,8 +509,6 @@ extern _X_HIDDEN int __glXDisp_GenTexturesEXT(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GenTexturesEXT(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_FramebufferTexture1DEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_FramebufferTexture1DEXT(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetDrawableAttributes(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetDrawableAttributes(struct @@ -550,6 +522,8 @@ extern _X_HIDDEN void __glXDisp_DrawBuffer(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_DrawBuffer(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord2fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord2fv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord4iv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4iv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord1sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord1sv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreateGLXPixmapWithConfigSGIX(struct @@ -562,26 +536,22 @@ extern _X_HIDDEN void __glXDisp_DepthFunc(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_DepthFunc(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PixelMapusv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PixelMapusv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_PointParameterivNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_PointParameterivNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_BlendFunc(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_BlendFunc(GLbyte * pc); extern _X_HIDDEN int __glXDisp_WaitGL(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_WaitGL(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_MultiTexCoord3dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_ProgramNamedParameter4dvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_ProgramNamedParameter4dvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_CompressedTexImage2D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_CompressedTexImage2D(GLbyte * pc); extern _X_HIDDEN int __glXDisp_Flush(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_Flush(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_Color4uiv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color4uiv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord1sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1sv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_RasterPos3sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RasterPos3sv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_BindFramebufferEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_BindFramebufferEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PushAttrib(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PushAttrib(GLbyte * pc); extern _X_HIDDEN int __glXDisp_DestroyPbuffer(struct __GLXclientStateRec *, @@ -590,10 +560,6 @@ extern _X_HIDDEN int __glXDispSwap_DestroyPbuffer(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_TexParameteriv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexParameteriv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_WindowPos3fvMESA(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_WindowPos3fvMESA(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib1svNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib1svNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_QueryExtensionsString(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_QueryExtensionsString(struct @@ -619,6 +585,8 @@ extern _X_HIDDEN int __glXDispSwap_CreateContext(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_CopyColorTable(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_CopyColorTable(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_PointParameterfv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_PointParameterfv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetHistogramParameterfv(struct __GLXclientStateRec *, GLbyte *); @@ -643,15 +611,10 @@ extern _X_HIDDEN int __glXDispSwap_CreateGLXPixmap(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_TexEnvf(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexEnvf(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetProgramStringARB(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramStringARB(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN void __glXDisp_MultiTexCoord3ivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3ivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib1dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib1dvARB(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GenProgramsARB(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GenProgramsARB(struct __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN int __glXDisp_DeleteTextures(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_DeleteTextures(struct __GLXclientStateRec *, @@ -671,15 +634,10 @@ extern _X_HIDDEN int __glXDisp_QueryVersion(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_QueryVersion(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetVertexAttribfvARB(struct __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetVertexAttribfvARB(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN void __glXDisp_SecondaryColor3ivEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SecondaryColor3ivEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord4iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord4iv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_FramebufferTexture3D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_FramebufferTexture3D(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *); @@ -688,69 +646,60 @@ extern _X_HIDDEN int __glXDispSwap_GetDrawableAttributesSGIX(struct *, GLbyte *); extern _X_HIDDEN void __glXDisp_ColorTableParameteriv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ColorTableParameteriv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4ubvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4ubvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_CopyTexImage2D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_CopyTexImage2D(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord2dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Lightfv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Lightfv(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetFramebufferAttachmentParameteriv(struct + __GLXclientStateRec + *, GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GetFramebufferAttachmentParameteriv(struct + __GLXclientStateRec + *, + GLbyte + *); extern _X_HIDDEN void __glXDisp_ClearDepth(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ClearDepth(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ColorSubTable(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ColorSubTable(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color4fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color4fv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord4ivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4ivARB(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreatePixmap(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CreatePixmap(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_Lightiv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Lightiv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetQueryObjectuivARB(struct __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetQueryObjectuivARB(struct - __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN int __glXDisp_GetTexParameteriv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetTexParameteriv(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GenRenderbuffersEXT(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GenRenderbuffersEXT(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttrib2dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib2dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttribs2svNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttribs2svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib3sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib3sv(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_IsQuery(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN int __glXDispSwap_IsQuery(struct __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN void __glXDisp_Rectdv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Rectdv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4NivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4NivARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Materialiv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Materialiv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_SampleMaskSGIS(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SampleMaskSGIS(GLbyte * pc); extern _X_HIDDEN void __glXDisp_SecondaryColor3fvEXT(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PolygonMode(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PolygonMode(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_CompressedTexSubImage1DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage1DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib2dvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetVertexAttribivNV(struct __GLXclientStateRec *, +extern _X_HIDDEN void __glXDisp_SecondaryColor3iv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SecondaryColor3iv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4Niv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Niv(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetProgramStringARB(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetVertexAttribivNV(struct +extern _X_HIDDEN int __glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_IsQueryARB(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_IsQueryARB(struct __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN void __glXDisp_TexGeni(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexGeni(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexGenf(GLbyte * pc); @@ -763,23 +712,16 @@ extern _X_HIDDEN int __glXDispSwap_GetPolygonStipple(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_VertexAttrib2svNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib2svNV(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4NuivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4NuivARB(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetVertexAttribdvNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetVertexAttribdvNV(struct - __GLXclientStateRec *, - GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttribs1fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttribs1fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib2dvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_DestroyWindow(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_DestroyWindow(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_Color4sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color4sv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_IsProgramNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_IsProgramNV(struct __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN void __glXDisp_PixelZoom(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PixelZoom(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ColorTableParameterfv(GLbyte * pc); @@ -796,23 +738,23 @@ extern _X_HIDDEN int __glXDisp_IsTextureEXT(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_IsTextureEXT(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttrib4fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_BeginQuery(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_BeginQuery(GLbyte * pc); extern _X_HIDDEN int __glXDisp_SetClientInfo2ARB(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_SetClientInfo2ARB(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_DeleteQueriesARB(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_DeleteQueriesARB(struct __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN int __glXDisp_GetMapdv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetMapdv(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_MultiTexCoord3iv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3iv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_DestroyGLXPixmap(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_DestroyGLXPixmap(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_SamplePatternSGIS(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SamplePatternSGIS(GLbyte * pc); extern _X_HIDDEN int __glXDisp_PixelStoref(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_PixelStoref(struct __GLXclientStateRec *, @@ -823,8 +765,6 @@ extern _X_HIDDEN int __glXDisp_PixelStorei(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_PixelStorei(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttrib4usvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4usvARB(GLbyte * pc); extern _X_HIDDEN int __glXDisp_DestroyGLXPbufferSGIX(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_DestroyGLXPbufferSGIX(struct @@ -832,21 +772,12 @@ extern _X_HIDDEN int __glXDispSwap_DestroyGLXPbufferSGIX(struct GLbyte *); extern _X_HIDDEN void __glXDisp_EvalCoord2dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EvalCoord2dv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib3svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib3svARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ColorMaterial(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ColorMaterial(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_CompressedTexSubImage3DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage3DARB(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_IsFramebufferEXT(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_IsFramebufferEXT(struct __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetVertexAttribdvARB(struct __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetVertexAttribdvARB(struct - __GLXclientStateRec *, - GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttribs1svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttribs1svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib1fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetSeparableFilter(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetSeparableFilter(struct __GLXclientStateRec @@ -856,8 +787,6 @@ extern _X_HIDDEN int __glXDisp_GetSeparableFilterEXT(struct __GLXclientStateRec extern _X_HIDDEN int __glXDispSwap_GetSeparableFilterEXT(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_RequestResidentProgramsNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_RequestResidentProgramsNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_FeedbackBuffer(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_FeedbackBuffer(struct __GLXclientStateRec *, @@ -872,12 +801,8 @@ extern _X_HIDDEN int __glXDisp_RenderLarge(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_RenderLarge(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttrib4dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PolygonOffset(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PolygonOffset(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_ExecuteProgramNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_ExecuteProgramNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Normal3dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Normal3dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Lightf(GLbyte * pc); @@ -890,23 +815,22 @@ extern _X_HIDDEN int __glXDispSwap_GetPixelMapusv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_Lighti(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Lighti(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetFramebufferAttachmentParameterivEXT(struct - __GLXclientStateRec - *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetFramebufferAttachmentParameterivEXT(struct - __GLXclientStateRec - *, - GLbyte - *); +extern _X_HIDDEN int __glXDisp_GenFramebuffers(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GenFramebuffers(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDisp_IsFramebuffer(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_IsFramebuffer(struct __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN int __glXDisp_ChangeDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_ChangeDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_MultiTexCoord4dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4dvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_BlendEquationSeparate(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_BlendEquationSeparate(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreatePbuffer(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CreatePbuffer(struct __GLXclientStateRec *, @@ -919,12 +843,12 @@ extern _X_HIDDEN void __glXDisp_MultMatrixd(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_MultMatrixd(GLbyte * pc); extern _X_HIDDEN void __glXDisp_MultMatrixf(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_MultMatrixf(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_CompressedTexImage1D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_CompressedTexImage1D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_MultiTexCoord4fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_RasterPos4sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RasterPos4sv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4NsvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4NsvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttrib3fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib3fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ClearColor(GLbyte * pc); @@ -932,12 +856,20 @@ extern _X_HIDDEN void __glXDispSwap_ClearColor(GLbyte * pc); extern _X_HIDDEN int __glXDisp_IsDirect(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_IsDirect(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_DeleteFramebuffersEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_DeleteFramebuffersEXT(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib1svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib1svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_SecondaryColor3ubv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SecondaryColor3ubv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_PointParameteri(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_PointParameteri(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_PointParameterf(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_PointParameterf(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexEnviv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexEnviv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexSubImage3D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexSubImage3D(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4iv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4iv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_SwapIntervalSGI(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_SwapIntervalSGI(struct __GLXclientStateRec *, @@ -954,6 +886,8 @@ extern _X_HIDDEN int __glXDisp_GetColorTableParameterfvSGI(struct extern _X_HIDDEN int __glXDispSwap_GetColorTableParameterfvSGI(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_FramebufferTexture2D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_FramebufferTexture2D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Bitmap(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Bitmap(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetTexLevelParameterfv(struct __GLXclientStateRec @@ -961,32 +895,25 @@ extern _X_HIDDEN int __glXDisp_GetTexLevelParameterfv(struct __GLXclientStateRec extern _X_HIDDEN int __glXDispSwap_GetTexLevelParameterfv(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GenFramebuffersEXT(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GenFramebuffersEXT(struct __GLXclientStateRec +extern _X_HIDDEN int __glXDisp_CheckFramebufferStatus(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetProgramParameterdvNV(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramParameterdvNV(struct - __GLXclientStateRec - *, GLbyte *); +extern _X_HIDDEN int __glXDispSwap_CheckFramebufferStatus(struct + __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN void __glXDisp_Vertex2sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex2sv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetIntegerv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetIntegerv(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_BindProgramARB(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_BindProgramARB(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetProgramEnvParameterfvARB(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetProgramEnvParameterfvARB(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetTrackMatrixivNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetTrackMatrixivNV(struct __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN void __glXDisp_VertexAttrib3svNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib3svNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetTexEnviv(struct __GLXclientStateRec *, @@ -1000,20 +927,16 @@ extern _X_HIDDEN int __glXDispSwap_VendorPrivateWithReply(struct GLbyte *); extern _X_HIDDEN void __glXDisp_SeparableFilter2D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_SeparableFilter2D(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetQueryObjectuiv(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GetQueryObjectuiv(struct __GLXclientStateRec + *, GLbyte *); extern _X_HIDDEN void __glXDisp_Map1d(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Map1d(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Map1f(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Map1f(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_CompressedTexImage2DARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_CompressedTexImage2DARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexImage2D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexImage2D(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_ProgramParameters4fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_ProgramParameters4fvNV(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetProgramivNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramivNV(struct __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN int __glXDisp_ChangeDrawableAttributes(struct __GLXclientStateRec *, GLbyte *); @@ -1039,12 +962,12 @@ extern _X_HIDDEN void __glXDisp_RasterPos2dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RasterPos2dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Fogiv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Fogiv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_EndQuery(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_EndQuery(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord1dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord1dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PixelTransferi(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PixelTransferi(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_SecondaryColor3ubvEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SecondaryColor3ubvEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttrib3fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib3fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Clear(GLbyte * pc); @@ -1053,6 +976,8 @@ extern _X_HIDDEN void __glXDisp_ReadBuffer(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ReadBuffer(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ConvolutionParameteri(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ConvolutionParameteri(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4sv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_LightModeli(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_LightModeli(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ListBase(GLbyte * pc); @@ -1077,18 +1002,20 @@ extern _X_HIDDEN int __glXDispSwap_ReleaseTexImageEXT(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_CallList(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_CallList(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttribs2fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttribs2fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_GenerateMipmap(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_GenerateMipmap(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Rectiv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Rectiv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_SecondaryColor3dvEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SecondaryColor3dvEXT(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord1iv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1iv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex2fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex2fv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_BindRenderbufferEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_BindRenderbufferEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex3sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex3sv(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetQueryObjectiv(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GetQueryObjectiv(struct __GLXclientStateRec + *, GLbyte *); extern _X_HIDDEN int __glXDisp_SetClientInfoARB(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_SetClientInfoARB(struct __GLXclientStateRec @@ -1099,26 +1026,14 @@ extern _X_HIDDEN int __glXDispSwap_BindTexImageEXT(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ProgramLocalParameter4fvARB(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_DeleteProgramsNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_DeleteProgramsNV(struct __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN void __glXDisp_EvalMesh1(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EvalMesh1(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttribs1fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttribs1fvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord1dvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1dvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_CompressedTexSubImage3D(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage3D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex2iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex2iv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetProgramStringNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN void __glXDisp_LineWidth(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_LineWidth(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib2fvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib2fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexGendv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexGendv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ResetMinmax(GLbyte * pc); @@ -1135,12 +1050,16 @@ extern _X_HIDDEN int __glXDisp_GetConvolutionParameterfvEXT(struct extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameterfvEXT(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttribs4dvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetMaterialfv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetMaterialfv(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_WindowPos3fv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_WindowPos3fv(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_DeleteProgramsARB(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_DeleteProgramsARB(struct __GLXclientStateRec + *, GLbyte *); extern _X_HIDDEN int __glXDisp_UseXFont(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_UseXFont(struct __GLXclientStateRec *, GLbyte *); @@ -1152,14 +1071,14 @@ extern _X_HIDDEN void __glXDisp_TexCoord3fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord3fv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_FogCoordfvEXT(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_FogCoordfvEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord1ivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1ivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord2ivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2ivARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_DrawArrays(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_DrawArrays(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_SampleCoverage(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SampleCoverage(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color3iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color3iv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4ubv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4ubv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetProgramLocalParameterdvARB(struct __GLXclientStateRec *, GLbyte *); @@ -1178,22 +1097,24 @@ extern _X_HIDDEN int __glXDisp_GetHistogramParameterivEXT(struct extern _X_HIDDEN int __glXDispSwap_GetHistogramParameterivEXT(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_PointParameteriv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_PointParameteriv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Rotatef(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Rotatef(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetProgramivARB(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetProgramivARB(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_BlendFuncSeparateEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_BlendFuncSeparateEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_ProgramParameters4dvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_ProgramParameters4dvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_BindRenderbuffer(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_BindRenderbuffer(GLbyte * pc); extern _X_HIDDEN void __glXDisp_EvalPoint2(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EvalPoint2(GLbyte * pc); extern _X_HIDDEN void __glXDisp_EvalPoint1(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EvalPoint1(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PopMatrix(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PopMatrix(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_DeleteFramebuffers(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_DeleteFramebuffers(GLbyte * pc); extern _X_HIDDEN int __glXDisp_MakeCurrentReadSGI(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_MakeCurrentReadSGI(struct __GLXclientStateRec @@ -1206,12 +1127,24 @@ extern _X_HIDDEN int __glXDisp_MakeCurrent(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_MakeCurrent(struct __GLXclientStateRec *, GLbyte *); +extern _X_HIDDEN void __glXDisp_FramebufferRenderbuffer(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_FramebufferRenderbuffer(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_IsProgramARB(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_IsProgramARB(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttrib4uiv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4uiv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4Nsv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nsv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Map2d(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Map2d(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Map2f(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Map2f(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ProgramStringARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ProgramStringARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4bv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4bv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetConvolutionFilter(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetConvolutionFilter(struct @@ -1223,12 +1156,8 @@ extern _X_HIDDEN int __glXDisp_GetConvolutionFilterEXT(struct extern _X_HIDDEN int __glXDispSwap_GetConvolutionFilterEXT(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GetCompressedTexImageARB(struct - __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetCompressedTexImageARB(struct - __GLXclientStateRec - *, GLbyte *); +extern _X_HIDDEN void __glXDisp_VertexAttribs4dvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetTexGenfv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetTexGenfv(struct __GLXclientStateRec *, @@ -1249,16 +1178,12 @@ extern _X_HIDDEN void __glXDisp_Materiali(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Materiali(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Indexsv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Indexsv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_MultiTexCoord4svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4svARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib1fvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib1fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_LightModelfv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_LightModelfv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexCoord2dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord2dv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GenQueriesARB(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GenQueriesARB(struct __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN void __glXDisp_EvalCoord1dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_EvalCoord1dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Translated(GLbyte * pc); @@ -1267,8 +1192,6 @@ extern _X_HIDDEN void __glXDisp_Translatef(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Translatef(GLbyte * pc); extern _X_HIDDEN void __glXDisp_StencilMask(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_StencilMask(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_ClampColorARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_ClampColorARB(GLbyte * pc); extern _X_HIDDEN int __glXDisp_CreateWindow(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_CreateWindow(struct __GLXclientStateRec *, @@ -1284,8 +1207,6 @@ extern _X_HIDDEN int __glXDisp_RenderMode(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_RenderMode(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_DrawBuffersARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_DrawBuffersARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_LoadName(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_LoadName(GLbyte * pc); extern _X_HIDDEN void __glXDisp_CopyTexSubImage1D(GLbyte * pc); @@ -1297,8 +1218,8 @@ extern _X_HIDDEN int __glXDisp_QueryContextInfoEXT(struct __GLXclientStateRec *, extern _X_HIDDEN int __glXDispSwap_QueryContextInfoEXT(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttribs3svNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttribs3svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttribs2fvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttribs2fvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_StencilFunc(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_StencilFunc(GLbyte * pc); extern _X_HIDDEN void __glXDisp_CopyPixels(GLbyte * pc); @@ -1309,12 +1230,14 @@ extern _X_HIDDEN void __glXDisp_CopyConvolutionFilter2D(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_CopyConvolutionFilter2D(GLbyte * pc); extern _X_HIDDEN void __glXDisp_TexParameterfv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexParameterfv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4uivARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4uivARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4Nubv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nubv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_ClipPlane(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_ClipPlane(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_TrackMatrixNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_TrackMatrixNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_SecondaryColor3usv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SecondaryColor3usv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord3dv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3dv(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetPixelMapuiv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetPixelMapuiv(struct __GLXclientStateRec *, @@ -1325,22 +1248,20 @@ extern _X_HIDDEN int __glXDisp_QueryContext(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_QueryContext(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_SecondaryColor3svEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_SecondaryColor3svEXT(GLbyte * pc); extern _X_HIDDEN void __glXDisp_MultiTexCoord3fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_BlitFramebuffer(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_BlitFramebuffer(GLbyte * pc); extern _X_HIDDEN void __glXDisp_IndexMask(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_IndexMask(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_BindProgramNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_BindProgramNV(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4svARB(GLbyte * pc); extern _X_HIDDEN int __glXDisp_GetFloatv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetFloatv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN void __glXDisp_TexCoord3sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord3sv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_FogCoorddv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_FogCoorddv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_PopAttrib(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_PopAttrib(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Fogfv(GLbyte * pc); @@ -1351,8 +1272,10 @@ extern _X_HIDDEN void __glXDisp_Normal3sv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Normal3sv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Minmax(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Minmax(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_FogCoorddvEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_FogCoorddvEXT(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_DeleteQueries(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_DeleteQueries(struct __GLXclientStateRec *, + GLbyte *); extern _X_HIDDEN int __glXDisp_GetBooleanv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetBooleanv(struct __GLXclientStateRec *, @@ -1361,29 +1284,12 @@ extern _X_HIDDEN void __glXDisp_Hint(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Hint(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Color4dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Color4dv(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib2svARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib2svARB(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_AreProgramsResidentNV(struct __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_AreProgramsResidentNV(struct - __GLXclientStateRec *, - GLbyte *); extern _X_HIDDEN void __glXDisp_CopyColorSubTable(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_CopyColorSubTable(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_DeleteRenderbuffersEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_DeleteRenderbuffersEXT(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttrib4NubvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4NubvARB(GLbyte * pc); extern _X_HIDDEN void __glXDisp_VertexAttrib3dvNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttrib3dvNV(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex4iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex4iv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetProgramEnvParameterdvARB(struct - __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetProgramEnvParameterdvARB(struct - __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN void __glXDisp_TexCoord4dv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_TexCoord4dv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Begin(GLbyte * pc); @@ -1408,12 +1314,6 @@ extern _X_HIDDEN void __glXDisp_Disable(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Disable(GLbyte * pc); extern _X_HIDDEN void __glXDisp_MultiTexCoord2fvARB(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_GetRenderbufferParameterivEXT(struct - __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GetRenderbufferParameterivEXT(struct - __GLXclientStateRec - *, GLbyte *); extern _X_HIDDEN int __glXDisp_SelectBuffer(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_SelectBuffer(struct __GLXclientStateRec *, @@ -1424,8 +1324,18 @@ extern _X_HIDDEN void __glXDisp_RasterPos4iv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_RasterPos4iv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Enable(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Enable(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GetRenderbufferParameteriv(struct + __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GetRenderbufferParameteriv(struct + __GLXclientStateRec + *, GLbyte *); extern _X_HIDDEN void __glXDisp_VertexAttribs4svNV(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_VertexAttribs4svNV(GLbyte * pc); +extern _X_HIDDEN int __glXDisp_GenRenderbuffers(struct __GLXclientStateRec *, + GLbyte *); +extern _X_HIDDEN int __glXDispSwap_GenRenderbuffers(struct __GLXclientStateRec + *, GLbyte *); extern _X_HIDDEN int __glXDisp_GetMinmaxParameterfv(struct __GLXclientStateRec *, GLbyte *); extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameterfv(struct @@ -1437,21 +1347,13 @@ extern _X_HIDDEN int __glXDisp_GetMinmaxParameterfvEXT(struct extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameterfvEXT(struct __GLXclientStateRec *, GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttrib1fvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib1fvARB(GLbyte * pc); -extern _X_HIDDEN void __glXDisp_VertexAttribs1svNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttribs1svNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_VertexAttrib4Nuiv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nuiv(GLbyte * pc); extern _X_HIDDEN void __glXDisp_Vertex3fv(GLbyte * pc); extern _X_HIDDEN void __glXDispSwap_Vertex3fv(GLbyte * pc); -extern _X_HIDDEN int __glXDisp_IsRenderbufferEXT(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_IsRenderbufferEXT(struct __GLXclientStateRec - *, GLbyte *); -extern _X_HIDDEN int __glXDisp_GenProgramsNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN int __glXDispSwap_GenProgramsNV(struct __GLXclientStateRec *, - GLbyte *); -extern _X_HIDDEN void __glXDisp_VertexAttrib4dvNV(GLbyte * pc); -extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_SecondaryColor3sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_SecondaryColor3sv(GLbyte * pc); +extern _X_HIDDEN void __glXDisp_MultiTexCoord2sv(GLbyte * pc); +extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2sv(GLbyte * pc); #endif /* !defined( _INDIRECT_DISPATCH_H_ ) */ diff --git a/xserver/glx/indirect_dispatch_swap.c b/xserver/glx/indirect_dispatch_swap.c index 80010b3f7..647d0c985 100644 --- a/xserver/glx/indirect_dispatch_swap.c +++ b/xserver/glx/indirect_dispatch_swap.c @@ -25,21 +25,14 @@ * SOFTWARE. */ -#include -#include -#include #include +#include "glxserver.h" #include "indirect_size.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" -#include "glxserver.h" #include "glxbyteorder.h" #include "indirect_util.h" #include "singlesize.h" -#include "glapi.h" -#include "glapitable.h" -#include "glthread.h" -#include "dispatch.h" #define __GLX_PAD(x) (((x) + 3) & ~3) @@ -176,9 +169,7 @@ __glXDispSwap_NewList(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_NewList(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (GLenum) bswap_ENUM(pc + 4) - )); + glNewList((GLuint) bswap_CARD32(pc + 0), (GLenum) bswap_ENUM(pc + 4)); error = Success; } @@ -195,7 +186,7 @@ __glXDispSwap_EndList(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_EndList(GET_DISPATCH(), ()); + glEndList(); error = Success; } @@ -205,8 +196,7 @@ __glXDispSwap_EndList(__GLXclientState * cl, GLbyte * pc) void __glXDispSwap_CallList(GLbyte * pc) { - CALL_CallList(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + glCallList((GLuint) bswap_CARD32(pc + 0)); } void @@ -237,7 +227,7 @@ __glXDispSwap_CallLists(GLbyte * pc) return; } - CALL_CallLists(GET_DISPATCH(), (n, type, lists)); + glCallLists(n, type, lists); } int @@ -250,9 +240,8 @@ __glXDispSwap_DeleteLists(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_DeleteLists(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (GLsizei) bswap_CARD32(pc + 4) - )); + glDeleteLists((GLuint) bswap_CARD32(pc + 0), + (GLsizei) bswap_CARD32(pc + 4)); error = Success; } @@ -271,8 +260,7 @@ __glXDispSwap_GenLists(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLuint retval; - retval = CALL_GenLists(GET_DISPATCH(), ((GLsizei) bswap_CARD32(pc + 0) - )); + retval = glGenLists((GLsizei) bswap_CARD32(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -283,15 +271,13 @@ __glXDispSwap_GenLists(__GLXclientState * cl, GLbyte * pc) void __glXDispSwap_ListBase(GLbyte * pc) { - CALL_ListBase(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + glListBase((GLuint) bswap_CARD32(pc + 0)); } void __glXDispSwap_Begin(GLbyte * pc) { - CALL_Begin(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glBegin((GLenum) bswap_ENUM(pc + 0)); } void @@ -300,33 +286,25 @@ __glXDispSwap_Bitmap(GLbyte * pc) const GLubyte *const bitmap = (const GLubyte *) ((pc + 44)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_Bitmap(GET_DISPATCH(), ((GLsizei) bswap_CARD32(pc + 20), - (GLsizei) bswap_CARD32(pc + 24), - (GLfloat) bswap_FLOAT32(pc + 28), - (GLfloat) bswap_FLOAT32(pc + 32), - (GLfloat) bswap_FLOAT32(pc + 36), - (GLfloat) bswap_FLOAT32(pc + 40), bitmap)); + glBitmap((GLsizei) bswap_CARD32(pc + 20), + (GLsizei) bswap_CARD32(pc + 24), + (GLfloat) bswap_FLOAT32(pc + 28), + (GLfloat) bswap_FLOAT32(pc + 32), + (GLfloat) bswap_FLOAT32(pc + 36), + (GLfloat) bswap_FLOAT32(pc + 40), bitmap); } void __glXDispSwap_Color3bv(GLbyte * pc) { - CALL_Color3bv(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); + glColor3bv((const GLbyte *) (pc + 0)); } void @@ -339,63 +317,49 @@ __glXDispSwap_Color3dv(GLbyte * pc) } #endif - CALL_Color3dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 3) - )); + glColor3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3)); } void __glXDispSwap_Color3fv(GLbyte * pc) { - CALL_Color3fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glColor3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_Color3iv(GLbyte * pc) { - CALL_Color3iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glColor3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_Color3sv(GLbyte * pc) { - CALL_Color3sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 3) - )); + glColor3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3)); } void __glXDispSwap_Color3ubv(GLbyte * pc) { - CALL_Color3ubv(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); + glColor3ubv((const GLubyte *) (pc + 0)); } void __glXDispSwap_Color3uiv(GLbyte * pc) { - CALL_Color3uiv(GET_DISPATCH(), ((const GLuint *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glColor3uiv((const GLuint *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_Color3usv(GLbyte * pc) { - CALL_Color3usv(GET_DISPATCH(), ((const GLushort *) - bswap_16_array((uint16_t *) (pc + 0), 3) - )); + glColor3usv((const GLushort *) bswap_16_array((uint16_t *) (pc + 0), 3)); } void __glXDispSwap_Color4bv(GLbyte * pc) { - CALL_Color4bv(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); + glColor4bv((const GLbyte *) (pc + 0)); } void @@ -408,69 +372,55 @@ __glXDispSwap_Color4dv(GLbyte * pc) } #endif - CALL_Color4dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 4) - )); + glColor4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4)); } void __glXDispSwap_Color4fv(GLbyte * pc) { - CALL_Color4fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glColor4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_Color4iv(GLbyte * pc) { - CALL_Color4iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glColor4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_Color4sv(GLbyte * pc) { - CALL_Color4sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 4) - )); + glColor4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4)); } void __glXDispSwap_Color4ubv(GLbyte * pc) { - CALL_Color4ubv(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); + glColor4ubv((const GLubyte *) (pc + 0)); } void __glXDispSwap_Color4uiv(GLbyte * pc) { - CALL_Color4uiv(GET_DISPATCH(), ((const GLuint *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glColor4uiv((const GLuint *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_Color4usv(GLbyte * pc) { - CALL_Color4usv(GET_DISPATCH(), ((const GLushort *) - bswap_16_array((uint16_t *) (pc + 0), 4) - )); + glColor4usv((const GLushort *) bswap_16_array((uint16_t *) (pc + 0), 4)); } void __glXDispSwap_EdgeFlagv(GLbyte * pc) { - CALL_EdgeFlagv(GET_DISPATCH(), ((const GLboolean *) (pc + 0) - )); + glEdgeFlagv((const GLboolean *) (pc + 0)); } void __glXDispSwap_End(GLbyte * pc) { - CALL_End(GET_DISPATCH(), ()); + glEnd(); } void @@ -483,40 +433,31 @@ __glXDispSwap_Indexdv(GLbyte * pc) } #endif - CALL_Indexdv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 1) - )); + glIndexdv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1)); } void __glXDispSwap_Indexfv(GLbyte * pc) { - CALL_Indexfv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 1) - )); + glIndexfv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1)); } void __glXDispSwap_Indexiv(GLbyte * pc) { - CALL_Indexiv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 1) - )); + glIndexiv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 1)); } void __glXDispSwap_Indexsv(GLbyte * pc) { - CALL_Indexsv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 1) - )); + glIndexsv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 1)); } void __glXDispSwap_Normal3bv(GLbyte * pc) { - CALL_Normal3bv(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); + glNormal3bv((const GLbyte *) (pc + 0)); } void @@ -529,33 +470,25 @@ __glXDispSwap_Normal3dv(GLbyte * pc) } #endif - CALL_Normal3dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 3) - )); + glNormal3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3)); } void __glXDispSwap_Normal3fv(GLbyte * pc) { - CALL_Normal3fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glNormal3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_Normal3iv(GLbyte * pc) { - CALL_Normal3iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glNormal3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_Normal3sv(GLbyte * pc) { - CALL_Normal3sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 3) - )); + glNormal3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3)); } void @@ -568,33 +501,25 @@ __glXDispSwap_RasterPos2dv(GLbyte * pc) } #endif - CALL_RasterPos2dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 2) - )); + glRasterPos2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2)); } void __glXDispSwap_RasterPos2fv(GLbyte * pc) { - CALL_RasterPos2fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 2) - )); + glRasterPos2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2)); } void __glXDispSwap_RasterPos2iv(GLbyte * pc) { - CALL_RasterPos2iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 2) - )); + glRasterPos2iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2)); } void __glXDispSwap_RasterPos2sv(GLbyte * pc) { - CALL_RasterPos2sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 2) - )); + glRasterPos2sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2)); } void @@ -607,33 +532,25 @@ __glXDispSwap_RasterPos3dv(GLbyte * pc) } #endif - CALL_RasterPos3dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 3) - )); + glRasterPos3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3)); } void __glXDispSwap_RasterPos3fv(GLbyte * pc) { - CALL_RasterPos3fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glRasterPos3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_RasterPos3iv(GLbyte * pc) { - CALL_RasterPos3iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glRasterPos3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_RasterPos3sv(GLbyte * pc) { - CALL_RasterPos3sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 3) - )); + glRasterPos3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3)); } void @@ -646,33 +563,25 @@ __glXDispSwap_RasterPos4dv(GLbyte * pc) } #endif - CALL_RasterPos4dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 4) - )); + glRasterPos4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4)); } void __glXDispSwap_RasterPos4fv(GLbyte * pc) { - CALL_RasterPos4fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glRasterPos4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_RasterPos4iv(GLbyte * pc) { - CALL_RasterPos4iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glRasterPos4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_RasterPos4sv(GLbyte * pc) { - CALL_RasterPos4sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 4) - )); + glRasterPos4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4)); } void @@ -685,41 +594,29 @@ __glXDispSwap_Rectdv(GLbyte * pc) } #endif - CALL_Rectdv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 2), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + 16), 2) - )); + glRectdv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 16), 2)); } void __glXDispSwap_Rectfv(GLbyte * pc) { - CALL_Rectfv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 2), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + 8), 2) - )); + glRectfv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), 2)); } void __glXDispSwap_Rectiv(GLbyte * pc) { - CALL_Rectiv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 2), - (const GLint *) - bswap_32_array((uint32_t *) (pc + 8), 2) - )); + glRectiv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2), + (const GLint *) bswap_32_array((uint32_t *) (pc + 8), 2)); } void __glXDispSwap_Rectsv(GLbyte * pc) { - CALL_Rectsv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 2), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + 4), 2) - )); + glRectsv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 2)); } void @@ -732,33 +629,25 @@ __glXDispSwap_TexCoord1dv(GLbyte * pc) } #endif - CALL_TexCoord1dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 1) - )); + glTexCoord1dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1)); } void __glXDispSwap_TexCoord1fv(GLbyte * pc) { - CALL_TexCoord1fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 1) - )); + glTexCoord1fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1)); } void __glXDispSwap_TexCoord1iv(GLbyte * pc) { - CALL_TexCoord1iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 1) - )); + glTexCoord1iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 1)); } void __glXDispSwap_TexCoord1sv(GLbyte * pc) { - CALL_TexCoord1sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 1) - )); + glTexCoord1sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 1)); } void @@ -771,33 +660,25 @@ __glXDispSwap_TexCoord2dv(GLbyte * pc) } #endif - CALL_TexCoord2dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 2) - )); + glTexCoord2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2)); } void __glXDispSwap_TexCoord2fv(GLbyte * pc) { - CALL_TexCoord2fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 2) - )); + glTexCoord2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2)); } void __glXDispSwap_TexCoord2iv(GLbyte * pc) { - CALL_TexCoord2iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 2) - )); + glTexCoord2iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2)); } void __glXDispSwap_TexCoord2sv(GLbyte * pc) { - CALL_TexCoord2sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 2) - )); + glTexCoord2sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2)); } void @@ -810,33 +691,25 @@ __glXDispSwap_TexCoord3dv(GLbyte * pc) } #endif - CALL_TexCoord3dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 3) - )); + glTexCoord3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3)); } void __glXDispSwap_TexCoord3fv(GLbyte * pc) { - CALL_TexCoord3fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glTexCoord3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_TexCoord3iv(GLbyte * pc) { - CALL_TexCoord3iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glTexCoord3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_TexCoord3sv(GLbyte * pc) { - CALL_TexCoord3sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 3) - )); + glTexCoord3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3)); } void @@ -849,33 +722,25 @@ __glXDispSwap_TexCoord4dv(GLbyte * pc) } #endif - CALL_TexCoord4dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 4) - )); + glTexCoord4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4)); } void __glXDispSwap_TexCoord4fv(GLbyte * pc) { - CALL_TexCoord4fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glTexCoord4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_TexCoord4iv(GLbyte * pc) { - CALL_TexCoord4iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glTexCoord4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_TexCoord4sv(GLbyte * pc) { - CALL_TexCoord4sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 4) - )); + glTexCoord4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4)); } void @@ -888,33 +753,25 @@ __glXDispSwap_Vertex2dv(GLbyte * pc) } #endif - CALL_Vertex2dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 2) - )); + glVertex2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2)); } void __glXDispSwap_Vertex2fv(GLbyte * pc) { - CALL_Vertex2fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 2) - )); + glVertex2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2)); } void __glXDispSwap_Vertex2iv(GLbyte * pc) { - CALL_Vertex2iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 2) - )); + glVertex2iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2)); } void __glXDispSwap_Vertex2sv(GLbyte * pc) { - CALL_Vertex2sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 2) - )); + glVertex2sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2)); } void @@ -927,33 +784,25 @@ __glXDispSwap_Vertex3dv(GLbyte * pc) } #endif - CALL_Vertex3dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 3) - )); + glVertex3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3)); } void __glXDispSwap_Vertex3fv(GLbyte * pc) { - CALL_Vertex3fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glVertex3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_Vertex3iv(GLbyte * pc) { - CALL_Vertex3iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 3) - )); + glVertex3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3)); } void __glXDispSwap_Vertex3sv(GLbyte * pc) { - CALL_Vertex3sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 3) - )); + glVertex3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3)); } void @@ -966,33 +815,25 @@ __glXDispSwap_Vertex4dv(GLbyte * pc) } #endif - CALL_Vertex4dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 4) - )); + glVertex4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4)); } void __glXDispSwap_Vertex4fv(GLbyte * pc) { - CALL_Vertex4fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glVertex4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_Vertex4iv(GLbyte * pc) { - CALL_Vertex4iv(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + 0), 4) - )); + glVertex4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4)); } void __glXDispSwap_Vertex4sv(GLbyte * pc) { - CALL_Vertex4sv(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + 0), 4) - )); + glVertex4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4)); } void @@ -1005,33 +846,26 @@ __glXDispSwap_ClipPlane(GLbyte * pc) } #endif - CALL_ClipPlane(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 32), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 4) - )); + glClipPlane((GLenum) bswap_ENUM(pc + 32), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4)); } void __glXDispSwap_ColorMaterial(GLbyte * pc) { - CALL_ColorMaterial(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4) - )); + glColorMaterial((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4)); } void __glXDispSwap_CullFace(GLbyte * pc) { - CALL_CullFace(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glCullFace((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_Fogf(GLbyte * pc) { - CALL_Fogf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); + glFogf((GLenum) bswap_ENUM(pc + 0), (GLfloat) bswap_FLOAT32(pc + 4)); } void @@ -1044,15 +878,13 @@ __glXDispSwap_Fogfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), __glFogfv_size(pname)); - CALL_Fogfv(GET_DISPATCH(), (pname, params)); + glFogfv(pname, params); } void __glXDispSwap_Fogi(GLbyte * pc) { - CALL_Fogi(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4) - )); + glFogi((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4)); } void @@ -1065,31 +897,26 @@ __glXDispSwap_Fogiv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 4), __glFogiv_size(pname)); - CALL_Fogiv(GET_DISPATCH(), (pname, params)); + glFogiv(pname, params); } void __glXDispSwap_FrontFace(GLbyte * pc) { - CALL_FrontFace(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glFrontFace((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_Hint(GLbyte * pc) { - CALL_Hint(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4) - )); + glHint((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4)); } void __glXDispSwap_Lightf(GLbyte * pc) { - CALL_Lightf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glLightf((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -1102,16 +929,14 @@ __glXDispSwap_Lightfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), __glLightfv_size(pname)); - CALL_Lightfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), pname, params)); + glLightfv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_Lighti(GLbyte * pc) { - CALL_Lighti(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8) - )); + glLighti((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8)); } void @@ -1124,15 +949,13 @@ __glXDispSwap_Lightiv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 8), __glLightiv_size(pname)); - CALL_Lightiv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), pname, params)); + glLightiv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_LightModelf(GLbyte * pc) { - CALL_LightModelf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); + glLightModelf((GLenum) bswap_ENUM(pc + 0), (GLfloat) bswap_FLOAT32(pc + 4)); } void @@ -1145,15 +968,13 @@ __glXDispSwap_LightModelfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), __glLightModelfv_size(pname)); - CALL_LightModelfv(GET_DISPATCH(), (pname, params)); + glLightModelfv(pname, params); } void __glXDispSwap_LightModeli(GLbyte * pc) { - CALL_LightModeli(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4) - )); + glLightModeli((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4)); } void @@ -1166,31 +987,27 @@ __glXDispSwap_LightModeliv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 4), __glLightModeliv_size(pname)); - CALL_LightModeliv(GET_DISPATCH(), (pname, params)); + glLightModeliv(pname, params); } void __glXDispSwap_LineStipple(GLbyte * pc) { - CALL_LineStipple(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLushort) bswap_CARD16(pc + 4) - )); + glLineStipple((GLint) bswap_CARD32(pc + 0), + (GLushort) bswap_CARD16(pc + 4)); } void __glXDispSwap_LineWidth(GLbyte * pc) { - CALL_LineWidth(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0) - )); + glLineWidth((GLfloat) bswap_FLOAT32(pc + 0)); } void __glXDispSwap_Materialf(GLbyte * pc) { - CALL_Materialf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glMaterialf((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -1203,17 +1020,14 @@ __glXDispSwap_Materialfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), __glMaterialfv_size(pname)); - CALL_Materialfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glMaterialfv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_Materiali(GLbyte * pc) { - CALL_Materiali(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8) - )); + glMateriali((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8)); } void @@ -1226,23 +1040,19 @@ __glXDispSwap_Materialiv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 8), __glMaterialiv_size(pname)); - CALL_Materialiv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glMaterialiv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_PointSize(GLbyte * pc) { - CALL_PointSize(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0) - )); + glPointSize((GLfloat) bswap_FLOAT32(pc + 0)); } void __glXDispSwap_PolygonMode(GLbyte * pc) { - CALL_PolygonMode(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4) - )); + glPolygonMode((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4)); } void @@ -1251,47 +1061,36 @@ __glXDispSwap_PolygonStipple(GLbyte * pc) const GLubyte *const mask = (const GLubyte *) ((pc + 20)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_PolygonStipple(GET_DISPATCH(), (mask)); + glPolygonStipple(mask); } void __glXDispSwap_Scissor(GLbyte * pc) { - CALL_Scissor(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLsizei) bswap_CARD32(pc + 8), - (GLsizei) bswap_CARD32(pc + 12) - )); + glScissor((GLint) bswap_CARD32(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLsizei) bswap_CARD32(pc + 8), (GLsizei) bswap_CARD32(pc + 12)); } void __glXDispSwap_ShadeModel(GLbyte * pc) { - CALL_ShadeModel(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glShadeModel((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_TexParameterf(GLbyte * pc) { - CALL_TexParameterf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glTexParameterf((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -1304,17 +1103,14 @@ __glXDispSwap_TexParameterfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), __glTexParameterfv_size(pname)); - CALL_TexParameterfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glTexParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_TexParameteri(GLbyte * pc) { - CALL_TexParameteri(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8) - )); + glTexParameteri((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8)); } void @@ -1327,8 +1123,7 @@ __glXDispSwap_TexParameteriv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 8), __glTexParameteriv_size(pname)); - CALL_TexParameteriv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glTexParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); } void @@ -1337,28 +1132,21 @@ __glXDispSwap_TexImage1D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 52)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_TexImage1D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLint) bswap_CARD32(pc + 24), - (GLint) bswap_CARD32(pc + 28), - (GLsizei) bswap_CARD32(pc + 32), - (GLint) bswap_CARD32(pc + 40), - (GLenum) bswap_ENUM(pc + 44), - (GLenum) bswap_ENUM(pc + 48), pixels)); + glTexImage1D((GLenum) bswap_ENUM(pc + 20), + (GLint) bswap_CARD32(pc + 24), + (GLint) bswap_CARD32(pc + 28), + (GLsizei) bswap_CARD32(pc + 32), + (GLint) bswap_CARD32(pc + 40), + (GLenum) bswap_ENUM(pc + 44), + (GLenum) bswap_ENUM(pc + 48), pixels); } void @@ -1367,38 +1155,29 @@ __glXDispSwap_TexImage2D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 52)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_TexImage2D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLint) bswap_CARD32(pc + 24), - (GLint) bswap_CARD32(pc + 28), - (GLsizei) bswap_CARD32(pc + 32), - (GLsizei) bswap_CARD32(pc + 36), - (GLint) bswap_CARD32(pc + 40), - (GLenum) bswap_ENUM(pc + 44), - (GLenum) bswap_ENUM(pc + 48), pixels)); + glTexImage2D((GLenum) bswap_ENUM(pc + 20), + (GLint) bswap_CARD32(pc + 24), + (GLint) bswap_CARD32(pc + 28), + (GLsizei) bswap_CARD32(pc + 32), + (GLsizei) bswap_CARD32(pc + 36), + (GLint) bswap_CARD32(pc + 40), + (GLenum) bswap_ENUM(pc + 44), + (GLenum) bswap_ENUM(pc + 48), pixels); } void __glXDispSwap_TexEnvf(GLbyte * pc) { - CALL_TexEnvf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glTexEnvf((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -1411,16 +1190,14 @@ __glXDispSwap_TexEnvfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), __glTexEnvfv_size(pname)); - CALL_TexEnvfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), pname, params)); + glTexEnvfv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_TexEnvi(GLbyte * pc) { - CALL_TexEnvi(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8) - )); + glTexEnvi((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8)); } void @@ -1433,7 +1210,7 @@ __glXDispSwap_TexEnviv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 8), __glTexEnviv_size(pname)); - CALL_TexEnviv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), pname, params)); + glTexEnviv((GLenum) bswap_ENUM(pc + 0), pname, params); } void @@ -1446,10 +1223,8 @@ __glXDispSwap_TexGend(GLbyte * pc) } #endif - CALL_TexGend(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 8), - (GLenum) bswap_ENUM(pc + 12), - (GLdouble) bswap_FLOAT64(pc + 0) - )); + glTexGend((GLenum) bswap_ENUM(pc + 8), + (GLenum) bswap_ENUM(pc + 12), (GLdouble) bswap_FLOAT64(pc + 0)); } void @@ -1472,16 +1247,14 @@ __glXDispSwap_TexGendv(GLbyte * pc) (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8), __glTexGendv_size(pname)); - CALL_TexGendv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), pname, params)); + glTexGendv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_TexGenf(GLbyte * pc) { - CALL_TexGenf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glTexGenf((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -1494,16 +1267,14 @@ __glXDispSwap_TexGenfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), __glTexGenfv_size(pname)); - CALL_TexGenfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), pname, params)); + glTexGenfv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_TexGeni(GLbyte * pc) { - CALL_TexGeni(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8) - )); + glTexGeni((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8)); } void @@ -1516,88 +1287,79 @@ __glXDispSwap_TexGeniv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 8), __glTexGeniv_size(pname)); - CALL_TexGeniv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), pname, params)); + glTexGeniv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_InitNames(GLbyte * pc) { - CALL_InitNames(GET_DISPATCH(), ()); + glInitNames(); } void __glXDispSwap_LoadName(GLbyte * pc) { - CALL_LoadName(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + glLoadName((GLuint) bswap_CARD32(pc + 0)); } void __glXDispSwap_PassThrough(GLbyte * pc) { - CALL_PassThrough(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0) - )); + glPassThrough((GLfloat) bswap_FLOAT32(pc + 0)); } void __glXDispSwap_PopName(GLbyte * pc) { - CALL_PopName(GET_DISPATCH(), ()); + glPopName(); } void __glXDispSwap_PushName(GLbyte * pc) { - CALL_PushName(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + glPushName((GLuint) bswap_CARD32(pc + 0)); } void __glXDispSwap_DrawBuffer(GLbyte * pc) { - CALL_DrawBuffer(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glDrawBuffer((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_Clear(GLbyte * pc) { - CALL_Clear(GET_DISPATCH(), ((GLbitfield) bswap_CARD32(pc + 0) - )); + glClear((GLbitfield) bswap_CARD32(pc + 0)); } void __glXDispSwap_ClearAccum(GLbyte * pc) { - CALL_ClearAccum(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8), - (GLfloat) bswap_FLOAT32(pc + 12) - )); + glClearAccum((GLfloat) bswap_FLOAT32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4), + (GLfloat) bswap_FLOAT32(pc + 8), + (GLfloat) bswap_FLOAT32(pc + 12)); } void __glXDispSwap_ClearIndex(GLbyte * pc) { - CALL_ClearIndex(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0) - )); + glClearIndex((GLfloat) bswap_FLOAT32(pc + 0)); } void __glXDispSwap_ClearColor(GLbyte * pc) { - CALL_ClearColor(GET_DISPATCH(), ((GLclampf) bswap_FLOAT32(pc + 0), - (GLclampf) bswap_FLOAT32(pc + 4), - (GLclampf) bswap_FLOAT32(pc + 8), - (GLclampf) bswap_FLOAT32(pc + 12) - )); + glClearColor((GLclampf) bswap_FLOAT32(pc + 0), + (GLclampf) bswap_FLOAT32(pc + 4), + (GLclampf) bswap_FLOAT32(pc + 8), + (GLclampf) bswap_FLOAT32(pc + 12)); } void __glXDispSwap_ClearStencil(GLbyte * pc) { - CALL_ClearStencil(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0) - )); + glClearStencil((GLint) bswap_CARD32(pc + 0)); } void @@ -1610,74 +1372,63 @@ __glXDispSwap_ClearDepth(GLbyte * pc) } #endif - CALL_ClearDepth(GET_DISPATCH(), ((GLclampd) bswap_FLOAT64(pc + 0) - )); + glClearDepth((GLclampd) bswap_FLOAT64(pc + 0)); } void __glXDispSwap_StencilMask(GLbyte * pc) { - CALL_StencilMask(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + glStencilMask((GLuint) bswap_CARD32(pc + 0)); } void __glXDispSwap_ColorMask(GLbyte * pc) { - CALL_ColorMask(GET_DISPATCH(), (*(GLboolean *) (pc + 0), - *(GLboolean *) (pc + 1), - *(GLboolean *) (pc + 2), - *(GLboolean *) (pc + 3) - )); + glColorMask(*(GLboolean *) (pc + 0), + *(GLboolean *) (pc + 1), + *(GLboolean *) (pc + 2), *(GLboolean *) (pc + 3)); } void __glXDispSwap_DepthMask(GLbyte * pc) { - CALL_DepthMask(GET_DISPATCH(), (*(GLboolean *) (pc + 0) - )); + glDepthMask(*(GLboolean *) (pc + 0)); } void __glXDispSwap_IndexMask(GLbyte * pc) { - CALL_IndexMask(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + glIndexMask((GLuint) bswap_CARD32(pc + 0)); } void __glXDispSwap_Accum(GLbyte * pc) { - CALL_Accum(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); + glAccum((GLenum) bswap_ENUM(pc + 0), (GLfloat) bswap_FLOAT32(pc + 4)); } void __glXDispSwap_Disable(GLbyte * pc) { - CALL_Disable(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glDisable((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_Enable(GLbyte * pc) { - CALL_Enable(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glEnable((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_PopAttrib(GLbyte * pc) { - CALL_PopAttrib(GET_DISPATCH(), ()); + glPopAttrib(); } void __glXDispSwap_PushAttrib(GLbyte * pc) { - CALL_PushAttrib(GET_DISPATCH(), ((GLbitfield) bswap_CARD32(pc + 0) - )); + glPushAttrib((GLbitfield) bswap_CARD32(pc + 0)); } void @@ -1690,19 +1441,17 @@ __glXDispSwap_MapGrid1d(GLbyte * pc) } #endif - CALL_MapGrid1d(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 16), - (GLdouble) bswap_FLOAT64(pc + 0), - (GLdouble) bswap_FLOAT64(pc + 8) - )); + glMapGrid1d((GLint) bswap_CARD32(pc + 16), + (GLdouble) bswap_FLOAT64(pc + 0), + (GLdouble) bswap_FLOAT64(pc + 8)); } void __glXDispSwap_MapGrid1f(GLbyte * pc) { - CALL_MapGrid1f(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glMapGrid1f((GLint) bswap_CARD32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4), + (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -1715,25 +1464,23 @@ __glXDispSwap_MapGrid2d(GLbyte * pc) } #endif - CALL_MapGrid2d(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 32), - (GLdouble) bswap_FLOAT64(pc + 0), - (GLdouble) bswap_FLOAT64(pc + 8), - (GLint) bswap_CARD32(pc + 36), - (GLdouble) bswap_FLOAT64(pc + 16), - (GLdouble) bswap_FLOAT64(pc + 24) - )); + glMapGrid2d((GLint) bswap_CARD32(pc + 32), + (GLdouble) bswap_FLOAT64(pc + 0), + (GLdouble) bswap_FLOAT64(pc + 8), + (GLint) bswap_CARD32(pc + 36), + (GLdouble) bswap_FLOAT64(pc + 16), + (GLdouble) bswap_FLOAT64(pc + 24)); } void __glXDispSwap_MapGrid2f(GLbyte * pc) { - CALL_MapGrid2f(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLfloat) bswap_FLOAT32(pc + 16), - (GLfloat) bswap_FLOAT32(pc + 20) - )); + glMapGrid2f((GLint) bswap_CARD32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4), + (GLfloat) bswap_FLOAT32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLfloat) bswap_FLOAT32(pc + 16), + (GLfloat) bswap_FLOAT32(pc + 20)); } void @@ -1746,17 +1493,13 @@ __glXDispSwap_EvalCoord1dv(GLbyte * pc) } #endif - CALL_EvalCoord1dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 1) - )); + glEvalCoord1dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1)); } void __glXDispSwap_EvalCoord1fv(GLbyte * pc) { - CALL_EvalCoord1fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 1) - )); + glEvalCoord1fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1)); } void @@ -1769,124 +1512,99 @@ __glXDispSwap_EvalCoord2dv(GLbyte * pc) } #endif - CALL_EvalCoord2dv(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 2) - )); + glEvalCoord2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2)); } void __glXDispSwap_EvalCoord2fv(GLbyte * pc) { - CALL_EvalCoord2fv(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 2) - )); + glEvalCoord2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2)); } void __glXDispSwap_EvalMesh1(GLbyte * pc) { - CALL_EvalMesh1(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLint) bswap_CARD32(pc + 8) - )); + glEvalMesh1((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), (GLint) bswap_CARD32(pc + 8)); } void __glXDispSwap_EvalPoint1(GLbyte * pc) { - CALL_EvalPoint1(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0) - )); + glEvalPoint1((GLint) bswap_CARD32(pc + 0)); } void __glXDispSwap_EvalMesh2(GLbyte * pc) { - CALL_EvalMesh2(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLint) bswap_CARD32(pc + 16) - )); + glEvalMesh2((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), (GLint) bswap_CARD32(pc + 16)); } void __glXDispSwap_EvalPoint2(GLbyte * pc) { - CALL_EvalPoint2(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLint) bswap_CARD32(pc + 4) - )); + glEvalPoint2((GLint) bswap_CARD32(pc + 0), (GLint) bswap_CARD32(pc + 4)); } void __glXDispSwap_AlphaFunc(GLbyte * pc) { - CALL_AlphaFunc(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLclampf) bswap_FLOAT32(pc + 4) - )); + glAlphaFunc((GLenum) bswap_ENUM(pc + 0), (GLclampf) bswap_FLOAT32(pc + 4)); } void __glXDispSwap_BlendFunc(GLbyte * pc) { - CALL_BlendFunc(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4) - )); + glBlendFunc((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4)); } void __glXDispSwap_LogicOp(GLbyte * pc) { - CALL_LogicOp(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glLogicOp((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_StencilFunc(GLbyte * pc) { - CALL_StencilFunc(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLuint) bswap_CARD32(pc + 8) - )); + glStencilFunc((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), (GLuint) bswap_CARD32(pc + 8)); } void __glXDispSwap_StencilOp(GLbyte * pc) { - CALL_StencilOp(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLenum) bswap_ENUM(pc + 8) - )); + glStencilOp((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), (GLenum) bswap_ENUM(pc + 8)); } void __glXDispSwap_DepthFunc(GLbyte * pc) { - CALL_DepthFunc(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glDepthFunc((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_PixelZoom(GLbyte * pc) { - CALL_PixelZoom(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); + glPixelZoom((GLfloat) bswap_FLOAT32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4)); } void __glXDispSwap_PixelTransferf(GLbyte * pc) { - CALL_PixelTransferf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); + glPixelTransferf((GLenum) bswap_ENUM(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4)); } void __glXDispSwap_PixelTransferi(GLbyte * pc) { - CALL_PixelTransferi(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4) - )); + glPixelTransferi((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4)); } int @@ -1899,9 +1617,8 @@ __glXDispSwap_PixelStoref(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_PixelStoref(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); + glPixelStoref((GLenum) bswap_ENUM(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4)); error = Success; } @@ -1918,9 +1635,8 @@ __glXDispSwap_PixelStorei(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { - CALL_PixelStorei(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4) - )); + glPixelStorei((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4)); error = Success; } @@ -1932,11 +1648,9 @@ __glXDispSwap_PixelMapfv(GLbyte * pc) { const GLsizei mapsize = (GLsizei) bswap_CARD32(pc + 4); - CALL_PixelMapfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - mapsize, - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + 8), 0) - )); + glPixelMapfv((GLenum) bswap_ENUM(pc + 0), + mapsize, + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), 0)); } void @@ -1944,11 +1658,9 @@ __glXDispSwap_PixelMapuiv(GLbyte * pc) { const GLsizei mapsize = (GLsizei) bswap_CARD32(pc + 4); - CALL_PixelMapuiv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - mapsize, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + 8), 0) - )); + glPixelMapuiv((GLenum) bswap_ENUM(pc + 0), + mapsize, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 8), 0)); } void @@ -1956,29 +1668,24 @@ __glXDispSwap_PixelMapusv(GLbyte * pc) { const GLsizei mapsize = (GLsizei) bswap_CARD32(pc + 4); - CALL_PixelMapusv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - mapsize, - (const GLushort *) - bswap_16_array((uint16_t *) (pc + 8), 0) - )); + glPixelMapusv((GLenum) bswap_ENUM(pc + 0), + mapsize, + (const GLushort *) bswap_16_array((uint16_t *) (pc + 8), 0)); } void __glXDispSwap_ReadBuffer(GLbyte * pc) { - CALL_ReadBuffer(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glReadBuffer((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_CopyPixels(GLbyte * pc) { - CALL_CopyPixels(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLsizei) bswap_CARD32(pc + 8), - (GLsizei) bswap_CARD32(pc + 12), - (GLenum) bswap_ENUM(pc + 16) - )); + glCopyPixels((GLint) bswap_CARD32(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLsizei) bswap_CARD32(pc + 8), + (GLsizei) bswap_CARD32(pc + 12), (GLenum) bswap_ENUM(pc + 16)); } void @@ -1987,25 +1694,18 @@ __glXDispSwap_DrawPixels(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 36)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_DrawPixels(GET_DISPATCH(), ((GLsizei) bswap_CARD32(pc + 20), - (GLsizei) bswap_CARD32(pc + 24), - (GLenum) bswap_ENUM(pc + 28), - (GLenum) bswap_ENUM(pc + 32), pixels)); + glDrawPixels((GLsizei) bswap_CARD32(pc + 20), + (GLsizei) bswap_CARD32(pc + 24), + (GLenum) bswap_ENUM(pc + 28), + (GLenum) bswap_ENUM(pc + 32), pixels); } int @@ -2030,7 +1730,7 @@ __glXDispSwap_GetBooleanv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetBooleanv(GET_DISPATCH(), (pname, params)); + glGetBooleanv(pname, params); __glXSendReplySwap(cl->client, params, compsize, 1, GL_FALSE, 0); error = Success; } @@ -2050,8 +1750,7 @@ __glXDispSwap_GetClipPlane(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLdouble equation[4]; - CALL_GetClipPlane(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - equation)); + glGetClipPlane((GLenum) bswap_ENUM(pc + 0), equation); (void) bswap_64_array((uint64_t *) equation, 4); __glXSendReplySwap(cl->client, equation, 4, 8, GL_TRUE, 0); error = Success; @@ -2082,7 +1781,7 @@ __glXDispSwap_GetDoublev(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetDoublev(GET_DISPATCH(), (pname, params)); + glGetDoublev(pname, params); (void) bswap_64_array((uint64_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0); error = Success; @@ -2103,7 +1802,7 @@ __glXDispSwap_GetError(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLenum retval; - retval = CALL_GetError(GET_DISPATCH(), ()); + retval = glGetError(); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -2133,7 +1832,7 @@ __glXDispSwap_GetFloatv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetFloatv(GET_DISPATCH(), (pname, params)); + glGetFloatv(pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2164,7 +1863,7 @@ __glXDispSwap_GetIntegerv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetIntegerv(GET_DISPATCH(), (pname, params)); + glGetIntegerv(pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2195,8 +1894,7 @@ __glXDispSwap_GetLightfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetLightfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetLightfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2227,8 +1925,7 @@ __glXDispSwap_GetLightiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetLightiv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetLightiv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2260,7 +1957,7 @@ __glXDispSwap_GetMapdv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMapdv(GET_DISPATCH(), (target, query, v)); + glGetMapdv(target, query, v); (void) bswap_64_array((uint64_t *) v, compsize); __glXSendReplySwap(cl->client, v, compsize, 8, GL_FALSE, 0); error = Success; @@ -2292,7 +1989,7 @@ __glXDispSwap_GetMapfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMapfv(GET_DISPATCH(), (target, query, v)); + glGetMapfv(target, query, v); (void) bswap_32_array((uint32_t *) v, compsize); __glXSendReplySwap(cl->client, v, compsize, 4, GL_FALSE, 0); error = Success; @@ -2324,7 +2021,7 @@ __glXDispSwap_GetMapiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMapiv(GET_DISPATCH(), (target, query, v)); + glGetMapiv(target, query, v); (void) bswap_32_array((uint32_t *) v, compsize); __glXSendReplySwap(cl->client, v, compsize, 4, GL_FALSE, 0); error = Success; @@ -2355,8 +2052,7 @@ __glXDispSwap_GetMaterialfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMaterialfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetMaterialfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2387,8 +2083,7 @@ __glXDispSwap_GetMaterialiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMaterialiv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetMaterialiv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2419,7 +2114,7 @@ __glXDispSwap_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetPixelMapfv(GET_DISPATCH(), (map, values)); + glGetPixelMapfv(map, values); (void) bswap_32_array((uint32_t *) values, compsize); __glXSendReplySwap(cl->client, values, compsize, 4, GL_FALSE, 0); error = Success; @@ -2450,7 +2145,7 @@ __glXDispSwap_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetPixelMapuiv(GET_DISPATCH(), (map, values)); + glGetPixelMapuiv(map, values); (void) bswap_32_array((uint32_t *) values, compsize); __glXSendReplySwap(cl->client, values, compsize, 4, GL_FALSE, 0); error = Success; @@ -2481,7 +2176,7 @@ __glXDispSwap_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetPixelMapusv(GET_DISPATCH(), (map, values)); + glGetPixelMapusv(map, values); (void) bswap_16_array((uint16_t *) values, compsize); __glXSendReplySwap(cl->client, values, compsize, 2, GL_FALSE, 0); error = Success; @@ -2512,8 +2207,7 @@ __glXDispSwap_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexEnvfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetTexEnvfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2544,8 +2238,7 @@ __glXDispSwap_GetTexEnviv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexEnviv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetTexEnviv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2576,8 +2269,7 @@ __glXDispSwap_GetTexGendv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexGendv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetTexGendv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_64_array((uint64_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0); error = Success; @@ -2608,8 +2300,7 @@ __glXDispSwap_GetTexGenfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexGenfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetTexGenfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2640,8 +2331,7 @@ __glXDispSwap_GetTexGeniv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexGeniv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetTexGeniv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2672,8 +2362,7 @@ __glXDispSwap_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexParameterfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetTexParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2704,8 +2393,7 @@ __glXDispSwap_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexParameteriv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetTexParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2736,11 +2424,8 @@ __glXDispSwap_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexLevelParameterfv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + - 4), - pname, params)); + glGetTexLevelParameterfv((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2771,11 +2456,8 @@ __glXDispSwap_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetTexLevelParameteriv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + - 4), - pname, params)); + glGetTexLevelParameteriv((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -2796,8 +2478,7 @@ __glXDispSwap_IsEnabled(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsEnabled(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + retval = glIsEnabled((GLenum) bswap_ENUM(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -2817,8 +2498,7 @@ __glXDispSwap_IsList(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsList(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + retval = glIsList((GLuint) bswap_CARD32(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -2836,9 +2516,8 @@ __glXDispSwap_DepthRange(GLbyte * pc) } #endif - CALL_DepthRange(GET_DISPATCH(), ((GLclampd) bswap_FLOAT64(pc + 0), - (GLclampd) bswap_FLOAT64(pc + 8) - )); + glDepthRange((GLclampd) bswap_FLOAT64(pc + 0), + (GLclampd) bswap_FLOAT64(pc + 8)); } void @@ -2851,27 +2530,24 @@ __glXDispSwap_Frustum(GLbyte * pc) } #endif - CALL_Frustum(GET_DISPATCH(), ((GLdouble) bswap_FLOAT64(pc + 0), - (GLdouble) bswap_FLOAT64(pc + 8), - (GLdouble) bswap_FLOAT64(pc + 16), - (GLdouble) bswap_FLOAT64(pc + 24), - (GLdouble) bswap_FLOAT64(pc + 32), - (GLdouble) bswap_FLOAT64(pc + 40) - )); + glFrustum((GLdouble) bswap_FLOAT64(pc + 0), + (GLdouble) bswap_FLOAT64(pc + 8), + (GLdouble) bswap_FLOAT64(pc + 16), + (GLdouble) bswap_FLOAT64(pc + 24), + (GLdouble) bswap_FLOAT64(pc + 32), + (GLdouble) bswap_FLOAT64(pc + 40)); } void __glXDispSwap_LoadIdentity(GLbyte * pc) { - CALL_LoadIdentity(GET_DISPATCH(), ()); + glLoadIdentity(); } void __glXDispSwap_LoadMatrixf(GLbyte * pc) { - CALL_LoadMatrixf(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 16) - )); + glLoadMatrixf((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 16)); } void @@ -2884,24 +2560,19 @@ __glXDispSwap_LoadMatrixd(GLbyte * pc) } #endif - CALL_LoadMatrixd(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 16) - )); + glLoadMatrixd((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 16)); } void __glXDispSwap_MatrixMode(GLbyte * pc) { - CALL_MatrixMode(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glMatrixMode((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_MultMatrixf(GLbyte * pc) { - CALL_MultMatrixf(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 16) - )); + glMultMatrixf((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 16)); } void @@ -2914,9 +2585,7 @@ __glXDispSwap_MultMatrixd(GLbyte * pc) } #endif - CALL_MultMatrixd(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 16) - )); + glMultMatrixd((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 16)); } void @@ -2929,25 +2598,24 @@ __glXDispSwap_Ortho(GLbyte * pc) } #endif - CALL_Ortho(GET_DISPATCH(), ((GLdouble) bswap_FLOAT64(pc + 0), - (GLdouble) bswap_FLOAT64(pc + 8), - (GLdouble) bswap_FLOAT64(pc + 16), - (GLdouble) bswap_FLOAT64(pc + 24), - (GLdouble) bswap_FLOAT64(pc + 32), - (GLdouble) bswap_FLOAT64(pc + 40) - )); + glOrtho((GLdouble) bswap_FLOAT64(pc + 0), + (GLdouble) bswap_FLOAT64(pc + 8), + (GLdouble) bswap_FLOAT64(pc + 16), + (GLdouble) bswap_FLOAT64(pc + 24), + (GLdouble) bswap_FLOAT64(pc + 32), + (GLdouble) bswap_FLOAT64(pc + 40)); } void __glXDispSwap_PopMatrix(GLbyte * pc) { - CALL_PopMatrix(GET_DISPATCH(), ()); + glPopMatrix(); } void __glXDispSwap_PushMatrix(GLbyte * pc) { - CALL_PushMatrix(GET_DISPATCH(), ()); + glPushMatrix(); } void @@ -2960,21 +2628,19 @@ __glXDispSwap_Rotated(GLbyte * pc) } #endif - CALL_Rotated(GET_DISPATCH(), ((GLdouble) bswap_FLOAT64(pc + 0), - (GLdouble) bswap_FLOAT64(pc + 8), - (GLdouble) bswap_FLOAT64(pc + 16), - (GLdouble) bswap_FLOAT64(pc + 24) - )); + glRotated((GLdouble) bswap_FLOAT64(pc + 0), + (GLdouble) bswap_FLOAT64(pc + 8), + (GLdouble) bswap_FLOAT64(pc + 16), + (GLdouble) bswap_FLOAT64(pc + 24)); } void __glXDispSwap_Rotatef(GLbyte * pc) { - CALL_Rotatef(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8), - (GLfloat) bswap_FLOAT32(pc + 12) - )); + glRotatef((GLfloat) bswap_FLOAT32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4), + (GLfloat) bswap_FLOAT32(pc + 8), + (GLfloat) bswap_FLOAT32(pc + 12)); } void @@ -2987,19 +2653,16 @@ __glXDispSwap_Scaled(GLbyte * pc) } #endif - CALL_Scaled(GET_DISPATCH(), ((GLdouble) bswap_FLOAT64(pc + 0), - (GLdouble) bswap_FLOAT64(pc + 8), - (GLdouble) bswap_FLOAT64(pc + 16) - )); + glScaled((GLdouble) bswap_FLOAT64(pc + 0), + (GLdouble) bswap_FLOAT64(pc + 8), + (GLdouble) bswap_FLOAT64(pc + 16)); } void __glXDispSwap_Scalef(GLbyte * pc) { - CALL_Scalef(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glScalef((GLfloat) bswap_FLOAT32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -3012,52 +2675,44 @@ __glXDispSwap_Translated(GLbyte * pc) } #endif - CALL_Translated(GET_DISPATCH(), ((GLdouble) bswap_FLOAT64(pc + 0), - (GLdouble) bswap_FLOAT64(pc + 8), - (GLdouble) bswap_FLOAT64(pc + 16) - )); + glTranslated((GLdouble) bswap_FLOAT64(pc + 0), + (GLdouble) bswap_FLOAT64(pc + 8), + (GLdouble) bswap_FLOAT64(pc + 16)); } void __glXDispSwap_Translatef(GLbyte * pc) { - CALL_Translatef(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glTranslatef((GLfloat) bswap_FLOAT32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4), + (GLfloat) bswap_FLOAT32(pc + 8)); } void __glXDispSwap_Viewport(GLbyte * pc) { - CALL_Viewport(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLsizei) bswap_CARD32(pc + 8), - (GLsizei) bswap_CARD32(pc + 12) - )); + glViewport((GLint) bswap_CARD32(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLsizei) bswap_CARD32(pc + 8), (GLsizei) bswap_CARD32(pc + 12)); } void __glXDispSwap_BindTexture(GLbyte * pc) { - CALL_BindTexture(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4) - )); + glBindTexture((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4)); } void __glXDispSwap_Indexubv(GLbyte * pc) { - CALL_Indexubv(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); + glIndexubv((const GLubyte *) (pc + 0)); } void __glXDispSwap_PolygonOffset(GLbyte * pc) { - CALL_PolygonOffset(GET_DISPATCH(), ((GLfloat) bswap_FLOAT32(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); + glPolygonOffset((GLfloat) bswap_FLOAT32(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4)); } int @@ -3077,11 +2732,10 @@ __glXDispSwap_AreTexturesResident(__GLXclientState * cl, GLbyte * pc) GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); retval = - CALL_AreTexturesResident(GET_DISPATCH(), - (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + 4), 0), - residences)); + glAreTexturesResident(n, + (const GLuint *) + bswap_32_array((uint32_t *) (pc + 4), 0), + residences); __glXSendReplySwap(cl->client, residences, n, 1, GL_TRUE, retval); error = Success; } @@ -3106,11 +2760,10 @@ __glXDispSwap_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc) GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); retval = - CALL_AreTexturesResident(GET_DISPATCH(), - (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + 4), 0), - residences)); + glAreTexturesResident(n, + (const GLuint *) + bswap_32_array((uint32_t *) (pc + 4), 0), + residences); __glXSendReplySwap(cl->client, residences, n, 1, GL_TRUE, retval); error = Success; } @@ -3121,54 +2774,50 @@ __glXDispSwap_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc) void __glXDispSwap_CopyTexImage1D(GLbyte * pc) { - CALL_CopyTexImage1D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLint) bswap_CARD32(pc + 16), - (GLsizei) bswap_CARD32(pc + 20), - (GLint) bswap_CARD32(pc + 24) - )); + glCopyTexImage1D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLsizei) bswap_CARD32(pc + 20), + (GLint) bswap_CARD32(pc + 24)); } void __glXDispSwap_CopyTexImage2D(GLbyte * pc) { - CALL_CopyTexImage2D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLint) bswap_CARD32(pc + 16), - (GLsizei) bswap_CARD32(pc + 20), - (GLsizei) bswap_CARD32(pc + 24), - (GLint) bswap_CARD32(pc + 28) - )); + glCopyTexImage2D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLsizei) bswap_CARD32(pc + 20), + (GLsizei) bswap_CARD32(pc + 24), + (GLint) bswap_CARD32(pc + 28)); } void __glXDispSwap_CopyTexSubImage1D(GLbyte * pc) { - CALL_CopyTexSubImage1D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLint) bswap_CARD32(pc + 16), - (GLsizei) bswap_CARD32(pc + 20) - )); + glCopyTexSubImage1D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLsizei) bswap_CARD32(pc + 20)); } void __glXDispSwap_CopyTexSubImage2D(GLbyte * pc) { - CALL_CopyTexSubImage2D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLint) bswap_CARD32(pc + 16), - (GLint) bswap_CARD32(pc + 20), - (GLsizei) bswap_CARD32(pc + 24), - (GLsizei) bswap_CARD32(pc + 28) - )); + glCopyTexSubImage2D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLint) bswap_CARD32(pc + 20), + (GLsizei) bswap_CARD32(pc + 24), + (GLsizei) bswap_CARD32(pc + 28)); } int @@ -3183,11 +2832,9 @@ __glXDispSwap_DeleteTextures(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - CALL_DeleteTextures(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + - 4), 0) - )); + glDeleteTextures(n, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 0)); error = Success; } @@ -3206,11 +2853,9 @@ __glXDispSwap_DeleteTexturesEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - CALL_DeleteTextures(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + - 4), 0) - )); + glDeleteTextures(n, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 0)); error = Success; } @@ -3233,7 +2878,7 @@ __glXDispSwap_GenTextures(__GLXclientState * cl, GLbyte * pc) GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenTextures(GET_DISPATCH(), (n, textures)); + glGenTextures(n, textures); (void) bswap_32_array((uint32_t *) textures, n); __glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0); error = Success; @@ -3258,7 +2903,7 @@ __glXDispSwap_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc) GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenTextures(GET_DISPATCH(), (n, textures)); + glGenTextures(n, textures); (void) bswap_32_array((uint32_t *) textures, n); __glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0); error = Success; @@ -3279,8 +2924,7 @@ __glXDispSwap_IsTexture(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsTexture(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + retval = glIsTexture((GLuint) bswap_CARD32(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -3300,8 +2944,7 @@ __glXDispSwap_IsTextureEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsTexture(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); + retval = glIsTexture((GLuint) bswap_CARD32(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -3314,15 +2957,11 @@ __glXDispSwap_PrioritizeTextures(GLbyte * pc) { const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - CALL_PrioritizeTextures(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + - 4), - 0), - (const GLclampf *) - bswap_32_array((uint32_t *) (pc + - 4), 0) - )); + glPrioritizeTextures(n, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 0), + (const GLclampf *) + bswap_32_array((uint32_t *) (pc + 4), 0)); } void @@ -3331,27 +2970,20 @@ __glXDispSwap_TexSubImage1D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 56)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_TexSubImage1D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLint) bswap_CARD32(pc + 24), - (GLint) bswap_CARD32(pc + 28), - (GLsizei) bswap_CARD32(pc + 36), - (GLenum) bswap_ENUM(pc + 44), - (GLenum) bswap_ENUM(pc + 48), pixels)); + glTexSubImage1D((GLenum) bswap_ENUM(pc + 20), + (GLint) bswap_CARD32(pc + 24), + (GLint) bswap_CARD32(pc + 28), + (GLsizei) bswap_CARD32(pc + 36), + (GLenum) bswap_ENUM(pc + 44), + (GLenum) bswap_ENUM(pc + 48), pixels); } void @@ -3360,46 +2992,37 @@ __glXDispSwap_TexSubImage2D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 56)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_TexSubImage2D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLint) bswap_CARD32(pc + 24), - (GLint) bswap_CARD32(pc + 28), - (GLint) bswap_CARD32(pc + 32), - (GLsizei) bswap_CARD32(pc + 36), - (GLsizei) bswap_CARD32(pc + 40), - (GLenum) bswap_ENUM(pc + 44), - (GLenum) bswap_ENUM(pc + 48), pixels)); + glTexSubImage2D((GLenum) bswap_ENUM(pc + 20), + (GLint) bswap_CARD32(pc + 24), + (GLint) bswap_CARD32(pc + 28), + (GLint) bswap_CARD32(pc + 32), + (GLsizei) bswap_CARD32(pc + 36), + (GLsizei) bswap_CARD32(pc + 40), + (GLenum) bswap_ENUM(pc + 44), + (GLenum) bswap_ENUM(pc + 48), pixels); } void __glXDispSwap_BlendColor(GLbyte * pc) { - CALL_BlendColor(GET_DISPATCH(), ((GLclampf) bswap_FLOAT32(pc + 0), - (GLclampf) bswap_FLOAT32(pc + 4), - (GLclampf) bswap_FLOAT32(pc + 8), - (GLclampf) bswap_FLOAT32(pc + 12) - )); + glBlendColor((GLclampf) bswap_FLOAT32(pc + 0), + (GLclampf) bswap_FLOAT32(pc + 4), + (GLclampf) bswap_FLOAT32(pc + 8), + (GLclampf) bswap_FLOAT32(pc + 12)); } void __glXDispSwap_BlendEquation(GLbyte * pc) { - CALL_BlendEquation(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glBlendEquation((GLenum) bswap_ENUM(pc + 0)); } void @@ -3408,26 +3031,19 @@ __glXDispSwap_ColorTable(GLbyte * pc) const GLvoid *const table = (const GLvoid *) ((pc + 40)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_ColorTable(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLenum) bswap_ENUM(pc + 24), - (GLsizei) bswap_CARD32(pc + 28), - (GLenum) bswap_ENUM(pc + 32), - (GLenum) bswap_ENUM(pc + 36), table)); + glColorTable((GLenum) bswap_ENUM(pc + 20), + (GLenum) bswap_ENUM(pc + 24), + (GLsizei) bswap_CARD32(pc + 28), + (GLenum) bswap_ENUM(pc + 32), + (GLenum) bswap_ENUM(pc + 36), table); } void @@ -3440,8 +3056,7 @@ __glXDispSwap_ColorTableParameterfv(GLbyte * pc) (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), __glColorTableParameterfv_size(pname)); - CALL_ColorTableParameterfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glColorTableParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); } void @@ -3454,19 +3069,17 @@ __glXDispSwap_ColorTableParameteriv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 8), __glColorTableParameteriv_size(pname)); - CALL_ColorTableParameteriv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glColorTableParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_CopyColorTable(GLbyte * pc) { - CALL_CopyColorTable(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLsizei) bswap_CARD32(pc + 16) - )); + glCopyColorTable((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16)); } int @@ -3491,9 +3104,7 @@ __glXDispSwap_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameterfv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetColorTableParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3524,9 +3135,7 @@ __glXDispSwap_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameterfv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetColorTableParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3557,9 +3166,7 @@ __glXDispSwap_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameteriv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetColorTableParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3590,9 +3197,7 @@ __glXDispSwap_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetColorTableParameteriv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetColorTableParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3607,37 +3212,29 @@ __glXDispSwap_ColorSubTable(GLbyte * pc) const GLvoid *const data = (const GLvoid *) ((pc + 40)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_ColorSubTable(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLsizei) bswap_CARD32(pc + 24), - (GLsizei) bswap_CARD32(pc + 28), - (GLenum) bswap_ENUM(pc + 32), - (GLenum) bswap_ENUM(pc + 36), data)); + glColorSubTable((GLenum) bswap_ENUM(pc + 20), + (GLsizei) bswap_CARD32(pc + 24), + (GLsizei) bswap_CARD32(pc + 28), + (GLenum) bswap_ENUM(pc + 32), + (GLenum) bswap_ENUM(pc + 36), data); } void __glXDispSwap_CopyColorSubTable(GLbyte * pc) { - CALL_CopyColorSubTable(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLsizei) bswap_CARD32(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLsizei) bswap_CARD32(pc + 16) - )); + glCopyColorSubTable((GLenum) bswap_ENUM(pc + 0), + (GLsizei) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16)); } void @@ -3646,27 +3243,19 @@ __glXDispSwap_ConvolutionFilter1D(GLbyte * pc) const GLvoid *const image = (const GLvoid *) ((pc + 44)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_ConvolutionFilter1D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLenum) bswap_ENUM(pc + 24), - (GLsizei) bswap_CARD32(pc + 28), - (GLenum) bswap_ENUM(pc + 36), - (GLenum) bswap_ENUM(pc + 40), - image)); + glConvolutionFilter1D((GLenum) bswap_ENUM(pc + 20), + (GLenum) bswap_ENUM(pc + 24), + (GLsizei) bswap_CARD32(pc + 28), + (GLenum) bswap_ENUM(pc + 36), + (GLenum) bswap_ENUM(pc + 40), image); } void @@ -3675,37 +3264,28 @@ __glXDispSwap_ConvolutionFilter2D(GLbyte * pc) const GLvoid *const image = (const GLvoid *) ((pc + 44)); __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_ConvolutionFilter2D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 20), - (GLenum) bswap_ENUM(pc + 24), - (GLsizei) bswap_CARD32(pc + 28), - (GLsizei) bswap_CARD32(pc + 32), - (GLenum) bswap_ENUM(pc + 36), - (GLenum) bswap_ENUM(pc + 40), - image)); + glConvolutionFilter2D((GLenum) bswap_ENUM(pc + 20), + (GLenum) bswap_ENUM(pc + 24), + (GLsizei) bswap_CARD32(pc + 28), + (GLsizei) bswap_CARD32(pc + 32), + (GLenum) bswap_ENUM(pc + 36), + (GLenum) bswap_ENUM(pc + 40), image); } void __glXDispSwap_ConvolutionParameterf(GLbyte * pc) { - CALL_ConvolutionParameterf(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLfloat) bswap_FLOAT32(pc + 8) - )); + glConvolutionParameterf((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLfloat) bswap_FLOAT32(pc + 8)); } void @@ -3719,17 +3299,15 @@ __glXDispSwap_ConvolutionParameterfv(GLbyte * pc) __glConvolutionParameterfv_size (pname)); - CALL_ConvolutionParameterfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glConvolutionParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_ConvolutionParameteri(GLbyte * pc) { - CALL_ConvolutionParameteri(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8) - )); + glConvolutionParameteri((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLint) bswap_CARD32(pc + 8)); } void @@ -3742,34 +3320,28 @@ __glXDispSwap_ConvolutionParameteriv(GLbyte * pc) (const GLint *) bswap_32_array((uint32_t *) (pc + 8), __glConvolutionParameteriv_size(pname)); - CALL_ConvolutionParameteriv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glConvolutionParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); } void __glXDispSwap_CopyConvolutionFilter1D(GLbyte * pc) { - CALL_CopyConvolutionFilter1D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLsizei) bswap_CARD32(pc + - 16) - )); + glCopyConvolutionFilter1D((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16)); } void __glXDispSwap_CopyConvolutionFilter2D(GLbyte * pc) { - CALL_CopyConvolutionFilter2D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLsizei) bswap_CARD32(pc + - 16), - (GLsizei) bswap_CARD32(pc + - 20) - )); + glCopyConvolutionFilter2D((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16), + (GLsizei) bswap_CARD32(pc + 20)); } int @@ -3794,9 +3366,7 @@ __glXDispSwap_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameterfv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetConvolutionParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3827,9 +3397,7 @@ __glXDispSwap_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameterfv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetConvolutionParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3860,9 +3428,7 @@ __glXDispSwap_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetConvolutionParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3893,9 +3459,7 @@ __glXDispSwap_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - pname, params)); + glGetConvolutionParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3926,9 +3490,7 @@ __glXDispSwap_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameterfv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), pname, - params)); + glGetHistogramParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3959,9 +3521,7 @@ __glXDispSwap_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameterfv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), pname, - params)); + glGetHistogramParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -3992,9 +3552,7 @@ __glXDispSwap_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameteriv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), pname, - params)); + glGetHistogramParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -4025,9 +3583,7 @@ __glXDispSwap_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetHistogramParameteriv(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), pname, - params)); + glGetHistogramParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -4058,8 +3614,7 @@ __glXDispSwap_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameterfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetMinmaxParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -4090,8 +3645,7 @@ __glXDispSwap_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameterfv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetMinmaxParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -4122,8 +3676,7 @@ __glXDispSwap_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameteriv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetMinmaxParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -4154,8 +3707,7 @@ __glXDispSwap_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetMinmaxParameteriv(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + glGetMinmaxParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -4167,34 +3719,28 @@ __glXDispSwap_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc) void __glXDispSwap_Histogram(GLbyte * pc) { - CALL_Histogram(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLsizei) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - *(GLboolean *) (pc + 12) - )); + glHistogram((GLenum) bswap_ENUM(pc + 0), + (GLsizei) bswap_CARD32(pc + 4), + (GLenum) bswap_ENUM(pc + 8), *(GLboolean *) (pc + 12)); } void __glXDispSwap_Minmax(GLbyte * pc) { - CALL_Minmax(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - *(GLboolean *) (pc + 8) - )); + glMinmax((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), *(GLboolean *) (pc + 8)); } void __glXDispSwap_ResetHistogram(GLbyte * pc) { - CALL_ResetHistogram(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glResetHistogram((GLenum) bswap_ENUM(pc + 0)); } void __glXDispSwap_ResetMinmax(GLbyte * pc) { - CALL_ResetMinmax(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glResetMinmax((GLenum) bswap_ENUM(pc + 0)); } void @@ -4205,36 +3751,27 @@ __glXDispSwap_TexImage3D(GLbyte * pc) (const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80)); __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_IMAGE_HEIGHT, - (GLint) bswap_CARD32(&hdr->imageHeight))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_IMAGES, - (GLint) bswap_CARD32(&hdr->skipImages))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, + (GLint) bswap_CARD32(&hdr->imageHeight)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_IMAGES, + (GLint) bswap_CARD32(&hdr->skipImages)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_TexImage3D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 36), - (GLint) bswap_CARD32(pc + 40), - (GLint) bswap_CARD32(pc + 44), - (GLsizei) bswap_CARD32(pc + 48), - (GLsizei) bswap_CARD32(pc + 52), - (GLsizei) bswap_CARD32(pc + 56), - (GLint) bswap_CARD32(pc + 64), - (GLenum) bswap_ENUM(pc + 68), - (GLenum) bswap_ENUM(pc + 72), pixels)); + glTexImage3D((GLenum) bswap_ENUM(pc + 36), + (GLint) bswap_CARD32(pc + 40), + (GLint) bswap_CARD32(pc + 44), + (GLsizei) bswap_CARD32(pc + 48), + (GLsizei) bswap_CARD32(pc + 52), + (GLsizei) bswap_CARD32(pc + 56), + (GLint) bswap_CARD32(pc + 64), + (GLenum) bswap_ENUM(pc + 68), + (GLenum) bswap_ENUM(pc + 72), pixels); } void @@ -4243,63 +3780,52 @@ __glXDispSwap_TexSubImage3D(GLbyte * pc) const GLvoid *const pixels = (const GLvoid *) ((pc + 88)); __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ROW_LENGTH, - (GLint) bswap_CARD32(&hdr->rowLength))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_IMAGE_HEIGHT, - (GLint) bswap_CARD32(&hdr->imageHeight))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_ROWS, - (GLint) bswap_CARD32(&hdr->skipRows))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_IMAGES, - (GLint) bswap_CARD32(&hdr->skipImages))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_SKIP_PIXELS, - (GLint) bswap_CARD32(&hdr->skipPixels))); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_ALIGNMENT, - (GLint) bswap_CARD32(&hdr->alignment))); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, (GLint) bswap_CARD32(&hdr->rowLength)); + glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, + (GLint) bswap_CARD32(&hdr->imageHeight)); + glPixelStorei(GL_UNPACK_SKIP_ROWS, (GLint) bswap_CARD32(&hdr->skipRows)); + glPixelStorei(GL_UNPACK_SKIP_IMAGES, + (GLint) bswap_CARD32(&hdr->skipImages)); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, + (GLint) bswap_CARD32(&hdr->skipPixels)); + glPixelStorei(GL_UNPACK_ALIGNMENT, (GLint) bswap_CARD32(&hdr->alignment)); - CALL_TexSubImage3D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 36), - (GLint) bswap_CARD32(pc + 40), - (GLint) bswap_CARD32(pc + 44), - (GLint) bswap_CARD32(pc + 48), - (GLint) bswap_CARD32(pc + 52), - (GLsizei) bswap_CARD32(pc + 60), - (GLsizei) bswap_CARD32(pc + 64), - (GLsizei) bswap_CARD32(pc + 68), - (GLenum) bswap_ENUM(pc + 76), - (GLenum) bswap_ENUM(pc + 80), pixels)); + glTexSubImage3D((GLenum) bswap_ENUM(pc + 36), + (GLint) bswap_CARD32(pc + 40), + (GLint) bswap_CARD32(pc + 44), + (GLint) bswap_CARD32(pc + 48), + (GLint) bswap_CARD32(pc + 52), + (GLsizei) bswap_CARD32(pc + 60), + (GLsizei) bswap_CARD32(pc + 64), + (GLsizei) bswap_CARD32(pc + 68), + (GLenum) bswap_ENUM(pc + 76), + (GLenum) bswap_ENUM(pc + 80), pixels); } void __glXDispSwap_CopyTexSubImage3D(GLbyte * pc) { - CALL_CopyTexSubImage3D(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLint) bswap_CARD32(pc + 16), - (GLint) bswap_CARD32(pc + 20), - (GLint) bswap_CARD32(pc + 24), - (GLsizei) bswap_CARD32(pc + 28), - (GLsizei) bswap_CARD32(pc + 32) - )); + glCopyTexSubImage3D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLint) bswap_CARD32(pc + 20), + (GLint) bswap_CARD32(pc + 24), + (GLsizei) bswap_CARD32(pc + 28), + (GLsizei) bswap_CARD32(pc + 32)); } void -__glXDispSwap_ActiveTextureARB(GLbyte * pc) +__glXDispSwap_ActiveTexture(GLbyte * pc) { - CALL_ActiveTextureARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + glActiveTextureARB((GLenum) bswap_ENUM(pc + 0)); } void -__glXDispSwap_MultiTexCoord1dvARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord1dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -4308,49 +3834,37 @@ __glXDispSwap_MultiTexCoord1dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord1dvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 8), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 0), - 1) - )); + glMultiTexCoord1dvARB((GLenum) bswap_ENUM(pc + 8), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + 1)); } void __glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc) { - CALL_MultiTexCoord1fvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), - 1) - )); + glMultiTexCoord1fvARB((GLenum) bswap_ENUM(pc + 0), + (const GLfloat *) + bswap_32_array((uint32_t *) (pc + 4), 1)); } void -__glXDispSwap_MultiTexCoord1ivARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord1iv(GLbyte * pc) { - CALL_MultiTexCoord1ivARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLint *) - bswap_32_array((uint32_t *) (pc + - 4), - 1) - )); + glMultiTexCoord1ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 1)); } void -__glXDispSwap_MultiTexCoord1svARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord1sv(GLbyte * pc) { - CALL_MultiTexCoord1svARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), - 1) - )); + glMultiTexCoord1svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 1)); } void -__glXDispSwap_MultiTexCoord2dvARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord2dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -4359,49 +3873,37 @@ __glXDispSwap_MultiTexCoord2dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord2dvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 16), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 0), - 2) - )); + glMultiTexCoord2dvARB((GLenum) bswap_ENUM(pc + 16), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + 2)); } void __glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc) { - CALL_MultiTexCoord2fvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), - 2) - )); + glMultiTexCoord2fvARB((GLenum) bswap_ENUM(pc + 0), + (const GLfloat *) + bswap_32_array((uint32_t *) (pc + 4), 2)); } void -__glXDispSwap_MultiTexCoord2ivARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord2iv(GLbyte * pc) { - CALL_MultiTexCoord2ivARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLint *) - bswap_32_array((uint32_t *) (pc + - 4), - 2) - )); + glMultiTexCoord2ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 2)); } void -__glXDispSwap_MultiTexCoord2svARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord2sv(GLbyte * pc) { - CALL_MultiTexCoord2svARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), - 2) - )); + glMultiTexCoord2svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 2)); } void -__glXDispSwap_MultiTexCoord3dvARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord3dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -4410,49 +3912,37 @@ __glXDispSwap_MultiTexCoord3dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord3dvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 24), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 0), - 3) - )); + glMultiTexCoord3dvARB((GLenum) bswap_ENUM(pc + 24), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + 3)); } void __glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc) { - CALL_MultiTexCoord3fvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), - 3) - )); + glMultiTexCoord3fvARB((GLenum) bswap_ENUM(pc + 0), + (const GLfloat *) + bswap_32_array((uint32_t *) (pc + 4), 3)); } void -__glXDispSwap_MultiTexCoord3ivARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord3iv(GLbyte * pc) { - CALL_MultiTexCoord3ivARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLint *) - bswap_32_array((uint32_t *) (pc + - 4), - 3) - )); + glMultiTexCoord3ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 3)); } void -__glXDispSwap_MultiTexCoord3svARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord3sv(GLbyte * pc) { - CALL_MultiTexCoord3svARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), - 3) - )); + glMultiTexCoord3svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 3)); } void -__glXDispSwap_MultiTexCoord4dvARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord4dv(GLbyte * pc) { #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { @@ -4461,184 +3951,766 @@ __glXDispSwap_MultiTexCoord4dvARB(GLbyte * pc) } #endif - CALL_MultiTexCoord4dvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 32), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 0), - 4) - )); + glMultiTexCoord4dvARB((GLenum) bswap_ENUM(pc + 32), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), + 4)); } void __glXDispSwap_MultiTexCoord4fvARB(GLbyte * pc) { - CALL_MultiTexCoord4fvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), - 4) - )); + glMultiTexCoord4fvARB((GLenum) bswap_ENUM(pc + 0), + (const GLfloat *) + bswap_32_array((uint32_t *) (pc + 4), 4)); } void -__glXDispSwap_MultiTexCoord4ivARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord4iv(GLbyte * pc) { - CALL_MultiTexCoord4ivARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLint *) - bswap_32_array((uint32_t *) (pc + - 4), - 4) - )); + glMultiTexCoord4ivARB((GLenum) bswap_ENUM(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + 4)); } void -__glXDispSwap_MultiTexCoord4svARB(GLbyte * pc) +__glXDispSwap_MultiTexCoord4sv(GLbyte * pc) { - CALL_MultiTexCoord4svARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), - 4) - )); + glMultiTexCoord4svARB((GLenum) bswap_ENUM(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 4)); } void -__glXDispSwap_SampleCoverageARB(GLbyte * pc) -{ - CALL_SampleCoverageARB(GET_DISPATCH(), ((GLclampf) bswap_FLOAT32(pc + 0), - *(GLboolean *) (pc + 4) - )); -} - -void -__glXDispSwap_CompressedTexImage1DARB(GLbyte * pc) +__glXDispSwap_CompressedTexImage1D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D = + __glGetProcAddress("glCompressedTexImage1D"); const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 20); - CALL_CompressedTexImage1DARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLsizei) bswap_CARD32(pc + - 12), - (GLint) bswap_CARD32(pc + 16), - imageSize, - (const GLvoid *) (pc + 24) - )); + CompressedTexImage1D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLsizei) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + imageSize, (const GLvoid *) (pc + 24)); } void -__glXDispSwap_CompressedTexImage2DARB(GLbyte * pc) +__glXDispSwap_CompressedTexImage2D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D = + __glGetProcAddress("glCompressedTexImage2D"); const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 24); - CALL_CompressedTexImage2DARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLsizei) bswap_CARD32(pc + - 12), - (GLsizei) bswap_CARD32(pc + - 16), - (GLint) bswap_CARD32(pc + 20), - imageSize, - (const GLvoid *) (pc + 28) - )); + CompressedTexImage2D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLsizei) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16), + (GLint) bswap_CARD32(pc + 20), + imageSize, (const GLvoid *) (pc + 28)); } void -__glXDispSwap_CompressedTexImage3DARB(GLbyte * pc) +__glXDispSwap_CompressedTexImage3D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D = + __glGetProcAddress("glCompressedTexImage3D"); const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 28); - CALL_CompressedTexImage3DARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLsizei) bswap_CARD32(pc + - 12), - (GLsizei) bswap_CARD32(pc + - 16), - (GLsizei) bswap_CARD32(pc + - 20), - (GLint) bswap_CARD32(pc + 24), - imageSize, - (const GLvoid *) (pc + 32) - )); + CompressedTexImage3D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLsizei) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16), + (GLsizei) bswap_CARD32(pc + 20), + (GLint) bswap_CARD32(pc + 24), + imageSize, (const GLvoid *) (pc + 32)); } void -__glXDispSwap_CompressedTexSubImage1DARB(GLbyte * pc) +__glXDispSwap_CompressedTexSubImage1D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D = + __glGetProcAddress("glCompressedTexSubImage1D"); const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 20); - CALL_CompressedTexSubImage1DARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + - 4), - (GLint) bswap_CARD32(pc + - 8), - (GLsizei) bswap_CARD32(pc + - 12), - (GLenum) bswap_ENUM(pc + - 16), - imageSize, - (const GLvoid *) (pc + 24) - )); + CompressedTexSubImage1D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLsizei) bswap_CARD32(pc + 12), + (GLenum) bswap_ENUM(pc + 16), + imageSize, (const GLvoid *) (pc + 24)); } void -__glXDispSwap_CompressedTexSubImage2DARB(GLbyte * pc) +__glXDispSwap_CompressedTexSubImage2D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D = + __glGetProcAddress("glCompressedTexSubImage2D"); const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 28); - CALL_CompressedTexSubImage2DARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + - 4), - (GLint) bswap_CARD32(pc + - 8), - (GLint) bswap_CARD32(pc + - 12), - (GLsizei) bswap_CARD32(pc + - 16), - (GLsizei) bswap_CARD32(pc + - 20), - (GLenum) bswap_ENUM(pc + - 24), - imageSize, - (const GLvoid *) (pc + 32) - )); + CompressedTexSubImage2D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16), + (GLsizei) bswap_CARD32(pc + 20), + (GLenum) bswap_ENUM(pc + 24), + imageSize, (const GLvoid *) (pc + 32)); } void -__glXDispSwap_CompressedTexSubImage3DARB(GLbyte * pc) +__glXDispSwap_CompressedTexSubImage3D(GLbyte * pc) { + PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D = + __glGetProcAddress("glCompressedTexSubImage3D"); const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 36); - CALL_CompressedTexSubImage3DARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + - 4), - (GLint) bswap_CARD32(pc + - 8), - (GLint) bswap_CARD32(pc + - 12), - (GLint) bswap_CARD32(pc + - 16), - (GLsizei) bswap_CARD32(pc + - 20), - (GLsizei) bswap_CARD32(pc + - 24), - (GLsizei) bswap_CARD32(pc + - 28), - (GLenum) bswap_ENUM(pc + - 32), - imageSize, - (const GLvoid *) (pc + 40) - )); + CompressedTexSubImage3D((GLenum) bswap_ENUM(pc + 0), + (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLsizei) bswap_CARD32(pc + 20), + (GLsizei) bswap_CARD32(pc + 24), + (GLsizei) bswap_CARD32(pc + 28), + (GLenum) bswap_ENUM(pc + 32), + imageSize, (const GLvoid *) (pc + 40)); +} + +void +__glXDispSwap_SampleCoverage(GLbyte * pc) +{ + PFNGLSAMPLECOVERAGEPROC SampleCoverage = + __glGetProcAddress("glSampleCoverage"); + SampleCoverage((GLclampf) bswap_FLOAT32(pc + 0), *(GLboolean *) (pc + 4)); +} + +void +__glXDispSwap_BlendFuncSeparate(GLbyte * pc) +{ + PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate = + __glGetProcAddress("glBlendFuncSeparate"); + BlendFuncSeparate((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLenum) bswap_ENUM(pc + 12)); +} + +void +__glXDispSwap_FogCoorddv(GLbyte * pc) +{ + PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv"); + +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 8); + pc -= 4; + } +#endif + + FogCoorddv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1)); +} + +void +__glXDispSwap_PointParameterf(GLbyte * pc) +{ + PFNGLPOINTPARAMETERFPROC PointParameterf = + __glGetProcAddress("glPointParameterf"); + PointParameterf((GLenum) bswap_ENUM(pc + 0), + (GLfloat) bswap_FLOAT32(pc + 4)); +} + +void +__glXDispSwap_PointParameterfv(GLbyte * pc) +{ + PFNGLPOINTPARAMETERFVPROC PointParameterfv = + __glGetProcAddress("glPointParameterfv"); + const GLenum pname = (GLenum) bswap_ENUM(pc + 0); + const GLfloat *params; + + params = + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + __glPointParameterfv_size(pname)); + + PointParameterfv(pname, params); +} + +void +__glXDispSwap_PointParameteri(GLbyte * pc) +{ + PFNGLPOINTPARAMETERIPROC PointParameteri = + __glGetProcAddress("glPointParameteri"); + PointParameteri((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4)); +} + +void +__glXDispSwap_PointParameteriv(GLbyte * pc) +{ + PFNGLPOINTPARAMETERIVPROC PointParameteriv = + __glGetProcAddress("glPointParameteriv"); + const GLenum pname = (GLenum) bswap_ENUM(pc + 0); + const GLint *params; + + params = + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), + __glPointParameteriv_size(pname)); + + PointParameteriv(pname, params); +} + +void +__glXDispSwap_SecondaryColor3bv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv = + __glGetProcAddress("glSecondaryColor3bv"); + SecondaryColor3bv((const GLbyte *) (pc + 0)); +} + +void +__glXDispSwap_SecondaryColor3dv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv = + __glGetProcAddress("glSecondaryColor3dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 24); + pc -= 4; + } +#endif + + SecondaryColor3dv((const GLdouble *) + bswap_64_array((uint64_t *) (pc + 0), 3)); +} + +void +__glXDispSwap_SecondaryColor3iv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv = + __glGetProcAddress("glSecondaryColor3iv"); + SecondaryColor3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3)); +} + +void +__glXDispSwap_SecondaryColor3sv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv = + __glGetProcAddress("glSecondaryColor3sv"); + SecondaryColor3sv((const GLshort *) + bswap_16_array((uint16_t *) (pc + 0), 3)); +} + +void +__glXDispSwap_SecondaryColor3ubv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv = + __glGetProcAddress("glSecondaryColor3ubv"); + SecondaryColor3ubv((const GLubyte *) (pc + 0)); +} + +void +__glXDispSwap_SecondaryColor3uiv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv = + __glGetProcAddress("glSecondaryColor3uiv"); + SecondaryColor3uiv((const GLuint *) + bswap_32_array((uint32_t *) (pc + 0), 3)); +} + +void +__glXDispSwap_SecondaryColor3usv(GLbyte * pc) +{ + PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv = + __glGetProcAddress("glSecondaryColor3usv"); + SecondaryColor3usv((const GLushort *) + bswap_16_array((uint16_t *) (pc + 0), 3)); +} + +void +__glXDispSwap_WindowPos3fv(GLbyte * pc) +{ + PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv"); + + WindowPos3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3)); +} + +void +__glXDispSwap_BeginQuery(GLbyte * pc) +{ + PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery"); + + BeginQuery((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4)); +} + +int +__glXDispSwap_DeleteQueries(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLDELETEQUERIESPROC DeleteQueries = + __glGetProcAddress("glDeleteQueries"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); + + DeleteQueries(n, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 0)); + error = Success; + } + + return error; +} + +void +__glXDispSwap_EndQuery(GLbyte * pc) +{ + PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery"); + + EndQuery((GLenum) bswap_ENUM(pc + 0)); +} + +int +__glXDispSwap_GenQueries(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); + + GLuint answerBuffer[200]; + GLuint *ids = + __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), + 4); + GenQueries(n, ids); + (void) bswap_32_array((uint32_t *) ids, n); + __glXSendReplySwap(cl->client, ids, n, 4, GL_TRUE, 0); + error = Success; + } + + return error; +} + +int +__glXDispSwap_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv = + __glGetProcAddress("glGetQueryObjectiv"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLenum pname = (GLenum) bswap_ENUM(pc + 4); + + const GLuint compsize = __glGetQueryObjectiv_size(pname); + GLint answerBuffer[200]; + GLint *params = + __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, + sizeof(answerBuffer), 4); + + if (params == NULL) + return BadAlloc; + __glXClearErrorOccured(); + + GetQueryObjectiv((GLuint) bswap_CARD32(pc + 0), pname, params); + (void) bswap_32_array((uint32_t *) params, compsize); + __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); + error = Success; + } + + return error; +} + +int +__glXDispSwap_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv = + __glGetProcAddress("glGetQueryObjectuiv"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLenum pname = (GLenum) bswap_ENUM(pc + 4); + + const GLuint compsize = __glGetQueryObjectuiv_size(pname); + GLuint answerBuffer[200]; + GLuint *params = + __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, + sizeof(answerBuffer), 4); + + if (params == NULL) + return BadAlloc; + __glXClearErrorOccured(); + + GetQueryObjectuiv((GLuint) bswap_CARD32(pc + 0), pname, params); + (void) bswap_32_array((uint32_t *) params, compsize); + __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); + error = Success; + } + + return error; +} + +int +__glXDispSwap_GetQueryiv(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + const GLenum pname = (GLenum) bswap_ENUM(pc + 4); + + const GLuint compsize = __glGetQueryiv_size(pname); + GLint answerBuffer[200]; + GLint *params = + __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, + sizeof(answerBuffer), 4); + + if (params == NULL) + return BadAlloc; + __glXClearErrorOccured(); + + GetQueryiv((GLenum) bswap_ENUM(pc + 0), pname, params); + (void) bswap_32_array((uint32_t *) params, compsize); + __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); + error = Success; + } + + return error; +} + +int +__glXDispSwap_IsQuery(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery"); + xGLXSingleReq *const req = (xGLXSingleReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_SINGLE_HDR_SIZE; + if (cx != NULL) { + GLboolean retval; + + retval = IsQuery((GLuint) bswap_CARD32(pc + 0)); + __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); + error = Success; + } + + return error; +} + +void +__glXDispSwap_BlendEquationSeparate(GLbyte * pc) +{ + PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate = + __glGetProcAddress("glBlendEquationSeparate"); + BlendEquationSeparate((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4)); +} + +void +__glXDispSwap_DrawBuffers(GLbyte * pc) +{ + PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); + + DrawBuffers(n, (const GLenum *) bswap_32_array((uint32_t *) (pc + 4), 0)); +} + +void +__glXDispSwap_VertexAttrib1dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv = + __glGetProcAddress("glVertexAttrib1dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 12); + pc -= 4; + } +#endif + + VertexAttrib1dv((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 1)); +} + +void +__glXDispSwap_VertexAttrib1sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv = + __glGetProcAddress("glVertexAttrib1sv"); + VertexAttrib1sv((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 1)); +} + +void +__glXDispSwap_VertexAttrib2dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv = + __glGetProcAddress("glVertexAttrib2dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 20); + pc -= 4; + } +#endif + + VertexAttrib2dv((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 2)); +} + +void +__glXDispSwap_VertexAttrib2sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv = + __glGetProcAddress("glVertexAttrib2sv"); + VertexAttrib2sv((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 2)); +} + +void +__glXDispSwap_VertexAttrib3dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv = + __glGetProcAddress("glVertexAttrib3dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 28); + pc -= 4; + } +#endif + + VertexAttrib3dv((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 3)); +} + +void +__glXDispSwap_VertexAttrib3sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv = + __glGetProcAddress("glVertexAttrib3sv"); + VertexAttrib3sv((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 3)); +} + +void +__glXDispSwap_VertexAttrib4Nbv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv = + __glGetProcAddress("glVertexAttrib4Nbv"); + VertexAttrib4Nbv((GLuint) bswap_CARD32(pc + 0), (const GLbyte *) (pc + 4)); +} + +void +__glXDispSwap_VertexAttrib4Niv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv = + __glGetProcAddress("glVertexAttrib4Niv"); + VertexAttrib4Niv((GLuint) bswap_CARD32(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), 4)); +} + +void +__glXDispSwap_VertexAttrib4Nsv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv = + __glGetProcAddress("glVertexAttrib4Nsv"); + VertexAttrib4Nsv((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_VertexAttrib4Nubv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv = + __glGetProcAddress("glVertexAttrib4Nubv"); + VertexAttrib4Nubv((GLuint) bswap_CARD32(pc + 0), + (const GLubyte *) (pc + 4)); +} + +void +__glXDispSwap_VertexAttrib4Nuiv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv = + __glGetProcAddress("glVertexAttrib4Nuiv"); + VertexAttrib4Nuiv((GLuint) bswap_CARD32(pc + 0), + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_VertexAttrib4Nusv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv = + __glGetProcAddress("glVertexAttrib4Nusv"); + VertexAttrib4Nusv((GLuint) bswap_CARD32(pc + 0), + (const GLushort *) bswap_16_array((uint16_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_VertexAttrib4bv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv = + __glGetProcAddress("glVertexAttrib4bv"); + VertexAttrib4bv((GLuint) bswap_CARD32(pc + 0), (const GLbyte *) (pc + 4)); +} + +void +__glXDispSwap_VertexAttrib4dv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv = + __glGetProcAddress("glVertexAttrib4dv"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 36); + pc -= 4; + } +#endif + + VertexAttrib4dv((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_VertexAttrib4iv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv = + __glGetProcAddress("glVertexAttrib4iv"); + VertexAttrib4iv((GLuint) bswap_CARD32(pc + 0), + (const GLint *) bswap_32_array((uint32_t *) (pc + 4), 4)); +} + +void +__glXDispSwap_VertexAttrib4sv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv = + __glGetProcAddress("glVertexAttrib4sv"); + VertexAttrib4sv((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 4)); +} + +void +__glXDispSwap_VertexAttrib4ubv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv = + __glGetProcAddress("glVertexAttrib4ubv"); + VertexAttrib4ubv((GLuint) bswap_CARD32(pc + 0), (const GLubyte *) (pc + 4)); +} + +void +__glXDispSwap_VertexAttrib4uiv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv = + __glGetProcAddress("glVertexAttrib4uiv"); + VertexAttrib4uiv((GLuint) bswap_CARD32(pc + 0), + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), 4)); +} + +void +__glXDispSwap_VertexAttrib4usv(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv = + __glGetProcAddress("glVertexAttrib4usv"); + VertexAttrib4usv((GLuint) bswap_CARD32(pc + 0), + (const GLushort *) bswap_16_array((uint16_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_ClampColor(GLbyte * pc) +{ + PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor"); + + ClampColor((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4)); +} + +void +__glXDispSwap_BindProgramARB(GLbyte * pc) +{ + PFNGLBINDPROGRAMARBPROC BindProgramARB = + __glGetProcAddress("glBindProgramARB"); + BindProgramARB((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4)); +} + +int +__glXDispSwap_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB = + __glGetProcAddress("glDeleteProgramsARB"); + xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_VENDPRIV_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); + + DeleteProgramsARB(n, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 0)); + error = Success; + } + + return error; +} + +int +__glXDispSwap_GenProgramsARB(__GLXclientState * cl, GLbyte * pc) +{ + PFNGLGENPROGRAMSARBPROC GenProgramsARB = + __glGetProcAddress("glGenProgramsARB"); + xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; + int error; + __GLXcontext *const cx = + __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); + + pc += __GLX_VENDPRIV_HDR_SIZE; + if (cx != NULL) { + const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); + + GLuint answerBuffer[200]; + GLuint *programs = + __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), + 4); + GenProgramsARB(n, programs); + (void) bswap_32_array((uint32_t *) programs, n); + __glXSendReplySwap(cl->client, programs, n, 4, GL_TRUE, 0); + error = Success; + } + + return error; } int __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB = + __glGetProcAddress("glGetProgramEnvParameterdvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -4648,11 +4720,8 @@ __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLdouble params[4]; - CALL_GetProgramEnvParameterdvARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) - bswap_CARD32(pc + 4), - params)); + GetProgramEnvParameterdvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), params); (void) bswap_64_array((uint64_t *) params, 4); __glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0); error = Success; @@ -4664,6 +4733,8 @@ __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc) int __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB = + __glGetProcAddress("glGetProgramEnvParameterfvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -4673,11 +4744,8 @@ __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLfloat params[4]; - CALL_GetProgramEnvParameterfvARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) - bswap_CARD32(pc + 4), - params)); + GetProgramEnvParameterfvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), params); (void) bswap_32_array((uint32_t *) params, 4); __glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0); error = Success; @@ -4689,6 +4757,8 @@ __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc) int __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB = + __glGetProcAddress("glGetProgramLocalParameterdvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -4698,12 +4768,8 @@ __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLdouble params[4]; - CALL_GetProgramLocalParameterdvARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) - bswap_CARD32(pc + - 4), - params)); + GetProgramLocalParameterdvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), params); (void) bswap_64_array((uint64_t *) params, 4); __glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0); error = Success; @@ -4715,6 +4781,8 @@ __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc) int __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB = + __glGetProcAddress("glGetProgramLocalParameterfvARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -4724,12 +4792,8 @@ __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLfloat params[4]; - CALL_GetProgramLocalParameterfvARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) - bswap_CARD32(pc + - 4), - params)); + GetProgramLocalParameterfvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), params); (void) bswap_32_array((uint32_t *) params, 4); __glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0); error = Success; @@ -4741,6 +4805,8 @@ __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc) int __glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETPROGRAMIVARBPROC GetProgramivARB = + __glGetProcAddress("glGetProgramivARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -4760,8 +4826,7 @@ __glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc) return BadAlloc; __glXClearErrorOccured(); - CALL_GetProgramivARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); + GetProgramivARB((GLenum) bswap_ENUM(pc + 0), pname, params); (void) bswap_32_array((uint32_t *) params, compsize); __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); error = Success; @@ -4771,8 +4836,9 @@ __glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc) } int -__glXDispSwap_GetVertexAttribdvARB(__GLXclientState * cl, GLbyte * pc) +__glXDispSwap_IsProgramARB(__GLXclientState * cl, GLbyte * pc) { + PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -4780,89 +4846,10 @@ __glXDispSwap_GetVertexAttribdvARB(__GLXclientState * cl, GLbyte * pc) pc += __GLX_VENDPRIV_HDR_SIZE; if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); + GLboolean retval; - const GLuint compsize = __glGetVertexAttribdvARB_size(pname); - GLdouble answerBuffer[200]; - GLdouble *params = - __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, - sizeof(answerBuffer), 8); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribdvARB(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0), pname, - params)); - (void) bswap_64_array((uint64_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetVertexAttribfvARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetVertexAttribfvARB_size(pname); - GLfloat answerBuffer[200]; - GLfloat *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribfvARB(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0), pname, - params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetVertexAttribivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetVertexAttribivARB_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribivARB(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0), pname, - params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); + retval = IsProgramARB((GLuint) bswap_CARD32(pc + 0)); + __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -4872,6 +4859,8 @@ __glXDispSwap_GetVertexAttribivARB(__GLXclientState * cl, GLbyte * pc) void __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc) { + PFNGLPROGRAMENVPARAMETER4DVARBPROC ProgramEnvParameter4dvARB = + __glGetProcAddress("glProgramEnvParameter4dvARB"); #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { (void) memmove(pc - 4, pc, 40); @@ -4879,32 +4868,28 @@ __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc) } #endif - CALL_ProgramEnvParameter4dvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + - 4), - (const GLdouble *) - bswap_64_array((uint64_t - *) (pc + 8), - 4) - )); + ProgramEnvParameter4dvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), + (const GLdouble *) + bswap_64_array((uint64_t *) (pc + 8), 4)); } void __glXDispSwap_ProgramEnvParameter4fvARB(GLbyte * pc) { - CALL_ProgramEnvParameter4fvARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + - 4), - (const GLfloat *) - bswap_32_array((uint32_t - *) (pc + 8), - 4) - )); + PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB = + __glGetProcAddress("glProgramEnvParameter4fvARB"); + ProgramEnvParameter4fvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), + (const GLfloat *) + bswap_32_array((uint32_t *) (pc + 8), 4)); } void __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc) { + PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB = + __glGetProcAddress("glProgramLocalParameter4dvARB"); #ifdef __GLX_ALIGN64 if ((unsigned long) (pc) & 7) { (void) memmove(pc - 4, pc, 40); @@ -4912,1589 +4897,112 @@ __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc) } #endif - CALL_ProgramLocalParameter4dvARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + - 4), - (const GLdouble *) - bswap_64_array((uint64_t - *) (pc + - 8), 4) - )); + ProgramLocalParameter4dvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), + (const GLdouble *) + bswap_64_array((uint64_t *) (pc + 8), 4)); } void __glXDispSwap_ProgramLocalParameter4fvARB(GLbyte * pc) { - CALL_ProgramLocalParameter4fvARB(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + - 4), - (const GLfloat *) - bswap_32_array((uint32_t - *) (pc + - 8), 4) - )); + PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB = + __glGetProcAddress("glProgramLocalParameter4fvARB"); + ProgramLocalParameter4fvARB((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4), + (const GLfloat *) + bswap_32_array((uint32_t *) (pc + 8), 4)); } void __glXDispSwap_ProgramStringARB(GLbyte * pc) { + PFNGLPROGRAMSTRINGARBPROC ProgramStringARB = + __glGetProcAddress("glProgramStringARB"); const GLsizei len = (GLsizei) bswap_CARD32(pc + 8); - CALL_ProgramStringARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - len, (const GLvoid *) (pc + 12) - )); -} - -void -__glXDispSwap_VertexAttrib1dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 12); - pc -= 4; - } -#endif - - CALL_VertexAttrib1dvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 1) - )); + ProgramStringARB((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + len, (const GLvoid *) (pc + 12)); } void __glXDispSwap_VertexAttrib1fvARB(GLbyte * pc) { - CALL_VertexAttrib1fvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 1) - )); -} - -void -__glXDispSwap_VertexAttrib1svARB(GLbyte * pc) -{ - CALL_VertexAttrib1svARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 1) - )); -} - -void -__glXDispSwap_VertexAttrib2dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 20); - pc -= 4; - } -#endif - - CALL_VertexAttrib2dvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 2) - )); + PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB = + __glGetProcAddress("glVertexAttrib1fvARB"); + VertexAttrib1fvARB((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 1)); } void __glXDispSwap_VertexAttrib2fvARB(GLbyte * pc) { - CALL_VertexAttrib2fvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 2) - )); -} - -void -__glXDispSwap_VertexAttrib2svARB(GLbyte * pc) -{ - CALL_VertexAttrib2svARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 2) - )); -} - -void -__glXDispSwap_VertexAttrib3dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 28); - pc -= 4; - } -#endif - - CALL_VertexAttrib3dvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 3) - )); + PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB = + __glGetProcAddress("glVertexAttrib2fvARB"); + VertexAttrib2fvARB((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 2)); } void __glXDispSwap_VertexAttrib3fvARB(GLbyte * pc) { - CALL_VertexAttrib3fvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 3) - )); -} - -void -__glXDispSwap_VertexAttrib3svARB(GLbyte * pc) -{ - CALL_VertexAttrib3svARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 3) - )); -} - -void -__glXDispSwap_VertexAttrib4NbvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NbvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLbyte *) (pc + 4) - )); -} - -void -__glXDispSwap_VertexAttrib4NivARB(GLbyte * pc) -{ - CALL_VertexAttrib4NivARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLint *) - bswap_32_array((uint32_t *) (pc + - 4), - 4) - )); -} - -void -__glXDispSwap_VertexAttrib4NsvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NsvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), - 4) - )); -} - -void -__glXDispSwap_VertexAttrib4NubvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NubvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLubyte *) (pc + 4) - )); -} - -void -__glXDispSwap_VertexAttrib4NuivARB(GLbyte * pc) -{ - CALL_VertexAttrib4NuivARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLuint *) - bswap_32_array((uint32_t *) (pc + - 4), - 4) - )); -} - -void -__glXDispSwap_VertexAttrib4NusvARB(GLbyte * pc) -{ - CALL_VertexAttrib4NusvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLushort *) - bswap_16_array((uint16_t *) (pc + - 4), - 4) - )); -} - -void -__glXDispSwap_VertexAttrib4bvARB(GLbyte * pc) -{ - CALL_VertexAttrib4bvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLbyte *) (pc + 4) - )); -} - -void -__glXDispSwap_VertexAttrib4dvARB(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 36); - pc -= 4; - } -#endif - - CALL_VertexAttrib4dvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 4) - )); + PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB = + __glGetProcAddress("glVertexAttrib3fvARB"); + VertexAttrib3fvARB((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 3)); } void __glXDispSwap_VertexAttrib4fvARB(GLbyte * pc) { - CALL_VertexAttrib4fvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 4) - )); + PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB = + __glGetProcAddress("glVertexAttrib4fvARB"); + VertexAttrib4fvARB((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 4)); } void -__glXDispSwap_VertexAttrib4ivARB(GLbyte * pc) +__glXDispSwap_BindFramebuffer(GLbyte * pc) { - CALL_VertexAttrib4ivARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLint *) - bswap_32_array((uint32_t *) (pc + - 4), 4) - )); + PFNGLBINDFRAMEBUFFERPROC BindFramebuffer = + __glGetProcAddress("glBindFramebuffer"); + BindFramebuffer((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4)); } void -__glXDispSwap_VertexAttrib4svARB(GLbyte * pc) +__glXDispSwap_BindRenderbuffer(GLbyte * pc) { - CALL_VertexAttrib4svARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 4) - )); + PFNGLBINDRENDERBUFFERPROC BindRenderbuffer = + __glGetProcAddress("glBindRenderbuffer"); + BindRenderbuffer((GLenum) bswap_ENUM(pc + 0), + (GLuint) bswap_CARD32(pc + 4)); } void -__glXDispSwap_VertexAttrib4ubvARB(GLbyte * pc) +__glXDispSwap_BlitFramebuffer(GLbyte * pc) { - CALL_VertexAttrib4ubvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLubyte *) (pc + 4) - )); -} - -void -__glXDispSwap_VertexAttrib4uivARB(GLbyte * pc) -{ - CALL_VertexAttrib4uivARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLuint *) - bswap_32_array((uint32_t *) (pc + - 4), - 4) - )); -} - -void -__glXDispSwap_VertexAttrib4usvARB(GLbyte * pc) -{ - CALL_VertexAttrib4usvARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLushort *) - bswap_16_array((uint16_t *) (pc + - 4), - 4) - )); -} - -void -__glXDispSwap_BeginQueryARB(GLbyte * pc) -{ - CALL_BeginQueryARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4) - )); + PFNGLBLITFRAMEBUFFERPROC BlitFramebuffer = + __glGetProcAddress("glBlitFramebuffer"); + BlitFramebuffer((GLint) bswap_CARD32(pc + 0), (GLint) bswap_CARD32(pc + 4), + (GLint) bswap_CARD32(pc + 8), (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLint) bswap_CARD32(pc + 20), + (GLint) bswap_CARD32(pc + 24), + (GLint) bswap_CARD32(pc + 28), + (GLbitfield) bswap_CARD32(pc + 32), + (GLenum) bswap_ENUM(pc + 36)); } int -__glXDispSwap_DeleteQueriesARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - - CALL_DeleteQueriesARB(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + - 4), - 0) - )); - error = Success; - } - - return error; -} - -void -__glXDispSwap_EndQueryARB(GLbyte * pc) -{ - CALL_EndQueryARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); -} - -int -__glXDispSwap_GenQueriesARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - - GLuint answerBuffer[200]; - GLuint *ids = - __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), - 4); - CALL_GenQueriesARB(GET_DISPATCH(), (n, ids)); - (void) bswap_32_array((uint32_t *) ids, n); - __glXSendReplySwap(cl->client, ids, n, 4, GL_TRUE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetQueryObjectivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetQueryObjectivARB_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetQueryObjectivARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - pname, params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetQueryObjectuivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetQueryObjectuivARB_size(pname); - GLuint answerBuffer[200]; - GLuint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetQueryObjectuivARB(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0), pname, - params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetQueryivARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetQueryivARB_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetQueryivARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - pname, params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_IsQueryARB(__GLXclientState * cl, GLbyte * pc) -{ - xGLXSingleReq *const req = (xGLXSingleReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_SINGLE_HDR_SIZE; - if (cx != NULL) { - GLboolean retval; - - retval = CALL_IsQueryARB(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); - __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); - error = Success; - } - - return error; -} - -void -__glXDispSwap_DrawBuffersARB(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - - CALL_DrawBuffersARB(GET_DISPATCH(), (n, - (const GLenum *) - bswap_32_array((uint32_t *) (pc + 4), - 0) - )); -} - -void -__glXDispSwap_ClampColorARB(GLbyte * pc) -{ - CALL_ClampColorARB(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4) - )); -} - -void -__glXDispSwap_RenderbufferStorageMultisample(GLbyte * pc) -{ - CALL_RenderbufferStorageMultisample(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLsizei) - bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc - + - 8), - (GLsizei) - bswap_CARD32(pc + 12), - (GLsizei) - bswap_CARD32(pc + 16) - )); -} - -void -__glXDispSwap_SampleMaskSGIS(GLbyte * pc) -{ - CALL_SampleMaskSGIS(GET_DISPATCH(), ((GLclampf) bswap_FLOAT32(pc + 0), - *(GLboolean *) (pc + 4) - )); -} - -void -__glXDispSwap_SamplePatternSGIS(GLbyte * pc) -{ - CALL_SamplePatternSGIS(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); -} - -void -__glXDispSwap_PointParameterfEXT(GLbyte * pc) -{ - CALL_PointParameterfEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLfloat) bswap_FLOAT32(pc + 4) - )); -} - -void -__glXDispSwap_PointParameterfvEXT(GLbyte * pc) -{ - const GLenum pname = (GLenum) bswap_ENUM(pc + 0); - const GLfloat *params; - - params = - (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), - __glPointParameterfvEXT_size(pname)); - - CALL_PointParameterfvEXT(GET_DISPATCH(), (pname, params)); -} - -void -__glXDispSwap_SecondaryColor3bvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3bvEXT(GET_DISPATCH(), ((const GLbyte *) (pc + 0) - )); -} - -void -__glXDispSwap_SecondaryColor3dvEXT(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 24); - pc -= 4; - } -#endif - - CALL_SecondaryColor3dvEXT(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 0), - 3) - )); -} - -void -__glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3fvEXT(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 0), - 3) - )); -} - -void -__glXDispSwap_SecondaryColor3ivEXT(GLbyte * pc) -{ - CALL_SecondaryColor3ivEXT(GET_DISPATCH(), ((const GLint *) - bswap_32_array((uint32_t *) (pc + - 0), - 3) - )); -} - -void -__glXDispSwap_SecondaryColor3svEXT(GLbyte * pc) -{ - CALL_SecondaryColor3svEXT(GET_DISPATCH(), ((const GLshort *) - bswap_16_array((uint16_t *) (pc + - 0), - 3) - )); -} - -void -__glXDispSwap_SecondaryColor3ubvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3ubvEXT(GET_DISPATCH(), ((const GLubyte *) (pc + 0) - )); -} - -void -__glXDispSwap_SecondaryColor3uivEXT(GLbyte * pc) -{ - CALL_SecondaryColor3uivEXT(GET_DISPATCH(), ((const GLuint *) - bswap_32_array((uint32_t *) (pc - + - 0), - 3) - )); -} - -void -__glXDispSwap_SecondaryColor3usvEXT(GLbyte * pc) -{ - CALL_SecondaryColor3usvEXT(GET_DISPATCH(), ((const GLushort *) - bswap_16_array((uint16_t *) (pc - + - 0), - 3) - )); -} - -void -__glXDispSwap_FogCoorddvEXT(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 8); - pc -= 4; - } -#endif - - CALL_FogCoorddvEXT(GET_DISPATCH(), ((const GLdouble *) - bswap_64_array((uint64_t *) (pc + 0), 1) - )); -} - -void -__glXDispSwap_FogCoordfvEXT(GLbyte * pc) -{ - CALL_FogCoordfvEXT(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), 1) - )); -} - -void -__glXDispSwap_BlendFuncSeparateEXT(GLbyte * pc) -{ - CALL_BlendFuncSeparateEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLenum) bswap_ENUM(pc + 12) - )); -} - -void -__glXDispSwap_WindowPos3fvMESA(GLbyte * pc) -{ - CALL_WindowPos3fvMESA(GET_DISPATCH(), ((const GLfloat *) - bswap_32_array((uint32_t *) (pc + 0), - 3) - )); -} - -int -__glXDispSwap_AreProgramsResidentNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - - GLboolean retval; - GLboolean answerBuffer[200]; - GLboolean *residences = - __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); - retval = - CALL_AreProgramsResidentNV(GET_DISPATCH(), - (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + 4), - 0), residences)); - __glXSendReplySwap(cl->client, residences, n, 1, GL_FALSE, retval); - error = Success; - } - - return error; -} - -void -__glXDispSwap_BindProgramNV(GLbyte * pc) -{ - CALL_BindProgramNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4) - )); -} - -int -__glXDispSwap_DeleteProgramsNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - - CALL_DeleteProgramsNV(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc + - 4), - 0) - )); - error = Success; - } - - return error; -} - -void -__glXDispSwap_ExecuteProgramNV(GLbyte * pc) -{ - CALL_ExecuteProgramNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + 8), - 4) - )); -} - -int -__glXDispSwap_GenProgramsNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - - GLuint answerBuffer[200]; - GLuint *programs = - __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), - 4); - CALL_GenProgramsNV(GET_DISPATCH(), (n, programs)); - (void) bswap_32_array((uint32_t *) programs, n); - __glXSendReplySwap(cl->client, programs, n, 4, GL_TRUE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetProgramParameterdvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLdouble params[4]; - - CALL_GetProgramParameterdvNV(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + - 4), - (GLenum) bswap_ENUM(pc + - 8), - params)); - (void) bswap_64_array((uint64_t *) params, 4); - __glXSendReplySwap(cl->client, params, 4, 8, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetProgramParameterfvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLfloat params[4]; - - CALL_GetProgramParameterfvNV(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + - 4), - (GLenum) bswap_ENUM(pc + - 8), - params)); - (void) bswap_32_array((uint32_t *) params, 4); - __glXSendReplySwap(cl->client, params, 4, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetProgramivNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetProgramivNV_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetProgramivNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - pname, params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetTrackMatrixivNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLint params[1]; - - CALL_GetTrackMatrixivNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - params)); - (void) bswap_32_array((uint32_t *) params, 1); - __glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetVertexAttribdvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetVertexAttribdvNV_size(pname); - GLdouble answerBuffer[200]; - GLdouble *params = - __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, - sizeof(answerBuffer), 8); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribdvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - pname, params)); - (void) bswap_64_array((uint64_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetVertexAttribfvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetVertexAttribfvNV_size(pname); - GLfloat answerBuffer[200]; - GLfloat *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribfvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - pname, params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetVertexAttribivNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLenum pname = (GLenum) bswap_ENUM(pc + 4); - - const GLuint compsize = __glGetVertexAttribivNV_size(pname); - GLint answerBuffer[200]; - GLint *params = - __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, - sizeof(answerBuffer), 4); - - if (params == NULL) - return BadAlloc; - __glXClearErrorOccured(); - - CALL_GetVertexAttribivNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - pname, params)); - (void) bswap_32_array((uint32_t *) params, compsize); - __glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_IsProgramNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - GLboolean retval; - - retval = CALL_IsProgramNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0) - )); - __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); - error = Success; - } - - return error; -} - -void -__glXDispSwap_LoadProgramNV(GLbyte * pc) -{ - const GLsizei len = (GLsizei) bswap_CARD32(pc + 8); - - CALL_LoadProgramNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4), - len, (const GLubyte *) (pc + 12) - )); -} - -void -__glXDispSwap_ProgramParameters4dvNV(GLbyte * pc) -{ - const GLsizei num = (GLsizei) bswap_CARD32(pc + 8); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_ProgramParameters4dvNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4), - num, - (const GLdouble *) - bswap_64_array((uint64_t *) (pc - + - 12), - 0) - )); -} - -void -__glXDispSwap_ProgramParameters4fvNV(GLbyte * pc) -{ - const GLsizei num = (GLsizei) bswap_CARD32(pc + 8); - - CALL_ProgramParameters4fvNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4), - num, - (const GLfloat *) - bswap_32_array((uint32_t *) (pc - + - 12), - 0) - )); -} - -void -__glXDispSwap_RequestResidentProgramsNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - - CALL_RequestResidentProgramsNV(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t - *) (pc + 4), - 0) - )); -} - -void -__glXDispSwap_TrackMatrixNV(GLbyte * pc) -{ - CALL_TrackMatrixNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLenum) bswap_ENUM(pc + 12) - )); -} - -void -__glXDispSwap_VertexAttrib1dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 12); - pc -= 4; - } -#endif - - CALL_VertexAttrib1dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 1) - )); -} - -void -__glXDispSwap_VertexAttrib1fvNV(GLbyte * pc) -{ - CALL_VertexAttrib1fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 1) - )); -} - -void -__glXDispSwap_VertexAttrib1svNV(GLbyte * pc) -{ - CALL_VertexAttrib1svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 1) - )); -} - -void -__glXDispSwap_VertexAttrib2dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 20); - pc -= 4; - } -#endif - - CALL_VertexAttrib2dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 2) - )); -} - -void -__glXDispSwap_VertexAttrib2fvNV(GLbyte * pc) -{ - CALL_VertexAttrib2fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 2) - )); -} - -void -__glXDispSwap_VertexAttrib2svNV(GLbyte * pc) -{ - CALL_VertexAttrib2svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 2) - )); -} - -void -__glXDispSwap_VertexAttrib3dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 28); - pc -= 4; - } -#endif - - CALL_VertexAttrib3dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 3) - )); -} - -void -__glXDispSwap_VertexAttrib3fvNV(GLbyte * pc) -{ - CALL_VertexAttrib3fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 3) - )); -} - -void -__glXDispSwap_VertexAttrib3svNV(GLbyte * pc) -{ - CALL_VertexAttrib3svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 3) - )); -} - -void -__glXDispSwap_VertexAttrib4dvNV(GLbyte * pc) -{ -#ifdef __GLX_ALIGN64 - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, 36); - pc -= 4; - } -#endif - - CALL_VertexAttrib4dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 4), 4) - )); -} - -void -__glXDispSwap_VertexAttrib4fvNV(GLbyte * pc) -{ - CALL_VertexAttrib4fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 4), 4) - )); -} - -void -__glXDispSwap_VertexAttrib4svNV(GLbyte * pc) -{ - CALL_VertexAttrib4svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 4), 4) - )); -} - -void -__glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc) -{ - CALL_VertexAttrib4ubvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - (const GLubyte *) (pc + 4) - )); -} - -void -__glXDispSwap_VertexAttribs1dvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs1dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs1fvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs1fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs1svNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs1svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs2dvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs2dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs2fvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs2fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs2svNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs2svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs3dvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs3dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs3fvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs3fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs3svNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs3svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs4dvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_VertexAttribs4dvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLdouble *) - bswap_64_array((uint64_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs4fvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs4fvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLfloat *) - bswap_32_array((uint32_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs4svNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs4svNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, - (const GLshort *) - bswap_16_array((uint16_t *) (pc + - 8), 0) - )); -} - -void -__glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc) -{ - const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); - - CALL_VertexAttribs4ubvNV(GET_DISPATCH(), ((GLuint) bswap_CARD32(pc + 0), - n, (const GLubyte *) (pc + 8) - )); -} - -void -__glXDispSwap_PointParameteriNV(GLbyte * pc) -{ - CALL_PointParameteriNV(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLint) bswap_CARD32(pc + 4) - )); -} - -void -__glXDispSwap_PointParameterivNV(GLbyte * pc) -{ - const GLenum pname = (GLenum) bswap_ENUM(pc + 0); - const GLint *params; - - params = - (const GLint *) bswap_32_array((uint32_t *) (pc + 4), - __glPointParameterivNV_size(pname)); - - CALL_PointParameterivNV(GET_DISPATCH(), (pname, params)); -} - -void -__glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc) -{ - CALL_ActiveStencilFaceEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); -} - -int -__glXDispSwap_GetProgramNamedParameterdvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei len = (GLsizei) bswap_CARD32(pc + 4); - - GLdouble params[4]; - - CALL_GetProgramNamedParameterdvNV(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0), - len, - (const GLubyte *) (pc - + - 8), - params)); - (void) bswap_64_array((uint64_t *) params, 4); - __glXSendReplySwap(cl->client, params, 4, 8, GL_TRUE, 0); - error = Success; - } - - return error; -} - -int -__glXDispSwap_GetProgramNamedParameterfvNV(__GLXclientState * cl, GLbyte * pc) -{ - xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; - int error; - __GLXcontext *const cx = - __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error); - - pc += __GLX_VENDPRIV_HDR_SIZE; - if (cx != NULL) { - const GLsizei len = (GLsizei) bswap_CARD32(pc + 4); - - GLfloat params[4]; - - CALL_GetProgramNamedParameterfvNV(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0), - len, - (const GLubyte *) (pc - + - 8), - params)); - (void) bswap_32_array((uint32_t *) params, 4); - __glXSendReplySwap(cl->client, params, 4, 4, GL_TRUE, 0); - error = Success; - } - - return error; -} - -void -__glXDispSwap_ProgramNamedParameter4dvNV(GLbyte * pc) -{ - const GLsizei len = (GLsizei) bswap_CARD32(pc + 36); - -#ifdef __GLX_ALIGN64 - const GLuint cmdlen = 44 + __GLX_PAD(len) - 4; - - if ((unsigned long) (pc) & 7) { - (void) memmove(pc - 4, pc, cmdlen); - pc -= 4; - } -#endif - - CALL_ProgramNamedParameter4dvNV(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 32), len, - (const GLubyte *) (pc + - 40), - (const GLdouble *) - bswap_64_array((uint64_t - *) (pc + - 0), 4) - )); -} - -void -__glXDispSwap_ProgramNamedParameter4fvNV(GLbyte * pc) -{ - const GLsizei len = (GLsizei) bswap_CARD32(pc + 4); - - CALL_ProgramNamedParameter4fvNV(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0), len, - (const GLubyte *) (pc + - 24), - (const GLfloat *) - bswap_32_array((uint32_t - *) (pc + - 8), 4) - )); -} - -void -__glXDispSwap_BlendEquationSeparateEXT(GLbyte * pc) -{ - CALL_BlendEquationSeparateEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4) - )); -} - -void -__glXDispSwap_BindFramebufferEXT(GLbyte * pc) -{ - CALL_BindFramebufferEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4) - )); -} - -void -__glXDispSwap_BindRenderbufferEXT(GLbyte * pc) -{ - CALL_BindRenderbufferEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLuint) bswap_CARD32(pc + 4) - )); -} - -int -__glXDispSwap_CheckFramebufferStatusEXT(__GLXclientState * cl, GLbyte * pc) +__glXDispSwap_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc) { + PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus = + __glGetProcAddress("glCheckFramebufferStatus"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -6504,10 +5012,7 @@ __glXDispSwap_CheckFramebufferStatusEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLenum retval; - retval = CALL_CheckFramebufferStatusEXT(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + - 0) - )); + retval = CheckFramebufferStatus((GLenum) bswap_ENUM(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -6516,87 +5021,94 @@ __glXDispSwap_CheckFramebufferStatusEXT(__GLXclientState * cl, GLbyte * pc) } void -__glXDispSwap_DeleteFramebuffersEXT(GLbyte * pc) +__glXDispSwap_DeleteFramebuffers(GLbyte * pc) { + PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers = + __glGetProcAddress("glDeleteFramebuffers"); const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - CALL_DeleteFramebuffersEXT(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc - + - 4), - 0) - )); + DeleteFramebuffers(n, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 0)); } void -__glXDispSwap_DeleteRenderbuffersEXT(GLbyte * pc) +__glXDispSwap_DeleteRenderbuffers(GLbyte * pc) { + PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers = + __glGetProcAddress("glDeleteRenderbuffers"); const GLsizei n = (GLsizei) bswap_CARD32(pc + 0); - CALL_DeleteRenderbuffersEXT(GET_DISPATCH(), (n, - (const GLuint *) - bswap_32_array((uint32_t *) (pc - + - 4), - 0) - )); + DeleteRenderbuffers(n, + (const GLuint *) bswap_32_array((uint32_t *) (pc + 4), + 0)); } void -__glXDispSwap_FramebufferRenderbufferEXT(GLbyte * pc) +__glXDispSwap_FramebufferRenderbuffer(GLbyte * pc) { - CALL_FramebufferRenderbufferEXT(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + - 4), - (GLenum) bswap_ENUM(pc + - 8), - (GLuint) bswap_CARD32(pc + - 12) - )); + PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer = + __glGetProcAddress("glFramebufferRenderbuffer"); + FramebufferRenderbuffer((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLuint) bswap_CARD32(pc + 12)); } void -__glXDispSwap_FramebufferTexture1DEXT(GLbyte * pc) +__glXDispSwap_FramebufferTexture1D(GLbyte * pc) { - CALL_FramebufferTexture1DEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLuint) bswap_CARD32(pc + - 12), - (GLint) bswap_CARD32(pc + 16) - )); + PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D = + __glGetProcAddress("glFramebufferTexture1D"); + FramebufferTexture1D((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLuint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16)); } void -__glXDispSwap_FramebufferTexture2DEXT(GLbyte * pc) +__glXDispSwap_FramebufferTexture2D(GLbyte * pc) { - CALL_FramebufferTexture2DEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLuint) bswap_CARD32(pc + - 12), - (GLint) bswap_CARD32(pc + 16) - )); + PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D = + __glGetProcAddress("glFramebufferTexture2D"); + FramebufferTexture2D((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLuint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16)); } void -__glXDispSwap_FramebufferTexture3DEXT(GLbyte * pc) +__glXDispSwap_FramebufferTexture3D(GLbyte * pc) { - CALL_FramebufferTexture3DEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLenum) bswap_ENUM(pc + 8), - (GLuint) bswap_CARD32(pc + - 12), - (GLint) bswap_CARD32(pc + 16), - (GLint) bswap_CARD32(pc + 20) - )); + PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D = + __glGetProcAddress("glFramebufferTexture3D"); + FramebufferTexture3D((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLuint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16), + (GLint) bswap_CARD32(pc + 20)); +} + +void +__glXDispSwap_FramebufferTextureLayer(GLbyte * pc) +{ + PFNGLFRAMEBUFFERTEXTURELAYERPROC FramebufferTextureLayer = + __glGetProcAddress("glFramebufferTextureLayer"); + FramebufferTextureLayer((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLuint) bswap_CARD32(pc + 8), + (GLint) bswap_CARD32(pc + 12), + (GLint) bswap_CARD32(pc + 16)); } int -__glXDispSwap_GenFramebuffersEXT(__GLXclientState * cl, GLbyte * pc) +__glXDispSwap_GenFramebuffers(__GLXclientState * cl, GLbyte * pc) { + PFNGLGENFRAMEBUFFERSPROC GenFramebuffers = + __glGetProcAddress("glGenFramebuffers"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -6610,7 +5122,7 @@ __glXDispSwap_GenFramebuffersEXT(__GLXclientState * cl, GLbyte * pc) GLuint *framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenFramebuffersEXT(GET_DISPATCH(), (n, framebuffers)); + GenFramebuffers(n, framebuffers); (void) bswap_32_array((uint32_t *) framebuffers, n); __glXSendReplySwap(cl->client, framebuffers, n, 4, GL_TRUE, 0); error = Success; @@ -6620,8 +5132,10 @@ __glXDispSwap_GenFramebuffersEXT(__GLXclientState * cl, GLbyte * pc) } int -__glXDispSwap_GenRenderbuffersEXT(__GLXclientState * cl, GLbyte * pc) +__glXDispSwap_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc) { + PFNGLGENRENDERBUFFERSPROC GenRenderbuffers = + __glGetProcAddress("glGenRenderbuffers"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -6635,7 +5149,7 @@ __glXDispSwap_GenRenderbuffersEXT(__GLXclientState * cl, GLbyte * pc) GLuint *renderbuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); - CALL_GenRenderbuffersEXT(GET_DISPATCH(), (n, renderbuffers)); + GenRenderbuffers(n, renderbuffers); (void) bswap_32_array((uint32_t *) renderbuffers, n); __glXSendReplySwap(cl->client, renderbuffers, n, 4, GL_TRUE, 0); error = Success; @@ -6645,16 +5159,20 @@ __glXDispSwap_GenRenderbuffersEXT(__GLXclientState * cl, GLbyte * pc) } void -__glXDispSwap_GenerateMipmapEXT(GLbyte * pc) +__glXDispSwap_GenerateMipmap(GLbyte * pc) { - CALL_GenerateMipmapEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0) - )); + PFNGLGENERATEMIPMAPPROC GenerateMipmap = + __glGetProcAddress("glGenerateMipmap"); + GenerateMipmap((GLenum) bswap_ENUM(pc + 0)); } int -__glXDispSwap_GetFramebufferAttachmentParameterivEXT(__GLXclientState * cl, - GLbyte * pc) +__glXDispSwap_GetFramebufferAttachmentParameteriv(__GLXclientState * cl, + GLbyte * pc) { + PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC + GetFramebufferAttachmentParameteriv = + __glGetProcAddress("glGetFramebufferAttachmentParameteriv"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -6664,16 +5182,10 @@ __glXDispSwap_GetFramebufferAttachmentParameterivEXT(__GLXclientState * cl, if (cx != NULL) { GLint params[1]; - CALL_GetFramebufferAttachmentParameterivEXT(GET_DISPATCH(), ((GLenum) - bswap_ENUM - (pc + 0), - (GLenum) - bswap_ENUM - (pc + 4), - (GLenum) - bswap_ENUM - (pc + 8), - params)); + GetFramebufferAttachmentParameteriv((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + params); (void) bswap_32_array((uint32_t *) params, 1); __glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0); error = Success; @@ -6683,8 +5195,10 @@ __glXDispSwap_GetFramebufferAttachmentParameterivEXT(__GLXclientState * cl, } int -__glXDispSwap_GetRenderbufferParameterivEXT(__GLXclientState * cl, GLbyte * pc) +__glXDispSwap_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc) { + PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv = + __glGetProcAddress("glGetRenderbufferParameteriv"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -6694,11 +5208,8 @@ __glXDispSwap_GetRenderbufferParameterivEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLint params[1]; - CALL_GetRenderbufferParameterivEXT(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLenum) - bswap_ENUM(pc + 4), - params)); + GetRenderbufferParameteriv((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), params); (void) bswap_32_array((uint32_t *) params, 1); __glXSendReplySwap(cl->client, params, 1, 4, GL_FALSE, 0); error = Success; @@ -6708,8 +5219,10 @@ __glXDispSwap_GetRenderbufferParameterivEXT(__GLXclientState * cl, GLbyte * pc) } int -__glXDispSwap_IsFramebufferEXT(__GLXclientState * cl, GLbyte * pc) +__glXDispSwap_IsFramebuffer(__GLXclientState * cl, GLbyte * pc) { + PFNGLISFRAMEBUFFERPROC IsFramebuffer = + __glGetProcAddress("glIsFramebuffer"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -6719,9 +5232,7 @@ __glXDispSwap_IsFramebufferEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsFramebufferEXT(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0) - )); + retval = IsFramebuffer((GLuint) bswap_CARD32(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -6730,8 +5241,10 @@ __glXDispSwap_IsFramebufferEXT(__GLXclientState * cl, GLbyte * pc) } int -__glXDispSwap_IsRenderbufferEXT(__GLXclientState * cl, GLbyte * pc) +__glXDispSwap_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc) { + PFNGLISRENDERBUFFERPROC IsRenderbuffer = + __glGetProcAddress("glIsRenderbuffer"); xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc; int error; __GLXcontext *const cx = @@ -6741,9 +5254,7 @@ __glXDispSwap_IsRenderbufferEXT(__GLXclientState * cl, GLbyte * pc) if (cx != NULL) { GLboolean retval; - retval = CALL_IsRenderbufferEXT(GET_DISPATCH(), ((GLuint) - bswap_CARD32(pc + 0) - )); + retval = IsRenderbuffer((GLuint) bswap_CARD32(pc + 0)); __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval); error = Success; } @@ -6752,43 +5263,409 @@ __glXDispSwap_IsRenderbufferEXT(__GLXclientState * cl, GLbyte * pc) } void -__glXDispSwap_RenderbufferStorageEXT(GLbyte * pc) +__glXDispSwap_RenderbufferStorage(GLbyte * pc) { - CALL_RenderbufferStorageEXT(GET_DISPATCH(), ((GLenum) bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + 4), - (GLsizei) bswap_CARD32(pc + 8), - (GLsizei) bswap_CARD32(pc + 12) - )); + PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage = + __glGetProcAddress("glRenderbufferStorage"); + RenderbufferStorage((GLenum) bswap_ENUM(pc + 0), + (GLenum) bswap_ENUM(pc + 4), + (GLsizei) bswap_CARD32(pc + 8), + (GLsizei) bswap_CARD32(pc + 12)); } void -__glXDispSwap_BlitFramebufferEXT(GLbyte * pc) +__glXDispSwap_RenderbufferStorageMultisample(GLbyte * pc) { - CALL_BlitFramebufferEXT(GET_DISPATCH(), ((GLint) bswap_CARD32(pc + 0), - (GLint) bswap_CARD32(pc + 4), - (GLint) bswap_CARD32(pc + 8), - (GLint) bswap_CARD32(pc + 12), - (GLint) bswap_CARD32(pc + 16), - (GLint) bswap_CARD32(pc + 20), - (GLint) bswap_CARD32(pc + 24), - (GLint) bswap_CARD32(pc + 28), - (GLbitfield) bswap_CARD32(pc + 32), - (GLenum) bswap_ENUM(pc + 36) - )); + PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample = + __glGetProcAddress("glRenderbufferStorageMultisample"); + RenderbufferStorageMultisample((GLenum) bswap_ENUM(pc + 0), + (GLsizei) bswap_CARD32(pc + 4), + (GLenum) bswap_ENUM(pc + 8), + (GLsizei) bswap_CARD32(pc + 12), + (GLsizei) bswap_CARD32(pc + 16)); } void -__glXDispSwap_FramebufferTextureLayerEXT(GLbyte * pc) +__glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc) { - CALL_FramebufferTextureLayerEXT(GET_DISPATCH(), ((GLenum) - bswap_ENUM(pc + 0), - (GLenum) bswap_ENUM(pc + - 4), - (GLuint) bswap_CARD32(pc + - 8), - (GLint) bswap_CARD32(pc + - 12), - (GLint) bswap_CARD32(pc + - 16) - )); + PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT = + __glGetProcAddress("glSecondaryColor3fvEXT"); + SecondaryColor3fvEXT((const GLfloat *) + bswap_32_array((uint32_t *) (pc + 0), 3)); +} + +void +__glXDispSwap_FogCoordfvEXT(GLbyte * pc) +{ + PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT = + __glGetProcAddress("glFogCoordfvEXT"); + FogCoordfvEXT((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1)); +} + +void +__glXDispSwap_VertexAttrib1dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV = + __glGetProcAddress("glVertexAttrib1dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 12); + pc -= 4; + } +#endif + + VertexAttrib1dvNV((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 1)); +} + +void +__glXDispSwap_VertexAttrib1fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV = + __glGetProcAddress("glVertexAttrib1fvNV"); + VertexAttrib1fvNV((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 1)); +} + +void +__glXDispSwap_VertexAttrib1svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV = + __glGetProcAddress("glVertexAttrib1svNV"); + VertexAttrib1svNV((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 1)); +} + +void +__glXDispSwap_VertexAttrib2dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV = + __glGetProcAddress("glVertexAttrib2dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 20); + pc -= 4; + } +#endif + + VertexAttrib2dvNV((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 2)); +} + +void +__glXDispSwap_VertexAttrib2fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV = + __glGetProcAddress("glVertexAttrib2fvNV"); + VertexAttrib2fvNV((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 2)); +} + +void +__glXDispSwap_VertexAttrib2svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV = + __glGetProcAddress("glVertexAttrib2svNV"); + VertexAttrib2svNV((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 2)); +} + +void +__glXDispSwap_VertexAttrib3dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV = + __glGetProcAddress("glVertexAttrib3dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 28); + pc -= 4; + } +#endif + + VertexAttrib3dvNV((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 3)); +} + +void +__glXDispSwap_VertexAttrib3fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV = + __glGetProcAddress("glVertexAttrib3fvNV"); + VertexAttrib3fvNV((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 3)); +} + +void +__glXDispSwap_VertexAttrib3svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV = + __glGetProcAddress("glVertexAttrib3svNV"); + VertexAttrib3svNV((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 3)); +} + +void +__glXDispSwap_VertexAttrib4dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV = + __glGetProcAddress("glVertexAttrib4dvNV"); +#ifdef __GLX_ALIGN64 + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, 36); + pc -= 4; + } +#endif + + VertexAttrib4dvNV((GLuint) bswap_CARD32(pc + 0), + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_VertexAttrib4fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV = + __glGetProcAddress("glVertexAttrib4fvNV"); + VertexAttrib4fvNV((GLuint) bswap_CARD32(pc + 0), + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_VertexAttrib4svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV = + __glGetProcAddress("glVertexAttrib4svNV"); + VertexAttrib4svNV((GLuint) bswap_CARD32(pc + 0), + (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), + 4)); +} + +void +__glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV = + __glGetProcAddress("glVertexAttrib4ubvNV"); + VertexAttrib4ubvNV((GLuint) bswap_CARD32(pc + 0), + (const GLubyte *) (pc + 4)); +} + +void +__glXDispSwap_VertexAttribs1dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV = + __glGetProcAddress("glVertexAttribs1dvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 8)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs1dvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs1fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV = + __glGetProcAddress("glVertexAttribs1fvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs1fvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs1svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV = + __glGetProcAddress("glVertexAttribs1svNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs1svNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLshort *) bswap_16_array((uint16_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs2dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV = + __glGetProcAddress("glVertexAttribs2dvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 16)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs2dvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs2fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV = + __glGetProcAddress("glVertexAttribs2fvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs2fvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs2svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV = + __glGetProcAddress("glVertexAttribs2svNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs2svNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLshort *) bswap_16_array((uint16_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs3dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV = + __glGetProcAddress("glVertexAttribs3dvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 24)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs3dvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs3fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV = + __glGetProcAddress("glVertexAttribs3fvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs3fvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs3svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV = + __glGetProcAddress("glVertexAttribs3svNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs3svNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLshort *) bswap_16_array((uint16_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs4dvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV = + __glGetProcAddress("glVertexAttribs4dvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + +#ifdef __GLX_ALIGN64 + const GLuint cmdlen = 12 + __GLX_PAD((n * 32)) - 4; + + if ((unsigned long) (pc) & 7) { + (void) memmove(pc - 4, pc, cmdlen); + pc -= 4; + } +#endif + + VertexAttribs4dvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs4fvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV = + __glGetProcAddress("glVertexAttribs4fvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs4fvNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs4svNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV = + __glGetProcAddress("glVertexAttribs4svNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs4svNV((GLuint) bswap_CARD32(pc + 0), + n, + (const GLshort *) bswap_16_array((uint16_t *) (pc + 8), + 0)); +} + +void +__glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc) +{ + PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV = + __glGetProcAddress("glVertexAttribs4ubvNV"); + const GLsizei n = (GLsizei) bswap_CARD32(pc + 4); + + VertexAttribs4ubvNV((GLuint) bswap_CARD32(pc + 0), + n, (const GLubyte *) (pc + 8)); +} + +void +__glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc) +{ + PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT = + __glGetProcAddress("glActiveStencilFaceEXT"); + ActiveStencilFaceEXT((GLenum) bswap_ENUM(pc + 0)); } diff --git a/xserver/glx/indirect_program.c b/xserver/glx/indirect_program.c index 0114d7347..fa4a2408b 100644 --- a/xserver/glx/indirect_program.c +++ b/xserver/glx/indirect_program.c @@ -40,28 +40,15 @@ #include "unpack.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" - -static int DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc, - unsigned get_programiv_offset, - unsigned get_program_string_offset, Bool do_swap); /** * Handle both types of glGetProgramString calls. - * - * This single function handles both \c glGetProgramStringARB and - * \c glGetProgramStringNV. The dispatch offsets for the functions to use - * for \c glGetProgramivARB and \c glGetProgramStringARB are passed in by the - * caller. These can be the offsets of either the ARB versions or the NV - * versions. */ -int +static int DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc, - unsigned get_programiv_offset, - unsigned get_program_string_offset, Bool do_swap) + PFNGLGETPROGRAMIVARBPROC get_programiv, + PFNGLGETPROGRAMSTRINGARBPROC get_program_string, + Bool do_swap) { xGLXVendorPrivateWithReplyReq *const req = (xGLXVendorPrivateWithReplyReq *) pc; @@ -88,19 +75,13 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc, /* The value of the GL_PROGRAM_LENGTH_ARB and GL_PROGRAM_LENGTH_NV * enumerants is the same. */ - CALL_by_offset(GET_DISPATCH(), - (void (GLAPIENTRYP) (GLuint, GLenum, GLint *)), - get_programiv_offset, - (target, GL_PROGRAM_LENGTH_ARB, &compsize)); + get_programiv(target, GL_PROGRAM_LENGTH_ARB, &compsize); if (compsize != 0) { __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_by_offset(GET_DISPATCH(), - (void (GLAPIENTRYP) (GLuint, GLenum, GLubyte *)), - get_program_string_offset, - (target, pname, (GLubyte *) answer)); + get_program_string(target, pname, (GLubyte *) answer); } if (__glXErrorOccured()) { @@ -123,27 +104,43 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc, int __glXDisp_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc) { - return DoGetProgramString(cl, pc, _gloffset_GetProgramivARB, - _gloffset_GetProgramStringARB, False); + PFNGLGETPROGRAMIVARBPROC get_program = + __glGetProcAddress("glGetProgramivARB"); + PFNGLGETPROGRAMSTRINGARBPROC get_program_string = + __glGetProcAddress("glGetProgramStringARB"); + + return DoGetProgramString(cl, pc, get_program, get_program_string, False); } int __glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc) { - return DoGetProgramString(cl, pc, _gloffset_GetProgramivARB, - _gloffset_GetProgramStringARB, True); + PFNGLGETPROGRAMIVARBPROC get_program = + __glGetProcAddress("glGetProgramivARB"); + PFNGLGETPROGRAMSTRINGARBPROC get_program_string = + __glGetProcAddress("glGetProgramStringARB"); + + return DoGetProgramString(cl, pc, get_program, get_program_string, True); } int __glXDisp_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc) { - return DoGetProgramString(cl, pc, _gloffset_GetProgramivNV, - _gloffset_GetProgramStringNV, False); + PFNGLGETPROGRAMIVARBPROC get_program = + __glGetProcAddress("glGetProgramivARB"); + PFNGLGETPROGRAMSTRINGARBPROC get_program_string = + __glGetProcAddress("glGetProgramStringARB"); + + return DoGetProgramString(cl, pc, get_program, get_program_string, False); } int __glXDispSwap_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc) { - return DoGetProgramString(cl, pc, _gloffset_GetProgramivNV, - _gloffset_GetProgramStringNV, True); + PFNGLGETPROGRAMIVARBPROC get_program = + __glGetProcAddress("glGetProgramivARB"); + PFNGLGETPROGRAMSTRINGARBPROC get_program_string = + __glGetProcAddress("glGetProgramStringARB"); + + return DoGetProgramString(cl, pc, get_program, get_program_string, True); } diff --git a/xserver/glx/indirect_reqsize.c b/xserver/glx/indirect_reqsize.c index 86ea9700f..026afb6fb 100644 --- a/xserver/glx/indirect_reqsize.c +++ b/xserver/glx/indirect_reqsize.c @@ -613,7 +613,7 @@ __glXTexSubImage3DReqSize(const GLbyte * pc, Bool swap) } int -__glXCompressedTexImage1DARBReqSize(const GLbyte * pc, Bool swap) +__glXCompressedTexImage1DReqSize(const GLbyte * pc, Bool swap) { GLsizei imageSize = *(GLsizei *) (pc + 20); @@ -625,7 +625,7 @@ __glXCompressedTexImage1DARBReqSize(const GLbyte * pc, Bool swap) } int -__glXCompressedTexImage2DARBReqSize(const GLbyte * pc, Bool swap) +__glXCompressedTexImage2DReqSize(const GLbyte * pc, Bool swap) { GLsizei imageSize = *(GLsizei *) (pc + 24); @@ -637,7 +637,7 @@ __glXCompressedTexImage2DARBReqSize(const GLbyte * pc, Bool swap) } int -__glXCompressedTexImage3DARBReqSize(const GLbyte * pc, Bool swap) +__glXCompressedTexImage3DReqSize(const GLbyte * pc, Bool swap) { GLsizei imageSize = *(GLsizei *) (pc + 28); @@ -649,7 +649,7 @@ __glXCompressedTexImage3DARBReqSize(const GLbyte * pc, Bool swap) } int -__glXCompressedTexSubImage3DARBReqSize(const GLbyte * pc, Bool swap) +__glXCompressedTexSubImage3DReqSize(const GLbyte * pc, Bool swap) { GLsizei imageSize = *(GLsizei *) (pc + 36); @@ -660,6 +660,32 @@ __glXCompressedTexSubImage3DARBReqSize(const GLbyte * pc, Bool swap) return __GLX_PAD(imageSize); } +int +__glXPointParameterfvReqSize(const GLbyte * pc, Bool swap) +{ + GLenum pname = *(GLenum *) (pc + 0); + GLsizei compsize; + + if (swap) { + pname = bswap_32(pname); + } + + compsize = __glPointParameterfv_size(pname); + return __GLX_PAD((compsize * 4)); +} + +int +__glXDrawBuffersReqSize(const GLbyte * pc, Bool swap) +{ + GLsizei n = *(GLsizei *) (pc + 0); + + if (swap) { + n = bswap_32(n); + } + + return __GLX_PAD((n * 4)); +} + int __glXProgramStringARBReqSize(const GLbyte * pc, Bool swap) { @@ -672,56 +698,6 @@ __glXProgramStringARBReqSize(const GLbyte * pc, Bool swap) return __GLX_PAD(len); } -int -__glXDrawBuffersARBReqSize(const GLbyte * pc, Bool swap) -{ - GLsizei n = *(GLsizei *) (pc + 0); - - if (swap) { - n = bswap_32(n); - } - - return __GLX_PAD((n * 4)); -} - -int -__glXPointParameterfvEXTReqSize(const GLbyte * pc, Bool swap) -{ - GLenum pname = *(GLenum *) (pc + 0); - GLsizei compsize; - - if (swap) { - pname = bswap_32(pname); - } - - compsize = __glPointParameterfvEXT_size(pname); - return __GLX_PAD((compsize * 4)); -} - -int -__glXProgramParameters4dvNVReqSize(const GLbyte * pc, Bool swap) -{ - GLsizei num = *(GLsizei *) (pc + 8); - - if (swap) { - num = bswap_32(num); - } - - return __GLX_PAD((num * 32)); -} - -int -__glXProgramParameters4fvNVReqSize(const GLbyte * pc, Bool swap) -{ - GLsizei num = *(GLsizei *) (pc + 8); - - if (swap) { - num = bswap_32(num); - } - - return __GLX_PAD((num * 16)); -} - int __glXVertexAttribs1dvNVReqSize(const GLbyte * pc, Bool swap) { @@ -794,18 +770,6 @@ __glXVertexAttribs4dvNVReqSize(const GLbyte * pc, Bool swap) return __GLX_PAD((n * 32)); } -int -__glXProgramNamedParameter4fvNVReqSize(const GLbyte * pc, Bool swap) -{ - GLsizei len = *(GLsizei *) (pc + 4); - - if (swap) { - len = bswap_32(len); - } - - return __GLX_PAD(len); -} - ALIAS(Fogiv, Fogfv) ALIAS(Lightiv, Lightfv) ALIAS(LightModeliv, LightModelfv) @@ -816,10 +780,11 @@ ALIAS(Fogiv, Fogfv) ALIAS(PixelMapuiv, PixelMapfv) ALIAS(ColorTableParameteriv, ColorTableParameterfv) ALIAS(ConvolutionParameteriv, ConvolutionParameterfv) - ALIAS(CompressedTexSubImage1DARB, CompressedTexImage1DARB) - ALIAS(CompressedTexSubImage2DARB, CompressedTexImage3DARB) - ALIAS(LoadProgramNV, ProgramStringARB) - ALIAS(RequestResidentProgramsNV, DrawBuffersARB) + ALIAS(CompressedTexSubImage1D, CompressedTexImage1D) + ALIAS(CompressedTexSubImage2D, CompressedTexImage3D) + ALIAS(PointParameteriv, PointParameterfv) + ALIAS(DeleteFramebuffers, DrawBuffers) + ALIAS(DeleteRenderbuffers, DrawBuffers) ALIAS(VertexAttribs1fvNV, PixelMapfv) ALIAS(VertexAttribs1svNV, PixelMapusv) ALIAS(VertexAttribs2fvNV, VertexAttribs1dvNV) @@ -827,7 +792,3 @@ ALIAS(Fogiv, Fogfv) ALIAS(VertexAttribs4fvNV, VertexAttribs2dvNV) ALIAS(VertexAttribs4svNV, VertexAttribs1dvNV) ALIAS(VertexAttribs4ubvNV, PixelMapfv) - ALIAS(PointParameterivNV, PointParameterfvEXT) - ALIAS(ProgramNamedParameter4dvNV, CompressedTexSubImage3DARB) - ALIAS(DeleteFramebuffersEXT, DrawBuffersARB) - ALIAS(DeleteRenderbuffersEXT, DrawBuffersARB) diff --git a/xserver/glx/indirect_reqsize.h b/xserver/glx/indirect_reqsize.h index d2c1da762..43e1e69e3 100644 --- a/xserver/glx/indirect_reqsize.h +++ b/xserver/glx/indirect_reqsize.h @@ -96,32 +96,29 @@ extern PURE _X_HIDDEN int __glXSeparableFilter2DReqSize(const GLbyte * pc, extern PURE _X_HIDDEN int __glXTexImage3DReqSize(const GLbyte * pc, Bool swap); extern PURE _X_HIDDEN int __glXTexSubImage3DReqSize(const GLbyte * pc, Bool swap); -extern PURE _X_HIDDEN int __glXCompressedTexImage1DARBReqSize(const GLbyte * pc, +extern PURE _X_HIDDEN int __glXCompressedTexImage1DReqSize(const GLbyte * pc, + Bool swap); +extern PURE _X_HIDDEN int __glXCompressedTexImage2DReqSize(const GLbyte * pc, + Bool swap); +extern PURE _X_HIDDEN int __glXCompressedTexImage3DReqSize(const GLbyte * pc, + Bool swap); +extern PURE _X_HIDDEN int __glXCompressedTexSubImage1DReqSize(const GLbyte * pc, Bool swap); -extern PURE _X_HIDDEN int __glXCompressedTexImage2DARBReqSize(const GLbyte * pc, +extern PURE _X_HIDDEN int __glXCompressedTexSubImage2DReqSize(const GLbyte * pc, Bool swap); -extern PURE _X_HIDDEN int __glXCompressedTexImage3DARBReqSize(const GLbyte * pc, +extern PURE _X_HIDDEN int __glXCompressedTexSubImage3DReqSize(const GLbyte * pc, Bool swap); -extern PURE _X_HIDDEN int __glXCompressedTexSubImage1DARBReqSize(const GLbyte * - pc, Bool swap); -extern PURE _X_HIDDEN int __glXCompressedTexSubImage2DARBReqSize(const GLbyte * - pc, Bool swap); -extern PURE _X_HIDDEN int __glXCompressedTexSubImage3DARBReqSize(const GLbyte * - pc, Bool swap); +extern PURE _X_HIDDEN int __glXPointParameterfvReqSize(const GLbyte * pc, + Bool swap); +extern PURE _X_HIDDEN int __glXPointParameterivReqSize(const GLbyte * pc, + Bool swap); +extern PURE _X_HIDDEN int __glXDrawBuffersReqSize(const GLbyte * pc, Bool swap); extern PURE _X_HIDDEN int __glXProgramStringARBReqSize(const GLbyte * pc, Bool swap); -extern PURE _X_HIDDEN int __glXDrawBuffersARBReqSize(const GLbyte * pc, - Bool swap); -extern PURE _X_HIDDEN int __glXPointParameterfvEXTReqSize(const GLbyte * pc, +extern PURE _X_HIDDEN int __glXDeleteFramebuffersReqSize(const GLbyte * pc, + Bool swap); +extern PURE _X_HIDDEN int __glXDeleteRenderbuffersReqSize(const GLbyte * pc, Bool swap); -extern PURE _X_HIDDEN int __glXLoadProgramNVReqSize(const GLbyte * pc, - Bool swap); -extern PURE _X_HIDDEN int __glXProgramParameters4dvNVReqSize(const GLbyte * pc, - Bool swap); -extern PURE _X_HIDDEN int __glXProgramParameters4fvNVReqSize(const GLbyte * pc, - Bool swap); -extern PURE _X_HIDDEN int __glXRequestResidentProgramsNVReqSize(const GLbyte * - pc, Bool swap); extern PURE _X_HIDDEN int __glXVertexAttribs1dvNVReqSize(const GLbyte * pc, Bool swap); extern PURE _X_HIDDEN int __glXVertexAttribs1fvNVReqSize(const GLbyte * pc, @@ -148,16 +145,6 @@ extern PURE _X_HIDDEN int __glXVertexAttribs4svNVReqSize(const GLbyte * pc, Bool swap); extern PURE _X_HIDDEN int __glXVertexAttribs4ubvNVReqSize(const GLbyte * pc, Bool swap); -extern PURE _X_HIDDEN int __glXPointParameterivNVReqSize(const GLbyte * pc, - Bool swap); -extern PURE _X_HIDDEN int __glXProgramNamedParameter4dvNVReqSize(const GLbyte * - pc, Bool swap); -extern PURE _X_HIDDEN int __glXProgramNamedParameter4fvNVReqSize(const GLbyte * - pc, Bool swap); -extern PURE _X_HIDDEN int __glXDeleteFramebuffersEXTReqSize(const GLbyte * pc, - Bool swap); -extern PURE _X_HIDDEN int __glXDeleteRenderbuffersEXTReqSize(const GLbyte * pc, - Bool swap); #undef PURE diff --git a/xserver/glx/indirect_size.h b/xserver/glx/indirect_size.h index 56ffc1c68..fec7ed393 100644 --- a/xserver/glx/indirect_size.h +++ b/xserver/glx/indirect_size.h @@ -72,12 +72,14 @@ extern _X_INTERNAL PURE FASTCALL GLint __glMap2d_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glMap2f_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glColorTableParameterfv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glColorTableParameteriv_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glConvolutionParameterfv_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glConvolutionParameteriv_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glPointParameterfvEXT_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glPointParameterivNV_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint +__glConvolutionParameterfv_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint +__glConvolutionParameteriv_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint __glPointParameterfv_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint __glPointParameteriv_size(GLenum); #undef PURE #undef FASTCALL -#endif /* !defined( _INDIRECT_SIZE_H_ ) */ +#endif /* !defined( _INDIRECT_SIZE_H_ ) */ diff --git a/xserver/glx/indirect_size_get.c b/xserver/glx/indirect_size_get.c index da3a6cb85..f87931193 100644 --- a/xserver/glx/indirect_size_get.c +++ b/xserver/glx/indirect_size_get.c @@ -25,6 +25,7 @@ * SOFTWARE. */ + #include #include #include "indirect_size_get.h" @@ -44,6 +45,7 @@ #define FASTCALL #endif + #if defined(__CYGWIN__) || defined(__MINGW32__) || defined(GLX_USE_APPLEGL) #undef HAVE_ALIAS #endif @@ -58,6 +60,7 @@ { return __gl ## to ## _size( e ); } #endif + _X_INTERNAL PURE FASTCALL GLint __glCallLists_size(GLenum e) { @@ -599,6 +602,7 @@ __glGetBooleanv_size(GLenum e) case GL_OCCLUSION_TEST_HP: case GL_OCCLUSION_TEST_RESULT_HP: case GL_LIGHT_MODEL_COLOR_CONTROL: + case GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB: case GL_RESET_NOTIFICATION_STRATEGY_ARB: case GL_CURRENT_FOG_COORD: case GL_FOG_COORDINATE_ARRAY_TYPE: @@ -664,11 +668,11 @@ __glGetBooleanv_size(GLenum e) case GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI: case GL_FRAGMENT_PROGRAM_ARB: case GL_MAX_DRAW_BUFFERS_ARB: -/* case GL_MAX_DRAW_BUFFERS_NV:*/ +/* case GL_MAX_DRAW_BUFFERS_ATI:*/ case GL_DRAW_BUFFER0_ARB: /* case GL_DRAW_BUFFER0_ATI:*/ case GL_DRAW_BUFFER1_ARB: -/* case GL_DRAW_BUFFER1_NV:*/ +/* case GL_DRAW_BUFFER1_ATI:*/ case GL_DRAW_BUFFER2_ARB: /* case GL_DRAW_BUFFER2_ATI:*/ case GL_DRAW_BUFFER3_ARB: @@ -686,15 +690,15 @@ __glGetBooleanv_size(GLenum e) case GL_DRAW_BUFFER9_ARB: /* case GL_DRAW_BUFFER9_ATI:*/ case GL_DRAW_BUFFER10_ARB: -/* case GL_DRAW_BUFFER10_NV:*/ +/* case GL_DRAW_BUFFER10_ATI:*/ case GL_DRAW_BUFFER11_ARB: -/* case GL_DRAW_BUFFER11_NV:*/ +/* case GL_DRAW_BUFFER11_ATI:*/ case GL_DRAW_BUFFER12_ARB: /* case GL_DRAW_BUFFER12_ATI:*/ case GL_DRAW_BUFFER13_ARB: /* case GL_DRAW_BUFFER13_ATI:*/ case GL_DRAW_BUFFER14_ARB: -/* case GL_DRAW_BUFFER14_NV:*/ +/* case GL_DRAW_BUFFER14_ATI:*/ case GL_DRAW_BUFFER15_ARB: /* case GL_DRAW_BUFFER15_ATI:*/ case GL_BLEND_EQUATION_ALPHA_EXT: @@ -708,6 +712,7 @@ __glGetBooleanv_size(GLenum e) case GL_MATRIX_INDEX_ARRAY_TYPE_ARB: case GL_MATRIX_INDEX_ARRAY_STRIDE_ARB: case GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT: + case GL_TEXTURE_CUBE_MAP_SEAMLESS: case GL_POINT_SPRITE_ARB: /* case GL_POINT_SPRITE_NV:*/ case GL_POINT_SPRITE_R_MODE_NV: @@ -726,7 +731,6 @@ __glGetBooleanv_size(GLenum e) case GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB: case GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB: case GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB: - case GL_TEXTURE_CUBE_MAP_SEAMLESS: case GL_MAX_ARRAY_TEXTURE_LAYERS_EXT: case GL_STENCIL_TEST_TWO_SIDE_EXT: case GL_ACTIVE_STENCIL_FACE_EXT: @@ -744,6 +748,9 @@ __glGetBooleanv_size(GLenum e) case GL_MAX_SAMPLES: /* case GL_MAX_SAMPLES_EXT:*/ case GL_MAX_SERVER_WAIT_TIMEOUT: + case GL_MAX_DEBUG_MESSAGE_LENGTH_ARB: + case GL_MAX_DEBUG_LOGGED_MESSAGES_ARB: + case GL_DEBUG_LOGGED_MESSAGES_ARB: case GL_RASTER_POSITION_UNCLIPPED_IBM: return 1; case GL_SMOOTH_POINT_SIZE_RANGE: @@ -916,6 +923,18 @@ __glGetTexLevelParameterfv_size(GLenum e) } } +_X_INTERNAL PURE FASTCALL GLint +__glGetPointerv_size(GLenum e) +{ + switch (e) { + case GL_DEBUG_CALLBACK_FUNCTION_ARB: + case GL_DEBUG_CALLBACK_USER_PARAM_ARB: + return 1; + default: + return 0; + } +} + _X_INTERNAL PURE FASTCALL GLint __glColorTableParameterfv_size(GLenum e) { @@ -1035,6 +1054,56 @@ __glGetMinmaxParameterfv_size(GLenum e) } } +_X_INTERNAL PURE FASTCALL GLint +__glPointParameterfv_size(GLenum e) +{ + switch (e) { + case GL_POINT_SIZE_MIN: +/* case GL_POINT_SIZE_MIN_ARB:*/ +/* case GL_POINT_SIZE_MIN_SGIS:*/ + case GL_POINT_SIZE_MAX: +/* case GL_POINT_SIZE_MAX_ARB:*/ +/* case GL_POINT_SIZE_MAX_SGIS:*/ + case GL_POINT_FADE_THRESHOLD_SIZE: +/* case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/ +/* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/ + case GL_POINT_SPRITE_R_MODE_NV: + case GL_POINT_SPRITE_COORD_ORIGIN: + return 1; + case GL_POINT_DISTANCE_ATTENUATION: +/* case GL_POINT_DISTANCE_ATTENUATION_ARB:*/ +/* case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/ + return 3; + default: + return 0; + } +} + +_X_INTERNAL PURE FASTCALL GLint +__glGetQueryObjectiv_size(GLenum e) +{ + switch (e) { + case GL_QUERY_RESULT_ARB: + case GL_QUERY_RESULT_AVAILABLE_ARB: + return 1; + default: + return 0; + } +} + +_X_INTERNAL PURE FASTCALL GLint +__glGetQueryiv_size(GLenum e) +{ + switch (e) { + case GL_QUERY_COUNTER_BITS_ARB: + case GL_CURRENT_QUERY_ARB: + case GL_ANY_SAMPLES_PASSED: + return 1; + default: + return 0; + } +} + _X_INTERNAL PURE FASTCALL GLint __glGetProgramivARB_size(GLenum e) { @@ -1089,106 +1158,25 @@ __glGetProgramivARB_size(GLenum e) } _X_INTERNAL PURE FASTCALL GLint -__glGetVertexAttribdvARB_size(GLenum e) +__glGetFramebufferAttachmentParameteriv_size(GLenum e) { switch (e) { - case GL_VERTEX_PROGRAM_ARB: - case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB: - case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB: - case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB: - case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB: - case GL_CURRENT_VERTEX_ATTRIB_ARB: - case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB: - return 1; - default: - return 0; - } -} - -_X_INTERNAL PURE FASTCALL GLint -__glGetQueryObjectivARB_size(GLenum e) -{ - switch (e) { - case GL_QUERY_RESULT_ARB: - case GL_QUERY_RESULT_AVAILABLE_ARB: - return 1; - default: - return 0; - } -} - -_X_INTERNAL PURE FASTCALL GLint -__glGetQueryivARB_size(GLenum e) -{ - switch (e) { - case GL_QUERY_COUNTER_BITS_ARB: - case GL_CURRENT_QUERY_ARB: - return 1; - default: - return 0; - } -} - -_X_INTERNAL PURE FASTCALL GLint -__glPointParameterfvEXT_size(GLenum e) -{ - switch (e) { - case GL_POINT_SIZE_MIN: -/* case GL_POINT_SIZE_MIN_ARB:*/ -/* case GL_POINT_SIZE_MIN_SGIS:*/ - case GL_POINT_SIZE_MAX: -/* case GL_POINT_SIZE_MAX_ARB:*/ -/* case GL_POINT_SIZE_MAX_SGIS:*/ - case GL_POINT_FADE_THRESHOLD_SIZE: -/* case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/ -/* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/ - case GL_POINT_SPRITE_R_MODE_NV: - case GL_POINT_SPRITE_COORD_ORIGIN: - return 1; - case GL_POINT_DISTANCE_ATTENUATION: -/* case GL_POINT_DISTANCE_ATTENUATION_ARB:*/ -/* case GL_POINT_DISTANCE_ATTENUATION_SGIS:*/ - return 3; - default: - return 0; - } -} - -_X_INTERNAL PURE FASTCALL GLint -__glGetProgramivNV_size(GLenum e) -{ - switch (e) { - case GL_PROGRAM_LENGTH_NV: - case GL_PROGRAM_TARGET_NV: - case GL_PROGRAM_RESIDENT_NV: - return 1; - default: - return 0; - } -} - -_X_INTERNAL PURE FASTCALL GLint -__glGetVertexAttribdvNV_size(GLenum e) -{ - switch (e) { - case GL_ATTRIB_ARRAY_SIZE_NV: - case GL_ATTRIB_ARRAY_STRIDE_NV: - case GL_ATTRIB_ARRAY_TYPE_NV: - case GL_CURRENT_ATTRIB_NV: - return 1; - default: - return 0; - } -} - -_X_INTERNAL PURE FASTCALL GLint -__glGetFramebufferAttachmentParameterivEXT_size(GLenum e) -{ - switch (e) { - case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT: - case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT: - case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT: - case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT: + case GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: + case GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: + case GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: + case GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: + case GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: + case GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: + case GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: + case GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: + case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: +/* case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT:*/ + case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: +/* case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT:*/ + case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: +/* case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT:*/ + case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: +/* case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT:*/ case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT: return 1; default: @@ -1226,11 +1214,7 @@ ALIAS(Fogiv, Fogfv) ALIAS(GetConvolutionParameteriv, GetConvolutionParameterfv) ALIAS(GetHistogramParameteriv, GetHistogramParameterfv) ALIAS(GetMinmaxParameteriv, GetMinmaxParameterfv) - ALIAS(GetVertexAttribfvARB, GetVertexAttribdvARB) - ALIAS(GetVertexAttribivARB, GetVertexAttribdvARB) - ALIAS(GetQueryObjectuivARB, GetQueryObjectivARB) - ALIAS(GetVertexAttribfvNV, GetVertexAttribdvNV) - ALIAS(GetVertexAttribivNV, GetVertexAttribdvNV) - ALIAS(PointParameterivNV, PointParameterfvEXT) + ALIAS(PointParameteriv, PointParameterfv) + ALIAS(GetQueryObjectuiv, GetQueryObjectiv) #undef PURE #undef FASTCALL diff --git a/xserver/glx/indirect_size_get.h b/xserver/glx/indirect_size_get.h index 4cfb3a6ba..9b6203669 100644 --- a/xserver/glx/indirect_size_get.h +++ b/xserver/glx/indirect_size_get.h @@ -67,6 +67,7 @@ extern _X_INTERNAL PURE FASTCALL GLint __glGetTexParameterfv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetTexParameteriv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetTexLevelParameterfv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetTexLevelParameteriv_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint __glGetPointerv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetColorTableParameterfv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint @@ -79,19 +80,12 @@ extern _X_INTERNAL PURE FASTCALL GLint __glGetHistogramParameterfv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetHistogramParameteriv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetMinmaxParameterfv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetMinmaxParameteriv_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryObjectiv_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryObjectuiv_size(GLenum); +extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryiv_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint __glGetProgramivARB_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribdvARB_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribfvARB_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribivARB_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryObjectivARB_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryObjectuivARB_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetQueryivARB_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetProgramivNV_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribdvNV_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribfvNV_size(GLenum); -extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribivNV_size(GLenum); extern _X_INTERNAL PURE FASTCALL GLint -__glGetFramebufferAttachmentParameterivEXT_size(GLenum); +__glGetFramebufferAttachmentParameteriv_size(GLenum); #undef PURE #undef FASTCALL diff --git a/xserver/glx/indirect_table.c b/xserver/glx/indirect_table.c index 8922e43fd..33e3d6a22 100644 --- a/xserver/glx/indirect_table.c +++ b/xserver/glx/indirect_table.c @@ -213,17 +213,16 @@ static const void *Single_function_table[112][2] = { __glXDispSwap_GetMinmaxParameterfv}, /* [ 103] = 159 */ {__glXDisp_GetMinmaxParameteriv, __glXDispSwap_GetMinmaxParameteriv}, - /* [ 104] = 160 */ {__glXDisp_GetCompressedTexImageARB, - __glXDispSwap_GetCompressedTexImageARB}, - /* [ 105] = 161 */ {__glXDisp_DeleteQueriesARB, - __glXDispSwap_DeleteQueriesARB}, - /* [ 106] = 162 */ {__glXDisp_GenQueriesARB, __glXDispSwap_GenQueriesARB}, - /* [ 107] = 163 */ {__glXDisp_IsQueryARB, __glXDispSwap_IsQueryARB}, - /* [ 108] = 164 */ {__glXDisp_GetQueryivARB, __glXDispSwap_GetQueryivARB}, - /* [ 109] = 165 */ {__glXDisp_GetQueryObjectivARB, - __glXDispSwap_GetQueryObjectivARB}, - /* [ 110] = 166 */ {__glXDisp_GetQueryObjectuivARB, - __glXDispSwap_GetQueryObjectuivARB}, + /* [ 104] = 160 */ {__glXDisp_GetCompressedTexImage, + __glXDispSwap_GetCompressedTexImage}, + /* [ 105] = 161 */ {__glXDisp_DeleteQueries, __glXDispSwap_DeleteQueries}, + /* [ 106] = 162 */ {__glXDisp_GenQueries, __glXDispSwap_GenQueries}, + /* [ 107] = 163 */ {__glXDisp_IsQuery, __glXDispSwap_IsQuery}, + /* [ 108] = 164 */ {__glXDisp_GetQueryiv, __glXDispSwap_GetQueryiv}, + /* [ 109] = 165 */ {__glXDisp_GetQueryObjectiv, + __glXDispSwap_GetQueryObjectiv}, + /* [ 110] = 166 */ {__glXDisp_GetQueryObjectuiv, + __glXDispSwap_GetQueryObjectuiv}, /* [ 111] = 167 */ {NULL, NULL}, }; @@ -576,52 +575,51 @@ static const void *Render_function_table[408][2] = { /* [ 195] = 195 */ {__glXDisp_ColorSubTable, __glXDispSwap_ColorSubTable}, /* [ 196] = 196 */ {__glXDisp_CopyColorSubTable, __glXDispSwap_CopyColorSubTable}, - /* [ 197] = 197 */ {__glXDisp_ActiveTextureARB, - __glXDispSwap_ActiveTextureARB}, - /* [ 198] = 198 */ {__glXDisp_MultiTexCoord1dvARB, - __glXDispSwap_MultiTexCoord1dvARB}, + /* [ 197] = 197 */ {__glXDisp_ActiveTexture, __glXDispSwap_ActiveTexture}, + /* [ 198] = 198 */ {__glXDisp_MultiTexCoord1dv, + __glXDispSwap_MultiTexCoord1dv}, /* [ 199] = 199 */ {__glXDisp_MultiTexCoord1fvARB, __glXDispSwap_MultiTexCoord1fvARB}, - /* [ 200] = 200 */ {__glXDisp_MultiTexCoord1ivARB, - __glXDispSwap_MultiTexCoord1ivARB}, - /* [ 201] = 201 */ {__glXDisp_MultiTexCoord1svARB, - __glXDispSwap_MultiTexCoord1svARB}, - /* [ 202] = 202 */ {__glXDisp_MultiTexCoord2dvARB, - __glXDispSwap_MultiTexCoord2dvARB}, + /* [ 200] = 200 */ {__glXDisp_MultiTexCoord1iv, + __glXDispSwap_MultiTexCoord1iv}, + /* [ 201] = 201 */ {__glXDisp_MultiTexCoord1sv, + __glXDispSwap_MultiTexCoord1sv}, + /* [ 202] = 202 */ {__glXDisp_MultiTexCoord2dv, + __glXDispSwap_MultiTexCoord2dv}, /* [ 203] = 203 */ {__glXDisp_MultiTexCoord2fvARB, __glXDispSwap_MultiTexCoord2fvARB}, - /* [ 204] = 204 */ {__glXDisp_MultiTexCoord2ivARB, - __glXDispSwap_MultiTexCoord2ivARB}, - /* [ 205] = 205 */ {__glXDisp_MultiTexCoord2svARB, - __glXDispSwap_MultiTexCoord2svARB}, - /* [ 206] = 206 */ {__glXDisp_MultiTexCoord3dvARB, - __glXDispSwap_MultiTexCoord3dvARB}, + /* [ 204] = 204 */ {__glXDisp_MultiTexCoord2iv, + __glXDispSwap_MultiTexCoord2iv}, + /* [ 205] = 205 */ {__glXDisp_MultiTexCoord2sv, + __glXDispSwap_MultiTexCoord2sv}, + /* [ 206] = 206 */ {__glXDisp_MultiTexCoord3dv, + __glXDispSwap_MultiTexCoord3dv}, /* [ 207] = 207 */ {__glXDisp_MultiTexCoord3fvARB, __glXDispSwap_MultiTexCoord3fvARB}, - /* [ 208] = 208 */ {__glXDisp_MultiTexCoord3ivARB, - __glXDispSwap_MultiTexCoord3ivARB}, - /* [ 209] = 209 */ {__glXDisp_MultiTexCoord3svARB, - __glXDispSwap_MultiTexCoord3svARB}, - /* [ 210] = 210 */ {__glXDisp_MultiTexCoord4dvARB, - __glXDispSwap_MultiTexCoord4dvARB}, + /* [ 208] = 208 */ {__glXDisp_MultiTexCoord3iv, + __glXDispSwap_MultiTexCoord3iv}, + /* [ 209] = 209 */ {__glXDisp_MultiTexCoord3sv, + __glXDispSwap_MultiTexCoord3sv}, + /* [ 210] = 210 */ {__glXDisp_MultiTexCoord4dv, + __glXDispSwap_MultiTexCoord4dv}, /* [ 211] = 211 */ {__glXDisp_MultiTexCoord4fvARB, __glXDispSwap_MultiTexCoord4fvARB}, - /* [ 212] = 212 */ {__glXDisp_MultiTexCoord4ivARB, - __glXDispSwap_MultiTexCoord4ivARB}, - /* [ 213] = 213 */ {__glXDisp_MultiTexCoord4svARB, - __glXDispSwap_MultiTexCoord4svARB}, - /* [ 214] = 214 */ {__glXDisp_CompressedTexImage1DARB, - __glXDispSwap_CompressedTexImage1DARB}, - /* [ 215] = 215 */ {__glXDisp_CompressedTexImage2DARB, - __glXDispSwap_CompressedTexImage2DARB}, - /* [ 216] = 216 */ {__glXDisp_CompressedTexImage3DARB, - __glXDispSwap_CompressedTexImage3DARB}, - /* [ 217] = 217 */ {__glXDisp_CompressedTexSubImage1DARB, - __glXDispSwap_CompressedTexSubImage1DARB}, - /* [ 218] = 218 */ {__glXDisp_CompressedTexSubImage2DARB, - __glXDispSwap_CompressedTexSubImage2DARB}, - /* [ 219] = 219 */ {__glXDisp_CompressedTexSubImage3DARB, - __glXDispSwap_CompressedTexSubImage3DARB}, + /* [ 212] = 212 */ {__glXDisp_MultiTexCoord4iv, + __glXDispSwap_MultiTexCoord4iv}, + /* [ 213] = 213 */ {__glXDisp_MultiTexCoord4sv, + __glXDispSwap_MultiTexCoord4sv}, + /* [ 214] = 214 */ {__glXDisp_CompressedTexImage1D, + __glXDispSwap_CompressedTexImage1D}, + /* [ 215] = 215 */ {__glXDisp_CompressedTexImage2D, + __glXDispSwap_CompressedTexImage2D}, + /* [ 216] = 216 */ {__glXDisp_CompressedTexImage3D, + __glXDispSwap_CompressedTexImage3D}, + /* [ 217] = 217 */ {__glXDisp_CompressedTexSubImage1D, + __glXDispSwap_CompressedTexSubImage1D}, + /* [ 218] = 218 */ {__glXDisp_CompressedTexSubImage2D, + __glXDispSwap_CompressedTexSubImage2D}, + /* [ 219] = 219 */ {__glXDisp_CompressedTexSubImage3D, + __glXDispSwap_CompressedTexSubImage3D}, /* [ 220] = 220 */ {NULL, NULL}, /* [ 221] = 221 */ {NULL, NULL}, /* [ 222] = 222 */ {NULL, NULL}, @@ -631,25 +629,21 @@ static const void *Render_function_table[408][2] = { /* [ 226] = 226 */ {NULL, NULL}, /* [ 227] = 227 */ {NULL, NULL}, /* [ 228] = 228 */ {NULL, NULL}, - /* [ 229] = 229 */ {__glXDisp_SampleCoverageARB, - __glXDispSwap_SampleCoverageARB}, - /* [ 230] = 230 */ {__glXDisp_WindowPos3fvMESA, - __glXDispSwap_WindowPos3fvMESA}, - /* [ 231] = 231 */ {__glXDisp_BeginQueryARB, __glXDispSwap_BeginQueryARB}, - /* [ 232] = 232 */ {__glXDisp_EndQueryARB, __glXDispSwap_EndQueryARB}, - /* [ 233] = 233 */ {__glXDisp_DrawBuffersARB, - __glXDispSwap_DrawBuffersARB}, - /* [ 234] = 234 */ {__glXDisp_ClampColorARB, __glXDispSwap_ClampColorARB}, + /* [ 229] = 229 */ {__glXDisp_SampleCoverage, + __glXDispSwap_SampleCoverage}, + /* [ 230] = 230 */ {__glXDisp_WindowPos3fv, __glXDispSwap_WindowPos3fv}, + /* [ 231] = 231 */ {__glXDisp_BeginQuery, __glXDispSwap_BeginQuery}, + /* [ 232] = 232 */ {__glXDisp_EndQuery, __glXDispSwap_EndQuery}, + /* [ 233] = 233 */ {__glXDisp_DrawBuffers, __glXDispSwap_DrawBuffers}, + /* [ 234] = 234 */ {__glXDisp_ClampColor, __glXDispSwap_ClampColor}, /* [ 235] = 235 */ {NULL, NULL}, /* [ 236] = 236 */ {NULL, NULL}, - /* [ 237] = 237 */ {__glXDisp_FramebufferTextureLayerEXT, - __glXDispSwap_FramebufferTextureLayerEXT}, + /* [ 237] = 237 */ {__glXDisp_FramebufferTextureLayer, + __glXDispSwap_FramebufferTextureLayer}, /* [ 238] = 238 */ {NULL, NULL}, /* [ 239] = 239 */ {NULL, NULL}, - /* [ 240] = 2048 */ {__glXDisp_SampleMaskSGIS, - __glXDispSwap_SampleMaskSGIS}, - /* [ 241] = 2049 */ {__glXDisp_SamplePatternSGIS, - __glXDispSwap_SamplePatternSGIS}, + /* [ 240] = 2048 */ {NULL, NULL}, + /* [ 241] = 2049 */ {NULL, NULL}, /* [ 242] = 2050 */ {NULL, NULL}, /* [ 243] = 2051 */ {NULL, NULL}, /* [ 244] = 2052 */ {NULL, NULL}, @@ -668,10 +662,10 @@ static const void *Render_function_table[408][2] = { /* [ 254] = 2062 */ {NULL, NULL}, /* [ 255] = 2063 */ {NULL, NULL}, /* [ 256] = 2064 */ {NULL, NULL}, - /* [ 257] = 2065 */ {__glXDisp_PointParameterfEXT, - __glXDispSwap_PointParameterfEXT}, - /* [ 258] = 2066 */ {__glXDisp_PointParameterfvEXT, - __glXDispSwap_PointParameterfvEXT}, + /* [ 257] = 2065 */ {__glXDisp_PointParameterf, + __glXDispSwap_PointParameterf}, + /* [ 258] = 2066 */ {__glXDisp_PointParameterfv, + __glXDispSwap_PointParameterfv}, /* [ 259] = 2067 */ {NULL, NULL}, /* [ 260] = 2068 */ {NULL, NULL}, /* [ 261] = 2069 */ {NULL, NULL}, @@ -722,38 +716,35 @@ static const void *Render_function_table[408][2] = { /* [ 291] = 4123 */ {__glXDisp_CopyTexSubImage3D, __glXDispSwap_CopyTexSubImage3D}, /* [ 292] = 4124 */ {__glXDisp_FogCoordfvEXT, __glXDispSwap_FogCoordfvEXT}, - /* [ 293] = 4125 */ {__glXDisp_FogCoorddvEXT, __glXDispSwap_FogCoorddvEXT}, - /* [ 294] = 4126 */ {__glXDisp_SecondaryColor3bvEXT, - __glXDispSwap_SecondaryColor3bvEXT}, - /* [ 295] = 4127 */ {__glXDisp_SecondaryColor3svEXT, - __glXDispSwap_SecondaryColor3svEXT}, + /* [ 293] = 4125 */ {__glXDisp_FogCoorddv, __glXDispSwap_FogCoorddv}, + /* [ 294] = 4126 */ {__glXDisp_SecondaryColor3bv, + __glXDispSwap_SecondaryColor3bv}, + /* [ 295] = 4127 */ {__glXDisp_SecondaryColor3sv, + __glXDispSwap_SecondaryColor3sv}, /* [ 296] = 4176 */ {NULL, NULL}, /* [ 297] = 4177 */ {NULL, NULL}, /* [ 298] = 4178 */ {NULL, NULL}, /* [ 299] = 4179 */ {NULL, NULL}, - /* [ 300] = 4180 */ {__glXDisp_BindProgramNV, __glXDispSwap_BindProgramNV}, - /* [ 301] = 4181 */ {__glXDisp_ExecuteProgramNV, - __glXDispSwap_ExecuteProgramNV}, - /* [ 302] = 4182 */ {__glXDisp_RequestResidentProgramsNV, - __glXDispSwap_RequestResidentProgramsNV}, - /* [ 303] = 4183 */ {__glXDisp_LoadProgramNV, __glXDispSwap_LoadProgramNV}, + /* [ 300] = 4180 */ {__glXDisp_BindProgramARB, + __glXDispSwap_BindProgramARB}, + /* [ 301] = 4181 */ {NULL, NULL}, + /* [ 302] = 4182 */ {NULL, NULL}, + /* [ 303] = 4183 */ {NULL, NULL}, /* [ 304] = 4184 */ {__glXDisp_ProgramEnvParameter4fvARB, __glXDispSwap_ProgramEnvParameter4fvARB}, /* [ 305] = 4185 */ {__glXDisp_ProgramEnvParameter4dvARB, __glXDispSwap_ProgramEnvParameter4dvARB}, - /* [ 306] = 4186 */ {__glXDisp_ProgramParameters4fvNV, - __glXDispSwap_ProgramParameters4fvNV}, - /* [ 307] = 4187 */ {__glXDisp_ProgramParameters4dvNV, - __glXDispSwap_ProgramParameters4dvNV}, - /* [ 308] = 4188 */ {__glXDisp_TrackMatrixNV, __glXDispSwap_TrackMatrixNV}, - /* [ 309] = 4189 */ {__glXDisp_VertexAttrib1svARB, - __glXDispSwap_VertexAttrib1svARB}, - /* [ 310] = 4190 */ {__glXDisp_VertexAttrib2svARB, - __glXDispSwap_VertexAttrib2svARB}, - /* [ 311] = 4191 */ {__glXDisp_VertexAttrib3svARB, - __glXDispSwap_VertexAttrib3svARB}, - /* [ 312] = 4192 */ {__glXDisp_VertexAttrib4svARB, - __glXDispSwap_VertexAttrib4svARB}, + /* [ 306] = 4186 */ {NULL, NULL}, + /* [ 307] = 4187 */ {NULL, NULL}, + /* [ 308] = 4188 */ {NULL, NULL}, + /* [ 309] = 4189 */ {__glXDisp_VertexAttrib1sv, + __glXDispSwap_VertexAttrib1sv}, + /* [ 310] = 4190 */ {__glXDisp_VertexAttrib2sv, + __glXDispSwap_VertexAttrib2sv}, + /* [ 311] = 4191 */ {__glXDisp_VertexAttrib3sv, + __glXDispSwap_VertexAttrib3sv}, + /* [ 312] = 4192 */ {__glXDisp_VertexAttrib4sv, + __glXDispSwap_VertexAttrib4sv}, /* [ 313] = 4193 */ {__glXDisp_VertexAttrib1fvARB, __glXDispSwap_VertexAttrib1fvARB}, /* [ 314] = 4194 */ {__glXDisp_VertexAttrib2fvARB, @@ -762,16 +753,16 @@ static const void *Render_function_table[408][2] = { __glXDispSwap_VertexAttrib3fvARB}, /* [ 316] = 4196 */ {__glXDisp_VertexAttrib4fvARB, __glXDispSwap_VertexAttrib4fvARB}, - /* [ 317] = 4197 */ {__glXDisp_VertexAttrib1dvARB, - __glXDispSwap_VertexAttrib1dvARB}, - /* [ 318] = 4198 */ {__glXDisp_VertexAttrib2dvARB, - __glXDispSwap_VertexAttrib2dvARB}, - /* [ 319] = 4199 */ {__glXDisp_VertexAttrib3dvARB, - __glXDispSwap_VertexAttrib3dvARB}, - /* [ 320] = 4200 */ {__glXDisp_VertexAttrib4dvARB, - __glXDispSwap_VertexAttrib4dvARB}, - /* [ 321] = 4201 */ {__glXDisp_VertexAttrib4NubvARB, - __glXDispSwap_VertexAttrib4NubvARB}, + /* [ 317] = 4197 */ {__glXDisp_VertexAttrib1dv, + __glXDispSwap_VertexAttrib1dv}, + /* [ 318] = 4198 */ {__glXDisp_VertexAttrib2dv, + __glXDispSwap_VertexAttrib2dv}, + /* [ 319] = 4199 */ {__glXDisp_VertexAttrib3dv, + __glXDispSwap_VertexAttrib3dv}, + /* [ 320] = 4200 */ {__glXDisp_VertexAttrib4dv, + __glXDispSwap_VertexAttrib4dv}, + /* [ 321] = 4201 */ {__glXDisp_VertexAttrib4Nubv, + __glXDispSwap_VertexAttrib4Nubv}, /* [ 322] = 4202 */ {__glXDisp_VertexAttribs1svNV, __glXDispSwap_VertexAttribs1svNV}, /* [ 323] = 4203 */ {__glXDisp_VertexAttribs2svNV, @@ -804,82 +795,80 @@ static const void *Render_function_table[408][2] = { __glXDispSwap_ProgramLocalParameter4dvARB}, /* [ 337] = 4217 */ {__glXDisp_ProgramStringARB, __glXDispSwap_ProgramStringARB}, - /* [ 338] = 4218 */ {__glXDisp_ProgramNamedParameter4fvNV, - __glXDispSwap_ProgramNamedParameter4fvNV}, - /* [ 339] = 4219 */ {__glXDisp_ProgramNamedParameter4dvNV, - __glXDispSwap_ProgramNamedParameter4dvNV}, + /* [ 338] = 4218 */ {NULL, NULL}, + /* [ 339] = 4219 */ {NULL, NULL}, /* [ 340] = 4220 */ {__glXDisp_ActiveStencilFaceEXT, __glXDispSwap_ActiveStencilFaceEXT}, - /* [ 341] = 4221 */ {__glXDisp_PointParameteriNV, - __glXDispSwap_PointParameteriNV}, - /* [ 342] = 4222 */ {__glXDisp_PointParameterivNV, - __glXDispSwap_PointParameterivNV}, + /* [ 341] = 4221 */ {__glXDisp_PointParameteri, + __glXDispSwap_PointParameteri}, + /* [ 342] = 4222 */ {__glXDisp_PointParameteriv, + __glXDispSwap_PointParameteriv}, /* [ 343] = 4223 */ {NULL, NULL}, /* [ 344] = 4224 */ {NULL, NULL}, /* [ 345] = 4225 */ {NULL, NULL}, /* [ 346] = 4226 */ {NULL, NULL}, /* [ 347] = 4227 */ {NULL, NULL}, - /* [ 348] = 4228 */ {__glXDisp_BlendEquationSeparateEXT, - __glXDispSwap_BlendEquationSeparateEXT}, + /* [ 348] = 4228 */ {__glXDisp_BlendEquationSeparate, + __glXDispSwap_BlendEquationSeparate}, /* [ 349] = 4229 */ {NULL, NULL}, - /* [ 350] = 4230 */ {__glXDisp_VertexAttrib4bvARB, - __glXDispSwap_VertexAttrib4bvARB}, - /* [ 351] = 4231 */ {__glXDisp_VertexAttrib4ivARB, - __glXDispSwap_VertexAttrib4ivARB}, - /* [ 352] = 4232 */ {__glXDisp_VertexAttrib4ubvARB, - __glXDispSwap_VertexAttrib4ubvARB}, - /* [ 353] = 4233 */ {__glXDisp_VertexAttrib4usvARB, - __glXDispSwap_VertexAttrib4usvARB}, - /* [ 354] = 4234 */ {__glXDisp_VertexAttrib4uivARB, - __glXDispSwap_VertexAttrib4uivARB}, - /* [ 355] = 4235 */ {__glXDisp_VertexAttrib4NbvARB, - __glXDispSwap_VertexAttrib4NbvARB}, - /* [ 356] = 4236 */ {__glXDisp_VertexAttrib4NsvARB, - __glXDispSwap_VertexAttrib4NsvARB}, - /* [ 357] = 4237 */ {__glXDisp_VertexAttrib4NivARB, - __glXDispSwap_VertexAttrib4NivARB}, - /* [ 358] = 4238 */ {__glXDisp_VertexAttrib4NusvARB, - __glXDispSwap_VertexAttrib4NusvARB}, - /* [ 359] = 4239 */ {__glXDisp_VertexAttrib4NuivARB, - __glXDispSwap_VertexAttrib4NuivARB}, - /* [ 360] = 4320 */ {__glXDisp_DeleteFramebuffersEXT, - __glXDispSwap_DeleteFramebuffersEXT}, - /* [ 361] = 4321 */ {__glXDisp_FramebufferTexture1DEXT, - __glXDispSwap_FramebufferTexture1DEXT}, - /* [ 362] = 4322 */ {__glXDisp_FramebufferTexture2DEXT, - __glXDispSwap_FramebufferTexture2DEXT}, - /* [ 363] = 4323 */ {__glXDisp_FramebufferTexture3DEXT, - __glXDispSwap_FramebufferTexture3DEXT}, - /* [ 364] = 4324 */ {__glXDisp_FramebufferRenderbufferEXT, - __glXDispSwap_FramebufferRenderbufferEXT}, - /* [ 365] = 4325 */ {__glXDisp_GenerateMipmapEXT, - __glXDispSwap_GenerateMipmapEXT}, + /* [ 350] = 4230 */ {__glXDisp_VertexAttrib4bv, + __glXDispSwap_VertexAttrib4bv}, + /* [ 351] = 4231 */ {__glXDisp_VertexAttrib4iv, + __glXDispSwap_VertexAttrib4iv}, + /* [ 352] = 4232 */ {__glXDisp_VertexAttrib4ubv, + __glXDispSwap_VertexAttrib4ubv}, + /* [ 353] = 4233 */ {__glXDisp_VertexAttrib4usv, + __glXDispSwap_VertexAttrib4usv}, + /* [ 354] = 4234 */ {__glXDisp_VertexAttrib4uiv, + __glXDispSwap_VertexAttrib4uiv}, + /* [ 355] = 4235 */ {__glXDisp_VertexAttrib4Nbv, + __glXDispSwap_VertexAttrib4Nbv}, + /* [ 356] = 4236 */ {__glXDisp_VertexAttrib4Nsv, + __glXDispSwap_VertexAttrib4Nsv}, + /* [ 357] = 4237 */ {__glXDisp_VertexAttrib4Niv, + __glXDispSwap_VertexAttrib4Niv}, + /* [ 358] = 4238 */ {__glXDisp_VertexAttrib4Nusv, + __glXDispSwap_VertexAttrib4Nusv}, + /* [ 359] = 4239 */ {__glXDisp_VertexAttrib4Nuiv, + __glXDispSwap_VertexAttrib4Nuiv}, + /* [ 360] = 4320 */ {__glXDisp_DeleteFramebuffers, + __glXDispSwap_DeleteFramebuffers}, + /* [ 361] = 4321 */ {__glXDisp_FramebufferTexture1D, + __glXDispSwap_FramebufferTexture1D}, + /* [ 362] = 4322 */ {__glXDisp_FramebufferTexture2D, + __glXDispSwap_FramebufferTexture2D}, + /* [ 363] = 4323 */ {__glXDisp_FramebufferTexture3D, + __glXDispSwap_FramebufferTexture3D}, + /* [ 364] = 4324 */ {__glXDisp_FramebufferRenderbuffer, + __glXDispSwap_FramebufferRenderbuffer}, + /* [ 365] = 4325 */ {__glXDisp_GenerateMipmap, + __glXDispSwap_GenerateMipmap}, /* [ 366] = 4326 */ {NULL, NULL}, /* [ 367] = 4327 */ {NULL, NULL}, /* [ 368] = 4328 */ {NULL, NULL}, /* [ 369] = 4329 */ {NULL, NULL}, - /* [ 370] = 4330 */ {__glXDisp_BlitFramebufferEXT, - __glXDispSwap_BlitFramebufferEXT}, + /* [ 370] = 4330 */ {__glXDisp_BlitFramebuffer, + __glXDispSwap_BlitFramebuffer}, /* [ 371] = 4331 */ {__glXDisp_RenderbufferStorageMultisample, __glXDispSwap_RenderbufferStorageMultisample}, /* [ 372] = 4332 */ {NULL, NULL}, /* [ 373] = 4333 */ {NULL, NULL}, /* [ 374] = 4334 */ {NULL, NULL}, /* [ 375] = 4335 */ {NULL, NULL}, - /* [ 376] = 4128 */ {__glXDisp_SecondaryColor3ivEXT, - __glXDispSwap_SecondaryColor3ivEXT}, + /* [ 376] = 4128 */ {__glXDisp_SecondaryColor3iv, + __glXDispSwap_SecondaryColor3iv}, /* [ 377] = 4129 */ {__glXDisp_SecondaryColor3fvEXT, __glXDispSwap_SecondaryColor3fvEXT}, - /* [ 378] = 4130 */ {__glXDisp_SecondaryColor3dvEXT, - __glXDispSwap_SecondaryColor3dvEXT}, - /* [ 379] = 4131 */ {__glXDisp_SecondaryColor3ubvEXT, - __glXDispSwap_SecondaryColor3ubvEXT}, - /* [ 380] = 4132 */ {__glXDisp_SecondaryColor3usvEXT, - __glXDispSwap_SecondaryColor3usvEXT}, - /* [ 381] = 4133 */ {__glXDisp_SecondaryColor3uivEXT, - __glXDispSwap_SecondaryColor3uivEXT}, - /* [ 382] = 4134 */ {__glXDisp_BlendFuncSeparateEXT, - __glXDispSwap_BlendFuncSeparateEXT}, + /* [ 378] = 4130 */ {__glXDisp_SecondaryColor3dv, + __glXDispSwap_SecondaryColor3dv}, + /* [ 379] = 4131 */ {__glXDisp_SecondaryColor3ubv, + __glXDispSwap_SecondaryColor3ubv}, + /* [ 380] = 4132 */ {__glXDisp_SecondaryColor3usv, + __glXDispSwap_SecondaryColor3usv}, + /* [ 381] = 4133 */ {__glXDisp_SecondaryColor3uiv, + __glXDispSwap_SecondaryColor3uiv}, + /* [ 382] = 4134 */ {__glXDisp_BlendFuncSeparate, + __glXDispSwap_BlendFuncSeparate}, /* [ 383] = 4135 */ {NULL, NULL}, /* [ 384] = 4264 */ {NULL, NULL}, /* [ 385] = 4265 */ {__glXDisp_VertexAttrib1svNV, @@ -914,14 +903,14 @@ static const void *Render_function_table[408][2] = { /* [ 401] = 4313 */ {NULL, NULL}, /* [ 402] = 4314 */ {NULL, NULL}, /* [ 403] = 4315 */ {NULL, NULL}, - /* [ 404] = 4316 */ {__glXDisp_BindRenderbufferEXT, - __glXDispSwap_BindRenderbufferEXT}, - /* [ 405] = 4317 */ {__glXDisp_DeleteRenderbuffersEXT, - __glXDispSwap_DeleteRenderbuffersEXT}, - /* [ 406] = 4318 */ {__glXDisp_RenderbufferStorageEXT, - __glXDispSwap_RenderbufferStorageEXT}, - /* [ 407] = 4319 */ {__glXDisp_BindFramebufferEXT, - __glXDispSwap_BindFramebufferEXT}, + /* [ 404] = 4316 */ {__glXDisp_BindRenderbuffer, + __glXDispSwap_BindRenderbuffer}, + /* [ 405] = 4317 */ {__glXDisp_DeleteRenderbuffers, + __glXDispSwap_DeleteRenderbuffers}, + /* [ 406] = 4318 */ {__glXDisp_RenderbufferStorage, + __glXDispSwap_RenderbufferStorage}, + /* [ 407] = 4319 */ {__glXDisp_BindFramebuffer, + __glXDispSwap_BindFramebuffer}, }; static const int_fast16_t Render_size_table[408][2] = { @@ -1165,8 +1154,8 @@ static const int_fast16_t Render_size_table[408][2] = { /* [237] = 237 */ {24, ~0}, /* [238] = 238 */ {0, ~0}, /* [239] = 239 */ {0, ~0}, - /* [240] = 2048 */ {12, ~0}, - /* [241] = 2049 */ {8, ~0}, + /* [240] = 2048 */ {0, ~0}, + /* [241] = 2049 */ {0, ~0}, /* [242] = 2050 */ {0, ~0}, /* [243] = 2051 */ {0, ~0}, /* [244] = 2052 */ {0, ~0}, @@ -1226,14 +1215,14 @@ static const int_fast16_t Render_size_table[408][2] = { /* [298] = 4178 */ {0, ~0}, /* [299] = 4179 */ {0, ~0}, /* [300] = 4180 */ {12, ~0}, - /* [301] = 4181 */ {28, ~0}, - /* [302] = 4182 */ {8, 51}, - /* [303] = 4183 */ {16, 52}, + /* [301] = 4181 */ {0, ~0}, + /* [302] = 4182 */ {0, ~0}, + /* [303] = 4183 */ {0, ~0}, /* [304] = 4184 */ {28, ~0}, /* [305] = 4185 */ {44, ~0}, - /* [306] = 4186 */ {16, 53}, - /* [307] = 4187 */ {16, 54}, - /* [308] = 4188 */ {20, ~0}, + /* [306] = 4186 */ {0, ~0}, + /* [307] = 4187 */ {0, ~0}, + /* [308] = 4188 */ {0, ~0}, /* [309] = 4189 */ {12, ~0}, /* [310] = 4190 */ {12, ~0}, /* [311] = 4191 */ {16, ~0}, @@ -1247,27 +1236,27 @@ static const int_fast16_t Render_size_table[408][2] = { /* [319] = 4199 */ {32, ~0}, /* [320] = 4200 */ {40, ~0}, /* [321] = 4201 */ {12, ~0}, - /* [322] = 4202 */ {12, 55}, - /* [323] = 4203 */ {12, 56}, - /* [324] = 4204 */ {12, 57}, - /* [325] = 4205 */ {12, 58}, - /* [326] = 4206 */ {12, 59}, - /* [327] = 4207 */ {12, 60}, - /* [328] = 4208 */ {12, 61}, - /* [329] = 4209 */ {12, 62}, - /* [330] = 4210 */ {12, 63}, - /* [331] = 4211 */ {12, 64}, - /* [332] = 4212 */ {12, 65}, - /* [333] = 4213 */ {12, 66}, - /* [334] = 4214 */ {12, 67}, + /* [322] = 4202 */ {12, 51}, + /* [323] = 4203 */ {12, 52}, + /* [324] = 4204 */ {12, 53}, + /* [325] = 4205 */ {12, 54}, + /* [326] = 4206 */ {12, 55}, + /* [327] = 4207 */ {12, 56}, + /* [328] = 4208 */ {12, 57}, + /* [329] = 4209 */ {12, 58}, + /* [330] = 4210 */ {12, 59}, + /* [331] = 4211 */ {12, 60}, + /* [332] = 4212 */ {12, 61}, + /* [333] = 4213 */ {12, 62}, + /* [334] = 4214 */ {12, 63}, /* [335] = 4215 */ {28, ~0}, /* [336] = 4216 */ {44, ~0}, - /* [337] = 4217 */ {16, 68}, - /* [338] = 4218 */ {28, 69}, - /* [339] = 4219 */ {44, 70}, + /* [337] = 4217 */ {16, 64}, + /* [338] = 4218 */ {0, ~0}, + /* [339] = 4219 */ {0, ~0}, /* [340] = 4220 */ {8, ~0}, /* [341] = 4221 */ {12, ~0}, - /* [342] = 4222 */ {8, 71}, + /* [342] = 4222 */ {8, 65}, /* [343] = 4223 */ {0, ~0}, /* [344] = 4224 */ {0, ~0}, /* [345] = 4225 */ {0, ~0}, @@ -1285,7 +1274,7 @@ static const int_fast16_t Render_size_table[408][2] = { /* [357] = 4237 */ {24, ~0}, /* [358] = 4238 */ {16, ~0}, /* [359] = 4239 */ {24, ~0}, - /* [360] = 4320 */ {8, 72}, + /* [360] = 4320 */ {8, 66}, /* [361] = 4321 */ {24, ~0}, /* [362] = 4322 */ {24, ~0}, /* [363] = 4323 */ {28, ~0}, @@ -1330,12 +1319,12 @@ static const int_fast16_t Render_size_table[408][2] = { /* [402] = 4314 */ {0, ~0}, /* [403] = 4315 */ {0, ~0}, /* [404] = 4316 */ {12, ~0}, - /* [405] = 4317 */ {8, 73}, + /* [405] = 4317 */ {8, 67}, /* [406] = 4318 */ {20, ~0}, /* [407] = 4319 */ {12, ~0}, }; -static const gl_proto_size_func Render_size_func_table[74] = { +static const gl_proto_size_func Render_size_func_table[68] = { __glXCallListsReqSize, __glXBitmapReqSize, __glXFogfvReqSize, @@ -1366,17 +1355,17 @@ static const gl_proto_size_func Render_size_func_table[74] = { __glXDrawPixelsReqSize, __glXDrawArraysReqSize, __glXColorSubTableReqSize, - __glXCompressedTexImage1DARBReqSize, - __glXCompressedTexImage2DARBReqSize, - __glXCompressedTexImage3DARBReqSize, - __glXCompressedTexSubImage1DARBReqSize, - __glXCompressedTexSubImage2DARBReqSize, - __glXCompressedTexSubImage3DARBReqSize, - __glXDrawBuffersARBReqSize, + __glXCompressedTexImage1DReqSize, + __glXCompressedTexImage2DReqSize, + __glXCompressedTexImage3DReqSize, + __glXCompressedTexSubImage1DReqSize, + __glXCompressedTexSubImage2DReqSize, + __glXCompressedTexSubImage3DReqSize, + __glXDrawBuffersReqSize, __glXColorTableReqSize, __glXColorTableParameterfvReqSize, __glXColorTableParameterivReqSize, - __glXPointParameterfvEXTReqSize, + __glXPointParameterfvReqSize, __glXTexSubImage1DReqSize, __glXTexSubImage2DReqSize, __glXConvolutionFilter1DReqSize, @@ -1387,10 +1376,6 @@ static const gl_proto_size_func Render_size_func_table[74] = { __glXTexImage3DReqSize, __glXTexSubImage3DReqSize, __glXPrioritizeTexturesReqSize, - __glXRequestResidentProgramsNVReqSize, - __glXLoadProgramNVReqSize, - __glXProgramParameters4fvNVReqSize, - __glXProgramParameters4dvNVReqSize, __glXVertexAttribs1svNVReqSize, __glXVertexAttribs2svNVReqSize, __glXVertexAttribs3svNVReqSize, @@ -1405,11 +1390,9 @@ static const gl_proto_size_func Render_size_func_table[74] = { __glXVertexAttribs4dvNVReqSize, __glXVertexAttribs4ubvNVReqSize, __glXProgramStringARBReqSize, - __glXProgramNamedParameter4fvNVReqSize, - __glXProgramNamedParameter4dvNVReqSize, - __glXPointParameterivNVReqSize, - __glXDeleteFramebuffersEXTReqSize, - __glXDeleteRenderbuffersEXTReqSize, + __glXPointParameterivReqSize, + __glXDeleteFramebuffersReqSize, + __glXDeleteRenderbuffersReqSize, }; const struct __glXDispatchInfo Render_dispatch_info = { @@ -1711,19 +1694,13 @@ static const void *VendorPriv_function_table[104][2] = { __glXDispSwap_GetProgramEnvParameterfvARB}, /* [ 25] = 1297 */ {__glXDisp_GetProgramEnvParameterdvARB, __glXDispSwap_GetProgramEnvParameterdvARB}, - /* [ 26] = 1298 */ {__glXDisp_GetProgramivNV, - __glXDispSwap_GetProgramivNV}, - /* [ 27] = 1299 */ {__glXDisp_GetProgramStringNV, - __glXDispSwap_GetProgramStringNV}, - /* [ 28] = 1300 */ {__glXDisp_GetTrackMatrixivNV, - __glXDispSwap_GetTrackMatrixivNV}, - /* [ 29] = 1301 */ {__glXDisp_GetVertexAttribdvARB, - __glXDispSwap_GetVertexAttribdvARB}, - /* [ 30] = 1302 */ {__glXDisp_GetVertexAttribfvARB, - __glXDispSwap_GetVertexAttribfvARB}, - /* [ 31] = 1303 */ {__glXDisp_GetVertexAttribivNV, - __glXDispSwap_GetVertexAttribivNV}, - /* [ 32] = 1304 */ {__glXDisp_IsProgramNV, __glXDispSwap_IsProgramNV}, + /* [ 26] = 1298 */ {NULL, NULL}, + /* [ 27] = 1299 */ {NULL, NULL}, + /* [ 28] = 1300 */ {NULL, NULL}, + /* [ 29] = 1301 */ {NULL, NULL}, + /* [ 30] = 1302 */ {NULL, NULL}, + /* [ 31] = 1303 */ {NULL, NULL}, + /* [ 32] = 1304 */ {__glXDisp_IsProgramARB, __glXDispSwap_IsProgramARB}, /* [ 33] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB, __glXDispSwap_GetProgramLocalParameterfvARB}, /* [ 34] = 1306 */ {__glXDisp_GetProgramLocalParameterdvARB, @@ -1733,20 +1710,18 @@ static const void *VendorPriv_function_table[104][2] = { /* [ 36] = 1308 */ {__glXDisp_GetProgramStringARB, __glXDispSwap_GetProgramStringARB}, /* [ 37] = 1309 */ {NULL, NULL}, - /* [ 38] = 1310 */ {__glXDisp_GetProgramNamedParameterfvNV, - __glXDispSwap_GetProgramNamedParameterfvNV}, - /* [ 39] = 1311 */ {__glXDisp_GetProgramNamedParameterdvNV, - __glXDispSwap_GetProgramNamedParameterdvNV}, + /* [ 38] = 1310 */ {NULL, NULL}, + /* [ 39] = 1311 */ {NULL, NULL}, /* [ 40] = 1288 */ {NULL, NULL}, /* [ 41] = 1289 */ {NULL, NULL}, /* [ 42] = 1290 */ {NULL, NULL}, /* [ 43] = 1291 */ {NULL, NULL}, /* [ 44] = 1292 */ {NULL, NULL}, - /* [ 45] = 1293 */ {__glXDisp_AreProgramsResidentNV, - __glXDispSwap_AreProgramsResidentNV}, - /* [ 46] = 1294 */ {__glXDisp_DeleteProgramsNV, - __glXDispSwap_DeleteProgramsNV}, - /* [ 47] = 1295 */ {__glXDisp_GenProgramsNV, __glXDispSwap_GenProgramsNV}, + /* [ 45] = 1293 */ {NULL, NULL}, + /* [ 46] = 1294 */ {__glXDisp_DeleteProgramsARB, + __glXDispSwap_DeleteProgramsARB}, + /* [ 47] = 1295 */ {__glXDisp_GenProgramsARB, + __glXDispSwap_GenProgramsARB}, /* [ 48] = 1328 */ {NULL, NULL}, /* [ 49] = 1329 */ {NULL, NULL}, /* [ 50] = 1330 */ {__glXDisp_BindTexImageEXT, @@ -1763,20 +1738,19 @@ static const void *VendorPriv_function_table[104][2] = { /* [ 59] = 1419 */ {NULL, NULL}, /* [ 60] = 1420 */ {NULL, NULL}, /* [ 61] = 1421 */ {NULL, NULL}, - /* [ 62] = 1422 */ {__glXDisp_IsRenderbufferEXT, - __glXDispSwap_IsRenderbufferEXT}, - /* [ 63] = 1423 */ {__glXDisp_GenRenderbuffersEXT, - __glXDispSwap_GenRenderbuffersEXT}, - /* [ 64] = 1424 */ {__glXDisp_GetRenderbufferParameterivEXT, - __glXDispSwap_GetRenderbufferParameterivEXT}, - /* [ 65] = 1425 */ {__glXDisp_IsFramebufferEXT, - __glXDispSwap_IsFramebufferEXT}, - /* [ 66] = 1426 */ {__glXDisp_GenFramebuffersEXT, - __glXDispSwap_GenFramebuffersEXT}, - /* [ 67] = 1427 */ {__glXDisp_CheckFramebufferStatusEXT, - __glXDispSwap_CheckFramebufferStatusEXT}, - /* [ 68] = 1428 */ {__glXDisp_GetFramebufferAttachmentParameterivEXT, - __glXDispSwap_GetFramebufferAttachmentParameterivEXT}, + /* [ 62] = 1422 */ {__glXDisp_IsRenderbuffer, + __glXDispSwap_IsRenderbuffer}, + /* [ 63] = 1423 */ {__glXDisp_GenRenderbuffers, + __glXDispSwap_GenRenderbuffers}, + /* [ 64] = 1424 */ {__glXDisp_GetRenderbufferParameteriv, + __glXDispSwap_GetRenderbufferParameteriv}, + /* [ 65] = 1425 */ {__glXDisp_IsFramebuffer, __glXDispSwap_IsFramebuffer}, + /* [ 66] = 1426 */ {__glXDisp_GenFramebuffers, + __glXDispSwap_GenFramebuffers}, + /* [ 67] = 1427 */ {__glXDisp_CheckFramebufferStatus, + __glXDispSwap_CheckFramebufferStatus}, + /* [ 68] = 1428 */ {__glXDisp_GetFramebufferAttachmentParameteriv, + __glXDispSwap_GetFramebufferAttachmentParameteriv}, /* [ 69] = 1429 */ {NULL, NULL}, /* [ 70] = 1430 */ {NULL, NULL}, /* [ 71] = 1431 */ {NULL, NULL}, diff --git a/xserver/glx/indirect_texture_compression.c b/xserver/glx/indirect_texture_compression.c index 5c2d06b42..94de47dd6 100644 --- a/xserver/glx/indirect_texture_compression.c +++ b/xserver/glx/indirect_texture_compression.c @@ -34,13 +34,9 @@ #include "unpack.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" int -__glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte * pc) +__glXDisp_GetCompressedTexImage(struct __GLXclientStateRec *cl, GLbyte * pc) { xGLXSingleReq *const req = (xGLXSingleReq *) pc; int error; @@ -54,16 +50,13 @@ __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte * pc) GLint compsize = 0; char *answer = NULL, answerBuffer[200]; - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, - GL_TEXTURE_COMPRESSED_IMAGE_SIZE, - &compsize)); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, + &compsize); if (compsize != 0) { __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetCompressedTexImageARB(GET_DISPATCH(), - (target, level, answer)); + glGetCompressedTexImageARB(target, level, answer); } if (__glXErrorOccured()) { @@ -84,8 +77,7 @@ __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte * pc) } int -__glXDispSwap_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, - GLbyte * pc) +__glXDispSwap_GetCompressedTexImage(struct __GLXclientStateRec *cl, GLbyte * pc) { xGLXSingleReq *const req = (xGLXSingleReq *) pc; int error; @@ -100,16 +92,13 @@ __glXDispSwap_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLint compsize = 0; char *answer = NULL, answerBuffer[200]; - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, - GL_TEXTURE_COMPRESSED_IMAGE_SIZE, - &compsize)); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, + &compsize); if (compsize != 0) { __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetCompressedTexImageARB(GET_DISPATCH(), - (target, level, answer)); + glGetCompressedTexImageARB(target, level, answer); } if (__glXErrorOccured()) { diff --git a/xserver/glx/indirect_util.c b/xserver/glx/indirect_util.c index a30b1f880..f9d1243b1 100644 --- a/xserver/glx/indirect_util.c +++ b/xserver/glx/indirect_util.c @@ -39,10 +39,6 @@ #include "glxserver.h" #include "glxbyteorder.h" #include "singlesize.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" #include "glxext.h" #include "indirect_table.h" #include "indirect_util.h" @@ -57,8 +53,7 @@ __glGetBooleanv_variable_size(GLenum e) if (e == GL_COMPRESSED_TEXTURE_FORMATS) { GLint temp; - CALL_GetIntegerv(GET_DISPATCH(), - (GL_NUM_COMPRESSED_TEXTURE_FORMATS, &temp)); + glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &temp); return temp; } else { diff --git a/xserver/glx/render2.c b/xserver/glx/render2.c index 8cf74a691..8d9b5f4d2 100644 --- a/xserver/glx/render2.c +++ b/xserver/glx/render2.c @@ -36,10 +36,6 @@ #include "unpack.h" #include "indirect_size.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" void __glXDisp_Map1f(GLbyte * pc) @@ -55,7 +51,7 @@ __glXDisp_Map1f(GLbyte * pc) points = (GLfloat *) (pc + 16); k = __glMap1f_size(target); - CALL_Map1f(GET_DISPATCH(), (target, u1, u2, k, order, points)); + glMap1f(target, u1, u2, k, order, points); } void @@ -78,9 +74,7 @@ __glXDisp_Map2f(GLbyte * pc) ustride = vorder * k; vstride = k; - CALL_Map2f(GET_DISPATCH(), - (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, - points)); + glMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } void @@ -126,7 +120,7 @@ __glXDisp_Map1d(GLbyte * pc) #else points = (GLdouble *) pc; #endif - CALL_Map1d(GET_DISPATCH(), (target, u1, u2, k, order, points)); + glMap1d(target, u1, u2, k, order, points); } void @@ -178,9 +172,7 @@ __glXDisp_Map2d(GLbyte * pc) #else points = (GLdouble *) pc; #endif - CALL_Map2d(GET_DISPATCH(), - (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, - points)); + glMap2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } void @@ -215,40 +207,45 @@ __glXDisp_DrawArrays(GLbyte * pc) switch (component) { case GL_VERTEX_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_VERTEX_ARRAY)); - CALL_VertexPointer(GET_DISPATCH(), (numVals, datatype, stride, pc)); + glEnableClientState(GL_VERTEX_ARRAY); + glVertexPointer(numVals, datatype, stride, pc); break; case GL_NORMAL_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_NORMAL_ARRAY)); - CALL_NormalPointer(GET_DISPATCH(), (datatype, stride, pc)); + glEnableClientState(GL_NORMAL_ARRAY); + glNormalPointer(datatype, stride, pc); break; case GL_COLOR_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_COLOR_ARRAY)); - CALL_ColorPointer(GET_DISPATCH(), (numVals, datatype, stride, pc)); + glEnableClientState(GL_COLOR_ARRAY); + glColorPointer(numVals, datatype, stride, pc); break; case GL_INDEX_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_INDEX_ARRAY)); - CALL_IndexPointer(GET_DISPATCH(), (datatype, stride, pc)); + glEnableClientState(GL_INDEX_ARRAY); + glIndexPointer(datatype, stride, pc); break; case GL_TEXTURE_COORD_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_TEXTURE_COORD_ARRAY)); - CALL_TexCoordPointer(GET_DISPATCH(), - (numVals, datatype, stride, pc)); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glTexCoordPointer(numVals, datatype, stride, pc); break; case GL_EDGE_FLAG_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_EDGE_FLAG_ARRAY)); - CALL_EdgeFlagPointer(GET_DISPATCH(), - (stride, (const GLboolean *) pc)); + glEnableClientState(GL_EDGE_FLAG_ARRAY); + glEdgeFlagPointer(stride, (const GLboolean *) pc); break; case GL_SECONDARY_COLOR_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_SECONDARY_COLOR_ARRAY)); - CALL_SecondaryColorPointerEXT(GET_DISPATCH(), - (numVals, datatype, stride, pc)); + { + PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointerEXT = + __glGetProcAddress("glSecondaryColorPointerEXT"); + glEnableClientState(GL_SECONDARY_COLOR_ARRAY); + SecondaryColorPointerEXT(numVals, datatype, stride, pc); break; + } case GL_FOG_COORD_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_FOG_COORD_ARRAY)); - CALL_FogCoordPointerEXT(GET_DISPATCH(), (datatype, stride, pc)); + { + PFNGLFOGCOORDPOINTERPROC FogCoordPointerEXT = + __glGetProcAddress("glFogCoordPointerEXT"); + glEnableClientState(GL_FOG_COORD_ARRAY); + FogCoordPointerEXT(datatype, stride, pc); break; + } default: break; } @@ -256,15 +253,15 @@ __glXDisp_DrawArrays(GLbyte * pc) pc += __GLX_PAD(numVals * __glXTypeSize(datatype)); } - CALL_DrawArrays(GET_DISPATCH(), (primType, 0, numVertexes)); + glDrawArrays(primType, 0, numVertexes); /* turn off anything we might have turned on */ - CALL_DisableClientState(GET_DISPATCH(), (GL_VERTEX_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_NORMAL_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_COLOR_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_INDEX_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_TEXTURE_COORD_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_EDGE_FLAG_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_SECONDARY_COLOR_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_FOG_COORD_ARRAY)); + glDisableClientState(GL_VERTEX_ARRAY); + glDisableClientState(GL_NORMAL_ARRAY); + glDisableClientState(GL_COLOR_ARRAY); + glDisableClientState(GL_INDEX_ARRAY); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + glDisableClientState(GL_EDGE_FLAG_ARRAY); + glDisableClientState(GL_SECONDARY_COLOR_ARRAY); + glDisableClientState(GL_FOG_COORD_ARRAY); } diff --git a/xserver/glx/render2swap.c b/xserver/glx/render2swap.c index 8b5d9daff..6ed364f75 100644 --- a/xserver/glx/render2swap.c +++ b/xserver/glx/render2swap.c @@ -36,10 +36,6 @@ #include "unpack.h" #include "indirect_size.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" void __glXDispSwap_Map1f(GLbyte * pc) @@ -73,7 +69,7 @@ __glXDispSwap_Map1f(GLbyte * pc) } __GLX_SWAP_FLOAT_ARRAY(points, compsize); - CALL_Map1f(GET_DISPATCH(), (target, u1, u2, k, order, points)); + glMap1f(target, u1, u2, k, order, points); } void @@ -117,9 +113,7 @@ __glXDispSwap_Map2f(GLbyte * pc) } __GLX_SWAP_FLOAT_ARRAY(points, compsize); - CALL_Map2f(GET_DISPATCH(), - (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, - points)); + glMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } void @@ -167,7 +161,7 @@ __glXDispSwap_Map1d(GLbyte * pc) #else points = (GLdouble *) pc; #endif - CALL_Map1d(GET_DISPATCH(), (target, u1, u2, k, order, points)); + glMap1d(target, u1, u2, k, order, points); } void @@ -223,9 +217,7 @@ __glXDispSwap_Map2d(GLbyte * pc) #else points = (GLdouble *) pc; #endif - CALL_Map2d(GET_DISPATCH(), - (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, - points)); + glMap2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } static void @@ -337,40 +329,45 @@ __glXDispSwap_DrawArrays(GLbyte * pc) switch (component) { case GL_VERTEX_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_VERTEX_ARRAY)); - CALL_VertexPointer(GET_DISPATCH(), (numVals, datatype, stride, pc)); + glEnableClientState(GL_VERTEX_ARRAY); + glVertexPointer(numVals, datatype, stride, pc); break; case GL_NORMAL_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_NORMAL_ARRAY)); - CALL_NormalPointer(GET_DISPATCH(), (datatype, stride, pc)); + glEnableClientState(GL_NORMAL_ARRAY); + glNormalPointer(datatype, stride, pc); break; case GL_COLOR_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_COLOR_ARRAY)); - CALL_ColorPointer(GET_DISPATCH(), (numVals, datatype, stride, pc)); + glEnableClientState(GL_COLOR_ARRAY); + glColorPointer(numVals, datatype, stride, pc); break; case GL_INDEX_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_INDEX_ARRAY)); - CALL_IndexPointer(GET_DISPATCH(), (datatype, stride, pc)); + glEnableClientState(GL_INDEX_ARRAY); + glIndexPointer(datatype, stride, pc); break; case GL_TEXTURE_COORD_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_TEXTURE_COORD_ARRAY)); - CALL_TexCoordPointer(GET_DISPATCH(), - (numVals, datatype, stride, pc)); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glTexCoordPointer(numVals, datatype, stride, pc); break; case GL_EDGE_FLAG_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_EDGE_FLAG_ARRAY)); - CALL_EdgeFlagPointer(GET_DISPATCH(), - (stride, (const GLboolean *) pc)); + glEnableClientState(GL_EDGE_FLAG_ARRAY); + glEdgeFlagPointer(stride, (const GLboolean *) pc); break; case GL_SECONDARY_COLOR_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_SECONDARY_COLOR_ARRAY)); - CALL_SecondaryColorPointerEXT(GET_DISPATCH(), - (numVals, datatype, stride, pc)); + { + PFNGLSECONDARYCOLORPOINTERPROC SecondaryColorPointerEXT = + __glGetProcAddress("glSecondaryColorPointerEXT"); + glEnableClientState(GL_SECONDARY_COLOR_ARRAY); + SecondaryColorPointerEXT(numVals, datatype, stride, pc); break; + } case GL_FOG_COORD_ARRAY: - CALL_EnableClientState(GET_DISPATCH(), (GL_FOG_COORD_ARRAY)); - CALL_FogCoordPointerEXT(GET_DISPATCH(), (datatype, stride, pc)); + { + PFNGLFOGCOORDPOINTERPROC FogCoordPointerEXT = + __glGetProcAddress("glFogCoordPointerEXT"); + glEnableClientState(GL_FOG_COORD_ARRAY); + FogCoordPointerEXT(datatype, stride, pc); break; + } default: break; } @@ -378,15 +375,15 @@ __glXDispSwap_DrawArrays(GLbyte * pc) pc += __GLX_PAD(numVals * __glXTypeSize(datatype)); } - CALL_DrawArrays(GET_DISPATCH(), (primType, 0, numVertexes)); + glDrawArrays(primType, 0, numVertexes); /* turn off anything we might have turned on */ - CALL_DisableClientState(GET_DISPATCH(), (GL_VERTEX_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_NORMAL_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_COLOR_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_INDEX_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_TEXTURE_COORD_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_EDGE_FLAG_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_SECONDARY_COLOR_ARRAY)); - CALL_DisableClientState(GET_DISPATCH(), (GL_FOG_COORD_ARRAY)); + glDisableClientState(GL_VERTEX_ARRAY); + glDisableClientState(GL_NORMAL_ARRAY); + glDisableClientState(GL_COLOR_ARRAY); + glDisableClientState(GL_INDEX_ARRAY); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + glDisableClientState(GL_EDGE_FLAG_ARRAY); + glDisableClientState(GL_SECONDARY_COLOR_ARRAY); + glDisableClientState(GL_FOG_COORD_ARRAY); } diff --git a/xserver/glx/renderpix.c b/xserver/glx/renderpix.c index 6fccde61f..91ba91187 100644 --- a/xserver/glx/renderpix.c +++ b/xserver/glx/renderpix.c @@ -35,10 +35,6 @@ #include "glxserver.h" #include "unpack.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" void __glXDisp_SeparableFilter2D(GLbyte * pc) @@ -49,12 +45,12 @@ __glXDisp_SeparableFilter2D(GLbyte * pc) hdrlen = __GLX_PAD(__GLX_CONV_FILT_CMD_DISPATCH_HDR_SIZE); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ALIGNMENT, hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, hdr->alignment); /* XXX check this usage - internal code called ** a version without the packing parameters @@ -64,10 +60,8 @@ __glXDisp_SeparableFilter2D(GLbyte * pc) hdr->alignment); image1len = __GLX_PAD(image1len); - CALL_SeparableFilter2D(GET_DISPATCH(), (hdr->target, hdr->internalformat, - hdr->width, hdr->height, - hdr->format, hdr->type, - ((GLubyte *) hdr + hdrlen), - ((GLubyte *) hdr + hdrlen + - image1len))); + glSeparableFilter2D(hdr->target, hdr->internalformat, hdr->width, + hdr->height, hdr->format, hdr->type, + ((GLubyte *) hdr + hdrlen), + ((GLubyte *) hdr + hdrlen + image1len)); } diff --git a/xserver/glx/renderpixswap.c b/xserver/glx/renderpixswap.c index 24423cdef..a4cb246bb 100644 --- a/xserver/glx/renderpixswap.c +++ b/xserver/glx/renderpixswap.c @@ -35,10 +35,6 @@ #include "glxserver.h" #include "unpack.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" void __glXDispSwap_SeparableFilter2D(GLbyte * pc) @@ -67,12 +63,12 @@ __glXDispSwap_SeparableFilter2D(GLbyte * pc) ** Just invert swapBytes flag; the GL will figure out if it needs to swap ** the pixel data. */ - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, !hdr->swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_LSB_FIRST, hdr->lsbFirst)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, hdr->rowLength)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, hdr->skipRows)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, hdr->skipPixels)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ALIGNMENT, hdr->alignment)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, !hdr->swapBytes); + glPixelStorei(GL_UNPACK_LSB_FIRST, hdr->lsbFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, hdr->rowLength); + glPixelStorei(GL_UNPACK_SKIP_ROWS, hdr->skipRows); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, hdr->skipPixels); + glPixelStorei(GL_UNPACK_ALIGNMENT, hdr->alignment); /* XXX check this usage - internal code called ** a version without the packing parameters @@ -82,10 +78,8 @@ __glXDispSwap_SeparableFilter2D(GLbyte * pc) hdr->alignment); image1len = __GLX_PAD(image1len); - CALL_SeparableFilter2D(GET_DISPATCH(), (hdr->target, hdr->internalformat, - hdr->width, hdr->height, - hdr->format, hdr->type, - ((GLubyte *) hdr + hdrlen), - ((GLubyte *) hdr + hdrlen + - image1len))); + glSeparableFilter2D(hdr->target, hdr->internalformat, hdr->width, + hdr->height, hdr->format, hdr->type, + ((GLubyte *) hdr + hdrlen), + ((GLubyte *) hdr + hdrlen + image1len)); } diff --git a/xserver/glx/single2.c b/xserver/glx/single2.c index 9597d29fe..53b661d20 100644 --- a/xserver/glx/single2.c +++ b/xserver/glx/single2.c @@ -41,10 +41,6 @@ #include "glxext.h" #include "indirect_dispatch.h" #include "unpack.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" int __glXDisp_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc) @@ -72,7 +68,7 @@ __glXDisp_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc) } cx->feedbackBufSize = size; } - CALL_FeedbackBuffer(GET_DISPATCH(), (size, type, cx->feedbackBuf)); + glFeedbackBuffer(size, type, cx->feedbackBuf); cx->hasUnflushedCommands = GL_TRUE; return Success; } @@ -100,7 +96,7 @@ __glXDisp_SelectBuffer(__GLXclientState * cl, GLbyte * pc) } cx->selectBufSize = size; } - CALL_SelectBuffer(GET_DISPATCH(), (size, cx->selectBuf)); + glSelectBuffer(size, cx->selectBuf); cx->hasUnflushedCommands = GL_TRUE; return Success; } @@ -123,10 +119,10 @@ __glXDisp_RenderMode(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; newMode = *(GLenum *) pc; - retval = CALL_RenderMode(GET_DISPATCH(), (newMode)); + retval = glRenderMode(newMode); /* Check that render mode worked */ - CALL_GetIntegerv(GET_DISPATCH(), (GL_RENDER_MODE, &newModeCheck)); + glGetIntegerv(GL_RENDER_MODE, &newModeCheck); if (newModeCheck != newMode) { /* Render mode change failed. Bail */ newMode = newModeCheck; @@ -219,7 +215,7 @@ __glXDisp_Flush(__GLXclientState * cl, GLbyte * pc) return error; } - CALL_Flush(GET_DISPATCH(), ()); + glFlush(); cx->hasUnflushedCommands = GL_FALSE; return Success; } @@ -237,7 +233,7 @@ __glXDisp_Finish(__GLXclientState * cl, GLbyte * pc) } /* Do a local glFinish */ - CALL_Finish(GET_DISPATCH(), ()); + glFinish(); cx->hasUnflushedCommands = GL_FALSE; /* Send empty reply packet to indicate finish is finished */ @@ -346,7 +342,7 @@ DoGetString(__GLXclientState * cl, GLbyte * pc, GLboolean need_swap) pc += __GLX_SINGLE_HDR_SIZE; name = *(GLenum *) (pc + 0); - string = (const char *) CALL_GetString(GET_DISPATCH(), (name)); + string = (const char *) glGetString(name); client = cl->client; if (string == NULL) diff --git a/xserver/glx/single2swap.c b/xserver/glx/single2swap.c index 1ca532836..764501f59 100644 --- a/xserver/glx/single2swap.c +++ b/xserver/glx/single2swap.c @@ -37,10 +37,6 @@ #include "glxext.h" #include "indirect_dispatch.h" #include "unpack.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" int __glXDispSwap_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc) @@ -73,7 +69,7 @@ __glXDispSwap_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc) } cx->feedbackBufSize = size; } - CALL_FeedbackBuffer(GET_DISPATCH(), (size, type, cx->feedbackBuf)); + glFeedbackBuffer(size, type, cx->feedbackBuf); cx->hasUnflushedCommands = GL_TRUE; return Success; } @@ -105,7 +101,7 @@ __glXDispSwap_SelectBuffer(__GLXclientState * cl, GLbyte * pc) } cx->selectBufSize = size; } - CALL_SelectBuffer(GET_DISPATCH(), (size, cx->selectBuf)); + glSelectBuffer(size, cx->selectBuf); cx->hasUnflushedCommands = GL_TRUE; return Success; } @@ -133,10 +129,10 @@ __glXDispSwap_RenderMode(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; __GLX_SWAP_INT(pc); newMode = *(GLenum *) pc; - retval = CALL_RenderMode(GET_DISPATCH(), (newMode)); + retval = glRenderMode(newMode); /* Check that render mode worked */ - CALL_GetIntegerv(GET_DISPATCH(), (GL_RENDER_MODE, &newModeCheck)); + glGetIntegerv(GL_RENDER_MODE, &newModeCheck); if (newModeCheck != newMode) { /* Render mode change failed. Bail */ newMode = newModeCheck; @@ -239,7 +235,7 @@ __glXDispSwap_Flush(__GLXclientState * cl, GLbyte * pc) return error; } - CALL_Flush(GET_DISPATCH(), ()); + glFlush(); cx->hasUnflushedCommands = GL_FALSE; return Success; } @@ -260,7 +256,7 @@ __glXDispSwap_Finish(__GLXclientState * cl, GLbyte * pc) } /* Do a local glFinish */ - CALL_Finish(GET_DISPATCH(), ()); + glFinish(); cx->hasUnflushedCommands = GL_FALSE; /* Send empty reply packet to indicate finish is finished */ diff --git a/xserver/glx/singlepix.c b/xserver/glx/singlepix.c index fb6868d2d..506fdaad5 100644 --- a/xserver/glx/singlepix.c +++ b/xserver/glx/singlepix.c @@ -38,10 +38,6 @@ #include "unpack.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" int __glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc) @@ -71,16 +67,13 @@ __glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_LSB_FIRST, lsbFirst)); + glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); + glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_ReadPixels(GET_DISPATCH(), (*(GLint *) (pc + 0), - *(GLint *) (pc + 4), - *(GLsizei *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLenum *) (pc + 16), - *(GLenum *) (pc + 20), answer)); + glReadPixels(*(GLint *) (pc + 0), *(GLint *) (pc + 4), + *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12), + *(GLenum *) (pc + 16), *(GLenum *) (pc + 20), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -119,13 +112,10 @@ __glXDisp_GetTexImage(__GLXclientState * cl, GLbyte * pc) target = *(GLenum *) (pc + 0); swapBytes = *(GLboolean *) (pc + 16); - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, GL_TEXTURE_WIDTH, &width)); - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, GL_TEXTURE_HEIGHT, &height)); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_WIDTH, &width); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_HEIGHT, &height); if (target == GL_TEXTURE_3D) { - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, GL_TEXTURE_DEPTH, &depth)); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_DEPTH, &depth); } /* * The three queries above might fail if we're in a state where queries @@ -136,13 +126,11 @@ __glXDisp_GetTexImage(__GLXclientState * cl, GLbyte * pc) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetTexImage(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLenum *) (pc + 12), answer)); + glGetTexImage(*(GLenum *) (pc + 0), *(GLint *) (pc + 4), + *(GLenum *) (pc + 8), *(GLenum *) (pc + 12), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -177,11 +165,11 @@ __glXDisp_GetPolygonStipple(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; lsbFirst = *(GLboolean *) (pc + 0); - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_LSB_FIRST, lsbFirst)); + glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst); __GLX_GET_ANSWER_BUFFER(answer, cl, 128, 1); __glXClearErrorOccured(); - CALL_GetPolygonStipple(GET_DISPATCH(), ((GLubyte *) answer)); + glGetPolygonStipple((GLubyte *) answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -220,10 +208,8 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) /* target must be SEPARABLE_2D, however I guess we can let the GL barf on this one.... */ - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_WIDTH, &width)); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_HEIGHT, &height)); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_WIDTH, &width); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_HEIGHT, &height); /* * The two queries above might fail if we're in a state where queries * are illegal, but then width and height would still be zero anyway. @@ -238,13 +224,11 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) compsize = __GLX_PAD(compsize); compsize2 = __GLX_PAD(compsize2); - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize + compsize2, 1); __glXClearErrorOccured(); - CALL_GetSeparableFilter(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - answer, answer + compsize, NULL)); + glGetSeparableFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), answer, answer + compsize, NULL); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -299,15 +283,12 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) target = *(GLenum *) (pc + 0); swapBytes = *(GLboolean *) (pc + 12); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_WIDTH, &width)); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_WIDTH, &width); if (target == GL_CONVOLUTION_1D) { height = 1; } else { - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_HEIGHT, - &height)); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_HEIGHT, &height); } /* * The two queries above might fail if we're in a state where queries @@ -317,12 +298,11 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetConvolutionFilter(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), answer)); + glGetConvolutionFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -378,8 +358,7 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) swapBytes = *(GLboolean *) (pc + 12); reset = *(GLboolean *) (pc + 13); - CALL_GetHistogramParameteriv(GET_DISPATCH(), - (target, GL_HISTOGRAM_WIDTH, &width)); + glGetHistogramParameteriv(target, GL_HISTOGRAM_WIDTH, &width); /* * The one query above might fail if we're in a state where queries * are illegal, but then width would still be zero anyway. @@ -388,10 +367,10 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetHistogram(GET_DISPATCH(), (target, reset, format, type, answer)); + glGetHistogram(target, reset, format, type, answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -449,10 +428,10 @@ GetMinmax(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetMinmax(GET_DISPATCH(), (target, reset, format, type, answer)); + glGetMinmax(target, reset, format, type, answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -505,8 +484,7 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) type = *(GLenum *) (pc + 8); swapBytes = *(GLboolean *) (pc + 12); - CALL_GetColorTableParameteriv(GET_DISPATCH(), - (target, GL_COLOR_TABLE_WIDTH, &width)); + glGetColorTableParameteriv(target, GL_COLOR_TABLE_WIDTH, &width); /* * The one query above might fail if we're in a state where queries * are illegal, but then width would still be zero anyway. @@ -515,12 +493,11 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetColorTable(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), answer)); + glGetColorTable(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); diff --git a/xserver/glx/singlepixswap.c b/xserver/glx/singlepixswap.c index c777cea00..846910153 100644 --- a/xserver/glx/singlepixswap.c +++ b/xserver/glx/singlepixswap.c @@ -38,10 +38,6 @@ #include "unpack.h" #include "indirect_dispatch.h" #include "indirect_size_get.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" int __glXDispSwap_ReadPixels(__GLXclientState * cl, GLbyte * pc) @@ -81,17 +77,13 @@ __glXDispSwap_ReadPixels(__GLXclientState * cl, GLbyte * pc) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes)); - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_LSB_FIRST, lsbFirst)); + glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); + glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_ReadPixels(GET_DISPATCH(), - (*(GLint *) (pc + 0), - *(GLint *) (pc + 4), - *(GLsizei *) (pc + 8), - *(GLsizei *) (pc + 12), - *(GLenum *) (pc + 16), *(GLenum *) (pc + 20), answer) - ); + glReadPixels(*(GLint *) (pc + 0), *(GLint *) (pc + 4), + *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12), + *(GLenum *) (pc + 16), *(GLenum *) (pc + 20), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -140,13 +132,10 @@ __glXDispSwap_GetTexImage(__GLXclientState * cl, GLbyte * pc) target = *(GLenum *) (pc + 0); swapBytes = *(GLboolean *) (pc + 16); - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, GL_TEXTURE_WIDTH, &width)); - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, GL_TEXTURE_HEIGHT, &height)); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_WIDTH, &width); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_HEIGHT, &height); if (target == GL_TEXTURE_3D) { - CALL_GetTexLevelParameteriv(GET_DISPATCH(), - (target, level, GL_TEXTURE_DEPTH, &depth)); + glGetTexLevelParameteriv(target, level, GL_TEXTURE_DEPTH, &depth); } /* * The three queries above might fail if we're in a state where queries @@ -157,13 +146,11 @@ __glXDispSwap_GetTexImage(__GLXclientState * cl, GLbyte * pc) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetTexImage(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLint *) (pc + 4), - *(GLenum *) (pc + 8), - *(GLenum *) (pc + 12), answer)); + glGetTexImage(*(GLenum *) (pc + 0), *(GLint *) (pc + 4), + *(GLenum *) (pc + 8), *(GLenum *) (pc + 12), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -205,11 +192,11 @@ __glXDispSwap_GetPolygonStipple(__GLXclientState * cl, GLbyte * pc) pc += __GLX_SINGLE_HDR_SIZE; lsbFirst = *(GLboolean *) (pc + 0); - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_LSB_FIRST, lsbFirst)); + glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst); __GLX_GET_ANSWER_BUFFER(answer, cl, 128, 1); __glXClearErrorOccured(); - CALL_GetPolygonStipple(GET_DISPATCH(), ((GLubyte *) answer)); + glGetPolygonStipple((GLubyte *) answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); __GLX_SWAP_REPLY_HEADER(); @@ -255,10 +242,8 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) /* target must be SEPARABLE_2D, however I guess we can let the GL barf on this one.... */ - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_WIDTH, &width)); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_HEIGHT, &height)); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_WIDTH, &width); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_HEIGHT, &height); /* * The two queries above might fail if we're in a state where queries * are illegal, but then width and height would still be zero anyway. @@ -273,13 +258,11 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) compsize = __GLX_PAD(compsize); compsize2 = __GLX_PAD(compsize2); - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize + compsize2, 1); __glXClearErrorOccured(); - CALL_GetSeparableFilter(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), - answer, answer + compsize, NULL)); + glGetSeparableFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), answer, answer + compsize, NULL); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -342,15 +325,12 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) target = *(GLenum *) (pc + 0); swapBytes = *(GLboolean *) (pc + 12); - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_WIDTH, &width)); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_WIDTH, &width); if (target == GL_CONVOLUTION_2D) { height = 1; } else { - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, GL_CONVOLUTION_HEIGHT, - &height)); + glGetConvolutionParameteriv(target, GL_CONVOLUTION_HEIGHT, &height); } /* * The two queries above might fail if we're in a state where queries @@ -360,12 +340,11 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetConvolutionFilter(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), answer)); + glGetConvolutionFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -429,8 +408,7 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) swapBytes = *(GLboolean *) (pc + 12); reset = *(GLboolean *) (pc + 13); - CALL_GetHistogramParameteriv(GET_DISPATCH(), - (target, GL_HISTOGRAM_WIDTH, &width)); + glGetHistogramParameteriv(target, GL_HISTOGRAM_WIDTH, &width); /* * The one query above might fail if we're in a state where queries * are illegal, but then width would still be zero anyway. @@ -439,10 +417,10 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetHistogram(GET_DISPATCH(), (target, reset, format, type, answer)); + glGetHistogram(target, reset, format, type, answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -507,10 +485,10 @@ GetMinmax(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetMinmax(GET_DISPATCH(), (target, reset, format, type, answer)); + glGetMinmax(target, reset, format, type, answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); @@ -569,8 +547,7 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) target = *(GLenum *) (pc + 0); swapBytes = *(GLboolean *) (pc + 12); - CALL_GetColorTableParameteriv(GET_DISPATCH(), - (target, GL_COLOR_TABLE_WIDTH, &width)); + glGetColorTableParameteriv(target, GL_COLOR_TABLE_WIDTH, &width); /* * The one query above might fail if we're in a state where queries * are illegal, but then width would still be zero anyway. @@ -579,12 +556,11 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) if (compsize < 0) compsize = 0; - CALL_PixelStorei(GET_DISPATCH(), (GL_PACK_SWAP_BYTES, !swapBytes)); + glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); __glXClearErrorOccured(); - CALL_GetColorTable(GET_DISPATCH(), (*(GLenum *) (pc + 0), - *(GLenum *) (pc + 4), - *(GLenum *) (pc + 8), answer)); + glGetColorTable(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), + *(GLenum *) (pc + 8), answer); if (__glXErrorOccured()) { __GLX_BEGIN_REPLY(0); diff --git a/xserver/glx/singlesize.c b/xserver/glx/singlesize.c index 777ebb35e..4c60b6920 100644 --- a/xserver/glx/singlesize.c +++ b/xserver/glx/singlesize.c @@ -36,10 +36,6 @@ #include "glxserver.h" #include "singlesize.h" #include "indirect_size_get.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" /* ** These routines compute the size of variable-size returned parameters. @@ -75,7 +71,7 @@ __glGetMap_size(GLenum target, GLenum query) switch (query) { case GL_COEFF: k = __glMap1d_size(target); - CALL_GetMapiv(GET_DISPATCH(), (target, GL_ORDER, &order)); + glGetMapiv(target, GL_ORDER, &order); /* ** The query above might fail, but then order will be zero anyway. */ @@ -99,7 +95,7 @@ __glGetMap_size(GLenum target, GLenum query) case GL_COEFF: k = __glMap2d_size(target); majorMinor[0] = majorMinor[1] = 0; - CALL_GetMapiv(GET_DISPATCH(), (target, GL_ORDER, majorMinor)); + glGetMapiv(target, GL_ORDER, majorMinor); /* ** The query above might fail, but then majorMinor will be zeroes */ @@ -172,7 +168,7 @@ __glGetPixelMap_size(GLenum map) default: return -1; } - CALL_GetIntegerv(GET_DISPATCH(), (query, &size)); + glGetIntegerv(query, &size); return size; } diff --git a/xserver/glx/swap_interval.c b/xserver/glx/swap_interval.c index 7533d2642..17bc99207 100644 --- a/xserver/glx/swap_interval.c +++ b/xserver/glx/swap_interval.c @@ -33,10 +33,6 @@ #include "unpack.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" #include "glxbyteorder.h" static int DoSwapInterval(__GLXclientState * cl, GLbyte * pc, int do_swap); diff --git a/xserver/glx/xfont.c b/xserver/glx/xfont.c index b203866d9..83a455d73 100644 --- a/xserver/glx/xfont.c +++ b/xserver/glx/xfont.c @@ -35,10 +35,6 @@ #include "glxserver.h" #include "glxutil.h" #include "unpack.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" #include "indirect_dispatch.h" #include #include @@ -94,10 +90,8 @@ __glXMakeBitmapFromGlyph(FontPtr font, CharInfoPtr pci) pglyph -= widthPadded; p += widthPadded; } - CALL_Bitmap(GET_DISPATCH(), (w, h, -pci->metrics.leftSideBearing, - pci->metrics.descent, - pci->metrics.characterWidth, 0, - allocbuf ? allocbuf : buf)); + glBitmap(w, h, -pci->metrics.leftSideBearing, pci->metrics.descent, + pci->metrics.characterWidth, 0, allocbuf ? allocbuf : buf); free(allocbuf); return Success; @@ -118,13 +112,12 @@ MakeBitmapsFromFont(FontPtr pFont, int first, int count, int list_base) int rv; /* return value */ int encoding = (FONTLASTROW(pFont) == 0) ? Linear16Bit : TwoD16Bit; - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SWAP_BYTES, FALSE)); - CALL_PixelStorei(GET_DISPATCH(), - (GL_UNPACK_LSB_FIRST, BITMAP_BIT_ORDER == LSBFirst)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, 0)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, 0)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, 0)); - CALL_PixelStorei(GET_DISPATCH(), (GL_UNPACK_ALIGNMENT, GLYPHPADBYTES)); + glPixelStorei(GL_UNPACK_SWAP_BYTES, FALSE); + glPixelStorei(GL_UNPACK_LSB_FIRST, BITMAP_BIT_ORDER == LSBFirst); + glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); + glPixelStorei(GL_UNPACK_SKIP_ROWS, 0); + glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0); + glPixelStorei(GL_UNPACK_ALIGNMENT, GLYPHPADBYTES); for (i = 0; i < count; i++) { chs[0] = (first + i) >> 8; /* high byte is first byte */ chs[1] = first + i; @@ -135,14 +128,14 @@ MakeBitmapsFromFont(FontPtr pFont, int first, int count, int list_base) /* ** Define a display list containing just a glBitmap() call. */ - CALL_NewList(GET_DISPATCH(), (list_base + i, GL_COMPILE)); + glNewList(list_base + i, GL_COMPILE); if (nglyphs) { rv = __glXMakeBitmapFromGlyph(pFont, pci); if (rv) { return rv; } } - CALL_EndList(GET_DISPATCH(), ()); + glEndList(); } return Success; } @@ -167,8 +160,7 @@ __glXDisp_UseXFont(__GLXclientState * cl, GLbyte * pc) return error; } - CALL_GetIntegerv(GET_DISPATCH(), - (GL_LIST_INDEX, (GLint *) ¤tListIndex)); + glGetIntegerv(GL_LIST_INDEX, (GLint *) ¤tListIndex); if (currentListIndex != 0) { /* ** A display list is currently being made. It is an error diff --git a/xserver/hw/Makefile.in b/xserver/hw/Makefile.in index cd34eea3e..34214658d 100644 --- a/xserver/hw/Makefile.in +++ b/xserver/hw/Makefile.in @@ -183,9 +183,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -217,6 +220,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -246,6 +250,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -289,6 +295,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -302,12 +309,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -373,6 +380,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/Makefile.am b/xserver/hw/dmx/Makefile.am index fb727e656..a05af139e 100644 --- a/xserver/hw/dmx/Makefile.am +++ b/xserver/hw/dmx/Makefile.am @@ -56,8 +56,6 @@ Xdmx_SOURCES = dmx.c \ dmxprop.h \ dmxscrinit.c \ dmxscrinit.h \ - dmxshadow.c \ - dmxshadow.h \ dmxstat.c \ dmxstat.h \ dmxsync.c \ diff --git a/xserver/hw/dmx/Makefile.in b/xserver/hw/dmx/Makefile.in index b01f7829a..d3420401b 100644 --- a/xserver/hw/dmx/Makefile.in +++ b/xserver/hw/dmx/Makefile.in @@ -82,11 +82,11 @@ am__Xdmx_SOURCES_DIST = dmx.c dmxcb.c dmxcb.h dmxclient.h dmxcmap.c \ dmxgc.c dmxgc.h dmxgcops.c dmxgcops.h dmx.h dmxinit.c \ dmxinit.h dmxinput.c dmxinput.h dmxlog.c dmxlog.h dmxpict.c \ dmxpict.h dmxpixmap.c dmxpixmap.h dmxprop.c dmxprop.h \ - dmxscrinit.c dmxscrinit.h dmxshadow.c dmxshadow.h dmxstat.c \ - dmxstat.h dmxsync.c dmxsync.h dmxvisual.c dmxvisual.h \ - dmxwindow.c dmxwindow.h $(top_srcdir)/mi/miinitext.c \ - $(top_srcdir)/fb/fbcmap_mi.c $(top_srcdir)/Xext/panoramiX.c \ - dmx_glxvisuals.c dmx_glxvisuals.h + dmxscrinit.c dmxscrinit.h dmxstat.c dmxstat.h dmxsync.c \ + dmxsync.h dmxvisual.c dmxvisual.h dmxwindow.c dmxwindow.h \ + $(top_srcdir)/mi/miinitext.c $(top_srcdir)/fb/fbcmap_mi.c \ + $(top_srcdir)/Xext/panoramiX.c dmx_glxvisuals.c \ + dmx_glxvisuals.h @XINERAMA_TRUE@am__objects_1 = panoramiX.$(OBJEXT) @GLX_TRUE@am__objects_2 = $(am__objects_1) dmx_glxvisuals.$(OBJEXT) am_Xdmx_OBJECTS = dmx.$(OBJEXT) dmxcb.$(OBJEXT) dmxcmap.$(OBJEXT) \ @@ -94,9 +94,9 @@ am_Xdmx_OBJECTS = dmx.$(OBJEXT) dmxcb.$(OBJEXT) dmxcmap.$(OBJEXT) \ dmxfont.$(OBJEXT) dmxgc.$(OBJEXT) dmxgcops.$(OBJEXT) \ dmxinit.$(OBJEXT) dmxinput.$(OBJEXT) dmxlog.$(OBJEXT) \ dmxpict.$(OBJEXT) dmxpixmap.$(OBJEXT) dmxprop.$(OBJEXT) \ - dmxscrinit.$(OBJEXT) dmxshadow.$(OBJEXT) dmxstat.$(OBJEXT) \ - dmxsync.$(OBJEXT) dmxvisual.$(OBJEXT) dmxwindow.$(OBJEXT) \ - miinitext.$(OBJEXT) fbcmap_mi.$(OBJEXT) $(am__objects_2) + dmxscrinit.$(OBJEXT) dmxstat.$(OBJEXT) dmxsync.$(OBJEXT) \ + dmxvisual.$(OBJEXT) dmxwindow.$(OBJEXT) miinitext.$(OBJEXT) \ + fbcmap_mi.$(OBJEXT) $(am__objects_2) Xdmx_OBJECTS = $(am_Xdmx_OBJECTS) am__DEPENDENCIES_1 = $(GLX_LIBS) input/libdmxinput.a \ config/libdmxconfig.a @@ -244,9 +244,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -278,6 +281,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -307,6 +311,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -350,6 +356,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -363,12 +370,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -443,6 +450,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -569,8 +578,6 @@ Xdmx_SOURCES = dmx.c \ dmxprop.h \ dmxscrinit.c \ dmxscrinit.h \ - dmxshadow.c \ - dmxshadow.h \ dmxstat.c \ dmxstat.h \ dmxsync.c \ @@ -693,7 +700,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmxpixmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmxprop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmxscrinit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmxshadow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmxstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmxsync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dmxvisual.Po@am__quote@ diff --git a/xserver/hw/dmx/config/Makefile.in b/xserver/hw/dmx/config/Makefile.in index 9f8993068..b20b8bfc1 100644 --- a/xserver/hw/dmx/config/Makefile.in +++ b/xserver/hw/dmx/config/Makefile.in @@ -258,9 +258,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -292,6 +295,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -321,6 +325,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -364,6 +370,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -377,12 +384,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -448,6 +455,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/config/dmxcompat.c b/xserver/hw/dmx/config/dmxcompat.c index bd9f12738..107991a96 100644 --- a/xserver/hw/dmx/config/dmxcompat.c +++ b/xserver/hw/dmx/config/dmxcompat.c @@ -228,5 +228,9 @@ dmxVDLRead(const char *filename) break; } } + + if (str != stdin) + fclose(str); + return entry; } diff --git a/xserver/hw/dmx/config/man/Makefile.in b/xserver/hw/dmx/config/man/Makefile.in index e7cbe8f51..c2a36a9a7 100644 --- a/xserver/hw/dmx/config/man/Makefile.in +++ b/xserver/hw/dmx/config/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/dmx.h b/xserver/hw/dmx/dmx.h index f0cb04459..7242e4380 100644 --- a/xserver/hw/dmx/dmx.h +++ b/xserver/hw/dmx/dmx.h @@ -254,10 +254,6 @@ typedef struct _DMXScreenInfo { /* Global variables available to all Xserver/hw/dmx routines. */ extern int dmxNumScreens; /**< Number of dmxScreens */ extern DMXScreenInfo *dmxScreens; /**< List of outputs */ -extern int dmxShadowFB; /**< Non-zero if using - - * shadow frame-buffer - * (deprecated) */ extern XErrorEvent dmxLastErrorEvent; /**< Last error that * occurred */ diff --git a/xserver/hw/dmx/dmx_glxvisuals.c b/xserver/hw/dmx/dmx_glxvisuals.c index f903b7491..b3bd3b79f 100644 --- a/xserver/hw/dmx/dmx_glxvisuals.c +++ b/xserver/hw/dmx/dmx_glxvisuals.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "dmx_glxvisuals.h" @@ -84,7 +85,10 @@ GetGLXVisualConfigs(Display * dpy, int screen, int *nconfigs) SyncHandle(); return NULL; } - props = (INT32 *) Xmalloc(nprops * __GLX_SIZE_CARD32); + if (nprops < (INT_MAX / __GLX_SIZE_CARD32)) + props = Xmalloc(nprops * __GLX_SIZE_CARD32); + else + props = NULL; if (!props) { UnlockDisplay(dpy); SyncHandle(); @@ -92,15 +96,16 @@ GetGLXVisualConfigs(Display * dpy, int screen, int *nconfigs) } /* Allocate memory for our config structure */ - config = (__GLXvisualConfig *) - Xmalloc(nvisuals * sizeof(__GLXvisualConfig)); + if (nvisuals < (INT_MAX / sizeof(__GLXvisualConfig))) + config = Xcalloc(nvisuals, sizeof(__GLXvisualConfig)); + else + config = NULL; if (!config) { free(props); UnlockDisplay(dpy); SyncHandle(); return NULL; } - memset(config, 0, nvisuals * sizeof(__GLXvisualConfig)); configs = config; num_good_visuals = 0; @@ -274,7 +279,10 @@ GetGLXFBConfigs(Display * dpy, int glxMajorOpcode, int *nconfigs) return NULL; } - attrs = (INT32 *) Xmalloc(2 * numAttribs * __GLX_SIZE_CARD32); + if (numAttribs < (INT_MAX / (2 * __GLX_SIZE_CARD32))) + attrs = Xmalloc(2 * numAttribs * __GLX_SIZE_CARD32); + else + attrs = NULL; if (!attrs) { UnlockDisplay(dpy); SyncHandle(); @@ -282,15 +290,16 @@ GetGLXFBConfigs(Display * dpy, int glxMajorOpcode, int *nconfigs) } /* Allocate memory for our config structure */ - config = (__GLXFBConfig *) - Xmalloc(numFBConfigs * sizeof(__GLXFBConfig)); + if (numFBConfigs < (INT_MAX / sizeof(__GLXFBConfig))) + config = Xcalloc(numFBConfigs, sizeof(__GLXFBConfig)); + else + config = NULL; if (!config) { free(attrs); UnlockDisplay(dpy); SyncHandle(); return NULL; } - memset(config, 0, numFBConfigs * sizeof(__GLXFBConfig)); fbconfigs = config; /* Convert attribute list into our format */ @@ -439,7 +448,12 @@ GetGLXFBConfigs(Display * dpy, int glxMajorOpcode, int *nconfigs) /* Fill in derived values */ config->screen = screen; - config->rgbMode = config->renderType & GLX_RGBA_BIT; + /* The rgbMode should be true for any mode which has distinguishible + * R, G and B components + */ + config->rgbMode = (config->renderType + & (GLX_RGBA_BIT | GLX_RGBA_FLOAT_BIT_ARB + | GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT)) != 0; config->colorIndexMode = !config->rgbMode; config->haveAccumBuffer = diff --git a/xserver/hw/dmx/dmxcursor.c b/xserver/hw/dmx/dmxcursor.c index 35aca81b4..70f2bc4b4 100644 --- a/xserver/hw/dmx/dmxcursor.c +++ b/xserver/hw/dmx/dmxcursor.c @@ -197,8 +197,6 @@ miPointerScreenFuncRec dmxPointerCursorFuncs = { dmxCursorOffScreen, dmxCrossScreen, dmxWarpCursor, - NULL, - NULL, }; /** Create a list of screens that we'll manipulate. */ diff --git a/xserver/hw/dmx/dmxextension.c b/xserver/hw/dmx/dmxextension.c index d7296ae2d..c6c6a8e6d 100644 --- a/xserver/hw/dmx/dmxextension.c +++ b/xserver/hw/dmx/dmxextension.c @@ -68,6 +68,9 @@ * _any_ header files. */ extern FontPtr defaultFont; +/* Hack to get Present to build (present requires RandR) */ +RESTYPE RRCrtcType; + /** This routine provides information to the DMX protocol extension * about a particular screen. */ Bool diff --git a/xserver/hw/dmx/dmxinit.c b/xserver/hw/dmx/dmxinit.c index 7de402b06..7adcba0bb 100644 --- a/xserver/hw/dmx/dmxinit.c +++ b/xserver/hw/dmx/dmxinit.c @@ -82,8 +82,6 @@ DMXScreenInfo *dmxScreens; int dmxNumInputs; DMXInputInfo *dmxInputs; -int dmxShadowFB = FALSE; - XErrorEvent dmxLastErrorEvent; Bool dmxErrorOccurred = FALSE; @@ -111,6 +109,8 @@ Bool dmxGLXSyncSwap = FALSE; Bool dmxGLXFinishSwap = FALSE; #endif +RESTYPE RRProviderType = 0; + Bool dmxIgnoreBadFontPaths = FALSE; Bool dmxAddRemoveScreens = FALSE; @@ -612,6 +612,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[]) #ifdef GLXEXT static Bool glxSupported = TRUE; +#else + const Bool glxSupported = FALSE; #endif if (dmxGeneration != serverGeneration) { @@ -740,10 +742,10 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[]) /* Check if GLX extension exists on all back-end servers */ for (i = 0; i < dmxNumScreens; i++) glxSupported &= (dmxScreens[i].glxMajorOpcode > 0); +#endif if (serverGeneration == 1) dmxAddExtensions(glxSupported); -#endif /* Tell dix layer about the backend displays */ for (i = 0; i < dmxNumScreens; i++) { @@ -854,9 +856,6 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[]) /* Initialized things that need timer hooks */ dmxStatInit(); dmxSyncInit(); /* Calls RegisterBlockAndWakeupHandlers */ - - dmxLog(dmxInfo, "Shadow framebuffer support %s\n", - dmxShadowFB ? "enabled" : "disabled"); } /* RATS: Assuming the fp string (which comes from the command-line argv @@ -951,10 +950,6 @@ ddxProcessArgument(int argc, char *argv[], int i) retval = 2; } else if (!strcmp(argv[i], "-noshadowfb")) { - dmxLog(dmxWarning, - "-noshadowfb has been deprecated " - "since it is now the default\n"); - dmxShadowFB = FALSE; retval = 1; } else if (!strcmp(argv[i], "-nomulticursor")) { @@ -962,7 +957,6 @@ ddxProcessArgument(int argc, char *argv[], int i) retval = 1; } else if (!strcmp(argv[i], "-shadowfb")) { - dmxShadowFB = TRUE; retval = 1; } else if (!strcmp(argv[i], "-configfile")) { diff --git a/xserver/hw/dmx/dmxpict.c b/xserver/hw/dmx/dmxpict.c index b1177cf41..c9762c2f1 100644 --- a/xserver/hw/dmx/dmxpict.c +++ b/xserver/hw/dmx/dmxpict.c @@ -141,10 +141,6 @@ dmxPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum]; PictureScreenPtr ps; - /* The shadow framebuffer only relies on FB to be initialized */ - if (dmxShadowFB) - return fbPictureInit(pScreen, formats, nformats); - if (!miPictureInit(pScreen, formats, nformats)) return FALSE; diff --git a/xserver/hw/dmx/dmxscrinit.c b/xserver/hw/dmx/dmxscrinit.c index 849ef16a1..963d3a9de 100644 --- a/xserver/hw/dmx/dmxscrinit.c +++ b/xserver/hw/dmx/dmxscrinit.c @@ -41,7 +41,6 @@ #include "dmx.h" #include "dmxsync.h" -#include "dmxshadow.h" #include "dmxscrinit.h" #include "dmxcursor.h" #include "dmxgc.h" @@ -159,37 +158,18 @@ dmxBEScreenInit(ScreenPtr pScreen) XMapWindow(dmxScreen->beDisplay, dmxScreen->scrnWin); - if (dmxShadowFB) { - mask = (GCFunction | GCPlaneMask | GCClipMask); - gcvals.function = GXcopy; - gcvals.plane_mask = AllPlanes; - gcvals.clip_mask = None; - - dmxScreen->shadowGC = XCreateGC(dmxScreen->beDisplay, - dmxScreen->scrnWin, mask, &gcvals); - - dmxScreen->shadowFBImage = - XCreateImage(dmxScreen->beDisplay, - dmxScreen->beVisuals[dmxScreen->beDefVisualIndex]. - visual, dmxScreen->beDepth, ZPixmap, 0, - (char *) dmxScreen->shadow, dmxScreen->scrnWidth, - dmxScreen->scrnHeight, dmxScreen->beBPP, - PixmapBytePad(dmxScreen->scrnWidth, dmxScreen->beBPP)); - } - else { - /* Create default drawables (used during GC creation) */ - for (i = 0; i < dmxScreen->beNumPixmapFormats; i++) - for (j = 0; j < dmxScreen->beNumDepths; j++) - if ((dmxScreen->bePixmapFormats[i].depth == 1) || - (dmxScreen->bePixmapFormats[i].depth == - dmxScreen->beDepths[j])) { - dmxScreen->scrnDefDrawables[i] = (Drawable) - XCreatePixmap(dmxScreen->beDisplay, dmxScreen->scrnWin, - 1, 1, - dmxScreen->bePixmapFormats[i].depth); - break; - } - } + /* Create default drawables (used during GC creation) */ + for (i = 0; i < dmxScreen->beNumPixmapFormats; i++) + for (j = 0; j < dmxScreen->beNumDepths; j++) + if ((dmxScreen->bePixmapFormats[i].depth == 1) || + (dmxScreen->bePixmapFormats[i].depth == + dmxScreen->beDepths[j])) { + dmxScreen->scrnDefDrawables[i] = (Drawable) + XCreatePixmap(dmxScreen->beDisplay, dmxScreen->scrnWin, + 1, 1, + dmxScreen->bePixmapFormats[i].depth); + break; + } } /** Initialize screen number \a pScreen->myNum. */ @@ -215,19 +195,12 @@ dmxScreenInit(ScreenPtr pScreen, int argc, char *argv[]) dmxGeneration = serverGeneration; } - if (dmxShadowFB) { - dmxScreen->shadow = shadowAlloc(dmxScreen->scrnWidth, - dmxScreen->scrnHeight, - dmxScreen->beBPP); - } - else { - if (!dmxInitGC(pScreen)) - return FALSE; - if (!dmxInitWindow(pScreen)) - return FALSE; - if (!dmxInitPixmap(pScreen)) - return FALSE; - } + if (!dmxInitGC(pScreen)) + return FALSE; + if (!dmxInitWindow(pScreen)) + return FALSE; + if (!dmxInitPixmap(pScreen)) + return FALSE; /* * Initalise the visual types. miSetVisualTypesAndMasks() requires @@ -267,7 +240,7 @@ dmxScreenInit(ScreenPtr pScreen, int argc, char *argv[]) } fbScreenInit(pScreen, - dmxShadowFB ? dmxScreen->shadow : NULL, + NULL, dmxScreen->scrnWidth, dmxScreen->scrnHeight, dmxScreen->beXDPI, @@ -278,22 +251,14 @@ dmxScreenInit(ScreenPtr pScreen, int argc, char *argv[]) pScreen->GetWindowPixmap = NULL; pScreen->SetWindowPixmap = NULL; - if (dmxShadowFB && !shadowInit(pScreen, dmxShadowUpdateProc, NULL)) - return FALSE; + MAXSCREENSALLOC(dmxCursorGeneration); + if (dmxCursorGeneration[pScreen->myNum] != serverGeneration) { + if (!(miPointerInitialize(pScreen, + &dmxPointerSpriteFuncs, + &dmxPointerCursorFuncs, FALSE))) + return FALSE; - if (dmxShadowFB) { - miDCInitialize(pScreen, &dmxPointerCursorFuncs); - } - else { - MAXSCREENSALLOC(dmxCursorGeneration); - if (dmxCursorGeneration[pScreen->myNum] != serverGeneration) { - if (!(miPointerInitialize(pScreen, - &dmxPointerSpriteFuncs, - &dmxPointerCursorFuncs, FALSE))) - return FALSE; - - dmxCursorGeneration[pScreen->myNum] = serverGeneration; - } + dmxCursorGeneration[pScreen->myNum] = serverGeneration; } DMX_WRAP(CloseScreen, dmxCloseScreen, dmxScreen, pScreen); @@ -301,49 +266,47 @@ dmxScreenInit(ScreenPtr pScreen, int argc, char *argv[]) dmxBEScreenInit(pScreen); - if (!dmxShadowFB) { - /* Wrap GC functions */ - DMX_WRAP(CreateGC, dmxCreateGC, dmxScreen, pScreen); + /* Wrap GC functions */ + DMX_WRAP(CreateGC, dmxCreateGC, dmxScreen, pScreen); - /* Wrap Window functions */ - DMX_WRAP(CreateWindow, dmxCreateWindow, dmxScreen, pScreen); - DMX_WRAP(DestroyWindow, dmxDestroyWindow, dmxScreen, pScreen); - DMX_WRAP(PositionWindow, dmxPositionWindow, dmxScreen, pScreen); - DMX_WRAP(ChangeWindowAttributes, dmxChangeWindowAttributes, dmxScreen, - pScreen); - DMX_WRAP(RealizeWindow, dmxRealizeWindow, dmxScreen, pScreen); - DMX_WRAP(UnrealizeWindow, dmxUnrealizeWindow, dmxScreen, pScreen); - DMX_WRAP(RestackWindow, dmxRestackWindow, dmxScreen, pScreen); - DMX_WRAP(WindowExposures, dmxWindowExposures, dmxScreen, pScreen); - DMX_WRAP(CopyWindow, dmxCopyWindow, dmxScreen, pScreen); + /* Wrap Window functions */ + DMX_WRAP(CreateWindow, dmxCreateWindow, dmxScreen, pScreen); + DMX_WRAP(DestroyWindow, dmxDestroyWindow, dmxScreen, pScreen); + DMX_WRAP(PositionWindow, dmxPositionWindow, dmxScreen, pScreen); + DMX_WRAP(ChangeWindowAttributes, dmxChangeWindowAttributes, dmxScreen, + pScreen); + DMX_WRAP(RealizeWindow, dmxRealizeWindow, dmxScreen, pScreen); + DMX_WRAP(UnrealizeWindow, dmxUnrealizeWindow, dmxScreen, pScreen); + DMX_WRAP(RestackWindow, dmxRestackWindow, dmxScreen, pScreen); + DMX_WRAP(WindowExposures, dmxWindowExposures, dmxScreen, pScreen); + DMX_WRAP(CopyWindow, dmxCopyWindow, dmxScreen, pScreen); - DMX_WRAP(ResizeWindow, dmxResizeWindow, dmxScreen, pScreen); - DMX_WRAP(ReparentWindow, dmxReparentWindow, dmxScreen, pScreen); + DMX_WRAP(ResizeWindow, dmxResizeWindow, dmxScreen, pScreen); + DMX_WRAP(ReparentWindow, dmxReparentWindow, dmxScreen, pScreen); - DMX_WRAP(ChangeBorderWidth, dmxChangeBorderWidth, dmxScreen, pScreen); + DMX_WRAP(ChangeBorderWidth, dmxChangeBorderWidth, dmxScreen, pScreen); - /* Wrap Image functions */ - DMX_WRAP(GetImage, dmxGetImage, dmxScreen, pScreen); - DMX_WRAP(GetSpans, dmxGetSpans, dmxScreen, pScreen); + /* Wrap Image functions */ + DMX_WRAP(GetImage, dmxGetImage, dmxScreen, pScreen); + DMX_WRAP(GetSpans, dmxGetSpans, dmxScreen, pScreen); - /* Wrap Pixmap functions */ - DMX_WRAP(CreatePixmap, dmxCreatePixmap, dmxScreen, pScreen); - DMX_WRAP(DestroyPixmap, dmxDestroyPixmap, dmxScreen, pScreen); - DMX_WRAP(BitmapToRegion, dmxBitmapToRegion, dmxScreen, pScreen); + /* Wrap Pixmap functions */ + DMX_WRAP(CreatePixmap, dmxCreatePixmap, dmxScreen, pScreen); + DMX_WRAP(DestroyPixmap, dmxDestroyPixmap, dmxScreen, pScreen); + DMX_WRAP(BitmapToRegion, dmxBitmapToRegion, dmxScreen, pScreen); - /* Wrap Font functions */ - DMX_WRAP(RealizeFont, dmxRealizeFont, dmxScreen, pScreen); - DMX_WRAP(UnrealizeFont, dmxUnrealizeFont, dmxScreen, pScreen); + /* Wrap Font functions */ + DMX_WRAP(RealizeFont, dmxRealizeFont, dmxScreen, pScreen); + DMX_WRAP(UnrealizeFont, dmxUnrealizeFont, dmxScreen, pScreen); - /* Wrap Colormap functions */ - DMX_WRAP(CreateColormap, dmxCreateColormap, dmxScreen, pScreen); - DMX_WRAP(DestroyColormap, dmxDestroyColormap, dmxScreen, pScreen); - DMX_WRAP(InstallColormap, dmxInstallColormap, dmxScreen, pScreen); - DMX_WRAP(StoreColors, dmxStoreColors, dmxScreen, pScreen); + /* Wrap Colormap functions */ + DMX_WRAP(CreateColormap, dmxCreateColormap, dmxScreen, pScreen); + DMX_WRAP(DestroyColormap, dmxDestroyColormap, dmxScreen, pScreen); + DMX_WRAP(InstallColormap, dmxInstallColormap, dmxScreen, pScreen); + DMX_WRAP(StoreColors, dmxStoreColors, dmxScreen, pScreen); - /* Wrap Shape functions */ - DMX_WRAP(SetShape, dmxSetShape, dmxScreen, pScreen); - } + /* Wrap Shape functions */ + DMX_WRAP(SetShape, dmxSetShape, dmxScreen, pScreen); if (!dmxCreateDefColormap(pScreen)) return FALSE; @@ -370,22 +333,13 @@ dmxBECloseScreen(ScreenPtr pScreen) XDestroyWindow(dmxScreen->beDisplay, dmxScreen->scrnWin); dmxScreen->scrnWin = (Window) 0; - if (dmxShadowFB) { - /* Free the shadow GC and image assocated with the back-end server */ - XFreeGC(dmxScreen->beDisplay, dmxScreen->shadowGC); - dmxScreen->shadowGC = NULL; - XFree(dmxScreen->shadowFBImage); - dmxScreen->shadowFBImage = NULL; - } - else { - /* Free the default drawables */ - for (i = 0; i < dmxScreen->beNumPixmapFormats; i++) { - if (dmxScreen->scrnDefDrawables[i]) { - XFreePixmap(dmxScreen->beDisplay, - dmxScreen->scrnDefDrawables[i]); - dmxScreen->scrnDefDrawables[i] = (Drawable) 0; - } - } + /* Free the default drawables */ + for (i = 0; i < dmxScreen->beNumPixmapFormats; i++) { + if (dmxScreen->scrnDefDrawables[i]) { + XFreePixmap(dmxScreen->beDisplay, + dmxScreen->scrnDefDrawables[i]); + dmxScreen->scrnDefDrawables[i] = (Drawable) 0; + } } /* Free resources allocated during initialization (in dmxinit.c) */ @@ -432,48 +386,41 @@ dmxCloseScreen(ScreenPtr pScreen) dmxResetFonts(); } - if (dmxShadowFB) { - /* Free the shadow framebuffer */ - free(dmxScreen->shadow); - } - else { + /* Unwrap Shape functions */ + DMX_UNWRAP(SetShape, dmxScreen, pScreen); - /* Unwrap Shape functions */ - DMX_UNWRAP(SetShape, dmxScreen, pScreen); + /* Unwrap the pScreen functions */ + DMX_UNWRAP(CreateGC, dmxScreen, pScreen); - /* Unwrap the pScreen functions */ - DMX_UNWRAP(CreateGC, dmxScreen, pScreen); + DMX_UNWRAP(CreateWindow, dmxScreen, pScreen); + DMX_UNWRAP(DestroyWindow, dmxScreen, pScreen); + DMX_UNWRAP(PositionWindow, dmxScreen, pScreen); + DMX_UNWRAP(ChangeWindowAttributes, dmxScreen, pScreen); + DMX_UNWRAP(RealizeWindow, dmxScreen, pScreen); + DMX_UNWRAP(UnrealizeWindow, dmxScreen, pScreen); + DMX_UNWRAP(RestackWindow, dmxScreen, pScreen); + DMX_UNWRAP(WindowExposures, dmxScreen, pScreen); + DMX_UNWRAP(CopyWindow, dmxScreen, pScreen); - DMX_UNWRAP(CreateWindow, dmxScreen, pScreen); - DMX_UNWRAP(DestroyWindow, dmxScreen, pScreen); - DMX_UNWRAP(PositionWindow, dmxScreen, pScreen); - DMX_UNWRAP(ChangeWindowAttributes, dmxScreen, pScreen); - DMX_UNWRAP(RealizeWindow, dmxScreen, pScreen); - DMX_UNWRAP(UnrealizeWindow, dmxScreen, pScreen); - DMX_UNWRAP(RestackWindow, dmxScreen, pScreen); - DMX_UNWRAP(WindowExposures, dmxScreen, pScreen); - DMX_UNWRAP(CopyWindow, dmxScreen, pScreen); + DMX_UNWRAP(ResizeWindow, dmxScreen, pScreen); + DMX_UNWRAP(ReparentWindow, dmxScreen, pScreen); - DMX_UNWRAP(ResizeWindow, dmxScreen, pScreen); - DMX_UNWRAP(ReparentWindow, dmxScreen, pScreen); + DMX_UNWRAP(ChangeBorderWidth, dmxScreen, pScreen); - DMX_UNWRAP(ChangeBorderWidth, dmxScreen, pScreen); + DMX_UNWRAP(GetImage, dmxScreen, pScreen); + DMX_UNWRAP(GetSpans, dmxScreen, pScreen); - DMX_UNWRAP(GetImage, dmxScreen, pScreen); - DMX_UNWRAP(GetSpans, dmxScreen, pScreen); + DMX_UNWRAP(CreatePixmap, dmxScreen, pScreen); + DMX_UNWRAP(DestroyPixmap, dmxScreen, pScreen); + DMX_UNWRAP(BitmapToRegion, dmxScreen, pScreen); - DMX_UNWRAP(CreatePixmap, dmxScreen, pScreen); - DMX_UNWRAP(DestroyPixmap, dmxScreen, pScreen); - DMX_UNWRAP(BitmapToRegion, dmxScreen, pScreen); + DMX_UNWRAP(RealizeFont, dmxScreen, pScreen); + DMX_UNWRAP(UnrealizeFont, dmxScreen, pScreen); - DMX_UNWRAP(RealizeFont, dmxScreen, pScreen); - DMX_UNWRAP(UnrealizeFont, dmxScreen, pScreen); - - DMX_UNWRAP(CreateColormap, dmxScreen, pScreen); - DMX_UNWRAP(DestroyColormap, dmxScreen, pScreen); - DMX_UNWRAP(InstallColormap, dmxScreen, pScreen); - DMX_UNWRAP(StoreColors, dmxScreen, pScreen); - } + DMX_UNWRAP(CreateColormap, dmxScreen, pScreen); + DMX_UNWRAP(DestroyColormap, dmxScreen, pScreen); + DMX_UNWRAP(InstallColormap, dmxScreen, pScreen); + DMX_UNWRAP(StoreColors, dmxScreen, pScreen); DMX_UNWRAP(SaveScreen, dmxScreen, pScreen); diff --git a/xserver/hw/dmx/dmxshadow.c b/xserver/hw/dmx/dmxshadow.c deleted file mode 100644 index 9b4bafc34..000000000 --- a/xserver/hw/dmx/dmxshadow.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2001 Red Hat Inc., Durham, North Carolina. - * - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation on the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial - * portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/* - * Authors: - * Kevin E. Martin - * David H. Dawes - * - */ - -#ifdef HAVE_DMX_CONFIG_H -#include -#endif - -#include "dmx.h" -#include "dmxsync.h" -#include "dmxshadow.h" - -/** \file - * This file provides support for the shadow frame buffer. */ - -/** Update the screen from the shadow frame buffer. */ -void -dmxShadowUpdateProc(ScreenPtr pScreen, shadowBufPtr pBuf) -{ - RegionPtr damage = &pBuf->damage; - int nbox = RegionNumRects(damage); - BoxPtr pbox = RegionRects(damage); - DMXScreenInfo *dmxScreen = &dmxScreens[pScreen->myNum]; - - if (!dmxScreen->beDisplay) - return; - - while (nbox--) { - XPutImage(dmxScreen->beDisplay, - dmxScreen->scrnWin, - dmxScreen->shadowGC, - dmxScreen->shadowFBImage, - pbox->x1, pbox->y1, - pbox->x1, pbox->y1, pbox->x2 - pbox->x1, pbox->y2 - pbox->y1); - - pbox++; - } - - dmxSync(dmxScreen, FALSE); -} diff --git a/xserver/hw/dmx/dmxshadow.h b/xserver/hw/dmx/dmxshadow.h deleted file mode 100644 index 081b4d1dc..000000000 --- a/xserver/hw/dmx/dmxshadow.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2001 Red Hat Inc., Durham, North Carolina. - * - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation on the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial - * portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -/* - * Authors: - * Kevin E. Martin - * David H. Dawes - * - */ - -/** \file - * Interface for shadow framebuffer support. \see dmxshadow.c */ - -#ifndef DMXSHADOW_H -#define DMXSHADOW_H - -#include "shadow.h" -#include "scrnintstr.h" - -extern void dmxShadowUpdateProc(ScreenPtr pScreen, shadowBufPtr pBuf); - -#endif /* DMXSHADOW_H */ diff --git a/xserver/hw/dmx/doc/Makefile.in b/xserver/hw/dmx/doc/Makefile.in index 516866ca4..2693e2c86 100644 --- a/xserver/hw/dmx/doc/Makefile.in +++ b/xserver/hw/dmx/doc/Makefile.in @@ -188,9 +188,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -222,6 +225,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -251,6 +255,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -294,6 +300,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -307,12 +314,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -378,6 +385,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/doxygen/Makefile.in b/xserver/hw/dmx/doxygen/Makefile.in index 08924bcd5..66179a50c 100644 --- a/xserver/hw/dmx/doxygen/Makefile.in +++ b/xserver/hw/dmx/doxygen/Makefile.in @@ -169,9 +169,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -203,6 +206,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -232,6 +236,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -275,6 +281,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -288,12 +295,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -359,6 +366,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/examples/Makefile.in b/xserver/hw/dmx/examples/Makefile.in index c22fc6059..0f1c83cb9 100644 --- a/xserver/hw/dmx/examples/Makefile.in +++ b/xserver/hw/dmx/examples/Makefile.in @@ -283,9 +283,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -317,6 +320,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -346,6 +350,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -389,6 +395,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -402,12 +409,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -473,6 +480,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/glxProxy/Makefile.am b/xserver/hw/dmx/glxProxy/Makefile.am index 4ee1036b3..c3df169e1 100644 --- a/xserver/hw/dmx/glxProxy/Makefile.am +++ b/xserver/hw/dmx/glxProxy/Makefile.am @@ -22,7 +22,6 @@ libglxproxy_a_SOURCES = compsize.c \ glxsingle.h \ glxswap.c \ glxswap.h \ - glxutil.c \ glxutil.h \ glxvendor.c \ glxvendor.h \ diff --git a/xserver/hw/dmx/glxProxy/Makefile.in b/xserver/hw/dmx/glxProxy/Makefile.in index 514ad5fda..5688b0c4d 100644 --- a/xserver/hw/dmx/glxProxy/Makefile.in +++ b/xserver/hw/dmx/glxProxy/Makefile.in @@ -83,10 +83,9 @@ libglxproxy_a_LIBADD = am_libglxproxy_a_OBJECTS = compsize.$(OBJEXT) g_disptab.$(OBJEXT) \ global.$(OBJEXT) glxcmds.$(OBJEXT) glxcmdsswap.$(OBJEXT) \ glxext.$(OBJEXT) glxfbconfig.$(OBJEXT) glxscreens.$(OBJEXT) \ - glxsingle.$(OBJEXT) glxswap.$(OBJEXT) glxutil.$(OBJEXT) \ - glxvendor.$(OBJEXT) glxvisuals.$(OBJEXT) \ - g_renderswap.$(OBJEXT) render2swap.$(OBJEXT) \ - renderpixswap.$(OBJEXT) + glxsingle.$(OBJEXT) glxswap.$(OBJEXT) glxvendor.$(OBJEXT) \ + glxvisuals.$(OBJEXT) g_renderswap.$(OBJEXT) \ + render2swap.$(OBJEXT) renderpixswap.$(OBJEXT) libglxproxy_a_OBJECTS = $(am_libglxproxy_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -190,9 +189,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -224,6 +226,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -253,6 +256,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -296,6 +301,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -309,12 +315,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -380,6 +386,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -481,7 +489,6 @@ libglxproxy_a_SOURCES = compsize.c \ glxsingle.h \ glxswap.c \ glxswap.h \ - glxutil.c \ glxutil.h \ glxvendor.c \ glxvendor.h \ @@ -560,7 +567,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxscreens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxsingle.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxswap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxutil.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxvendor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glxvisuals.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/render2swap.Po@am__quote@ diff --git a/xserver/hw/dmx/glxProxy/glxcmds.c b/xserver/hw/dmx/glxProxy/glxcmds.c index 45382748f..190eeefe2 100644 --- a/xserver/hw/dmx/glxProxy/glxcmds.c +++ b/xserver/hw/dmx/glxProxy/glxcmds.c @@ -123,6 +123,28 @@ GetBackEndDisplay(__GLXclientState * cl, int s) return cl->be_displays[s]; } +/** + * Convert the render type bits from fbconfig into context render type. + */ +static int +renderTypeBitsToRenderTypeEnum(int fbRenderType) +{ + if (fbRenderType & GLX_RGBA_BIT) + return GLX_RGBA_TYPE; + + if (fbRenderType & GLX_COLOR_INDEX_BIT) + return GLX_COLOR_INDEX_TYPE; + + if (fbRenderType & GLX_RGBA_FLOAT_BIT_ARB) + return GLX_RGBA_FLOAT_TYPE_ARB; + + if (fbRenderType & GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT) + return GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT; + + /* There's no recognized renderType in the config */ + return GLX_RGBA_TYPE; +} + /* ** Create a GL context with the given properties. */ @@ -308,12 +330,14 @@ CreateContext(__GLXclientState * cl, /* send the create context request to the back-end server */ dpy = GetBackEndDisplay(cl, screen); if (glxc->pFBConfig) { - /*Since for a certain visual both RGB and COLOR INDEX - *can be on then the only parmeter to choose the renderType - * should be the class of the colormap since all 4 first - * classes does not support RGB mode only COLOR INDEX , - * and so TrueColor and DirectColor does not support COLOR INDEX*/ - int renderType = glxc->pFBConfig->renderType; + /* For a specific visual, multiple render types (i.e., both RGB + * and COLOR INDEX) can be accessible. The only parameter to + * choose the renderType should be the class of the colormap, + * since the first classes do not support RGB mode (only COLOR + * INDEX), and TrueColor and DirectColor do not support COLOR + * INDEX. + */ + int renderType = GLX_RGBA_TYPE; if (pVisual) { switch (pVisual->class) { @@ -329,7 +353,11 @@ CreateContext(__GLXclientState * cl, renderType = GLX_RGBA_TYPE; break; } + } else { + renderType = + renderTypeBitsToRenderTypeEnum(glxc->pFBConfig->renderType); } + if (__GLX_IS_VERSION_SUPPORTED(1, 3)) { LockDisplay(dpy); GetReq(GLXCreateNewContext, be_new_req); @@ -2582,7 +2610,6 @@ __glXQueryExtensionsString(__GLXclientState * cl, GLbyte * pc) xGLXQueryExtensionsStringReply be_reply; DMXScreenInfo *dmxScreen; Display *dpy; - int slop; #endif screen = req->screen; @@ -2608,16 +2635,13 @@ __glXQueryExtensionsString(__GLXclientState * cl, GLbyte * pc) _XReply(dpy, (xReply *) &be_reply, 0, False); len = (int) be_reply.length; numbytes = (int) be_reply.n; - slop = numbytes * __GLX_SIZE_INT8 & 3; be_buf = (char *) malloc(numbytes); if (!be_buf) { /* Throw data on the floor */ - _XEatData(dpy, len); + _XEatDataWords(dpy, len); } else { - _XRead(dpy, (char *) be_buf, numbytes); - if (slop) - _XEatData(dpy, 4 - slop); + _XReadPad(dpy, (char *) be_buf, numbytes); } UnlockDisplay(dpy); SyncHandle(); @@ -2666,7 +2690,6 @@ __glXQueryServerString(__GLXclientState * cl, GLbyte * pc) xGLXQueryServerStringReply be_reply; DMXScreenInfo *dmxScreen; Display *dpy; - int slop; #endif name = req->name; @@ -2693,16 +2716,13 @@ __glXQueryServerString(__GLXclientState * cl, GLbyte * pc) _XReply(dpy, (xReply *) &be_reply, 0, False); len = (int) be_reply.length; numbytes = (int) be_reply.n; - slop = numbytes * __GLX_SIZE_INT8 & 3; be_buf = (char *) malloc(numbytes); if (!be_buf) { /* Throw data on the floor */ - _XEatData(dpy, len); + _XEatDataWords(dpy, len); } else { - _XRead(dpy, (char *) be_buf, numbytes); - if (slop) - _XEatData(dpy, 4 - slop); + _XReadPad(dpy, (char *) be_buf, numbytes); } UnlockDisplay(dpy); SyncHandle(); @@ -2742,8 +2762,6 @@ __glXClientInfo(__GLXclientState * cl, GLbyte * pc) int to_screen = 0; int s; - cl->GLClientmajorVersion = req->major; - cl->GLClientminorVersion = req->minor; free(cl->GLClientextensions); buf = (const char *) (req + 1); cl->GLClientextensions = strdup(buf); @@ -3220,7 +3238,7 @@ __glXQueryContext(__GLXclientState * cl, GLbyte * pc) *pSendBuf++ = GLX_FBCONFIG_ID; *pSendBuf++ = (int) (ctx->pFBConfig->id); *pSendBuf++ = GLX_RENDER_TYPE; - *pSendBuf++ = (int) (ctx->pFBConfig->renderType); + *pSendBuf++ = renderTypeBitsToRenderTypeEnum(ctx->pFBConfig->renderType); *pSendBuf++ = GLX_SCREEN; *pSendBuf++ = (int) (ctx->pScreen->myNum); diff --git a/xserver/hw/dmx/glxProxy/glxext.c b/xserver/hw/dmx/glxProxy/glxext.c index e72a040ed..b46970864 100644 --- a/xserver/hw/dmx/glxProxy/glxext.c +++ b/xserver/hw/dmx/glxProxy/glxext.c @@ -88,12 +88,6 @@ ResetClientState(int clientIndex) memset(cl, 0, sizeof(__GLXclientState)); cl->be_displays = keep_be_displays; - /* - ** By default, assume that the client supports - ** GLX major version 1 minor version 0 protocol. - */ - cl->GLClientmajorVersion = 1; - cl->GLClientminorVersion = 0; free(cl->GLClientextensions); memset(cl->be_displays, 0, screenInfo.numScreens * sizeof(Display *)); diff --git a/xserver/hw/dmx/glxProxy/glxscreens.c b/xserver/hw/dmx/glxProxy/glxscreens.c index 2a1909244..138afedf2 100644 --- a/xserver/hw/dmx/glxProxy/glxscreens.c +++ b/xserver/hw/dmx/glxProxy/glxscreens.c @@ -138,7 +138,7 @@ CalcServerVersionAndExtensions(void) Display *dpy = dmxScreen->beDisplay; xGLXQueryServerStringReq *req; xGLXQueryServerStringReply reply; - int length, numbytes, slop; + int length, numbytes; /* Send the glXQueryServerString request */ LockDisplay(dpy); @@ -151,16 +151,13 @@ CalcServerVersionAndExtensions(void) length = (int) reply.length; numbytes = (int) reply.n; - slop = numbytes * __GLX_SIZE_INT8 & 3; be_extensions[s] = (char *) malloc(numbytes); if (!be_extensions[s]) { /* Throw data on the floor */ - _XEatData(dpy, length); + _XEatDataWords(dpy, length); } else { - _XRead(dpy, (char *) be_extensions[s], numbytes); - if (slop) - _XEatData(dpy, 4 - slop); + _XReadPad(dpy, (char *) be_extensions[s], numbytes); } UnlockDisplay(dpy); SyncHandle(); diff --git a/xserver/hw/dmx/glxProxy/glxserver.h b/xserver/hw/dmx/glxProxy/glxserver.h index ad9496619..754ad30a0 100644 --- a/xserver/hw/dmx/glxProxy/glxserver.h +++ b/xserver/hw/dmx/glxProxy/glxserver.h @@ -119,8 +119,6 @@ struct __GLXclientStateRec { /* Back pointer to X client record */ ClientPtr client; - int GLClientmajorVersion; - int GLClientminorVersion; char *GLClientextensions; GLXContextTag *be_currentCTag; diff --git a/xserver/hw/dmx/glxProxy/glxsingle.c b/xserver/hw/dmx/glxProxy/glxsingle.c index e60cfeb70..679a302ea 100644 --- a/xserver/hw/dmx/glxProxy/glxsingle.c +++ b/xserver/hw/dmx/glxProxy/glxsingle.c @@ -258,7 +258,7 @@ __glXForwardPipe0WithReply(__GLXclientState * cl, GLbyte * pc) } else { /* Throw data on the floor */ - _XEatData(dpy, be_buf_size); + _XEatDataWords(dpy, be_reply.length); return BadAlloc; } } @@ -349,25 +349,29 @@ __glXForwardAllWithReply(__GLXclientState * cl, GLbyte * pc) * get the reply from the back-end server */ _XReply(dpy, (xReply *) &be_reply, 0, False); - be_buf_size = be_reply.length << 2; - if (be_buf_size > 0) { - be_buf = (char *) malloc(be_buf_size); - if (be_buf) { - _XRead(dpy, be_buf, be_buf_size); - } - else { - /* Throw data on the floor */ - _XEatData(dpy, be_buf_size); - return BadAlloc; + if (s == from_screen) { + /* Save data from last reply to send on to client */ + be_buf_size = be_reply.length << 2; + if (be_buf_size > 0) { + be_buf = malloc(be_buf_size); + if (be_buf) { + _XRead(dpy, be_buf, be_buf_size); + } + else { + /* Throw data on the floor */ + _XEatDataWords(dpy, be_reply.length); + return BadAlloc; + } } } + else { + /* Just discard data from all replies before the last one */ + if (be_reply.length > 0) + _XEatDataWords(dpy, be_reply.length); + } UnlockDisplay(dpy); SyncHandle(); - - if (s > from_screen && be_buf_size > 0) { - free(be_buf); - } } /* @@ -993,7 +997,7 @@ __glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc) } else { /* Throw data on the floor */ - _XEatData(dpy, be_buf_size); + _XEatDataWords(dpy, be_reply.length); free(buf); return BadAlloc; } diff --git a/xserver/hw/dmx/glxProxy/glxutil.c b/xserver/hw/dmx/glxProxy/glxutil.c deleted file mode 100644 index f90dbf141..000000000 --- a/xserver/hw/dmx/glxProxy/glxutil.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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 "glxutil.h" - -void -__glXNop(void) -{ -} diff --git a/xserver/hw/dmx/glxProxy/glxutil.h b/xserver/hw/dmx/glxProxy/glxutil.h index d3c72862d..605c07b43 100644 --- a/xserver/hw/dmx/glxProxy/glxutil.h +++ b/xserver/hw/dmx/glxProxy/glxutil.h @@ -31,8 +31,6 @@ * Silicon Graphics, Inc. */ -extern void __glXNop(void); - /* context helper routines */ extern __GLXcontext *__glXLookupContextByTag(__GLXclientState *, GLXContextTag); extern DrawablePtr __glXLookupDrawableByTag(__GLXclientState * cl, diff --git a/xserver/hw/dmx/glxProxy/glxvendor.c b/xserver/hw/dmx/glxProxy/glxvendor.c index 5777c6acc..b475daf0f 100644 --- a/xserver/hw/dmx/glxProxy/glxvendor.c +++ b/xserver/hw/dmx/glxProxy/glxvendor.c @@ -246,7 +246,7 @@ __glXVForwardPipe0WithReply(__GLXclientState * cl, GLbyte * pc) } else { /* Throw data on the floor */ - _XEatData(dpy, be_buf_size); + _XEatDataWords(dpy, be_reply.length); return BadAlloc; } } @@ -332,25 +332,29 @@ __glXVForwardAllWithReply(__GLXclientState * cl, GLbyte * pc) * get the reply from the back-end server */ _XReply(dpy, (xReply *) &be_reply, 0, False); - be_buf_size = be_reply.length << 2; - if (be_buf_size > 0) { - be_buf = (char *) malloc(be_buf_size); - if (be_buf) { - _XRead(dpy, be_buf, be_buf_size); - } - else { - /* Throw data on the floor */ - _XEatData(dpy, be_buf_size); - return BadAlloc; + if (s == from_screen) { + /* Save data from last reply to send on to client */ + be_buf_size = be_reply.length << 2; + if (be_buf_size > 0) { + be_buf = malloc(be_buf_size); + if (be_buf) { + _XRead(dpy, be_buf, be_buf_size); + } + else { + /* Throw data on the floor */ + _XEatDataWords(dpy, be_reply.length); + return BadAlloc; + } } } + else { + /* Just discard data from all replies before the last one */ + if (be_reply.length > 0) + _XEatDataWords(dpy, be_reply.length); + } UnlockDisplay(dpy); SyncHandle(); - - if (s > from_screen && be_buf_size > 0) { - free(be_buf); - } } /* diff --git a/xserver/hw/dmx/input/Makefile.in b/xserver/hw/dmx/input/Makefile.in index daf613a56..9b27d4682 100644 --- a/xserver/hw/dmx/input/Makefile.in +++ b/xserver/hw/dmx/input/Makefile.in @@ -204,9 +204,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -238,6 +241,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -267,6 +271,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -310,6 +316,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -323,12 +330,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -394,6 +401,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/input/dmxbackend.c b/xserver/hw/dmx/input/dmxbackend.c index 9463c87d3..807e02328 100644 --- a/xserver/hw/dmx/input/dmxbackend.c +++ b/xserver/hw/dmx/input/dmxbackend.c @@ -419,10 +419,9 @@ dmxBackendCollectEvents(DevicePtr pDev, } break; case MotionNotify: - DMXDBG9("dmxBackendCollectEvents: MotionNotify %d/%d (mi %d)" + DMXDBG8("dmxBackendCollectEvents: MotionNotify %d/%d" " newscreen=%d: %d %d (e=%d; last=%d,%d)\n", dmxScreen->index, priv->myScreen, - miPointerCurrentScreen()->myNum, priv->newscreen, X.xmotion.x, X.xmotion.y, entered, priv->lastX, priv->lastY); @@ -579,9 +578,6 @@ dmxBackendLateReInit(DevicePtr pDev) GETPRIVFROMPDEV; int x, y; - DMXDBG1("dmxBackendLateReInit miPointerCurrentScreen() = %p\n", - miPointerCurrentScreen()); - dmxBackendSameDisplay(NULL, 0); /* Invalidate cache */ dmxBackendInitPrivate(pDev); dmxBackendComputeCenter(priv); diff --git a/xserver/hw/dmx/input/dmxcommon.c b/xserver/hw/dmx/input/dmxcommon.c index 5f25e8832..db558b55f 100644 --- a/xserver/hw/dmx/input/dmxcommon.c +++ b/xserver/hw/dmx/input/dmxcommon.c @@ -502,11 +502,6 @@ dmxCommonMouOn(DevicePtr pDev) GETDMXINPUTFROMPRIV; priv->eventMask |= DMX_POINTER_EVENT_MASK; - if (dmxShadowFB) { - XWarpPointer(priv->display, priv->window, priv->window, - 0, 0, 0, 0, priv->initPointerX, priv->initPointerY); - dmxSync(&dmxScreens[dmxInput->scrnIdx], TRUE); - } if (!priv->be) { XSelectInput(priv->display, priv->window, priv->eventMask); AddEnabledDevice(XConnectionNumber(priv->display)); diff --git a/xserver/hw/dmx/input/dmxevents.c b/xserver/hw/dmx/input/dmxevents.c index 28756203b..bcb5c2ed8 100644 --- a/xserver/hw/dmx/input/dmxevents.c +++ b/xserver/hw/dmx/input/dmxevents.c @@ -726,8 +726,7 @@ dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, case ButtonRelease: detail = dmxGetButtonMapping(dmxLocal, detail); valuator_mask_zero(&mask); - QueuePointerEvents(p, type, detail, - POINTER_ABSOLUTE | POINTER_SCREEN, &mask); + QueuePointerEvents(p, type, detail, 0, &mask); return; case MotionNotify: diff --git a/xserver/hw/dmx/input/usb-private.h b/xserver/hw/dmx/input/usb-private.h index 096607a34..2ecfdf636 100644 --- a/xserver/hw/dmx/input/usb-private.h +++ b/xserver/hw/dmx/input/usb-private.h @@ -102,8 +102,8 @@ typedef struct _myPrivate { int fd; /**< File descriptor */ unsigned char mask[EV_MAX / 8 + 1]; /**< Mask */ int numRel, numAbs, numLeds; /**< Counts */ - int relmap[DMX_MAX_AXES]; /**< Relative axis map */ - int absmap[DMX_MAX_AXES]; /**< Absolute axis map */ + int relmap[REL_CNT]; /**< Relative axis map */ + int absmap[ABS_CNT]; /**< Absolute axis map */ CARD32 kbdState[NUM_STATE_ENTRIES]; /**< Keyboard state */ DeviceIntPtr pKeyboard; /** Keyboard device */ diff --git a/xserver/hw/dmx/man/Makefile.in b/xserver/hw/dmx/man/Makefile.in index e7f2e9cef..79e558847 100644 --- a/xserver/hw/dmx/man/Makefile.in +++ b/xserver/hw/dmx/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/dmx/man/Xdmx.man b/xserver/hw/dmx/man/Xdmx.man index bbce85608..6b3feb13b 100644 --- a/xserver/hw/dmx/man/Xdmx.man +++ b/xserver/hw/dmx/man/Xdmx.man @@ -179,16 +179,6 @@ will switch to another VC in local (raw) mode. .RE .sp .TP 8 -.BI "-shadowfb" -This option turns on (legacy) support for the shadow frame buffer. -.sp -.TP 8 -.BI "-noshadowfb" -This option turns off (legacy) support for the shadow frame buffer. -Note that this option has been deprecated and will be removed in the -next release. -.sp -.TP 8 .BI "-nomulticursor" This option turns off support for displaying multiple cursors on overlapped back-end displays. This option is available for testing and diff --git a/xserver/hw/kdrive/Makefile.in b/xserver/hw/kdrive/Makefile.in index 16111c24e..4b8960244 100644 --- a/xserver/hw/kdrive/Makefile.in +++ b/xserver/hw/kdrive/Makefile.in @@ -183,9 +183,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -217,6 +220,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -246,6 +250,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -289,6 +295,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -302,12 +309,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -373,6 +380,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/kdrive/ephyr/Makefile.am b/xserver/hw/kdrive/ephyr/Makefile.am index 2e0613a7c..6b790fddd 100644 --- a/xserver/hw/kdrive/ephyr/Makefile.am +++ b/xserver/hw/kdrive/ephyr/Makefile.am @@ -1,6 +1,27 @@ +# Copyright © 2013 Intel Corporation +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + SUBDIRS = man -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ \ @XEPHYR_INCS@ \ @@ -9,81 +30,45 @@ INCLUDES = \ -I$(top_srcdir)/exa if XV -LIBXEPHYR_HOSTXV=libxephyr-hostxv.la +XV_SRCS = ephyrvideo.c endif if DRI -LIBXEPHYR_HOSTDRI=libxephyr-hostdri.la -endif - -noinst_LTLIBRARIES = libxephyr-hostx.la $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.la - -bin_PROGRAMS = Xephyr - -HOSTX_SRCS = \ - hostx.c \ - hostx.h - -HOSTVIDEO_SRCS = \ - ephyrvideo.c \ - ephyrhostvideo.c \ - ephyrhostvideo.h - -HOSTDRI_SRCS = \ +DRI_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_la_SOURCES = $(HOSTX_SRCS) - -if XV -libxephyr_hostxv_la_SOURCES = $(HOSTVIDEO_SRCS) + ephyrhostglx.h \ + $() endif -if DRI -libxephyr_hostdri_la_SOURCES = $(HOSTDRI_SRCS) -endif - -libxephyr_la_SOURCES = $(XEPHYR_SRCS) +bin_PROGRAMS = Xephyr Xephyr_SOURCES = \ - ephyrinit.c + ephyr.c \ + ephyr.h \ + ephyrlog.h \ + ephyr_draw.c \ + os.c \ + ephyrinit.c \ + hostx.c \ + hostx.h \ + $(XV_SRCS) \ + $(DRI_SRCS) \ + $() Xephyr_LDADD = \ - libxephyr.la \ - libxephyr-hostx.la \ - $(LIBXEPHYR_HOSTXV) \ - $(LIBXEPHYR_HOSTDRI) \ $(top_builddir)/exa/libexa.la \ @KDRIVE_LIBS@ \ @XEPHYR_LIBS@ -Xephyr_DEPENDENCIES = \ - libxephyr.la \ - libxephyr-hostx.la \ - $(LIBXEPHYR_HOSTXV) \ - $(LIBXEPHYR_HOSTDRI) \ - @KDRIVE_LOCAL_LIBS@ +Xephyr_DEPENDENCIES = @KDRIVE_LOCAL_LIBS@ Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) relink: $(AM_V_at)rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS) - -EXTRA_DIST = \ - $(HOSTVIDEO_SRCS) \ - $(HOSTDRI_SRCS) diff --git a/xserver/hw/kdrive/ephyr/Makefile.in b/xserver/hw/kdrive/ephyr/Makefile.in index 648394374..d5e461d58 100644 --- a/xserver/hw/kdrive/ephyr/Makefile.in +++ b/xserver/hw/kdrive/ephyr/Makefile.in @@ -14,6 +14,26 @@ @SET_MAKE@ +# Copyright © 2013 Intel Corporation +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. VPATH = @srcdir@ am__make_dryrun = \ @@ -74,39 +94,23 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ $(top_builddir)/include/version-config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libxephyr_hostdri_la_LIBADD = -am__libxephyr_hostdri_la_SOURCES_DIST = ephyrdriext.c ephyrdriext.h \ - ephyrdri.c ephyrdri.h XF86dri.c xf86dri.h ephyrglxext.c \ +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am__Xephyr_SOURCES_DIST = ephyr.c ephyr.h ephyrlog.h ephyr_draw.c os.c \ + ephyrinit.c hostx.c hostx.h ephyrvideo.c ephyrdriext.c \ + ephyrdriext.h ephyrdri.c ephyrdri.h ephyrglxext.c \ ephyrglxext.h ephyrhostglx.c ephyrhostglx.h -am__objects_1 = ephyrdriext.lo ephyrdri.lo XF86dri.lo ephyrglxext.lo \ - ephyrhostglx.lo -@DRI_TRUE@am_libxephyr_hostdri_la_OBJECTS = $(am__objects_1) -libxephyr_hostdri_la_OBJECTS = $(am_libxephyr_hostdri_la_OBJECTS) +@XV_TRUE@am__objects_1 = ephyrvideo.$(OBJEXT) +@DRI_TRUE@am__objects_2 = ephyrdriext.$(OBJEXT) ephyrdri.$(OBJEXT) \ +@DRI_TRUE@ ephyrglxext.$(OBJEXT) ephyrhostglx.$(OBJEXT) +am_Xephyr_OBJECTS = ephyr.$(OBJEXT) ephyr_draw.$(OBJEXT) os.$(OBJEXT) \ + ephyrinit.$(OBJEXT) hostx.$(OBJEXT) $(am__objects_1) \ + $(am__objects_2) +Xephyr_OBJECTS = $(am_Xephyr_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = -@DRI_TRUE@am_libxephyr_hostdri_la_rpath = -libxephyr_hostx_la_LIBADD = -am__objects_2 = hostx.lo -am_libxephyr_hostx_la_OBJECTS = $(am__objects_2) -libxephyr_hostx_la_OBJECTS = $(am_libxephyr_hostx_la_OBJECTS) -libxephyr_hostxv_la_LIBADD = -am__libxephyr_hostxv_la_SOURCES_DIST = ephyrvideo.c ephyrhostvideo.c \ - ephyrhostvideo.h -am__objects_3 = ephyrvideo.lo ephyrhostvideo.lo -@XV_TRUE@am_libxephyr_hostxv_la_OBJECTS = $(am__objects_3) -libxephyr_hostxv_la_OBJECTS = $(am_libxephyr_hostxv_la_OBJECTS) -@XV_TRUE@am_libxephyr_hostxv_la_rpath = -libxephyr_la_LIBADD = -am__objects_4 = ephyr.lo ephyr_draw.lo os.lo -am_libxephyr_la_OBJECTS = $(am__objects_4) -libxephyr_la_OBJECTS = $(am_libxephyr_la_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_Xephyr_OBJECTS = ephyrinit.$(OBJEXT) -Xephyr_OBJECTS = $(am_Xephyr_OBJECTS) Xephyr_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(Xephyr_LDFLAGS) $(LDFLAGS) -o $@ @@ -144,13 +148,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(libxephyr_hostdri_la_SOURCES) \ - $(libxephyr_hostx_la_SOURCES) $(libxephyr_hostxv_la_SOURCES) \ - $(libxephyr_la_SOURCES) $(Xephyr_SOURCES) -DIST_SOURCES = $(am__libxephyr_hostdri_la_SOURCES_DIST) \ - $(libxephyr_hostx_la_SOURCES) \ - $(am__libxephyr_hostxv_la_SOURCES_DIST) \ - $(libxephyr_la_SOURCES) $(Xephyr_SOURCES) +SOURCES = $(Xephyr_SOURCES) +DIST_SOURCES = $(am__Xephyr_SOURCES_DIST) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ @@ -251,9 +250,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -285,6 +287,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -314,6 +317,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -357,6 +362,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -370,12 +376,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -441,6 +447,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -520,7 +528,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = man -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ \ @XEPHYR_INCS@ \ @@ -528,65 +536,38 @@ INCLUDES = \ -I$(top_srcdir) \ -I$(top_srcdir)/exa -@XV_TRUE@LIBXEPHYR_HOSTXV = libxephyr-hostxv.la -@DRI_TRUE@LIBXEPHYR_HOSTDRI = libxephyr-hostdri.la -noinst_LTLIBRARIES = libxephyr-hostx.la $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.la -HOSTX_SRCS = \ - hostx.c \ - hostx.h +@XV_TRUE@XV_SRCS = ephyrvideo.c +@DRI_TRUE@DRI_SRCS = \ +@DRI_TRUE@ ephyrdriext.c \ +@DRI_TRUE@ ephyrdriext.h \ +@DRI_TRUE@ ephyrdri.c \ +@DRI_TRUE@ ephyrdri.h \ +@DRI_TRUE@ ephyrglxext.c \ +@DRI_TRUE@ ephyrglxext.h \ +@DRI_TRUE@ ephyrhostglx.c \ +@DRI_TRUE@ ephyrhostglx.h \ +@DRI_TRUE@ $() -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_la_SOURCES = $(HOSTX_SRCS) -@XV_TRUE@libxephyr_hostxv_la_SOURCES = $(HOSTVIDEO_SRCS) -@DRI_TRUE@libxephyr_hostdri_la_SOURCES = $(HOSTDRI_SRCS) -libxephyr_la_SOURCES = $(XEPHYR_SRCS) Xephyr_SOURCES = \ - ephyrinit.c + ephyr.c \ + ephyr.h \ + ephyrlog.h \ + ephyr_draw.c \ + os.c \ + ephyrinit.c \ + hostx.c \ + hostx.h \ + $(XV_SRCS) \ + $(DRI_SRCS) \ + $() Xephyr_LDADD = \ - libxephyr.la \ - libxephyr-hostx.la \ - $(LIBXEPHYR_HOSTXV) \ - $(LIBXEPHYR_HOSTDRI) \ $(top_builddir)/exa/libexa.la \ @KDRIVE_LIBS@ \ @XEPHYR_LIBS@ -Xephyr_DEPENDENCIES = \ - libxephyr.la \ - libxephyr-hostx.la \ - $(LIBXEPHYR_HOSTXV) \ - $(LIBXEPHYR_HOSTDRI) \ - @KDRIVE_LOCAL_LIBS@ - +Xephyr_DEPENDENCIES = @KDRIVE_LOCAL_LIBS@ Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -EXTRA_DIST = \ - $(HOSTVIDEO_SRCS) \ - $(HOSTDRI_SRCS) - all: all-recursive .SUFFIXES: @@ -621,25 +602,6 @@ $(top_srcdir)/configure: $(am__configure_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libxephyr-hostdri.la: $(libxephyr_hostdri_la_OBJECTS) $(libxephyr_hostdri_la_DEPENDENCIES) $(EXTRA_libxephyr_hostdri_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(am_libxephyr_hostdri_la_rpath) $(libxephyr_hostdri_la_OBJECTS) $(libxephyr_hostdri_la_LIBADD) $(LIBS) -libxephyr-hostx.la: $(libxephyr_hostx_la_OBJECTS) $(libxephyr_hostx_la_DEPENDENCIES) $(EXTRA_libxephyr_hostx_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libxephyr_hostx_la_OBJECTS) $(libxephyr_hostx_la_LIBADD) $(LIBS) -libxephyr-hostxv.la: $(libxephyr_hostxv_la_OBJECTS) $(libxephyr_hostxv_la_DEPENDENCIES) $(EXTRA_libxephyr_hostxv_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(am_libxephyr_hostxv_la_rpath) $(libxephyr_hostxv_la_OBJECTS) $(libxephyr_hostxv_la_LIBADD) $(LIBS) -libxephyr.la: $(libxephyr_la_OBJECTS) $(libxephyr_la_DEPENDENCIES) $(EXTRA_libxephyr_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libxephyr_la_OBJECTS) $(libxephyr_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ @@ -696,18 +658,16 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XF86dri.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr_draw.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdri.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdriext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrglxext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostglx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostvideo.Plo@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)/ephyrinit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrvideo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os.Plo@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)/os.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -919,7 +879,7 @@ distdir: $(DISTFILES) done check-am: all-am check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) +all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)"; do \ @@ -957,8 +917,7 @@ maintainer-clean-generic: @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 +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) @@ -1032,20 +991,19 @@ uninstall-am: uninstall-binPROGRAMS .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool clean-noinstLTLIBRARIES cscopelist \ - cscopelist-recursive 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 + clean-generic clean-libtool cscopelist cscopelist-recursive \ + 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 relink: diff --git a/xserver/hw/kdrive/ephyr/XF86dri.c b/xserver/hw/kdrive/ephyr/XF86dri.c deleted file mode 100644 index 9d742f394..000000000 --- a/xserver/hw/kdrive/ephyr/XF86dri.c +++ /dev/null @@ -1,647 +0,0 @@ -/* $XFree86: xc/lib/GL/dri/XF86dri.c,v 1.13 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. - -**************************************************************************/ - -/* - * Authors: - * Kevin E. Martin - * Jens Owen - * Rickard E. (Rik) Faith - * - */ - -/* - * This file has been copied from the mesa source tree and a little bit - * modified by: - * - * Dodji Seketeli - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -/* - * including some server headers (like kdrive-config.h) - * might define the macro _XSERVER64 - * on 64 bits machines. That macro must _NOT_ be defined for Xlib - * client code, otherwise bad things happen. - * So let's undef that macro if necessary. - */ -#ifdef _XSERVER64 -#undef _XSERVER64 -#endif - -/* THIS IS NOT AN X CONSORTIUM STANDARD */ - -#include -#include -#include -#include -#include "xf86dri.h" -#include - -static XExtensionInfo _xf86dri_info_data; -static XExtensionInfo *xf86dri_info = &_xf86dri_info_data; -static char xf86dri_extension_name[] = XF86DRINAME; - -#define XF86DRICheckExtension(dpy,i,val) \ - XextCheckExtension (dpy, i, xf86dri_extension_name, val) - -/***************************************************************************** - * * - * private utility routines * - * * - *****************************************************************************/ - -static int close_display(Display * dpy, XExtCodes * extCodes); - -static /* const */ XExtensionHooks xf86dri_extension_hooks = { - NULL, /* create_gc */ - NULL, /* copy_gc */ - NULL, /* flush_gc */ - NULL, /* free_gc */ - NULL, /* create_font */ - NULL, /* free_font */ - close_display, /* close_display */ - NULL, /* wire_to_event */ - NULL, /* event_to_wire */ - NULL, /* error */ - NULL, /* error_string */ -}; - -static -XEXT_GENERATE_FIND_DISPLAY(find_display, xf86dri_info, - xf86dri_extension_name, - &xf86dri_extension_hooks, 0, NULL) - -static -XEXT_GENERATE_CLOSE_DISPLAY(close_display, xf86dri_info) - -/***************************************************************************** - * * - * public XFree86-DRI Extension routines * - * * - *****************************************************************************/ -#if 0 -#include -#define TRACE(msg) fprintf(stderr,"XF86DRI%s\n", msg); -#else -#define TRACE(msg) -#endif -Bool -XF86DRIOpenFullScreen(Display * dpy, int screen, Drawable drawable); -Bool -XF86DRICloseFullScreen(Display * dpy, int screen, Drawable drawable); - -Bool -XF86DRIQueryExtension(Display * dpy, int *event_basep, int *error_basep) -{ - XExtDisplayInfo *info = find_display(dpy); - - TRACE("QueryExtension..."); - if (XextHasExtension(info)) { - *event_basep = info->codes->first_event; - *error_basep = info->codes->first_error; - TRACE("QueryExtension... return True"); - return True; - } - else { - TRACE("QueryExtension... return False"); - return False; - } -} - -Bool -XF86DRIQueryVersion(Display * dpy, int *majorVersion, int *minorVersion, - int *patchVersion) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIQueryVersionReply rep; - xXF86DRIQueryVersionReq *req; - - TRACE("QueryVersion..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIQueryVersion, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIQueryVersion; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("QueryVersion... return False"); - return False; - } - *majorVersion = rep.majorVersion; - *minorVersion = rep.minorVersion; - *patchVersion = rep.patchVersion; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("QueryVersion... return True"); - return True; -} - -Bool -XF86DRIQueryDirectRenderingCapable(Display * dpy, int screen, Bool *isCapable) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIQueryDirectRenderingCapableReply rep; - xXF86DRIQueryDirectRenderingCapableReq *req; - - TRACE("QueryDirectRenderingCapable..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIQueryDirectRenderingCapable, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIQueryDirectRenderingCapable; - req->screen = screen; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("QueryDirectRenderingCapable... return False"); - return False; - } - *isCapable = rep.isCapable; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("QueryDirectRenderingCapable... return True"); - return True; -} - -Bool -XF86DRIOpenConnection(Display * dpy, int screen, - drm_handle_t * hSAREA, char **busIdString) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIOpenConnectionReply rep; - xXF86DRIOpenConnectionReq *req; - - TRACE("OpenConnection..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIOpenConnection, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIOpenConnection; - req->screen = screen; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("OpenConnection... return False"); - return False; - } - - *hSAREA = rep.hSAREALow; - if (sizeof(drm_handle_t) == 8) { - int shift = 32; /* var to prevent warning on next line */ - - *hSAREA |= ((drm_handle_t) rep.hSAREAHigh) << shift; - } - - if (rep.length) { - if (!(*busIdString = (char *) calloc(rep.busIdStringLength + 1, 1))) { - _XEatData(dpy, ((rep.busIdStringLength + 3) & ~3)); - UnlockDisplay(dpy); - SyncHandle(); - TRACE("OpenConnection... return False"); - return False; - } - _XReadPad(dpy, *busIdString, rep.busIdStringLength); - } - else { - *busIdString = NULL; - } - UnlockDisplay(dpy); - SyncHandle(); - TRACE("OpenConnection... return True"); - return True; -} - -Bool -XF86DRIAuthConnection(Display * dpy, int screen, drm_magic_t magic) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIAuthConnectionReq *req; - xXF86DRIAuthConnectionReply rep; - - TRACE("AuthConnection..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIAuthConnection, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIAuthConnection; - req->screen = screen; - req->magic = magic; - rep.authenticated = 0; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse) || !rep.authenticated) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("AuthConnection... return False"); - return False; - } - UnlockDisplay(dpy); - SyncHandle(); - TRACE("AuthConnection... return True"); - return True; -} - -Bool -XF86DRICloseConnection(Display * dpy, int screen) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRICloseConnectionReq *req; - - TRACE("CloseConnection..."); - - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRICloseConnection, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRICloseConnection; - req->screen = screen; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("CloseConnection... return True"); - return True; -} - -Bool -XF86DRIGetClientDriverName(Display * dpy, int screen, - int *ddxDriverMajorVersion, - int *ddxDriverMinorVersion, - int *ddxDriverPatchVersion, char **clientDriverName) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIGetClientDriverNameReply rep; - xXF86DRIGetClientDriverNameReq *req; - - TRACE("GetClientDriverName..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIGetClientDriverName, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIGetClientDriverName; - req->screen = screen; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetClientDriverName... return False"); - return False; - } - - *ddxDriverMajorVersion = rep.ddxDriverMajorVersion; - *ddxDriverMinorVersion = rep.ddxDriverMinorVersion; - *ddxDriverPatchVersion = rep.ddxDriverPatchVersion; - - if (rep.length) { - if (! - (*clientDriverName = - (char *) calloc(rep.clientDriverNameLength + 1, 1))) { - _XEatData(dpy, ((rep.clientDriverNameLength + 3) & ~3)); - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetClientDriverName... return False"); - return False; - } - _XReadPad(dpy, *clientDriverName, rep.clientDriverNameLength); - } - else { - *clientDriverName = NULL; - } - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetClientDriverName... return True"); - return True; -} - -Bool -XF86DRICreateContextWithConfig(Display * dpy, int screen, int configID, - XID *context, drm_context_t * hHWContext) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRICreateContextReply rep; - xXF86DRICreateContextReq *req; - - TRACE("CreateContext..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRICreateContext, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRICreateContext; - req->visual = configID; - req->screen = screen; - *context = XAllocID(dpy); - req->context = *context; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("CreateContext... return False"); - return False; - } - *hHWContext = rep.hHWContext; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("CreateContext... return True"); - return True; -} - -Bool -XF86DRICreateContext(Display * dpy, int screen, Visual * visual, - XID *context, drm_context_t * hHWContext) -{ - return XF86DRICreateContextWithConfig(dpy, screen, visual->visualid, - context, hHWContext); -} - -GLboolean -XF86DRIDestroyContext(Display * dpy, int screen, XID context) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIDestroyContextReq *req; - - TRACE("DestroyContext..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIDestroyContext, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIDestroyContext; - req->screen = screen; - req->context = context; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("DestroyContext... return True"); - return True; -} - -GLboolean -XF86DRICreateDrawable(Display * dpy, int screen, - XID drawable, drm_drawable_t * hHWDrawable) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRICreateDrawableReply rep; - xXF86DRICreateDrawableReq *req; - - TRACE("CreateDrawable..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRICreateDrawable, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRICreateDrawable; - req->screen = screen; - req->drawable = drawable; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("CreateDrawable... return False"); - return False; - } - *hHWDrawable = rep.hHWDrawable; - UnlockDisplay(dpy); - SyncHandle(); - TRACE("CreateDrawable... return True"); - return True; -} - -static int -noopErrorHandler(Display * dpy, XErrorEvent * xerr) -{ - return 0; -} - -GLboolean -XF86DRIDestroyDrawable(Display * dpy, int screen, XID drawable) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIDestroyDrawableReq *req; - int (*oldXErrorHandler) (Display *, XErrorEvent *); - - TRACE("DestroyDrawable..."); - XF86DRICheckExtension(dpy, info, False); - - /* This is called from the DRI driver, which used call it like this - * - * if (windowExists(drawable)) - * destroyDrawable(drawable); - * - * which is a textbook race condition - the window may disappear - * from the server between checking for its existance and - * destroying it. Instead we change the semantics of - * __DRIinterfaceMethodsRec::destroyDrawable() to succeed even if - * the windows is gone, by wrapping the destroy call in an error - * handler. */ - - XSync(dpy, GL_FALSE); - oldXErrorHandler = XSetErrorHandler(noopErrorHandler); - - LockDisplay(dpy); - GetReq(XF86DRIDestroyDrawable, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIDestroyDrawable; - req->screen = screen; - req->drawable = drawable; - UnlockDisplay(dpy); - SyncHandle(); - - XSetErrorHandler(oldXErrorHandler); - - TRACE("DestroyDrawable... return True"); - return True; -} - -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) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIGetDrawableInfoReply rep; - xXF86DRIGetDrawableInfoReq *req = NULL; - int total_rects; - - TRACE("GetDrawableInfo..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIGetDrawableInfo, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIGetDrawableInfo; - req->screen = screen; - req->drawable = drawable; - - if (!_XReply(dpy, (xReply *) &rep, 1, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetDrawableInfo... return False"); - return False; - } - *index = rep.drawableTableIndex; - *stamp = rep.drawableTableStamp; - *X = (int) rep.drawableX; - *Y = (int) rep.drawableY; - *W = (int) rep.drawableWidth; - *H = (int) rep.drawableHeight; - *numClipRects = rep.numClipRects; - total_rects = *numClipRects; - - *backX = rep.backX; - *backY = rep.backY; - *numBackClipRects = rep.numBackClipRects; - total_rects += *numBackClipRects; - -#if 0 - /* Because of the fix in Xserver/GL/dri/xf86dri.c, this check breaks - * backwards compatibility (Because of the >> 2 shift) but the fix - * enables multi-threaded apps to work. - */ - if (rep.length != ((((SIZEOF(xXF86DRIGetDrawableInfoReply) - - SIZEOF(xGenericReply) + - total_rects * sizeof(drm_clip_rect_t)) + - 3) & ~3) >> 2)) { - _XEatData(dpy, rep.length); - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetDrawableInfo... return False"); - return False; - } -#endif - - if (*numClipRects) { - int len = sizeof(drm_clip_rect_t) * (*numClipRects); - - *pClipRects = (drm_clip_rect_t *) calloc(len, 1); - if (*pClipRects) - _XRead(dpy, (char *) *pClipRects, len); - } - else { - *pClipRects = NULL; - } - - if (*numBackClipRects) { - int len = sizeof(drm_clip_rect_t) * (*numBackClipRects); - - *pBackClipRects = (drm_clip_rect_t *) calloc(len, 1); - if (*pBackClipRects) - _XRead(dpy, (char *) *pBackClipRects, len); - } - else { - *pBackClipRects = NULL; - } - - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetDrawableInfo... return True"); - return True; -} - -Bool -XF86DRIGetDeviceInfo(Display * dpy, int screen, drm_handle_t * hFrameBuffer, - int *fbOrigin, int *fbSize, int *fbStride, - int *devPrivateSize, void **pDevPrivate) -{ - XExtDisplayInfo *info = find_display(dpy); - xXF86DRIGetDeviceInfoReply rep; - xXF86DRIGetDeviceInfoReq *req; - - TRACE("GetDeviceInfo..."); - XF86DRICheckExtension(dpy, info, False); - - LockDisplay(dpy); - GetReq(XF86DRIGetDeviceInfo, req); - req->reqType = info->codes->major_opcode; - req->driReqType = X_XF86DRIGetDeviceInfo; - req->screen = screen; - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetDeviceInfo... return False"); - return False; - } - - *hFrameBuffer = rep.hFrameBufferLow; - if (sizeof(drm_handle_t) == 8) { - int shift = 32; /* var to prevent warning on next line */ - - *hFrameBuffer |= ((drm_handle_t) rep.hFrameBufferHigh) << shift; - } - - *fbOrigin = rep.framebufferOrigin; - *fbSize = rep.framebufferSize; - *fbStride = rep.framebufferStride; - *devPrivateSize = rep.devPrivateSize; - - if (rep.length) { - if (!(*pDevPrivate = (void *) calloc(rep.devPrivateSize, 1))) { - _XEatData(dpy, ((rep.devPrivateSize + 3) & ~3)); - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetDeviceInfo... return False"); - return False; - } - _XRead(dpy, (char *) *pDevPrivate, rep.devPrivateSize); - } - else { - *pDevPrivate = NULL; - } - - UnlockDisplay(dpy); - SyncHandle(); - TRACE("GetDeviceInfo... return True"); - return True; -} - -Bool -XF86DRIOpenFullScreen(Display * dpy, int screen, Drawable drawable) -{ - /* This function and the underlying X protocol are deprecated. - */ - (void) dpy; - (void) screen; - (void) drawable; - return False; -} - -Bool -XF86DRICloseFullScreen(Display * dpy, int screen, Drawable drawable) -{ - /* This function and the underlying X protocol are deprecated. - */ - (void) dpy; - (void) screen; - (void) drawable; - return True; -} diff --git a/xserver/hw/kdrive/ephyr/ephyr.c b/xserver/hw/kdrive/ephyr/ephyr.c index c9672c04a..b2a79855c 100644 --- a/xserver/hw/kdrive/ephyr/ephyr.c +++ b/xserver/hw/kdrive/ephyr/ephyr.c @@ -26,6 +26,10 @@ #ifdef HAVE_CONFIG_H #include #endif + +#include +#include + #include "ephyr.h" #include "inputstr.h" @@ -33,6 +37,7 @@ #include "ephyrlog.h" #ifdef XF86DRI +#include #include "ephyrdri.h" #include "ephyrdriext.h" #include "ephyrglxext.h" @@ -56,6 +61,17 @@ typedef struct _EphyrInputPrivate { } EphyrKbdPrivate, EphyrPointerPrivate; Bool EphyrWantGrayScale = 0; +Bool EphyrWantResize = 0; + +Bool +host_has_extension(xcb_extension_t *extension) +{ + const xcb_query_extension_reply_t *rep; + + rep = xcb_get_extension_data(hostx_get_xcbconn(), extension); + + return rep && rep->present; +} Bool ephyrInitialize(KdCardInfo * card, EphyrPriv * priv) @@ -86,8 +102,9 @@ ephyrCardInit(KdCardInfo * card) } Bool -ephyrScreenInitialize(KdScreenInfo * screen, EphyrScrPriv * scrpriv) +ephyrScreenInitialize(KdScreenInfo *screen) { + EphyrScrPriv *scrpriv = screen->driver; int width = 640, height = 480; CARD32 redMask, greenMask, blueMask; @@ -104,7 +121,7 @@ ephyrScreenInitialize(KdScreenInfo * screen, EphyrScrPriv * scrpriv) if (screen->fb.depth < hostx_get_depth() && (screen->fb.depth == 24 || screen->fb.depth == 16 || screen->fb.depth == 8)) { - hostx_set_server_depth(screen, screen->fb.depth); + scrpriv->server_depth = screen->fb.depth; } else ErrorF @@ -167,27 +184,6 @@ ephyrScreenInitialize(KdScreenInfo * screen, EphyrScrPriv * scrpriv) return ephyrMapFramebuffer(screen); } -Bool -ephyrScreenInit(KdScreenInfo * screen) -{ - EphyrScrPriv *scrpriv; - - scrpriv = calloc(1, sizeof(EphyrScrPriv)); - - if (!scrpriv) - return FALSE; - - screen->driver = scrpriv; - - if (!ephyrScreenInitialize(screen, scrpriv)) { - screen->driver = 0; - free(scrpriv); - return FALSE; - } - - return TRUE; -} - void * ephyrWindowLinear(ScreenPtr pScreen, CARD32 row, @@ -388,10 +384,7 @@ ephyrUnsetInternalDamage(ScreenPtr pScreen) KdScreenPriv(pScreen); KdScreenInfo *screen = pScreenPriv->screen; EphyrScrPriv *scrpriv = screen->driver; - PixmapPtr pPixmap = NULL; - pPixmap = (*pScreen->GetScreenPixmap) (pScreen); - DamageUnregister(&pPixmap->drawable, scrpriv->pDamage); DamageDestroy(scrpriv->pDamage); RemoveBlockAndWakeupHandlers(ephyrInternalDamageBlockHandler, @@ -656,7 +649,7 @@ ephyrInitScreen(ScreenPtr pScreen) } #endif /*XV*/ #ifdef XF86DRI - if (!ephyrNoDRI && !hostx_has_dri()) { + if (!ephyrNoDRI && !host_has_extension(&xcb_xf86dri_id)) { EPHYR_LOG("host x does not support DRI. Disabling DRI forwarding\n"); ephyrNoDRI = TRUE; } @@ -739,8 +732,6 @@ ephyrScreenFini(KdScreenInfo * screen) if (scrpriv->shadow) { KdShadowFbFree(screen); } - free(screen->driver); - screen->driver = NULL; } /* @@ -806,13 +797,13 @@ ephyrCrossScreen(ScreenPtr pScreen, Bool entering) { } -int ephyrCurScreen; /*current event screen */ +ScreenPtr ephyrCursorScreen; /* screen containing the cursor */ static void ephyrWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { OsBlockSIGIO(); - ephyrCurScreen = pScreen->myNum; + ephyrCursorScreen = pScreen; miPointerWarpCursor(inputInfo.pointer, pScreen, x, y); OsReleaseSIGIO(); @@ -822,8 +813,6 @@ miPointerScreenFuncRec ephyrPointerScreenFuncs = { ephyrCursorOffScreen, ephyrCrossScreen, ephyrWarpCursor, - NULL, - NULL }; #ifdef XF86DRI @@ -860,123 +849,334 @@ ephyrExposePairedWindow(int a_remote) } #endif /* XF86DRI */ +static KdScreenInfo * +screen_from_window(Window w) +{ + int i = 0; + + for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr pScreen = screenInfo.screens[i]; + KdPrivScreenPtr kdscrpriv = KdGetScreenPriv(pScreen); + KdScreenInfo *screen = kdscrpriv->screen; + EphyrScrPriv *scrpriv = screen->driver; + + if (scrpriv->win == w + || scrpriv->peer_win == w + || scrpriv->win_pre_existing == w) { + return screen; + } + } + + return NULL; +} + +static void +ephyrProcessErrorEvent(xcb_generic_event_t *xev) +{ + xcb_generic_error_t *e = (xcb_generic_error_t *)xev; + + FatalError("X11 error\n" + "Error code: %hhu\n" + "Sequence number: %hu\n" + "Major code: %hhu\tMinor code: %hu\n" + "Error value: %u\n", + e->error_code, + e->sequence, + e->major_code, e->minor_code, + e->resource_id); +} + +static void +ephyrProcessExpose(xcb_generic_event_t *xev) +{ + xcb_expose_event_t *expose = (xcb_expose_event_t *)xev; + KdScreenInfo *screen = screen_from_window(expose->window); + EphyrScrPriv *scrpriv = screen->driver; + + /* Wait for the last expose event in a series of cliprects + * to actually paint our screen. + */ + if (expose->count != 0) + return; + + if (scrpriv) { + hostx_paint_rect(scrpriv->screen, 0, 0, 0, 0, + scrpriv->win_width, + scrpriv->win_height); + } else { + EPHYR_LOG_ERROR("failed to get host screen\n"); +#ifdef XF86DRI + /* + * We only receive expose events when the expose event + * have be generated for a drawable that is a host X + * window managed by Xephyr. Host X windows managed by + * Xephyr exists for instance when Xephyr is asked to + * create a GL drawable in a DRI environment. + */ + ephyrExposePairedWindow(expose->window); +#endif /* XF86DRI */ + } +} + +static void +ephyrProcessMouseMotion(xcb_generic_event_t *xev) +{ + xcb_motion_notify_event_t *motion = (xcb_motion_notify_event_t *)xev; + KdScreenInfo *screen = screen_from_window(motion->event); + + if (!ephyrMouse || + !((EphyrPointerPrivate *) ephyrMouse->driverPrivate)->enabled) { + EPHYR_LOG("skipping mouse motion:%d\n", screen->pScreen->myNum); + return; + } + + if (ephyrCursorScreen != screen->pScreen) { + EPHYR_LOG("warping mouse cursor. " + "cur_screen%d, motion_screen:%d\n", + ephyrCursorScreen, screen->pScreen->myNum); + ephyrWarpCursor(inputInfo.pointer, screen->pScreen, + motion->event_x, motion->event_y); + } + else { + int x = 0, y = 0; + +#ifdef XF86DRI + EphyrWindowPair *pair = NULL; +#endif + EPHYR_LOG("enqueuing mouse motion:%d\n", screen->pScreen->myNum); + x = motion->event_x; + y = motion->event_y; + EPHYR_LOG("initial (x,y):(%d,%d)\n", x, y); +#ifdef XF86DRI + EPHYR_LOG("is this window peered by a gl drawable ?\n"); + if (findWindowPairFromRemote(motion->event, &pair)) { + EPHYR_LOG("yes, it is peered\n"); + x += pair->local->drawable.x; + y += pair->local->drawable.y; + } + else { + EPHYR_LOG("no, it is not peered\n"); + } + EPHYR_LOG("final (x,y):(%d,%d)\n", x, y); +#endif + + /* convert coords into desktop-wide coordinates. + * fill_pointer_events will convert that back to + * per-screen coordinates where needed */ + x += screen->pScreen->x; + y += screen->pScreen->y; + + KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_POINTER_DESKTOP, x, y, 0); + } +} + +static void +ephyrProcessButtonPress(xcb_generic_event_t *xev) +{ + xcb_button_press_event_t *button = (xcb_button_press_event_t *)xev; + + if (!ephyrMouse || + !((EphyrPointerPrivate *) ephyrMouse->driverPrivate)->enabled) { + EPHYR_LOG("skipping mouse press:%d\n", screen_from_window(button->event)->pScreen->myNum); + return; + } + + ephyrUpdateModifierState(button->state); + /* This is a bit hacky. will break for button 5 ( defined as 0x10 ) + * Check KD_BUTTON defines in kdrive.h + */ + mouseState |= 1 << (button->detail - 1); + + EPHYR_LOG("enqueuing mouse press:%d\n", screen_from_window(button->event)->pScreen->myNum); + KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_MOUSE_DELTA, 0, 0, 0); +} + +static void +ephyrProcessButtonRelease(xcb_generic_event_t *xev) +{ + xcb_button_press_event_t *button = (xcb_button_press_event_t *)xev; + + if (!ephyrMouse || + !((EphyrPointerPrivate *) ephyrMouse->driverPrivate)->enabled) { + return; + } + + ephyrUpdateModifierState(button->state); + mouseState &= ~(1 << (button->detail - 1)); + + EPHYR_LOG("enqueuing mouse release:%d\n", screen_from_window(button->event)->pScreen->myNum); + KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_MOUSE_DELTA, 0, 0, 0); +} + +static void +ephyrProcessKeyPress(xcb_generic_event_t *xev) +{ + xcb_key_press_event_t *key = (xcb_key_press_event_t *)xev; + + if (!ephyrKbd || + !((EphyrKbdPrivate *) ephyrKbd->driverPrivate)->enabled) { + return; + } + + ephyrUpdateModifierState(key->state); + KdEnqueueKeyboardEvent(ephyrKbd, key->detail, FALSE); +} + +static void +ephyrProcessKeyRelease(xcb_generic_event_t *xev) +{ + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_key_release_event_t *key = (xcb_key_release_event_t *)xev; + static xcb_key_symbols_t *keysyms; + static int grabbed_screen = -1; + + if (!keysyms) + keysyms = xcb_key_symbols_alloc(conn); + + if (((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_L + || xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_R) + && (key->state & XCB_MOD_MASK_CONTROL)) || + ((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Control_L + || xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Control_R) + && (key->state & XCB_MOD_MASK_SHIFT))) { + KdScreenInfo *screen = screen_from_window(key->event); + EphyrScrPriv *scrpriv = screen->driver; + + if (grabbed_screen != -1) { + xcb_ungrab_keyboard(conn, XCB_TIME_CURRENT_TIME); + xcb_ungrab_pointer(conn, XCB_TIME_CURRENT_TIME); + grabbed_screen = -1; + hostx_set_win_title(screen, + "(ctrl+shift grabs mouse and keyboard)"); + } + else { + /* Attempt grab */ + xcb_grab_keyboard_cookie_t kbgrabc = + xcb_grab_keyboard(conn, + TRUE, + scrpriv->win, + XCB_TIME_CURRENT_TIME, + XCB_GRAB_MODE_ASYNC, + XCB_GRAB_MODE_ASYNC); + xcb_grab_keyboard_reply_t *kbgrabr; + xcb_grab_pointer_cookie_t pgrabc = + xcb_grab_pointer(conn, + TRUE, + scrpriv->win, + 0, + XCB_GRAB_MODE_ASYNC, + XCB_GRAB_MODE_ASYNC, + scrpriv->win, + XCB_NONE, + XCB_TIME_CURRENT_TIME); + xcb_grab_pointer_reply_t *pgrabr; + kbgrabr = xcb_grab_keyboard_reply(conn, kbgrabc, NULL); + if (!kbgrabr || kbgrabr->status != XCB_GRAB_STATUS_SUCCESS) { + xcb_discard_reply(conn, pgrabc.sequence); + xcb_ungrab_pointer(conn, XCB_TIME_CURRENT_TIME); + } else { + pgrabr = xcb_grab_pointer_reply(conn, pgrabc, NULL); + if (!pgrabr || pgrabr->status != XCB_GRAB_STATUS_SUCCESS) + { + xcb_ungrab_keyboard(conn, + XCB_TIME_CURRENT_TIME); + } else { + grabbed_screen = scrpriv->mynum; + hostx_set_win_title + (screen, + "(ctrl+shift releases mouse and keyboard)"); + } + } + } + } + + if (!ephyrKbd || + !((EphyrKbdPrivate *) ephyrKbd->driverPrivate)->enabled) { + return; + } + + /* Still send the release event even if above has happened server + * will get confused with just an up event. Maybe it would be + * better to just block shift+ctrls getting to kdrive all + * together. + */ + ephyrUpdateModifierState(key->state); + KdEnqueueKeyboardEvent(ephyrKbd, key->detail, TRUE); +} + +static void +ephyrProcessConfigureNotify(xcb_generic_event_t *xev) +{ + xcb_configure_notify_event_t *configure = + (xcb_configure_notify_event_t *)xev; + KdScreenInfo *screen = screen_from_window(configure->window); + EphyrScrPriv *scrpriv = screen->driver; + + if (!scrpriv || + (scrpriv->win_pre_existing == None && !EphyrWantResize)) { + return; + } + +#ifdef RANDR + ephyrResizeScreen(screen->pScreen, configure->width, configure->height); +#endif /* RANDR */ +} + void ephyrPoll(void) { - EphyrHostXEvent ev; + xcb_connection_t *conn = hostx_get_xcbconn(); - while (hostx_get_event(&ev)) { - switch (ev.type) { - case EPHYR_EV_MOUSE_MOTION: - if (!ephyrMouse || - !((EphyrPointerPrivate *) ephyrMouse->driverPrivate)->enabled) { - EPHYR_LOG("skipping mouse motion:%d\n", ephyrCurScreen); - continue; - } - { - if (ev.data.mouse_motion.screen >= 0 - && (ephyrCurScreen != ev.data.mouse_motion.screen)) { - EPHYR_LOG("warping mouse cursor. " - "cur_screen%d, motion_screen:%d\n", - ephyrCurScreen, ev.data.mouse_motion.screen); - if (ev.data.mouse_motion.screen >= 0) { - ephyrWarpCursor - (inputInfo.pointer, - screenInfo.screens[ev.data.mouse_motion.screen], - ev.data.mouse_motion.x, ev.data.mouse_motion.y); - } - } - else { - int x = 0, y = 0; - -#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 XF86DRI - EPHYR_LOG("is this window peered by a gl drawable ?\n"); - if (findWindowPairFromRemote(ev.data.mouse_motion.window, - &pair)) { - EPHYR_LOG("yes, it is peered\n"); - x += pair->local->drawable.x; - y += pair->local->drawable.y; - } - else { - EPHYR_LOG("no, it is not peered\n"); - } - EPHYR_LOG("final (x,y):(%d,%d)\n", x, y); -#endif - KdEnqueuePointerEvent(ephyrMouse, mouseState, x, y, 0); - } - } - break; - - case EPHYR_EV_MOUSE_PRESS: - if (!ephyrMouse || - !((EphyrPointerPrivate *) ephyrMouse->driverPrivate)->enabled) { - EPHYR_LOG("skipping mouse press:%d\n", ephyrCurScreen); - continue; - } - EPHYR_LOG("enqueuing mouse press:%d\n", ephyrCurScreen); - ephyrUpdateModifierState(ev.key_state); - mouseState |= ev.data.mouse_down.button_num; - KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_MOUSE_DELTA, 0, 0, - 0); - break; - - case EPHYR_EV_MOUSE_RELEASE: - if (!ephyrMouse || - !((EphyrPointerPrivate *) ephyrMouse->driverPrivate)->enabled) - continue; - ephyrUpdateModifierState(ev.key_state); - mouseState &= ~ev.data.mouse_up.button_num; - EPHYR_LOG("enqueuing mouse release:%d\n", ephyrCurScreen); - KdEnqueuePointerEvent(ephyrMouse, mouseState | KD_MOUSE_DELTA, 0, 0, - 0); - break; - - case EPHYR_EV_KEY_PRESS: - if (!ephyrKbd || - !((EphyrKbdPrivate *) ephyrKbd->driverPrivate)->enabled) - continue; - ephyrUpdateModifierState(ev.key_state); - KdEnqueueKeyboardEvent(ephyrKbd, ev.data.key_down.scancode, FALSE); - break; - - case EPHYR_EV_KEY_RELEASE: - if (!ephyrKbd || - !((EphyrKbdPrivate *) ephyrKbd->driverPrivate)->enabled) - continue; - ephyrUpdateModifierState(ev.key_state); - KdEnqueueKeyboardEvent(ephyrKbd, ev.data.key_up.scancode, TRUE); - break; - -#ifdef XF86DRI - case EPHYR_EV_EXPOSE: - /* - * We only receive expose events when the expose event have - * be generated for a drawable that is a host X window managed - * by Xephyr. Host X windows managed by Xephyr exists for instance - * when Xephyr is asked to create a GL drawable in a DRI environment. + while (TRUE) { + xcb_generic_event_t *xev = xcb_poll_for_event(conn); + if (!xev) { + /* If our XCB connection has died (for example, our window was + * closed), exit now. */ - ephyrExposePairedWindow(ev.data.expose.window); - break; -#endif /* XF86DRI */ + if (xcb_connection_has_error(conn)) { + CloseWellKnownConnections(); + OsCleanup(1); + exit(1); + } -#ifdef RANDR - case EPHYR_EV_CONFIGURE: - ephyrResizeScreen(screenInfo.screens[ev.data.configure.screen], - ev.data.configure.width, - ev.data.configure.height); - break; -#endif /* RANDR */ - - default: break; } + + switch (xev->response_type & 0x7f) { + case 0: + ephyrProcessErrorEvent(xev); + break; + + case XCB_EXPOSE: + ephyrProcessExpose(xev); + break; + + case XCB_MOTION_NOTIFY: + ephyrProcessMouseMotion(xev); + break; + + case XCB_KEY_PRESS: + ephyrProcessKeyPress(xev); + break; + + case XCB_KEY_RELEASE: + ephyrProcessKeyRelease(xev); + break; + + case XCB_BUTTON_PRESS: + ephyrProcessButtonPress(xev); + break; + + case XCB_BUTTON_RELEASE: + ephyrProcessButtonRelease(xev); + break; + + case XCB_CONFIGURE_NOTIFY: + ephyrProcessConfigureNotify(xev); + break; + } + + free(xev); } } @@ -1090,7 +1290,7 @@ EphyrKeyboardInit(KdKeyboardInfo * ki) ki->driverPrivate = (EphyrKbdPrivate *) calloc(sizeof(EphyrKbdPrivate), 1); hostx_load_keymap(); - if (!ephyrKeySyms.map) { + if (!ephyrKeySyms.minKeyCode) { ErrorF("Couldn't load keymap from host\n"); return BadAlloc; } diff --git a/xserver/hw/kdrive/ephyr/ephyr.h b/xserver/hw/kdrive/ephyr/ephyr.h index be910c19e..73fdb59e6 100644 --- a/xserver/hw/kdrive/ephyr/ephyr.h +++ b/xserver/hw/kdrive/ephyr/ephyr.h @@ -29,6 +29,7 @@ #include #include #include +#include #include "os.h" /* for OsSignal() */ #include "kdrive.h" @@ -61,10 +62,24 @@ typedef struct _ephyrFakexaPriv { } EphyrFakexaPriv; typedef struct _ephyrScrPriv { + /* ephyr server info */ Rotation randr; Bool shadow; DamagePtr pDamage; EphyrFakexaPriv *fakexa; + + /* Host X window info */ + xcb_window_t win; + xcb_window_t win_pre_existing; /* Set via -parent option like xnest */ + xcb_window_t peer_win; /* Used for GL; should be at most one */ + xcb_image_t *ximg; + int win_width, win_height; + int server_depth; + unsigned char *fb_data; /* only used when host bpp != server bpp */ + xcb_shm_segment_info_t shminfo; + + KdScreenInfo *screen; + int mynum; /* Screen number */ } EphyrScrPriv; extern KdCardFuncs ephyrFuncs; @@ -80,10 +95,7 @@ Bool ephyrCardInit(KdCardInfo * card); Bool - ephyrScreenInit(KdScreenInfo * screen); - -Bool - ephyrScreenInitialize(KdScreenInfo * screen, EphyrScrPriv * scrpriv); +ephyrScreenInitialize(KdScreenInfo *screen); Bool ephyrInitScreen(ScreenPtr pScreen); diff --git a/xserver/hw/kdrive/ephyr/ephyrdri.c b/xserver/hw/kdrive/ephyr/ephyrdri.c index 50554364c..16678fc5b 100644 --- a/xserver/hw/kdrive/ephyr/ephyrdri.c +++ b/xserver/hw/kdrive/ephyr/ephyrdri.c @@ -29,10 +29,8 @@ #include #endif -#include -#include -#include -#include "xf86dri.h" +#include +#include #include "hostx.h" #include "ephyrdri.h" #define _HAVE_XALLOC_DECLS @@ -49,13 +47,21 @@ Bool ephyrDRIQueryDirectRenderingCapable(int a_screen, Bool *a_is_capable) { - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn(); Bool is_ok = FALSE; + xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie; + xcb_xf86dri_query_direct_rendering_capable_reply_t *reply; EPHYR_RETURN_VAL_IF_FAIL(a_is_capable, FALSE); EPHYR_LOG("enter\n"); - is_ok = XF86DRIQueryDirectRenderingCapable(dpy, DefaultScreen(dpy), - a_is_capable); + cookie = xcb_xf86dri_query_direct_rendering_capable(conn, + hostx_get_screen()); + reply = xcb_xf86dri_query_direct_rendering_capable_reply(conn, cookie, NULL); + if (reply) { + is_ok = TRUE; + *a_is_capable = reply->is_capable; + free(reply); + } EPHYR_LOG("leave. is_capable:%d, is_ok=%d\n", *a_is_capable, is_ok); return is_ok; @@ -65,31 +71,48 @@ Bool ephyrDRIOpenConnection(int a_screen, drm_handle_t * a_sarea, char **a_bus_id_string) { - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn(); Bool is_ok = FALSE; + xcb_xf86dri_open_connection_cookie_t cookie; + xcb_xf86dri_open_connection_reply_t *reply; EPHYR_RETURN_VAL_IF_FAIL(a_bus_id_string, FALSE); EPHYR_LOG("enter. screen:%d\n", a_screen); - is_ok = XF86DRIOpenConnection(dpy, DefaultScreen(dpy), - a_sarea, a_bus_id_string); - if (*a_bus_id_string) { - EPHYR_LOG("leave. bus_id_string:%s, is_ok:%d\n", - *a_bus_id_string, is_ok); - } - else { - EPHYR_LOG("leave. bus_id_string:null, is_ok:%d\n", is_ok); + cookie = xcb_xf86dri_open_connection(conn, hostx_get_screen()); + reply = xcb_xf86dri_open_connection_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_sarea = reply->sarea_handle_low; + if (sizeof(drm_handle_t) == 8) { + int shift = 32; + *a_sarea |= ((drm_handle_t) reply->sarea_handle_high) << shift; } + *a_bus_id_string = malloc(reply->bus_id_len + 1); + if (!*a_bus_id_string) + goto out; + memcpy(*a_bus_id_string, xcb_xf86dri_open_connection_bus_id(reply), reply->bus_id_len); + *a_bus_id_string[reply->bus_id_len] = '\0'; + is_ok = TRUE; +out: + free(reply); + EPHYR_LOG("leave. bus_id_string:%s, is_ok:%d\n", *a_bus_id_string, is_ok); return is_ok; } Bool ephyrDRIAuthConnection(int a_screen, drm_magic_t a_magic) { - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); + xcb_xf86dri_auth_connection_cookie_t cookie; + xcb_xf86dri_auth_connection_reply_t *reply; Bool is_ok = FALSE; EPHYR_LOG("enter\n"); - is_ok = XF86DRIAuthConnection(dpy, DefaultScreen(dpy), a_magic); + cookie = xcb_xf86dri_auth_connection(conn, screen, a_magic); + reply = xcb_xf86dri_auth_connection_reply(conn, cookie, NULL); + is_ok = reply->authenticated; + free(reply); EPHYR_LOG("leave. is_ok:%d\n", is_ok); return is_ok; } @@ -97,13 +120,13 @@ ephyrDRIAuthConnection(int a_screen, drm_magic_t a_magic) Bool ephyrDRICloseConnection(int a_screen) { - Display *dpy = hostx_get_display(); - Bool is_ok = FALSE; + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); EPHYR_LOG("enter\n"); - is_ok = XF86DRICloseConnection(dpy, DefaultScreen(dpy)); + xcb_xf86dri_close_connection(conn, screen); EPHYR_LOG("leave\n"); - return is_ok; + return TRUE; } Bool @@ -113,7 +136,10 @@ ephyrDRIGetClientDriverName(int a_screen, int *a_ddx_driver_patch_version, char **a_client_driver_name) { - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); + xcb_xf86dri_get_client_driver_name_cookie_t cookie; + xcb_xf86dri_get_client_driver_name_reply_t *reply; Bool is_ok = FALSE; EPHYR_RETURN_VAL_IF_FAIL(a_ddx_driver_major_version @@ -121,15 +147,27 @@ ephyrDRIGetClientDriverName(int a_screen, && a_ddx_driver_patch_version && a_client_driver_name, FALSE); EPHYR_LOG("enter\n"); - is_ok = XF86DRIGetClientDriverName(dpy, DefaultScreen(dpy), - a_ddx_driver_major_version, - a_ddx_driver_minor_version, - a_ddx_driver_patch_version, - a_client_driver_name); + cookie = xcb_xf86dri_get_client_driver_name(conn, screen); + reply = xcb_xf86dri_get_client_driver_name_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_ddx_driver_major_version = reply->client_driver_major_version; + *a_ddx_driver_minor_version = reply->client_driver_minor_version; + *a_ddx_driver_patch_version = reply->client_driver_patch_version; + *a_client_driver_name = malloc(reply->client_driver_name_len + 1); + if (!*a_client_driver_name) + goto out; + memcpy(*a_client_driver_name, + xcb_xf86dri_get_client_driver_name_client_driver_name(reply), + reply->client_driver_name_len); + (*a_client_driver_name)[reply->client_driver_name_len] = '\0'; + is_ok = TRUE; EPHYR_LOG("major:%d, minor:%d, patch:%d, name:%s\n", *a_ddx_driver_major_version, *a_ddx_driver_minor_version, *a_ddx_driver_patch_version, *a_client_driver_name); + out: + free(reply); EPHYR_LOG("leave:%d\n", is_ok); return is_ok; } @@ -137,18 +175,25 @@ ephyrDRIGetClientDriverName(int a_screen, Bool ephyrDRICreateContext(int a_screen, int a_visual_id, - XID *a_returned_ctxt_id, drm_context_t * a_hw_ctxt) + CARD32 ctxt_id, drm_context_t * a_hw_ctxt) { - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); Bool is_ok = FALSE; - Visual v; + xcb_xf86dri_create_context_cookie_t cookie; + xcb_xf86dri_create_context_reply_t *reply; + + ctxt_id = xcb_generate_id(conn); EPHYR_LOG("enter. screen:%d, visual:%d\n", a_screen, a_visual_id); - memset(&v, 0, sizeof(v)); - v.visualid = a_visual_id; - is_ok = XF86DRICreateContext(dpy, - DefaultScreen(dpy), - &v, a_returned_ctxt_id, a_hw_ctxt); + cookie = xcb_xf86dri_create_context(conn, screen, a_visual_id, ctxt_id); + reply = xcb_xf86dri_create_context_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_hw_ctxt = reply->hw_context; + is_ok = TRUE; +out: + free(reply); EPHYR_LOG("leave:%d\n", is_ok); return is_ok; } @@ -156,13 +201,13 @@ ephyrDRICreateContext(int a_screen, Bool ephyrDRIDestroyContext(int a_screen, int a_context_id) { - Display *dpy = hostx_get_display(); - Bool is_ok = FALSE; + xcb_connection_t *conn = hostx_get_xcbconn (); + int screen = hostx_get_screen(); EPHYR_LOG("enter\n"); - is_ok = XF86DRIDestroyContext(dpy, DefaultScreen(dpy), a_context_id); - EPHYR_LOG("leave:%d\n", is_ok); - return is_ok; + xcb_xf86dri_destroy_context(conn, screen, a_context_id); + EPHYR_LOG("leave\n"); + return TRUE; } Bool @@ -170,11 +215,20 @@ ephyrDRICreateDrawable(int a_screen, int a_drawable, drm_drawable_t * a_hw_drawable) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); + xcb_xf86dri_create_drawable_cookie_t cookie; + xcb_xf86dri_create_drawable_reply_t *reply; EPHYR_LOG("enter\n"); - is_ok = XF86DRICreateDrawable(dpy, DefaultScreen(dpy), - a_drawable, a_hw_drawable); + cookie = xcb_xf86dri_create_drawable(conn, screen, a_drawable); + reply = xcb_xf86dri_create_drawable_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_hw_drawable = reply->hw_drawable_handle; + is_ok = TRUE; +out: + free(reply); EPHYR_LOG("leave. is_ok:%d\n", is_ok); return is_ok; } @@ -205,7 +259,10 @@ ephyrDRIGetDrawableInfo(int a_screen, drm_clip_rect_t ** a_back_clip_rects) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); + xcb_xf86dri_get_drawable_info_cookie_t cookie; + xcb_xf86dri_get_drawable_info_reply_t *reply = NULL; EphyrHostWindowAttributes attrs; EPHYR_RETURN_VAL_IF_FAIL(a_x && a_y && a_w && a_h @@ -217,16 +274,22 @@ ephyrDRIGetDrawableInfo(int a_screen, EPHYR_LOG_ERROR("failed to query host window attributes\n"); goto out; } - if (!XF86DRIGetDrawableInfo(dpy, DefaultScreen(dpy), a_drawable, - a_index, a_stamp, - a_x, a_y, - a_w, a_h, - a_num_clip_rects, a_clip_rects, - a_back_x, a_back_y, - a_num_back_clip_rects, a_back_clip_rects)) { - EPHYR_LOG_ERROR("XF86DRIGetDrawableInfo ()\n"); + cookie = xcb_xf86dri_get_drawable_info(conn, screen, a_drawable); + reply = xcb_xf86dri_get_drawable_info_reply(conn, cookie, NULL); + if (!reply) { + EPHYR_LOG_ERROR ("XF86DRIGetDrawableInfo ()\n"); goto out; } + *a_index = reply->drawable_table_index; + *a_stamp = reply->drawable_table_stamp; + *a_x = reply->drawable_origin_X; + *a_y = reply->drawable_origin_Y; + *a_w = reply->drawable_size_W; + *a_h = reply->drawable_size_H; + *a_num_clip_rects = reply->num_clip_rects; + *a_clip_rects = calloc(*a_num_clip_rects, sizeof(drm_clip_rect_t)); + memcpy(*a_clip_rects, xcb_xf86dri_get_drawable_info_clip_rects(reply), + *a_num_clip_rects * sizeof(drm_clip_rect_t)); EPHYR_LOG("host x,y,w,h: (%d,%d,%d,%d)\n", *a_x, *a_y, *a_w, *a_h); if (*a_num_clip_rects) { free(*a_back_clip_rects); @@ -246,6 +309,7 @@ ephyrDRIGetDrawableInfo(int a_screen, out: EPHYR_LOG("leave. index:%d, stamp:%d, x,y:(%d,%d), w,y:(%d,%d)\n", *a_index, *a_stamp, *a_x, *a_y, *a_w, *a_h); + free(reply); return is_ok; } @@ -258,13 +322,35 @@ ephyrDRIGetDeviceInfo(int a_screen, int *a_dev_private_size, void **a_dev_private) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); + xcb_connection_t *conn = hostx_get_xcbconn (); + int screen = hostx_get_screen(); + xcb_xf86dri_get_device_info_cookie_t cookie; + xcb_xf86dri_get_device_info_reply_t *reply; - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); + EPHYR_RETURN_VAL_IF_FAIL(conn, FALSE); EPHYR_LOG("enter\n"); - is_ok = XF86DRIGetDeviceInfo(dpy, DefaultScreen(dpy), a_frame_buffer, - a_fb_origin, a_fb_size, a_fb_stride, - a_dev_private_size, a_dev_private); + cookie = xcb_xf86dri_get_device_info(conn, screen); + reply = xcb_xf86dri_get_device_info_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_frame_buffer = reply->framebuffer_handle_low; + if (sizeof(drm_handle_t) == 8) { + int shift = 32; + *a_frame_buffer |= ((drm_handle_t)reply->framebuffer_handle_high) << shift; + } + *a_fb_origin = reply->framebuffer_origin_offset; + *a_fb_size = reply->framebuffer_size; + *a_fb_stride = reply->framebuffer_stride; + *a_dev_private_size = reply->device_private_size; + *a_dev_private = calloc(reply->device_private_size, 1); + if (!*a_dev_private) + goto out; + memcpy(*a_dev_private, + xcb_xf86dri_get_device_info_device_private(reply), + reply->device_private_size); + is_ok = TRUE; +out: + free(reply); EPHYR_LOG("leave:%d\n", is_ok); return is_ok; } diff --git a/xserver/hw/kdrive/ephyr/ephyrdri.h b/xserver/hw/kdrive/ephyr/ephyrdri.h index d28910f29..8f2d3026e 100644 --- a/xserver/hw/kdrive/ephyr/ephyrdri.h +++ b/xserver/hw/kdrive/ephyr/ephyrdri.h @@ -43,7 +43,7 @@ Bool ephyrDRIGetClientDriverName(int a_screen, char **a_client_driver_name); Bool ephyrDRICreateContext(int a_screen, int a_visual_id, - XID *a_returned_ctx_id, drm_context_t * a_hw_ctx); + CARD32 ctx_id, drm_context_t * a_hw_ctx); Bool ephyrDRIDestroyContext(int a_screen, int a_context_id); Bool ephyrDRICreateDrawable(int a_screen, int a_drawable, drm_drawable_t * a_hw_drawable); diff --git a/xserver/hw/kdrive/ephyr/ephyrdriext.c b/xserver/hw/kdrive/ephyr/ephyrdriext.c index 144c6e1ac..e2b33db03 100644 --- a/xserver/hw/kdrive/ephyr/ephyrdriext.c +++ b/xserver/hw/kdrive/ephyr/ephyrdriext.c @@ -39,6 +39,9 @@ #define _XF86DRI_SERVER_ #include #include +#include +#include +#include #include "misc.h" #include "privates.h" #include "dixstruct.h" @@ -189,7 +192,6 @@ static void ephyrDRIMoveWindow(WindowPtr a_win, int a_x, int a_y, WindowPtr a_siblings, VTKind a_kind) { - Bool is_ok = FALSE; ScreenPtr screen = NULL; EphyrDRIScreenPrivPtr screen_priv = NULL; EphyrDRIWindowPrivPtr win_priv = NULL; @@ -214,18 +216,16 @@ ephyrDRIMoveWindow(WindowPtr a_win, EPHYR_LOG("window: %p\n", a_win); if (!a_win->parent) { EPHYR_LOG("cannot move root window\n"); - is_ok = TRUE; - goto out; + return; } win_priv = GET_EPHYR_DRI_WINDOW_PRIV(a_win); if (!win_priv) { EPHYR_LOG("not a DRI peered window\n"); - is_ok = TRUE; - goto out; + return; } if (!findWindowPairFromLocal(a_win, &pair) || !pair) { EPHYR_LOG_ERROR("failed to get window pair\n"); - goto out; + return; } /*compute position relative to parent window */ x = a_win->drawable.x - a_win->parent->drawable.x; @@ -237,11 +237,6 @@ ephyrDRIMoveWindow(WindowPtr a_win, geo.width = a_win->drawable.width; geo.height = a_win->drawable.height; hostx_set_window_geometry(pair->remote, &geo); - is_ok = TRUE; - - out: - EPHYR_LOG("leave. is_ok:%d\n", is_ok); - /*do cleanup here */ } static Bool @@ -297,7 +292,6 @@ ephyrDRIPositionWindow(WindowPtr a_win, int a_x, int a_y) static void ephyrDRIClipNotify(WindowPtr a_win, int a_x, int a_y) { - Bool is_ok = FALSE; ScreenPtr screen = NULL; EphyrDRIScreenPrivPtr screen_priv = NULL; EphyrDRIWindowPrivPtr win_priv = NULL; @@ -323,7 +317,6 @@ ephyrDRIClipNotify(WindowPtr a_win, int a_x, int a_y) win_priv = GET_EPHYR_DRI_WINDOW_PRIV(a_win); if (!win_priv) { EPHYR_LOG("not a DRI peered window\n"); - is_ok = TRUE; goto out; } if (!findWindowPairFromLocal(a_win, &pair) || !pair) { @@ -343,15 +336,14 @@ ephyrDRIClipNotify(WindowPtr a_win, int a_x, int a_y) * push the clipping region of this window * to the peer window in the host */ - is_ok = hostx_set_window_bounding_rectangles + hostx_set_window_bounding_rectangles (pair->remote, rects, RegionNumRects(&a_win->clipList)); - is_ok = TRUE; out: free(rects); rects = NULL; - EPHYR_LOG("leave. is_ok:%d\n", is_ok); + EPHYR_LOG("leave.\n"); /*do cleanup here */ } @@ -727,7 +719,6 @@ ProcXF86DRICreateContext(register ClientPtr client) ScreenPtr pScreen; VisualPtr visual; int i = 0; - unsigned long context_id = 0; REQUEST(xXF86DRICreateContextReq); REQUEST_SIZE_MATCH(xXF86DRICreateContextReq); @@ -750,10 +741,9 @@ ProcXF86DRICreateContext(register ClientPtr client) return BadValue; } - context_id = stuff->context; if (!ephyrDRICreateContext(stuff->screen, stuff->visual, - &context_id, + stuff->context, (drm_context_t *) &rep.hHWContext)) { return BadValue; } @@ -1332,12 +1322,12 @@ ephyrDRIExtensionInit(ScreenPtr a_screen) EphyrDRIScreenPrivPtr screen_priv = NULL; EPHYR_LOG("enter\n"); - if (!hostx_has_dri()) { + if (!host_has_extension(&xcb_xf86dri_id)) { EPHYR_LOG("host does not have DRI extension\n"); goto out; } EPHYR_LOG("host X does have DRI extension\n"); - if (!hostx_has_xshape()) { + if (!host_has_extension(&xcb_shape_id)) { EPHYR_LOG("host does not have XShape extension\n"); goto out; } diff --git a/xserver/hw/kdrive/ephyr/ephyrglxext.c b/xserver/hw/kdrive/ephyr/ephyrglxext.c index 22d510891..632a9c474 100644 --- a/xserver/hw/kdrive/ephyr/ephyrglxext.c +++ b/xserver/hw/kdrive/ephyr/ephyrglxext.c @@ -29,6 +29,7 @@ #include #endif +#include #include "extnsionst.h" #include "ephyrglxext.h" #include "ephyrhostglx.h" @@ -83,7 +84,7 @@ ephyrHijackGLXExtension(void) { const void *(*dispatch_functions)[2]; - if (!hostx_has_glx()) { + if (!host_has_extension(&xcb_glx_id)) { EPHYR_LOG("host X does not have GLX\n"); return FALSE; } @@ -380,10 +381,9 @@ ephyrGLXQueryServerString(__GLXclientState * a_cl, GLbyte * a_pc) int length = 0; EPHYR_LOG("enter\n"); - if (!ephyrHostGLXGetStringFromServer(req->screen, - req->name, - EPHYR_HOST_GLX_QueryServerString, - &server_string)) { + if (!ephyrHostGLXQueryServerString(req->screen, + req->name, + &server_string)) { EPHYR_LOG_ERROR("failed to query string from host\n"); goto out; } @@ -724,9 +724,7 @@ ephyrGLXGetStringReal(__GLXclientState * a_cl, GLbyte * a_pc, Bool a_do_swap) a_pc += __GLX_SINGLE_HDR_SIZE; name = *(GLenum *) (a_pc + 0); EPHYR_LOG("context_tag:%d, name:%d\n", context_tag, name); - if (!ephyrHostGLXGetStringFromServer(context_tag, - name, - EPHYR_HOST_GLX_GetString, &string)) { + if (!ephyrHostGLXGetString(context_tag, name, &string)) { EPHYR_LOG_ERROR("failed to get string from server\n"); goto out; } diff --git a/xserver/hw/kdrive/ephyr/ephyrhostglx.c b/xserver/hw/kdrive/ephyr/ephyrhostglx.c index 5c6c40f0b..007524d04 100644 --- a/xserver/hw/kdrive/ephyr/ephyrhostglx.c +++ b/xserver/hw/kdrive/ephyr/ephyrhostglx.c @@ -31,22 +31,10 @@ #include #endif -/* - * including some server headers (like kdrive-config.h) - * might define the macro _XSERVER64 - * on 64 bits machines. That macro must _NOT_ be defined for Xlib - * client code, otherwise bad things happen. - * So let's undef that macro if necessary. - */ -#ifdef _XSERVER64 -#undef _XSERVER64 -#endif - -#include -#include -#include +#include +#include #include -#include +#include #include "ephyrhostglx.h" #define _HAVE_XALLOC_DECLS #include "ephyrlog.h" @@ -62,41 +50,20 @@ enum VisualConfRequestType { static Bool ephyrHostGLXGetVisualConfigsInternal (enum VisualConfRequestType a_type, + xcb_glx_get_visual_configs_reply_t *reply, int32_t a_screen, - int32_t * a_num_visuals, - int32_t * a_num_props, int32_t * a_props_buf_size, int32_t ** a_props_buf); -Bool -ephyrHostGLXGetMajorOpcode(int *a_opcode) -{ - Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - static int opcode; - int first_event_return = 0, first_error_return = 0; - - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - EPHYR_LOG("enter\n"); - if (!opcode) { - if (!XQueryExtension(dpy, GLX_EXTENSION_NAME, &opcode, - &first_event_return, &first_error_return)) { - EPHYR_LOG_ERROR("XQueryExtension() failed\n"); - goto out; - } - } - *a_opcode = opcode; - is_ok = TRUE; - out: - EPHYR_LOG("release\n"); - return is_ok; -} + int32_t *a_num_visuals, + int32_t *a_num_props, + int32_t *a_props_buf_size, + int32_t **a_props_buf); Bool ephyrHostGLXQueryVersion(int *a_major, int *a_minor) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - int major_opcode = 0; - xGLXQueryVersionReq *req = NULL; - xGLXQueryVersionReply reply; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_glx_query_version_cookie_t cookie; + xcb_glx_query_version_reply_t *reply; EPHYR_RETURN_VAL_IF_FAIL(a_major && a_minor, FALSE); EPHYR_LOG("enter\n"); @@ -107,26 +74,14 @@ ephyrHostGLXQueryVersion(int *a_major, int *a_minor) return TRUE; } - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); - goto out; - } - EPHYR_LOG("major opcode: %d\n", major_opcode); - /* Send the glXQueryVersion request */ - memset(&reply, 0, sizeof(reply)); - LockDisplay(dpy); - GetReq(GLXQueryVersion, req); - req->reqType = major_opcode; - req->glxCode = X_GLXQueryVersion; - req->majorVersion = 2; - req->minorVersion = 1; - _XReply(dpy, (xReply *) &reply, 0, False); - UnlockDisplay(dpy); - SyncHandle(); - - *a_major = glx_major = reply.majorVersion; - *a_minor = glx_minor = reply.minorVersion; + cookie = xcb_glx_query_version(conn, 2, 1); + reply = xcb_glx_query_version_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_major = reply->major_version; + *a_minor = reply->minor_version; + free(reply); EPHYR_LOG("major:%d, minor:%d\n", *a_major, *a_minor); @@ -136,116 +91,63 @@ ephyrHostGLXQueryVersion(int *a_major, int *a_minor) return is_ok; } -/** - * GLX protocol structure for the ficticious "GXLGenericGetString" request. - * - * This is a non-existant protocol packet. It just so happens that all of - * the real protocol packets used to request a string from the server have - * an identical binary layout. The only difference between them is the - * meaning of the \c for_whom field and the value of the \c glxCode. - * (this has been copied from the mesa source code) - */ -typedef struct GLXGenericGetString { - CARD8 reqType; - CARD8 glxCode; - CARD16 length B16; - CARD32 for_whom B32; - CARD32 name B32; -} xGLXGenericGetStringReq; - -/* These defines are only needed to make the GetReq macro happy. - */ -#define sz_xGLXGenericGetStringReq 12 -#define X_GLXGenericGetString 0 - Bool -ephyrHostGLXGetStringFromServer(int a_screen_number, - int a_string_name, - enum EphyrHostGLXGetStringOps a_op, - char **a_string) +ephyrHostGLXGetString(int a_context_tag, + int a_string_name, + char **a_string) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - int default_screen = DefaultScreen(dpy); - xGLXGenericGetStringReq *req = NULL; - xGLXSingleReply reply; - int length = 0, numbytes = 0, major_opcode = 0, get_string_op = 0; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_glx_get_string_cookie_t cookie; + xcb_glx_get_string_reply_t *reply; - EPHYR_RETURN_VAL_IF_FAIL(dpy && a_string, FALSE); + EPHYR_RETURN_VAL_IF_FAIL(conn && a_string, FALSE); EPHYR_LOG("enter\n"); - switch (a_op) { - case EPHYR_HOST_GLX_QueryServerString: - get_string_op = X_GLXQueryServerString; - break; - case EPHYR_HOST_GLX_GetString: - get_string_op = X_GLsop_GetString; - EPHYR_LOG("Going to glXGetString. strname:%#x, ctxttag:%d\n", - a_string_name, a_screen_number); - break; - default: - EPHYR_LOG_ERROR("unknown EphyrHostGLXGetStringOp:%d\n", a_op); + cookie = xcb_glx_get_string(conn, a_context_tag, a_string_name); + reply = xcb_glx_get_string_reply(conn, cookie, NULL); + if (!reply) goto out; - } - - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); - goto out; - } - EPHYR_LOG("major opcode: %d\n", major_opcode); - - LockDisplay(dpy); - - /* All of the GLX protocol requests for getting a string from the server - * look the same. The exact meaning of the a_for_whom field is usually - * either the screen number (for glXQueryServerString) or the context tag - * (for GLXSingle). - */ - GetReq(GLXGenericGetString, req); - req->reqType = major_opcode; - req->glxCode = get_string_op; - req->for_whom = default_screen; - req->name = a_string_name; - - _XReply(dpy, (xReply *) &reply, 0, False); - - length = reply.length * 4; - if (!length) { - numbytes = 0; - } - else { - numbytes = reply.size; - } - EPHYR_LOG("going to get a string of size:%d\n", numbytes); - - *a_string = (char *) Xmalloc(numbytes + 1); - if (!a_string) { - EPHYR_LOG_ERROR("allocation failed\n"); - goto out; - } - - memset(*a_string, 0, numbytes + 1); - if (_XRead(dpy, *a_string, numbytes)) { - UnlockDisplay(dpy); - SyncHandle(); - EPHYR_LOG_ERROR("read failed\n"); - goto out; - } - length -= numbytes; - _XEatData(dpy, length); - UnlockDisplay(dpy); - SyncHandle(); - EPHYR_LOG("strname:%#x, strvalue:'%s', strlen:%d\n", - a_string_name, *a_string, numbytes); - + *a_string = malloc(reply->n + 1); + memcpy(*a_string, xcb_glx_get_string_string(reply), reply->n); + (*a_string)[reply->n] = '\0'; + free(reply); is_ok = TRUE; - out: +out: + EPHYR_LOG("leave\n"); + return is_ok; +} + +Bool ephyrHostGLXQueryServerString(int a_screen_number, + int a_string_name, + char **a_string) +{ + Bool is_ok = FALSE; + xcb_connection_t *conn = hostx_get_xcbconn(); + int default_screen = hostx_get_screen(); + xcb_glx_query_server_string_cookie_t cookie; + xcb_glx_query_server_string_reply_t *reply; + + EPHYR_RETURN_VAL_IF_FAIL(conn && a_string, FALSE); + + EPHYR_LOG("enter\n"); + cookie = xcb_glx_query_server_string(conn, default_screen, a_string_name); + reply = xcb_glx_query_server_string_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_string = malloc(reply->str_len + 1); + memcpy(*a_string, xcb_glx_query_server_string_string(reply), reply->str_len); + (*a_string)[reply->str_len] = '\0'; + free(reply); + is_ok = TRUE; +out: EPHYR_LOG("leave\n"); return is_ok; } static Bool ephyrHostGLXGetVisualConfigsInternal(enum VisualConfRequestType a_type, + xcb_glx_get_visual_configs_reply_t *reply, int32_t a_screen, int32_t * a_num_visuals, int32_t * a_num_props, @@ -253,112 +155,36 @@ ephyrHostGLXGetVisualConfigsInternal(enum VisualConfRequestType a_type, int32_t ** a_props_buf) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - xGLXGetVisualConfigsReq *req; - xGLXGetFBConfigsReq *fb_req; - xGLXVendorPrivateWithReplyReq *vpreq; - xGLXGetFBConfigsSGIXReq *sgi_req; - xGLXGetVisualConfigsReply reply; - char *server_glx_version = NULL, *server_glx_extensions = NULL; - int j = 0, - screens = 0, - major_opcode = 0, - num_props = 0, - num_visuals = 0, props_buf_size = 0, props_per_visual_size = 0; + int num_props = 0, num_visuals = 0, props_buf_size = 0; + int props_per_visual_size = 0; int32_t *props_buf = NULL; - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - - screens = ScreenCount(dpy); - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get opcode\n"); - goto out; - } - - LockDisplay(dpy); - switch (a_type) { - case EPHYR_GET_FB_CONFIG: - GetReq(GLXGetFBConfigs, fb_req); - fb_req->reqType = major_opcode; - fb_req->glxCode = X_GLXGetFBConfigs; - fb_req->screen = DefaultScreen(dpy); - break; - - case EPHYR_VENDOR_PRIV_GET_FB_CONFIG_SGIX: - GetReqExtra(GLXVendorPrivateWithReply, - sz_xGLXGetFBConfigsSGIXReq - - sz_xGLXVendorPrivateWithReplyReq, vpreq); - sgi_req = (xGLXGetFBConfigsSGIXReq *) vpreq; - sgi_req->reqType = major_opcode; - sgi_req->glxCode = X_GLXVendorPrivateWithReply; - sgi_req->vendorCode = X_GLXvop_GetFBConfigsSGIX; - sgi_req->screen = DefaultScreen(dpy); - break; - - case EPHYR_GET_VISUAL_CONFIGS: - GetReq(GLXGetVisualConfigs, req); - req->reqType = major_opcode; - req->glxCode = X_GLXGetVisualConfigs; - req->screen = DefaultScreen(dpy); - break; - } - - if (!_XReply(dpy, (xReply *) &reply, 0, False)) { - EPHYR_LOG_ERROR("unknown error\n"); - UnlockDisplay(dpy); - goto out; - } - if (!reply.numVisuals) { + if (!reply->num_visuals) { EPHYR_LOG_ERROR("screen does not support GL rendering\n"); - UnlockDisplay(dpy); goto out; } - num_visuals = reply.numVisuals; + num_visuals = reply->num_visuals; - /* FIXME: Is the __GLX_MIN_CONFIG_PROPS test correct for - * FIXME: FBconfigs? - */ - /* Check number of properties */ - num_props = reply.numProps; - if ((num_props < __GLX_MIN_CONFIG_PROPS) || - (num_props > __GLX_MAX_CONFIG_PROPS)) { - /* Huh? Not in protocol defined limits. Punt */ - EPHYR_LOG_ERROR("got a bad reply to request\n"); - UnlockDisplay(dpy); - goto out; - } + num_props = reply->num_properties; if (a_type != EPHYR_GET_VISUAL_CONFIGS) { num_props *= 2; } - props_per_visual_size = num_props * __GLX_SIZE_INT32; - props_buf_size = props_per_visual_size * reply.numVisuals; + props_per_visual_size = num_props * sizeof(uint32_t); + props_buf_size = props_per_visual_size * reply->num_visuals; props_buf = malloc(props_buf_size); - for (j = 0; j < reply.numVisuals; j++) { - if (_XRead(dpy, - &((char *) props_buf)[j * props_per_visual_size], - props_per_visual_size) != Success) { - EPHYR_LOG_ERROR("read failed\n"); - } - } - UnlockDisplay(dpy); + if (!props_buf) + goto out; + memcpy(props_buf, xcb_glx_get_visual_configs_property_list(reply), + props_buf_size); *a_num_visuals = num_visuals; - *a_num_props = reply.numProps; + *a_num_props = reply->num_properties; *a_props_buf_size = props_buf_size; *a_props_buf = props_buf; is_ok = TRUE; - out: - if (server_glx_version) { - XFree(server_glx_version); - server_glx_version = NULL; - } - if (server_glx_extensions) { - XFree(server_glx_extensions); - server_glx_extensions = NULL; - } - SyncHandle(); +out: return is_ok; } @@ -369,14 +195,27 @@ ephyrHostGLXGetVisualConfigs(int32_t a_screen, int32_t * a_props_buf_size, int32_t ** a_props_buf) { Bool is_ok = FALSE; + xcb_glx_get_visual_configs_cookie_t cookie; + xcb_glx_get_visual_configs_reply_t *reply; + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); EPHYR_LOG("enter\n"); - is_ok = ephyrHostGLXGetVisualConfigsInternal(EPHYR_GET_VISUAL_CONFIGS, - a_screen, - a_num_visuals, - a_num_props, - a_props_buf_size, a_props_buf); + cookie = xcb_glx_get_visual_configs(conn, screen); + reply = xcb_glx_get_visual_configs_reply(conn, cookie, NULL); + if (!reply) + goto out; + is_ok = ephyrHostGLXGetVisualConfigsInternal + (EPHYR_GET_VISUAL_CONFIGS, + reply, + a_screen, + a_num_visuals, + a_num_props, + a_props_buf_size, + a_props_buf); +out: + free(reply); EPHYR_LOG("leave:%d\n", is_ok); return is_ok; } @@ -388,12 +227,32 @@ ephyrHostGLXVendorPrivGetFBConfigsSGIX(int a_screen, int32_t * a_props_buf_size, int32_t ** a_props_buf) { - Bool is_ok = FALSE; + Bool is_ok=FALSE; + xcb_connection_t *conn = hostx_get_xcbconn(); + int screen = hostx_get_screen(); + xcb_glx_vendor_private_with_reply_cookie_t cookie; + union { + xcb_glx_vendor_private_with_reply_reply_t *vprep; + xcb_glx_get_visual_configs_reply_t *rep; + } reply; EPHYR_LOG("enter\n"); + cookie = xcb_glx_vendor_private_with_reply(conn, + X_GLXvop_GetFBConfigsSGIX, + 0, 4, (uint8_t *)&screen); + reply.vprep = xcb_glx_vendor_private_with_reply_reply(conn, cookie, NULL); + if (!reply.vprep) + goto out; is_ok = ephyrHostGLXGetVisualConfigsInternal (EPHYR_VENDOR_PRIV_GET_FB_CONFIG_SGIX, - a_screen, a_num_visuals, a_num_props, a_props_buf_size, a_props_buf); + reply.rep, + a_screen, + a_num_visuals, + a_num_props, + a_props_buf_size, + a_props_buf); +out: + free(reply.vprep); EPHYR_LOG("leave\n"); return is_ok; } @@ -402,39 +261,15 @@ Bool ephyrHostGLXSendClientInfo(int32_t a_major, int32_t a_minor, const char *a_extension_list) { - Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - xGLXClientInfoReq *req; + xcb_connection_t *conn = hostx_get_xcbconn(); int size; - int32_t major_opcode = 0; - EPHYR_RETURN_VAL_IF_FAIL(dpy && a_extension_list, FALSE); + EPHYR_RETURN_VAL_IF_FAIL(conn && a_extension_list, FALSE); - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); - goto out; - } + size = strlen (a_extension_list) + 1; + xcb_glx_client_info(conn, a_major, a_minor, size, a_extension_list); - LockDisplay(dpy); - - GetReq(GLXClientInfo, req); - req->reqType = major_opcode; - req->glxCode = X_GLXClientInfo; - req->major = a_major; - req->minor = a_minor; - - size = strlen(a_extension_list) + 1; - req->length += bytes_to_int32(size); - req->numbytes = size; - Data(dpy, a_extension_list, size); - - UnlockDisplay(dpy); - SyncHandle(); - - is_ok = TRUE; - - out: - return is_ok; + return TRUE; } Bool @@ -446,9 +281,9 @@ ephyrHostGLXCreateContext(int a_screen, Bool a_direct, int code) { + xcb_connection_t *conn = hostx_get_xcbconn(); Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - int major_opcode = 0, remote_context_id = 0; + int remote_context_id = 0; EPHYR_LOG("enter. screen:%d, generic_id:%d, contextid:%d, rendertype:%d, " "direct:%d\n", a_screen, a_generic_id, a_context_id, @@ -460,39 +295,24 @@ ephyrHostGLXCreateContext(int a_screen, goto out; } - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); - goto out; - } - - LockDisplay(dpy); - switch (code) { case X_GLXCreateContext: { - /* Send the glXCreateContext request */ - xGLXCreateContextReq *req; - GetReq(GLXCreateContext, req); - req->reqType = major_opcode; - req->glxCode = X_GLXCreateContext; - req->context = remote_context_id; - req->visual = a_generic_id; - req->screen = DefaultScreen(dpy); - req->shareList = a_share_list_ctxt_id; - req->isDirect = a_direct; - } + xcb_glx_create_context(conn, + remote_context_id, + a_generic_id, + hostx_get_screen(), + a_share_list_ctxt_id, + a_direct); + } case X_GLXCreateNewContext: { - /* Send the glXCreateNewContext request */ - xGLXCreateNewContextReq *req; - GetReq(GLXCreateNewContext, req); - req->reqType = major_opcode; - req->glxCode = X_GLXCreateNewContext; - req->context = remote_context_id; - req->fbconfig = a_generic_id; - req->screen = DefaultScreen(dpy); - req->renderType = a_render_type; - req->shareList = a_share_list_ctxt_id; - req->isDirect = a_direct; + xcb_glx_create_new_context(conn, + remote_context_id, + a_generic_id, + hostx_get_screen(), + a_render_type, + a_share_list_ctxt_id, + a_direct); } default: @@ -500,9 +320,6 @@ ephyrHostGLXCreateContext(int a_screen, EPHYR_LOG("Internal error! Invalid CreateContext code!\n"); } - UnlockDisplay(dpy); - SyncHandle(); - is_ok = TRUE; out: @@ -513,30 +330,19 @@ ephyrHostGLXCreateContext(int a_screen, Bool ephyrHostDestroyContext(int a_ctxt_id) { + xcb_connection_t *conn = hostx_get_xcbconn(); Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - int major_opcode = 0, remote_ctxt_id = 0; - xGLXDestroyContextReq *req = NULL; + int remote_ctxt_id = 0; EPHYR_LOG("enter:%d\n", a_ctxt_id); - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); - goto out; - } if (!hostx_get_resource_id_peer(a_ctxt_id, &remote_ctxt_id)) { EPHYR_LOG_ERROR("failed to get remote glx ctxt id\n"); goto out; } EPHYR_LOG("host context id:%d\n", remote_ctxt_id); - LockDisplay(dpy); - GetReq(GLXDestroyContext, req); - req->reqType = major_opcode; - req->glxCode = X_GLXDestroyContext; - req->context = remote_ctxt_id; - UnlockDisplay(dpy); - SyncHandle(); + xcb_glx_destroy_context(conn, remote_ctxt_id); is_ok = TRUE; @@ -549,81 +355,71 @@ Bool ephyrHostGLXMakeCurrent(int a_drawable, int a_readable, int a_glx_ctxt_id, int a_old_ctxt_tag, int *a_ctxt_tag) { + xcb_connection_t *conn = hostx_get_xcbconn(); Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - int32_t major_opcode = 0; int remote_glx_ctxt_id = 0; - xGLXMakeCurrentReply reply; EPHYR_RETURN_VAL_IF_FAIL(a_ctxt_tag, FALSE); EPHYR_LOG("enter. drawable:%d, read:%d, context:%d, oldtag:%d\n", a_drawable, a_readable, a_glx_ctxt_id, a_old_ctxt_tag); - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); - goto out; - } if (!hostx_get_resource_id_peer(a_glx_ctxt_id, &remote_glx_ctxt_id)) { EPHYR_LOG_ERROR("failed to get remote glx ctxt id\n"); goto out; } - LockDisplay(dpy); - /* If both drawables are the same, use the old MakeCurrent request. * Otherwise, if we have GLX 1.3 or higher, use the MakeContextCurrent * request which supports separate read and draw targets. Failing that, * try the SGI MakeCurrentRead extension. Logic cribbed from Mesa. */ if (a_drawable == a_readable) { - xGLXMakeCurrentReq *req; - - GetReq(GLXMakeCurrent, req); - req->reqType = major_opcode; - req->glxCode = X_GLXMakeCurrent; - req->drawable = a_drawable; - req->context = remote_glx_ctxt_id; - req->oldContextTag = a_old_ctxt_tag; + xcb_glx_make_current_cookie_t cookie; + xcb_glx_make_current_reply_t *reply; + cookie = xcb_glx_make_current(conn, + a_drawable, + remote_glx_ctxt_id, + a_old_ctxt_tag); + reply = xcb_glx_make_current_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_ctxt_tag = reply->context_tag; + free(reply); } else if (glx_major > 1 || glx_minor >= 3) { - xGLXMakeContextCurrentReq *req; - - GetReq(GLXMakeContextCurrent, req); - req->reqType = major_opcode; - req->glxCode = X_GLXMakeContextCurrent; - req->drawable = a_drawable; - req->readdrawable = a_readable; - req->context = remote_glx_ctxt_id; - req->oldContextTag = a_old_ctxt_tag; + xcb_glx_make_context_current_cookie_t cookie; + xcb_glx_make_context_current_reply_t *reply; + cookie = xcb_glx_make_context_current(conn, + a_old_ctxt_tag, + a_drawable, + a_readable, + remote_glx_ctxt_id); + reply = xcb_glx_make_context_current_reply(conn, cookie, NULL); + if (!reply) + goto out; + *a_ctxt_tag = reply->context_tag; + free(reply); } else { - xGLXVendorPrivateWithReplyReq *vpreq; - xGLXMakeCurrentReadSGIReq *req; + xcb_glx_vendor_private_with_reply_cookie_t cookie; + xcb_glx_vendor_private_with_reply_reply_t *reply; + uint32_t data[3] = { + a_drawable, a_readable, remote_glx_ctxt_id, + }; - GetReqExtra(GLXVendorPrivateWithReply, - (sz_xGLXMakeCurrentReadSGIReq - - sz_xGLXVendorPrivateWithReplyReq), - vpreq); - req = (xGLXMakeCurrentReadSGIReq *) vpreq; - req->reqType = major_opcode; - req->glxCode = X_GLXVendorPrivateWithReply; - req->vendorCode = X_GLXvop_MakeCurrentReadSGI; - req->drawable = a_drawable; - req->readable = a_readable; - req->context = remote_glx_ctxt_id; - req->oldContextTag = a_old_ctxt_tag; + EPHYR_LOG("enter\n"); + cookie = xcb_glx_vendor_private_with_reply(conn, + X_GLXvop_MakeCurrentReadSGI, + a_old_ctxt_tag, + sizeof(data), + (uint8_t *)data); + reply = xcb_glx_vendor_private_with_reply_reply(conn, cookie, NULL); + + *a_ctxt_tag = reply->retval; + + free(reply); } - memset(&reply, 0, sizeof(reply)); - if (!_XReply(dpy, (xReply *) &reply, 0, False)) { - EPHYR_LOG_ERROR("failed to get reply from host\n"); - UnlockDisplay(dpy); - SyncHandle(); - goto out; - } - UnlockDisplay(dpy); - SyncHandle(); - *a_ctxt_tag = reply.contextTag; EPHYR_LOG("context tag:%d\n", *a_ctxt_tag); is_ok = TRUE; @@ -632,79 +428,32 @@ ephyrHostGLXMakeCurrent(int a_drawable, int a_readable, return is_ok; } -#define X_GLXSingle 0 - -#define __EPHYR_GLX_SINGLE_PUT_CHAR(offset,a) \ - *((INT8 *) (pc + offset)) = a - -#define EPHYR_GLX_SINGLE_PUT_SHORT(offset,a) \ - *((INT16 *) (pc + offset)) = a - -#define EPHYR_GLX_SINGLE_PUT_LONG(offset,a) \ - *((INT32 *) (pc + offset)) = a - -#define EPHYR_GLX_SINGLE_PUT_FLOAT(offset,a) \ - *((FLOAT32 *) (pc + offset)) = a - -#define EPHYR_GLX_SINGLE_READ_XREPLY() \ - (void) _XReply(dpy, (xReply*) &reply, 0, False) - -#define EPHYR_GLX_SINGLE_GET_RETVAL(a,cast) \ - a = (cast) reply.retval - -#define EPHYR_GLX_SINGLE_GET_SIZE(a) \ - a = (GLint) reply.size - -#define EPHYR_GLX_SINGLE_GET_CHAR(p) \ - *p = *(GLbyte *)&reply.pad3; - -#define EPHYR_GLX_SINGLE_GET_SHORT(p) \ - *p = *(GLshort *)&reply.pad3; - -#define EPHYR_GLX_SINGLE_GET_LONG(p) \ - *p = *(GLint *)&reply.pad3; - -#define EPHYR_GLX_SINGLE_GET_FLOAT(p) \ - *p = *(GLfloat *)&reply.pad3; - Bool ephyrHostGetIntegerValue(int a_current_context_tag, int a_int, int *a_val) { + xcb_connection_t *conn = hostx_get_xcbconn(); Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - int major_opcode = 0, size = 0; - xGLXSingleReq *req = NULL; - xGLXSingleReply reply; - unsigned char *pc = NULL; + int size = 0; + xcb_glx_get_integerv_cookie_t cookie; + xcb_glx_get_integerv_reply_t *reply; EPHYR_RETURN_VAL_IF_FAIL(a_val, FALSE); EPHYR_LOG("enter\n"); - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); + cookie = xcb_glx_get_integerv(conn, a_current_context_tag, a_int); + reply = xcb_glx_get_integerv_reply(conn, cookie, NULL); + if (!reply) goto out; - } - LockDisplay(dpy); - GetReqExtra(GLXSingle, 4, req); - req->reqType = major_opcode; - req->glxCode = X_GLsop_GetIntegerv; - req->contextTag = a_current_context_tag; - pc = ((unsigned char *) (req) + sz_xGLXSingleReq); - EPHYR_GLX_SINGLE_PUT_LONG(0, a_int); - EPHYR_GLX_SINGLE_READ_XREPLY(); - EPHYR_GLX_SINGLE_GET_SIZE(size); + size = reply->n; if (!size) { - UnlockDisplay(dpy); - SyncHandle(); EPHYR_LOG_ERROR("X_GLsop_GetIngerv failed\n"); goto out; } - EPHYR_GLX_SINGLE_GET_LONG(a_val); - UnlockDisplay(dpy); - SyncHandle(); + *a_val = reply->datum; is_ok = TRUE; - out: +out: + free(reply); EPHYR_LOG("leave\n"); return is_ok; } @@ -713,40 +462,29 @@ Bool ephyrHostIsContextDirect(int a_ctxt_id, int *a_is_direct) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - xGLXIsDirectReq *req = NULL; - xGLXIsDirectReply reply; - int major_opcode = 0, remote_glx_ctxt_id = 0; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_glx_is_direct_cookie_t cookie; + xcb_glx_is_direct_reply_t *reply = NULL; + int remote_glx_ctxt_id = 0; EPHYR_LOG("enter\n"); - if (!ephyrHostGLXGetMajorOpcode(&major_opcode)) { - EPHYR_LOG_ERROR("failed to get major opcode\n"); + if (!hostx_get_resource_id_peer (a_ctxt_id, &remote_glx_ctxt_id)) { + EPHYR_LOG_ERROR ("failed to get remote glx ctxt id\n"); goto out; } - if (!hostx_get_resource_id_peer(a_ctxt_id, &remote_glx_ctxt_id)) { - EPHYR_LOG_ERROR("failed to get remote glx ctxt id\n"); - goto out; - } - memset(&reply, 0, sizeof(reply)); /* Send the glXIsDirect request */ - LockDisplay(dpy); - GetReq(GLXIsDirect, req); - req->reqType = major_opcode; - req->glxCode = X_GLXIsDirect; - req->context = remote_glx_ctxt_id; - if (!_XReply(dpy, (xReply *) &reply, 0, False)) { + cookie = xcb_glx_is_direct(conn, remote_glx_ctxt_id); + reply = xcb_glx_is_direct_reply(conn, cookie, NULL); + if (!reply) { EPHYR_LOG_ERROR("fail in reading reply from host\n"); - UnlockDisplay(dpy); - SyncHandle(); goto out; } - UnlockDisplay(dpy); - SyncHandle(); - *a_is_direct = reply.isDirect; + *a_is_direct = reply->is_direct; is_ok = TRUE; - out: +out: + free(reply); EPHYR_LOG("leave\n"); return is_ok; } diff --git a/xserver/hw/kdrive/ephyr/ephyrhostglx.h b/xserver/hw/kdrive/ephyr/ephyrhostglx.h index 7ff515dc2..309d0f2f7 100644 --- a/xserver/hw/kdrive/ephyr/ephyrhostglx.h +++ b/xserver/hw/kdrive/ephyr/ephyrhostglx.h @@ -35,10 +35,12 @@ enum EphyrHostGLXGetStringOps { }; Bool ephyrHostGLXQueryVersion(int *a_maj, int *a_min); -Bool ephyrHostGLXGetStringFromServer(int a_screen_number, - int a_string_name, - enum EphyrHostGLXGetStringOps a_op, - char **a_string); +Bool ephyrHostGLXGetString(int a_context_tag, + int a_string_name, + char **a_string); +Bool ephyrHostGLXQueryServerString(int a_screen_number, + int a_string_name, + char **a_string); Bool ephyrHostGLXGetVisualConfigs(int a_screen, int32_t * a_num_visuals, int32_t * a_num_props, @@ -51,7 +53,6 @@ ephyrHostGLXVendorPrivGetFBConfigsSGIX(int a_screen, int32_t * a_num_props, int32_t * a_props_buf_size, int32_t ** a_props_buf); -Bool ephyrHostGLXGetMajorOpcode(int32_t * a_opcode); Bool ephyrHostGLXSendClientInfo(int32_t a_major, int32_t a_minor, const char *a_extension_list); Bool ephyrHostGLXCreateContext(int a_screen, diff --git a/xserver/hw/kdrive/ephyr/ephyrhostproxy.c b/xserver/hw/kdrive/ephyr/ephyrhostproxy.c deleted file mode 100644 index a4f25c159..000000000 --- a/xserver/hw/kdrive/ephyr/ephyrhostproxy.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Xephyr - A kdrive X server thats runs in a host X window. - * Authored by Matthew Allum - * - * Copyright © 2007 OpenedHand Ltd - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of OpenedHand Ltd not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. OpenedHand Ltd makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL OpenedHand Ltd 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. - * - * Authors: - * Dodji Seketeli - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#define _HAVE_XALLOC_DECLS -#include "ephyrlog.h" -#include "ephyrhostproxy.h" -#include "hostx.h" - -/* byte swap a short */ -#define swaps(x, n) { \ - n = ((char *) (x))[0];\ - ((char *) (x))[0] = ((char *) (x))[1];\ - ((char *) (x))[1] = n; } - -#define GetXReq(req) \ - WORD64ALIGN ;\ - if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\ - _XFlush(dpy);\ - req = (xReq *)(dpy->last_req = dpy->bufptr);\ - dpy->bufptr += SIZEOF(xReq);\ - dpy->request++ - -Bool -ephyrHostProxyDoForward(pointer a_request_buffer, - struct XReply *a_reply, Bool a_do_swap) -{ - Bool is_ok = FALSE; - int n = 0; - Display *dpy = hostx_get_display(); - xReq *in_req = (xReq *) a_request_buffer; - xReq *forward_req = NULL; - struct XReply reply; - - EPHYR_RETURN_VAL_IF_FAIL(in_req && dpy, FALSE); - - EPHYR_LOG("enter\n"); - - if (a_do_swap) { - swaps(&in_req->length); - } - EPHYR_LOG("Req {type:%d, data:%d, length:%d}\n", - in_req->reqType, in_req->data, in_req->length); - GetXReq(forward_req); - memmove(forward_req, in_req, 4); - - if (!_XReply(dpy, (xReply *) &reply, 0, FALSE)) { - EPHYR_LOG_ERROR("failed to get reply\n"); - goto out; - } - EPHYR_LOG("XReply{type:%d, foo:%d, seqnum:%d, length:%d}\n", - reply.type, reply.foo, reply.sequence_number, reply.length); - - if (a_reply) { - memmove(a_reply, &reply, sizeof(reply)); - } - is_ok = TRUE; - - out: - EPHYR_LOG("leave\n"); - return is_ok; -} diff --git a/xserver/hw/kdrive/ephyr/ephyrhostproxy.h b/xserver/hw/kdrive/ephyr/ephyrhostproxy.h deleted file mode 100644 index 13721606a..000000000 --- a/xserver/hw/kdrive/ephyr/ephyrhostproxy.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Xephyr - A kdrive X server thats runs in a host X window. - * Authored by Matthew Allum - * - * Copyright © 2007 OpenedHand Ltd - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of OpenedHand Ltd not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. OpenedHand Ltd makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL OpenedHand Ltd 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. - * - * Authors: - * Dodji Seketeli - */ - -#ifndef __EPHYRHOSTPROXY_H__ -#define __EPHYRHOSTPROXY_H__ - -struct XReply { - int8_t type; /*X_Reply */ - int8_t foo; - int16_t sequence_number; - int32_t length; - /*following is some data up to 32 bytes lenght */ - int32_t pad0; - int32_t pad1; - int32_t pad2; - int32_t pad3; - int32_t pad4; - int32_t pad5; -}; - -Bool - -ephyrHostProxyDoForward(pointer a_request_buffer, - struct XReply *a_reply, Bool a_do_swap); - -#endif /*__EPHYRHOSTPROXY_H__*/ diff --git a/xserver/hw/kdrive/ephyr/ephyrhostvideo.c b/xserver/hw/kdrive/ephyr/ephyrhostvideo.c deleted file mode 100644 index 362aa055e..000000000 --- a/xserver/hw/kdrive/ephyr/ephyrhostvideo.c +++ /dev/null @@ -1,975 +0,0 @@ -/* - * Xephyr - A kdrive X server thats runs in a host X window. - * Authored by Matthew Allum - * - * Copyright © 2007 OpenedHand Ltd - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of OpenedHand Ltd not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. OpenedHand Ltd makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL OpenedHand Ltd 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. - * - * Authors: - * Dodji Seketeli - */ -#ifdef HAVE_CONFIG_H -#include -#endif -/* - * including some server headers (like kdrive-config.h) - * might define the macro _XSERVER64 - * on 64 bits machines. That macro must _NOT_ be defined for Xlib - * client code, otherwise bad things happen. - * So let's undef that macro if necessary. - */ -#ifdef _XSERVER64 -#undef _XSERVER64 -#endif -#include -#include -#include -#include -#include -#include -#define _HAVE_XALLOC_DECLS - -#include "hostx.h" -#include "ephyrhostvideo.h" -#include "ephyrlog.h" - -#ifndef TRUE -#define TRUE 1 -#endif /*TRUE*/ -#ifndef FALSE -#define FALSE 0 -#endif /*FALSE*/ -static XExtensionInfo _xv_info_data; -static XExtensionInfo *xv_info = &_xv_info_data; -static char *xv_extension_name = XvName; -static char *xv_error_string(Display * dpy, int code, XExtCodes * codes, - char *buf, int n); -static int xv_close_display(Display * dpy, XExtCodes * codes); -static Bool xv_wire_to_event(Display * dpy, XEvent * host, xEvent *wire); - -static XExtensionHooks xv_extension_hooks = { - NULL, /* create_gc */ - NULL, /* copy_gc */ - NULL, /* flush_gc */ - NULL, /* free_gc */ - NULL, /* create_font */ - NULL, /* free_font */ - xv_close_display, /* close_display */ - xv_wire_to_event, /* wire_to_event */ - NULL, /* event_to_wire */ - NULL, /* error */ - xv_error_string /* error_string */ -}; - -static char *xv_error_list[] = { - "BadPort", /* XvBadPort */ - "BadEncoding", /* XvBadEncoding */ - "BadControl" /* XvBadControl */ -}; - -#define XvCheckExtension(dpy, i, val) \ - XextCheckExtension(dpy, i, xv_extension_name, val) -#define XvGetReq(name, req) \ - WORD64ALIGN\ - if ((dpy->bufptr + SIZEOF(xv##name##Req)) > dpy->bufmax)\ - _XFlush(dpy);\ - req = (xv##name##Req *)(dpy->last_req = dpy->bufptr);\ - req->reqType = info->codes->major_opcode;\ - req->xvReqType = xv_##name; \ - req->length = (SIZEOF(xv##name##Req))>>2;\ - dpy->bufptr += SIZEOF(xv##name##Req);\ - dpy->request++ - -static -XEXT_GENERATE_CLOSE_DISPLAY(xv_close_display, xv_info) - -static -XEXT_GENERATE_FIND_DISPLAY(xv_find_display, xv_info, - xv_extension_name, - &xv_extension_hooks, XvNumEvents, NULL) - -static -XEXT_GENERATE_ERROR_STRING(xv_error_string, xv_extension_name, - XvNumErrors, xv_error_list) - -struct _EphyrHostXVAdaptorArray { - XvAdaptorInfo *adaptors; - unsigned int nb_adaptors; -}; - -/*heavily copied from libx11*/ -#define BUFSIZE 2048 -static void -ephyrHostXVLogXErrorEvent(Display * a_display, - XErrorEvent * a_err_event, FILE * a_fp) -{ - char buffer[BUFSIZ]; - char mesg[BUFSIZ]; - char number[32]; - const char *mtype = "XlibMessage"; - register _XExtension *ext = (_XExtension *) NULL; - _XExtension *bext = (_XExtension *) NULL; - Display *dpy = a_display; - - XGetErrorText(dpy, a_err_event->error_code, buffer, BUFSIZ); - XGetErrorDatabaseText(dpy, mtype, "XError", "X Error", mesg, BUFSIZ); - (void) fprintf(a_fp, "%s: %s\n ", mesg, buffer); - XGetErrorDatabaseText(dpy, mtype, "MajorCode", "Request Major code %d", - mesg, BUFSIZ); - (void) fprintf(a_fp, mesg, a_err_event->request_code); - if (a_err_event->request_code < 128) { - snprintf(number, sizeof(number), "%d", a_err_event->request_code); - XGetErrorDatabaseText(dpy, "XRequest", number, "", buffer, BUFSIZ); - } - else { - for (ext = dpy->ext_procs; - ext && (ext->codes.major_opcode != a_err_event->request_code); - ext = ext->next); - if (ext) - strcpy(buffer, ext->name); - else - buffer[0] = '\0'; - } - (void) fprintf(a_fp, " (%s)\n", buffer); - if (a_err_event->request_code >= 128) { - XGetErrorDatabaseText(dpy, mtype, "MinorCode", "Request Minor code %d", - mesg, BUFSIZ); - fputs(" ", a_fp); - (void) fprintf(a_fp, mesg, a_err_event->minor_code); - if (ext) { - snprintf(mesg, sizeof(mesg), "%s.%d", - ext->name, a_err_event->minor_code); - XGetErrorDatabaseText(dpy, "XRequest", mesg, "", buffer, BUFSIZ); - (void) fprintf(a_fp, " (%s)", buffer); - } - fputs("\n", a_fp); - } - if (a_err_event->error_code >= 128) { - /* kludge, try to find the extension that caused it */ - buffer[0] = '\0'; - for (ext = dpy->ext_procs; ext; ext = ext->next) { - if (ext->error_string) - (*ext->error_string) (dpy, a_err_event->error_code, &ext->codes, - buffer, BUFSIZ); - if (buffer[0]) { - bext = ext; - break; - } - if (ext->codes.first_error && - ext->codes.first_error < (int) a_err_event->error_code && - (!bext || ext->codes.first_error > bext->codes.first_error)) - bext = ext; - } - if (bext) - snprintf(buffer, sizeof(buffer), "%s.%d", bext->name, - a_err_event->error_code - bext->codes.first_error); - else - strcpy(buffer, "Value"); - XGetErrorDatabaseText(dpy, mtype, buffer, "", mesg, BUFSIZ); - if (mesg[0]) { - fputs(" ", a_fp); - (void) fprintf(a_fp, mesg, a_err_event->resourceid); - fputs("\n", a_fp); - } - /* let extensions try to print the values */ - for (ext = dpy->ext_procs; ext; ext = ext->next) { - if (ext->error_values) - (*ext->error_values) (dpy, a_err_event, a_fp); - } - } - else if ((a_err_event->error_code == BadWindow) || - (a_err_event->error_code == BadPixmap) || - (a_err_event->error_code == BadCursor) || - (a_err_event->error_code == BadFont) || - (a_err_event->error_code == BadDrawable) || - (a_err_event->error_code == BadColor) || - (a_err_event->error_code == BadGC) || - (a_err_event->error_code == BadIDChoice) || - (a_err_event->error_code == BadValue) || - (a_err_event->error_code == BadAtom)) { - if (a_err_event->error_code == BadValue) - XGetErrorDatabaseText(dpy, mtype, "Value", "Value 0x%x", - mesg, BUFSIZ); - else if (a_err_event->error_code == BadAtom) - XGetErrorDatabaseText(dpy, mtype, "AtomID", "AtomID 0x%x", - mesg, BUFSIZ); - else - XGetErrorDatabaseText(dpy, mtype, "ResourceID", "ResourceID 0x%x", - mesg, BUFSIZ); - fputs(" ", a_fp); - (void) fprintf(a_fp, mesg, a_err_event->resourceid); - fputs("\n", a_fp); - } - XGetErrorDatabaseText(dpy, mtype, "ErrorSerial", "Error Serial #%d", - mesg, BUFSIZ); - fputs(" ", a_fp); - (void) fprintf(a_fp, mesg, a_err_event->serial); - XGetErrorDatabaseText(dpy, mtype, "CurrentSerial", "Current Serial #%d", - mesg, BUFSIZ); - fputs("\n ", a_fp); - (void) fprintf(a_fp, mesg, dpy->request); - fputs("\n", a_fp); -} - -static int -ephyrHostXVErrorHandler(Display * a_display, XErrorEvent * a_error_event) -{ - EPHYR_LOG_ERROR("got an error from the host xserver:\n"); - ephyrHostXVLogXErrorEvent(a_display, a_error_event, stderr); - return Success; -} - -void -ephyrHostXVInit(void) -{ - static Bool s_initialized; - - if (s_initialized) - return; - XSetErrorHandler(ephyrHostXVErrorHandler); - s_initialized = TRUE; -} - -Bool -ephyrHostXVQueryAdaptors(EphyrHostXVAdaptorArray ** a_adaptors) -{ - EphyrHostXVAdaptorArray *result = NULL; - int ret = 0; - Bool is_ok = FALSE; - - EPHYR_RETURN_VAL_IF_FAIL(a_adaptors, FALSE); - - EPHYR_LOG("enter\n"); - - result = calloc(1, sizeof(EphyrHostXVAdaptorArray)); - if (!result) - goto out; - - ret = XvQueryAdaptors(hostx_get_display(), - DefaultRootWindow(hostx_get_display()), - &result->nb_adaptors, &result->adaptors); - if (ret != Success) { - EPHYR_LOG_ERROR("failed to query host adaptors: %d\n", ret); - goto out; - } - *a_adaptors = result; - is_ok = TRUE; - - out: - EPHYR_LOG("leave\n"); - return is_ok; -} - -void -ephyrHostXVAdaptorArrayDelete(EphyrHostXVAdaptorArray * a_adaptors) -{ - if (!a_adaptors) - return; - if (a_adaptors->adaptors) { - XvFreeAdaptorInfo(a_adaptors->adaptors); - a_adaptors->adaptors = NULL; - a_adaptors->nb_adaptors = 0; - } - XFree(a_adaptors); -} - -int -ephyrHostXVAdaptorArrayGetSize(const EphyrHostXVAdaptorArray * a_this) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this, -1); - return a_this->nb_adaptors; -} - -EphyrHostXVAdaptor * -ephyrHostXVAdaptorArrayAt(const EphyrHostXVAdaptorArray * a_this, int a_index) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this, NULL); - - if (a_index >= a_this->nb_adaptors) - return NULL; - return (EphyrHostXVAdaptor *) &a_this->adaptors[a_index]; -} - -char -ephyrHostXVAdaptorGetType(const EphyrHostXVAdaptor * a_this) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this, -1); - return ((XvAdaptorInfo *) a_this)->type; -} - -const char * -ephyrHostXVAdaptorGetName(const EphyrHostXVAdaptor * a_this) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this, NULL); - - return ((XvAdaptorInfo *) a_this)->name; -} - -EphyrHostVideoFormat * -ephyrHostXVAdaptorGetVideoFormats(const EphyrHostXVAdaptor * a_this, - int *a_nb_formats) -{ - EphyrHostVideoFormat *formats = NULL; - int nb_formats = 0, i = 0; - XVisualInfo *visual_info, visual_info_template; - int nb_visual_info; - - EPHYR_RETURN_VAL_IF_FAIL(a_this, NULL); - - nb_formats = ((XvAdaptorInfo *) a_this)->num_formats; - formats = calloc(nb_formats, sizeof(EphyrHostVideoFormat)); - for (i = 0; i < nb_formats; i++) { - memset(&visual_info_template, 0, sizeof(visual_info_template)); - visual_info_template.visualid = - ((XvAdaptorInfo *) a_this)->formats[i].visual_id; - visual_info = XGetVisualInfo(hostx_get_display(), - VisualIDMask, - &visual_info_template, &nb_visual_info); - formats[i].depth = ((XvAdaptorInfo *) a_this)->formats[i].depth; - formats[i].visual_class = visual_info->class; - XFree(visual_info); - } - if (a_nb_formats) - *a_nb_formats = nb_formats; - return formats; -} - -int -ephyrHostXVAdaptorGetNbPorts(const EphyrHostXVAdaptor * a_this) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this, -1); - - return ((XvAdaptorInfo *) a_this)->num_ports; -} - -int -ephyrHostXVAdaptorGetFirstPortID(const EphyrHostXVAdaptor * a_this) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this, -1); - - return ((XvAdaptorInfo *) a_this)->base_id; -} - -Bool -ephyrHostXVAdaptorHasPutVideo(const EphyrHostXVAdaptor * a_this, Bool *a_result) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this && a_result, FALSE); - - if ((((XvAdaptorInfo *) a_this)->type & (XvVideoMask | XvInputMask)) == - (XvVideoMask | XvInputMask)) - *a_result = TRUE; - else - *a_result = FALSE; - return TRUE; -} - -Bool -ephyrHostXVAdaptorHasGetVideo(const EphyrHostXVAdaptor * a_this, Bool *a_result) -{ - if ((((XvAdaptorInfo *) a_this)->type & (XvVideoMask | XvOutputMask)) == - (XvVideoMask | XvOutputMask)) - *a_result = TRUE; - else - *a_result = FALSE; - return TRUE; -} - -Bool -ephyrHostXVAdaptorHasPutStill(const EphyrHostXVAdaptor * a_this, Bool *a_result) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this && a_result, FALSE); - - if ((((XvAdaptorInfo *) a_this)->type & (XvStillMask | XvInputMask)) == - (XvStillMask | XvInputMask)) - *a_result = TRUE; - else - *a_result = FALSE; - return TRUE; -} - -Bool -ephyrHostXVAdaptorHasGetStill(const EphyrHostXVAdaptor * a_this, Bool *a_result) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this && a_result, FALSE); - - if ((((XvAdaptorInfo *) a_this)->type & (XvStillMask | XvOutputMask)) == - (XvStillMask | XvOutputMask)) - *a_result = TRUE; - else - *a_result = FALSE; - return TRUE; -} - -Bool -ephyrHostXVAdaptorHasPutImage(const EphyrHostXVAdaptor * a_this, Bool *a_result) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_this && a_result, FALSE); - - if ((((XvAdaptorInfo *) a_this)->type & (XvImageMask | XvInputMask)) == - (XvImageMask | XvInputMask)) - *a_result = TRUE; - else - *a_result = FALSE; - return TRUE; -} - -Bool -ephyrHostXVQueryEncodings(int a_port_id, - EphyrHostEncoding ** a_encodings, - unsigned int *a_num_encodings) -{ - EphyrHostEncoding *encodings = NULL; - XvEncodingInfo *encoding_info = NULL; - unsigned int num_encodings = 0, i; - int ret = 0; - - EPHYR_RETURN_VAL_IF_FAIL(a_encodings && a_num_encodings, FALSE); - - ret = XvQueryEncodings(hostx_get_display(), - a_port_id, &num_encodings, &encoding_info); - if (num_encodings && encoding_info) { - encodings = calloc(num_encodings, sizeof(EphyrHostEncoding)); - for (i = 0; i < num_encodings; i++) { - encodings[i].id = encoding_info[i].encoding_id; - encodings[i].name = strdup(encoding_info[i].name); - encodings[i].width = encoding_info[i].width; - encodings[i].height = encoding_info[i].height; - encodings[i].rate.numerator = encoding_info[i].rate.numerator; - encodings[i].rate.denominator = encoding_info[i].rate.denominator; - } - } - if (encoding_info) { - XvFreeEncodingInfo(encoding_info); - encoding_info = NULL; - } - *a_encodings = encodings; - *a_num_encodings = num_encodings; - - if (ret != Success) - return FALSE; - return TRUE; -} - -void -ephyrHostEncodingsDelete(EphyrHostEncoding * a_encodings, int a_num_encodings) -{ - int i = 0; - - if (!a_encodings) - return; - for (i = 0; i < a_num_encodings; i++) { - free(a_encodings[i].name); - a_encodings[i].name = NULL; - } - free(a_encodings); -} - -void -ephyrHostAttributesDelete(EphyrHostAttribute * a_attributes) -{ - if (!a_attributes) - return; - XFree(a_attributes); -} - -Bool -ephyrHostXVQueryPortAttributes(int a_port_id, - EphyrHostAttribute ** a_attributes, - int *a_num_attributes) -{ - EPHYR_RETURN_VAL_IF_FAIL(a_attributes && a_num_attributes, FALSE); - - *a_attributes = - (EphyrHostAttribute *) XvQueryPortAttributes(hostx_get_display(), - a_port_id, - a_num_attributes); - - return TRUE; -} - -Bool -ephyrHostXVQueryImageFormats(int a_port_id, - EphyrHostImageFormat ** a_formats, - int *a_num_format) -{ - XvImageFormatValues *result = NULL; - - EPHYR_RETURN_VAL_IF_FAIL(a_formats && a_num_format, FALSE); - - result = XvListImageFormats(hostx_get_display(), a_port_id, a_num_format); - *a_formats = (EphyrHostImageFormat *) result; - return TRUE; - -} - -Bool -ephyrHostXVSetPortAttribute(int a_port_id, int a_atom, int a_attr_value) -{ - int res = Success; - - EPHYR_LOG("atom,name,value: (%d,%s,%d)\n", - a_atom, XGetAtomName(hostx_get_display(), a_atom), a_attr_value); - - res = XvSetPortAttribute(hostx_get_display(), - a_port_id, a_atom, a_attr_value); - if (res != Success) { - EPHYR_LOG_ERROR("XvSetPortAttribute() failed: %d\n", res); - return FALSE; - } - XFlush(hostx_get_display()); - EPHYR_LOG("leave\n"); - - return TRUE; -} - -Bool -ephyrHostXVGetPortAttribute(int a_port_id, int a_atom, int *a_attr_value) -{ - int res = Success; - Bool ret = FALSE; - - EPHYR_RETURN_VAL_IF_FAIL(a_attr_value, FALSE); - - EPHYR_LOG("enter, a_port_id: %d, a_atomid: %d, attr_name: %s\n", - a_port_id, a_atom, XGetAtomName(hostx_get_display(), a_atom)); - - res = XvGetPortAttribute(hostx_get_display(), - a_port_id, a_atom, a_attr_value); - if (res != Success) { - EPHYR_LOG_ERROR("XvGetPortAttribute() failed: %d \n", res); - goto out; - } - EPHYR_LOG("atom,value: (%d, %d)\n", a_atom, *a_attr_value); - - ret = TRUE; - - out: - EPHYR_LOG("leave\n"); - return ret; -} - -Bool -ephyrHostXVQueryBestSize(int a_port_id, - Bool a_motion, - unsigned int a_frame_w, - unsigned int a_frame_h, - unsigned int a_drw_w, - unsigned int a_drw_h, - unsigned int *a_actual_w, unsigned int *a_actual_h) -{ - int res = 0; - Bool is_ok = FALSE; - - EPHYR_RETURN_VAL_IF_FAIL(a_actual_w && a_actual_h, FALSE); - - EPHYR_LOG("enter: frame (%dx%d), drw (%dx%d)\n", - a_frame_w, a_frame_h, a_drw_w, a_drw_h); - - res = XvQueryBestSize(hostx_get_display(), - a_port_id, - a_motion, - a_frame_w, a_frame_h, - a_drw_w, a_drw_h, a_actual_w, a_actual_h); - if (res != Success) { - EPHYR_LOG_ERROR("XvQueryBestSize() failed: %d\n", res); - goto out; - } - XSync(hostx_get_display(), FALSE); - - EPHYR_LOG("actual (%dx%d)\n", *a_actual_w, *a_actual_h); - is_ok = TRUE; - - out: - EPHYR_LOG("leave\n"); - return is_ok; -} - -static Bool -xv_wire_to_event(Display * dpy, XEvent * host, xEvent *wire) -{ - XExtDisplayInfo *info = xv_find_display(dpy); - XvEvent *re = (XvEvent *) host; - xvEvent *event = (xvEvent *) wire; - - XvCheckExtension(dpy, info, False); - - switch ((event->u.u.type & 0x7F) - info->codes->first_event) { - case XvVideoNotify: - re->xvvideo.type = event->u.u.type & 0x7f; - re->xvvideo.serial = _XSetLastRequestRead(dpy, (xGenericReply *) event); - re->xvvideo.send_event = ((event->u.u.type & 0x80) != 0); - re->xvvideo.display = dpy; - re->xvvideo.time = event->u.videoNotify.time; - re->xvvideo.reason = event->u.videoNotify.reason; - re->xvvideo.drawable = event->u.videoNotify.drawable; - re->xvvideo.port_id = event->u.videoNotify.port; - break; - case XvPortNotify: - re->xvport.type = event->u.u.type & 0x7f; - re->xvport.serial = _XSetLastRequestRead(dpy, (xGenericReply *) event); - re->xvport.send_event = ((event->u.u.type & 0x80) != 0); - re->xvport.display = dpy; - re->xvport.time = event->u.portNotify.time; - re->xvport.port_id = event->u.portNotify.port; - re->xvport.attribute = event->u.portNotify.attribute; - re->xvport.value = event->u.portNotify.value; - break; - default: - return False; - } - - return True; -} - -Bool -ephyrHostXVQueryImageAttributes(int a_port_id, - int a_image_id /*image fourcc code */ , - unsigned short *a_width, - unsigned short *a_height, - int *a_image_size, - int *a_pitches, int *a_offsets) -{ - Display *dpy = hostx_get_display(); - Bool ret = FALSE; - XExtDisplayInfo *info = xv_find_display(dpy); - xvQueryImageAttributesReq *req = NULL; - xvQueryImageAttributesReply rep; - - EPHYR_RETURN_VAL_IF_FAIL(a_width, FALSE); - EPHYR_RETURN_VAL_IF_FAIL(a_height, FALSE); - EPHYR_RETURN_VAL_IF_FAIL(a_image_size, FALSE); - - XvCheckExtension(dpy, info, FALSE); - - LockDisplay(dpy); - - XvGetReq(QueryImageAttributes, req); - req->id = a_image_id; - req->port = a_port_id; - req->width = *a_width; - req->height = *a_height; - /* - * read the reply - */ - if (!_XReply(dpy, (xReply *) &rep, 0, xFalse)) { - EPHYR_LOG_ERROR("QeryImageAttribute req failed\n"); - goto out; - } - if (a_pitches && a_offsets) { - _XRead(dpy, (char *) a_pitches, rep.num_planes << 2); - _XRead(dpy, (char *) a_offsets, rep.num_planes << 2); - } - else { - _XEatData(dpy, rep.length << 2); - } - *a_width = rep.width; - *a_height = rep.height; - *a_image_size = rep.data_size; - - ret = TRUE; - - out: - UnlockDisplay(dpy); - SyncHandle(); - return ret; -} - -Bool -ephyrHostGetAtom(const char *a_name, Bool a_create_if_not_exists, int *a_atom) -{ - int atom = None; - - EPHYR_RETURN_VAL_IF_FAIL(a_atom, FALSE); - - atom = XInternAtom(hostx_get_display(), a_name, a_create_if_not_exists); - if (atom == None) { - return FALSE; - } - *a_atom = atom; - return TRUE; -} - -char * -ephyrHostGetAtomName(int a_atom) -{ - return XGetAtomName(hostx_get_display(), a_atom); -} - -void -ephyrHostFree(void *a_pointer) -{ - if (a_pointer) - XFree(a_pointer); -} - -Bool -ephyrHostXVPutImage(int a_screen_num, - int a_port_id, - int a_image_id, - int a_drw_x, - int a_drw_y, - int a_drw_w, - int a_drw_h, - int a_src_x, - int a_src_y, - int a_src_w, - int a_src_h, - int a_image_width, - int a_image_height, - unsigned char *a_buf, - EphyrHostBox * a_clip_rects, int a_clip_rect_nums) -{ - Bool is_ok = TRUE; - XvImage *xv_image = NULL; - GC gc = 0; - XGCValues gc_values; - Display *dpy = hostx_get_display(); - XRectangle *rects = NULL; - int res = 0; - - EPHYR_RETURN_VAL_IF_FAIL(a_buf, FALSE); - - EPHYR_LOG("enter, num_clip_rects: %d\n", a_clip_rect_nums); - - memset(&gc_values, 0, sizeof(gc_values)); - gc = XCreateGC(dpy, hostx_get_window(a_screen_num), 0L, &gc_values); - if (!gc) { - EPHYR_LOG_ERROR("failed to create gc \n"); - goto out; - } - xv_image = (XvImage *) XvCreateImage(hostx_get_display(), - a_port_id, a_image_id, - NULL, a_image_width, a_image_height); - if (!xv_image) { - EPHYR_LOG_ERROR("failed to create image\n"); - goto out; - } - xv_image->data = (char *) a_buf; - if (a_clip_rect_nums) { - int i = 0; - - rects = calloc(a_clip_rect_nums, sizeof(XRectangle)); - for (i = 0; i < a_clip_rect_nums; i++) { - rects[i].x = a_clip_rects[i].x1; - rects[i].y = a_clip_rects[i].y1; - rects[i].width = a_clip_rects[i].x2 - a_clip_rects[i].x1; - rects[i].height = a_clip_rects[i].y2 - a_clip_rects[i].y1; - EPHYR_LOG("(x,y,w,h): (%d,%d,%d,%d)\n", - rects[i].x, rects[i].y, rects[i].width, rects[i].height); - } - XSetClipRectangles(dpy, gc, 0, 0, rects, a_clip_rect_nums, YXBanded); - /*this always returns 1 */ - } - res = XvPutImage(dpy, a_port_id, - hostx_get_window(a_screen_num), - gc, xv_image, - a_src_x, a_src_y, a_src_w, a_src_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h); - if (res != Success) { - EPHYR_LOG_ERROR("XvPutImage() failed: %d\n", res); - goto out; - } - is_ok = TRUE; - - out: - if (xv_image) { - XFree(xv_image); - xv_image = NULL; - } - if (gc) { - XFreeGC(dpy, gc); - gc = NULL; - } - free(rects); - rects = NULL; - EPHYR_LOG("leave\n"); - return is_ok; -} - -Bool -ephyrHostXVPutVideo(int a_screen_num, int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h) -{ - Bool is_ok = FALSE; - int res = FALSE; - GC gc = 0; - XGCValues gc_values; - Display *dpy = hostx_get_display(); - - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - - gc = XCreateGC(dpy, hostx_get_window(a_screen_num), 0L, &gc_values); - if (!gc) { - EPHYR_LOG_ERROR("failed to create gc \n"); - goto out; - } - res = XvPutVideo(dpy, a_port_id, hostx_get_window(a_screen_num), gc, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h); - - if (res != Success) { - EPHYR_LOG_ERROR("XvPutVideo() failed: %d\n", res); - goto out; - } - - is_ok = TRUE; - - out: - if (gc) { - XFreeGC(dpy, gc); - gc = NULL; - } - return is_ok; -} - -Bool -ephyrHostXVGetVideo(int a_screen_num, int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h) -{ - Bool is_ok = FALSE; - int res = FALSE; - GC gc = 0; - XGCValues gc_values; - Display *dpy = hostx_get_display(); - - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - - gc = XCreateGC(dpy, hostx_get_window(a_screen_num), 0L, &gc_values); - if (!gc) { - EPHYR_LOG_ERROR("failed to create gc \n"); - goto out; - } - res = XvGetVideo(dpy, a_port_id, hostx_get_window(a_screen_num), gc, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h); - - if (res != Success) { - EPHYR_LOG_ERROR("XvGetVideo() failed: %d\n", res); - goto out; - } - - is_ok = TRUE; - - out: - if (gc) { - XFreeGC(dpy, gc); - gc = NULL; - } - return is_ok; -} - -Bool -ephyrHostXVPutStill(int a_screen_num, int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h) -{ - Bool is_ok = FALSE; - int res = FALSE; - GC gc = 0; - XGCValues gc_values; - Display *dpy = hostx_get_display(); - - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - - gc = XCreateGC(dpy, hostx_get_window(a_screen_num), 0L, &gc_values); - if (!gc) { - EPHYR_LOG_ERROR("failed to create gc \n"); - goto out; - } - res = XvPutStill(dpy, a_port_id, hostx_get_window(a_screen_num), gc, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h); - - if (res != Success) { - EPHYR_LOG_ERROR("XvPutStill() failed: %d\n", res); - goto out; - } - - is_ok = TRUE; - - out: - if (gc) { - XFreeGC(dpy, gc); - gc = NULL; - } - return is_ok; -} - -Bool -ephyrHostXVGetStill(int a_screen_num, int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h) -{ - Bool is_ok = FALSE; - int res = FALSE; - GC gc = 0; - XGCValues gc_values; - Display *dpy = hostx_get_display(); - - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - - gc = XCreateGC(dpy, hostx_get_window(a_screen_num), 0L, &gc_values); - if (!gc) { - EPHYR_LOG_ERROR("failed to create gc \n"); - goto out; - } - res = XvGetStill(dpy, a_port_id, hostx_get_window(a_screen_num), gc, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h); - - if (res != Success) { - EPHYR_LOG_ERROR("XvGetStill() failed: %d\n", res); - goto out; - } - - is_ok = TRUE; - - out: - if (gc) { - XFreeGC(dpy, gc); - gc = NULL; - } - return is_ok; -} - -Bool -ephyrHostXVStopVideo(int a_screen_num, int a_port_id) -{ - int ret = 0; - Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - - EPHYR_LOG("enter\n"); - - ret = XvStopVideo(dpy, a_port_id, hostx_get_window(a_screen_num)); - if (ret != Success) { - EPHYR_LOG_ERROR("XvStopVideo() failed: %d \n", ret); - goto out; - } - is_ok = TRUE; - - out: - EPHYR_LOG("leave\n"); - return is_ok; -} diff --git a/xserver/hw/kdrive/ephyr/ephyrhostvideo.h b/xserver/hw/kdrive/ephyr/ephyrhostvideo.h deleted file mode 100644 index 0d3177277..000000000 --- a/xserver/hw/kdrive/ephyr/ephyrhostvideo.h +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Xephyr - A kdrive X server thats runs in a host X window. - * Authored by Matthew Allum - * - * Copyright © 2007 OpenedHand Ltd - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of OpenedHand Ltd not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. OpenedHand Ltd makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL OpenedHand Ltd 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. - * - * Authors: - * Dodji Seketeli - */ -#ifndef __EPHYRHOSTVIDEO_H__ -#define __EPHYRHOSTVIDEO_H__ - -typedef void *EphyrHostXVAdaptor; -typedef struct _EphyrHostXVAdaptorArray EphyrHostXVAdaptorArray; - -typedef struct _EphyrHostVideoFormat { - char depth; - short visual_class; -} EphyrHostVideoFormat; - -typedef struct _EphyrHostRational { - int numerator; - int denominator; -} EphyrHostRational; - -typedef struct _EphyrHostEncoding { - int id; - char *name; - unsigned short width, height; - EphyrHostRational rate; -} EphyrHostEncoding; - -typedef struct _EphyrHostAttribute { - int flags; - int min_value; - int max_value; - char *name; -} EphyrHostAttribute; - -typedef struct _EphyrHostImageFormat { - int id; /* Unique descriptor for the format */ - int type; /* XvRGB, XvYUV */ - int byte_order; /* LSBFirst, MSBFirst */ - char guid[16]; /* Globally Unique IDentifier */ - int bits_per_pixel; - int format; /* XvPacked, XvPlanar */ - int num_planes; - - /* for RGB formats only */ - int depth; - unsigned int red_mask; - unsigned int green_mask; - unsigned int blue_mask; - - /* for YUV formats only */ - unsigned int y_sample_bits; - unsigned int u_sample_bits; - unsigned int v_sample_bits; - unsigned int horz_y_period; - unsigned int horz_u_period; - unsigned int horz_v_period; - unsigned int vert_y_period; - unsigned int vert_u_period; - unsigned int vert_v_period; - char component_order[32]; /* eg. UYVY */ - int scanline_order; /* XvTopToBottom, XvBottomToTop */ -} EphyrHostImageFormat; - -typedef struct { - unsigned short x1, y1, x2, y2; -} EphyrHostBox; - -void ephyrHostXVInit(void); - -void ephyrHostFree(void *a_pointer); - -/* - * host adaptor array - */ -Bool ephyrHostXVQueryAdaptors(EphyrHostXVAdaptorArray ** a_adaptors); -void ephyrHostXVAdaptorArrayDelete(EphyrHostXVAdaptorArray * a_adaptors); -int ephyrHostXVAdaptorArrayGetSize(const EphyrHostXVAdaptorArray * a_this); -EphyrHostXVAdaptor *ephyrHostXVAdaptorArrayAt(const EphyrHostXVAdaptorArray * - a_this, int a_index); - -/* - * host adaptor - */ - -char ephyrHostXVAdaptorGetType(const EphyrHostXVAdaptor * a_this); -const char *ephyrHostXVAdaptorGetName(const EphyrHostXVAdaptor * a_this); -EphyrHostVideoFormat *ephyrHostXVAdaptorGetVideoFormats - (const EphyrHostXVAdaptor * a_this, int *a_nb_formats); -int ephyrHostXVAdaptorGetNbPorts(const EphyrHostXVAdaptor * a_this); -int ephyrHostXVAdaptorGetFirstPortID(const EphyrHostXVAdaptor * a_this); - -Bool ephyrHostXVAdaptorHasPutVideo(const EphyrHostXVAdaptor * a_this, - Bool *a_result); -Bool ephyrHostXVAdaptorHasGetVideo(const EphyrHostXVAdaptor * a_this, - Bool *a_result); -Bool ephyrHostXVAdaptorHasPutStill(const EphyrHostXVAdaptor * a_this, - Bool *a_result); -Bool ephyrHostXVAdaptorHasGetStill(const EphyrHostXVAdaptor * a_this, - Bool *a_result); -Bool ephyrHostXVAdaptorHasPutImage(const EphyrHostXVAdaptor * a_this, - Bool *a_result); - -/* - * encoding - */ -Bool ephyrHostXVQueryEncodings(int a_port_id, - EphyrHostEncoding ** a_encodings, - unsigned int *a_num_encodings); - -void ephyrHostEncodingsDelete(EphyrHostEncoding * a_encodings, - int a_num_encodings); - -/* - * attribute - */ -Bool ephyrHostXVQueryPortAttributes(int a_port_id, - EphyrHostAttribute ** a_attributes, - int *a_num_attributes); - -void ephyrHostAttributesDelete(EphyrHostAttribute * a_attributes); - -/* - * image format - */ - -Bool ephyrHostXVQueryImageFormats(int a_port_id, - EphyrHostImageFormat ** a_formats, - int *a_num_format); -/* - * Port Attribute Get/Set - */ -Bool ephyrHostXVSetPortAttribute(int a_port_id, int a_atom, int a_attr_value); -Bool ephyrHostXVGetPortAttribute(int a_port_id, int a_atom, int *a_attr_value); - -/* - *size query - */ -Bool ephyrHostXVQueryBestSize(int a_port_id, - Bool a_motion, - unsigned int a_frame_w, - unsigned int a_frame_h, - unsigned int a_drw_w, - unsigned int a_drw_h, - unsigned int *a_actual_w, - unsigned int *a_actual_h); - -Bool ephyrHostXVQueryImageAttributes(int a_port_id, - int a_image_id /*image fourcc code */ , - unsigned short *a_width, - unsigned short *a_height, - int *a_image_size, - int *a_pitches, int *a_offsets); -/* - * atom - */ -Bool ephyrHostGetAtom(const char *a_name, - Bool a_create_if_not_exists, int *a_atom); -char *ephyrHostGetAtomName(int a_atom); - -/* - *PutImage - * (ignore clipping for now) - */ -Bool ephyrHostXVPutImage(int a_screen_num, - int a_port_id, - int a_image_id, - int a_drw_x, - int a_drw_y, - int a_drw_w, - int a_drw_h, - int a_src_x, - int a_src_y, - int a_src_w, - int a_src_h, - int a_image_width, - int a_image_height, - unsigned char *a_buf, - EphyrHostBox * a_clip_rects, int a_clip_rect_nums); - -/* - * Putvideo/PutStill/GetVideo - */ -Bool ephyrHostXVPutVideo(int a_screen_num, - int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h); - -Bool ephyrHostXVGetVideo(int a_screen_num, - int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h); - -Bool ephyrHostXVPutStill(int a_screen_num, - int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h); - -Bool ephyrHostXVGetStill(int a_screen_num, - int a_port_id, - int a_vid_x, int a_vid_y, int a_vid_w, int a_vid_h, - int a_drw_x, int a_drw_y, int a_drw_w, int a_drw_h); - -/* - * StopVideo - */ -Bool ephyrHostXVStopVideo(int a_screen_num, int a_port_id); - -#endif /*__EPHYRHOSTVIDEO_H__*/ diff --git a/xserver/hw/kdrive/ephyr/ephyrinit.c b/xserver/hw/kdrive/ephyr/ephyrinit.c index 5e2eb672f..cf8bc9073 100644 --- a/xserver/hw/kdrive/ephyr/ephyrinit.c +++ b/xserver/hw/kdrive/ephyr/ephyrinit.c @@ -28,9 +28,11 @@ #endif #include "ephyr.h" #include "ephyrlog.h" +#include "glx_extinit.h" extern Window EphyrPreExistingHostWin; extern Bool EphyrWantGrayScale; +extern Bool EphyrWantResize; extern Bool kdHasPointer; extern Bool kdHasKbd; @@ -44,7 +46,7 @@ extern KdPointerDriver LinuxEvdevMouseDriver; extern KdKeyboardDriver LinuxEvdevKeyboardDriver; #endif -void processScreenArg(char *screen_size, char *parent_id); +void processScreenArg(const char *screen_size, char *parent_id); void InitCard(char *name) @@ -53,9 +55,28 @@ InitCard(char *name) KdCardInfoAdd(&ephyrFuncs, 0); } +static const ExtensionModule ephyrExtensions[] = { +#ifdef GLXEXT + { GlxExtensionInit, "GLX", &noGlxExtension }, +#endif +}; + +static +void ephyrExtensionInit(void) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(ephyrExtensions); i++) + LoadExtension(&ephyrExtensions[i], TRUE); +} + + void InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) { + if (serverGeneration == 1) + ephyrExtensionInit(); + KdInitOutput(pScreenInfo, argc, argv); } @@ -113,9 +134,10 @@ ddxUseMsg(void) ErrorF("\nXephyr Option Usage:\n"); ErrorF("-parent Use existing window as Xephyr root win\n"); - ErrorF("-host-cursor Re-use exisiting X host server cursor\n"); + ErrorF("-sw-cursor Render cursors in software in Xephyr\n"); ErrorF("-fullscreen Attempt to run Xephyr fullscreen\n"); ErrorF("-grayscale Simulate 8bit grayscale\n"); + ErrorF("-resizeable Make Xephyr windows resizeable\n"); ErrorF ("-fakexa Simulate acceleration using software rendering\n"); ErrorF("-verbosity Set log verbosity level\n"); @@ -132,7 +154,7 @@ ddxUseMsg(void) } void -processScreenArg(char *screen_size, char *parent_id) +processScreenArg(const char *screen_size, char *parent_id) { KdCardInfo *card; @@ -145,6 +167,9 @@ processScreenArg(char *screen_size, char *parent_id) screen = KdScreenInfoAdd(card); KdParseScreen(screen, screen_size); + screen->driver = calloc(1, sizeof(EphyrScrPriv)); + if (!screen->driver) + FatalError("Couldn't alloc screen private\n"); if (parent_id) { p_id = strtol(parent_id, NULL, 0); @@ -198,8 +223,12 @@ ddxProcessArgument(int argc, char **argv, int i) UseMsg(); exit(1); } + else if (!strcmp(argv[i], "-sw-cursor")) { + hostx_use_sw_cursor(); + return 1; + } else if (!strcmp(argv[i], "-host-cursor")) { - hostx_use_host_cursor(); + /* Compatibility with the old command line argument, now the default. */ return 1; } else if (!strcmp(argv[i], "-fullscreen")) { @@ -210,6 +239,10 @@ ddxProcessArgument(int argc, char **argv, int i) EphyrWantGrayScale = 1; return 1; } + else if (!strcmp(argv[i], "-resizeable")) { + EphyrWantResize = 1; + return 1; + } else if (!strcmp(argv[i], "-fakexa")) { ephyrFuncs.initAccel = ephyrDrawInit; ephyrFuncs.enableAccel = ephyrDrawEnable; @@ -363,7 +396,7 @@ ephyrCursorEnable(ScreenPtr pScreen) KdCardFuncs ephyrFuncs = { ephyrCardInit, /* cardinit */ - ephyrScreenInit, /* scrinit */ + ephyrScreenInitialize, /* scrinit */ ephyrInitScreen, /* initScreen */ ephyrFinishInitScreen, /* finishInitScreen */ ephyrCreateResources, /* createRes */ diff --git a/xserver/hw/kdrive/ephyr/ephyrproxyext.c b/xserver/hw/kdrive/ephyr/ephyrproxyext.c deleted file mode 100644 index c24238c04..000000000 --- a/xserver/hw/kdrive/ephyr/ephyrproxyext.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Xephyr - A kdrive X server thats runs in a host X window. - * Authored by Matthew Allum - * - * Copyright © 2007 OpenedHand Ltd - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of OpenedHand Ltd not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. OpenedHand Ltd makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL OpenedHand Ltd 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. - * - * Authors: - * Dodji Seketeli - */ - -/* - * \file - * This file defines a proxy extension that forwards requests. - * When a request to extension FOO is sent to Xephyr, that request is forwared - * to the host X, without even trying to know what the request means. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "misc.h" -#include "dixstruct.h" -#include "extnsionst.h" -#include "ephyrproxyext.h" -#define _HAVE_XALLOC_DECLS -#include "ephyrlog.h" -#include "ephyrhostproxy.h" -#include "hostx.h" - -static Bool ephyrProxyGetHostExtensionInfo(const char *a_ext_name, - int *a_major_opcode, - int *a_first_event, - int *a_first_error); - -static int ephyrProxyProcDispatch(ClientPtr client); - -static Bool -ephyrProxyGetHostExtensionInfo(const char *a_ext_name, - int *a_major_opcode, - int *a_first_event, int *a_first_error) -{ - return hostx_get_extension_info(a_ext_name, a_major_opcode, - a_first_event, a_first_error); -} - -static int -ephyrProxyProcDispatch(ClientPtr a_client) -{ - int res = BadImplementation; - struct XReply reply; - - if (!ephyrHostProxyDoForward(a_client->requestBuffer, &reply, FALSE)) { - EPHYR_LOG_ERROR("forwarding failed\n"); - goto out; - } - reply.sequence_number = a_client->sequence; - res = Success; - - WriteToClient(a_client, 32, &reply); - - out: - return res; -} - -static void -ephyrProxyProcReset(ExtensionEntry * a_entry) -{ -} - -Bool -ephyrProxyExtensionInit(const char *a_extension_name) -{ - Bool is_ok = FALSE; - int major_opcode = 0, first_event = 0, first_error = 0; - ExtensionEntry *ext = NULL; - - if (!ephyrProxyGetHostExtensionInfo(a_extension_name, - &major_opcode, - &first_event, &first_error)) { - EPHYR_LOG("failed to query extension %s from host\n", a_extension_name); - goto out; - } - ext = AddExtension((char *) a_extension_name, 0, 0, - ephyrProxyProcDispatch, - ephyrProxyProcDispatch, - ephyrProxyProcReset, StandardMinorOpcode); - if (!ext) { - EPHYR_LOG_ERROR("failed to add the extension\n"); - goto out; - } - is_ok = TRUE; - - out: - EPHYR_LOG("leave\n"); - return is_ok; -} diff --git a/xserver/hw/kdrive/ephyr/ephyrproxyext.h b/xserver/hw/kdrive/ephyr/ephyrproxyext.h deleted file mode 100644 index 018b69b34..000000000 --- a/xserver/hw/kdrive/ephyr/ephyrproxyext.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Xephyr - A kdrive X server thats runs in a host X window. - * Authored by Matthew Allum - * - * Copyright © 2007 OpenedHand Ltd - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of OpenedHand Ltd not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. OpenedHand Ltd makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * OpenedHand Ltd DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL OpenedHand Ltd 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. - * - * Authors: - * Dodji Seketeli - */ -#ifndef __EPHYRPROXYEXT_H__ -#define __EPHYRPROXYEXT_H__ - -Bool ephyrProxyExtensionInit(const char *a_extension_name); - -#endif /*__EPHYRPROXYEXT_H__*/ diff --git a/xserver/hw/kdrive/ephyr/ephyrvideo.c b/xserver/hw/kdrive/ephyr/ephyrvideo.c index 55dbd2e3a..4a05721af 100644 --- a/xserver/hw/kdrive/ephyr/ephyrvideo.c +++ b/xserver/hw/kdrive/ephyr/ephyrvideo.c @@ -31,15 +31,17 @@ #endif #include #include +#include +#include +#include #include "ephyrlog.h" #include "kdrive.h" #include "kxv.h" #include "ephyr.h" #include "hostx.h" -#include "ephyrhostvideo.h" struct _EphyrXVPriv { - EphyrHostXVAdaptorArray *host_adaptors; + xcb_xv_query_adaptors_reply_t *host_adaptors; KdVideoAdaptorPtr adaptors; int num_adaptors; }; @@ -58,14 +60,8 @@ struct _EphyrPortPriv { }; typedef struct _EphyrPortPriv EphyrPortPriv; -static Bool DoSimpleClip(BoxPtr a_dst_drw, BoxPtr a_clipper, BoxPtr a_result); - static Bool ephyrLocalAtomToHost(int a_local_atom, int *a_host_atom); -/* -static Bool ephyrHostAtomToLocal (int a_host_atom, int *a_local_atom) ; -*/ - static EphyrXVPriv *ephyrXVPrivNew(void); static void ephyrXVPrivDelete(EphyrXVPriv * a_this); static Bool ephyrXVPrivQueryHostAdaptors(EphyrXVPriv * a_this); @@ -174,53 +170,18 @@ static int s_base_port_id; * ************/ static Bool -DoSimpleClip(BoxPtr a_dst_box, BoxPtr a_clipper, BoxPtr a_result) +adaptor_has_flags(const xcb_xv_adaptor_info_t *adaptor, uint32_t flags) { - BoxRec dstClippedBox; - - EPHYR_RETURN_VAL_IF_FAIL(a_dst_box && a_clipper && a_result, FALSE); - - /* - * setup the clipbox inside the destination. - */ - dstClippedBox.x1 = a_dst_box->x1; - dstClippedBox.x2 = a_dst_box->x2; - dstClippedBox.y1 = a_dst_box->y1; - dstClippedBox.y2 = a_dst_box->y2; - - /* - * if the cliper leftmost edge is inside - * the destination area then the leftmost edge of the resulting - * clipped box is the leftmost edge of the cliper. - */ - if (a_clipper->x1 > dstClippedBox.x1) - dstClippedBox.x1 = a_clipper->x1; - - /* - * if the cliper top edge is inside the destination area - * then the bottom horizontal edge of the resulting clipped box - * is the bottom edge of the cliper - */ - if (a_clipper->y1 > dstClippedBox.y1) - dstClippedBox.y1 = a_clipper->y1; - - /*ditto for right edge */ - if (a_clipper->x2 < dstClippedBox.x2) - dstClippedBox.x2 = a_clipper->x2; - - /*ditto for bottom edge */ - if (a_clipper->y2 < dstClippedBox.y2) - dstClippedBox.y2 = a_clipper->y2; - - memcpy(a_result, &dstClippedBox, sizeof(dstClippedBox)); - return TRUE; + return (adaptor->type & flags) == flags; } static Bool ephyrLocalAtomToHost(int a_local_atom, int *a_host_atom) { + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_intern_atom_cookie_t cookie; + xcb_intern_atom_reply_t *reply; const char *atom_name = NULL; - int host_atom = None; EPHYR_RETURN_VAL_IF_FAIL(a_host_atom, FALSE); @@ -232,44 +193,19 @@ ephyrLocalAtomToHost(int a_local_atom, int *a_host_atom) if (!atom_name) return FALSE; - if (!ephyrHostGetAtom(atom_name, FALSE, &host_atom) || host_atom == None) { + cookie = xcb_intern_atom(conn, FALSE, strlen(atom_name), atom_name); + reply = xcb_intern_atom_reply(conn, cookie, NULL); + if (!reply || reply->atom == None) { EPHYR_LOG_ERROR("no atom for string %s defined in host X\n", atom_name); return FALSE; } - *a_host_atom = host_atom; + + *a_host_atom = reply->atom; + free(reply); + return TRUE; } -/* - Not used yed. -static Bool -ephyrHostAtomToLocal (int a_host_atom, int *a_local_atom) -{ - Bool is_ok=FALSE ; - char *atom_name=NULL ; - int atom=None ; - - EPHYR_RETURN_VAL_IF_FAIL (a_local_atom, FALSE) ; - - atom_name = ephyrHostGetAtomName (a_host_atom) ; - if (!atom_name) - goto out ; - - atom = MakeAtom (atom_name, strlen (atom_name), TRUE) ; - if (atom == None) - goto out ; - - *a_local_atom = atom ; - is_ok = TRUE ; - -out: - if (atom_name) { - ephyrHostFree (atom_name) ; - } - return is_ok ; -} -*/ - /************** * * ************/ @@ -321,8 +257,6 @@ ephyrXVPrivNew(void) goto error; } - ephyrHostXVInit(); - if (!ephyrXVPrivQueryHostAdaptors(xv_priv)) { EPHYR_LOG_ERROR("failed to query the host x for xv properties\n"); goto error; @@ -351,7 +285,7 @@ ephyrXVPrivDelete(EphyrXVPriv * a_this) if (!a_this) return; if (a_this->host_adaptors) { - ephyrHostXVAdaptorArrayDelete(a_this->host_adaptors); + free(a_this->host_adaptors); a_this->host_adaptors = NULL; } free(a_this->adaptors); @@ -360,72 +294,174 @@ ephyrXVPrivDelete(EphyrXVPriv * a_this) EPHYR_LOG("leave\n"); } -static KdVideoEncodingPtr -videoEncodingDup(EphyrHostEncoding * a_encodings, int a_num_encodings) +static Bool +translate_video_encodings(KdVideoAdaptorPtr adaptor, + xcb_xv_adaptor_info_t *host_adaptor) { - KdVideoEncodingPtr result = NULL; - int i = 0; + xcb_connection_t *conn = hostx_get_xcbconn(); + int i; + xcb_xv_query_encodings_cookie_t cookie; + xcb_xv_query_encodings_reply_t *reply; + xcb_xv_encoding_info_iterator_t encoding_it; - EPHYR_RETURN_VAL_IF_FAIL(a_encodings && a_num_encodings, NULL); + cookie = xcb_xv_query_encodings(conn, host_adaptor->base_id); + reply = xcb_xv_query_encodings_reply(conn, cookie, NULL); + if (!reply) + return FALSE; - result = calloc(a_num_encodings, sizeof(KdVideoEncodingRec)); - for (i = 0; i < a_num_encodings; i++) { - result[i].id = a_encodings[i].id; - result[i].name = strdup(a_encodings[i].name); - result[i].width = a_encodings[i].width; - result[i].height = a_encodings[i].height; - result[i].rate.numerator = a_encodings[i].rate.numerator; - result[i].rate.denominator = a_encodings[i].rate.denominator; + adaptor->nEncodings = reply->num_encodings; + adaptor->pEncodings = calloc(adaptor->nEncodings, + sizeof(*adaptor->pEncodings)); + if (!adaptor->pEncodings) { + free(reply); + return FALSE; } - return result; + + encoding_it = xcb_xv_query_encodings_info_iterator(reply); + for (i = 0; i < adaptor->nEncodings; i++) { + xcb_xv_encoding_info_t *encoding_info = encoding_it.data; + KdVideoEncodingPtr encoding = &adaptor->pEncodings[i]; + + encoding->id = encoding_info->encoding; + encoding->name = strndup(xcb_xv_encoding_info_name(encoding_info), + encoding_info->name_size); + encoding->width = encoding_info->width; + encoding->height = encoding_info->height; + encoding->rate.numerator = encoding_info->rate.numerator; + encoding->rate.denominator = encoding_info->rate.denominator; + + xcb_xv_encoding_info_next(&encoding_it); + } + + free(reply); + return TRUE; } -static KdAttributePtr -portAttributesDup(EphyrHostAttribute * a_encodings, int a_num_encodings) +static Bool +translate_xv_attributes(KdVideoAdaptorPtr adaptor, + xcb_xv_adaptor_info_t *host_adaptor) { + xcb_connection_t *conn = hostx_get_xcbconn(); int i = 0; - KdAttributePtr result = NULL; + xcb_xv_attribute_info_iterator_t it; + xcb_xv_query_port_attributes_cookie_t cookie = + xcb_xv_query_port_attributes(conn, host_adaptor->base_id); + xcb_xv_query_port_attributes_reply_t *reply = + xcb_xv_query_port_attributes_reply(conn, cookie, NULL); - EPHYR_RETURN_VAL_IF_FAIL(a_encodings && a_num_encodings, NULL); + if (!reply) + return FALSE; - result = calloc(a_num_encodings, sizeof(KdAttributeRec)); - if (!result) { + adaptor->nAttributes = reply->num_attributes; + adaptor->pAttributes = calloc(reply->num_attributes, + sizeof(*adaptor->pAttributes)); + if (!adaptor->pAttributes) { EPHYR_LOG_ERROR("failed to allocate attributes\n"); - return NULL; + free(reply); + return FALSE; } - for (i = 0; i < a_num_encodings; i++) { - result[i].flags = a_encodings[i].flags; - result[i].min_value = a_encodings[i].min_value; - result[i].max_value = a_encodings[i].max_value; - result[i].name = strdup(a_encodings[i].name); + + it = xcb_xv_query_port_attributes_attributes_iterator(reply); + for (i = 0; i < reply->num_attributes; i++) { + KdAttributePtr attribute = &adaptor->pAttributes[i]; + + attribute->flags = it.data->flags; + attribute->min_value = it.data->min; + attribute->max_value = it.data->max; + attribute->name = strndup(xcb_xv_attribute_info_name(it.data), + it.data->size); + + /* make sure atoms of attrs names are created in xephyr */ + MakeAtom(xcb_xv_attribute_info_name(it.data), it.data->size, TRUE); + + xcb_xv_attribute_info_next(&it); } - return result; + + free(reply); + return TRUE; +} + +static Bool +translate_xv_image_formats(KdVideoAdaptorPtr adaptor, + xcb_xv_adaptor_info_t *host_adaptor) +{ + xcb_connection_t *conn = hostx_get_xcbconn(); + int i = 0; + xcb_xv_list_image_formats_cookie_t cookie = + xcb_xv_list_image_formats(conn, host_adaptor->base_id); + xcb_xv_list_image_formats_reply_t *reply = + xcb_xv_list_image_formats_reply(conn, cookie, NULL); + xcb_xv_image_format_info_t *formats; + + if (!reply) + return FALSE; + + adaptor->nImages = reply->num_formats; + adaptor->pImages = calloc(reply->num_formats, sizeof(KdImageRec)); + if (!adaptor->pImages) { + free(reply); + return FALSE; + } + + formats = xcb_xv_list_image_formats_format(reply); + for (i = 0; i < reply->num_formats; i++) { + KdImagePtr image = &adaptor->pImages[i]; + + image->id = formats[i].id; + image->type = formats[i].type; + image->byte_order = formats[i].byte_order; + memcpy(image->guid, formats[i].guid, 16); + image->bits_per_pixel = formats[i].bpp; + image->format = formats[i].format; + image->num_planes = formats[i].num_planes; + image->depth = formats[i].depth; + image->red_mask = formats[i].red_mask; + image->green_mask = formats[i].green_mask; + image->blue_mask = formats[i].blue_mask; + image->y_sample_bits = formats[i].y_sample_bits; + image->u_sample_bits = formats[i].u_sample_bits; + image->v_sample_bits = formats[i].v_sample_bits; + image->horz_y_period = formats[i].vhorz_y_period; + image->horz_u_period = formats[i].vhorz_u_period; + image->horz_v_period = formats[i].vhorz_v_period; + image->vert_y_period = formats[i].vvert_y_period; + image->vert_u_period = formats[i].vvert_u_period; + image->vert_v_period = formats[i].vvert_v_period; + memcpy(image->component_order, formats[i].vcomp_order, 32); + image->scanline_order = formats[i].vscanline_order; + } + + free(reply); + return TRUE; } static Bool ephyrXVPrivQueryHostAdaptors(EphyrXVPriv * a_this) { - EphyrHostXVAdaptor *cur_host_adaptor = NULL; - EphyrHostVideoFormat *video_formats = NULL; - EphyrHostEncoding *encodings = NULL; - EphyrHostAttribute *attributes = NULL; - EphyrHostImageFormat *image_formats = NULL; - int num_video_formats = 0, base_port_id = 0, - num_attributes = 0, num_formats = 0, i = 0, port_priv_offset = 0; - unsigned num_encodings = 0; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_screen_t *xscreen = xcb_aux_get_screen(conn, hostx_get_screen()); + int base_port_id = 0, i = 0, port_priv_offset = 0; Bool is_ok = FALSE; + xcb_generic_error_t *e = NULL; + xcb_xv_adaptor_info_iterator_t it; EPHYR_RETURN_VAL_IF_FAIL(a_this, FALSE); EPHYR_LOG("enter\n"); - if (!ephyrHostXVQueryAdaptors(&a_this->host_adaptors)) { - EPHYR_LOG_ERROR("failed to query host adaptors\n"); - goto out; + { + xcb_xv_query_adaptors_cookie_t cookie = + xcb_xv_query_adaptors(conn, xscreen->root); + a_this->host_adaptors = xcb_xv_query_adaptors_reply(conn, cookie, &e); + if (e) { + free(e); + EPHYR_LOG_ERROR("failed to query host adaptors\n"); + goto out; + } } + if (a_this->host_adaptors) - a_this->num_adaptors = - ephyrHostXVAdaptorArrayGetSize(a_this->host_adaptors); + a_this->num_adaptors = a_this->host_adaptors->num_adaptors; if (a_this->num_adaptors < 0) { EPHYR_LOG_ERROR("failed to get number of host adaptors\n"); goto out; @@ -442,28 +478,28 @@ ephyrXVPrivQueryHostAdaptors(EphyrXVPriv * a_this) goto out; } } + + it = xcb_xv_query_adaptors_info_iterator(a_this->host_adaptors); for (i = 0; i < a_this->num_adaptors; i++) { + xcb_xv_adaptor_info_t *cur_host_adaptor = it.data; + xcb_xv_format_t *format = xcb_xv_adaptor_info_formats(cur_host_adaptor); int j = 0; - cur_host_adaptor = ephyrHostXVAdaptorArrayAt(a_this->host_adaptors, i); - if (!cur_host_adaptor) - continue; - a_this->adaptors[i].nPorts = - ephyrHostXVAdaptorGetNbPorts(cur_host_adaptor); + a_this->adaptors[i].nPorts = cur_host_adaptor->num_ports; if (a_this->adaptors[i].nPorts <= 0) { EPHYR_LOG_ERROR("Could not find any port of adaptor %d\n", i); continue; } - a_this->adaptors[i].type = ephyrHostXVAdaptorGetType(cur_host_adaptor); + a_this->adaptors[i].type = cur_host_adaptor->type; a_this->adaptors[i].type |= XvWindowMask; a_this->adaptors[i].flags = VIDEO_OVERLAID_IMAGES | VIDEO_CLIP_TO_VIEWPORT; - if (ephyrHostXVAdaptorGetName(cur_host_adaptor)) - a_this->adaptors[i].name = - strdup(ephyrHostXVAdaptorGetName(cur_host_adaptor)); - else + a_this->adaptors[i].name = + strndup(xcb_xv_adaptor_info_name(cur_host_adaptor), + cur_host_adaptor->name_size); + if (!a_this->adaptors[i].name) a_this->adaptors[i].name = strdup("Xephyr Video Overlay"); - base_port_id = ephyrHostXVAdaptorGetFirstPortID(cur_host_adaptor); + base_port_id = cur_host_adaptor->base_id; if (base_port_id < 0) { EPHYR_LOG_ERROR("failed to get port id for adaptor %d\n", i); continue; @@ -471,24 +507,24 @@ ephyrXVPrivQueryHostAdaptors(EphyrXVPriv * a_this) if (!s_base_port_id) s_base_port_id = base_port_id; - if (!ephyrHostXVQueryEncodings(base_port_id, - &encodings, &num_encodings)) { + if (!translate_video_encodings(&a_this->adaptors[i], + cur_host_adaptor)) { EPHYR_LOG_ERROR("failed to get encodings for port port id %d," " adaptors %d\n", base_port_id, i); continue; } - a_this->adaptors[i].nEncodings = num_encodings; - a_this->adaptors[i].pEncodings = - videoEncodingDup(encodings, num_encodings); - video_formats = (EphyrHostVideoFormat *) - ephyrHostXVAdaptorGetVideoFormats(cur_host_adaptor, - &num_video_formats); - a_this->adaptors[i].pFormats = (KdVideoFormatPtr) video_formats; - a_this->adaptors[i].nFormats = num_video_formats; - /* got a_this->adaptors[i].nPorts already - a_this->adaptors[i].nPorts = - ephyrHostXVAdaptorGetNbPorts (cur_host_adaptor) ; - */ + + a_this->adaptors[i].nFormats = cur_host_adaptor->num_formats; + a_this->adaptors[i].pFormats = + calloc(cur_host_adaptor->num_formats, + sizeof(*a_this->adaptors[i].pFormats)); + for (j = 0; j < cur_host_adaptor->num_formats; j++) { + xcb_visualtype_t *visual = + xcb_aux_find_visual_by_id(xscreen, format[j].visual); + a_this->adaptors[i].pFormats[j].depth = format[j].depth; + a_this->adaptors[i].pFormats[j].class = visual->_class; + } + a_this->adaptors[i].pPortPrivates = calloc(a_this->adaptors[i].nPorts, sizeof(DevUnion) + sizeof(EphyrPortPriv)); @@ -504,41 +540,26 @@ ephyrXVPrivQueryHostAdaptors(EphyrXVPriv * a_this) port_priv->xv_priv = a_this; a_this->adaptors[i].pPortPrivates[j].ptr = port_priv; } - if (!ephyrHostXVQueryPortAttributes(base_port_id, - &attributes, &num_attributes)) { + + if (!translate_xv_attributes(&a_this->adaptors[i], cur_host_adaptor)) { + { EPHYR_LOG_ERROR("failed to get port attribute " "for adaptor %d\n", i); continue; } - a_this->adaptors[i].pAttributes = - portAttributesDup(attributes, num_attributes); - a_this->adaptors[i].nAttributes = num_attributes; - /*make sure atoms of attrs names are created in xephyr */ - for (j = 0; j < a_this->adaptors[i].nAttributes; j++) { - if (a_this->adaptors[i].pAttributes[j].name) - MakeAtom(a_this->adaptors[i].pAttributes[j].name, - strlen(a_this->adaptors[i].pAttributes[j].name), TRUE); } - if (!ephyrHostXVQueryImageFormats(base_port_id, - &image_formats, &num_formats)) { + + if (!translate_xv_image_formats(&a_this->adaptors[i], cur_host_adaptor)) { EPHYR_LOG_ERROR("failed to get image formats " "for adaptor %d\n", i); continue; } - a_this->adaptors[i].pImages = (KdImagePtr) image_formats; - a_this->adaptors[i].nImages = num_formats; + + xcb_xv_adaptor_info_next(&it); } is_ok = TRUE; out: - if (encodings) { - ephyrHostEncodingsDelete(encodings, num_encodings); - encodings = NULL; - } - if (attributes) { - ephyrHostAttributesDelete(attributes); - attributes = NULL; - } EPHYR_LOG("leave\n"); return is_ok; } @@ -547,14 +568,16 @@ static Bool ephyrXVPrivSetAdaptorsHooks(EphyrXVPriv * a_this) { int i = 0; - Bool has_it = FALSE; - EphyrHostXVAdaptor *cur_host_adaptor = NULL; + xcb_xv_adaptor_info_iterator_t it; EPHYR_RETURN_VAL_IF_FAIL(a_this, FALSE); EPHYR_LOG("enter\n"); + it = xcb_xv_query_adaptors_info_iterator(a_this->host_adaptors); for (i = 0; i < a_this->num_adaptors; i++) { + xcb_xv_adaptor_info_t *cur_host_adaptor = it.data; + a_this->adaptors[i].ReputImage = ephyrReputImage; a_this->adaptors[i].StopVideo = ephyrStopVideo; a_this->adaptors[i].SetPortAttribute = ephyrSetPortAttribute; @@ -562,50 +585,25 @@ ephyrXVPrivSetAdaptorsHooks(EphyrXVPriv * a_this) a_this->adaptors[i].QueryBestSize = ephyrQueryBestSize; a_this->adaptors[i].QueryImageAttributes = ephyrQueryImageAttributes; - cur_host_adaptor = ephyrHostXVAdaptorArrayAt(a_this->host_adaptors, i); - if (!cur_host_adaptor) { - EPHYR_LOG_ERROR("failed to get host adaptor at index %d\n", i); - continue; - } - has_it = FALSE; - if (!ephyrHostXVAdaptorHasPutImage(cur_host_adaptor, &has_it)) { - EPHYR_LOG_ERROR("error\n"); - } - if (has_it) { + if (adaptor_has_flags(cur_host_adaptor, + XCB_XV_TYPE_IMAGE_MASK | XCB_XV_TYPE_INPUT_MASK)) a_this->adaptors[i].PutImage = ephyrPutImage; - } - has_it = FALSE; - if (!ephyrHostXVAdaptorHasPutVideo(cur_host_adaptor, &has_it)) { - EPHYR_LOG_ERROR("error\n"); - } - if (has_it) { + if (adaptor_has_flags(cur_host_adaptor, + XCB_XV_TYPE_VIDEO_MASK | XCB_XV_TYPE_INPUT_MASK)) a_this->adaptors[i].PutVideo = ephyrPutVideo; - } - has_it = FALSE; - if (!ephyrHostXVAdaptorHasGetVideo(cur_host_adaptor, &has_it)) { - EPHYR_LOG_ERROR("error\n"); - } - if (has_it) { + if (adaptor_has_flags(cur_host_adaptor, + XCB_XV_TYPE_VIDEO_MASK | XCB_XV_TYPE_OUTPUT_MASK)) a_this->adaptors[i].GetVideo = ephyrGetVideo; - } - has_it = FALSE; - if (!ephyrHostXVAdaptorHasPutStill(cur_host_adaptor, &has_it)) { - EPHYR_LOG_ERROR("error\n"); - } - if (has_it) { + if (adaptor_has_flags(cur_host_adaptor, + XCB_XV_TYPE_STILL_MASK | XCB_XV_TYPE_INPUT_MASK)) a_this->adaptors[i].PutStill = ephyrPutStill; - } - has_it = FALSE; - if (!ephyrHostXVAdaptorHasGetStill(cur_host_adaptor, &has_it)) { - EPHYR_LOG_ERROR("error\n"); - } - if (has_it) { + if (adaptor_has_flags(cur_host_adaptor, + XCB_XV_TYPE_STILL_MASK | XCB_XV_TYPE_OUTPUT_MASK)) a_this->adaptors[i].GetStill = ephyrGetStill; - } } EPHYR_LOG("leave\n"); return TRUE; @@ -691,20 +689,27 @@ ephyrXVPrivGetImageBufSize(int a_port_id, unsigned short a_width, unsigned short a_height, int *a_size) { + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_xv_query_image_attributes_cookie_t cookie; + xcb_xv_query_image_attributes_reply_t *reply; Bool is_ok = FALSE; - unsigned short width = a_width, height = a_height; EPHYR_RETURN_VAL_IF_FAIL(a_size, FALSE); EPHYR_LOG("enter\n"); - if (!ephyrHostXVQueryImageAttributes(a_port_id, a_image_id, - &width, &height, a_size, NULL, NULL)) { - EPHYR_LOG_ERROR("failed to get image attributes\n"); + cookie = xcb_xv_query_image_attributes(conn, + a_port_id, a_image_id, + a_width, a_height); + reply = xcb_xv_query_image_attributes_reply(conn, cookie, NULL); + if (!reply) goto out; - } + + *a_size = reply->data_size; is_ok = TRUE; + free(reply); + out: EPHYR_LOG("leave\n"); return is_ok; @@ -741,15 +746,14 @@ ephyrXVPrivSaveImageToPortPriv(EphyrPortPriv * a_port_priv, static void ephyrStopVideo(KdScreenInfo * a_info, pointer a_port_priv, Bool a_exit) { + xcb_connection_t *conn = hostx_get_xcbconn(); EphyrPortPriv *port_priv = a_port_priv; + EphyrScrPriv *scrpriv = a_info->driver; - EPHYR_RETURN_IF_FAIL(a_info && a_info->pScreen); EPHYR_RETURN_IF_FAIL(port_priv); EPHYR_LOG("enter\n"); - if (!ephyrHostXVStopVideo(a_info->pScreen->myNum, port_priv->port_number)) { - EPHYR_LOG_ERROR("XvStopVideo() failed\n"); - } + xcb_xv_stop_video(conn, port_priv->port_number, scrpriv->win); EPHYR_LOG("leave\n"); } @@ -757,6 +761,7 @@ static int ephyrSetPortAttribute(KdScreenInfo * a_info, Atom a_attr_name, int a_attr_value, pointer a_port_priv) { + xcb_connection_t *conn = hostx_get_xcbconn(); int res = Success, host_atom = 0; EphyrPortPriv *port_priv = a_port_priv; Bool is_attr_valid = FALSE; @@ -797,12 +802,9 @@ ephyrSetPortAttribute(KdScreenInfo * a_info, */ } - if (!ephyrHostXVSetPortAttribute(port_priv->port_number, - host_atom, a_attr_value)) { - EPHYR_LOG_ERROR("failed to set port attribute\n"); - res = BadMatch; - goto out; - } + xcb_xv_set_port_attribute(conn, port_priv->port_number, + host_atom, a_attr_value); + xcb_flush(conn); res = Success; out: @@ -814,8 +816,12 @@ static int ephyrGetPortAttribute(KdScreenInfo * a_screen_info, Atom a_attr_name, int *a_attr_value, pointer a_port_priv) { + xcb_connection_t *conn = hostx_get_xcbconn(); int res = Success, host_atom = 0; EphyrPortPriv *port_priv = a_port_priv; + xcb_generic_error_t *e; + xcb_xv_get_port_attribute_cookie_t cookie; + xcb_xv_get_port_attribute_reply_t *reply; EPHYR_RETURN_VAL_IF_FAIL(port_priv, BadMatch); EPHYR_RETURN_VAL_IF_FAIL(ValidAtom(a_attr_name), BadMatch); @@ -830,12 +836,17 @@ ephyrGetPortAttribute(KdScreenInfo * a_screen_info, goto out; } - if (!ephyrHostXVGetPortAttribute(port_priv->port_number, - host_atom, a_attr_value)) { - EPHYR_LOG_ERROR("failed to get port attribute\n"); + cookie = xcb_xv_get_port_attribute(conn, port_priv->port_number, host_atom); + reply = xcb_xv_get_port_attribute_reply(conn, cookie, &e); + if (e) { + EPHYR_LOG_ERROR ("XvGetPortAttribute() failed: %d \n", e->error_code); + free(e); res = BadMatch; goto out; } + *a_attr_value = reply->value; + + free(reply); res = Success; out: @@ -853,23 +864,119 @@ ephyrQueryBestSize(KdScreenInfo * a_info, unsigned int *a_prefered_w, unsigned int *a_prefered_h, pointer a_port_priv) { - int res = 0; + xcb_connection_t *conn = hostx_get_xcbconn(); EphyrPortPriv *port_priv = a_port_priv; + xcb_xv_query_best_size_cookie_t cookie = + xcb_xv_query_best_size(conn, + port_priv->port_number, + a_src_w, a_src_h, + a_drw_w, a_drw_h, + a_motion); + xcb_xv_query_best_size_reply_t *reply = + xcb_xv_query_best_size_reply(conn, cookie, NULL); - EPHYR_RETURN_IF_FAIL(port_priv); + EPHYR_LOG("enter: frame (%dx%d), drw (%dx%d)\n", + a_src_w, a_src_h, a_drw_w, a_drw_h); - EPHYR_LOG("enter\n"); - res = ephyrHostXVQueryBestSize(port_priv->port_number, - a_motion, - a_src_w, a_src_h, - a_drw_w, a_drw_h, - a_prefered_w, a_prefered_h); - if (!res) { - EPHYR_LOG_ERROR("Failed to query best size\n"); + if (!reply) { + EPHYR_LOG_ERROR ("XvQueryBestSize() failed\n"); + return; } + *a_prefered_w = reply->actual_width; + *a_prefered_h = reply->actual_height; + EPHYR_LOG("actual (%dx%d)\n", *a_prefered_w, *a_prefered_h); + free(reply); + EPHYR_LOG("leave\n"); } + +static Bool +ephyrHostXVPutImage(KdScreenInfo * a_info, + EphyrPortPriv *port_priv, + int a_image_id, + int a_drw_x, + int a_drw_y, + int a_drw_w, + int a_drw_h, + int a_src_x, + int a_src_y, + int a_src_w, + int a_src_h, + int a_image_width, + int a_image_height, + unsigned char *a_buf, + BoxPtr a_clip_rects, int a_clip_rect_nums) +{ + EphyrScrPriv *scrpriv = a_info->driver; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_gcontext_t gc; + Bool is_ok = TRUE; + xcb_rectangle_t *rects = NULL; + int data_len, width, height; + xcb_xv_query_image_attributes_cookie_t image_attr_cookie; + xcb_xv_query_image_attributes_reply_t *image_attr_reply; + + EPHYR_RETURN_VAL_IF_FAIL(a_buf, FALSE); + + EPHYR_LOG("enter, num_clip_rects: %d\n", a_clip_rect_nums); + + image_attr_cookie = xcb_xv_query_image_attributes(conn, + port_priv->port_number, + a_image_id, + a_image_width, + a_image_height); + image_attr_reply = xcb_xv_query_image_attributes_reply(conn, + image_attr_cookie, + NULL); + if (!image_attr_reply) + goto out; + data_len = image_attr_reply->data_size; + width = image_attr_reply->width; + height = image_attr_reply->height; + free(image_attr_reply); + + gc = xcb_generate_id(conn); + xcb_create_gc(conn, gc, scrpriv->win, 0, NULL); + + if (a_clip_rect_nums) { + int i = 0; + rects = calloc(a_clip_rect_nums, sizeof(xcb_rectangle_t)); + for (i=0; i < a_clip_rect_nums; i++) { + rects[i].x = a_clip_rects[i].x1; + rects[i].y = a_clip_rects[i].y1; + rects[i].width = a_clip_rects[i].x2 - a_clip_rects[i].x1; + rects[i].height = a_clip_rects[i].y2 - a_clip_rects[i].y1; + EPHYR_LOG("(x,y,w,h): (%d,%d,%d,%d)\n", + rects[i].x, rects[i].y, rects[i].width, rects[i].height); + } + xcb_set_clip_rectangles(conn, + XCB_CLIP_ORDERING_YX_BANDED, + gc, + 0, + 0, + a_clip_rect_nums, + rects); + free(rects); + } + xcb_xv_put_image(conn, + port_priv->port_number, + scrpriv->win, + gc, + a_image_id, + a_src_x, a_src_y, a_src_w, a_src_h, + a_drw_x, a_drw_y, a_drw_w, a_drw_h, + width, height, + data_len, a_buf); + xcb_free_gc(conn, gc); + + is_ok = TRUE; + +out: + EPHYR_LOG("leave\n"); + return is_ok; +} + static int ephyrPutImage(KdScreenInfo * a_info, DrawablePtr a_drawable, @@ -896,13 +1003,12 @@ ephyrPutImage(KdScreenInfo * a_info, EPHYR_LOG("enter\n"); - if (!ephyrHostXVPutImage(a_info->pScreen->myNum, - port_priv->port_number, + if (!ephyrHostXVPutImage(a_info, port_priv, a_id, a_drw_x, a_drw_y, a_drw_w, a_drw_h, a_src_x, a_src_y, a_src_w, a_src_h, a_width, a_height, a_buf, - (EphyrHostBox *) RegionRects(a_clipping_region), + RegionRects(a_clipping_region), RegionNumRects(a_clipping_region))) { EPHYR_LOG_ERROR("EphyrHostXVPutImage() failed\n"); goto out; @@ -972,8 +1078,8 @@ ephyrReputImage(KdScreenInfo * a_info, EPHYR_LOG_ERROR("has null image buf in cache\n"); goto out; } - if (!ephyrHostXVPutImage(a_info->pScreen->myNum, - port_priv->port_number, + if (!ephyrHostXVPutImage(a_info, + port_priv, port_priv->image_id, a_drw_x, a_drw_y, port_priv->drw_w, port_priv->drw_h, @@ -981,7 +1087,7 @@ ephyrReputImage(KdScreenInfo * a_info, port_priv->src_w, port_priv->src_h, port_priv->image_width, port_priv->image_height, port_priv->image_buf, - (EphyrHostBox *) RegionRects(a_clipping_region), + RegionRects(a_clipping_region), RegionNumRects(a_clipping_region))) { EPHYR_LOG_ERROR("ephyrHostXVPutImage() failed\n"); goto out; @@ -1003,44 +1109,26 @@ ephyrPutVideo(KdScreenInfo * a_info, short a_drw_w, short a_drw_h, RegionPtr a_clipping_region, pointer a_port_priv) { + EphyrScrPriv *scrpriv = a_info->driver; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_gcontext_t gc; EphyrPortPriv *port_priv = a_port_priv; - BoxRec clipped_area, dst_box; - int result = BadImplementation; - int drw_x = 0, drw_y = 0, drw_w = 0, drw_h = 0; EPHYR_RETURN_VAL_IF_FAIL(a_info->pScreen, BadValue); EPHYR_RETURN_VAL_IF_FAIL(a_drawable && port_priv, BadValue); EPHYR_LOG("enter\n"); - dst_box.x1 = a_drw_x; - dst_box.x2 = a_drw_x + a_drw_w; - dst_box.y1 = a_drw_y; - dst_box.y2 = a_drw_y + a_drw_h; + gc = xcb_generate_id(conn); + xcb_create_gc(conn, gc, scrpriv->win, 0, NULL); + xcb_xv_put_video(conn, port_priv->port_number, + scrpriv->win, gc, + a_vid_x, a_vid_y, a_vid_w, a_vid_h, + a_drw_x, a_drw_y, a_drw_w, a_drw_h); + xcb_free_gc(conn, gc); - if (!DoSimpleClip(&dst_box, - RegionExtents(a_clipping_region), &clipped_area)) { - EPHYR_LOG_ERROR("failed to simple clip\n"); - goto out; - } - - drw_x = clipped_area.x1; - drw_y = clipped_area.y1; - drw_w = clipped_area.x2 - clipped_area.x1; - drw_h = clipped_area.y2 - clipped_area.y1; - - if (!ephyrHostXVPutVideo(a_info->pScreen->myNum, - port_priv->port_number, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h)) { - EPHYR_LOG_ERROR("ephyrHostXVPutVideo() failed\n"); - goto out; - } - result = Success; - - out: EPHYR_LOG("leave\n"); - return result; + return Success; } static int @@ -1052,44 +1140,27 @@ ephyrGetVideo(KdScreenInfo * a_info, short a_drw_w, short a_drw_h, RegionPtr a_clipping_region, pointer a_port_priv) { + EphyrScrPriv *scrpriv = a_info->driver; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_gcontext_t gc; EphyrPortPriv *port_priv = a_port_priv; - BoxRec clipped_area, dst_box; - int result = BadImplementation; - int drw_x = 0, drw_y = 0, drw_w = 0, drw_h = 0; EPHYR_RETURN_VAL_IF_FAIL(a_info && a_info->pScreen, BadValue); EPHYR_RETURN_VAL_IF_FAIL(a_drawable && port_priv, BadValue); EPHYR_LOG("enter\n"); - dst_box.x1 = a_drw_x; - dst_box.x2 = a_drw_x + a_drw_w; - dst_box.y1 = a_drw_y; - dst_box.y2 = a_drw_y + a_drw_h; + gc = xcb_generate_id(conn); + xcb_create_gc(conn, gc, scrpriv->win, 0, NULL); + xcb_xv_get_video(conn, port_priv->port_number, + scrpriv->win, gc, + a_vid_x, a_vid_y, a_vid_w, a_vid_h, + a_drw_x, a_drw_y, a_drw_w, a_drw_h); - if (!DoSimpleClip(&dst_box, - RegionExtents(a_clipping_region), &clipped_area)) { - EPHYR_LOG_ERROR("failed to simple clip\n"); - goto out; - } + xcb_free_gc(conn, gc); - drw_x = clipped_area.x1; - drw_y = clipped_area.y1; - drw_w = clipped_area.x2 - clipped_area.x1; - drw_h = clipped_area.y2 - clipped_area.y1; - - if (!ephyrHostXVGetVideo(a_info->pScreen->myNum, - port_priv->port_number, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h)) { - EPHYR_LOG_ERROR("ephyrHostXVGetVideo() failed\n"); - goto out; - } - result = Success; - - out: EPHYR_LOG("leave\n"); - return result; + return Success; } static int @@ -1101,44 +1172,26 @@ ephyrPutStill(KdScreenInfo * a_info, short a_drw_w, short a_drw_h, RegionPtr a_clipping_region, pointer a_port_priv) { + EphyrScrPriv *scrpriv = a_info->driver; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_gcontext_t gc; EphyrPortPriv *port_priv = a_port_priv; - BoxRec clipped_area, dst_box; - int result = BadImplementation; - int drw_x = 0, drw_y = 0, drw_w = 0, drw_h = 0; EPHYR_RETURN_VAL_IF_FAIL(a_info && a_info->pScreen, BadValue); EPHYR_RETURN_VAL_IF_FAIL(a_drawable && port_priv, BadValue); EPHYR_LOG("enter\n"); - dst_box.x1 = a_drw_x; - dst_box.x2 = a_drw_x + a_drw_w; - dst_box.y1 = a_drw_y; - dst_box.y2 = a_drw_y + a_drw_h; + gc = xcb_generate_id(conn); + xcb_create_gc(conn, gc, scrpriv->win, 0, NULL); + xcb_xv_put_still(conn, port_priv->port_number, + scrpriv->win, gc, + a_vid_x, a_vid_y, a_vid_w, a_vid_h, + a_drw_x, a_drw_y, a_drw_w, a_drw_h); + xcb_free_gc(conn, gc); - if (!DoSimpleClip(&dst_box, - RegionExtents(a_clipping_region), &clipped_area)) { - EPHYR_LOG_ERROR("failed to simple clip\n"); - goto out; - } - - drw_x = clipped_area.x1; - drw_y = clipped_area.y1; - drw_w = clipped_area.x2 - clipped_area.x1; - drw_h = clipped_area.y2 - clipped_area.y1; - - if (!ephyrHostXVPutStill(a_info->pScreen->myNum, - port_priv->port_number, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h)) { - EPHYR_LOG_ERROR("ephyrHostXVPutStill() failed\n"); - goto out; - } - result = Success; - - out: EPHYR_LOG("leave\n"); - return result; + return Success; } static int @@ -1150,44 +1203,26 @@ ephyrGetStill(KdScreenInfo * a_info, short a_drw_w, short a_drw_h, RegionPtr a_clipping_region, pointer a_port_priv) { + EphyrScrPriv *scrpriv = a_info->driver; + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_gcontext_t gc; EphyrPortPriv *port_priv = a_port_priv; - BoxRec clipped_area, dst_box; - int result = BadImplementation; - int drw_x = 0, drw_y = 0, drw_w = 0, drw_h = 0; EPHYR_RETURN_VAL_IF_FAIL(a_info && a_info->pScreen, BadValue); EPHYR_RETURN_VAL_IF_FAIL(a_drawable && port_priv, BadValue); EPHYR_LOG("enter\n"); - dst_box.x1 = a_drw_x; - dst_box.x2 = a_drw_x + a_drw_w; - dst_box.y1 = a_drw_y; - dst_box.y2 = a_drw_y + a_drw_h; + gc = xcb_generate_id(conn); + xcb_create_gc(conn, gc, scrpriv->win, 0, NULL); + xcb_xv_get_still(conn, port_priv->port_number, + scrpriv->win, gc, + a_vid_x, a_vid_y, a_vid_w, a_vid_h, + a_drw_x, a_drw_y, a_drw_w, a_drw_h); + xcb_free_gc(conn, gc); - if (!DoSimpleClip(&dst_box, - RegionExtents(a_clipping_region), &clipped_area)) { - EPHYR_LOG_ERROR("failed to simple clip\n"); - goto out; - } - - drw_x = clipped_area.x1; - drw_y = clipped_area.y1; - drw_w = clipped_area.x2 - clipped_area.x1; - drw_h = clipped_area.y2 - clipped_area.y1; - - if (!ephyrHostXVGetStill(a_info->pScreen->myNum, - port_priv->port_number, - a_vid_x, a_vid_y, a_vid_w, a_vid_h, - a_drw_x, a_drw_y, a_drw_w, a_drw_h)) { - EPHYR_LOG_ERROR("ephyrHostXVGetStill() failed\n"); - goto out; - } - result = Success; - - out: EPHYR_LOG("leave\n"); - return result; + return Success; } static int @@ -1196,6 +1231,9 @@ ephyrQueryImageAttributes(KdScreenInfo * a_info, unsigned short *a_w, unsigned short *a_h, int *a_pitches, int *a_offsets) { + xcb_connection_t *conn = hostx_get_xcbconn(); + xcb_xv_query_image_attributes_cookie_t cookie; + xcb_xv_query_image_attributes_reply_t *reply; int image_size = 0; EPHYR_RETURN_VAL_IF_FAIL(a_w && a_h, FALSE); @@ -1203,13 +1241,25 @@ ephyrQueryImageAttributes(KdScreenInfo * a_info, 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, - a_w, a_h, - &image_size, a_pitches, a_offsets)) { - EPHYR_LOG_ERROR("EphyrHostXVQueryImageAttributes() failed\n"); + cookie = xcb_xv_query_image_attributes(conn, + s_base_port_id, a_id, + *a_w, *a_h); + reply = xcb_xv_query_image_attributes_reply(conn, cookie, NULL); + if (!reply) goto out; + + *a_w = reply->width; + *a_h = reply->height; + if (a_pitches && a_offsets) { + memcpy(a_pitches, xcb_xv_query_image_attributes_pitches(reply), + reply->num_planes << 2); + memcpy(a_offsets, xcb_xv_query_image_attributes_offsets(reply), + reply->num_planes << 2); } + image_size = reply->data_size; + + free(reply); + EPHYR_LOG("image size: %d, dim (%dx%d)\n", image_size, *a_w, *a_h); out: diff --git a/xserver/hw/kdrive/ephyr/hostx.c b/xserver/hw/kdrive/ephyr/hostx.c index 6bbccd3e8..57e7dc292 100644 --- a/xserver/hw/kdrive/ephyr/hostx.c +++ b/xserver/hw/kdrive/ephyr/hostx.c @@ -27,18 +27,8 @@ #include #endif -/* - * including some server headers (like kdrive-config.h) - * might define the macro _XSERVER64 - * on 64 bits machines. That macro must _NOT_ be defined for Xlib - * client code, otherwise bad things happen. - * So let's undef that macro if necessary. - */ -#ifdef _XSERVER64 -#undef _XSERVER64 -#endif - #include "hostx.h" +#include "input.h" #include #include @@ -51,56 +41,36 @@ #include #include -#include -#include -#include #include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #ifdef XF86DRI -#include -#endif /* XF86DRI */ +#include +#include +#endif /* XF86DRI */ #include "ephyrlog.h" - -#ifdef XF86DRI -extern Bool XF86DRIQueryExtension(Display * dpy, - int *event_basep, int *error_basep); -#endif - -/* - * All xlib calls go here, which gets built as its own .a . - * Mixing kdrive and xlib headers causes all sorts of types - * to get clobbered. - */ - -struct EphyrHostScreen { - Window win; - Window win_pre_existing; /* Set via -parent option like xnest */ - Window peer_win; /* Used for GL; should be at most one */ - XImage *ximg; - int win_width, win_height; - int server_depth; - unsigned char *fb_data; /* only used when host bpp != server bpp */ - XShmSegmentInfo shminfo; - - void *info; /* Pointer to the screen this is associated with */ - int mynum; /* Screen number */ -}; +#include "ephyr.h" struct EphyrHostXVars { char *server_dpy_name; - Display *dpy; + xcb_connection_t *conn; int screen; - Visual *visual; + xcb_visualtype_t *visual; Window winroot; - GC gc; + xcb_gcontext_t gc; int depth; - Bool use_host_cursor; + Bool use_sw_cursor; Bool use_fullscreen; Bool have_shm; int n_screens; - struct EphyrHostScreen *screens; + KdScreenInfo **screens; long damage_debug_msec; @@ -117,6 +87,8 @@ extern EphyrKeySyms ephyrKeySyms; extern int monitorResolution; +extern Bool EphyrWantResize; + char *ephyrResName = NULL; int ephyrResNameFromCmd = 0; char *ephyrTitle = NULL; @@ -124,57 +96,17 @@ char *ephyrTitle = NULL; static void hostx_set_fullscreen_hint(void); -/* X Error traps */ - -static int trapped_error_code = 0; -static int (*old_error_handler) (Display * d, XErrorEvent * e); - #define host_depth_matches_server(_vars) (HostX.depth == (_vars)->server_depth) -static struct EphyrHostScreen * -host_screen_from_screen_info(EphyrScreenInfo * screen) -{ - int i; - - for (i = 0; i < HostX.n_screens; i++) { - if (HostX.screens[i].info == screen) { - return &HostX.screens[i]; - } - } - return NULL; -} - -static int -error_handler(Display * display, XErrorEvent * error) -{ - trapped_error_code = error->error_code; - return 0; -} - -static void -hostx_errors_trap(void) -{ - trapped_error_code = 0; - old_error_handler = XSetErrorHandler(error_handler); -} - -static int -hostx_errors_untrap(void) -{ - XSetErrorHandler(old_error_handler); - return trapped_error_code; -} - int -hostx_want_screen_size(EphyrScreenInfo screen, int *width, int *height) +hostx_want_screen_size(KdScreenInfo *screen, int *width, int *height) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - if (host_screen && - (host_screen->win_pre_existing != None || - HostX.use_fullscreen == True)) { - *width = host_screen->win_width; - *height = host_screen->win_height; + if (scrpriv && (scrpriv->win_pre_existing != None || + HostX.use_fullscreen == TRUE)) { + *width = scrpriv->win_width; + *height = scrpriv->win_height; return 1; } @@ -182,17 +114,18 @@ hostx_want_screen_size(EphyrScreenInfo screen, int *width, int *height) } void -hostx_add_screen(EphyrScreenInfo screen, unsigned long win_id, int screen_num) +hostx_add_screen(KdScreenInfo *screen, unsigned long win_id, int screen_num) { + EphyrScrPriv *scrpriv = screen->driver; int index = HostX.n_screens; HostX.n_screens += 1; HostX.screens = realloc(HostX.screens, - HostX.n_screens * sizeof(struct EphyrHostScreen)); - memset(&HostX.screens[index], 0, sizeof(struct EphyrHostScreen)); + HostX.n_screens * sizeof(HostX.screens[0])); + HostX.screens[index] = screen; - HostX.screens[index].info = screen; - HostX.screens[index].win_pre_existing = win_id; + scrpriv->screen = screen; + scrpriv->win_pre_existing = win_id; } void @@ -202,58 +135,68 @@ hostx_set_display_name(char *name) } void -hostx_set_screen_number(EphyrScreenInfo screen, int number) +hostx_set_screen_number(KdScreenInfo *screen, int number) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - if (host_screen) { - host_screen->mynum = number; - hostx_set_win_title(host_screen->info, ""); + if (scrpriv) { + scrpriv->mynum = number; + hostx_set_win_title(screen, ""); } } void -hostx_set_win_title(EphyrScreenInfo screen, char *extra_text) +hostx_set_win_title(KdScreenInfo *screen, const char *extra_text) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - if (!host_screen) + if (!scrpriv) return; if (ephyrTitle) { - XStoreName(HostX.dpy, host_screen->win, ephyrTitle); - } - else { + xcb_icccm_set_wm_name(HostX.conn, + scrpriv->win, + XCB_ATOM_STRING, + 8, + strlen(ephyrTitle), + ephyrTitle); + } else { #define BUF_LEN 256 char buf[BUF_LEN + 1]; memset(buf, 0, BUF_LEN + 1); snprintf(buf, BUF_LEN, "Xephyr on %s.%d %s", HostX.server_dpy_name, - host_screen->mynum, (extra_text != NULL) ? extra_text : ""); + scrpriv->mynum, (extra_text != NULL) ? extra_text : ""); - XStoreName(HostX.dpy, host_screen->win, buf); + xcb_icccm_set_wm_name(HostX.conn, + scrpriv->win, + XCB_ATOM_STRING, + 8, + strlen(buf), + buf); + xcb_flush(HostX.conn); } } int hostx_want_host_cursor(void) { - return HostX.use_host_cursor; + return !HostX.use_sw_cursor; } void -hostx_use_host_cursor(void) +hostx_use_sw_cursor(void) { - HostX.use_host_cursor = True; + HostX.use_sw_cursor = TRUE; } int -hostx_want_preexisting_window(EphyrScreenInfo screen) +hostx_want_preexisting_window(KdScreenInfo *screen) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - if (host_screen && host_screen->win_pre_existing) { + if (scrpriv && scrpriv->win_pre_existing) { return 1; } else { @@ -264,7 +207,7 @@ hostx_want_preexisting_window(EphyrScreenInfo screen) void hostx_use_fullscreen(void) { - HostX.use_fullscreen = True; + HostX.use_fullscreen = TRUE; } int @@ -273,21 +216,35 @@ hostx_want_fullscreen(void) return HostX.use_fullscreen; } +static xcb_intern_atom_cookie_t cookie_WINDOW_STATE, + cookie_WINDOW_STATE_FULLSCREEN; + static void hostx_set_fullscreen_hint(void) { - Atom atom_WINDOW_STATE, atom_WINDOW_STATE_FULLSCREEN; + xcb_atom_t atom_WINDOW_STATE, atom_WINDOW_STATE_FULLSCREEN; int index; + xcb_intern_atom_reply_t *reply; - atom_WINDOW_STATE = XInternAtom(HostX.dpy, "_NET_WM_STATE", False); - atom_WINDOW_STATE_FULLSCREEN - = XInternAtom(HostX.dpy, "_NET_WM_STATE_FULLSCREEN", False); + reply = xcb_intern_atom_reply(HostX.conn, cookie_WINDOW_STATE, NULL); + atom_WINDOW_STATE = reply->atom; + free(reply); + + reply = xcb_intern_atom_reply(HostX.conn, cookie_WINDOW_STATE_FULLSCREEN, + NULL); + atom_WINDOW_STATE_FULLSCREEN = reply->atom; + free(reply); for (index = 0; index < HostX.n_screens; index++) { - XChangeProperty(HostX.dpy, HostX.screens[index].win, - atom_WINDOW_STATE, XA_ATOM, 32, - PropModeReplace, - (unsigned char *) &atom_WINDOW_STATE_FULLSCREEN, 1); + EphyrScrPriv *scrpriv = HostX.screens[index]->driver; + xcb_change_property(HostX.conn, + PropModeReplace, + scrpriv->win, + atom_WINDOW_STATE, + XCB_ATOM_ATOM, + 32, + 1, + &atom_WINDOW_STATE_FULLSCREEN); } } @@ -322,175 +279,221 @@ hostx_set_title(char *title) #pragma does_not_return(exit) #endif -static int _X_NORETURN -x_io_error_handler(Display * dpy) -{ - ErrorF("Lost connection to X server: %s\n", strerror(errno)); - CloseWellKnownConnections(); - OsCleanup(1); - exit(1); -} - int hostx_init(void) { - XSetWindowAttributes attr; - Cursor empty_cursor; - Pixmap cursor_pxm; - XColor col; + uint32_t attr; + xcb_cursor_t empty_cursor; + xcb_pixmap_t cursor_pxm; + uint16_t red, green, blue; + uint32_t pixel; int index; char *tmpstr; - XClassHint *class_hint; + char *class_hint; + size_t class_len; + const xcb_query_extension_reply_t *shm_rep; + xcb_screen_t *xscreen; - attr.event_mask = - ButtonPressMask - | ButtonReleaseMask - | PointerMotionMask - | KeyPressMask - | KeyReleaseMask - | ExposureMask - | StructureNotifyMask; + attr = + XCB_EVENT_MASK_BUTTON_PRESS + | XCB_EVENT_MASK_BUTTON_RELEASE + | XCB_EVENT_MASK_POINTER_MOTION + | XCB_EVENT_MASK_KEY_PRESS + | XCB_EVENT_MASK_KEY_RELEASE + | XCB_EVENT_MASK_EXPOSURE + | XCB_EVENT_MASK_STRUCTURE_NOTIFY; EPHYR_DBG("mark"); - - if ((HostX.dpy = XOpenDisplay(getenv("DISPLAY"))) == NULL) { + HostX.conn = xcb_connect(NULL, &HostX.screen); + if (xcb_connection_has_error(HostX.conn)) { fprintf(stderr, "\nXephyr cannot open host display. Is DISPLAY set?\n"); exit(1); } - XSetIOErrorHandler(x_io_error_handler); + xscreen = xcb_aux_get_screen(HostX.conn, HostX.screen); + HostX.winroot = xscreen->root; + HostX.gc = xcb_generate_id(HostX.conn); + HostX.depth = xscreen->root_depth; + HostX.visual = xcb_aux_find_visual_by_id(xscreen, xscreen->root_visual); - HostX.screen = DefaultScreen(HostX.dpy); - HostX.winroot = RootWindow(HostX.dpy, HostX.screen); - HostX.gc = XCreateGC(HostX.dpy, HostX.winroot, 0, NULL); - HostX.depth = DefaultDepth(HostX.dpy, HostX.screen); - HostX.visual = DefaultVisual(HostX.dpy, HostX.screen); - - class_hint = XAllocClassHint(); + xcb_create_gc(HostX.conn, HostX.gc, HostX.winroot, 0, NULL); + cookie_WINDOW_STATE = xcb_intern_atom(HostX.conn, FALSE, + strlen("_NET_WM_STATE"), + "_NET_WM_STATE"); + cookie_WINDOW_STATE_FULLSCREEN = + xcb_intern_atom(HostX.conn, FALSE, + strlen("_NET_WM_STATE_FULLSCREEN"), + "_NET_WM_STATE_FULLSCREEN"); for (index = 0; index < HostX.n_screens; index++) { - struct EphyrHostScreen *host_screen = &HostX.screens[index]; + KdScreenInfo *screen = HostX.screens[index]; + EphyrScrPriv *scrpriv = screen->driver; - host_screen->server_depth = HostX.depth; - if (host_screen->win_pre_existing != None) { - Status result; - XWindowAttributes prewin_attr; + scrpriv->win = xcb_generate_id(HostX.conn); + scrpriv->server_depth = HostX.depth; + scrpriv->ximg = NULL; + + if (scrpriv->win_pre_existing != XCB_WINDOW_NONE) { + xcb_get_geometry_reply_t *prewin_geom; + xcb_get_geometry_cookie_t cookie; + xcb_generic_error_t *e = NULL; /* Get screen size from existing window */ + cookie = xcb_get_geometry(HostX.conn, + scrpriv->win_pre_existing); + prewin_geom = xcb_get_geometry_reply(HostX.conn, cookie, &e); - hostx_errors_trap(); - - result = XGetWindowAttributes(HostX.dpy, - host_screen->win_pre_existing, - &prewin_attr); - - if (hostx_errors_untrap() || !result) { - fprintf(stderr, "\nXephyr -parent window' does not exist!\n"); - exit(1); + if (e) { + free(e); + free(prewin_geom); + fprintf (stderr, "\nXephyr -parent window' does not exist!\n"); + exit (1); } - host_screen->win_width = prewin_attr.width; - host_screen->win_height = prewin_attr.height; + scrpriv->win_width = prewin_geom->width; + scrpriv->win_height = prewin_geom->height; - host_screen->win = XCreateWindow(HostX.dpy, - host_screen->win_pre_existing, - 0, 0, - host_screen->win_width, - host_screen->win_height, - 0, - CopyFromParent, - CopyFromParent, - CopyFromParent, - CWEventMask, &attr); + free(prewin_geom); + + xcb_create_window(HostX.conn, + XCB_COPY_FROM_PARENT, + scrpriv->win, + scrpriv->win_pre_existing, + 0,0, + scrpriv->win_width, + scrpriv->win_height, + 0, + XCB_WINDOW_CLASS_COPY_FROM_PARENT, + XCB_COPY_FROM_PARENT, + XCB_CW_EVENT_MASK, + &attr); } else { - host_screen->win = XCreateWindow(HostX.dpy, HostX.winroot, 0, 0, 100, 100, /* will resize */ - 0, - CopyFromParent, - CopyFromParent, - CopyFromParent, - CWEventMask, &attr); + xcb_create_window(HostX.conn, + XCB_COPY_FROM_PARENT, + scrpriv->win, + HostX.winroot, + 0,0,100,100, /* will resize */ + 0, + XCB_WINDOW_CLASS_COPY_FROM_PARENT, + XCB_COPY_FROM_PARENT, + XCB_CW_EVENT_MASK, + &attr); - hostx_set_win_title(host_screen->info, + hostx_set_win_title(screen, "(ctrl+shift grabs mouse and keyboard)"); if (HostX.use_fullscreen) { - host_screen->win_width = DisplayWidth(HostX.dpy, HostX.screen); - host_screen->win_height = - DisplayHeight(HostX.dpy, HostX.screen); + scrpriv->win_width = xscreen->width_in_pixels; + scrpriv->win_height = xscreen->height_in_pixels; hostx_set_fullscreen_hint(); } + tmpstr = getenv("RESOURCE_NAME"); + if (tmpstr && (!ephyrResNameFromCmd)) + ephyrResName = tmpstr; + class_len = strlen(ephyrResName) + 1 + strlen("Xephyr") + 1; + class_hint = malloc(class_len); if (class_hint) { - tmpstr = getenv("RESOURCE_NAME"); - if (tmpstr && (!ephyrResNameFromCmd)) - ephyrResName = tmpstr; - class_hint->res_name = ephyrResName; - class_hint->res_class = "Xephyr"; - XSetClassHint(hostx_get_display(), host_screen->win, - class_hint); - + strcpy(class_hint, ephyrResName); + strcpy(class_hint + strlen(ephyrResName) + 1, "Xephyr"); + xcb_change_property(HostX.conn, + XCB_PROP_MODE_REPLACE, + scrpriv->win, + XCB_ATOM_WM_CLASS, + XCB_ATOM_STRING, + 8, + class_len, + class_hint); + free(class_hint); } - } } - if (class_hint) - XFree(class_hint); + if (!xcb_aux_parse_color("red", &red, &green, &blue)) { + xcb_lookup_color_cookie_t c = + xcb_lookup_color(HostX.conn, xscreen->default_colormap, 3, "red"); + xcb_lookup_color_reply_t *reply = + xcb_lookup_color_reply(HostX.conn, c, NULL); + red = reply->exact_red; + green = reply->exact_green; + blue = reply->exact_blue; + free(reply); + } - XParseColor(HostX.dpy, DefaultColormap(HostX.dpy, HostX.screen), - "red", &col); - XAllocColor(HostX.dpy, DefaultColormap(HostX.dpy, HostX.screen), &col); - XSetForeground(HostX.dpy, HostX.gc, col.pixel); + { + xcb_alloc_color_cookie_t c = xcb_alloc_color(HostX.conn, + xscreen->default_colormap, + red, green, blue); + xcb_alloc_color_reply_t *r = xcb_alloc_color_reply(HostX.conn, c, NULL); + red = r->red; + green = r->green; + blue = r->blue; + pixel = r->pixel; + free(r); + } - if (!hostx_want_host_cursor()) { + xcb_change_gc(HostX.conn, HostX.gc, XCB_GC_FOREGROUND, &pixel); + + if (!hostx_want_host_cursor ()) { + CursorVisible = TRUE; /* Ditch the cursor, we provide our 'own' */ - cursor_pxm = XCreatePixmap(HostX.dpy, HostX.winroot, 1, 1, 1); - memset(&col, 0, sizeof(col)); - empty_cursor = XCreatePixmapCursor(HostX.dpy, - cursor_pxm, cursor_pxm, - &col, &col, 1, 1); + cursor_pxm = xcb_generate_id(HostX.conn); + xcb_create_pixmap(HostX.conn, 1, cursor_pxm, HostX.winroot, 1, 1); + empty_cursor = xcb_generate_id(HostX.conn); + xcb_create_cursor(HostX.conn, + empty_cursor, + cursor_pxm, cursor_pxm, + 0,0,0, + 0,0,0, + 1,1); for (index = 0; index < HostX.n_screens; index++) { - XDefineCursor(HostX.dpy, HostX.screens[index].win, empty_cursor); + KdScreenInfo *screen = HostX.screens[index]; + EphyrScrPriv *scrpriv = screen->driver; + + xcb_change_window_attributes(HostX.conn, + scrpriv->win, + XCB_CW_CURSOR, + &empty_cursor); } - XFreePixmap(HostX.dpy, cursor_pxm); + xcb_free_pixmap(HostX.conn, cursor_pxm); } - for (index = 0; index < HostX.n_screens; index++) { - HostX.screens[index].ximg = NULL; - } /* Try to get share memory ximages for a little bit more speed */ - - if (!XShmQueryExtension(HostX.dpy) || getenv("XEPHYR_NO_SHM")) { + shm_rep = xcb_get_extension_data(HostX.conn, &xcb_shm_id); + if (!shm_rep || !shm_rep->present || getenv("XEPHYR_NO_SHM")) { fprintf(stderr, "\nXephyr unable to use SHM XImages\n"); - HostX.have_shm = False; + HostX.have_shm = FALSE; } else { - /* Really really check we have shm - better way ? */ - XShmSegmentInfo shminfo; + /* Really really check we have shm - better way ?*/ + xcb_shm_segment_info_t shminfo; + xcb_generic_error_t *e; + xcb_void_cookie_t cookie; + xcb_shm_seg_t shmseg; - HostX.have_shm = True; + HostX.have_shm = TRUE; - shminfo.shmid = shmget(IPC_PRIVATE, 1, IPC_CREAT | 0777); - shminfo.shmaddr = shmat(shminfo.shmid, 0, 0); - shminfo.readOnly = True; + shminfo.shmid = shmget(IPC_PRIVATE, 1, IPC_CREAT|0777); + shminfo.shmaddr = shmat(shminfo.shmid,0,0); - hostx_errors_trap(); + shmseg = xcb_generate_id(HostX.conn); + cookie = xcb_shm_attach_checked(HostX.conn, shmseg, shminfo.shmid, + TRUE); + e = xcb_request_check(HostX.conn, cookie); - XShmAttach(HostX.dpy, &shminfo); - XSync(HostX.dpy, False); - - if (hostx_errors_untrap()) { + if (e) { fprintf(stderr, "\nXephyr unable to use SHM XImages\n"); - HostX.have_shm = False; + HostX.have_shm = FALSE; + free(e); } shmdt(shminfo.shmaddr); shmctl(shminfo.shmid, IPC_RMID, 0); } - XFlush(HostX.dpy); + xcb_flush(HostX.conn); /* Setup the pause time between paints when debugging updates */ @@ -511,51 +514,42 @@ hostx_get_depth(void) } int -hostx_get_server_depth(EphyrScreenInfo screen) +hostx_get_server_depth(KdScreenInfo *screen) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - return host_screen ? host_screen->server_depth : 0; -} - -void -hostx_set_server_depth(EphyrScreenInfo screen, int depth) -{ - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); - - if (host_screen) - host_screen->server_depth = depth; + return scrpriv ? scrpriv->server_depth : 0; } int -hostx_get_bpp(EphyrScreenInfo screen) +hostx_get_bpp(KdScreenInfo *screen) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - if (!host_screen) + if (!scrpriv) return 0; - if (host_depth_matches_server(host_screen)) - return HostX.visual->bits_per_rgb; + if (host_depth_matches_server(scrpriv)) + return HostX.visual->bits_per_rgb_value; else - return host_screen->server_depth; /*XXX correct ? */ + return scrpriv->server_depth; /*XXX correct ?*/ } void -hostx_get_visual_masks(EphyrScreenInfo screen, +hostx_get_visual_masks(KdScreenInfo *screen, CARD32 *rmsk, CARD32 *gmsk, CARD32 *bmsk) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - if (!host_screen) + if (!scrpriv) return; - if (host_depth_matches_server(host_screen)) { + if (host_depth_matches_server(scrpriv)) { *rmsk = HostX.visual->red_mask; *gmsk = HostX.visual->green_mask; *bmsk = HostX.visual->blue_mask; } - else if (host_screen->server_depth == 16) { + else if (scrpriv->server_depth == 16) { /* Assume 16bpp 565 */ *rmsk = 0xf800; *gmsk = 0x07e0; @@ -616,17 +610,14 @@ hostx_set_cmap_entry(unsigned char idx, * by fakexa for storing offscreen pixmap data. */ void * -hostx_screen_init(EphyrScreenInfo screen, +hostx_screen_init(KdScreenInfo *screen, int width, int height, int buffer_height, int *bytes_per_line, int *bits_per_pixel) { - int bitmap_pad; - Bool shm_success = False; - XSizeHints *size_hints; + EphyrScrPriv *scrpriv = screen->driver; + Bool shm_success = FALSE; - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); - - if (!host_screen) { + if (!scrpriv) { fprintf(stderr, "%s: Error in accessing hostx data\n", __func__); exit(1); } @@ -634,111 +625,130 @@ hostx_screen_init(EphyrScreenInfo screen, EPHYR_DBG("host_screen=%p wxh=%dx%d, buffer_height=%d", host_screen, width, height, buffer_height); - if (host_screen->ximg != NULL) { + if (scrpriv->ximg != NULL) { /* Free up the image data if previously used * i.ie called by server reset */ if (HostX.have_shm) { - XShmDetach(HostX.dpy, &host_screen->shminfo); - XDestroyImage(host_screen->ximg); - shmdt(host_screen->shminfo.shmaddr); - shmctl(host_screen->shminfo.shmid, IPC_RMID, 0); + xcb_shm_detach(HostX.conn, scrpriv->shminfo.shmseg); + xcb_image_destroy(scrpriv->ximg); + shmdt(scrpriv->shminfo.shmaddr); + shmctl(scrpriv->shminfo.shmid, IPC_RMID, 0); } else { - free(host_screen->ximg->data); - host_screen->ximg->data = NULL; + free(scrpriv->ximg->data); + scrpriv->ximg->data = NULL; - XDestroyImage(host_screen->ximg); + xcb_image_destroy(scrpriv->ximg); } } if (HostX.have_shm) { - host_screen->ximg = - XShmCreateImage(HostX.dpy, HostX.visual, HostX.depth, ZPixmap, NULL, - &host_screen->shminfo, width, buffer_height); + scrpriv->ximg = xcb_image_create_native(HostX.conn, + width, + buffer_height, + XCB_IMAGE_FORMAT_Z_PIXMAP, + HostX.depth, + NULL, + ~0, + NULL); - host_screen->shminfo.shmid = + scrpriv->shminfo.shmid = shmget(IPC_PRIVATE, - host_screen->ximg->bytes_per_line * buffer_height, + scrpriv->ximg->stride * buffer_height, IPC_CREAT | 0777); - host_screen->ximg->data = shmat(host_screen->shminfo.shmid, 0, 0); - host_screen->shminfo.shmaddr = host_screen->ximg->data; + scrpriv->ximg->data = shmat(scrpriv->shminfo.shmid, 0, 0); + scrpriv->shminfo.shmaddr = scrpriv->ximg->data; - if (host_screen->ximg->data == (char *) -1) { + if (scrpriv->ximg->data == (uint8_t *) -1) { EPHYR_DBG ("Can't attach SHM Segment, falling back to plain XImages"); - HostX.have_shm = False; - XDestroyImage(host_screen->ximg); - shmctl(host_screen->shminfo.shmid, IPC_RMID, 0); + HostX.have_shm = FALSE; + xcb_image_destroy (scrpriv->ximg); + shmctl(scrpriv->shminfo.shmid, IPC_RMID, 0); } else { - EPHYR_DBG("SHM segment attached %p", host_screen->shminfo.shmaddr); - host_screen->shminfo.readOnly = False; - XShmAttach(HostX.dpy, &host_screen->shminfo); - shm_success = True; + EPHYR_DBG("SHM segment attached %p", scrpriv->shminfo.shmaddr); + scrpriv->shminfo.shmseg = xcb_generate_id(HostX.conn); + xcb_shm_attach(HostX.conn, + scrpriv->shminfo.shmseg, + scrpriv->shminfo.shmid, + FALSE); + shm_success = TRUE; } } if (!shm_success) { - bitmap_pad = (HostX.depth > 16) ? 32 : ((HostX.depth > 8) ? 16 : 8); + EPHYR_DBG("Creating image %dx%d for screen scrpriv=%p\n", + width, buffer_height, scrpriv); + scrpriv->ximg = xcb_image_create_native(HostX.conn, + width, + buffer_height, + XCB_IMAGE_FORMAT_Z_PIXMAP, + HostX.depth, + NULL, + ~0, + NULL); - EPHYR_DBG("Creating image %dx%d for screen host_screen=%p\n", - width, buffer_height, host_screen); - host_screen->ximg = XCreateImage(HostX.dpy, - HostX.visual, - HostX.depth, - ZPixmap, 0, 0, - width, buffer_height, bitmap_pad, 0); - - host_screen->ximg->data = - malloc(host_screen->ximg->bytes_per_line * buffer_height); + scrpriv->ximg->data = + malloc(scrpriv->ximg->stride * buffer_height); } - *bytes_per_line = host_screen->ximg->bytes_per_line; - *bits_per_pixel = host_screen->ximg->bits_per_pixel; - - XResizeWindow(HostX.dpy, host_screen->win, width, height); - - /* Ask the WM to keep our size static */ - if (host_screen->win_pre_existing == None) { - size_hints = XAllocSizeHints(); - size_hints->max_width = size_hints->min_width = width; - size_hints->max_height = size_hints->min_height = height; - size_hints->flags = PMinSize | PMaxSize; - XSetWMNormalHints(HostX.dpy, host_screen->win, size_hints); - XFree(size_hints); + { + uint32_t mask = XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT; + uint32_t values[2] = {width, height}; + xcb_configure_window(HostX.conn, scrpriv->win, mask, values); } - XMapWindow(HostX.dpy, host_screen->win); + if (scrpriv->win_pre_existing == None && !EphyrWantResize) { + /* Ask the WM to keep our size static */ + xcb_size_hints_t size_hints = {0}; + size_hints.max_width = size_hints.min_width = width; + size_hints.max_height = size_hints.min_height = height; + size_hints.flags = (XCB_ICCCM_SIZE_HINT_P_MIN_SIZE | + XCB_ICCCM_SIZE_HINT_P_MAX_SIZE); + xcb_icccm_set_wm_normal_hints(HostX.conn, scrpriv->win, + &size_hints); + } - XSync(HostX.dpy, False); + xcb_map_window(HostX.conn, scrpriv->win); - host_screen->win_width = width; - host_screen->win_height = height; + xcb_aux_sync(HostX.conn); + + scrpriv->win_width = width; + scrpriv->win_height = height; + + if (host_depth_matches_server(scrpriv)) { + *bytes_per_line = scrpriv->ximg->stride; + *bits_per_pixel = scrpriv->ximg->bpp; - if (host_depth_matches_server(host_screen)) { EPHYR_DBG("Host matches server"); - return host_screen->ximg->data; + return scrpriv->ximg->data; } else { - EPHYR_DBG("server bpp %i", host_screen->server_depth >> 3); - host_screen->fb_data = - malloc(width * buffer_height * (host_screen->server_depth >> 3)); - return host_screen->fb_data; + int bytes_per_pixel = scrpriv->server_depth >> 3; + int stride = (width * bytes_per_pixel + 0x3) & ~0x3; + + *bytes_per_line = stride; + *bits_per_pixel = scrpriv->server_depth; + + EPHYR_DBG("server bpp %i", bytes_per_pixel); + scrpriv->fb_data = malloc (stride * buffer_height); + return scrpriv->fb_data; } } -static void hostx_paint_debug_rect(struct EphyrHostScreen *host_screen, +static void hostx_paint_debug_rect(KdScreenInfo *screen, int x, int y, int width, int height); void -hostx_paint_rect(EphyrScreenInfo screen, +hostx_paint_rect(KdScreenInfo *screen, int sx, int sy, int dx, int dy, int width, int height) { - struct EphyrHostScreen *host_screen = host_screen_from_screen_info(screen); + EphyrScrPriv *scrpriv = screen->driver; - EPHYR_DBG("painting in screen %d\n", host_screen->mynum); + EPHYR_DBG("painting in screen %d\n", scrpriv->mynum); /* * Copy the image data updated by the shadow layer @@ -746,7 +756,7 @@ hostx_paint_rect(EphyrScreenInfo screen, */ if (HostXWantDamageDebug) { - hostx_paint_debug_rect(host_screen, dx, dy, width, height); + hostx_paint_debug_rect(screen, dx, dy, width, height); } /* @@ -761,23 +771,22 @@ hostx_paint_rect(EphyrScreenInfo screen, * ... and it will be slower than the matching depth case. */ - if (!host_depth_matches_server(host_screen)) { - int x, y, idx, bytes_per_pixel = (host_screen->server_depth >> 3); + if (!host_depth_matches_server(scrpriv)) { + int x, y, idx, bytes_per_pixel = (scrpriv->server_depth >> 3); + int stride = (scrpriv->win_width * bytes_per_pixel + 0x3) & ~0x3; unsigned char r, g, b; unsigned long host_pixel; - EPHYR_DBG("Unmatched host depth host_screen=%p\n", host_screen); + EPHYR_DBG("Unmatched host depth scrpriv=%p\n", scrpriv); for (y = sy; y < sy + height; y++) for (x = sx; x < sx + width; x++) { - idx = - (host_screen->win_width * y * bytes_per_pixel) + - (x * bytes_per_pixel); + idx = y * stride + x * bytes_per_pixel; - switch (host_screen->server_depth) { + switch (scrpriv->server_depth) { case 16: { unsigned short pixel = - *(unsigned short *) (host_screen->fb_data + idx); + *(unsigned short *) (scrpriv->fb_data + idx); r = ((pixel & 0xf800) >> 8); g = ((pixel & 0x07e0) >> 3); @@ -785,14 +794,15 @@ hostx_paint_rect(EphyrScreenInfo screen, host_pixel = (r << 16) | (g << 8) | (b); - XPutPixel(host_screen->ximg, x, y, host_pixel); + xcb_image_put_pixel(scrpriv->ximg, x, y, host_pixel); break; } case 8: { unsigned char pixel = - *(unsigned char *) (host_screen->fb_data + idx); - XPutPixel(host_screen->ximg, x, y, HostX.cmap[pixel]); + *(unsigned char *) (scrpriv->fb_data + idx); + xcb_image_put_pixel(scrpriv->ximg, x, y, + HostX.cmap[pixel]); break; } default: @@ -802,23 +812,28 @@ hostx_paint_rect(EphyrScreenInfo screen, } if (HostX.have_shm) { - XShmPutImage(HostX.dpy, host_screen->win, - HostX.gc, host_screen->ximg, - sx, sy, dx, dy, width, height, False); + xcb_image_shm_put(HostX.conn, scrpriv->win, + HostX.gc, scrpriv->ximg, + scrpriv->shminfo, + sx, sy, dx, dy, width, height, FALSE); } else { - XPutImage(HostX.dpy, host_screen->win, HostX.gc, host_screen->ximg, - sx, sy, dx, dy, width, height); + xcb_image_put(HostX.conn, scrpriv->win, HostX.gc, scrpriv->ximg, + dx, dy, 0); } - XSync(HostX.dpy, False); + xcb_aux_sync(HostX.conn); } static void -hostx_paint_debug_rect(struct EphyrHostScreen *host_screen, +hostx_paint_debug_rect(KdScreenInfo *screen, int x, int y, int width, int height) { + EphyrScrPriv *scrpriv = screen->driver; struct timespec tspec; + xcb_rectangle_t rect = { .x = x, .y = y, .width = width, .height = height }; + xcb_void_cookie_t cookie; + xcb_generic_error_t *e; tspec.tv_sec = HostX.damage_debug_msec / (1000000); tspec.tv_nsec = (HostX.damage_debug_msec % 1000000) * 1000; @@ -828,8 +843,10 @@ hostx_paint_debug_rect(struct EphyrHostScreen *host_screen, /* fprintf(stderr, "Xephyr updating: %i+%i %ix%i\n", x, y, width, height); */ - XFillRectangle(HostX.dpy, host_screen->win, HostX.gc, x, y, width, height); - XSync(HostX.dpy, False); + cookie = xcb_poly_fill_rectangle_checked(HostX.conn, scrpriv->win, + HostX.gc, 1, &rect); + e = xcb_request_check(HostX.conn, cookie); + free(e); /* nanosleep seems to work better than usleep for me... */ nanosleep(&tspec, NULL); @@ -838,295 +855,112 @@ hostx_paint_debug_rect(struct EphyrHostScreen *host_screen, void hostx_load_keymap(void) { - XID *keymap; - int host_width, min_keycode, max_keycode, width; - int i, j; + int min_keycode, max_keycode; - XDisplayKeycodes(HostX.dpy, &min_keycode, &max_keycode); + min_keycode = xcb_get_setup(HostX.conn)->min_keycode; + max_keycode = xcb_get_setup(HostX.conn)->max_keycode; EPHYR_DBG("min: %d, max: %d", min_keycode, max_keycode); - keymap = XGetKeyboardMapping(HostX.dpy, - min_keycode, - max_keycode - min_keycode + 1, &host_width); - - /* Try and copy the hosts keymap into our keymap to avoid loads - * of messing around. - * - * kdrive cannot can have more than 4 keysyms per keycode - * so we only copy at most the first 4 ( xorg has 6 per keycode, XVNC 2 ) - */ - width = (host_width > 4) ? 4 : host_width; - - ephyrKeySyms.map = (CARD32 *) calloc(sizeof(CARD32), - (max_keycode - min_keycode + 1) * - width); - if (!ephyrKeySyms.map) - return; - - for (i = 0; i < (max_keycode - min_keycode + 1); i++) - for (j = 0; j < width; j++) - ephyrKeySyms.map[(i * width) + j] = - (CARD32) keymap[(i * host_width) + j]; - - EPHYR_DBG("keymap width, host:%d kdrive:%d", host_width, width); - ephyrKeySyms.minKeyCode = min_keycode; ephyrKeySyms.maxKeyCode = max_keycode; - ephyrKeySyms.mapWidth = width; - - XFree(keymap); } -static struct EphyrHostScreen * -host_screen_from_window(Window w) +xcb_connection_t * +hostx_get_xcbconn(void) { - int index = 0; - struct EphyrHostScreen *result = NULL; - - for (index = 0; index < HostX.n_screens; index++) { - if (HostX.screens[index].win == w - || HostX.screens[index].peer_win == w - || HostX.screens[index].win_pre_existing == w) { - result = &HostX.screens[index]; - goto out; - } - } - - out: - return result; + return HostX.conn; } int -hostx_get_event(EphyrHostXEvent * ev) +hostx_get_screen(void) { - XEvent xev; - static int grabbed_screen = -1; - - if (XPending(HostX.dpy)) { - XNextEvent(HostX.dpy, &xev); - - switch (xev.type) { - case Expose: - /* Not so great event compression, but works ok */ - while (XCheckTypedWindowEvent(HostX.dpy, xev.xexpose.window, - Expose, &xev)); - { - struct EphyrHostScreen *host_screen = - host_screen_from_window(xev.xexpose.window); - if (host_screen) { - hostx_paint_rect(host_screen->info, 0, 0, 0, 0, - host_screen->win_width, - host_screen->win_height); - } - else { - EPHYR_LOG_ERROR("failed to get host screen\n"); - ev->type = EPHYR_EV_EXPOSE; - ev->data.expose.window = xev.xexpose.window; - return 1; - } - } - return 0; - - case MotionNotify: - { - struct EphyrHostScreen *host_screen = - host_screen_from_window(xev.xmotion.window); - - ev->type = EPHYR_EV_MOUSE_MOTION; - ev->data.mouse_motion.x = xev.xmotion.x; - ev->data.mouse_motion.y = xev.xmotion.y; - ev->data.mouse_motion.window = xev.xmotion.window; - ev->data.mouse_motion.screen = - (host_screen ? host_screen->mynum : -1); - } - return 1; - - case ButtonPress: - ev->type = EPHYR_EV_MOUSE_PRESS; - ev->key_state = xev.xkey.state; - /* - * This is a bit hacky. will break for button 5 ( defined as 0x10 ) - * Check KD_BUTTON defines in kdrive.h - */ - ev->data.mouse_down.button_num = 1 << (xev.xbutton.button - 1); - return 1; - - case ButtonRelease: - ev->type = EPHYR_EV_MOUSE_RELEASE; - ev->key_state = xev.xkey.state; - ev->data.mouse_up.button_num = 1 << (xev.xbutton.button - 1); - return 1; - - case KeyPress: - { - ev->type = EPHYR_EV_KEY_PRESS; - ev->key_state = xev.xkey.state; - ev->data.key_down.scancode = xev.xkey.keycode; - return 1; - } - case KeyRelease: - - if ((XKeycodeToKeysym(HostX.dpy, xev.xkey.keycode, 0) == XK_Shift_L - || XKeycodeToKeysym(HostX.dpy, xev.xkey.keycode, - 0) == XK_Shift_R) - && (xev.xkey.state & ControlMask)) { - struct EphyrHostScreen *host_screen = - host_screen_from_window(xev.xexpose.window); - - if (grabbed_screen != -1) { - XUngrabKeyboard(HostX.dpy, CurrentTime); - XUngrabPointer(HostX.dpy, CurrentTime); - grabbed_screen = -1; - hostx_set_win_title(host_screen->info, - "(ctrl+shift grabs mouse and keyboard)"); - } - else { - /* Attempt grab */ - if (XGrabKeyboard(HostX.dpy, host_screen->win, True, - GrabModeAsync, - GrabModeAsync, CurrentTime) == 0) { - if (XGrabPointer(HostX.dpy, host_screen->win, True, - NoEventMask, - GrabModeAsync, - GrabModeAsync, - host_screen->win, None, - CurrentTime) == 0) { - grabbed_screen = host_screen->mynum; - hostx_set_win_title - (host_screen->info, - "(ctrl+shift releases mouse and keyboard)"); - } - else /* Failed pointer grabm ungrab keyboard */ - XUngrabKeyboard(HostX.dpy, CurrentTime); - } - } - } - - /* Still send the release event even if above has happened - * server will get confused with just an up event. - * Maybe it would be better to just block shift+ctrls getting to - * kdrive all togeather. - */ - ev->type = EPHYR_EV_KEY_RELEASE; - ev->key_state = xev.xkey.state; - ev->data.key_up.scancode = xev.xkey.keycode; - return 1; - - case ConfigureNotify: - { - struct EphyrHostScreen *host_screen = - host_screen_from_window(xev.xconfigure.window); - - if (host_screen && host_screen->win_pre_existing != None) { - ev->type = EPHYR_EV_CONFIGURE; - ev->data.configure.width = xev.xconfigure.width; - ev->data.configure.height = xev.xconfigure.height; - ev->data.configure.window = xev.xconfigure.window; - ev->data.configure.screen = host_screen->mynum; - return 1; - } - - return 0; - } - default: - break; - - } - } - return 0; -} - -void * -hostx_get_display(void) -{ - return HostX.dpy; + return HostX.screen; } int hostx_get_window(int a_screen_number) { + EphyrScrPriv *scrpriv; if (a_screen_number < 0 || a_screen_number >= HostX.n_screens) { EPHYR_LOG_ERROR("bad screen number:%d\n", a_screen_number); return 0; } - return HostX.screens[a_screen_number].win; + scrpriv = HostX.screens[a_screen_number]->driver; + return scrpriv->win; } int hostx_get_window_attributes(int a_window, EphyrHostWindowAttributes * a_attrs) { - XWindowAttributes attrs; + xcb_get_geometry_cookie_t geom_cookie; + xcb_get_window_attributes_cookie_t attr_cookie; + xcb_get_geometry_reply_t *geom_reply; + xcb_get_window_attributes_reply_t *attr_reply; - memset(&attrs, 0, sizeof(attrs)); + geom_cookie = xcb_get_geometry(HostX.conn, a_window); + attr_cookie = xcb_get_window_attributes(HostX.conn, a_window); + geom_reply = xcb_get_geometry_reply(HostX.conn, geom_cookie, NULL); + attr_reply = xcb_get_window_attributes_reply(HostX.conn, attr_cookie, NULL); - if (!XGetWindowAttributes(hostx_get_display(), a_window, &attrs)) { - return FALSE; - } - a_attrs->x = attrs.x; - a_attrs->y = attrs.y; - a_attrs->width = attrs.width; - a_attrs->height = attrs.height; - if (attrs.visual) - a_attrs->visualid = attrs.visual->visualid; + a_attrs->x = geom_reply->x; + a_attrs->y = geom_reply->y; + a_attrs->width = geom_reply->width; + a_attrs->height = geom_reply->height; + a_attrs->visualid = attr_reply->visual; + + free(geom_reply); + free(attr_reply); return TRUE; } -int -hostx_get_extension_info(const char *a_ext_name, - int *a_major_opcode, - int *a_first_event, int *a_first_error) -{ - if (!a_ext_name || !a_major_opcode || !a_first_event || !a_first_error) - return 0; - if (!XQueryExtension(HostX.dpy, - a_ext_name, - a_major_opcode, a_first_event, a_first_error)) { - return 0; - } - return 1; -} - int hostx_get_visuals_info(EphyrHostVisualInfo ** a_visuals, int *a_num_entries) { - Display *dpy = hostx_get_display(); - Bool is_ok = False; - XVisualInfo templ, *visuals = NULL; + Bool is_ok = FALSE; EphyrHostVisualInfo *host_visuals = NULL; - int nb_items = 0, i = 0; + int nb_items = 0, i = 0, screen_num; + xcb_screen_iterator_t screens; + xcb_depth_iterator_t depths; - EPHYR_RETURN_VAL_IF_FAIL(a_visuals && a_num_entries && dpy, False); + EPHYR_RETURN_VAL_IF_FAIL(a_visuals && a_num_entries, FALSE); EPHYR_LOG("enter\n"); - memset(&templ, 0, sizeof(templ)); - visuals = XGetVisualInfo(dpy, VisualNoMask, &templ, &nb_items); - if (!visuals) { - EPHYR_LOG_ERROR("host does not advertise any visual\n"); - goto out; + + screens = xcb_setup_roots_iterator(xcb_get_setup(HostX.conn)); + for (screen_num = 0; screens.rem; screen_num++, xcb_screen_next(&screens)) { + depths = xcb_screen_allowed_depths_iterator(screens.data); + for (; depths.rem; xcb_depth_next(&depths)) { + xcb_visualtype_t *visuals = xcb_depth_visuals(depths.data); + EphyrHostVisualInfo *tmp_visuals = + realloc(host_visuals, + (nb_items + depths.data->visuals_len) + * sizeof(EphyrHostVisualInfo)); + if (!tmp_visuals) { + goto out; + } + host_visuals = tmp_visuals; + for (i = 0; i < depths.data->visuals_len; i++) { + host_visuals[nb_items + i].visualid = visuals[i].visual_id; + host_visuals[nb_items + i].screen = screen_num; + host_visuals[nb_items + i].depth = depths.data->depth; + host_visuals[nb_items + i].class = visuals[i]._class; + host_visuals[nb_items + i].red_mask = visuals[i].red_mask; + host_visuals[nb_items + i].green_mask = visuals[i].green_mask; + host_visuals[nb_items + i].blue_mask = visuals[i].blue_mask; + host_visuals[nb_items + i].colormap_size = visuals[i].colormap_entries; + host_visuals[nb_items + i].bits_per_rgb = visuals[i].bits_per_rgb_value; + } + nb_items += depths.data->visuals_len; + } } + EPHYR_LOG("host advertises %d visuals\n", nb_items); - host_visuals = calloc(nb_items, sizeof(EphyrHostVisualInfo)); - for (i = 0; i < nb_items; i++) { - host_visuals[i].visualid = visuals[i].visualid; - host_visuals[i].screen = visuals[i].screen; - host_visuals[i].depth = visuals[i].depth; - host_visuals[i].class = visuals[i].class; - host_visuals[i].red_mask = visuals[i].red_mask; - host_visuals[i].green_mask = visuals[i].green_mask; - host_visuals[i].blue_mask = visuals[i].blue_mask; - host_visuals[i].colormap_size = visuals[i].colormap_size; - host_visuals[i].bits_per_rgb = visuals[i].bits_per_rgb; - } *a_visuals = host_visuals; *a_num_entries = nb_items; host_visuals = NULL; is_ok = TRUE; - out: - if (visuals) { - XFree(visuals); - visuals = NULL; - } +out: free(host_visuals); host_visuals = NULL; EPHYR_LOG("leave\n"); @@ -1140,54 +974,58 @@ hostx_create_window(int a_screen_number, int a_visual_id, int *a_host_peer /*out parameter */ ) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - XVisualInfo *visual_info = NULL, visual_info_templ; - int visual_mask = VisualIDMask; - Window win = None; - int nb_visuals = 0, winmask = 0; - XSetWindowAttributes attrs; + xcb_window_t win; + int winmask = 0; + uint32_t attrs[2]; + xcb_screen_t *screen = xcb_aux_get_screen(HostX.conn, hostx_get_screen()); + xcb_visualtype_t *visual; + int depth = 0; + EphyrScrPriv *scrpriv = HostX.screens[a_screen_number]->driver; - EPHYR_RETURN_VAL_IF_FAIL(dpy && a_geometry, FALSE); + EPHYR_RETURN_VAL_IF_FAIL(screen && a_geometry, FALSE); EPHYR_LOG("enter\n"); - /*get visual */ - memset(&visual_info, 0, sizeof(visual_info)); - visual_info_templ.visualid = a_visual_id; - visual_info = XGetVisualInfo(dpy, visual_mask, - &visual_info_templ, &nb_visuals); - if (!visual_info) { - EPHYR_LOG_ERROR("argh, could not find a remote visual with id:%d\n", - a_visual_id); + visual = xcb_aux_find_visual_by_id(screen, a_visual_id); + if (!visual) { + EPHYR_LOG_ERROR ("argh, could not find a remote visual with id:%d\n", + a_visual_id); goto out; } - memset(&attrs, 0, sizeof(attrs)); - attrs.colormap = XCreateColormap(dpy, - RootWindow(dpy, - visual_info->screen), - visual_info->visual, AllocNone); - attrs.event_mask = ButtonPressMask - | ButtonReleaseMask - | PointerMotionMask | KeyPressMask | KeyReleaseMask | ExposureMask; - winmask = CWColormap | CWEventMask; + depth = xcb_aux_get_depth_of_visual(screen, a_visual_id); - win = XCreateWindow(dpy, hostx_get_window(a_screen_number), - a_geometry->x, a_geometry->y, - a_geometry->width, a_geometry->height, 0, - visual_info->depth, CopyFromParent, - visual_info->visual, winmask, &attrs); - if (win == None) { - EPHYR_LOG_ERROR("failed to create peer window\n"); - goto out; - } - if (HostX.screens[a_screen_number].peer_win == None) { - HostX.screens[a_screen_number].peer_win = win; + winmask = XCB_CW_EVENT_MASK | XCB_CW_COLORMAP; + attrs[0] = XCB_EVENT_MASK_BUTTON_PRESS + |XCB_EVENT_MASK_BUTTON_RELEASE + |XCB_EVENT_MASK_POINTER_MOTION + |XCB_EVENT_MASK_KEY_PRESS + |XCB_EVENT_MASK_KEY_RELEASE + |XCB_EVENT_MASK_EXPOSURE; + attrs[1] = xcb_generate_id(HostX.conn); + xcb_create_colormap(HostX.conn, + XCB_COLORMAP_ALLOC_NONE, + attrs[1], + hostx_get_window(a_screen_number), + a_visual_id); + + win = xcb_generate_id(HostX.conn); + xcb_create_window(HostX.conn, + depth, + win, + hostx_get_window (a_screen_number), + a_geometry->x, a_geometry->y, + a_geometry->width, a_geometry->height, 0, + XCB_WINDOW_CLASS_COPY_FROM_PARENT, + a_visual_id, winmask, attrs); + + if (scrpriv->peer_win == XCB_NONE) { + scrpriv->peer_win = win; } else { EPHYR_LOG_ERROR("multiple peer windows created for same screen\n"); } - XFlush(dpy); - XMapWindow(dpy, win); + xcb_flush(HostX.conn); + xcb_map_window(HostX.conn, win); *a_host_peer = win; is_ok = TRUE; out: @@ -1198,26 +1036,31 @@ hostx_create_window(int a_screen_number, int hostx_destroy_window(int a_win) { - Display *dpy = hostx_get_display(); - - EPHYR_RETURN_VAL_IF_FAIL(dpy, FALSE); - XDestroyWindow(dpy, a_win); - XFlush(dpy); + xcb_destroy_window(HostX.conn, a_win); + xcb_flush(HostX.conn); return TRUE; } int hostx_set_window_geometry(int a_win, EphyrBox * a_geo) { - Display *dpy = hostx_get_display(); + uint32_t mask = XCB_CONFIG_WINDOW_X + | XCB_CONFIG_WINDOW_Y + | XCB_CONFIG_WINDOW_WIDTH + | XCB_CONFIG_WINDOW_HEIGHT; + uint32_t values[4]; - EPHYR_RETURN_VAL_IF_FAIL(dpy && a_geo, FALSE); + EPHYR_RETURN_VAL_IF_FAIL(a_geo, FALSE); EPHYR_LOG("enter. x,y,w,h:(%d,%d,%d,%d)\n", a_geo->x, a_geo->y, a_geo->width, a_geo->height); - XMoveWindow(dpy, a_win, a_geo->x, a_geo->y); - XResizeWindow(dpy, a_win, a_geo->width, a_geo->height); + values[0] = a_geo->x; + values[1] = a_geo->y; + values[2] = a_geo->width; + values[3] = a_geo->height; + xcb_configure_window(HostX.conn, a_win, mask, values); + EPHYR_LOG("leave\n"); return TRUE; } @@ -1227,15 +1070,16 @@ hostx_set_window_bounding_rectangles(int a_window, EphyrRect * a_rects, int a_num_rects) { Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); int i = 0; - XRectangle *rects = NULL; + xcb_rectangle_t *rects = NULL; - EPHYR_RETURN_VAL_IF_FAIL(dpy && a_rects, FALSE); + EPHYR_RETURN_VAL_IF_FAIL(a_rects, FALSE); EPHYR_LOG("enter. num rects:%d\n", a_num_rects); - rects = calloc(a_num_rects, sizeof(XRectangle)); + rects = calloc(a_num_rects, sizeof (xcb_rectangle_t)); + if (!rects) + goto out; for (i = 0; i < a_num_rects; i++) { rects[i].x = a_rects[i].x1; rects[i].y = a_rects[i].y1; @@ -1244,62 +1088,23 @@ hostx_set_window_bounding_rectangles(int a_window, EPHYR_LOG("borders clipped to rect[x:%d,y:%d,w:%d,h:%d]\n", rects[i].x, rects[i].y, rects[i].width, rects[i].height); } - /*this aways returns 1 */ - XShapeCombineRectangles(dpy, a_window, ShapeBounding, 0, 0, - rects, a_num_rects, ShapeSet, YXBanded); + xcb_shape_rectangles(HostX.conn, + XCB_SHAPE_SO_SET, + XCB_SHAPE_SK_BOUNDING, + XCB_CLIP_ORDERING_YX_BANDED, + a_window, + 0, 0, + a_num_rects, + rects); is_ok = TRUE; +out: free(rects); rects = NULL; EPHYR_LOG("leave\n"); return is_ok; } -int -hostx_set_window_clipping_rectangles(int a_window, - EphyrRect * a_rects, int a_num_rects) -{ - Bool is_ok = FALSE; - Display *dpy = hostx_get_display(); - int i = 0; - XRectangle *rects = NULL; - - EPHYR_RETURN_VAL_IF_FAIL(dpy && a_rects, FALSE); - - EPHYR_LOG("enter. num rects:%d\n", a_num_rects); - - rects = calloc(a_num_rects, sizeof(XRectangle)); - for (i = 0; i < a_num_rects; i++) { - rects[i].x = a_rects[i].x1; - rects[i].y = a_rects[i].y1; - rects[i].width = abs(a_rects[i].x2 - a_rects[i].x1); - rects[i].height = abs(a_rects[i].y2 - a_rects[i].y1); - EPHYR_LOG("clipped to rect[x:%d,y:%d,w:%d,h:%d]\n", - rects[i].x, rects[i].y, rects[i].width, rects[i].height); - } - /*this aways returns 1 */ - XShapeCombineRectangles(dpy, a_window, ShapeClip, 0, 0, - rects, a_num_rects, ShapeSet, YXBanded); - is_ok = TRUE; - - free(rects); - rects = NULL; - EPHYR_LOG("leave\n"); - return is_ok; -} - -int -hostx_has_xshape(void) -{ - int event_base = 0, error_base = 0; - Display *dpy = hostx_get_display(); - - if (!XShapeQueryExtension(dpy, &event_base, &error_base)) { - return FALSE; - } - return TRUE; -} - #ifdef XF86DRI typedef struct { int is_valid; @@ -1316,7 +1121,6 @@ hostx_allocate_resource_id_peer(int a_local_resource_id, { int i = 0; ResourcePair *peer = NULL; - Display *dpy = hostx_get_display(); /* * first make sure a resource peer @@ -1341,7 +1145,7 @@ hostx_allocate_resource_id_peer(int a_local_resource_id, } } if (peer) { - peer->remote_id = XAllocID(dpy); + peer->remote_id = xcb_generate_id(HostX.conn); peer->local_id = a_local_resource_id; peer->is_valid = TRUE; } @@ -1373,31 +1177,4 @@ hostx_get_resource_id_peer(int a_local_resource_id, int *a_remote_resource_id) return FALSE; } -int -hostx_has_dri(void) -{ - int event_base = 0, error_base = 0; - Display *dpy = hostx_get_display(); - - if (!dpy) - return FALSE; - - if (!XF86DRIQueryExtension(dpy, &event_base, &error_base)) { - return FALSE; - } - return TRUE; -} - -int -hostx_has_glx(void) -{ - Display *dpy = hostx_get_display(); - int event_base = 0, error_base = 0; - - if (!glXQueryExtension(dpy, &event_base, &error_base)) { - return FALSE; - } - return TRUE; -} - #endif /* XF86DRI */ diff --git a/xserver/hw/kdrive/ephyr/hostx.h b/xserver/hw/kdrive/ephyr/hostx.h index 38b7b3768..e83323a0c 100644 --- a/xserver/hw/kdrive/ephyr/hostx.h +++ b/xserver/hw/kdrive/ephyr/hostx.h @@ -28,6 +28,8 @@ #include #include +#include +#include "ephyr.h" #define EPHYR_WANT_DEBUG 0 @@ -39,69 +41,12 @@ #endif typedef struct EphyrHostXVars EphyrHostXVars; -typedef struct EphyrHostXEvent EphyrHostXEvent; -typedef void *EphyrScreenInfo; -typedef enum EphyrHostXEventType { - EPHYR_EV_MOUSE_MOTION, - EPHYR_EV_MOUSE_PRESS, - EPHYR_EV_MOUSE_RELEASE, - EPHYR_EV_KEY_PRESS, - EPHYR_EV_KEY_RELEASE, - EPHYR_EV_EXPOSE, - EPHYR_EV_CONFIGURE, -} EphyrHostXEventType; -/* I can't believe it's not a KeySymsRec. */ typedef struct { int minKeyCode; int maxKeyCode; - int mapWidth; - CARD32 *map; } EphyrKeySyms; -struct EphyrHostXEvent { - EphyrHostXEventType type; - - union { - struct mouse_motion { - int x; - int y; - int screen; - int window; - } mouse_motion; - - struct mouse_down { - int button_num; - } mouse_down; - - struct mouse_up { - int button_num; - } mouse_up; - - struct key_up { - int scancode; - } key_up; - - struct key_down { - int scancode; - } key_down; - - struct expose { - int window; - } expose; - - struct configure { - int width; - int height; - int screen; - int window; - } configure; - - } data; - - int key_state; -}; - typedef struct { VisualID visualid; int screen; @@ -129,13 +74,13 @@ typedef struct { } EphyrRect; int - hostx_want_screen_size(EphyrScreenInfo screen, int *width, int *height); +hostx_want_screen_size(KdScreenInfo *screen, int *width, int *height); int hostx_want_host_cursor(void); void - hostx_use_host_cursor(void); + hostx_use_sw_cursor(void); void hostx_use_fullscreen(void); @@ -144,7 +89,7 @@ int hostx_want_fullscreen(void); int - hostx_want_preexisting_window(EphyrScreenInfo screen); +hostx_want_preexisting_window(KdScreenInfo *screen); void hostx_use_preexisting_window(unsigned long win_id); @@ -162,52 +107,50 @@ int hostx_init(void); void - hostx_add_screen(EphyrScreenInfo screen, unsigned long win_id, int screen_num); +hostx_add_screen(KdScreenInfo *screen, unsigned long win_id, int screen_num); void hostx_set_display_name(char *name); void - hostx_set_screen_number(EphyrScreenInfo screen, int number); +hostx_set_screen_number(KdScreenInfo *screen, int number); void - hostx_set_win_title(EphyrScreenInfo screen, char *extra_text); +hostx_set_win_title(KdScreenInfo *screen, const char *extra_text); int hostx_get_depth(void); int - hostx_get_server_depth(EphyrScreenInfo screen); - -void - hostx_set_server_depth(EphyrScreenInfo screen, int depth); +hostx_get_server_depth(KdScreenInfo *screen); int - hostx_get_bpp(void *info); +hostx_get_bpp(KdScreenInfo *screen); void - hostx_get_visual_masks(void *info, CARD32 *rmsk, CARD32 *gmsk, CARD32 *bmsk); +hostx_get_visual_masks(KdScreenInfo *screen, + CARD32 *rmsk, CARD32 *gmsk, CARD32 *bmsk); void hostx_set_cmap_entry(unsigned char idx, unsigned char r, unsigned char g, unsigned char b); -void *hostx_screen_init(EphyrScreenInfo screen, +void *hostx_screen_init(KdScreenInfo *screen, int width, int height, int buffer_height, int *bytes_per_line, int *bits_per_pixel); void - -hostx_paint_rect(EphyrScreenInfo screen, +hostx_paint_rect(KdScreenInfo *screen, int sx, int sy, int dx, int dy, int width, int height); void hostx_load_keymap(void); -int - hostx_get_event(EphyrHostXEvent * ev); +xcb_connection_t * +hostx_get_xcbconn(void); -void *hostx_get_display(void); +int +hostx_get_screen(void); int hostx_get_window(int a_screen_number); @@ -215,11 +158,6 @@ int int hostx_get_window_attributes(int a_window, EphyrHostWindowAttributes * a_attr); -int - -hostx_get_extension_info(const char *a_ext_name, - int *a_major_opcode, - int *a_first_even, int *a_first_error); int hostx_get_visuals_info(EphyrHostVisualInfo ** a_visuals, int *a_num_entries); @@ -234,9 +172,7 @@ int hostx_set_window_geometry(int a_win, EphyrBox * a_geo); int hostx_set_window_bounding_rectangles(int a_window, EphyrRect * a_rects, int a_num_rects); -int hostx_set_window_clipping_rectangles(int a_window, - EphyrRect * a_rects, int a_num_rects); -int hostx_has_xshape(void); +int host_has_extension(xcb_extension_t *extension); #ifdef XF86DRI int hostx_lookup_peer_window(void *a_local_window, diff --git a/xserver/hw/kdrive/ephyr/man/Makefile.in b/xserver/hw/kdrive/ephyr/man/Makefile.in index b5fa27aa5..783623fda 100644 --- a/xserver/hw/kdrive/ephyr/man/Makefile.in +++ b/xserver/hw/kdrive/ephyr/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/kdrive/ephyr/man/Xephyr.man b/xserver/hw/kdrive/ephyr/man/Xephyr.man index ca88ab240..f14f6c864 100644 --- a/xserver/hw/kdrive/ephyr/man/Xephyr.man +++ b/xserver/hw/kdrive/ephyr/man/Xephyr.man @@ -46,7 +46,7 @@ and the following additional options: sets the screen size. .TP 8 .BI -parent " id" -uses exiting window +uses existing window .I id . If a .BI -screen @@ -59,6 +59,10 @@ 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. +.TP 8 +.B -resizeable +Allow the Xephyr window to be resized, even if not embedded into a parent +window. By default, the Xephyr window has a fixed size. .SH "SIGNALS" Send a SIGUSR1 to the server (e.g. pkill -USR1 Xephyr) to toggle the debugging mode. diff --git a/xserver/hw/kdrive/ephyr/os.c b/xserver/hw/kdrive/ephyr/os.c index a2a705dd9..56b52d143 100644 --- a/xserver/hw/kdrive/ephyr/os.c +++ b/xserver/hw/kdrive/ephyr/os.c @@ -28,7 +28,7 @@ #endif #include "ephyr.h" -extern void processScreenArg(char *screen_size, char *parent_id); +extern void processScreenArg(const char *screen_size, char *parent_id); static int EphyrInit(void) diff --git a/xserver/hw/kdrive/ephyr/xf86dri.h b/xserver/hw/kdrive/ephyr/xf86dri.h deleted file mode 100644 index 88d3f3bf1..000000000 --- a/xserver/hw/kdrive/ephyr/xf86dri.h +++ /dev/null @@ -1,124 +0,0 @@ -/* $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/xserver/hw/kdrive/fake/Makefile.am b/xserver/hw/kdrive/fake/Makefile.am index 6d3ed056e..14c99c3cc 100644 --- a/xserver/hw/kdrive/fake/Makefile.am +++ b/xserver/hw/kdrive/fake/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/fake/Makefile.in b/xserver/hw/kdrive/fake/Makefile.in index 550f3dccf..7f99a338b 100644 --- a/xserver/hw/kdrive/fake/Makefile.in +++ b/xserver/hw/kdrive/fake/Makefile.in @@ -187,9 +187,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -221,6 +224,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -250,6 +254,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -293,6 +299,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -306,12 +313,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -377,6 +384,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -455,7 +464,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/fbdev/Makefile.am b/xserver/hw/kdrive/fbdev/Makefile.am index ec9df95e0..7e8ba024c 100644 --- a/xserver/hw/kdrive/fbdev/Makefile.am +++ b/xserver/hw/kdrive/fbdev/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/fbdev/Makefile.in b/xserver/hw/kdrive/fbdev/Makefile.in index 100bb7e44..27281014d 100644 --- a/xserver/hw/kdrive/fbdev/Makefile.in +++ b/xserver/hw/kdrive/fbdev/Makefile.in @@ -188,9 +188,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -222,6 +225,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -251,6 +255,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -294,6 +300,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -307,12 +314,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -378,6 +385,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -456,7 +465,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/fbdev/fbdev.c b/xserver/hw/kdrive/fbdev/fbdev.c index fd14afa92..95f64cbef 100644 --- a/xserver/hw/kdrive/fbdev/fbdev.c +++ b/xserver/hw/kdrive/fbdev/fbdev.c @@ -30,7 +30,7 @@ extern int KdTsPhyScreen; -char *fbdevDevicePath = NULL; +const char *fbdevDevicePath = NULL; static Bool fbdevInitialize(KdCardInfo * card, FbdevPriv * priv) @@ -206,13 +206,23 @@ fbdevScreenInitialize(KdScreenInfo * screen, FbdevScrPriv * scrpriv) depth = priv->var.bits_per_pixel; gray = priv->var.grayscale; + /* Calculate fix.line_length if it's zero */ + if (!priv->fix.line_length) + priv->fix.line_length = (priv->var.xres_virtual * depth + 7) / 8; + switch (priv->fix.visual) { + case FB_VISUAL_MONO01: + case FB_VISUAL_MONO10: + screen->fb.visuals = (1 << StaticGray); + break; case FB_VISUAL_PSEUDOCOLOR: - if (gray) { - screen->fb.visuals = (1 << StaticGray); + screen->fb.visuals = (1 << StaticGray); + if (priv->var.bits_per_pixel == 1) { + /* Override to monochrome, to have preallocated black/white */ + priv->fix.visual = FB_VISUAL_MONO01; + } else if (gray) { /* could also support GrayScale, but what's the point? */ - } - else { + } else { screen->fb.visuals = ((1 << StaticGray) | (1 << GrayScale) | (1 << StaticColor) | @@ -309,6 +319,21 @@ fbdevWindowLinear(ScreenPtr pScreen, return (CARD8 *) priv->fb + row * priv->fix.line_length + offset; } +static void * +fbdevWindowAfb(ScreenPtr pScreen, + CARD32 row, + CARD32 offset, int mode, CARD32 *size, void *closure) +{ + KdScreenPriv(pScreen); + FbdevPriv *priv = pScreenPriv->card->driver; + + if (!pScreenPriv->enabled) + return 0; + /* offset to next plane */ + *size = priv->var.yres_virtual * priv->fix.line_length; + return (CARD8 *) priv->fb + row * priv->fix.line_length + offset; +} + Bool fbdevMapFramebuffer(KdScreenInfo * screen) { @@ -316,7 +341,8 @@ fbdevMapFramebuffer(KdScreenInfo * screen) KdPointerMatrix m; FbdevPriv *priv = screen->card->driver; - if (scrpriv->randr != RR_Rotate_0) + if (scrpriv->randr != RR_Rotate_0 || + priv->fix.type != FB_TYPE_PACKED_PIXELS) scrpriv->shadow = TRUE; else scrpriv->shadow = FALSE; @@ -392,33 +418,88 @@ fbdevSetShadow(ScreenPtr pScreen) window = fbdevWindowLinear; update = 0; - if (scrpriv->randr) - if (priv->var.bits_per_pixel == 16) { - switch (scrpriv->randr) { - case RR_Rotate_90: - if (useYX) - update = shadowUpdateRotate16_90YX; - else - update = shadowUpdateRotate16_90; - break; - case RR_Rotate_180: - update = shadowUpdateRotate16_180; - break; - case RR_Rotate_270: - if (useYX) - update = shadowUpdateRotate16_270YX; - else - update = shadowUpdateRotate16_270; - break; - default: - update = shadowUpdateRotate16; - break; + switch (priv->fix.type) { + case FB_TYPE_PACKED_PIXELS: + if (scrpriv->randr) + if (priv->var.bits_per_pixel == 16) { + switch (scrpriv->randr) { + case RR_Rotate_90: + if (useYX) + update = shadowUpdateRotate16_90YX; + else + update = shadowUpdateRotate16_90; + break; + case RR_Rotate_180: + update = shadowUpdateRotate16_180; + break; + case RR_Rotate_270: + if (useYX) + update = shadowUpdateRotate16_270YX; + else + update = shadowUpdateRotate16_270; + break; + default: + update = shadowUpdateRotate16; + break; + } } - } + else + update = shadowUpdateRotatePacked; else - update = shadowUpdateRotatePacked; - else - update = shadowUpdatePacked; + update = shadowUpdatePacked; + break; + + case FB_TYPE_PLANES: + window = fbdevWindowAfb; + switch (priv->var.bits_per_pixel) { + case 4: + update = shadowUpdateAfb4; + break; + + case 8: + update = shadowUpdateAfb8; + break; + + default: + FatalError("Bitplanes with bpp %u are not yet supported\n", + priv->var.bits_per_pixel); + } + break; + + case FB_TYPE_INTERLEAVED_PLANES: + if (priv->fix.type_aux == 2) { + switch (priv->var.bits_per_pixel) { + case 4: + update = shadowUpdateIplan2p4; + break; + + case 8: + update = shadowUpdateIplan2p8; + break; + + default: + FatalError("Atari interleaved bitplanes with bpp %u are not yet supported\n", + priv->var.bits_per_pixel); + } + } else { + FatalError("Interleaved bitplanes with interleave %u are not yet supported\n", + priv->fix.type_aux); + } + break; + + case FB_TYPE_TEXT: + FatalError("Text frame buffers are not yet supported\n"); + break; + + case FB_TYPE_VGA_PLANES: + FatalError("VGA planes are not yet supported\n"); + break; + + default: + FatalError("Unsupported frame buffer type %u\n", priv->fix.type); + break; + } + return KdShadowSet(pScreen, scrpriv->randr, update, window); } @@ -465,15 +546,19 @@ fbdevRandRSetConfig(ScreenPtr pScreen, int oldheight; int oldmmwidth; int oldmmheight; - int newwidth, newheight; + int newwidth, newheight, newmmwidth, newmmheight; if (screen->randr & (RR_Rotate_0 | RR_Rotate_180)) { newwidth = pSize->width; newheight = pSize->height; + newmmwidth = pSize->mmWidth; + newmmheight = pSize->mmHeight; } else { newwidth = pSize->height; newheight = pSize->width; + newmmwidth = pSize->mmHeight; + newmmheight = pSize->mmWidth; } if (wasEnabled) @@ -491,6 +576,10 @@ fbdevRandRSetConfig(ScreenPtr pScreen, */ scrpriv->randr = KdAddRotation(screen->randr, randr); + pScreen->width = newwidth; + pScreen->height = newheight; + pScreen->mmWidth = newmmwidth; + pScreen->mmHeight = newmmheight; fbdevUnmapFramebuffer(screen); @@ -565,6 +654,26 @@ fbdevCreateColormap(ColormapPtr pmap) xColorItem *pdefs; switch (priv->fix.visual) { + case FB_VISUAL_MONO01: + pScreen->whitePixel = 0; + pScreen->blackPixel = 1; + pmap->red[0].co.local.red = 65535; + pmap->red[0].co.local.green = 65535; + pmap->red[0].co.local.blue = 65535; + pmap->red[1].co.local.red = 0; + pmap->red[1].co.local.green = 0; + pmap->red[1].co.local.blue = 0; + return TRUE; + case FB_VISUAL_MONO10: + pScreen->blackPixel = 0; + pScreen->whitePixel = 1; + pmap->red[0].co.local.red = 0; + pmap->red[0].co.local.green = 0; + pmap->red[0].co.local.blue = 0; + pmap->red[1].co.local.red = 65535; + pmap->red[1].co.local.green = 65535; + pmap->red[1].co.local.blue = 65535; + return TRUE; case FB_VISUAL_STATIC_PSEUDOCOLOR: pVisual = pmap->pVisual; nent = pVisual->ColormapEntries; diff --git a/xserver/hw/kdrive/fbdev/fbdev.h b/xserver/hw/kdrive/fbdev/fbdev.h index 0706f4e11..f3f7aeceb 100644 --- a/xserver/hw/kdrive/fbdev/fbdev.h +++ b/xserver/hw/kdrive/fbdev/fbdev.h @@ -49,7 +49,7 @@ typedef struct _fbdevScrPriv { } FbdevScrPriv; extern KdCardFuncs fbdevFuncs; -extern char *fbdevDevicePath; +extern const char *fbdevDevicePath; Bool fbdevCardInit(KdCardInfo * card); diff --git a/xserver/hw/kdrive/linux/Makefile.am b/xserver/hw/kdrive/linux/Makefile.am index 93e5d2f9f..1362cd9d8 100644 --- a/xserver/hw/kdrive/linux/Makefile.am +++ b/xserver/hw/kdrive/linux/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/linux/Makefile.in b/xserver/hw/kdrive/linux/Makefile.in index 4bbf84c1b..8e122eba2 100644 --- a/xserver/hw/kdrive/linux/Makefile.in +++ b/xserver/hw/kdrive/linux/Makefile.in @@ -189,9 +189,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -223,6 +226,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -252,6 +256,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -295,6 +301,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -308,12 +315,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -379,6 +386,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -457,7 +466,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/linux/evdev.c b/xserver/hw/kdrive/linux/evdev.c index 9982fad36..63e840996 100644 --- a/xserver/hw/kdrive/linux/evdev.c +++ b/xserver/hw/kdrive/linux/evdev.c @@ -186,7 +186,7 @@ EvdevPtrRead(int evdevPort, void *closure) } } -char *kdefaultEvdev[] = { +const char *kdefaultEvdev[] = { "/dev/input/event0", "/dev/input/event1", "/dev/input/event2", diff --git a/xserver/hw/kdrive/linux/linux.c b/xserver/hw/kdrive/linux/linux.c index 498c2398d..00de2ae0e 100644 --- a/xserver/hw/kdrive/linux/linux.c +++ b/xserver/hw/kdrive/linux/linux.c @@ -63,7 +63,7 @@ LinuxVTRequest(int sig) /* Check before chowning -- this avoids touching the file system */ static void -LinuxCheckChown(char *file) +LinuxCheckChown(const char *file) { struct stat st; __uid_t u; diff --git a/xserver/hw/kdrive/linux/mouse.c b/xserver/hw/kdrive/linux/mouse.c index c87507790..2bfe7f242 100644 --- a/xserver/hw/kdrive/linux/mouse.c +++ b/xserver/hw/kdrive/linux/mouse.c @@ -193,7 +193,7 @@ MouseWriteBytes(int fd, unsigned char *c, int n, int timeout) #define MAX_VALID 4 /* number of valid packets before accepting */ typedef struct _kmouseProt { - char *name; + const char *name; Bool (*Complete) (KdPointerInfo * pi, unsigned char *ev, int ne); int (*Valid) (KdPointerInfo * pi, unsigned char *ev, int ne); Bool (*Parse) (KdPointerInfo * pi, unsigned char *ev, int ne); @@ -441,10 +441,8 @@ ps2SkipInit(KdPointerInfo * pi, int ninit, Bool ret_next) { Kmouse *km = pi->driverPrivate; int c = -1; - int skipping; Bool waiting; - skipping = 0; waiting = FALSE; while (ninit || ret_next) { c = MouseReadByte(&km->iob, MOUSE_TIMEOUT); @@ -469,8 +467,6 @@ static Bool ps2Init(KdPointerInfo * pi) { Kmouse *km = pi->driverPrivate; - int skipping; - Bool waiting; int id; unsigned char *init; int ninit; @@ -483,8 +479,6 @@ ps2Init(KdPointerInfo * pi) */ if (!MouseWriteByte(km->iob.fd, PSMC_SEND_DEV_ID, 100)) return FALSE; - skipping = 0; - waiting = FALSE; id = ps2SkipInit(pi, 0, TRUE); switch (id) { case 3: @@ -744,7 +738,7 @@ MouseInitProtocol(Kmouse * km) } static void -MouseFirstProtocol(Kmouse * km, char *prot) +MouseFirstProtocol(Kmouse * km, const char *prot) { if (prot) { for (km->i_prot = 0; km->i_prot < NUM_PROT; km->i_prot++) @@ -893,7 +887,7 @@ MouseRead(int mousePort, void *closure) int MouseInputType; -char *kdefaultMouse[] = { +const char *kdefaultMouse[] = { "/dev/input/mice", "/dev/mouse", "/dev/psaux", diff --git a/xserver/hw/kdrive/linux/ps2.c b/xserver/hw/kdrive/linux/ps2.c index d1522a2d0..e5417a567 100644 --- a/xserver/hw/kdrive/linux/ps2.c +++ b/xserver/hw/kdrive/linux/ps2.c @@ -58,7 +58,7 @@ Ps2ReadBytes(int fd, char *buf, int len, int min) return tot; } -char *Ps2Names[] = { +const char *Ps2Names[] = { "/dev/psaux", /* "/dev/mouse", */ "/dev/input/mice", diff --git a/xserver/hw/kdrive/openbsd/Makefile.in b/xserver/hw/kdrive/openbsd/Makefile.in index a62a59c2e..3df02dd46 100644 --- a/xserver/hw/kdrive/openbsd/Makefile.in +++ b/xserver/hw/kdrive/openbsd/Makefile.in @@ -180,9 +180,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -214,6 +217,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -243,6 +247,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -286,6 +292,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -299,12 +306,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -370,6 +377,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/kdrive/src/Makefile.am b/xserver/hw/kdrive/src/Makefile.am index 51375b950..5799ddbdb 100644 --- a/xserver/hw/kdrive/src/Makefile.am +++ b/xserver/hw/kdrive/src/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/src/Makefile.in b/xserver/hw/kdrive/src/Makefile.in index a93cc6f56..c785be8db 100644 --- a/xserver/hw/kdrive/src/Makefile.in +++ b/xserver/hw/kdrive/src/Makefile.in @@ -187,9 +187,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -221,6 +224,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -250,6 +254,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -293,6 +299,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -306,12 +313,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -377,6 +384,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -455,7 +464,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = \ +AM_CPPFLAGS = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ diff --git a/xserver/hw/kdrive/src/kdrive.c b/xserver/hw/kdrive/src/kdrive.c index 7d9bf9ddd..382968420 100644 --- a/xserver/hw/kdrive/src/kdrive.c +++ b/xserver/hw/kdrive/src/kdrive.c @@ -246,8 +246,8 @@ ddxGiveUp(enum ExitCode error) Bool kdDumbDriver; Bool kdSoftCursor; -char * -KdParseFindNext(char *cur, const char *delim, char *save, char *last) +const char * +KdParseFindNext(const char *cur, const char *delim, char *save, char *last) { while (*cur && !strchr(delim, *cur)) { *save++ = *cur++; @@ -282,7 +282,7 @@ KdSubRotation(Rotation a, Rotation b) } void -KdParseScreen(KdScreenInfo * screen, char *arg) +KdParseScreen(KdScreenInfo * screen, const char *arg) { char delim; char save[1024]; @@ -328,7 +328,8 @@ KdParseScreen(KdScreenInfo * screen, char *arg) screen->height = pixels; screen->height_mm = mm; } - if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y') + if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y' && + (delim != '\0' || i == 0)) return; } @@ -943,7 +944,8 @@ KdInitScreen(ScreenInfo * pScreenInfo, { KdCardInfo *card = screen->card; - (*card->cfuncs->scrinit) (screen); + if (!(*card->cfuncs->scrinit) (screen)) + FatalError("Screen initialization failed!\n"); if (!card->cfuncs->initAccel) screen->dumb = TRUE; diff --git a/xserver/hw/kdrive/src/kdrive.h b/xserver/hw/kdrive/src/kdrive.h index 4829e1a1b..296d611ed 100644 --- a/xserver/hw/kdrive/src/kdrive.h +++ b/xserver/hw/kdrive/src/kdrive.h @@ -174,7 +174,7 @@ typedef enum _kdPointerState { typedef struct _KdPointerInfo KdPointerInfo; typedef struct _KdPointerDriver { - char *name; + const char *name; Status(*Init) (KdPointerInfo *); Status(*Enable) (KdPointerInfo *); void (*Disable) (KdPointerInfo *); @@ -243,7 +243,7 @@ typedef struct { typedef struct _KdKeyboardInfo KdKeyboardInfo; typedef struct _KdKeyboardDriver { - char *name; + const char *name; Bool (*Init) (KdKeyboardInfo *); Bool (*Enable) (KdKeyboardInfo *); void (*Leds) (KdKeyboardInfo *, int); @@ -411,13 +411,14 @@ Rotation KdAddRotation(Rotation a, Rotation b); Rotation KdSubRotation(Rotation a, Rotation b); void - KdParseScreen(KdScreenInfo * screen, char *arg); + KdParseScreen(KdScreenInfo * screen, const char *arg); -KdPointerInfo *KdParsePointer(char *arg); +KdPointerInfo *KdParsePointer(const char *arg); -KdKeyboardInfo *KdParseKeyboard(char *arg); +KdKeyboardInfo *KdParseKeyboard(const char *arg); -char *KdParseFindNext(char *cur, const char *delim, char *save, char *last); +const char * +KdParseFindNext(const char *cur, const char *delim, char *save, char *last); void KdParseRgba(char *rgba); @@ -505,6 +506,7 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo * ki, unsigned char scan_code, #define KD_BUTTON_4 0x08 #define KD_BUTTON_5 0x10 #define KD_BUTTON_8 0x80 +#define KD_POINTER_DESKTOP 0x40000000 #define KD_MOUSE_DELTA 0x80000000 void diff --git a/xserver/hw/kdrive/src/kinput.c b/xserver/hw/kdrive/src/kinput.c index 09aae442b..a9a9fa583 100644 --- a/xserver/hw/kdrive/src/kinput.c +++ b/xserver/hw/kdrive/src/kinput.c @@ -308,21 +308,22 @@ KdEnableInput(void) kdInputEnabled = TRUE; + ev.any.time = GetTimeInMillis(); + for (ki = kdKeyboards; ki; ki = ki->next) { if (ki->driver && ki->driver->Enable) (*ki->driver->Enable) (ki); + /* reset screen saver */ + NoticeEventTime (&ev, ki->dixdev); } for (pi = kdPointers; pi; pi = pi->next) { if (pi->driver && pi->driver->Enable) (*pi->driver->Enable) (pi); + /* reset screen saver */ + NoticeEventTime (&ev, pi->dixdev); } - /* reset screen saver */ - ev.any.time = GetTimeInMillis(); - NoticeEventTime(&ev, pi->dixdev); - NoticeEventTime(&ev, ki->dixdev); - OsReleaseSIGIO(); } @@ -1086,7 +1087,7 @@ KdParseKbdOptions(KdKeyboardInfo * ki) } KdKeyboardInfo * -KdParseKeyboard(char *arg) +KdParseKeyboard(const char *arg) { char save[1024]; char delim; @@ -1178,7 +1179,7 @@ KdParsePointerOptions(KdPointerInfo * pi) } KdPointerInfo * -KdParsePointer(char *arg) +KdParsePointer(const char *arg) { char save[1024]; char delim; @@ -1675,13 +1676,6 @@ char *kdActionNames[] = { }; #endif /* DEBUG */ -static void -KdQueueEvent(DeviceIntPtr pDev, InternalEvent *ev) -{ - KdAssertSigioBlocked("KdQueueEvent"); - mieqEnqueue(pDev, ev); -} - /* We return true if we're stealing the event. */ static Bool KdRunMouseMachine(KdPointerInfo * pi, KdInputClass c, int type, int x, int y, @@ -1821,16 +1815,11 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo * ki, unsigned char scan_code, unsigned char is_up) { unsigned char key_code; - KeyClassPtr keyc = NULL; - KeybdCtrl *ctrl = NULL; int type; if (!ki || !ki->dixdev || !ki->dixdev->kbdfeed || !ki->dixdev->key) return; - keyc = ki->dixdev->key; - ctrl = &ki->dixdev->kbdfeed->ctrl; - if (scan_code >= ki->minScanCode && scan_code <= ki->maxScanCode) { key_code = scan_code + KD_MIN_KEYCODE - ki->minScanCode; @@ -1864,7 +1853,6 @@ void KdEnqueuePointerEvent(KdPointerInfo * pi, unsigned long flags, int rx, int ry, int rz) { - CARD32 ms; unsigned char buttons; int x, y, z; int (*matrix)[3] = kdPointerMatrix.matrix; @@ -1875,8 +1863,6 @@ KdEnqueuePointerEvent(KdPointerInfo * pi, unsigned long flags, int rx, int ry, if (!pi) return; - ms = GetTimeInMillis(); - /* we don't need to transform z, so we don't. */ if (flags & KD_MOUSE_DELTA) { if (pi->transformCoordinates) { @@ -1909,6 +1895,8 @@ KdEnqueuePointerEvent(KdPointerInfo * pi, unsigned long flags, int rx, int ry, } else { dixflags = POINTER_ABSOLUTE; + if (flags & KD_POINTER_DESKTOP) + dixflags |= POINTER_DESKTOP; if (x != pi->dixdev->last.valuators[0] || y != pi->dixdev->last.valuators[1]) _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, @@ -2042,25 +2030,25 @@ KdCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y) dx = KdScreenOrigin(pNewScreen)->x - KdScreenOrigin(pScreen)->x; dy = KdScreenOrigin(pNewScreen)->y - KdScreenOrigin(pScreen)->y; if (*x < 0) { - if (dx <= 0 && -dx < best_x) { + if (dx < 0 && -dx < best_x) { best_x = -dx; n_best_x = n; } } else if (*x >= pScreen->width) { - if (dx >= 0 && dx < best_x) { + if (dx > 0 && dx < best_x) { best_x = dx; n_best_x = n; } } if (*y < 0) { - if (dy <= 0 && -dy < best_y) { + if (dy < 0 && -dy < best_y) { best_y = -dy; n_best_y = n; } } else if (*y >= pScreen->height) { - if (dy >= 0 && dy < best_y) { + if (dy > 0 && dy < best_y) { best_y = dy; n_best_y = n; } diff --git a/xserver/hw/kdrive/src/kxv.c b/xserver/hw/kdrive/src/kxv.c index cf656363d..22639728d 100644 --- a/xserver/hw/kdrive/src/kxv.c +++ b/xserver/hw/kdrive/src/kxv.c @@ -1174,7 +1174,6 @@ void KdXVDisable(ScreenPtr pScreen) { XvScreenPtr pxvs; - KdXVScreenPtr ScreenPriv; XvAdaptorPtr pAdaptor; XvPortPtr pPort; XvPortRecPrivatePtr pPriv; @@ -1184,7 +1183,6 @@ KdXVDisable(ScreenPtr pScreen) return; pxvs = GET_XV_SCREEN(pScreen); - ScreenPriv = GET_KDXV_SCREEN(pScreen); for (i = 0; i < pxvs->nAdaptors; i++) { pAdaptor = &pxvs->pAdaptors[i]; diff --git a/xserver/hw/kdrive/wscons/Makefile.in b/xserver/hw/kdrive/wscons/Makefile.in index cc30c2e60..8c684d06f 100644 --- a/xserver/hw/kdrive/wscons/Makefile.in +++ b/xserver/hw/kdrive/wscons/Makefile.in @@ -193,9 +193,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -227,6 +230,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -256,6 +260,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -299,6 +305,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -312,12 +319,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -383,6 +390,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/vfb/Makefile.in b/xserver/hw/vfb/Makefile.in index 100dcc9d3..b0d2adf78 100644 --- a/xserver/hw/vfb/Makefile.in +++ b/xserver/hw/vfb/Makefile.in @@ -236,9 +236,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -270,6 +273,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -299,6 +303,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -342,6 +348,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -355,12 +362,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -426,6 +433,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/vfb/man/Makefile.in b/xserver/hw/vfb/man/Makefile.in index a6cab0c5c..3c3337b2b 100644 --- a/xserver/hw/vfb/man/Makefile.in +++ b/xserver/hw/vfb/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/Makefile.am b/xserver/hw/xfree86/Makefile.am index c3899b577..15670d01d 100644 --- a/xserver/hw/xfree86/Makefile.am +++ b/xserver/hw/xfree86/Makefile.am @@ -9,6 +9,11 @@ DRI2_SUBDIR = dri2 DRI2_LIB = dri2/libdri2.la endif +if DRI3 +DRI3_BUILDDIR = $(top_builddir)/dri3 +DRI3_LIB = $(DRI3_BUILDDIR)/libdri3.la +endif + if XF86UTILS XF86UTILS_SUBDIR = utils endif @@ -39,9 +44,9 @@ bin_PROGRAMS = Xorg nodist_Xorg_SOURCES = sdksyms.c AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ -INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \ -I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \ - -I$(srcdir)/dri -I$(srcdir)/dri2 + -I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3 LOCAL_LIBS = \ $(MAIN_LIB) \ @@ -59,6 +64,8 @@ LOCAL_LIBS = \ dixmods/libxorgxkb.la \ $(DRI_LIB) \ $(DRI2_LIB) \ + $(DRI3_LIB) \ + $(top_builddir)/miext/sync/libsync.la \ $(top_builddir)/mi/libmi.la \ $(top_builddir)/os/libos.la Xorg_LDADD = \ @@ -73,32 +80,28 @@ BUILT_SOURCES = xorg.conf.example DISTCLEANFILES = xorg.conf.example EXTRA_DIST = xorgconf.cpp -if SOLARIS_ASM_INLINE -# Needs to be built before any files are compiled when using Sun compilers -# so in*/out* inline definitions are properly processed. - -BUILT_SOURCES += os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il - -os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il: - cd os-support/solaris ; \ - $(MAKE) $(AM_MAKEFLAGS) solaris-@SOLARIS_INOUT_ARCH@.il +# Without logdir, X will post an error on the terminal and will not start +install-data-local: + $(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir) +if CYGWIN + $(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a endif -# do not use $(mkdir_p) if you want automake 1.7 to work -install-data-local: - mkdir -p $(DESTDIR)$(logdir) - - -install-exec-local: install-binPROGRAMS - (cd $(DESTDIR)$(bindir) && rm -f X && ln -s Xorg X) +install-exec-hook: + (cd $(DESTDIR)$(bindir) && rm -f X && $(LN_S) Xorg$(EXEEXT) X) if INSTALL_SETUID chown root $(DESTDIR)$(bindir)/Xorg chmod u+s $(DESTDIR)$(bindir)/Xorg endif + +uninstall-local: if CYGWIN - $(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a + $(AM_V_at)rm -f $(DESTDIR)$(libdir)/libXorg.exe.a endif +uninstall-hook: + $(AM_V_at)rm -f $(DESTDIR)$(bindir)/X + # Use variables from XORG_MANPAGE_SECTIONS and X Server configuration # Do not include manpages.am as values are not appropriate for rc files CONF_SUBSTS = -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \ @@ -115,7 +118,7 @@ CLEANFILES = sdksyms.c sdksyms.dep EXTRA_DIST += sdksyms.sh sdksyms.dep sdksyms.c: sdksyms.sh - $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES) + $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) SDKSYMS_DEP = sdksyms.dep include $(SDKSYMS_DEP) diff --git a/xserver/hw/xfree86/Makefile.in b/xserver/hw/xfree86/Makefile.in index b97f1c009..99c985f9a 100644 --- a/xserver/hw/xfree86/Makefile.in +++ b/xserver/hw/xfree86/Makefile.in @@ -51,10 +51,6 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = Xorg$(EXEEXT) - -# Needs to be built before any files are compiled when using Sun compilers -# so in*/out* inline definitions are properly processed. -@SOLARIS_ASM_INLINE_TRUE@am__append_1 = os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il subdir = hw/xfree86 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/depcomp @@ -88,8 +84,8 @@ am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ dixmods/libdixmods.la modes/libxf86modes.la \ ramdac/libramdac.la ddc/libddc.la i2c/libi2c.la \ $(am__DEPENDENCIES_1) dixmods/libxorgxkb.la $(DRI_LIB) \ - $(DRI2_LIB) $(top_builddir)/mi/libmi.la \ - $(top_builddir)/os/libos.la + $(DRI2_LIB) $(DRI3_LIB) $(top_builddir)/miext/sync/libsync.la \ + $(top_builddir)/mi/libmi.la $(top_builddir)/os/libos.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -232,9 +228,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -266,6 +265,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -295,6 +295,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -338,6 +340,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -351,12 +354,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -422,6 +425,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -504,6 +509,8 @@ top_srcdir = @top_srcdir@ @DRI_TRUE@DRI_LIB = dri/libdri.la @DRI2_TRUE@DRI2_SUBDIR = dri2 @DRI2_TRUE@DRI2_LIB = dri2/libdri2.la +@DRI3_TRUE@DRI3_BUILDDIR = $(top_builddir)/dri3 +@DRI3_TRUE@DRI3_LIB = $(DRI3_BUILDDIR)/libdri3.la @XF86UTILS_TRUE@XF86UTILS_SUBDIR = utils @VGAHW_TRUE@VGAHW_SUBDIR = vgahw @VBE_TRUE@VBE_SUBDIR = vbe @@ -520,9 +527,9 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \ nodist_Xorg_SOURCES = sdksyms.c AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ -INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \ -I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \ - -I$(srcdir)/dri -I$(srcdir)/dri2 + -I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3 LOCAL_LIBS = \ $(MAIN_LIB) \ @@ -540,6 +547,8 @@ LOCAL_LIBS = \ dixmods/libxorgxkb.la \ $(DRI_LIB) \ $(DRI2_LIB) \ + $(DRI3_LIB) \ + $(top_builddir)/miext/sync/libsync.la \ $(top_builddir)/mi/libmi.la \ $(top_builddir)/os/libos.la @@ -550,7 +559,7 @@ Xorg_LDADD = \ Xorg_DEPENDENCIES = $(LOCAL_LIBS) Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -BUILT_SOURCES = xorg.conf.example $(am__append_1) +BUILT_SOURCES = xorg.conf.example DISTCLEANFILES = xorg.conf.example EXTRA_DIST = xorgconf.cpp sdksyms.sh @@ -934,8 +943,9 @@ install-dvi: install-dvi-recursive install-dvi-am: -install-exec-am: install-binPROGRAMS install-exec-local - +install-exec-am: install-binPROGRAMS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-recursive install-html-am: @@ -974,11 +984,12 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-binPROGRAMS - +uninstall-am: uninstall-binPROGRAMS uninstall-local + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ cscopelist-recursive ctags-recursive install install-am \ - install-strip tags-recursive + install-exec-am install-strip tags-recursive uninstall-am .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-binPROGRAMS \ @@ -988,29 +999,31 @@ uninstall-am: uninstall-binPROGRAMS dvi-am html html-am info info-am install install-am \ install-binPROGRAMS install-data install-data-am \ install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-exec-local install-html \ - install-html-am install-info install-info-am install-man \ - install-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 + 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 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 uninstall-hook uninstall-local -@SOLARIS_ASM_INLINE_TRUE@os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il: -@SOLARIS_ASM_INLINE_TRUE@ cd os-support/solaris ; \ -@SOLARIS_ASM_INLINE_TRUE@ $(MAKE) $(AM_MAKEFLAGS) solaris-@SOLARIS_INOUT_ARCH@.il - -# do not use $(mkdir_p) if you want automake 1.7 to work +# Without logdir, X will post an error on the terminal and will not start install-data-local: - mkdir -p $(DESTDIR)$(logdir) + $(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir) +@CYGWIN_TRUE@ $(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a -install-exec-local: install-binPROGRAMS - (cd $(DESTDIR)$(bindir) && rm -f X && ln -s Xorg X) +install-exec-hook: + (cd $(DESTDIR)$(bindir) && rm -f X && $(LN_S) Xorg$(EXEEXT) X) @INSTALL_SETUID_TRUE@ chown root $(DESTDIR)$(bindir)/Xorg @INSTALL_SETUID_TRUE@ chmod u+s $(DESTDIR)$(bindir)/Xorg -@CYGWIN_TRUE@ $(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a + +uninstall-local: +@CYGWIN_TRUE@ $(AM_V_at)rm -f $(DESTDIR)$(libdir)/libXorg.exe.a + +uninstall-hook: + $(AM_V_at)rm -f $(DESTDIR)$(bindir)/X xorg.conf.example: xorgconf.cpp $(AM_V_GEN)$(SED) $(CONF_SUBSTS) < $(srcdir)/xorgconf.cpp > $@ @@ -1019,7 +1032,7 @@ relink: $(AM_V_at)rm -f Xorg$(EXEEXT) && $(MAKE) Xorg$(EXEEXT) sdksyms.dep sdksyms.c: sdksyms.sh - $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES) + $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS) include $(SDKSYMS_DEP) i2c/libi2c.la: diff --git a/xserver/hw/xfree86/common/Makefile.am b/xserver/hw/xfree86/common/Makefile.am index 532d87bbe..7a2b4bc1e 100644 --- a/xserver/hw/xfree86/common/Makefile.am +++ b/xserver/hw/xfree86/common/Makefile.am @@ -53,7 +53,7 @@ libcommon_la_SOURCES = xf86Configure.c xf86Bus.c xf86Config.c \ nodist_libcommon_la_SOURCES = xf86DefModeSet.c xf86Build.h libcommon_la_LIBADD = $(top_builddir)/config/libconfig.la -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ -I$(srcdir)/../loader -I$(srcdir)/../parser \ -I$(srcdir)/../vbe -I$(srcdir)/../int10 \ -I$(srcdir)/../vgahw -I$(srcdir)/../dixmods/extmod \ diff --git a/xserver/hw/xfree86/common/Makefile.in b/xserver/hw/xfree86/common/Makefile.in index 85f6d5ec8..517bb0e59 100644 --- a/xserver/hw/xfree86/common/Makefile.in +++ b/xserver/hw/xfree86/common/Makefile.in @@ -242,9 +242,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -276,6 +279,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -305,6 +309,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -348,6 +354,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -361,12 +368,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -432,6 +439,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -539,7 +548,7 @@ libcommon_la_SOURCES = xf86Configure.c xf86Bus.c xf86Config.c \ nodist_libcommon_la_SOURCES = xf86DefModeSet.c xf86Build.h libcommon_la_LIBADD = $(top_builddir)/config/libconfig.la -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ -I$(srcdir)/../loader -I$(srcdir)/../parser \ -I$(srcdir)/../vbe -I$(srcdir)/../int10 \ -I$(srcdir)/../vgahw -I$(srcdir)/../dixmods/extmod \ diff --git a/xserver/hw/xfree86/common/compiler.h b/xserver/hw/xfree86/common/compiler.h index a403cbd34..4f3454685 100644 --- a/xserver/hw/xfree86/common/compiler.h +++ b/xserver/hw/xfree86/common/compiler.h @@ -1351,7 +1351,7 @@ stl_u(unsigned long val, unsigned int *p) #else /* ix86 */ #if !defined(__SUNPRO_C) -#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) +#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) && !defined(__aarch64__) #ifdef GCCUSESGAS /* diff --git a/xserver/hw/xfree86/common/xf86.h b/xserver/hw/xfree86/common/xf86.h index 828d95850..eada01cf9 100644 --- a/xserver/hw/xfree86/common/xf86.h +++ b/xserver/hw/xfree86/common/xf86.h @@ -198,11 +198,6 @@ extern _X_EXPORT void *xf86GetPointerScreenFuncs(void); extern _X_EXPORT void xf86InitOrigins(void); extern _X_EXPORT void xf86ReconfigureLayout(void); -/* xf86cvt.c */ -extern _X_EXPORT DisplayModePtr xf86CVTMode(int HDisplay, int VDisplay, - float VRefresh, Bool Reduced, - Bool Interlaced); - /* xf86DPMS.c */ extern _X_EXPORT Bool xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, @@ -414,26 +409,6 @@ extern _X_EXPORT void xf86PrintModes(ScrnInfoPtr scrp); extern _X_EXPORT void xf86ShowClockRanges(ScrnInfoPtr scrp, ClockRangePtr clockRanges); -extern _X_EXPORT double -xf86ModeHSync(const DisplayModeRec * mode); -extern _X_EXPORT double -xf86ModeVRefresh(const DisplayModeRec * mode); -extern _X_EXPORT void -xf86SetModeDefaultName(DisplayModePtr mode); -extern _X_EXPORT void -xf86SetModeCrtc(DisplayModePtr p, int adjustFlags); -extern _X_EXPORT DisplayModePtr -xf86DuplicateMode(const DisplayModeRec * pMode); -extern _X_EXPORT void -xf86SaveModeContents(DisplayModePtr intern, const DisplayModeRec * pMode); -extern _X_EXPORT DisplayModePtr -xf86DuplicateModes(ScrnInfoPtr pScrn, DisplayModePtr modeList); -extern _X_EXPORT Bool -xf86ModesEqual(const DisplayModeRec * pMode1, const DisplayModeRec * pMode2); -extern _X_EXPORT void -xf86PrintModeline(int scrnIndex, DisplayModePtr mode); -extern _X_EXPORT DisplayModePtr -xf86ModesAdd(DisplayModePtr modes, DisplayModePtr new); /* xf86Option.c */ diff --git a/xserver/hw/xfree86/common/xf86AutoConfig.c b/xserver/hw/xfree86/common/xf86AutoConfig.c index bcc1feee0..4460b97a2 100644 --- a/xserver/hw/xfree86/common/xf86AutoConfig.c +++ b/xserver/hw/xfree86/common/xf86AutoConfig.c @@ -267,14 +267,6 @@ listPossibleVideoDrivers(char *matches[], int nmatches) if (i < (nmatches - 1)) i = xf86PciMatchDriver(matches, nmatches); #endif - /* Fallback to platform default hardware */ - if (i < (nmatches - 1)) { -#if defined(__i386__) || defined(__amd64__) || defined(__hurd__) - matches[i++] = xnfstrdup("vesa"); -#elif defined(__sparc__) && defined(__linux__) - matches[i++] = xnfstrdup("sunffb"); -#endif - } #if defined(__linux__) matches[i++] = xnfstrdup("modesetting"); @@ -296,6 +288,15 @@ listPossibleVideoDrivers(char *matches[], int nmatches) #endif } #endif /* !sun */ + + /* Fallback to platform default hardware */ + if (i < (nmatches - 1)) { +#if defined(__i386__) || defined(__amd64__) || defined(__hurd__) + matches[i++] = xnfstrdup("vesa"); +#elif defined(__sparc__) && defined(__linux__) + matches[i++] = xnfstrdup("sunffb"); +#endif + } } /* copy a screen section and enter the desired driver diff --git a/xserver/hw/xfree86/common/xf86Config.c b/xserver/hw/xfree86/common/xf86Config.c index d59b376e1..f37d23bbb 100644 --- a/xserver/hw/xfree86/common/xf86Config.c +++ b/xserver/hw/xfree86/common/xf86Config.c @@ -52,6 +52,7 @@ #endif #include "xf86.h" +#include "xf86Modes.h" #include "xf86Parser.h" #include "xf86tokens.h" #include "xf86Config.h" @@ -506,9 +507,8 @@ xf86InputDriverlistFromConfig(void) static void fixup_video_driver_list(char **drivers) { - static const char *fallback[4] = { "vesa", "fbdev", "wsfb", NULL }; - static const char *blacklist[] = { "radeonhd", "radeonold", NULL }; - char **end, **drv, **d; + static const char *fallback[4] = { "fbdev", "vesa", "wsfb", NULL }; + char **end, **drv; char *x; int i; @@ -530,16 +530,6 @@ fixup_video_driver_list(char **drivers) } } } - /* Remove blacklisted drivers */ - for (i = 0; blacklist[i]; i++) { - for (drv = drivers; drv != end; drv++) { - if (strcmp(*drv, blacklist[i]) == 0) { - end--; - for (d = drv; d != end; d++) - *d = *(d+1); - } - } - } } static char ** diff --git a/xserver/hw/xfree86/common/xf86Configure.c b/xserver/hw/xfree86/common/xf86Configure.c index de74b5fd1..9f67230f8 100644 --- a/xserver/hw/xfree86/common/xf86Configure.c +++ b/xserver/hw/xfree86/common/xf86Configure.c @@ -122,12 +122,14 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, switch (bus) { #ifdef XSERVER_LIBPCIACCESS case BUS_PCI: + DevToConfig[i].pVideo = busData; xf86PciConfigureNewDev(busData, DevToConfig[i].pVideo, &DevToConfig[i].GDev, &chipset); break; #endif #if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) case BUS_SBUS: + DevToConfig[i].sVideo = busData; xf86SbusConfigureNewDev(busData, DevToConfig[i].sVideo, &DevToConfig[i].GDev); break; diff --git a/xserver/hw/xfree86/common/xf86Cursor.c b/xserver/hw/xfree86/common/xf86Cursor.c index 65a9e8264..7d0776eaa 100644 --- a/xserver/hw/xfree86/common/xf86Cursor.c +++ b/xserver/hw/xfree86/common/xf86Cursor.c @@ -72,9 +72,6 @@ static miPointerScreenFuncRec xf86PointerScreenFuncs = { xf86CursorOffScreen, xf86CrossScreen, xf86WarpCursor, - /* let miPointerInitialize take care of these */ - NULL, - NULL }; static xf86ScreenLayoutRec xf86ScreenLayout[MAXSCREENS]; diff --git a/xserver/hw/xfree86/common/xf86DPMS.c b/xserver/hw/xfree86/common/xf86DPMS.c index 3f1e142c7..881cb2773 100644 --- a/xserver/hw/xfree86/common/xf86DPMS.c +++ b/xserver/hw/xfree86/common/xf86DPMS.c @@ -36,6 +36,7 @@ #include #include "os.h" #include "globals.h" +#include "windowstr.h" #include "xf86.h" #include "xf86Priv.h" #ifdef DPMSExtension @@ -159,7 +160,13 @@ DPMSSet(ClientPtr client, int level) return Success; if (level != DPMSModeOn) { - rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, ScreenSaverActive); + if (xf86IsUnblank(screenIsSaved)) { + rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, ScreenSaverActive); + if (rc != Success) + return rc; + } + } else if (!xf86IsUnblank(screenIsSaved)) { + rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, ScreenSaverReset); if (rc != Success) return rc; } diff --git a/xserver/hw/xfree86/common/xf86Events.c b/xserver/hw/xfree86/common/xf86Events.c index 2a05a0ed5..d0b14314b 100644 --- a/xserver/hw/xfree86/common/xf86Events.c +++ b/xserver/hw/xfree86/common/xf86Events.c @@ -116,6 +116,7 @@ typedef struct x_IHRec { InputHandlerProc ihproc; pointer data; Bool enabled; + Bool is_input; struct x_IHRec *next; } IHRec, *IHPtr; @@ -414,7 +415,6 @@ static void xf86VTSwitch(void) { int i; - static int prevSIGIO; InputInfoPtr pInfo; IHPtr ih; @@ -447,8 +447,12 @@ xf86VTSwitch(void) * Keep the order: Disable Device > LeaveVT * EnterVT > EnableDevice */ - for (ih = InputHandlers; ih; ih = ih->next) - xf86DisableInputHandler(ih); + for (ih = InputHandlers; ih; ih = ih->next) { + if (ih->is_input) + xf86DisableInputHandler(ih); + else + xf86DisableGeneralHandler(ih); + } for (pInfo = xf86InputDevs; pInfo; pInfo = pInfo->next) { if (pInfo->dev) { if (!pInfo->dev->enabled) @@ -497,9 +501,12 @@ xf86VTSwitch(void) pInfo->flags &= ~XI86_DEVICE_DISABLED; pInfo = pInfo->next; } - for (ih = InputHandlers; ih; ih = ih->next) - xf86EnableInputHandler(ih); - + for (ih = InputHandlers; ih; ih = ih->next) { + if (ih->is_input) + xf86EnableInputHandler(ih); + else + xf86EnableGeneralHandler(ih); + } OsReleaseSIGIO(); } @@ -559,9 +566,12 @@ xf86VTSwitch(void) pInfo = pInfo->next; } - for (ih = InputHandlers; ih; ih = ih->next) - xf86EnableInputHandler(ih); - + for (ih = InputHandlers; ih; ih = ih->next) { + if (ih->is_input) + xf86EnableInputHandler(ih); + else + xf86EnableGeneralHandler(ih); + } #ifdef XSERVER_PLATFORM_BUS /* check for any new output devices */ xf86platformVTProbe(); @@ -601,8 +611,10 @@ xf86AddInputHandler(int fd, InputHandlerProc proc, pointer data) { IHPtr ih = addInputHandler(fd, proc, data); - if (ih) + if (ih) { AddEnabledDevice(fd); + ih->is_input = TRUE; + } return ih; } diff --git a/xserver/hw/xfree86/common/xf86Helper.c b/xserver/hw/xfree86/common/xf86Helper.c index 721159d0b..676cc8062 100644 --- a/xserver/hw/xfree86/common/xf86Helper.c +++ b/xserver/hw/xfree86/common/xf86Helper.c @@ -217,6 +217,10 @@ xf86DeleteScreen(ScrnInfoPtr pScrn) int i; int scrnIndex; Bool is_gpu = FALSE; + + if (!pScrn) + return; + if (pScrn->is_gpu) { /* First check if the screen is valid */ if (xf86NumGPUScreens == 0 || xf86GPUScreens == NULL) @@ -228,9 +232,6 @@ xf86DeleteScreen(ScrnInfoPtr pScrn) return; } - if (!pScrn) - return; - scrnIndex = pScrn->scrnIndex; /* If a FreeScreen function is defined, call it here */ if (pScrn->FreeScreen != NULL) @@ -1638,9 +1639,14 @@ xf86SetBackingStore(ScreenPtr pScreen) else { if (xf86GetOptValBool(options, OPTION_BACKING_STORE, &useBS)) from = X_CONFIG; +#ifdef COMPOSITE + if (from != X_CONFIG) + useBS = xf86ReturnOptValBool(options, OPTION_BACKING_STORE, + !noCompositeExtension); +#endif } free(options); - pScreen->backingStoreSupport = useBS ? Always : NotUseful; + pScreen->backingStoreSupport = useBS ? WhenMapped : NotUseful; if (serverGeneration == 1) xf86DrvMsg(pScreen->myNum, from, "Backing store %s\n", useBS ? "enabled" : "disabled"); diff --git a/xserver/hw/xfree86/common/xf86Mode.c b/xserver/hw/xfree86/common/xf86Mode.c index d80dec892..706ab64fc 100644 --- a/xserver/hw/xfree86/common/xf86Mode.c +++ b/xserver/hw/xfree86/common/xf86Mode.c @@ -1370,7 +1370,6 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, int saveType; PixmapFormatRec *BankFormat; ClockRangePtr cp; - ClockRangePtr storeClockRanges; int numTimings = 0; range hsync[MAX_HSYNC]; range vrefresh[MAX_VREFRESH]; @@ -1492,16 +1491,14 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, /* * Store the clockRanges for later use by the VidMode extension. */ - storeClockRanges = scrp->clockRanges; - while (storeClockRanges != NULL) { - storeClockRanges = storeClockRanges->next; - } - for (cp = clockRanges; cp != NULL; cp = cp->next, - storeClockRanges = storeClockRanges->next) { - storeClockRanges = xnfalloc(sizeof(ClockRange)); + nt_list_for_each_entry(cp, clockRanges, next) { + ClockRangePtr newCR = xnfalloc(sizeof(ClockRange)); + memcpy(newCR, cp, sizeof(ClockRange)); + newCR->next = NULL; if (scrp->clockRanges == NULL) - scrp->clockRanges = storeClockRanges; - memcpy(storeClockRanges, cp, sizeof(ClockRange)); + scrp->clockRanges = newCR; + else + nt_list_append(newCR, scrp->clockRanges, ClockRange, next); } /* Determine which pixmap format to pass to scanLineWidth() */ diff --git a/xserver/hw/xfree86/common/xf86Module.h b/xserver/hw/xfree86/common/xf86Module.h index 1393427f8..265b55348 100644 --- a/xserver/hw/xfree86/common/xf86Module.h +++ b/xserver/hw/xfree86/common/xf86Module.h @@ -80,9 +80,9 @@ typedef enum { * mask is 0xFFFF0000. */ #define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4) -#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(14, 1) -#define ABI_XINPUT_VERSION SET_ABI_VERSION(19, 1) -#define ABI_EXTENSION_VERSION SET_ABI_VERSION(7, 0) +#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(15, 0) +#define ABI_XINPUT_VERSION SET_ABI_VERSION(20, 0) +#define ABI_EXTENSION_VERSION SET_ABI_VERSION(8, 0) #define ABI_FONT_VERSION SET_ABI_VERSION(0, 6) #define MODINFOSTRING1 0xef23fdc5 diff --git a/xserver/hw/xfree86/common/xf86Option.c b/xserver/hw/xfree86/common/xf86Option.c index 40c9d15f4..607c33354 100644 --- a/xserver/hw/xfree86/common/xf86Option.c +++ b/xserver/hw/xfree86/common/xf86Option.c @@ -743,7 +743,7 @@ xf86TokenToOptName(const OptionInfoRec * table, int token) const OptionInfoRec *p; p = xf86TokenToOptinfo(table, token); - return p->name; + return p ? p->name : NULL; } Bool diff --git a/xserver/hw/xfree86/common/xf86RandR.c b/xserver/hw/xfree86/common/xf86RandR.c index 5606bee4b..2418731dc 100644 --- a/xserver/hw/xfree86/common/xf86RandR.c +++ b/xserver/hw/xfree86/common/xf86RandR.c @@ -214,13 +214,15 @@ xf86RandRSetMode(ScreenPtr pScreen, */ xf86ReconfigureLayout(); - /* - * Make sure the whole screen is visible - */ - xf86SetViewport(pScreen, pScreen->width, pScreen->height); - xf86SetViewport(pScreen, 0, 0); - if (pRoot && scrp->vtSema) - (*scrp->EnableDisableFBAccess) (scrp, TRUE); + if (scrp->vtSema) { + /* + * Make sure the whole screen is visible + */ + xf86SetViewport (pScreen, pScreen->width, pScreen->height); + xf86SetViewport (pScreen, 0, 0); + if (pRoot) + (*scrp->EnableDisableFBAccess) (scrp, TRUE); + } return ret; } diff --git a/xserver/hw/xfree86/common/xf86fbman.c b/xserver/hw/xfree86/common/xf86fbman.c index c2e7bab9f..4da6af2b6 100644 --- a/xserver/hw/xfree86/common/xf86fbman.c +++ b/xserver/hw/xfree86/common/xf86fbman.c @@ -320,15 +320,17 @@ localRegisterFreeBoxCallback(ScreenPtr pScreen, newCallbacks = realloc(offman->FreeBoxesUpdateCallback, sizeof(FreeBoxCallbackProcPtr) * (offman->NumCallbacks + 1)); + if (!newCallbacks) + return FALSE; + else + offman->FreeBoxesUpdateCallback = newCallbacks; newPrivates = realloc(offman->devPrivates, sizeof(DevUnion) * (offman->NumCallbacks + 1)); - - if (!newCallbacks || !newPrivates) + if (!newPrivates) return FALSE; - - offman->FreeBoxesUpdateCallback = newCallbacks; - offman->devPrivates = newPrivates; + else + offman->devPrivates = newPrivates; offman->FreeBoxesUpdateCallback[offman->NumCallbacks] = FreeBoxCallback; offman->devPrivates[offman->NumCallbacks].ptr = devPriv; diff --git a/xserver/hw/xfree86/common/xf86sbusBus.c b/xserver/hw/xfree86/common/xf86sbusBus.c index b6a6b94b3..07eb71ed8 100644 --- a/xserver/hw/xfree86/common/xf86sbusBus.c +++ b/xserver/hw/xfree86/common/xf86sbusBus.c @@ -641,14 +641,16 @@ xf86SbusCmapLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, int i, index; sbusCmapPtr cmap; struct fbcmap fbcmap; - unsigned char *data = malloc(numColors * 3); + unsigned char *data; cmap = SBUSCMAPPTR(pScrn->pScreen); if (!cmap) return; fbcmap.count = 0; fbcmap.index = indices[0]; - fbcmap.red = data; + fbcmap.red = data = malloc(numColors * 3); + if (!data) + return; fbcmap.green = data + numColors; fbcmap.blue = fbcmap.green + numColors; for (i = 0; i < numColors; i++) { diff --git a/xserver/hw/xfree86/common/xf86xvmc.c b/xserver/hw/xfree86/common/xf86xvmc.c index 78a32bfe1..3169c054c 100644 --- a/xserver/hw/xfree86/common/xf86xvmc.c +++ b/xserver/hw/xfree86/common/xf86xvmc.c @@ -158,8 +158,10 @@ xf86XvMCScreenInit(ScreenPtr pScreen, if (!(pAdapt = malloc(sizeof(XvMCAdaptorRec) * num_adaptors))) return FALSE; - if (!dixRegisterPrivateKey(&XF86XvMCScreenKeyRec, PRIVATE_SCREEN, 0)) + if (!dixRegisterPrivateKey(&XF86XvMCScreenKeyRec, PRIVATE_SCREEN, 0)) { + free(pAdapt); return FALSE; + } if (!(pScreenPriv = malloc(sizeof(xf86XvMCScreenRec)))) { free(pAdapt); diff --git a/xserver/hw/xfree86/ddc/Makefile.am b/xserver/hw/xfree86/ddc/Makefile.am index 93ea4a2a5..a7b84adcd 100644 --- a/xserver/hw/xfree86/ddc/Makefile.am +++ b/xserver/hw/xfree86/ddc/Makefile.am @@ -4,7 +4,7 @@ noinst_LTLIBRARIES = libddc.la libddc_la_SOURCES = ddc.c interpret_edid.c print_edid.c ddcProperty.c -INCLUDES = $(XORG_INCS) -I$(srcdir)/../i2c +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../i2c AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xserver/hw/xfree86/ddc/Makefile.in b/xserver/hw/xfree86/ddc/Makefile.in index 4de2abdc0..602918d06 100644 --- a/xserver/hw/xfree86/ddc/Makefile.in +++ b/xserver/hw/xfree86/ddc/Makefile.in @@ -209,9 +209,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -243,6 +246,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -272,6 +276,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -315,6 +321,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -328,12 +335,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -399,6 +406,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -480,7 +489,7 @@ top_srcdir = @top_srcdir@ sdk_HEADERS = edid.h xf86DDC.h noinst_LTLIBRARIES = libddc.la libddc_la_SOURCES = ddc.c interpret_edid.c print_edid.c ddcProperty.c -INCLUDES = $(XORG_INCS) -I$(srcdir)/../i2c +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../i2c AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) EXTRA_DIST = DDC.HOWTO all: all-am diff --git a/xserver/hw/xfree86/ddc/ddc.c b/xserver/hw/xfree86/ddc/ddc.c index 28c969646..44c1d535c 100644 --- a/xserver/hw/xfree86/ddc/ddc.c +++ b/xserver/hw/xfree86/ddc/ddc.c @@ -91,15 +91,16 @@ resort(unsigned char *s_block) unsigned char *d_new, *d_ptr, *d_end, *s_ptr, *s_end; unsigned char tmp; + s_ptr = find_header(s_block); + if (!s_ptr) + return NULL; s_end = s_block + EDID1_LEN; + d_new = malloc(EDID1_LEN); if (!d_new) return NULL; d_end = d_new + EDID1_LEN; - s_ptr = find_header(s_block); - if (!s_ptr) - return NULL; for (d_ptr = d_new; d_ptr < d_end; d_ptr++) { tmp = *(s_ptr++); *d_ptr = tmp; diff --git a/xserver/hw/xfree86/ddc/xf86DDC.h b/xserver/hw/xfree86/ddc/xf86DDC.h index c63da8bff..bdc7648a9 100644 --- a/xserver/hw/xfree86/ddc/xf86DDC.h +++ b/xserver/hw/xfree86/ddc/xf86DDC.h @@ -45,8 +45,6 @@ extern _X_EXPORT void extern _X_EXPORT Bool xf86SetDDCproperties(ScrnInfoPtr pScreen, xf86MonPtr DDC); -extern _X_EXPORT DisplayModePtr xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC); - extern _X_EXPORT Bool xf86MonitorIsHDMI(xf86MonPtr mon); diff --git a/xserver/hw/xfree86/dixmods/Makefile.am b/xserver/hw/xfree86/dixmods/Makefile.am index f161db60a..3c43640ec 100644 --- a/xserver/hw/xfree86/dixmods/Makefile.am +++ b/xserver/hw/xfree86/dixmods/Makefile.am @@ -12,7 +12,7 @@ extsmoduledir = $(moduledir)/extensions extsmodule_LTLIBRARIES = $(GLXMODS) AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ -INCLUDES = @XORG_INCS@ \ +AM_CPPFLAGS = @XORG_INCS@ \ -I$(top_srcdir)/hw/xfree86/loader \ -I$(top_srcdir)/miext/shadow \ -I$(top_srcdir)/glx @@ -32,7 +32,7 @@ libglx_la_LIBADD = $(top_builddir)/glx/libglx.la $(GLX_SYS_LIBS) if AIGLX_DRI_LOADER libglx_la_LIBADD += $(top_builddir)/glx/libglxdri.la if NO_UNDEFINED -libglx_la_LIBADD += ../dri/libdri.la ../dri2/libdri2.la +libglx_la_LIBADD += $(LIBDRM_LIBS) $(PIXMAN_LIBS) endif endif libglx_la_SOURCES = glxmodule.c diff --git a/xserver/hw/xfree86/dixmods/Makefile.in b/xserver/hw/xfree86/dixmods/Makefile.in index 730d16142..2af86613e 100644 --- a/xserver/hw/xfree86/dixmods/Makefile.in +++ b/xserver/hw/xfree86/dixmods/Makefile.in @@ -51,7 +51,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @AIGLX_DRI_LOADER_TRUE@am__append_1 = $(top_builddir)/glx/libglxdri.la -@AIGLX_DRI_LOADER_TRUE@@NO_UNDEFINED_TRUE@am__append_2 = ../dri/libdri.la ../dri2/libdri2.la +@AIGLX_DRI_LOADER_TRUE@@NO_UNDEFINED_TRUE@am__append_2 = $(LIBDRM_LIBS) $(PIXMAN_LIBS) @NO_UNDEFINED_TRUE@am__append_3 = libfb.la subdir = hw/xfree86/dixmods DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -123,8 +123,10 @@ libfb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libfb_la_CFLAGS) \ $(CFLAGS) $(libfb_la_LDFLAGS) $(LDFLAGS) -o $@ am__DEPENDENCIES_1 = +@AIGLX_DRI_LOADER_TRUE@@NO_UNDEFINED_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \ +@AIGLX_DRI_LOADER_TRUE@@NO_UNDEFINED_TRUE@ $(am__DEPENDENCIES_1) libglx_la_DEPENDENCIES = $(top_builddir)/glx/libglx.la \ - $(am__DEPENDENCIES_1) $(am__append_1) $(am__append_2) + $(am__DEPENDENCIES_1) $(am__append_1) $(am__DEPENDENCIES_2) am_libglx_la_OBJECTS = glxmodule.lo libglx_la_OBJECTS = $(am_libglx_la_OBJECTS) libglx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -249,9 +251,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -283,6 +288,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -312,6 +318,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -355,6 +363,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -368,12 +377,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -439,6 +448,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -526,7 +537,7 @@ module_LTLIBRARIES = libfb.la \ extsmoduledir = $(moduledir)/extensions extsmodule_LTLIBRARIES = $(GLXMODS) AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ -INCLUDES = @XORG_INCS@ \ +AM_CPPFLAGS = @XORG_INCS@ \ -I$(top_srcdir)/hw/xfree86/loader \ -I$(top_srcdir)/miext/shadow \ -I$(top_srcdir)/glx diff --git a/xserver/hw/xfree86/dixmods/extmod/modinit.h b/xserver/hw/xfree86/dixmods/extmod/modinit.h deleted file mode 100644 index 4c9b6e3cc..000000000 --- a/xserver/hw/xfree86/dixmods/extmod/modinit.h +++ /dev/null @@ -1,80 +0,0 @@ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include - -#ifdef XTEST -extern void XTestExtensionInit(void); -#include -#endif - -#if 1 -extern void XTestExtension1Init(void); -#endif - -#if 1 -extern void XCMiscExtensionInit(void); -#endif - -#ifdef SCREENSAVER -extern void ScreenSaverExtensionInit(void); -#include -#endif - -#ifdef XF86VIDMODE -extern void XFree86VidModeExtensionInit(void); -#include -#endif - -#ifdef XFreeXDGA -extern void XFree86DGAExtensionInit(void); -extern void XFree86DGARegister(void); -#include -#endif - -#ifdef DPMSExtension -extern void DPMSExtensionInit(void); -#include -#endif - -#ifdef XV -extern void XvExtensionInit(void); -extern void XvMCExtensionInit(void); -extern void XvRegister(void); -#include -#include -#endif - -#ifdef RES -extern void ResExtensionInit(void); -#include -#endif - -#ifdef SHM -#include -extern void ShmExtensionInit(void); -extern void ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs); -#endif - -#ifdef XSELINUX -extern void SELinuxExtensionInit(void); -#include "xselinux.h" -#endif - -#ifdef XEVIE -extern void XevieExtensionInit(void); -#endif - -#if 1 -extern void SecurityExtensionInit(void); -#endif - -#if 1 -extern void PanoramiXExtensionInit(void); -#endif - -#if 1 -extern void XkbExtensionInit(void); -#endif diff --git a/xserver/hw/xfree86/dixmods/glxmodule.c b/xserver/hw/xfree86/dixmods/glxmodule.c index e6bb73673..133a2a65d 100644 --- a/xserver/hw/xfree86/dixmods/glxmodule.c +++ b/xserver/hw/xfree86/dixmods/glxmodule.c @@ -85,9 +85,6 @@ glxSetup(pointer module, pointer opts, int *errmaj, int *errmin) xf86Msg(xf86Info.aiglxFrom, "AIGLX %s\n", xf86Info.aiglx ? "enabled" : "disabled"); if (xf86Info.aiglx) { - provider = LoaderSymbol("__glXDRIProvider"); - if (provider) - GlxPushProvider(provider); provider = LoaderSymbol("__glXDRI2Provider"); if (provider) GlxPushProvider(provider); diff --git a/xserver/hw/xfree86/doc/Makefile.in b/xserver/hw/xfree86/doc/Makefile.in index 27aaebaab..2bfcce65d 100644 --- a/xserver/hw/xfree86/doc/Makefile.in +++ b/xserver/hw/xfree86/doc/Makefile.in @@ -167,9 +167,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -201,6 +204,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -230,6 +234,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -273,6 +279,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -286,12 +293,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -357,6 +364,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/dri/Makefile.in b/xserver/hw/xfree86/dri/Makefile.in index d2a5f5e6f..0108dccf2 100644 --- a/xserver/hw/xfree86/dri/Makefile.in +++ b/xserver/hw/xfree86/dri/Makefile.in @@ -208,9 +208,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -242,6 +245,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -271,6 +275,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -314,6 +320,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -327,12 +334,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -398,6 +405,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/dri2/Makefile.in b/xserver/hw/xfree86/dri2/Makefile.in index 6047c5c8d..bf2825487 100644 --- a/xserver/hw/xfree86/dri2/Makefile.in +++ b/xserver/hw/xfree86/dri2/Makefile.in @@ -208,9 +208,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -242,6 +245,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -271,6 +275,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -314,6 +320,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -327,12 +334,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -398,6 +405,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/dri2/dri2.c b/xserver/hw/xfree86/dri2/dri2.c index 40963c3b0..0b047f025 100644 --- a/xserver/hw/xfree86/dri2/dri2.c +++ b/xserver/hw/xfree86/dri2/dri2.c @@ -99,7 +99,6 @@ typedef struct _DRI2Drawable { CARD64 last_swap_msc; /* msc at completion of most recent swap */ CARD64 last_swap_ust; /* ust at completion of most recent swap */ int swap_limit; /* for N-buffering */ - unsigned long serialNumber; Bool needInvalidate; int prime_id; PixmapPtr prime_slave_pixmap; @@ -189,19 +188,6 @@ DRI2GetDrawable(DrawablePtr pDraw) } } -static unsigned long -DRI2DrawableSerial(DrawablePtr pDraw) -{ - ScreenPtr pScreen = pDraw->pScreen; - PixmapPtr pPix; - - if (pDraw->type != DRAWABLE_WINDOW) - return pDraw->serialNumber; - - pPix = pScreen->GetWindowPixmap((WindowPtr) pDraw); - return pPix->drawable.serialNumber; -} - static DRI2DrawablePtr DRI2AllocateDrawable(DrawablePtr pDraw) { @@ -235,7 +221,6 @@ DRI2AllocateDrawable(DrawablePtr pDraw) pPriv->last_swap_msc = 0; pPriv->last_swap_ust = 0; xorg_list_init(&pPriv->reference_list); - pPriv->serialNumber = DRI2DrawableSerial(pDraw); pPriv->needInvalidate = FALSE; pPriv->redirectpixmap = NULL; pPriv->prime_slave_pixmap = NULL; @@ -493,7 +478,6 @@ allocate_or_reuse_buffer(DrawablePtr pDraw, DRI2ScreenPtr ds, || attachment == DRI2BufferFrontLeft || !dimensions_match || (pPriv->buffers[old_buf]->format != format)) { *buffer = create_buffer (pDraw, attachment, format); - pPriv->serialNumber = DRI2DrawableSerial(pDraw); return TRUE; } @@ -559,8 +543,7 @@ do_get_buffers(DrawablePtr pDraw, int *width, int *height, ds = DRI2GetScreen(pDraw->pScreen); dimensions_match = (pDraw->width == pPriv->width) - && (pDraw->height == pPriv->height) - && (pPriv->serialNumber == DRI2DrawableSerial(pDraw)); + && (pDraw->height == pPriv->height); buffers = calloc((count + 1), sizeof(buffers[0])); if (!buffers) diff --git a/xserver/hw/xfree86/dri2/dri2ext.c b/xserver/hw/xfree86/dri2/dri2ext.c index e1decec9e..ffd66fad6 100644 --- a/xserver/hw/xfree86/dri2/dri2ext.c +++ b/xserver/hw/xfree86/dri2/dri2ext.c @@ -672,6 +672,11 @@ DRI2ExtensionInit(void) { ExtensionEntry *dri2Extension; +#ifdef PANORAMIX + if (!noPanoramiXExtension) + return; +#endif + dri2Extension = AddExtension(DRI2_NAME, DRI2NumberEvents, DRI2NumberErrors, diff --git a/xserver/hw/xfree86/exa/Makefile.am b/xserver/hw/xfree86/exa/Makefile.am index 433908411..1e42cdacd 100644 --- a/xserver/hw/xfree86/exa/Makefile.am +++ b/xserver/hw/xfree86/exa/Makefile.am @@ -4,7 +4,7 @@ module_LTLIBRARIES = libexa.la libexa_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG) -INCLUDES = \ +AM_CPPFLAGS = \ $(XORG_INCS) \ -I$(srcdir)/../../../exa \ -I$(srcdir)/../../../miext/cw diff --git a/xserver/hw/xfree86/exa/Makefile.in b/xserver/hw/xfree86/exa/Makefile.in index 9c1f977bc..b27e88e08 100644 --- a/xserver/hw/xfree86/exa/Makefile.in +++ b/xserver/hw/xfree86/exa/Makefile.in @@ -248,9 +248,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -282,6 +285,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -311,6 +315,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -354,6 +360,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -367,12 +374,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -438,6 +445,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -519,7 +528,7 @@ top_srcdir = @top_srcdir@ SUBDIRS = man module_LTLIBRARIES = libexa.la libexa_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG) -INCLUDES = \ +AM_CPPFLAGS = \ $(XORG_INCS) \ -I$(srcdir)/../../../exa \ -I$(srcdir)/../../../miext/cw diff --git a/xserver/hw/xfree86/exa/man/Makefile.in b/xserver/hw/xfree86/exa/man/Makefile.in index a60692d07..689947de6 100644 --- a/xserver/hw/xfree86/exa/man/Makefile.in +++ b/xserver/hw/xfree86/exa/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/fbdevhw/Makefile.am b/xserver/hw/xfree86/fbdevhw/Makefile.am index 1fa9321cb..37cd88c0e 100644 --- a/xserver/hw/xfree86/fbdevhw/Makefile.am +++ b/xserver/hw/xfree86/fbdevhw/Makefile.am @@ -10,7 +10,7 @@ else libfbdevhw_la_SOURCES = fbdevhwstub.c endif -INCLUDES = $(XORG_INCS) -I$(srcdir)/../i2c +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../i2c -I$(srcdir)/../modes -I$(srcdir)/../ddc -I$(srcdir)/../parser AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xserver/hw/xfree86/fbdevhw/Makefile.in b/xserver/hw/xfree86/fbdevhw/Makefile.in index 5c25db2a7..2892bb07b 100644 --- a/xserver/hw/xfree86/fbdevhw/Makefile.in +++ b/xserver/hw/xfree86/fbdevhw/Makefile.in @@ -251,9 +251,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -285,6 +288,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -314,6 +318,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -357,6 +363,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -370,12 +377,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -441,6 +448,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -524,7 +533,7 @@ module_LTLIBRARIES = libfbdevhw.la libfbdevhw_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG) @FBDEVHW_FALSE@libfbdevhw_la_SOURCES = fbdevhwstub.c @FBDEVHW_TRUE@libfbdevhw_la_SOURCES = fbdevhw.c -INCLUDES = $(XORG_INCS) -I$(srcdir)/../i2c +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../i2c -I$(srcdir)/../modes -I$(srcdir)/../ddc -I$(srcdir)/../parser AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) sdk_HEADERS = fbdevhw.h EXTRA_DIST = fbpriv.h README diff --git a/xserver/hw/xfree86/fbdevhw/fbdevhw.c b/xserver/hw/xfree86/fbdevhw/fbdevhw.c index d4b5558a7..cbb40930b 100644 --- a/xserver/hw/xfree86/fbdevhw/fbdevhw.c +++ b/xserver/hw/xfree86/fbdevhw/fbdevhw.c @@ -6,6 +6,7 @@ #include #include "xf86.h" +#include "xf86Modes.h" #include "xf86_OSproc.h" /* pci stuff */ diff --git a/xserver/hw/xfree86/fbdevhw/man/Makefile.in b/xserver/hw/xfree86/fbdevhw/man/Makefile.in index 78f6edb4c..36eba871a 100644 --- a/xserver/hw/xfree86/fbdevhw/man/Makefile.in +++ b/xserver/hw/xfree86/fbdevhw/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/i2c/Makefile.am b/xserver/hw/xfree86/i2c/Makefile.am index cb18db188..c31159196 100644 --- a/xserver/hw/xfree86/i2c/Makefile.am +++ b/xserver/hw/xfree86/i2c/Makefile.am @@ -12,7 +12,7 @@ multimedia_LTLIBRARIES = \ libi2c_la_SOURCES = xf86i2c.c -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xserver/hw/xfree86/i2c/Makefile.in b/xserver/hw/xfree86/i2c/Makefile.in index 6e5fd72e9..64cfd9ab3 100644 --- a/xserver/hw/xfree86/i2c/Makefile.in +++ b/xserver/hw/xfree86/i2c/Makefile.in @@ -261,9 +261,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -295,6 +298,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -324,6 +328,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -367,6 +373,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -380,12 +387,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -451,6 +458,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -541,7 +550,7 @@ multimedia_LTLIBRARIES = \ uda1380_drv.la libi2c_la_SOURCES = xf86i2c.c -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) sdk_HEADERS = xf86i2c.h bt829.h fi1236.h msp3430.h tda8425.h tda9850.h tda9885.h uda1380.h i2c_def.h diff --git a/xserver/hw/xfree86/int10/Makefile.am b/xserver/hw/xfree86/int10/Makefile.am index f5ece69ef..66cb14d46 100644 --- a/xserver/hw/xfree86/int10/Makefile.am +++ b/xserver/hw/xfree86/int10/Makefile.am @@ -17,9 +17,10 @@ if I386_VIDEO I386_VIDEO_CFLAGS = -D_PC endif +AM_CPPFLAGS = $(XORG_INCS) + if INT10_VM86 AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_VM86_LINUX $(DIX_CFLAGS) $(XORG_CFLAGS) $(EXTRA_CFLAGS) -INCLUDES = $(XORG_INCS) libint10_la_SOURCES = \ $(COMMON_SOURCES) \ $(srcdir)/../os-support/linux/int10/vm86/linux_vm86.c \ @@ -29,7 +30,7 @@ endif if INT10_X86EMU AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_X86EMU -DNO_SYS_HEADERS \ $(XORG_CFLAGS) $(EXTRA_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) -I$(srcdir)/../x86emu +AM_CPPFLAGS += -I$(srcdir)/../x86emu libint10_la_SOURCES = \ $(COMMON_SOURCES) \ xf86x86emu.c \ @@ -39,7 +40,6 @@ endif if INT10_STUB AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_VM86_LINUX $(DIX_CFLAGS) $(XORG_CFLAGS) $(EXTRA_CFLAGS) -INCLUDES = $(XORG_INCS) libint10_la_SOURCES = stub.c xf86int10module.c endif diff --git a/xserver/hw/xfree86/int10/Makefile.in b/xserver/hw/xfree86/int10/Makefile.in index 0cb33649c..98833518b 100644 --- a/xserver/hw/xfree86/int10/Makefile.in +++ b/xserver/hw/xfree86/int10/Makefile.in @@ -51,6 +51,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@INT10_X86EMU_TRUE@am__append_1 = -I$(srcdir)/../x86emu subdir = hw/xfree86/int10 DIST_COMMON = $(sdk_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/depcomp @@ -226,9 +227,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -260,6 +264,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -289,6 +294,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -332,6 +339,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -345,12 +353,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -416,6 +424,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -506,14 +516,12 @@ COMMON_SOURCES = \ xf86int10module.c @I386_VIDEO_TRUE@I386_VIDEO_CFLAGS = -D_PC +AM_CPPFLAGS = $(XORG_INCS) $(am__append_1) @INT10_STUB_TRUE@AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_VM86_LINUX $(DIX_CFLAGS) $(XORG_CFLAGS) $(EXTRA_CFLAGS) @INT10_VM86_TRUE@AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_VM86_LINUX $(DIX_CFLAGS) $(XORG_CFLAGS) $(EXTRA_CFLAGS) @INT10_X86EMU_TRUE@AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_X86EMU -DNO_SYS_HEADERS \ @INT10_X86EMU_TRUE@ $(XORG_CFLAGS) $(EXTRA_CFLAGS) $(DIX_CFLAGS) -@INT10_STUB_TRUE@INCLUDES = $(XORG_INCS) -@INT10_VM86_TRUE@INCLUDES = $(XORG_INCS) -@INT10_X86EMU_TRUE@INCLUDES = $(XORG_INCS) -I$(srcdir)/../x86emu @INT10_STUB_TRUE@libint10_la_SOURCES = stub.c xf86int10module.c @INT10_VM86_TRUE@libint10_la_SOURCES = \ @INT10_VM86_TRUE@ $(COMMON_SOURCES) \ diff --git a/xserver/hw/xfree86/loader/Makefile.am b/xserver/hw/xfree86/loader/Makefile.am index bd47a635b..a658ca50f 100644 --- a/xserver/hw/xfree86/loader/Makefile.am +++ b/xserver/hw/xfree86/loader/Makefile.am @@ -1,6 +1,6 @@ noinst_LTLIBRARIES = libloader.la -INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \ -I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \ -I$(srcdir)/../ramdac -I$(srcdir)/../dri -I$(srcdir)/../dri2 diff --git a/xserver/hw/xfree86/loader/Makefile.in b/xserver/hw/xfree86/loader/Makefile.in index ac6af8e4d..3323c702c 100644 --- a/xserver/hw/xfree86/loader/Makefile.in +++ b/xserver/hw/xfree86/loader/Makefile.in @@ -179,9 +179,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -213,6 +216,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -242,6 +246,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -285,6 +291,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -298,12 +305,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -369,6 +376,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -448,7 +457,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libloader.la -INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../parser -I$(top_srcdir)/miext/cw \ -I$(srcdir)/../ddc -I$(srcdir)/../i2c -I$(srcdir)/../modes \ -I$(srcdir)/../ramdac -I$(srcdir)/../dri -I$(srcdir)/../dri2 diff --git a/xserver/hw/xfree86/man/Makefile.in b/xserver/hw/xfree86/man/Makefile.in index 1e69a4d60..88aa3aa69 100644 --- a/xserver/hw/xfree86/man/Makefile.in +++ b/xserver/hw/xfree86/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/man/xorg.conf.man b/xserver/hw/xfree86/man/xorg.conf.man index 9361ce978..85f9f2ee1 100644 --- a/xserver/hw/xfree86/man/xorg.conf.man +++ b/xserver/hw/xfree86/man/xorg.conf.man @@ -668,6 +668,10 @@ DevicePresenceNotify event sent), but not enabled, thus leaving policy up to the client. Enabled by default. .TP 7 +.BI "Option \*qAutoAddGPU\*q \*q" boolean \*q +If this option is disabled, then no GPU devices will be added from the udev +backend. Enabled by default. (May need to be disabled to setup Xinerama). +.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. @@ -972,7 +976,8 @@ is constructed. This is mainly a matter of personal preference. .BI "Option \*qConstantDeceleration\*q \*q" real \*q Makes the pointer go .B deceleration -times slower than normal. Most useful for high-resolution devices. +times slower than normal. Most useful for high-resolution devices. A value +between 0 and 1 will speed up the pointer. .TP 7 .BI "Option \*qAdaptiveDeceleration\*q \*q" real \*q Allows to actually decelerate the pointer when going slow. At most, it will be @@ -1676,6 +1681,17 @@ This optional entry specifies a mode to be marked as the preferred initial mode of the monitor. (RandR 1.2-supporting drivers only) .TP 7 +.BI "Option \*qZoomModes\*q \*q" name " " name " " ... \*q +This optional entry specifies modes to be marked as zoom modes. +It is possible to switch to the next and previous mode via +.BR Ctrl+Alt+Keypad\-Plus " and " Ctrl+Alt+Keypad\-Minus . +All these keypad available modes are selected from the screen mode list. +This list is a copy of the compatibility output monitor mode list. +Since this output is the output connected to the lowest +dot-area monitor, as determined from its largest size mode, that +monitor defines the available zoom modes. +(RandR 1.2-supporting drivers only) +.TP 7 .BI "Option \*qPosition\*q \*q" x " " y \*q This optional entry specifies the position of the monitor within the X screen. diff --git a/xserver/hw/xfree86/modes/Makefile.am b/xserver/hw/xfree86/modes/Makefile.am index 9236426bf..220643f7b 100644 --- a/xserver/hw/xfree86/modes/Makefile.am +++ b/xserver/hw/xfree86/modes/Makefile.am @@ -16,11 +16,10 @@ libxf86modes_la_SOURCES = \ xf86Modes.h \ xf86RandR12.c \ xf86RandR12.h \ - xf86Rename.h \ xf86Rotate.c \ $(DGA_SRCS) -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ +AM_CPPFLAGS = $(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)/../ramdac \ @@ -29,7 +28,6 @@ INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ sdk_HEADERS = \ xf86Crtc.h \ xf86Modes.h \ - xf86RandR12.h \ - xf86Rename.h + xf86RandR12.h AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xserver/hw/xfree86/modes/Makefile.in b/xserver/hw/xfree86/modes/Makefile.in index 1d49e2c36..678769e49 100644 --- a/xserver/hw/xfree86/modes/Makefile.in +++ b/xserver/hw/xfree86/modes/Makefile.in @@ -78,7 +78,7 @@ libxf86modes_la_LIBADD = am__libxf86modes_la_SOURCES_DIST = xf86Crtc.c xf86Crtc.h xf86Cursors.c \ xf86cvt.c xf86gtf.c xf86DisplayIDModes.c xf86EdidModes.c \ xf86Modes.c xf86Modes.h xf86RandR12.c xf86RandR12.h \ - xf86Rename.h xf86Rotate.c xf86DiDGA.c + xf86Rotate.c xf86DiDGA.c @DGA_TRUE@am__objects_1 = xf86DiDGA.lo am_libxf86modes_la_OBJECTS = xf86Crtc.lo xf86Cursors.lo xf86cvt.lo \ xf86gtf.lo xf86DisplayIDModes.lo xf86EdidModes.lo xf86Modes.lo \ @@ -215,9 +215,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -249,6 +252,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -278,6 +282,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -321,6 +327,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -334,12 +341,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -405,6 +412,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -497,11 +506,10 @@ libxf86modes_la_SOURCES = \ xf86Modes.h \ xf86RandR12.c \ xf86RandR12.h \ - xf86Rename.h \ xf86Rotate.c \ $(DGA_SRCS) -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ +AM_CPPFLAGS = $(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)/../ramdac \ @@ -510,8 +518,7 @@ INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ sdk_HEADERS = \ xf86Crtc.h \ xf86Modes.h \ - xf86RandR12.h \ - xf86Rename.h + xf86RandR12.h AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) all: all-am diff --git a/xserver/hw/xfree86/modes/xf86Crtc.c b/xserver/hw/xfree86/modes/xf86Crtc.c index 989595fee..a441fd16a 100644 --- a/xserver/hw/xfree86/modes/xf86Crtc.c +++ b/xserver/hw/xfree86/modes/xf86Crtc.c @@ -428,6 +428,7 @@ extern XF86ConfigPtr xf86configptr; typedef enum { OPTION_PREFERRED_MODE, + OPTION_ZOOM_MODES, OPTION_POSITION, OPTION_BELOW, OPTION_RIGHT_OF, @@ -446,6 +447,7 @@ typedef enum { static OptionInfoRec xf86OutputOptions[] = { {OPTION_PREFERRED_MODE, "PreferredMode", OPTV_STRING, {0}, FALSE}, + {OPTION_ZOOM_MODES, "ZoomModes", OPTV_STRING, {0}, FALSE }, {OPTION_POSITION, "Position", OPTV_STRING, {0}, FALSE}, {OPTION_BELOW, "Below", OPTV_STRING, {0}, FALSE}, {OPTION_RIGHT_OF, "RightOf", OPTV_STRING, {0}, FALSE}, @@ -1418,6 +1420,90 @@ preferredMode(ScrnInfoPtr pScrn, xf86OutputPtr output) return preferred_mode; } +/** identify a token + * args + * *src a string with zero or more tokens, e.g. "tok0 tok1", + * **token stores a pointer to the first token character, + * *len stores the token length. + * return + * a pointer into src[] at the token terminating character, or + * NULL if no token is found. + */ +static const char * +gettoken(const char *src, const char **token, int *len) +{ + const char *delim = " \t"; + int skip; + + if (!src) + return NULL; + + skip = strspn(src, delim); + *token = &src[skip]; + + *len = strcspn(*token, delim); + /* Support for backslash escaped delimiters could be implemented + * here. + */ + + /* (*token)[0] != '\0' <==> *len > 0 */ + if (*len > 0) + return &(*token)[*len]; + else + return NULL; +} + +/** Check for a user configured zoom mode list, Option "ZoomModes": + * + * Section "Monitor" + * Identifier "a21inch" + * Option "ZoomModes" "1600x1200 1280x1024 1280x1024 640x480" + * EndSection + * + * Each user mode name is searched for independently so the list + * specification order is free. An output mode is matched at most + * once, a mode with an already set M_T_USERDEF type bit is skipped. + * Thus a repeat mode name specification matches the next output mode + * with the same name. + * + * Ctrl+Alt+Keypad-{Plus,Minus} zooms {in,out} by selecting the + * {next,previous} M_T_USERDEF mode in the screen modes list, itself + * sorted toward lower dot area or lower dot clock frequency, see + * modes/xf86Crtc.c: xf86SortModes() xf86SetScrnInfoModes(), and + * common/xf86Cursor.c: xf86ZoomViewport(). + */ +static int +processZoomModes(xf86OutputPtr output) +{ + const char *zoom_modes; + int count = 0; + + zoom_modes = xf86GetOptValString(output->options, OPTION_ZOOM_MODES); + + if (zoom_modes) { + const char *token, *next; + int len; + + next = gettoken(zoom_modes, &token, &len); + while (next) { + DisplayModePtr mode; + + for (mode = output->probed_modes; mode; mode = mode->next) + if (!strncmp(token, mode->name, len) /* prefix match */ + && mode->name[len] == '\0' /* equal length */ + && !(mode->type & M_T_USERDEF)) { /* no rematch */ + mode->type |= M_T_USERDEF; + break; + } + + count++; + next = gettoken(next, &token, &len); + } + } + + return count; +} + static void GuessRangeFromModes(MonPtr mon, DisplayModePtr mode) { @@ -1713,6 +1799,9 @@ xf86ProbeOutputModes(ScrnInfoPtr scrn, int maxX, int maxY) } } + /* Ctrl+Alt+Keypad-{Plus,Minus} zoom mode: M_T_USERDEF mode type */ + processZoomModes(output); + output->initial_rotation = xf86OutputInitialRotation(output); if (debug_modes) { @@ -1774,6 +1863,9 @@ SetCompatOutput(xf86CrtcConfigPtr config) DisplayModePtr maxmode = NULL, testmode, mode; int o, compat = -1, count, mincount = 0; + if (config->num_output == 0) + return NULL; + /* Look for one that's definitely connected */ for (o = 0; o < config->num_output; o++) { test = config->output[o]; @@ -2956,10 +3048,22 @@ handle_detailed_physical_size(struct detailed_monitor_section if (det_mon->type == DT && det_mon->section.d_timings.h_size != 0 && det_mon->section.d_timings.v_size != 0) { - - p->output->mm_width = det_mon->section.d_timings.h_size; - p->output->mm_height = det_mon->section.d_timings.v_size; - p->ret = TRUE; + /* some sanity checking for aspect ratio: + assume any h / v (or v / h) > 2.4 to be bogus. + This would even include cinemascope */ + if (((det_mon->section.d_timings.h_size * 5) < + (det_mon->section.d_timings.v_size * 12)) && + ((det_mon->section.d_timings.v_size * 5) < + (det_mon->section.d_timings.h_size * 12))) { + p->output->mm_width = det_mon->section.d_timings.h_size; + p->output->mm_height = det_mon->section.d_timings.v_size; + p->ret = TRUE; + } else + xf86DrvMsg(p->output->scrn->scrnIndex, X_WARNING, + "Output %s: Strange aspect ratio (%i/%i), " + "consider adding a quirk\n", p->output->name, + det_mon->section.d_timings.h_size, + det_mon->section.d_timings.v_size); } } diff --git a/xserver/hw/xfree86/modes/xf86Crtc.h b/xserver/hw/xfree86/modes/xf86Crtc.h index 802303f74..c127d78af 100644 --- a/xserver/hw/xfree86/modes/xf86Crtc.h +++ b/xserver/hw/xfree86/modes/xf86Crtc.h @@ -25,9 +25,6 @@ #include #include "randrstr.h" -#if XF86_MODES_RENAME -#include "xf86Rename.h" -#endif #include "xf86Modes.h" #include "xf86Cursor.h" #include "xf86i2c.h" diff --git a/xserver/hw/xfree86/modes/xf86DisplayIDModes.c b/xserver/hw/xfree86/modes/xf86DisplayIDModes.c index bead1265a..c2e771894 100644 --- a/xserver/hw/xfree86/modes/xf86DisplayIDModes.c +++ b/xserver/hw/xfree86/modes/xf86DisplayIDModes.c @@ -25,6 +25,7 @@ #include "xorg-config.h" #include "xf86.h" +#include "xf86Modes.h" #include "xf86str.h" #include "edid.h" #include "xf86DDC.h" diff --git a/xserver/hw/xfree86/modes/xf86Modes.h b/xserver/hw/xfree86/modes/xf86Modes.h index aec7688c4..545891884 100644 --- a/xserver/hw/xfree86/modes/xf86Modes.h +++ b/xserver/hw/xfree86/modes/xf86Modes.h @@ -36,9 +36,6 @@ #include "xorgVersion.h" #include "edid.h" #include "xf86Parser.h" -#if XF86_MODES_RENAME -#include "xf86Rename.h" -#endif extern _X_EXPORT double xf86ModeHSync(const DisplayModeRec * mode); extern _X_EXPORT double xf86ModeVRefresh(const DisplayModeRec * mode); @@ -111,6 +108,9 @@ xf86GetMonitorModes(ScrnInfoPtr pScrn, XF86ConfMonitorPtr conf_monitor); extern _X_EXPORT DisplayModePtr xf86GetDefaultModes(void); +extern _X_EXPORT void +xf86SaveModeContents(DisplayModePtr intern, const DisplayModeRec *mode); + extern _X_EXPORT void xf86DDCApplyQuirks(int scrnIndex, xf86MonPtr DDC); diff --git a/xserver/hw/xfree86/modes/xf86RandR12.c b/xserver/hw/xfree86/modes/xf86RandR12.c index bd1f28141..019b41609 100644 --- a/xserver/hw/xfree86/modes/xf86RandR12.c +++ b/xserver/hw/xfree86/modes/xf86RandR12.c @@ -31,6 +31,7 @@ #include "xf86.h" #include "os.h" #include "globals.h" +#include "xf86Modes.h" #include "xf86Priv.h" #include "xf86DDC.h" #include "mipointer.h" diff --git a/xserver/hw/xfree86/modes/xf86RandR12.h b/xserver/hw/xfree86/modes/xf86RandR12.h index 9ad695cec..e603799be 100644 --- a/xserver/hw/xfree86/modes/xf86RandR12.h +++ b/xserver/hw/xfree86/modes/xf86RandR12.h @@ -24,9 +24,6 @@ #define _XF86_RANDR_H_ #include #include -#if XF86_MODES_RENAME -#include "xf86Rename.h" -#endif extern _X_EXPORT Bool xf86RandR12CreateScreenResources(ScreenPtr pScreen); extern _X_EXPORT Bool xf86RandR12Init(ScreenPtr pScreen); diff --git a/xserver/hw/xfree86/modes/xf86Rename.h b/xserver/hw/xfree86/modes/xf86Rename.h deleted file mode 100644 index 46690a8f6..000000000 --- a/xserver/hw/xfree86/modes/xf86Rename.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright © 2006 Keith Packard - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting documentation, and - * that the name of the copyright holders not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. The copyright holders make no representations - * about the suitability of this software for any purpose. It is provided "as - * is" without express or implied warranty. - * - * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#ifndef _XF86RENAME_H_ -#define _XF86RENAME_H_ - -#include "local_xf86Rename.h" - -#define xf86_cursors_fini XF86NAME(xf86_cursors_fini) -#define xf86_cursors_init XF86NAME(xf86_cursors_init) -#define xf86_hide_cursors XF86NAME(xf86_hide_cursors) -#define xf86_reload_cursors XF86NAME(xf86_reload_cursors) -#define xf86_show_cursors XF86NAME(xf86_show_cursors) -#define xf86ConnectorGetName XF86NAME(xf86ConnectorGetName) -#define xf86CrtcConfigInit XF86NAME(xf86CrtcConfigInit) -#define xf86CrtcConfigPrivateIndex XF86NAME(xf86CrtcConfigPrivateIndex) -#define xf86CrtcCreate XF86NAME(xf86CrtcCreate) -#define xf86CrtcDestroy XF86NAME(xf86CrtcDestroy) -#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) -#define xf86DDCMonitorSet XF86NAME(xf86DDCMonitorSet) -#define xf86DisableUnusedFunctions XF86NAME(xf86DisableUnusedFunctions) -#define xf86DPMSSet XF86NAME(xf86DPMSSet) -#define xf86DuplicateMode XF86NAME(xf86DuplicateMode) -#define xf86DuplicateModes XF86NAME(xf86DuplicateModes) -#define xf86GetDefaultModes XF86NAME(xf86GetDefaultModes) -#define xf86GetMonitorModes XF86NAME(xf86GetMonitorModes) -#define xf86InitialConfiguration XF86NAME(xf86InitialConfiguration) -#define xf86ModeHSync XF86NAME(xf86ModeHSync) -#define xf86ModesAdd XF86NAME(xf86ModesAdd) -#define xf86ModesEqual XF86NAME(xf86ModesEqual) -#define xf86ModeVRefresh XF86NAME(xf86ModeVRefresh) -#define xf86OutputCreate XF86NAME(xf86OutputCreate) -#define xf86OutputDestroy XF86NAME(xf86OutputDestroy) -#define xf86OutputGetEDID XF86NAME(xf86OutputGetEDID) -#define xf86OutputGetEDIDModes XF86NAME(xf86OutputGetEDIDModes) -#define xf86OutputRename XF86NAME(xf86OutputRename) -#define xf86OutputSetEDID XF86NAME(xf86OutputSetEDID) -#define xf86OutputUseScreenMonitor XF86NAME(xf86OutputUseScreenMonitor) -#define xf86PrintModeline XF86NAME(xf86PrintModeline) -#define xf86ProbeOutputModes XF86NAME(xf86ProbeOutputModes) -#define xf86PruneInvalidModes XF86NAME(xf86PruneInvalidModes) -#define xf86RotateCloseScreen XF86NAME(xf86RotateCloseScreen) -#define xf86SetModeCrtc XF86NAME(xf86SetModeCrtc) -#define xf86SetModeDefaultName XF86NAME(xf86SetModeDefaultName) -#define xf86SetScrnInfoModes XF86NAME(xf86SetScrnInfoModes) -#define xf86ValidateModesClocks XF86NAME(xf86ValidateModesClocks) -#define xf86ValidateModesFlags XF86NAME(xf86ValidateModesFlags) -#define xf86ValidateModesSize XF86NAME(xf86ValidateModesSize) -#define xf86ValidateModesSync XF86NAME(xf86ValidateModesSync) -#define xf86ValidateModesUserConfig XF86NAME(xf86ValidateModesUserConfig) -#define xf86DiDGAInit XF86NAME(xf86DiDGAInit) -#define xf86DiDGAReInit XF86NAME(xf86DiDGAReInit) -#define xf86DDCGetModes XF86NAME(xf86DDCGetModes) -#define xf86RandR12CreateScreenResources XF86NAME(xf86RandR12CreateScreenResources) -#define xf86RandR12GetOriginalVirtualSize XF86NAME(xf86RandR12GetOriginalVirtualSize) -#define xf86RandR12GetRotation XF86NAME(xf86RandR12GetRotation) -#define xf86RandR12Init XF86NAME(xf86RandR12Init) -#define xf86RandR12PreInit XF86NAME(xf86RandR12PreInit) -#define xf86RandR12SetConfig XF86NAME(xf86RandR12SetConfig) -#define xf86RandR12SetRotations XF86NAME(xf86RandR12SetRotations) -#define xf86SaveScreen XF86NAME(xf86SaveScreen) -#define xf86CrtcSetScreenSubpixelOrder XF86NAME(xf86CrtcSetScreenSubpixelOrder) -#define xf86ModeWidth XF86NAME(xf86ModeWidth) -#define xf86ModeHeight XF86NAME(xf86ModeHeight) -#define xf86OutputFindClosestMode XF86NAME(xf86OutputFindClosestMode) -#define xf86SetSingleMode XF86NAME(xf86SetSingleMode) -#define xf86SetDesiredModes XF86NAME(xf86SetDesiredModes) - -#endif /* _XF86RENAME_H_ */ diff --git a/xserver/hw/xfree86/modes/xf86Rotate.c b/xserver/hw/xfree86/modes/xf86Rotate.c index a3937478f..495af9ba7 100644 --- a/xserver/hw/xfree86/modes/xf86Rotate.c +++ b/xserver/hw/xfree86/modes/xf86Rotate.c @@ -272,14 +272,10 @@ xf86RotateDestroy(xf86CrtcPtr crtc) screenDrawable = &pScreen->root->drawable; /* Free damage structure */ if (xf86_config->rotation_damage_registered) { - if (screenDrawable) - DamageUnregister(screenDrawable, - xf86_config->rotation_damage); xf86_config->rotation_damage_registered = FALSE; DisableLimitedSchedulingLatency(); } - if (screenDrawable) - DamageDestroy(xf86_config->rotation_damage); + DamageDestroy(xf86_config->rotation_damage); xf86_config->rotation_damage = NULL; } } diff --git a/xserver/hw/xfree86/os-support/Makefile.in b/xserver/hw/xfree86/os-support/Makefile.in index 2e6a0a94e..da5f4069a 100644 --- a/xserver/hw/xfree86/os-support/Makefile.in +++ b/xserver/hw/xfree86/os-support/Makefile.in @@ -243,9 +243,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -277,6 +280,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -306,6 +310,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -349,6 +355,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -362,12 +369,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -433,6 +440,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/os-support/bsd/Makefile.am b/xserver/hw/xfree86/os-support/bsd/Makefile.am index 09e482522..9c5d86da7 100644 --- a/xserver/hw/xfree86/os-support/bsd/Makefile.am +++ b/xserver/hw/xfree86/os-support/bsd/Makefile.am @@ -72,7 +72,7 @@ endif # FIXME: NetBSD Aperture defines (configure.ac) AM_CFLAGS = -DUSESTDRES $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) libbsd_la_SOURCES = \ $(srcdir)/../shared/posix_tty.c \ diff --git a/xserver/hw/xfree86/os-support/bsd/Makefile.in b/xserver/hw/xfree86/os-support/bsd/Makefile.in index 82e4ef4ca..91667b259 100644 --- a/xserver/hw/xfree86/os-support/bsd/Makefile.in +++ b/xserver/hw/xfree86/os-support/bsd/Makefile.in @@ -78,10 +78,10 @@ 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_bell.c alpha_video.c bsd_ev56.c \ bsd_axp.c $(srcdir)/../shared/xf86Axp.c arm_video.c \ - $(srcdir)/../shared/ioperm_noop.c hppa_video.c \ - i386_video.c luna88k_video.c ppc_video.c sgi_video.c \ - sparc64_video.c bsd_sbus.c $(srcdir)/../shared/agp_noop.c \ - bsd_agp.c $(srcdir)/../shared/pm_noop.c $(srcdir)/bsd_apm.c \ + $(srcdir)/../shared/ioperm_noop.c hppa_video.c i386_video.c \ + luna88k_video.c ppc_video.c sgi_video.c sparc64_video.c \ + bsd_sbus.c $(srcdir)/../shared/agp_noop.c bsd_agp.c \ + $(srcdir)/../shared/pm_noop.c $(srcdir)/bsd_apm.c \ $(srcdir)/bsd_kqueue_apm.c $(srcdir)/../shared/kmod_noop.c \ bsd_kmod.c @ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@HPPA_VIDEO_FALSE@@I386_VIDEO_FALSE@@LUNA88K_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SGI_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@am__objects_1 = sparc64_video.lo \ @@ -213,9 +213,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -247,6 +250,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -276,6 +280,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -319,6 +325,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -332,12 +339,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -403,6 +410,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -525,7 +534,7 @@ noinst_LTLIBRARIES = libbsd.la # FIXME: NetBSD Aperture defines (configure.ac) AM_CFLAGS = -DUSESTDRES $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) libbsd_la_SOURCES = \ $(srcdir)/../shared/posix_tty.c \ $(srcdir)/../shared/sigio.c \ diff --git a/xserver/hw/xfree86/os-support/bus/Makefile.am b/xserver/hw/xfree86/os-support/bus/Makefile.am index e09d4d21f..eebb3aed6 100644 --- a/xserver/hw/xfree86/os-support/bus/Makefile.am +++ b/xserver/hw/xfree86/os-support/bus/Makefile.am @@ -17,7 +17,7 @@ endif libbus_la_SOURCES = $(PCI_SOURCES) $(PLATFORM_SOURCES) nobus.c -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) diff --git a/xserver/hw/xfree86/os-support/bus/Makefile.in b/xserver/hw/xfree86/os-support/bus/Makefile.in index b80050eb0..239093479 100644 --- a/xserver/hw/xfree86/os-support/bus/Makefile.in +++ b/xserver/hw/xfree86/os-support/bus/Makefile.in @@ -217,9 +217,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -251,6 +254,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -280,6 +284,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -323,6 +329,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -336,12 +343,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -407,6 +414,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -490,7 +499,7 @@ 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_SOURCES) $(PLATFORM_SOURCES) nobus.c -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) EXTRA_DIST = $(sdk_HEADERS) all: all-am diff --git a/xserver/hw/xfree86/os-support/bus/Sbus.c b/xserver/hw/xfree86/os-support/bus/Sbus.c index 826000712..14e6d4bfd 100644 --- a/xserver/hw/xfree86/os-support/bus/Sbus.c +++ b/xserver/hw/xfree86/os-support/bus/Sbus.c @@ -617,8 +617,10 @@ sparcPromPathname2Node(const char *pathName) return 0; strcpy(name, pathName); name[i + 1] = 0; - if (name[0] != '/') + if (name[0] != '/') { + free(name); return 0; + } p = strchr(name + 1, '/'); if (p) *p = 0; @@ -629,8 +631,10 @@ sparcPromPathname2Node(const char *pathName) *regstr++ = 0; else regstr = p; - if (name + 1 == regstr) + if (name + 1 == regstr) { + free(name); return 0; + } promGetSibling(0); i = promWalkPathname2Node(name + 1, regstr, promRootNode, 0); free(name); diff --git a/xserver/hw/xfree86/os-support/hurd/Makefile.am b/xserver/hw/xfree86/os-support/hurd/Makefile.am index 3e8224753..f228c1ce4 100644 --- a/xserver/hw/xfree86/os-support/hurd/Makefile.am +++ b/xserver/hw/xfree86/os-support/hurd/Makefile.am @@ -12,4 +12,4 @@ libhurd_la_SOURCES = hurd_bell.c hurd_init.c hurd_mmap.c \ AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) diff --git a/xserver/hw/xfree86/os-support/hurd/Makefile.in b/xserver/hw/xfree86/os-support/hurd/Makefile.in index 1165ed9c2..a885f8f8f 100644 --- a/xserver/hw/xfree86/os-support/hurd/Makefile.in +++ b/xserver/hw/xfree86/os-support/hurd/Makefile.in @@ -180,9 +180,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -214,6 +217,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -243,6 +247,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -286,6 +292,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -299,12 +306,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -370,6 +377,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -460,7 +469,7 @@ libhurd_la_SOURCES = hurd_bell.c hurd_init.c hurd_mmap.c \ $(srcdir)/../shared/agp_noop.c AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) all: all-am .SUFFIXES: diff --git a/xserver/hw/xfree86/os-support/hurd/hurd_init.c b/xserver/hw/xfree86/os-support/hurd/hurd_init.c index 185b2b951..fe1a76413 100644 --- a/xserver/hw/xfree86/os-support/hurd/hurd_init.c +++ b/xserver/hw/xfree86/os-support/hurd/hurd_init.c @@ -42,6 +42,7 @@ #include #include #include +#include int xf86ProcessArgument(int argc, char **argv, int i) diff --git a/xserver/hw/xfree86/os-support/hurd/hurd_mmap.c b/xserver/hw/xfree86/os-support/hurd/hurd_mmap.c index 6ac9efdfe..8e089cadb 100644 --- a/xserver/hw/xfree86/os-support/hurd/hurd_mmap.c +++ b/xserver/hw/xfree86/os-support/hurd/hurd_mmap.c @@ -27,6 +27,7 @@ #include #include #include +#include #include diff --git a/xserver/hw/xfree86/os-support/hurd/hurd_video.c b/xserver/hw/xfree86/os-support/hurd/hurd_video.c index 72474ba10..b3b94c9f2 100644 --- a/xserver/hw/xfree86/os-support/hurd/hurd_video.c +++ b/xserver/hw/xfree86/os-support/hurd/hurd_video.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "input.h" diff --git a/xserver/hw/xfree86/os-support/linux/Makefile.am b/xserver/hw/xfree86/os-support/linux/Makefile.am index 61175b386..83e7e0027 100644 --- a/xserver/hw/xfree86/os-support/linux/Makefile.am +++ b/xserver/hw/xfree86/os-support/linux/Makefile.am @@ -34,7 +34,7 @@ liblinux_la_SOURCES = lnx_init.c lnx_video.c \ AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES) -INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS) +AM_CPPFLAGS = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS) EXTRA_DIST = \ $(srcdir)/../shared/xf86Axp.h diff --git a/xserver/hw/xfree86/os-support/linux/Makefile.in b/xserver/hw/xfree86/os-support/linux/Makefile.in index 4055ce4c6..675082a0c 100644 --- a/xserver/hw/xfree86/os-support/linux/Makefile.in +++ b/xserver/hw/xfree86/os-support/linux/Makefile.in @@ -204,9 +204,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -238,6 +241,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -267,6 +271,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -310,6 +316,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -323,12 +330,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -394,6 +401,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -493,7 +502,7 @@ liblinux_la_SOURCES = lnx_init.c lnx_video.c \ $(PLATFORM_PCI_SUPPORT) AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES) -INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS) +AM_CPPFLAGS = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS) EXTRA_DIST = \ $(srcdir)/../shared/xf86Axp.h diff --git a/xserver/hw/xfree86/os-support/linux/lnx_platform.c b/xserver/hw/xfree86/os-support/linux/lnx_platform.c index d751f591a..1865b31b9 100644 --- a/xserver/hw/xfree86/os-support/linux/lnx_platform.c +++ b/xserver/hw/xfree86/os-support/linux/lnx_platform.c @@ -7,6 +7,8 @@ #include #include #include +#include +#include /* Linux platform device support */ #include "xf86_OSproc.h" @@ -23,6 +25,7 @@ get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index) drmSetVersion sv; char *buf; int fd; + int err = 0; fd = open(path, O_RDWR, O_CLOEXEC); if (fd == -1) @@ -32,9 +35,11 @@ get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index) sv.drm_di_minor = 4; sv.drm_dd_major = -1; /* Don't care */ sv.drm_dd_minor = -1; /* Don't care */ - if (drmSetInterfaceVersion(fd, &sv)) { - ErrorF("setversion 1.4 failed\n"); - return FALSE; + + err = drmSetInterfaceVersion(fd, &sv); + if (err) { + ErrorF("setversion 1.4 failed: %s\n", strerror(-err)); + goto out; } /* for a delayed probe we've already added the device */ @@ -47,8 +52,9 @@ get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index) xf86_add_platform_device_attrib(delayed_index, ODEV_ATTRIB_BUSID, buf); drmFreeBusid(buf); +out: close(fd); - return TRUE; + return (err == 0); } Bool diff --git a/xserver/hw/xfree86/os-support/linux/lnx_video.c b/xserver/hw/xfree86/os-support/linux/lnx_video.c index d9a5da184..43d0a364a 100644 --- a/xserver/hw/xfree86/os-support/linux/lnx_video.c +++ b/xserver/hw/xfree86/os-support/linux/lnx_video.c @@ -58,7 +58,8 @@ static Bool ExtendedEnabled = FALSE; !defined(__sparc__) && \ !defined(__mips__) && \ !defined(__nds32__) && \ - !defined(__arm__) + !defined(__arm__) && \ + !defined(__aarch64__) /* * Due to conflicts with "compiler.h", don't rely on to declare diff --git a/xserver/hw/xfree86/os-support/misc/Makefile.am b/xserver/hw/xfree86/os-support/misc/Makefile.am index 4bd3fc3e1..0265aecd4 100644 --- a/xserver/hw/xfree86/os-support/misc/Makefile.am +++ b/xserver/hw/xfree86/os-support/misc/Makefile.am @@ -5,7 +5,7 @@ libmisc_la_SOURCES = SlowBcopy.c #AM_LDFLAGS = -r -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) diff --git a/xserver/hw/xfree86/os-support/misc/Makefile.in b/xserver/hw/xfree86/os-support/misc/Makefile.in index 397c47cd8..7f58e629e 100644 --- a/xserver/hw/xfree86/os-support/misc/Makefile.in +++ b/xserver/hw/xfree86/os-support/misc/Makefile.in @@ -178,9 +178,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -212,6 +215,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -241,6 +245,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -284,6 +290,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -297,12 +304,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -368,6 +375,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -450,7 +459,7 @@ noinst_LTLIBRARIES = libmisc.la libmisc_la_SOURCES = SlowBcopy.c #AM_LDFLAGS = -r -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS) all: all-am diff --git a/xserver/hw/xfree86/os-support/shared/vidmem.c b/xserver/hw/xfree86/os-support/shared/vidmem.c index 514fc2fa7..68ed30e41 100644 --- a/xserver/hw/xfree86/os-support/shared/vidmem.c +++ b/xserver/hw/xfree86/os-support/shared/vidmem.c @@ -257,16 +257,3 @@ xf86LinearVidMem(void) xf86InitVidMem(); return vidMemInfo.linearSupported; } - -void -xf86MapReadSideEffects(int ScreenNum, int Flags, pointer base, - unsigned long Size) -{ - if (!(Flags & VIDMEM_READSIDEEFFECT)) - return; - - if (!vidMemInfo.initialised || !vidMemInfo.readSideEffects) - return; - - vidMemInfo.readSideEffects(ScreenNum, base, Size); -} diff --git a/xserver/hw/xfree86/os-support/solaris/Makefile.am b/xserver/hw/xfree86/os-support/solaris/Makefile.am index 5163f4423..6cda4b361 100644 --- a/xserver/hw/xfree86/os-support/solaris/Makefile.am +++ b/xserver/hw/xfree86/os-support/solaris/Makefile.am @@ -31,7 +31,7 @@ nodist_sdk_HEADERS = solaris-@SOLARIS_INOUT_ARCH@.il AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) EXTRA_DIST = solaris-amd64.S solaris-ia32.S solaris-sparcv8plus.S \ apSolaris.shar sun_inout.s diff --git a/xserver/hw/xfree86/os-support/solaris/Makefile.in b/xserver/hw/xfree86/os-support/solaris/Makefile.in index 363a411cc..d0cb0f6b7 100644 --- a/xserver/hw/xfree86/os-support/solaris/Makefile.in +++ b/xserver/hw/xfree86/os-support/solaris/Makefile.in @@ -233,9 +233,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -267,6 +270,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -296,6 +300,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -339,6 +345,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -352,12 +359,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -423,6 +430,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -520,7 +529,7 @@ nodist_libsolaris_la_SOURCES = $(SOLARIS_INOUT_SRC) sdk_HEADERS = nodist_sdk_HEADERS = solaris-@SOLARIS_INOUT_ARCH@.il AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) EXTRA_DIST = solaris-amd64.S solaris-ia32.S solaris-sparcv8plus.S \ apSolaris.shar sun_inout.s diff --git a/xserver/hw/xfree86/os-support/stub/Makefile.am b/xserver/hw/xfree86/os-support/stub/Makefile.am index a1156ef1b..a39e17d55 100644 --- a/xserver/hw/xfree86/os-support/stub/Makefile.am +++ b/xserver/hw/xfree86/os-support/stub/Makefile.am @@ -2,7 +2,7 @@ noinst_LTLIBRARIES = libstub.la AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) libstub_la_SOURCES = \ $(srcdir)/../shared/VTsw_noop.c \ diff --git a/xserver/hw/xfree86/os-support/stub/Makefile.in b/xserver/hw/xfree86/os-support/stub/Makefile.in index 5138d050d..e99acf66a 100644 --- a/xserver/hw/xfree86/os-support/stub/Makefile.in +++ b/xserver/hw/xfree86/os-support/stub/Makefile.in @@ -180,9 +180,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -214,6 +217,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -243,6 +247,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -286,6 +292,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -299,12 +306,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -370,6 +377,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -450,7 +459,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libstub.la AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) libstub_la_SOURCES = \ $(srcdir)/../shared/VTsw_noop.c \ $(srcdir)/../shared/agp_noop.c \ diff --git a/xserver/hw/xfree86/os-support/xf86OSpriv.h b/xserver/hw/xfree86/os-support/xf86OSpriv.h index 65769c16f..bd734f554 100644 --- a/xserver/hw/xfree86/os-support/xf86OSpriv.h +++ b/xserver/hw/xfree86/os-support/xf86OSpriv.h @@ -38,7 +38,6 @@ typedef pointer (*SetWCProcPtr) (int, unsigned long, unsigned long, Bool, MessageType); typedef void (*ProtectMemProcPtr) (int, pointer, unsigned long, Bool); typedef void (*UndoWCProcPtr) (int, pointer); -typedef void (*ReadSideEffectsProcPtr) (int, pointer, unsigned long); typedef struct { Bool initialised; @@ -47,7 +46,6 @@ typedef struct { ProtectMemProcPtr protectMem; SetWCProcPtr setWC; UndoWCProcPtr undoWC; - ReadSideEffectsProcPtr readSideEffects; Bool linearSupported; } VidMemInfo, *VidMemInfoPtr; diff --git a/xserver/hw/xfree86/os-support/xf86_OSlib.h b/xserver/hw/xfree86/os-support/xf86_OSlib.h index e931b09a1..eb0a338c9 100644 --- a/xserver/hw/xfree86/os-support/xf86_OSlib.h +++ b/xserver/hw/xfree86/os-support/xf86_OSlib.h @@ -277,12 +277,7 @@ struct pcvtid { #include #endif /* WSCONS_SUPPORT */ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) -#if defined(__FreeBSD_kernel_version) && (__FreeBSD_kernel_version >= 500013) #include -#else -#undef MOUSE_GETINFO -#include -#endif #endif /* Include these definitions in case ioctl_pc.h didn't get included */ #ifndef CONSOLE_X_MODE_ON diff --git a/xserver/hw/xfree86/os-support/xf86_OSproc.h b/xserver/hw/xfree86/os-support/xf86_OSproc.h index 6be594651..106168aba 100644 --- a/xserver/hw/xfree86/os-support/xf86_OSproc.h +++ b/xserver/hw/xfree86/os-support/xf86_OSproc.h @@ -136,8 +136,6 @@ extern _X_EXPORT _X_DEPRECATED pointer xf86MapVidMem(int, int, unsigned long, unsigned long); extern _X_EXPORT _X_DEPRECATED void xf86UnMapVidMem(int, pointer, unsigned long); -extern _X_EXPORT _X_DEPRECATED void xf86MapReadSideEffects(int, int, pointer, - unsigned long); extern _X_EXPORT int xf86ReadBIOS(unsigned long, unsigned long, unsigned char *, int); extern _X_EXPORT Bool xf86EnableIO(void); diff --git a/xserver/hw/xfree86/parser/Makefile.am b/xserver/hw/xfree86/parser/Makefile.am index 002cfbf5c..3bf62e8af 100644 --- a/xserver/hw/xfree86/parser/Makefile.am +++ b/xserver/hw/xfree86/parser/Makefile.am @@ -51,4 +51,4 @@ sdk_HEADERS = \ xf86Parser.h \ xf86Optrec.h -INCLUDES = -I$(srcdir)/../common +AM_CPPFLAGS = -I$(srcdir)/../common diff --git a/xserver/hw/xfree86/parser/Makefile.in b/xserver/hw/xfree86/parser/Makefile.in index e3b1599a0..96a7ac583 100644 --- a/xserver/hw/xfree86/parser/Makefile.in +++ b/xserver/hw/xfree86/parser/Makefile.in @@ -235,9 +235,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -269,6 +272,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -298,6 +302,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -341,6 +347,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -354,12 +361,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -425,6 +432,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -553,7 +562,7 @@ sdk_HEADERS = \ xf86Parser.h \ xf86Optrec.h -INCLUDES = -I$(srcdir)/../common +AM_CPPFLAGS = -I$(srcdir)/../common all: all-am .SUFFIXES: diff --git a/xserver/hw/xfree86/ramdac/Makefile.am b/xserver/hw/xfree86/ramdac/Makefile.am index 346af4ccc..a3d77628c 100644 --- a/xserver/hw/xfree86/ramdac/Makefile.am +++ b/xserver/hw/xfree86/ramdac/Makefile.am @@ -9,4 +9,4 @@ EXTRA_DIST = BTPriv.h IBMPriv.h TIPriv.h xf86CursorPriv.h xf86RamDacPriv.h \ CURSOR.NOTES AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) diff --git a/xserver/hw/xfree86/ramdac/Makefile.in b/xserver/hw/xfree86/ramdac/Makefile.in index 6f896636f..a29e3e16e 100644 --- a/xserver/hw/xfree86/ramdac/Makefile.in +++ b/xserver/hw/xfree86/ramdac/Makefile.in @@ -209,9 +209,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -243,6 +246,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -272,6 +276,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -315,6 +321,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -328,12 +335,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -399,6 +406,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -486,7 +495,7 @@ EXTRA_DIST = BTPriv.h IBMPriv.h TIPriv.h xf86CursorPriv.h xf86RamDacPriv.h \ CURSOR.NOTES AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) all: all-am .SUFFIXES: diff --git a/xserver/hw/xfree86/ramdac/xf86Cursor.c b/xserver/hw/xfree86/ramdac/xf86Cursor.c index f30bd33c7..860704e1c 100644 --- a/xserver/hw/xfree86/ramdac/xf86Cursor.c +++ b/xserver/hw/xfree86/ramdac/xf86Cursor.c @@ -16,7 +16,6 @@ * Externing inputInfo is not the nice way to do it but it works. */ #include "inputstr.h" -extern InputInfo inputInfo; DevPrivateKeyRec xf86CursorScreenKeyRec; diff --git a/xserver/hw/xfree86/sdksyms.sh b/xserver/hw/xfree86/sdksyms.sh index 5c04a6040..ef0c86849 100644 --- a/xserver/hw/xfree86/sdksyms.sh +++ b/xserver/hw/xfree86/sdksyms.sh @@ -43,6 +43,9 @@ cat > sdksyms.c << EOF /* miext/sync/Makefile.am */ #include "misync.h" #include "misyncstr.h" +#if HAVE_XSHMFENCE +#include "misyncshm.h" +#endif /* Xext/Makefile.am -- half is module, half is builtin */ #ifdef XV @@ -98,6 +101,7 @@ cat > sdksyms.c << EOF # include "dri2.h" #endif +# include "dri3.h" /* hw/xfree86/vgahw/Makefile.am -- module */ /* diff --git a/xserver/hw/xfree86/shadowfb/Makefile.am b/xserver/hw/xfree86/shadowfb/Makefile.am index 5756fca3b..22f7ada2a 100644 --- a/xserver/hw/xfree86/shadowfb/Makefile.am +++ b/xserver/hw/xfree86/shadowfb/Makefile.am @@ -5,6 +5,6 @@ libshadowfb_la_LIBADD = $(PIXMAN_LIBS) sdk_HEADERS = shadowfb.h -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xserver/hw/xfree86/shadowfb/Makefile.in b/xserver/hw/xfree86/shadowfb/Makefile.in index 820d1c42f..42caa6624 100644 --- a/xserver/hw/xfree86/shadowfb/Makefile.in +++ b/xserver/hw/xfree86/shadowfb/Makefile.in @@ -213,9 +213,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -247,6 +250,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -276,6 +280,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -319,6 +325,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -332,12 +339,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -403,6 +410,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -486,7 +495,7 @@ libshadowfb_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG) libshadowfb_la_SOURCES = sfbmodule.c shadow.c libshadowfb_la_LIBADD = $(PIXMAN_LIBS) sdk_HEADERS = shadowfb.h -INCLUDES = $(XORG_INCS) +AM_CPPFLAGS = $(XORG_INCS) AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) all: all-am diff --git a/xserver/hw/xfree86/utils/Makefile.in b/xserver/hw/xfree86/utils/Makefile.in index 8fee4ed95..ed94baa8e 100644 --- a/xserver/hw/xfree86/utils/Makefile.in +++ b/xserver/hw/xfree86/utils/Makefile.in @@ -184,9 +184,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -218,6 +221,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -247,6 +251,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -290,6 +296,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -303,12 +310,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -374,6 +381,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/utils/cvt/Makefile.am b/xserver/hw/xfree86/utils/cvt/Makefile.am index 4ebcedf39..26abeb40b 100644 --- a/xserver/hw/xfree86/utils/cvt/Makefile.am +++ b/xserver/hw/xfree86/utils/cvt/Makefile.am @@ -22,8 +22,9 @@ bin_PROGRAMS = cvt -INCLUDES = $(XORG_INCS) \ +AM_CPPFLAGS = $(XORG_INCS) \ -I$(top_srcdir)/hw/xfree86/ddc \ + -I$(top_srcdir)/hw/xfree86/modes \ -I$(top_srcdir)/hw/xfree86/parser # gah diff --git a/xserver/hw/xfree86/utils/cvt/Makefile.in b/xserver/hw/xfree86/utils/cvt/Makefile.in index b3bc054c9..29be15fb0 100644 --- a/xserver/hw/xfree86/utils/cvt/Makefile.in +++ b/xserver/hw/xfree86/utils/cvt/Makefile.in @@ -206,9 +206,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -240,6 +243,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -269,6 +273,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -312,6 +318,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -325,12 +332,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -396,6 +403,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -474,8 +483,9 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -INCLUDES = $(XORG_INCS) \ +AM_CPPFLAGS = $(XORG_INCS) \ -I$(top_srcdir)/hw/xfree86/ddc \ + -I$(top_srcdir)/hw/xfree86/modes \ -I$(top_srcdir)/hw/xfree86/parser diff --git a/xserver/hw/xfree86/utils/cvt/cvt.c b/xserver/hw/xfree86/utils/cvt/cvt.c index 9483964e0..5e2888e94 100644 --- a/xserver/hw/xfree86/utils/cvt/cvt.c +++ b/xserver/hw/xfree86/utils/cvt/cvt.c @@ -24,6 +24,7 @@ /* Standalone VESA CVT standard timing modelines generator. */ #include "xf86.h" +#include "xf86Modes.h" /* FatalError implementation used by the server code we built in */ void diff --git a/xserver/hw/xfree86/utils/gtf/Makefile.in b/xserver/hw/xfree86/utils/gtf/Makefile.in index 8b67b0d6a..4d2204b9a 100644 --- a/xserver/hw/xfree86/utils/gtf/Makefile.in +++ b/xserver/hw/xfree86/utils/gtf/Makefile.in @@ -205,9 +205,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -239,6 +242,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -268,6 +272,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -311,6 +317,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -324,12 +331,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -395,6 +402,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/utils/man/Makefile.in b/xserver/hw/xfree86/utils/man/Makefile.in index e13751450..fdb4f6b0b 100644 --- a/xserver/hw/xfree86/utils/man/Makefile.in +++ b/xserver/hw/xfree86/utils/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xfree86/vbe/Makefile.am b/xserver/hw/xfree86/vbe/Makefile.am index 0b24faf1f..041b47a9f 100644 --- a/xserver/hw/xfree86/vbe/Makefile.am +++ b/xserver/hw/xfree86/vbe/Makefile.am @@ -9,5 +9,6 @@ sdk_HEADERS = vbe.h vbeModes.h AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ + -I$(srcdir)/../modes -I$(srcdir)/../parser \ -I$(srcdir)/../int10 diff --git a/xserver/hw/xfree86/vbe/Makefile.in b/xserver/hw/xfree86/vbe/Makefile.in index 17e329c5e..040bf0b26 100644 --- a/xserver/hw/xfree86/vbe/Makefile.in +++ b/xserver/hw/xfree86/vbe/Makefile.in @@ -211,9 +211,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -245,6 +248,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -274,6 +278,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -317,6 +323,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -330,12 +337,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -401,6 +408,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -485,7 +494,8 @@ libvbe_la_SOURCES = vbe.c vbeModes.c vbe_module.c @NO_UNDEFINED_TRUE@libvbe_la_LIBADD = ../int10/libint10.la sdk_HEADERS = vbe.h vbeModes.h AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ + -I$(srcdir)/../modes -I$(srcdir)/../parser \ -I$(srcdir)/../int10 all: all-am diff --git a/xserver/hw/xfree86/vbe/vbe.c b/xserver/hw/xfree86/vbe/vbe.c index 97a9bcf60..39f0cefb6 100644 --- a/xserver/hw/xfree86/vbe/vbe.c +++ b/xserver/hw/xfree86/vbe/vbe.c @@ -16,6 +16,7 @@ #include #include "xf86.h" +#include "xf86Modes.h" #include "vbe.h" #include @@ -318,10 +319,8 @@ vbeReadEDID(vbeInfoPtr pVbe) } xf86MonPtr -vbeDoEDID(vbeInfoPtr pVbe, pointer pDDCModule) +vbeDoEDID(vbeInfoPtr pVbe, pointer unused) { - xf86MonPtr pMonitor; - pointer pModule; unsigned char *DDC_data = NULL; if (!pVbe) @@ -329,23 +328,12 @@ vbeDoEDID(vbeInfoPtr pVbe, pointer pDDCModule) if (pVbe->version < 0x200) return NULL; - if (!(pModule = pDDCModule)) { - pModule = - xf86LoadSubModule(pVbe->pInt10->pScrn, "ddc"); - if (!pModule) - return NULL; - } - DDC_data = vbeReadEDID(pVbe); if (!DDC_data) return NULL; - pMonitor = xf86InterpretEDID(pVbe->pInt10->pScrn->scrnIndex, DDC_data); - - if (!pDDCModule) - xf86UnloadSubModule(pModule); - return pMonitor; + return xf86InterpretEDID(pVbe->pInt10->pScrn->scrnIndex, DDC_data); } #define GET_UNALIGNED2(x) \ diff --git a/xserver/hw/xfree86/vgahw/Makefile.am b/xserver/hw/xfree86/vgahw/Makefile.am index f48e46a11..f0b65740c 100644 --- a/xserver/hw/xfree86/vgahw/Makefile.am +++ b/xserver/hw/xfree86/vgahw/Makefile.am @@ -1,7 +1,7 @@ module_LTLIBRARIES = libvgahw.la libvgahw_la_LDFLAGS = -avoid-version libvgahw_la_SOURCES = vgaHW.c vgaHWmodule.c -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) sdk_HEADERS = vgaHW.h diff --git a/xserver/hw/xfree86/vgahw/Makefile.in b/xserver/hw/xfree86/vgahw/Makefile.in index 97920f28a..b53750d05 100644 --- a/xserver/hw/xfree86/vgahw/Makefile.in +++ b/xserver/hw/xfree86/vgahw/Makefile.in @@ -211,9 +211,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -245,6 +248,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -274,6 +278,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -317,6 +323,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -330,12 +337,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -401,6 +408,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -482,7 +491,7 @@ top_srcdir = @top_srcdir@ module_LTLIBRARIES = libvgahw.la libvgahw_la_LDFLAGS = -avoid-version libvgahw_la_SOURCES = vgaHW.c vgaHWmodule.c -INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c +AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) sdk_HEADERS = vgaHW.h EXTRA_DIST = vgaCmap.c diff --git a/xserver/hw/xfree86/x86emu/Makefile.am b/xserver/hw/xfree86/x86emu/Makefile.am index df9697767..2a55d6353 100644 --- a/xserver/hw/xfree86/x86emu/Makefile.am +++ b/xserver/hw/xfree86/x86emu/Makefile.am @@ -11,7 +11,7 @@ libx86emu_la_SOURCES = debug.c \ sys.c \ x86emu.h -INCLUDES = +AM_CPPFLAGS = AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xserver/hw/xfree86/x86emu/Makefile.in b/xserver/hw/xfree86/x86emu/Makefile.in index e2e0ebbfd..7f53eac65 100644 --- a/xserver/hw/xfree86/x86emu/Makefile.in +++ b/xserver/hw/xfree86/x86emu/Makefile.in @@ -180,9 +180,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -214,6 +217,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -243,6 +247,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -286,6 +292,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -299,12 +306,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -370,6 +377,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -458,7 +467,7 @@ libx86emu_la_SOURCES = debug.c \ sys.c \ x86emu.h -INCLUDES = +AM_CPPFLAGS = AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) EXTRA_DIST = validate.c \ x86emu/debug.h \ diff --git a/xserver/hw/xfree86/x86emu/decode.c b/xserver/hw/xfree86/x86emu/decode.c index 12f8fb84b..08a07b1bb 100644 --- a/xserver/hw/xfree86/x86emu/decode.c +++ b/xserver/hw/xfree86/x86emu/decode.c @@ -38,6 +38,16 @@ ****************************************************************************/ #include + +#if defined(__sun) && defined(CS) /* avoid conflicts with Solaris sys/regset.h */ +# undef CS +# undef DS +# undef SS +# undef ES +# undef FS +# undef GS +#endif + #include "x86emu/x86emui.h" /*----------------------------- Implementation ----------------------------*/ diff --git a/xserver/hw/xfree86/x86emu/x86emu/regs.h b/xserver/hw/xfree86/x86emu/x86emu/regs.h index 6bd061166..2ecafa047 100644 --- a/xserver/hw/xfree86/x86emu/x86emu/regs.h +++ b/xserver/hw/xfree86/x86emu/x86emu/regs.h @@ -112,6 +112,15 @@ struct i386_special_regs { * CS, DS, ES, SS. */ +#if defined(__sun) && defined(CS) /* avoid conflicts with Solaris sys/regset.h */ +# undef CS +# undef DS +# undef SS +# undef ES +# undef FS +# undef GS +#endif + struct i386_segment_regs { u16 CS, DS, SS, ES, FS, GS; }; diff --git a/xserver/hw/xfree86/x86emu/x86emu/x86emui.h b/xserver/hw/xfree86/x86emu/x86emu/x86emui.h index f11dc102f..5e20d9705 100644 --- a/xserver/hw/xfree86/x86emu/x86emu/x86emui.h +++ b/xserver/hw/xfree86/x86emu/x86emu/x86emui.h @@ -73,7 +73,17 @@ #include #include #include -#endif +/* avoid conflicts with Solaris sys/regset.h */ +# if defined(__sun) && defined(CS) +# undef CS +# undef DS +# undef SS +# undef ES +# undef FS +# undef GS +# endif +#endif /* NO_SYS_HEADERS */ + /*--------------------------- Inline Functions ----------------------------*/ #ifdef __cplusplus diff --git a/xserver/hw/xnest/Args.h b/xserver/hw/xnest/Args.h index 514a39513..225418d22 100644 --- a/xserver/hw/xnest/Args.h +++ b/xserver/hw/xnest/Args.h @@ -12,7 +12,7 @@ is" without express or implied warranty. */ -#ifndef XNESTARGC_H +#ifndef XNESTARGS_H #define XNESTARGS_H extern char *xnestDisplayName; diff --git a/xserver/hw/xnest/GCOps.c b/xserver/hw/xnest/GCOps.c index e26a1363b..d00511d71 100644 --- a/xserver/hw/xnest/GCOps.c +++ b/xserver/hw/xnest/GCOps.c @@ -94,15 +94,28 @@ xnestPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, } } +static int +xnestIgnoreErrorHandler (Display *display, + XErrorEvent *event) +{ + return False; /* return value is ignored */ +} + void xnestGetImage(DrawablePtr pDrawable, int x, int y, int w, int h, unsigned int format, unsigned long planeMask, char *pImage) { XImage *ximage; int length; + int (*old_handler)(Display*, XErrorEvent*); + + /* we may get BadMatch error when xnest window is minimized */ + XSync(xnestDisplay, False); + old_handler = XSetErrorHandler (xnestIgnoreErrorHandler); ximage = XGetImage(xnestDisplay, xnestDrawable(pDrawable), x, y, w, h, planeMask, format); + XSetErrorHandler(old_handler); if (ximage) { length = ximage->bytes_per_line * ximage->height; diff --git a/xserver/hw/xnest/Makefile.in b/xserver/hw/xnest/Makefile.in index 6e945874e..563169d64 100644 --- a/xserver/hw/xnest/Makefile.in +++ b/xserver/hw/xnest/Makefile.in @@ -239,9 +239,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -273,6 +276,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -302,6 +306,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -345,6 +351,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -358,12 +365,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -432,6 +439,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xnest/Pixmap.c b/xserver/hw/xnest/Pixmap.c index 13e1610fd..2902acd56 100644 --- a/xserver/hw/xnest/Pixmap.c +++ b/xserver/hw/xnest/Pixmap.c @@ -78,6 +78,21 @@ xnestDestroyPixmap(PixmapPtr pPixmap) return TRUE; } +Bool +xnestModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, int depth, + int bitsPerPixel, int devKind, pointer pPixData) +{ + if(!xnestPixmapPriv(pPixmap)->pixmap && width > 0 && height > 0) { + xnestPixmapPriv(pPixmap)->pixmap = + XCreatePixmap(xnestDisplay, + xnestDefaultWindows[pPixmap->drawable.pScreen->myNum], + width, height, depth); + } + + return miModifyPixmapHeader(pPixmap, width, height, depth, + bitsPerPixel, devKind, pPixData); +} + RegionPtr xnestPixmapToRegion(PixmapPtr pPixmap) { diff --git a/xserver/hw/xnest/Screen.c b/xserver/hw/xnest/Screen.c index 58b5a1199..abb4d372d 100644 --- a/xserver/hw/xnest/Screen.c +++ b/xserver/hw/xnest/Screen.c @@ -282,6 +282,7 @@ xnestOpenScreen(ScreenPtr pScreen, int argc, char *argv[]) pScreen->CreatePixmap = xnestCreatePixmap; pScreen->DestroyPixmap = xnestDestroyPixmap; + pScreen->ModifyPixmapHeader = xnestModifyPixmapHeader; /* Font procedures */ diff --git a/xserver/hw/xnest/XNPixmap.h b/xserver/hw/xnest/XNPixmap.h index 268ba1e8b..5b2e796fe 100644 --- a/xserver/hw/xnest/XNPixmap.h +++ b/xserver/hw/xnest/XNPixmap.h @@ -33,6 +33,8 @@ typedef struct { PixmapPtr xnestCreatePixmap(ScreenPtr pScreen, int width, int height, int depth, unsigned usage_hint); Bool xnestDestroyPixmap(PixmapPtr pPixmap); +Bool xnestModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, int depth, + int bitsPerPixel, int devKind, pointer pPixData); RegionPtr xnestPixmapToRegion(PixmapPtr pPixmap); #endif /* XNESTPIXMAP_H */ diff --git a/xserver/hw/xnest/man/Makefile.in b/xserver/hw/xnest/man/Makefile.in index aec15cd38..fd3d74c73 100644 --- a/xserver/hw/xnest/man/Makefile.in +++ b/xserver/hw/xnest/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xquartz/GL/Makefile.in b/xserver/hw/xquartz/GL/Makefile.in index 087c96e64..828438206 100644 --- a/xserver/hw/xquartz/GL/Makefile.in +++ b/xserver/hw/xquartz/GL/Makefile.in @@ -179,9 +179,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -213,6 +216,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -242,6 +246,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -285,6 +291,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -298,12 +305,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -369,6 +376,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xquartz/GL/glcontextmodes.c b/xserver/hw/xquartz/GL/glcontextmodes.c deleted file mode 100644 index dc97f89e4..000000000 --- a/xserver/hw/xquartz/GL/glcontextmodes.c +++ /dev/null @@ -1,587 +0,0 @@ -/* - * (C) Copyright IBM Corporation 2003 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * on the rights to use, copy, modify, merge, publish, distribute, sub - * license, and/or sell copies of the Software, and to permit persons to whom - * the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - * USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * \file glcontextmodes.c - * Utility routines for working with \c __GLcontextModes structures. At - * some point most or all of these functions will be moved to the Mesa - * code base. - * - * \author Ian Romanick - */ - -#if defined(IN_MINI_GLX) -#include -#else -#if defined(HAVE_DIX_CONFIG_H) -#include -#endif -#include -#include -#include "GL/glxint.h" -#endif - -/* Memory macros */ -#if defined(IN_MINI_GLX) -#include -#include -#define _mesa_malloc(b) malloc(b) -#define _mesa_free(m) free(m) -#define _mesa_memset memset -#else -#ifdef XFree86Server -#include -#include -#define _mesa_malloc(b) malloc(b) -#define _mesa_free(m) free(m) -#define _mesa_memset memset -#else -#include -#define _mesa_memset memset -#define _mesa_malloc(b) Xmalloc(b) -#define _mesa_free(m) free(m) -#endif /* XFree86Server */ -#endif /* !defined(IN_MINI_GLX) */ - -#include "glcontextmodes.h" - -#if !defined(IN_MINI_GLX) -#define NUM_VISUAL_TYPES 6 - -/** - * Convert an X visual type to a GLX visual type. - * - * \param visualType X visual type (i.e., \c TrueColor, \c StaticGray, etc.) - * to be converted. - * \return If \c visualType is a valid X visual type, a GLX visual type will - * be returned. Otherwise \c GLX_NONE will be returned. - */ -GLint -_gl_convert_from_x_visual_type(int visualType) -{ - static const int glx_visual_types[NUM_VISUAL_TYPES] = { - GLX_STATIC_GRAY, GLX_GRAY_SCALE, - GLX_STATIC_COLOR, GLX_PSEUDO_COLOR, - GLX_TRUE_COLOR, GLX_DIRECT_COLOR - }; - - return ((unsigned)visualType < NUM_VISUAL_TYPES) - ? glx_visual_types[visualType] : GLX_NONE; -} - -/** - * Convert a GLX visual type to an X visual type. - * - * \param visualType GLX visual type (i.e., \c GLX_TRUE_COLOR, - * \c GLX_STATIC_GRAY, etc.) to be converted. - * \return If \c visualType is a valid GLX visual type, an X visual type will - * be returned. Otherwise -1 will be returned. - */ -GLint -_gl_convert_to_x_visual_type(int visualType) -{ - static const int x_visual_types[NUM_VISUAL_TYPES] = { - TrueColor, DirectColor, - PseudoColor, StaticColor, - GrayScale, StaticGray - }; - - return ((unsigned)(visualType - GLX_TRUE_COLOR) < NUM_VISUAL_TYPES) - ? x_visual_types[visualType - GLX_TRUE_COLOR] : -1; -} - -/** - * Copy a GLX visual config structure to a GL context mode structure. All - * of the fields in \c config are copied to \c mode. Additional fields in - * \c mode that can be derrived from the fields of \c config (i.e., - * \c haveDepthBuffer) are also filled in. The remaining fields in \c mode - * that cannot be derived are set to default values. - * - * \param mode Destination GL context mode. - * \param config Source GLX visual config. - * - * \note - * The \c fbconfigID and \c visualID fields of the \c __GLcontextModes - * structure will be set to the \c vid of the \c __GLXvisualConfig structure. - */ -void -_gl_copy_visual_to_context_mode(__GLcontextModes * mode, - const __GLXvisualConfig * config) -{ - __GLcontextModes * const next = mode->next; - - (void)_mesa_memset(mode, 0, sizeof(__GLcontextModes)); - mode->next = next; - - mode->visualID = config->vid; - mode->visualType = _gl_convert_from_x_visual_type(config->class); - mode->xRenderable = GL_TRUE; - mode->fbconfigID = config->vid; - mode->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT; - - mode->rgbMode = (config->rgba != 0); - mode->renderType = (mode->rgbMode) ? GLX_RGBA_BIT : GLX_COLOR_INDEX_BIT; - - mode->colorIndexMode = !(mode->rgbMode); - mode->doubleBufferMode = (config->doubleBuffer != 0); - mode->stereoMode = (config->stereo != 0); - - mode->haveAccumBuffer = ((config->accumRedSize + - config->accumGreenSize + - config->accumBlueSize + - config->accumAlphaSize) > 0); - mode->haveDepthBuffer = (config->depthSize > 0); - mode->haveStencilBuffer = (config->stencilSize > 0); - - mode->redBits = config->redSize; - mode->greenBits = config->greenSize; - mode->blueBits = config->blueSize; - mode->alphaBits = config->alphaSize; - mode->redMask = config->redMask; - mode->greenMask = config->greenMask; - mode->blueMask = config->blueMask; - mode->alphaMask = config->alphaMask; - mode->rgbBits = mode->rgbMode ? config->bufferSize : 0; - mode->indexBits = mode->colorIndexMode ? config->bufferSize : 0; - - mode->accumRedBits = config->accumRedSize; - mode->accumGreenBits = config->accumGreenSize; - mode->accumBlueBits = config->accumBlueSize; - mode->accumAlphaBits = config->accumAlphaSize; - mode->depthBits = config->depthSize; - mode->stencilBits = config->stencilSize; - - mode->numAuxBuffers = config->auxBuffers; - mode->level = config->level; - - mode->visualRating = config->visualRating; - mode->transparentPixel = config->transparentPixel; - mode->transparentRed = config->transparentRed; - mode->transparentGreen = config->transparentGreen; - mode->transparentBlue = config->transparentBlue; - mode->transparentAlpha = config->transparentAlpha; - mode->transparentIndex = config->transparentIndex; - mode->samples = config->multiSampleSize; - mode->sampleBuffers = config->nMultiSampleBuffers; - /* mode->visualSelectGroup = config->visualSelectGroup; ? */ - - mode->swapMethod = GLX_SWAP_UNDEFINED_OML; - - mode->bindToTextureRgb = (mode->rgbMode) ? GL_TRUE : GL_FALSE; - mode->bindToTextureRgba = (mode->rgbMode && mode->alphaBits) ? - GL_TRUE : GL_FALSE; - mode->bindToMipmapTexture = mode->rgbMode ? GL_TRUE : GL_FALSE; - mode->bindToTextureTargets = mode->rgbMode ? - GLX_TEXTURE_1D_BIT_EXT | - GLX_TEXTURE_2D_BIT_EXT | - GLX_TEXTURE_RECTANGLE_BIT_EXT : 0; - mode->yInverted = GL_FALSE; -} - -/** - * Get data from a GL context mode. - * - * \param mode GL context mode whose data is to be returned. - * \param attribute Attribute of \c mode that is to be returned. - * \param value_return Location to store the data member of \c mode. - * \return If \c attribute is a valid attribute of \c mode, zero is - * returned. Otherwise \c GLX_BAD_ATTRIBUTE is returned. - */ -int -_gl_get_context_mode_data(const __GLcontextModes *mode, int attribute, - int *value_return) -{ - switch (attribute) { - case GLX_USE_GL: - *value_return = GL_TRUE; - return 0; - - case GLX_BUFFER_SIZE: - *value_return = mode->rgbBits; - return 0; - - case GLX_RGBA: - *value_return = mode->rgbMode; - return 0; - - case GLX_RED_SIZE: - *value_return = mode->redBits; - return 0; - - case GLX_GREEN_SIZE: - *value_return = mode->greenBits; - return 0; - - case GLX_BLUE_SIZE: - *value_return = mode->blueBits; - return 0; - - case GLX_ALPHA_SIZE: - *value_return = mode->alphaBits; - return 0; - - case GLX_DOUBLEBUFFER: - *value_return = mode->doubleBufferMode; - return 0; - - case GLX_STEREO: - *value_return = mode->stereoMode; - return 0; - - case GLX_AUX_BUFFERS: - *value_return = mode->numAuxBuffers; - return 0; - - case GLX_DEPTH_SIZE: - *value_return = mode->depthBits; - return 0; - - case GLX_STENCIL_SIZE: - *value_return = mode->stencilBits; - return 0; - - case GLX_ACCUM_RED_SIZE: - *value_return = mode->accumRedBits; - return 0; - - case GLX_ACCUM_GREEN_SIZE: - *value_return = mode->accumGreenBits; - return 0; - - case GLX_ACCUM_BLUE_SIZE: - *value_return = mode->accumBlueBits; - return 0; - - case GLX_ACCUM_ALPHA_SIZE: - *value_return = mode->accumAlphaBits; - return 0; - - case GLX_LEVEL: - *value_return = mode->level; - return 0; - - case GLX_TRANSPARENT_TYPE_EXT: - *value_return = mode->transparentPixel; - return 0; - - case GLX_TRANSPARENT_RED_VALUE: - *value_return = mode->transparentRed; - return 0; - - case GLX_TRANSPARENT_GREEN_VALUE: - *value_return = mode->transparentGreen; - return 0; - - case GLX_TRANSPARENT_BLUE_VALUE: - *value_return = mode->transparentBlue; - return 0; - - case GLX_TRANSPARENT_ALPHA_VALUE: - *value_return = mode->transparentAlpha; - return 0; - - case GLX_TRANSPARENT_INDEX_VALUE: - *value_return = mode->transparentIndex; - return 0; - - case GLX_X_VISUAL_TYPE: - *value_return = mode->visualType; - return 0; - - case GLX_CONFIG_CAVEAT: - *value_return = mode->visualRating; - return 0; - - case GLX_VISUAL_ID: - *value_return = mode->visualID; - return 0; - - case GLX_DRAWABLE_TYPE: - *value_return = mode->drawableType; - return 0; - - case GLX_RENDER_TYPE: - *value_return = mode->renderType; - return 0; - - case GLX_X_RENDERABLE: - *value_return = mode->xRenderable; - return 0; - - case GLX_FBCONFIG_ID: - *value_return = mode->fbconfigID; - return 0; - - case GLX_MAX_PBUFFER_WIDTH: - *value_return = mode->maxPbufferWidth; - return 0; - - case GLX_MAX_PBUFFER_HEIGHT: - *value_return = mode->maxPbufferHeight; - return 0; - - case GLX_MAX_PBUFFER_PIXELS: - *value_return = mode->maxPbufferPixels; - return 0; - - case GLX_OPTIMAL_PBUFFER_WIDTH_SGIX: - *value_return = mode->optimalPbufferWidth; - return 0; - - case GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX: - *value_return = mode->optimalPbufferHeight; - return 0; - - case GLX_SWAP_METHOD_OML: - *value_return = mode->swapMethod; - return 0; - - case GLX_SAMPLE_BUFFERS_SGIS: - *value_return = mode->sampleBuffers; - return 0; - - case GLX_SAMPLES_SGIS: - *value_return = mode->samples; - return 0; - - case GLX_BIND_TO_TEXTURE_RGB_EXT: - *value_return = mode->bindToTextureRgb; - return 0; - - case GLX_BIND_TO_TEXTURE_RGBA_EXT: - *value_return = mode->bindToTextureRgba; - return 0; - - case GLX_BIND_TO_MIPMAP_TEXTURE_EXT: - *value_return = mode->bindToMipmapTexture == GL_TRUE ? GL_TRUE : - GL_FALSE; - return 0; - - case GLX_BIND_TO_TEXTURE_TARGETS_EXT: - *value_return = mode->bindToTextureTargets; - return 0; - - case GLX_Y_INVERTED_EXT: - *value_return = mode->yInverted; - return 0; - - /* Applications are NOT allowed to query GLX_VISUAL_SELECT_GROUP_SGIX. - * It is ONLY for communication between the GLX client and the GLX - * server. - */ - case GLX_VISUAL_SELECT_GROUP_SGIX: - default: - return GLX_BAD_ATTRIBUTE; - } -} -#endif /* !defined(IN_MINI_GLX) */ - -/** - * Allocate a linked list of \c __GLcontextModes structures. The fields of - * each structure will be initialized to "reasonable" default values. In - * most cases this is the default value defined by table 3.4 of the GLX - * 1.3 specification. This means that most values are either initialized to - * zero or \c GLX_DONT_CARE (which is -1). As support for additional - * extensions is added, the new values will be initialized to appropriate - * values from the extension specification. - * - * \param count Number of structures to allocate. - * \param minimum_size Minimum size of a structure to allocate. This allows - * for differences in the version of the - * \c __GLcontextModes stucture used in libGL and in a - * DRI-based driver. - * \returns A pointer to the first element in a linked list of \c count - * stuctures on success, or \c NULL on failure. - * - * \warning Use of \c minimum_size does \b not guarantee binary compatibility. - * The fundamental assumption is that if the \c minimum_size - * specified by the driver and the size of the \c __GLcontextModes - * structure in libGL is the same, then the meaning of each byte in - * the structure is the same in both places. \b Be \b careful! - * Basically this means that fields have to be added in libGL and - * then propagated to drivers. Drivers should \b never arbitrarilly - * extend the \c __GLcontextModes data-structure. - */ -__GLcontextModes * -_gl_context_modes_create(unsigned count, size_t minimum_size) -{ - const size_t size = (minimum_size > sizeof(__GLcontextModes)) - ? minimum_size : sizeof(__GLcontextModes); - __GLcontextModes * base = NULL; - __GLcontextModes ** next; - unsigned i; - - next = &base; - for (i = 0; i < count; i++) { - *next = (__GLcontextModes *)_mesa_malloc(size); - if (*next == NULL) { - _gl_context_modes_destroy(base); - base = NULL; - break; - } - - (void)_mesa_memset(*next, 0, size); - (*next)->visualID = GLX_DONT_CARE; - (*next)->visualType = GLX_DONT_CARE; - (*next)->visualRating = GLX_NONE; - (*next)->transparentPixel = GLX_NONE; - (*next)->transparentRed = GLX_DONT_CARE; - (*next)->transparentGreen = GLX_DONT_CARE; - (*next)->transparentBlue = GLX_DONT_CARE; - (*next)->transparentAlpha = GLX_DONT_CARE; - (*next)->transparentIndex = GLX_DONT_CARE; - (*next)->xRenderable = GLX_DONT_CARE; - (*next)->fbconfigID = GLX_DONT_CARE; - (*next)->swapMethod = GLX_SWAP_UNDEFINED_OML; - (*next)->bindToTextureRgb = GLX_DONT_CARE; - (*next)->bindToTextureRgba = GLX_DONT_CARE; - (*next)->bindToMipmapTexture = GLX_DONT_CARE; - (*next)->bindToTextureTargets = GLX_DONT_CARE; - (*next)->yInverted = GLX_DONT_CARE; - - next = &((*next)->next); - } - - return base; -} - -/** - * Destroy a linked list of \c __GLcontextModes structures created by - * \c _gl_context_modes_create. - * - * \param modes Linked list of structures to be destroyed. All structres - * in the list will be freed. - */ -void -_gl_context_modes_destroy(__GLcontextModes * modes) -{ - while (modes != NULL) { - __GLcontextModes * const next = modes->next; - - _mesa_free(modes); - modes = next; - } -} - -/** - * Find a context mode matching a Visual ID. - * - * \param modes List list of context-mode structures to be searched. - * \param vid Visual ID to be found. - * \returns A pointer to a context-mode in \c modes if \c vid was found in - * the list, or \c NULL if it was not. - */ - -__GLcontextModes * -_gl_context_modes_find_visual(__GLcontextModes *modes, int vid) -{ - __GLcontextModes *m; - - for (m = modes; m != NULL; m = m->next) - if (m->visualID == vid) - return m; - - return NULL; -} - -__GLcontextModes * -_gl_context_modes_find_fbconfig(__GLcontextModes *modes, int fbid) -{ - __GLcontextModes *m; - - for (m = modes; m != NULL; m = m->next) - if (m->fbconfigID == fbid) - return m; - - return NULL; -} - -/** - * Determine if two context-modes are the same. This is intended to be used - * by libGL implementations to compare to sets of driver generated FBconfigs. - * - * \param a Context-mode to be compared. - * \param b Context-mode to be compared. - * \returns \c GL_TRUE if the two context-modes are the same. \c GL_FALSE is - * returned otherwise. - */ -GLboolean -_gl_context_modes_are_same(const __GLcontextModes * a, - const __GLcontextModes * b) -{ - return ((a->rgbMode == b->rgbMode) && - (a->floatMode == b->floatMode) && - (a->colorIndexMode == b->colorIndexMode) && - (a->doubleBufferMode == b->doubleBufferMode) && - (a->stereoMode == b->stereoMode) && - (a->redBits == b->redBits) && - (a->greenBits == b->greenBits) && - (a->blueBits == b->blueBits) && - (a->alphaBits == b->alphaBits) && -#if 0 /* For some reason these don't get set on the client-side in libGL. */ - (a->redMask == b->redMask) && - (a->greenMask == b->greenMask) && - (a->blueMask == b->blueMask) && - (a->alphaMask == b->alphaMask) && -#endif - (a->rgbBits == b->rgbBits) && - (a->indexBits == b->indexBits) && - (a->accumRedBits == b->accumRedBits) && - (a->accumGreenBits == b->accumGreenBits) && - (a->accumBlueBits == b->accumBlueBits) && - (a->accumAlphaBits == b->accumAlphaBits) && - (a->depthBits == b->depthBits) && - (a->stencilBits == b->stencilBits) && - (a->numAuxBuffers == b->numAuxBuffers) && - (a->level == b->level) && - (a->pixmapMode == b->pixmapMode) && - (a->visualRating == b->visualRating) && - - (a->transparentPixel == b->transparentPixel) && - - ((a->transparentPixel != GLX_TRANSPARENT_RGB) || - ((a->transparentRed == b->transparentRed) && - (a->transparentGreen == b->transparentGreen) && - (a->transparentBlue == b->transparentBlue) && - (a->transparentAlpha == b->transparentAlpha))) && - - ((a->transparentPixel != GLX_TRANSPARENT_INDEX) || - (a->transparentIndex == b->transparentIndex)) && - - (a->sampleBuffers == b->sampleBuffers) && - (a->samples == b->samples) && - ((a->drawableType & b->drawableType) != 0) && - (a->renderType == b->renderType) && - (a->maxPbufferWidth == b->maxPbufferWidth) && - (a->maxPbufferHeight == b->maxPbufferHeight) && - (a->maxPbufferPixels == b->maxPbufferPixels) && - (a->optimalPbufferWidth == b->optimalPbufferWidth) && - (a->optimalPbufferHeight == b->optimalPbufferHeight) && - (a->swapMethod == b->swapMethod) && - (a->bindToTextureRgb == b->bindToTextureRgb) && - (a->bindToTextureRgba == b->bindToTextureRgba) && - (a->bindToMipmapTexture == b->bindToMipmapTexture) && - (a->bindToTextureTargets == b->bindToTextureTargets) && - (a->yInverted == b->yInverted)); -} diff --git a/xserver/hw/xquartz/GL/glcontextmodes.h b/xserver/hw/xquartz/GL/glcontextmodes.h deleted file mode 100644 index 7237ccc06..000000000 --- a/xserver/hw/xquartz/GL/glcontextmodes.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (C) Copyright IBM Corporation 2003 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * on the rights to use, copy, modify, merge, publish, distribute, sub - * license, and/or sell copies of the Software, and to permit persons to whom - * the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - * USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * \file glcontextmodes.h - * \author Ian Romanick - */ - -#ifndef GLCONTEXTMODES_H -#define GLCONTEXTMODES_H - -#include "GL/internal/glcore.h" - -#if !defined(IN_MINI_GLX) -extern GLint -_gl_convert_from_x_visual_type(int visualType); -extern GLint -_gl_convert_to_x_visual_type(int visualType); -extern void -_gl_copy_visual_to_context_mode(__GLcontextModes * mode, - const __GLXvisualConfig * config); -extern int -_gl_get_context_mode_data(const __GLcontextModes *mode, int attribute, - int *value_return); -#endif /* !defined(IN_MINI_GLX) */ - -extern __GLcontextModes * -_gl_context_modes_create(unsigned count, size_t minimum_size); -extern void -_gl_context_modes_destroy(__GLcontextModes * modes); -extern __GLcontextModes * -_gl_context_modes_find_visual(__GLcontextModes *modes, int vid); -extern __GLcontextModes * -_gl_context_modes_find_fbconfig(__GLcontextModes *modes, int fbid); -extern GLboolean -_gl_context_modes_are_same(const __GLcontextModes * a, - const __GLcontextModes * b); - -#endif /* GLCONTEXTMODES_H */ diff --git a/xserver/hw/xquartz/GL/indirect.c b/xserver/hw/xquartz/GL/indirect.c index c4999b5ff..19b7d86e7 100644 --- a/xserver/hw/xquartz/GL/indirect.c +++ b/xserver/hw/xquartz/GL/indirect.c @@ -48,8 +48,6 @@ #include #include -#include - #include "x-hash.h" #include "visualConfigs.h" @@ -643,15 +641,20 @@ __glFloorLog2(GLuint val) "/System/Library/Frameworks/OpenGL.framework/OpenGL" #endif +static void *opengl_framework_handle; + +static glx_func_ptr +get_proc_address(const char *sym) +{ + return (glx_func_ptr) dlsym(opengl_framework_handle, sym); +} + static void setup_dispatch_table(void) { - static struct _glapi_table *disp = NULL; - static void *handle; const char *opengl_framework_path; - if (disp) { - _glapi_set_dispatch(disp); + if (opengl_framework_handle) { return; } @@ -661,16 +664,13 @@ setup_dispatch_table(void) } (void)dlerror(); /*drain dlerror */ - handle = dlopen(opengl_framework_path, RTLD_LOCAL); + opengl_framework_handle = dlopen(opengl_framework_path, RTLD_LOCAL); - if (!handle) { + if (!opengl_framework_handle) { ErrorF("unable to dlopen %s : %s, using RTLD_DEFAULT\n", opengl_framework_path, dlerror()); - handle = RTLD_DEFAULT; + opengl_framework_handle = RTLD_DEFAULT; } - disp = _glapi_create_table_from_handle(handle, "gl"); - assert(disp); - - _glapi_set_dispatch(disp); + __glXsetGetProcAddress(get_proc_address); } diff --git a/xserver/hw/xquartz/GL/visualConfigs.c b/xserver/hw/xquartz/GL/visualConfigs.c index 03486cd66..687bf80d8 100644 --- a/xserver/hw/xquartz/GL/visualConfigs.c +++ b/xserver/hw/xquartz/GL/visualConfigs.c @@ -140,11 +140,8 @@ __GLXconfig *__glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber) c->visualType = GLX_TRUE_COLOR; c->next = c + 1; - c->screen = screenNumber; - c->level = 0; c->indexBits = 0; - c->pixmapMode = 0; // TODO: What should this be? if(conf->accelerated) { c->visualRating = GLX_NONE; @@ -262,6 +259,9 @@ __GLXconfig *__glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber) c->bindToTextureTargets = 0; c->yInverted = 0; + /* EXT_framebuffer_sRGB */ + c->sRGBCapable = GL_FALSE; + c = c->next; } } diff --git a/xserver/hw/xquartz/Makefile.am b/xserver/hw/xquartz/Makefile.am index a7cc012d9..2ca953cf9 100644 --- a/xserver/hw/xquartz/Makefile.am +++ b/xserver/hw/xquartz/Makefile.am @@ -8,6 +8,7 @@ AM_CPPFLAGS = \ -DUSE_NEW_CLUT \ -DXFree86Server \ -I$(top_srcdir)/miext/rootless \ + -I$(top_builddir)/pseudoramiX \ -DX11LIBDIR=\"$(libdir)\" if GLX @@ -28,7 +29,6 @@ libXquartz_la_SOURCES = \ darwinEvents.c \ darwinXinput.c \ keysym2ucs.c \ - pseudoramiX.c \ quartz.c \ quartzCocoa.m \ quartzKeyboard.c \ @@ -36,6 +36,8 @@ libXquartz_la_SOURCES = \ quartzRandR.c \ console_redirect.c +libXquartz_la_LIBADD = $(top_builddir)/pseudoramiX/libPseudoramiX.la + EXTRA_DIST = \ X11Application.h \ X11Controller.h \ @@ -44,7 +46,6 @@ EXTRA_DIST = \ darwinfb.h \ darwinEvents.h \ keysym2ucs.h \ - pseudoramiX.h \ quartz.h \ quartzCommon.h \ quartzKeyboard.h \ diff --git a/xserver/hw/xquartz/Makefile.in b/xserver/hw/xquartz/Makefile.in index 22fe97962..25c25539c 100644 --- a/xserver/hw/xquartz/Makefile.in +++ b/xserver/hw/xquartz/Makefile.in @@ -73,12 +73,13 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) -libXquartz_la_LIBADD = +libXquartz_la_DEPENDENCIES = \ + $(top_builddir)/pseudoramiX/libPseudoramiX.la 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 \ - quartzCocoa.lo quartzKeyboard.lo quartzStartup.lo \ - quartzRandR.lo console_redirect.lo + darwinXinput.lo keysym2ucs.lo quartz.lo quartzCocoa.lo \ + quartzKeyboard.lo quartzStartup.lo quartzRandR.lo \ + console_redirect.lo libXquartz_la_OBJECTS = $(am_libXquartz_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -234,9 +235,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -268,6 +272,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -297,6 +302,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -340,6 +347,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -353,12 +361,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -424,6 +432,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -512,6 +522,7 @@ AM_CPPFLAGS = \ -DUSE_NEW_CLUT \ -DXFree86Server \ -I$(top_srcdir)/miext/rootless \ + -I$(top_builddir)/pseudoramiX \ -DX11LIBDIR=\"$(libdir)\" @GLX_TRUE@GL_DIR = GL @@ -527,7 +538,6 @@ libXquartz_la_SOURCES = \ darwinEvents.c \ darwinXinput.c \ keysym2ucs.c \ - pseudoramiX.c \ quartz.c \ quartzCocoa.m \ quartzKeyboard.c \ @@ -535,6 +545,7 @@ libXquartz_la_SOURCES = \ quartzRandR.c \ console_redirect.c +libXquartz_la_LIBADD = $(top_builddir)/pseudoramiX/libPseudoramiX.la EXTRA_DIST = \ X11Application.h \ X11Controller.h \ @@ -543,7 +554,6 @@ EXTRA_DIST = \ darwinfb.h \ darwinEvents.h \ keysym2ucs.h \ - pseudoramiX.h \ quartz.h \ quartzCommon.h \ quartzKeyboard.h \ @@ -616,7 +626,6 @@ distclean-compile: @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@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pseudoramiX.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartz.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzCocoa.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzKeyboard.Plo@am__quote@ diff --git a/xserver/hw/xquartz/X11Application.m b/xserver/hw/xquartz/X11Application.m index 1f9b05dd1..2efbd658b 100644 --- a/xserver/hw/xquartz/X11Application.m +++ b/xserver/hw/xquartz/X11Application.m @@ -70,6 +70,18 @@ xpbproxy_run(void); static dispatch_queue_t eventTranslationQueue; #endif +#ifndef __has_feature +#define __has_feature(x) 0 +#endif + +#ifndef CF_RETURNS_RETAINED +#if __has_feature(attribute_cf_returns_retained) +#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained)) +#else +#define CF_RETURNS_RETAINED +#endif +#endif + extern Bool noTestExtensions; extern Bool noRenderExtension; extern BOOL serverRunning; @@ -526,6 +538,7 @@ cfrelease(CFAllocatorRef a, const void *b) CFRelease(b); } +CF_RETURNS_RETAINED static CFMutableArrayRef nsarray_to_cfarray(NSArray *in) { diff --git a/xserver/hw/xquartz/X11Controller.m b/xserver/hw/xquartz/X11Controller.m index 3d094bfc7..5445c6f3a 100644 --- a/xserver/hw/xquartz/X11Controller.m +++ b/xserver/hw/xquartz/X11Controller.m @@ -347,7 +347,7 @@ extern char *bundle_id_prefix; const char *newargv[4]; char buf[128]; char *s; -#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 int stdout_pipe[2]; int stderr_pipe[2]; #endif @@ -363,7 +363,7 @@ extern char *bundle_id_prefix; setenv("DISPLAY", buf, TRUE); } -#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 if (asl_log_descriptor) { char *asl_sender; aslmsg amsg = asl_new(ASL_TYPE_MSG); @@ -413,7 +413,7 @@ extern char *bundle_id_prefix; _exit(1); case 0: /* child2 */ -#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 if (asl_log_descriptor) { /* Replace our stdout/stderr */ dup2(stdout_pipe[1], STDOUT_FILENO); @@ -442,7 +442,7 @@ extern char *bundle_id_prefix; waitpid(child1, &status, 0); } -#if 0 && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 +#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 if (asl_log_descriptor) { /* Close the write ends of the pipe */ close(stdout_pipe[1]); @@ -934,7 +934,7 @@ extern char *bundle_id_prefix; == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel; } -- (void) applicationWillTerminate:(NSNotification *)aNotification +- (void) applicationWillTerminate:(NSNotification *)aNotification _X_NORETURN { int remain; [X11App prefs_synchronize]; diff --git a/xserver/hw/xquartz/applewm.c b/xserver/hw/xquartz/applewm.c index aea0a45f2..0d734bd88 100644 --- a/xserver/hw/xquartz/applewm.c +++ b/xserver/hw/xquartz/applewm.c @@ -378,6 +378,13 @@ ProcAppleWMSetWindowMenu(register ClientPtr client) items = malloc(sizeof(char *) * nitems); shortcuts = malloc(sizeof(char) * nitems); + if (!items || !shortcuts) { + free(items); + free(shortcuts); + + return BadAlloc; + } + max_len = (stuff->length << 2) - sizeof(xAppleWMSetWindowMenuReq); bytes = (char *)&stuff[1]; @@ -391,6 +398,15 @@ ProcAppleWMSetWindowMenu(register ClientPtr client) break; } } + + /* Check if we bailed out of the above loop due to a request that was too long */ + if (j < nitems) { + free(items); + free(shortcuts); + + return BadRequest; + } + X11ApplicationSetWindowMenu(nitems, items, shortcuts); free(items); free(shortcuts); diff --git a/xserver/hw/xquartz/bundle/Info.plist.cpp b/xserver/hw/xquartz/bundle/Info.plist.cpp index 4b4a894a4..5fbb0ad55 100644 --- a/xserver/hw/xquartz/bundle/Info.plist.cpp +++ b/xserver/hw/xquartz/bundle/Info.plist.cpp @@ -19,9 +19,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.7.5 + 2.7.6 CFBundleVersion - 2.7.5 + 2.7.6 CFBundleSignature x11a CSResourcesFileMapped diff --git a/xserver/hw/xquartz/bundle/Makefile.in b/xserver/hw/xquartz/bundle/Makefile.in index d8d032c83..e4d74fb45 100644 --- a/xserver/hw/xquartz/bundle/Makefile.in +++ b/xserver/hw/xquartz/bundle/Makefile.in @@ -183,9 +183,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -217,6 +220,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -246,6 +250,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -289,6 +295,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -302,12 +309,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -373,6 +380,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xquartz/darwinfb.h b/xserver/hw/xquartz/darwinfb.h index 5de360d75..541128b8e 100644 --- a/xserver/hw/xquartz/darwinfb.h +++ b/xserver/hw/xquartz/darwinfb.h @@ -26,7 +26,7 @@ */ #ifndef _DARWIN_FB_H -#define _DARWIN_DB_H +#define _DARWIN_FB_H #include "scrnintstr.h" diff --git a/xserver/hw/xquartz/mach-startup/Makefile.in b/xserver/hw/xquartz/mach-startup/Makefile.in index 577130d46..f5ffb11ed 100644 --- a/xserver/hw/xquartz/mach-startup/Makefile.in +++ b/xserver/hw/xquartz/mach-startup/Makefile.in @@ -214,9 +214,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -248,6 +251,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -277,6 +281,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -320,6 +326,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -333,12 +340,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -404,6 +411,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xquartz/mach-startup/stub.c b/xserver/hw/xquartz/mach-startup/stub.c index b5a3168ca..756e4ef2d 100644 --- a/xserver/hw/xquartz/mach-startup/stub.c +++ b/xserver/hw/xquartz/mach-startup/stub.c @@ -353,6 +353,10 @@ main(int argc, char **argv, char **envp) newenvp = (string_array_t)calloc((1 + envpc), sizeof(string_t)); if (!newargv || !newenvp) { + /* Silence the clang static analyzer */ + free(newargv); + free(newenvp); + asl_log(aslc, NULL, ASL_LEVEL_ERR, "Xquartz: Memory allocation failure"); return EXIT_FAILURE; diff --git a/xserver/hw/xquartz/man/Makefile.in b/xserver/hw/xquartz/man/Makefile.in index 420c4c9be..6d69228e2 100644 --- a/xserver/hw/xquartz/man/Makefile.in +++ b/xserver/hw/xquartz/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xquartz/pbproxy/Makefile.in b/xserver/hw/xquartz/pbproxy/Makefile.in index 944f139da..cd40e3460 100644 --- a/xserver/hw/xquartz/pbproxy/Makefile.in +++ b/xserver/hw/xquartz/pbproxy/Makefile.in @@ -209,9 +209,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -243,6 +246,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -272,6 +276,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -315,6 +321,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -328,12 +335,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -399,6 +406,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xquartz/pbproxy/x-selection.m b/xserver/hw/xquartz/pbproxy/x-selection.m index 57ddb743a..f4f4de88e 100644 --- a/xserver/hw/xquartz/pbproxy/x-selection.m +++ b/xserver/hw/xquartz/pbproxy/x-selection.m @@ -85,8 +85,7 @@ static struct propdata null_propdata = { static void dump_prefs() { - ErrorF(fp, - "pbproxy preferences:\n" + ErrorF("pbproxy preferences:\n" "\tactive %u\n" "\tprimary_on_grab %u\n" "\tclipboard_to_pasteboard %u\n" diff --git a/xserver/hw/xquartz/quartz.c b/xserver/hw/xquartz/quartz.c index 5b977c7f9..bc6c8d048 100644 --- a/xserver/hw/xquartz/quartz.c +++ b/xserver/hw/xquartz/quartz.c @@ -109,11 +109,14 @@ Bool QuartzAddScreen(int index, ScreenPtr pScreen) { + // The clang static analyzer thinks we leak displayInfo here +#ifndef __clang_analyzer__ // allocate space for private per screen Quartz specific storage QuartzScreenPtr displayInfo = calloc(sizeof(QuartzScreenRec), 1); // QUARTZ_PRIV(pScreen) = displayInfo; dixSetPrivate(&pScreen->devPrivates, quartzScreenKey, displayInfo); +#endif /* __clang_analyzer__ */ // do Quartz mode specific initialization return quartzProcs->AddScreen(index, pScreen); diff --git a/xserver/hw/xquartz/xpr/Makefile.am b/xserver/hw/xquartz/xpr/Makefile.am index 763a7cd5c..c654ee595 100644 --- a/xserver/hw/xquartz/xpr/Makefile.am +++ b/xserver/hw/xquartz/xpr/Makefile.am @@ -3,6 +3,7 @@ noinst_LTLIBRARIES = libXquartzXpr.la AM_CFLAGS = $(DIX_CFLAGS) AM_CPPFLAGS = \ -I$(srcdir) -I$(srcdir)/.. \ + -I$(top_builddir)/pseudoramiX \ -I$(top_srcdir)/miext \ -I$(top_srcdir)/miext/rootless diff --git a/xserver/hw/xquartz/xpr/Makefile.in b/xserver/hw/xquartz/xpr/Makefile.in index 0a7b5bb1e..5cf1ac7ba 100644 --- a/xserver/hw/xquartz/xpr/Makefile.in +++ b/xserver/hw/xquartz/xpr/Makefile.in @@ -180,9 +180,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -214,6 +217,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -243,6 +247,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -286,6 +292,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -299,12 +306,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -370,6 +377,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -452,6 +461,7 @@ noinst_LTLIBRARIES = libXquartzXpr.la AM_CFLAGS = $(DIX_CFLAGS) AM_CPPFLAGS = \ -I$(srcdir) -I$(srcdir)/.. \ + -I$(top_builddir)/pseudoramiX \ -I$(top_srcdir)/miext \ -I$(top_srcdir)/miext/rootless diff --git a/xserver/hw/xquartz/xpr/appledri.c b/xserver/hw/xquartz/xpr/appledri.c index 9aac07240..77574655b 100644 --- a/xserver/hw/xquartz/xpr/appledri.c +++ b/xserver/hw/xquartz/xpr/appledri.c @@ -123,6 +123,10 @@ ProcAppleDRIQueryDirectRenderingCapable(register ClientPtr client) rep.length = 0; rep.sequenceNumber = client->sequence; + if (stuff->screen >= screenInfo.numScreens) { + return BadValue; + } + if (!DRIQueryDirectRenderingCapable(screenInfo.screens[stuff->screen], &isCapable)) { return BadValue; @@ -402,6 +406,7 @@ SProcAppleDRIQueryDirectRenderingCapable(register ClientPtr client) { REQUEST(xAppleDRIQueryDirectRenderingCapableReq); swaps(&stuff->length); + REQUEST_SIZE_MATCH(xAppleDRIQueryDirectRenderingCapableReq); swapl(&stuff->screen); return ProcAppleDRIQueryDirectRenderingCapable(client); } @@ -411,6 +416,7 @@ SProcAppleDRIAuthConnection(register ClientPtr client) { REQUEST(xAppleDRIAuthConnectionReq); swaps(&stuff->length); + REQUEST_SIZE_MATCH(xAppleDRIAuthConnectionReq); swapl(&stuff->screen); swapl(&stuff->magic); return ProcAppleDRIAuthConnection(client); @@ -421,6 +427,7 @@ SProcAppleDRICreateSurface(register ClientPtr client) { REQUEST(xAppleDRICreateSurfaceReq); swaps(&stuff->length); + REQUEST_SIZE_MATCH(xAppleDRICreateSurfaceReq); swapl(&stuff->screen); swapl(&stuff->drawable); swapl(&stuff->client_id); @@ -432,6 +439,7 @@ SProcAppleDRIDestroySurface(register ClientPtr client) { REQUEST(xAppleDRIDestroySurfaceReq); swaps(&stuff->length); + REQUEST_SIZE_MATCH(xAppleDRIDestroySurfaceReq); swapl(&stuff->screen); swapl(&stuff->drawable); return ProcAppleDRIDestroySurface(client); @@ -442,6 +450,7 @@ SProcAppleDRICreatePixmap(register ClientPtr client) { REQUEST(xAppleDRICreatePixmapReq); swaps(&stuff->length); + REQUEST_SIZE_MATCH(xAppleDRICreatePixmapReq); swapl(&stuff->screen); swapl(&stuff->drawable); return ProcAppleDRICreatePixmap(client); @@ -452,6 +461,7 @@ SProcAppleDRIDestroyPixmap(register ClientPtr client) { REQUEST(xAppleDRIDestroyPixmapReq); swaps(&stuff->length); + REQUEST_SIZE_MATCH(xAppleDRIDestroyPixmapReq); swapl(&stuff->drawable); return ProcAppleDRIDestroyPixmap(client); } diff --git a/xserver/hw/xquartz/xpr/x-hook.c b/xserver/hw/xquartz/xpr/x-hook.c index b5d8ab90e..3922bb86c 100644 --- a/xserver/hw/xquartz/xpr/x-hook.c +++ b/xserver/hw/xquartz/xpr/x-hook.c @@ -70,34 +70,19 @@ X_PFX(hook_remove) (x_list * lst, x_hook_function * fun, void *data) { X_EXTERN void X_PFX(hook_run) (x_list * lst, void *arg) { - x_list *node, *cell; - x_hook_function **fun; - void **data; - int length, i; + x_list *node; if (!lst) return; - length = X_PFX(list_length) (lst); - fun = malloc(sizeof(x_hook_function *) * length); - data = malloc(sizeof(void *) * length); + for (node = lst; node != NULL; node = node->next) { + x_list *cell = node->data; - if (!fun || !data) { - FatalError("Failed to allocate memory in %s\n", __func__); + x_hook_function *fun = CELL_FUN(cell); + void *data = CELL_DATA(cell); + + (*fun)(arg, data); } - - for (i = 0, node = lst; node != NULL; node = node->next, i++) { - cell = node->data; - fun[i] = CELL_FUN(cell); - data[i] = CELL_DATA(cell); - } - - for (i = 0; i < length; i++) { - (*fun[i])(arg, data[i]); - } - - free(fun); - free(data); } X_EXTERN void diff --git a/xserver/hw/xquartz/xpr/xprCursor.c b/xserver/hw/xquartz/xpr/xprCursor.c index 0392a4639..4168f7c53 100644 --- a/xserver/hw/xquartz/xpr/xprCursor.c +++ b/xserver/hw/xquartz/xpr/xprCursor.c @@ -305,8 +305,6 @@ static miPointerScreenFuncRec quartzScreenFuncsRec = { QuartzCursorOffScreen, QuartzCrossScreen, QuartzWarpCursor, - NULL, - NULL }; /* diff --git a/xserver/hw/xwin/InitInput.c b/xserver/hw/xwin/InitInput.c index 395b533fc..36346b7e1 100644 --- a/xserver/hw/xwin/InitInput.c +++ b/xserver/hw/xwin/InitInput.c @@ -39,7 +39,6 @@ #ifdef XWIN_CLIPBOARD int winProcEstablishConnection(ClientPtr /* client */ ); -int winProcQueryTree(ClientPtr /* client */ ); int winProcSetSelectionOwner(ClientPtr /* client */ ); #endif diff --git a/xserver/hw/xwin/InitOutput.c b/xserver/hw/xwin/InitOutput.c index 04c17b702..b05ca2736 100644 --- a/xserver/hw/xwin/InitOutput.c +++ b/xserver/hw/xwin/InitOutput.c @@ -48,7 +48,11 @@ from The Open Group. #include "xkbsrv.h" #endif #ifdef RELOCATE_PROJECTROOT +#pragma push_macro("Status") +#undef Status +#define Status wStatus #include +#pragma pop_macro("Status") typedef WINAPI HRESULT(*SHGETFOLDERPATHPROC) (HWND hwndOwner, int nFolder, HANDLE hToken, @@ -186,6 +190,25 @@ ddxBeforeReset(void) } #endif +int +main(int argc, char *argv[], char *envp[]) +{ + int iReturn; + + /* Create & acquire the termination mutex */ + iReturn = pthread_mutex_init(&g_pmTerminating, NULL); + if (iReturn != 0) { + ErrorF("ddxMain - pthread_mutex_init () failed: %d\n", iReturn); + } + + iReturn = pthread_mutex_lock(&g_pmTerminating); + if (iReturn != 0) { + ErrorF("ddxMain - pthread_mutex_lock () failed: %d\n", iReturn); + } + + return dix_main(argc, argv, envp); +} + /* See Porting Layer Definition - p. 57 */ void ddxGiveUp(enum ExitCode error) @@ -243,6 +266,19 @@ ddxGiveUp(enum ExitCode error) /* Tell Windows that we want to end the app */ PostQuitMessage(0); + + { + winDebug("ddxGiveUp - Releasing termination mutex\n"); + + int iReturn = pthread_mutex_unlock(&g_pmTerminating); + + if (iReturn != 0) { + ErrorF("winMsgWindowProc - pthread_mutex_unlock () failed: %d\n", + iReturn); + } + } + + winDebug("ddxGiveUp - End\n"); } /* See Porting Layer Definition - p. 57 */ @@ -962,6 +998,10 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[]) /* Store the instance handle */ g_hInstance = GetModuleHandle(NULL); + /* Create the messaging window */ + if (serverGeneration == 1) + winCreateMsgWindowThread(); + /* Initialize each screen */ for (i = 0; i < g_iNumScreens; ++i) { /* Initialize the screen */ diff --git a/xserver/hw/xwin/Makefile.am b/xserver/hw/xwin/Makefile.am index 93ce57038..7f0eaf097 100644 --- a/xserver/hw/xwin/Makefile.am +++ b/xserver/hw/xwin/Makefile.am @@ -92,6 +92,7 @@ SRCS = InitInput.c \ winmonitors.c \ winmouse.c \ winmsg.c \ + winmsgwindow.c \ winmultiwindowclass.c \ winmultiwindowicons.c \ winprefs.c \ @@ -149,17 +150,20 @@ SRCS = InitInput.c \ XWin_SOURCES = $(SRCS) -INCLUDES = -I$(top_srcdir)/miext/rootless +AM_CPPFLAGS = -I$(top_srcdir)/miext/rootless XWIN_SYS_LIBS += -ldxguid +XWIN_LIBS += $(top_builddir)/pseudoramiX/libPseudoramiX.la -XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) +XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(XSERVER_LIBS) XWin_LDADD = $(MULTIWINDOW_LIBS) $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_GLX_LINK_FLAGS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS) -XWin_LDFLAGS = -mwindows -static +XWin_LDFLAGS = -mwindows -static -Wl,--disable-stdcall-fixup .rc.o: $(AM_V_GEN)$(WINDRES) --use-temp-file -i $< --input-format=rc -o $@ -O coff -I $(top_builddir)/include +XWin.o: XWin.rc XWin.exe.manifest X.ico + winprefsyacc.h: winprefsyacc.c winprefslex.c: winprefslex.l winprefsyacc.c winprefsyacc.h diff --git a/xserver/hw/xwin/Makefile.in b/xserver/hw/xwin/Makefile.in index 5d560dc62..e385e9741 100644 --- a/xserver/hw/xwin/Makefile.in +++ b/xserver/hw/xwin/Makefile.in @@ -81,13 +81,13 @@ am__XWin_SOURCES_DIST = InitInput.c InitOutput.c winallpriv.c \ winauth.c winblock.c wincmap.c winconfig.c wincreatewnd.c \ wincursor.c windialogs.c winengine.c winerror.c winglobals.c \ winkeybd.c winkeyhook.c winmisc.c winmonitors.c winmouse.c \ - winmsg.c winmultiwindowclass.c winmultiwindowicons.c \ - winprefs.c winprefsyacc.y winprefslex.l winprocarg.c \ - winscrinit.c winshaddd.c winshadddnl.c winshadgdi.c \ - wintaskbar.c wintrayicon.c winvalargs.c winwakeup.c \ - winwindow.c winwndproc.c ddraw.h winclipboard.h winconfig.h \ - win.h winglobals.h winkeybd.h winkeynames.h winlayouts.h \ - winmessages.h winmonitors.h winmsg.h winms.h \ + winmsg.c winmsgwindow.c winmultiwindowclass.c \ + winmultiwindowicons.c winprefs.c winprefsyacc.y winprefslex.l \ + winprocarg.c winscrinit.c winshaddd.c winshadddnl.c \ + winshadgdi.c wintaskbar.c wintrayicon.c winvalargs.c \ + winwakeup.c winwindow.c winwndproc.c ddraw.h winclipboard.h \ + winconfig.h win.h winglobals.h winkeybd.h winkeynames.h \ + winlayouts.h winmessages.h winmonitors.h winmsg.h winms.h \ winmultiwindowclass.h winmultiwindowicons.h winprefs.h \ winresource.h winwindow.h XWin.rc \ $(top_srcdir)/Xext/dpmsstubs.c $(top_srcdir)/Xi/stubs.c \ @@ -133,7 +133,7 @@ am__objects_8 = InitInput.$(OBJEXT) InitOutput.$(OBJEXT) \ wincursor.$(OBJEXT) windialogs.$(OBJEXT) winengine.$(OBJEXT) \ winerror.$(OBJEXT) winglobals.$(OBJEXT) winkeybd.$(OBJEXT) \ winkeyhook.$(OBJEXT) winmisc.$(OBJEXT) winmonitors.$(OBJEXT) \ - winmouse.$(OBJEXT) winmsg.$(OBJEXT) \ + winmouse.$(OBJEXT) winmsg.$(OBJEXT) winmsgwindow.$(OBJEXT) \ winmultiwindowclass.$(OBJEXT) winmultiwindowicons.$(OBJEXT) \ winprefs.$(OBJEXT) winprefsyacc.$(OBJEXT) \ winprefslex.$(OBJEXT) winprocarg.$(OBJEXT) \ @@ -148,6 +148,7 @@ am__objects_8 = InitInput.$(OBJEXT) InitOutput.$(OBJEXT) \ am_XWin_OBJECTS = $(am__objects_8) XWin_OBJECTS = $(am_XWin_OBJECTS) am__DEPENDENCIES_1 = +am__DEPENDENCIES_2 = $(top_builddir)/pseudoramiX/libPseudoramiX.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -343,9 +344,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -377,6 +381,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -406,6 +411,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -449,6 +456,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -462,12 +470,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -533,6 +541,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -541,7 +551,7 @@ XVFB_LIBS = @XVFB_LIBS@ XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ $(top_builddir)/pseudoramiX/libPseudoramiX.la XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -ldxguid YACC = @YACC@ @@ -686,6 +696,7 @@ SRCS = InitInput.c \ winmonitors.c \ winmouse.c \ winmsg.c \ + winmsgwindow.c \ winmultiwindowclass.c \ winmultiwindowicons.c \ winprefs.c \ @@ -733,10 +744,10 @@ SRCS = InitInput.c \ $(SRCS_XV) XWin_SOURCES = $(SRCS) -INCLUDES = -I$(top_srcdir)/miext/rootless -XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) +AM_CPPFLAGS = -I$(top_srcdir)/miext/rootless +XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(XSERVER_LIBS) XWin_LDADD = $(MULTIWINDOW_LIBS) $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_GLX_LINK_FLAGS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS) -XWin_LDFLAGS = -mwindows -static +XWin_LDFLAGS = -mwindows -static -Wl,--disable-stdcall-fixup BUILT_SOURCES = winprefsyacc.h winprefsyacc.c winprefslex.c CLEANFILES = $(BUILT_SOURCES) AM_YFLAGS = -d @@ -882,6 +893,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winmonitors.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winmouse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winmsg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winmsgwindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winmultiwindowclass.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winmultiwindowicons.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winmultiwindowshape.Po@am__quote@ @@ -1347,6 +1359,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-xwinconfigDATA .rc.o: $(AM_V_GEN)$(WINDRES) --use-temp-file -i $< --input-format=rc -o $@ -O coff -I $(top_builddir)/include +XWin.o: XWin.rc XWin.exe.manifest X.ico + winprefsyacc.h: winprefsyacc.c winprefslex.c: winprefslex.l winprefsyacc.c winprefsyacc.h diff --git a/xserver/hw/xwin/XWin.exe.manifest b/xserver/hw/xwin/XWin.exe.manifest index a0d4d7dae..477334fb3 100644 --- a/xserver/hw/xwin/XWin.exe.manifest +++ b/xserver/hw/xwin/XWin.exe.manifest @@ -7,7 +7,7 @@ type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" - processorArchitecture="X86" + processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> diff --git a/xserver/hw/xwin/glx/Makefile.am b/xserver/hw/xwin/glx/Makefile.am index 59f6879a7..f2dffbffb 100644 --- a/xserver/hw/xwin/glx/Makefile.am +++ b/xserver/hw/xwin/glx/Makefile.am @@ -1,14 +1,18 @@ noinst_LTLIBRARIES = libXwinGLX.la +lib_LTLIBRARIES = libnativeGLthunk.la libXwinGLX_la_SOURCES = \ winpriv.c \ winpriv.h \ glwindows.h \ - glwrap.c \ + glshim.c \ indirect.c \ wgl_ext_api.c \ wgl_ext_api.h +libnativeGLthunk_la_SOURCES = \ + glthunk.c + if XWIN_MULTIWINDOW DEFS_MULTIWINDOW = -DXWIN_MULTIWINDOW endif @@ -23,23 +27,39 @@ endif DEFS = $(DEFS_MULTIWINDOW) $(DEFS_MULTIWINDOWEXTWM) $(DEFS_GLX_WINDOWS) -INCLUDES = -I$(top_srcdir)/miext/rootless +AM_CPPFLAGS = -I$(top_srcdir)/miext/rootless AM_CFLAGS = -DHAVE_XWIN_CONFIG_H $(DIX_CFLAGS) \ $(XWINMODULES_CFLAGS) \ -I$(top_srcdir) \ -I$(top_srcdir)/hw/xwin/ +libnativeGLthunk_la_CFLAGS = $(AM_CFLAGS) -Wno-unused-function -Wno-missing-prototypes -Wno-missing-declarations +libnativeGLthunk_la_LDFLAGS = -shared -no-undefined -avoid-version -lopengl32 -export-symbols generated_gl_thunks.def +EXTRA_libnativeGLthunk_la_DEPENDENCIES = generated_gl_thunks.def + if XWIN_GLX_WINDOWS -generated_gl_wrappers.c: gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.spec $(KHRONOS_SPEC_DIR)/gl.tm - $(AM_V_GEN)$(srcdir)/gen_gl_wrappers.py --spec=$(KHRONOS_SPEC_DIR)/gl.spec --typemap=$(KHRONOS_SPEC_DIR)/gl.tm --dispatch-header=$(top_srcdir)/glx/dispatch.h --staticwrappers >generated_gl_wrappers.c - -generated_wgl_wrappers.c: gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/wglext.spec $(KHRONOS_SPEC_DIR)/wgl.tm - $(AM_V_GEN)$(srcdir)/gen_gl_wrappers.py --spec=$(KHRONOS_SPEC_DIR)/wglext.spec --typemap=$(KHRONOS_SPEC_DIR)/wgl.tm --prefix=wgl --preresolve >generated_wgl_wrappers.c +if DEBUG +GENGLWRAPPERSOPTS="" +else +GENGLWRAPPERSOPTS="-nodebug" endif -BUILT_SOURCES = generated_gl_wrappers.c generated_wgl_wrappers.c +generated_wgl_wrappers.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/wgl.xml $(KHRONOS_SPEC_DIR)/reg.py + $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/wgl.xml -prefix wgl -wrapper -preresolve $(GENGLWRAPPERSOPTS) -outfile $@ + +generated_gl_shim.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py + $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -shim $(GENGLWRAPPERSOPTS) -outfile $@ + +generated_gl_thunks.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py + $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -thunk $(GENGLWRAPPERSOPTS) -outfile $@ + +generated_gl_thunks.def: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py + $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -thunkdefs $(GENGLWRAPPERSOPTS) -outfile $@ +endif + +BUILT_SOURCES = generated_gl_shim.c generated_gl_thunks.c generated_gl_thunks.def generated_wgl_wrappers.c CLEANFILES = $(BUILT_SOURCES) EXTRA_DIST = gen_gl_wrappers.py diff --git a/xserver/hw/xwin/glx/Makefile.in b/xserver/hw/xwin/glx/Makefile.in index 2c7289173..3400aa89a 100644 --- a/xserver/hw/xwin/glx/Makefile.in +++ b/xserver/hw/xwin/glx/Makefile.in @@ -72,15 +72,50 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ $(top_builddir)/include/version-config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) +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 = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) libXwinGLX_la_LIBADD = -am_libXwinGLX_la_OBJECTS = winpriv.lo glwrap.lo indirect.lo \ +am_libXwinGLX_la_OBJECTS = winpriv.lo glshim.lo indirect.lo \ wgl_ext_api.lo libXwinGLX_la_OBJECTS = $(am_libXwinGLX_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = +libnativeGLthunk_la_LIBADD = +am_libnativeGLthunk_la_OBJECTS = libnativeGLthunk_la-glthunk.lo +libnativeGLthunk_la_OBJECTS = $(am_libnativeGLthunk_la_OBJECTS) +libnativeGLthunk_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(libnativeGLthunk_la_CFLAGS) $(CFLAGS) \ + $(libnativeGLthunk_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -115,8 +150,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(libXwinGLX_la_SOURCES) -DIST_SOURCES = $(libXwinGLX_la_SOURCES) +SOURCES = $(libXwinGLX_la_SOURCES) $(libnativeGLthunk_la_SOURCES) +DIST_SOURCES = $(libXwinGLX_la_SOURCES) $(libnativeGLthunk_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -179,9 +214,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -213,6 +251,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -242,6 +281,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -285,6 +326,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -298,12 +340,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -369,6 +411,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -448,25 +492,34 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libXwinGLX.la +lib_LTLIBRARIES = libnativeGLthunk.la libXwinGLX_la_SOURCES = \ winpriv.c \ winpriv.h \ glwindows.h \ - glwrap.c \ + glshim.c \ indirect.c \ wgl_ext_api.c \ wgl_ext_api.h +libnativeGLthunk_la_SOURCES = \ + glthunk.c + @XWIN_MULTIWINDOW_TRUE@DEFS_MULTIWINDOW = -DXWIN_MULTIWINDOW @XWIN_MULTIWINDOWEXTWM_TRUE@DEFS_MULTIWINDOWEXTWM = -DXWIN_MULTIWINDOWEXTWM @XWIN_GLX_WINDOWS_TRUE@DEFS_GLX_WINDOWS = -DXWIN_GLX_WINDOWS -INCLUDES = -I$(top_srcdir)/miext/rootless +AM_CPPFLAGS = -I$(top_srcdir)/miext/rootless AM_CFLAGS = -DHAVE_XWIN_CONFIG_H $(DIX_CFLAGS) \ $(XWINMODULES_CFLAGS) \ -I$(top_srcdir) \ -I$(top_srcdir)/hw/xwin/ -BUILT_SOURCES = generated_gl_wrappers.c generated_wgl_wrappers.c +libnativeGLthunk_la_CFLAGS = $(AM_CFLAGS) -Wno-unused-function -Wno-missing-prototypes -Wno-missing-declarations +libnativeGLthunk_la_LDFLAGS = -shared -no-undefined -avoid-version -lopengl32 -export-symbols generated_gl_thunks.def +EXTRA_libnativeGLthunk_la_DEPENDENCIES = generated_gl_thunks.def +@DEBUG_FALSE@@XWIN_GLX_WINDOWS_TRUE@GENGLWRAPPERSOPTS = "-nodebug" +@DEBUG_TRUE@@XWIN_GLX_WINDOWS_TRUE@GENGLWRAPPERSOPTS = "" +BUILT_SOURCES = generated_gl_shim.c generated_gl_thunks.c generated_gl_thunks.def generated_wgl_wrappers.c CLEANFILES = $(BUILT_SOURCES) EXTRA_DIST = gen_gl_wrappers.py all: $(BUILT_SOURCES) @@ -504,6 +557,40 @@ $(top_srcdir)/configure: $(am__configure_deps) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @@ -517,6 +604,8 @@ clean-noinstLTLIBRARIES: } libXwinGLX.la: $(libXwinGLX_la_OBJECTS) $(libXwinGLX_la_DEPENDENCIES) $(EXTRA_libXwinGLX_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libXwinGLX_la_OBJECTS) $(libXwinGLX_la_LIBADD) $(LIBS) +libnativeGLthunk.la: $(libnativeGLthunk_la_OBJECTS) $(libnativeGLthunk_la_DEPENDENCIES) $(EXTRA_libnativeGLthunk_la_DEPENDENCIES) + $(AM_V_CCLD)$(libnativeGLthunk_la_LINK) -rpath $(libdir) $(libnativeGLthunk_la_OBJECTS) $(libnativeGLthunk_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -524,8 +613,9 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glwrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glshim.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indirect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnativeGLthunk_la-glthunk.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wgl_ext_api.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winpriv.Plo@am__quote@ @@ -550,6 +640,13 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< +libnativeGLthunk_la-glthunk.lo: glthunk.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnativeGLthunk_la_CFLAGS) $(CFLAGS) -MT libnativeGLthunk_la-glthunk.lo -MD -MP -MF $(DEPDIR)/libnativeGLthunk_la-glthunk.Tpo -c -o libnativeGLthunk_la-glthunk.lo `test -f 'glthunk.c' || echo '$(srcdir)/'`glthunk.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnativeGLthunk_la-glthunk.Tpo $(DEPDIR)/libnativeGLthunk_la-glthunk.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='glthunk.c' object='libnativeGLthunk_la-glthunk.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnativeGLthunk_la_CFLAGS) $(CFLAGS) -c -o libnativeGLthunk_la-glthunk.lo `test -f 'glthunk.c' || echo '$(srcdir)/'`glthunk.c + mostlyclean-libtool: -rm -f *.lo @@ -657,6 +754,9 @@ check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am @@ -692,8 +792,8 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -719,7 +819,7 @@ install-dvi: install-dvi-am install-dvi-am: -install-exec-am: +install-exec-am: install-libLTLIBRARIES install-html: install-html-am @@ -759,30 +859,36 @@ ps: ps-am ps-am: -uninstall-am: +uninstall-am: uninstall-libLTLIBRARIES .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \ - distclean distclean-compile distclean-generic \ + clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \ + cscopelist 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 \ + install-info-am install-libLTLIBRARIES 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 + tags uninstall uninstall-am uninstall-libLTLIBRARIES -@XWIN_GLX_WINDOWS_TRUE@generated_gl_wrappers.c: gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.spec $(KHRONOS_SPEC_DIR)/gl.tm -@XWIN_GLX_WINDOWS_TRUE@ $(AM_V_GEN)$(srcdir)/gen_gl_wrappers.py --spec=$(KHRONOS_SPEC_DIR)/gl.spec --typemap=$(KHRONOS_SPEC_DIR)/gl.tm --dispatch-header=$(top_srcdir)/glx/dispatch.h --staticwrappers >generated_gl_wrappers.c +@XWIN_GLX_WINDOWS_TRUE@generated_wgl_wrappers.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/wgl.xml $(KHRONOS_SPEC_DIR)/reg.py +@XWIN_GLX_WINDOWS_TRUE@ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/wgl.xml -prefix wgl -wrapper -preresolve $(GENGLWRAPPERSOPTS) -outfile $@ -@XWIN_GLX_WINDOWS_TRUE@generated_wgl_wrappers.c: gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/wglext.spec $(KHRONOS_SPEC_DIR)/wgl.tm -@XWIN_GLX_WINDOWS_TRUE@ $(AM_V_GEN)$(srcdir)/gen_gl_wrappers.py --spec=$(KHRONOS_SPEC_DIR)/wglext.spec --typemap=$(KHRONOS_SPEC_DIR)/wgl.tm --prefix=wgl --preresolve >generated_wgl_wrappers.c +@XWIN_GLX_WINDOWS_TRUE@generated_gl_shim.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py +@XWIN_GLX_WINDOWS_TRUE@ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -shim $(GENGLWRAPPERSOPTS) -outfile $@ + +@XWIN_GLX_WINDOWS_TRUE@generated_gl_thunks.c: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py +@XWIN_GLX_WINDOWS_TRUE@ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -thunk $(GENGLWRAPPERSOPTS) -outfile $@ + +@XWIN_GLX_WINDOWS_TRUE@generated_gl_thunks.def: $(srcdir)/gen_gl_wrappers.py $(KHRONOS_SPEC_DIR)/gl.xml $(KHRONOS_SPEC_DIR)/reg.py +@XWIN_GLX_WINDOWS_TRUE@ $(AM_V_GEN)PYTHONPATH=$(KHRONOS_SPEC_DIR) $(PYTHON3) $(srcdir)/gen_gl_wrappers.py -registry $(KHRONOS_SPEC_DIR)/gl.xml -thunkdefs $(GENGLWRAPPERSOPTS) -outfile $@ # 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. diff --git a/xserver/hw/xwin/glx/gen_gl_wrappers.py b/xserver/hw/xwin/glx/gen_gl_wrappers.py index 2273589c9..683b9d903 100644 --- a/xserver/hw/xwin/glx/gen_gl_wrappers.py +++ b/xserver/hw/xwin/glx/gen_gl_wrappers.py @@ -1,325 +1,485 @@ -#!/usr/bin/python +#!/usr/bin/python3 # -# Comedy python script to generate cdecl to stdcall wrappers for GL functions +# python script to generate cdecl to stdcall wrappers for GL functions +# adapted from genheaders.py # -# This is designed to operate on OpenGL spec files from -# http://www.opengl.org/registry/api/ -# -# -# Copyright (c) Jon TURNEY 2009 +# Copyright (c) 2013 The Khronos Group 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: +# copy of this software and/or associated documentation files (the +# "Materials"), to deal in the Materials without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Materials, and to +# permit persons to whom the Materials are 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. +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Materials. # +# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 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 +# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -import sys -import re -import getopt +import sys, time, pdb, string, cProfile +from reg import * -dispatchheader = '' -prefix = 'gl' -preresolve = False -staticwrappers = False +# Default input / log files +errFilename = None +diagFilename = 'diag.txt' +regFilename = 'gl.xml' +outFilename = 'gen_gl_wrappers.c' -opts, args = getopt.getopt(sys.argv[1:], "", ['spec=', 'typemap=', 'dispatch-header=', 'prefix=', 'preresolve', 'staticwrappers' ]) +protect=True +prefix="gl" +preresolve=False +wrapper=False +shim=False +thunk=False +thunkdefs=False +staticwrappers=False +nodebug=False -for o,a in opts: - if o == '--typemap' : - typemapfile = a - elif o == '--dispatch-header' : - dispatchheader = a - elif o == '--spec' : - specfile = a - elif o == '--prefix' : - prefix = a - elif o == '--preresolve' : - preresolve = True - elif o == '--staticwrappers' : - staticwrappers = True +#exclude base WGL API +WinGDI={key: 1 for key in [ + "wglCopyContext" + ,"wglCreateContext" + ,"wglCreateLayerContext" + ,"wglDeleteContext" + ,"wglGetCurrentContext" + ,"wglGetCurrentDC" + ,"wglGetProcAddress" + ,"wglMakeCurrent" + ,"wglShareLists" + ,"wglUseFontBitmapsA" + ,"wglUseFontBitmapsW" + ,"wglUseFontBitmaps" + ,"SwapBuffers" + ,"wglUseFontOutlinesA" + ,"wglUseFontOutlinesW" + ,"wglUseFontOutlines" + ,"wglDescribeLayerPlane" + ,"wglSetLayerPaletteEntries" + ,"wglGetLayerPaletteEntries" + ,"wglRealizeLayerPalette" + ,"wglSwapLayerBuffers" + ,"wglSwapMultipleBuffers" + ,"ChoosePixelFormat" + ,"DescribePixelFormat" + ,"GetEnhMetaFilePixelFormat" + ,"GetPixelFormat" + ,"SetPixelFormat" +]} -# -# look for all the SET_ macros in dispatch.h, this is the set of functions -# we need to generate -# +if __name__ == '__main__': + i = 1 + while (i < len(sys.argv)): + arg = sys.argv[i] + i = i + 1 + if (arg == '-noprotect'): + print('Disabling inclusion protection in output headers', file=sys.stderr) + protect = False + elif (arg == '-registry'): + regFilename = sys.argv[i] + i = i+1 + print('Using registry', regFilename, file=sys.stderr) + elif (arg == '-outfile'): + outFilename = sys.argv[i] + i = i+1 + elif (arg == '-preresolve'): + preresolve=True + elif (arg == '-wrapper'): + wrapper=True + elif (arg == '-shim'): + shim=True + elif (arg == '-thunk'): + thunk=True + elif (arg == '-thunkdefs'): + thunkdefs=True + elif (arg == '-staticwrappers'): + staticwrappers=True + elif (arg == '-prefix'): + prefix = sys.argv[i] + i = i+1 + elif (arg == '-nodebug'): + nodebug = True + elif (arg[0:1] == '-'): + print('Unrecognized argument:', arg, file=sys.stderr) + exit(1) -dispatch = {} +print('Generating', outFilename, file=sys.stderr) -if dispatchheader : - fh = open(dispatchheader) - dispatchh = fh.readlines() +# Load & parse registry +reg = Registry() +tree = etree.parse(regFilename) +reg.loadElementTree(tree) - dispatch_regex = re.compile(r'^SET_(\S*)\(') +allVersions = '.*' - for line in dispatchh : - line = line.strip() - m1 = dispatch_regex.search(line) +genOpts = CGeneratorOptions( + apiname = prefix, + profile = 'compatibility', + versions = allVersions, + emitversions = allVersions, + defaultExtensions = prefix, # Default extensions for GL + protectFile = protect, + protectFeature = protect, + protectProto = protect, + ) - if m1 : - dispatch[m1.group(1)] = 1 +# create error/warning & diagnostic files +if (errFilename): + errWarn = open(errFilename,'w') +else: + errWarn = sys.stderr +diag = open(diagFilename, 'w') - del dispatch['by_offset'] +class PreResolveOutputGenerator(OutputGenerator): + def __init__(self, + errFile = sys.stderr, + warnFile = sys.stderr, + diagFile = sys.stdout): + OutputGenerator.__init__(self, errFile, warnFile, diagFile) + self.wrappers={} + def beginFile(self, genOpts): + self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename) + def endFile(self): + self.outFile.write('\nvoid ' + prefix + 'ResolveExtensionProcs(void)\n{\n') + for funcname in self.wrappers.keys(): + self.outFile.write( ' PRERESOLVE(PFN' + funcname.upper() + 'PROC, "' + funcname + '");\n') + self.outFile.write('}\n\n') + def beginFeature(self, interface, emit): + OutputGenerator.beginFeature(self, interface, emit) + def endFeature(self): + OutputGenerator.endFeature(self) + def genType(self, typeinfo, name): + OutputGenerator.genType(self, typeinfo, name) + def genEnum(self, enuminfo, name): + OutputGenerator.genEnum(self, enuminfo, name) + def genCmd(self, cmd, name): + OutputGenerator.genCmd(self, cmd, name) -# -# read the typemap .tm file -# + if name in WinGDI: + return -typemap = {} + self.outFile.write('RESOLVE_DECL(PFN' + name.upper() + 'PROC);\n') + self.wrappers[name]=1 -fh = open(typemapfile) -tm = fh.readlines() +class WrapperOutputGenerator(OutputGenerator): + def __init__(self, + errFile = sys.stderr, + warnFile = sys.stderr, + diagFile = sys.stdout): + OutputGenerator.__init__(self, errFile, warnFile, diagFile) + def beginFile(self, genOpts): + self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename) + def endFile(self): + pass + def beginFeature(self, interface, emit): + OutputGenerator.beginFeature(self, interface, emit) + self.OldVersion = self.featureName.startswith('GL_VERSION_1_0') or self.featureName.startswith('GL_VERSION_1_1') + def endFeature(self): + OutputGenerator.endFeature(self) + def genType(self, typeinfo, name): + OutputGenerator.genType(self, typeinfo, name) + def genEnum(self, enuminfo, name): + OutputGenerator.genEnum(self, enuminfo, name) + def genCmd(self, cmd, name): + OutputGenerator.genCmd(self, cmd, name) -typemap_regex = re.compile(r'#define\sSET_(\S*)\(') + if name in WinGDI: + return -for line in tm : - # ignore everything after a '#' as a comment - hash = line.find('#') - if hash != -1 : - line = line[:hash-1] - - # ignore blank lines - if line.startswith('#') or len(line) == 0 : - continue - - l = line.split(',') - typemap[l[0]] = l[3].strip() - -# interestingly, * is not a C type -if typemap['void'] == '*' : - typemap['void'] = 'void' - -# -# crudely parse the .spec file -# - -r1 = re.compile(r'\t(\S*)\s+(\S*.*)') -r2 = re.compile(r'(.*)\((.*)\)') -r3 = re.compile(r'glWindowPos.*MESA') -r4 = re.compile(r'gl.*Program(s|)NV') -r5 = re.compile(r'glGetVertexAttribfvNV') - -wrappers = {} - -fh = open(specfile) -glspec = fh.readlines() -param_count = 0 - -for line in glspec : - line = line.rstrip() - - # ignore everything after a '#' as a comment - hash = line.find('#') - if hash != -1 : - line = line[:hash-1] - - # ignore blank lines - if line.startswith('#') or len(line) == 0 : - continue - - # lines containing ':' aren't intersting to us - if line.count(':') != 0 : - continue - - # attributes of each function follow the name, indented by a tab - if not line.startswith('\t') : - m1 = r2.search(line) - if m1 : - function = m1.group(1) - arglist_use = m1.group(2) - wrappers[function] = {} - - # ensure formal parameter names don't collide with reserved names or shadow global declarations - arglist_use = ',' .join([i.rstrip() + '_' for i in arglist_use.split(",")]) - - wrappers[function]['arglist_use'] = arglist_use - param_count = 0 - else : - m1 = r1.search(line) - if m1 : - attribute = m1.group(1) - value = m1.group(2) - - # make param attributes unique and ordered - if attribute == 'param' : - attribute = 'param' + '%02d' % param_count - param_count += 1 - - wrappers[function][attribute] = value - -# -# now emit code -# - -print '/* Automatically generated by ' + sys.argv[0] + ' DO NOT EDIT */' -print '/* from ' + specfile + ' and typemap ' + typemapfile + ' */' -print '' - -# -# if required, emit code for non-lazy function resolving -# - -if preresolve : - for w in sorted(wrappers.keys()) : - funcname = prefix + w - print 'RESOLVE_DECL(PFN' + funcname.upper() + 'PROC);' - - print '' - print 'void ' + prefix + 'ResolveExtensionProcs(void)' - print '{' - - for w in sorted(wrappers.keys()) : - funcname = prefix + w - print ' PRERESOLVE(PFN' + funcname.upper() + 'PROC, "' + funcname + '");' - - print '}\n' - -# -# now emit the wrappers -# for GL 1.0 and 1.1 functions, generate stdcall wrappers which call the function directly -# for GL 1.2+ functions, generate wrappers which use wglGetProcAddress() -# - -for w in sorted(wrappers.keys()) : - - funcname = prefix + w - returntype = wrappers[w]['return'] - if returntype != 'void' : - returntype = typemap[returntype] - - # Avoid generating wrappers which aren't referenced by the dispatch table - if dispatchheader and not dispatch.has_key(w) : - print '/* No wrapper for ' + funcname + ', not in dispatch table */' - continue - - # manufacture arglist - # if no param attributes were found, it should be 'void' - al = [] - for k in sorted(wrappers[w].keys()) : - if k.startswith('param') : - l = wrappers[w][k].split() - - # ensure formal parameter names don't collide with reserved names or shadow global declarations - l[0] = l[0] + '_' - - if l[2] == 'in' : - if l[3] == 'array' : - arg = 'const ' + typemap[l[1]] + ' *' + l[0] - else : - arg = typemap[l[1]] + ' ' + l[0] - elif l[2] == 'out' : - arg = typemap[l[1]] + ' *' + l[0] - - al.append(arg) - - if len(al) == 0 : - arglist = 'void' + proto=noneStr(cmd.elem.find('proto')) + rettype=noneStr(proto.text) + if rettype.lower()!="void ": + plist = ([t for t in proto.itertext()]) + rettype = ''.join(plist[:-1]) + rettype=rettype.strip() + if staticwrappers: self.outFile.write("static ") + self.outFile.write("%s %sWrapper("%(rettype, name)) + params = cmd.elem.findall('param') + plist=[] + for param in params: + paramlist = ([t for t in param.itertext()]) + paramtype = ''.join(paramlist[:-1]) + paramname = paramlist[-1] + plist.append((paramtype, paramname)) + Comma="" + if len(plist): + for ptype, pname in plist: + self.outFile.write("%s%s%s_"%(Comma, ptype, pname)) + Comma=", " else: - arglist = ', '.join(al) + self.outFile.write("void") - if wrappers[w]['category'].startswith('VERSION_1_0') or wrappers[w]['category'].startswith('VERSION_1_1') : - if staticwrappers : - print 'static', - print returntype + ' ' + funcname + 'Wrapper(' + arglist + ')' - print '{' - print ' if (glxWinDebugSettings.enable' + prefix.upper() + 'callTrace) ErrorF("'+ funcname + '\\n");' - print ' glWinDirectProcCalls++;' - if returntype.lower() == 'void' : - print ' ' + funcname + '(', - else : - print ' /* returntype was ' + returntype.lower() + '*/' - print ' return ' + funcname + '(', + self.outFile.write(")\n{\n") - if arglist != 'void' : - print wrappers[w]['arglist_use'], + # for GL 1.0 and 1.1 functions, generate stdcall wrappers which call the function directly + if self.OldVersion: + if not nodebug: + self.outFile.write(' if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");\n'%(prefix.upper(), name)) + self.outFile.write(" glWinDirectProcCalls++;\n") + self.outFile.write("\n") - print ');' - print "}\n" + if rettype.lower()=="void": + self.outFile.write(" %s( "%(name)) + else: + self.outFile.write(" return %s( "%(name)) + + Comma="" + for ptype, pname in plist: + self.outFile.write("%s%s_"%(Comma, pname)) + Comma=", " + + # for GL 1.2+ functions, generate stdcall wrappers which use wglGetProcAddress() else: - if staticwrappers : - print 'static', - print returntype + ' ' + funcname + 'Wrapper(' + arglist + ')' - print '{' + if rettype.lower()=="void": + self.outFile.write(' RESOLVE(PFN%sPROC, "%s");\n'%(name.upper(), name)) - stringname = funcname + if not nodebug: + self.outFile.write("\n") + self.outFile.write(' if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");\n'%(prefix.upper(), name)) + self.outFile.write("\n") -# -# special case: Windows OpenGL implementations are far more likely to have GL_ARB_window_pos than GL_MESA_window_pos, -# so arrange for the wrapper to use the ARB strings to find functions... -# + self.outFile.write(" RESOLVED_PROC(PFN%sPROC)( """%(name.upper())) + else: + self.outFile.write(' RESOLVE_RET(PFN%sPROC, "%s", FALSE);\n'%(name.upper(), name)) - m2 = r3.search(funcname) - if m2 : - stringname = stringname.replace('MESA','ARB') + if not nodebug: + self.outFile.write("\n") + self.outFile.write(' if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");\n'%(prefix.upper(), name)) + self.outFile.write("\n") -# -# special case: likewise, implementations are more likely to have GL_ARB_vertex_program than GL_NV_vertex_program, -# especially if they are not NV implementations, so arrange for the wrapper to use ARB strings to find functions -# + self.outFile.write(" return RESOLVED_PROC(PFN%sPROC)("%(name.upper())) - m3 = r4.search(funcname) - if m3 : - stringname = stringname.replace('NV','ARB') - m4 = r5.search(funcname) - if m4 : - stringname = stringname.replace('NV','ARB') + Comma="" + for ptype, pname in plist: + self.outFile.write("%s%s_"%(Comma, pname)) + Comma=", " + self.outFile.write(" );\n}\n\n") - pfntypename = 'PFN' + funcname.upper() + 'PROC' +class ThunkOutputGenerator(OutputGenerator): + def __init__(self, + errFile = sys.stderr, + warnFile = sys.stderr, + diagFile = sys.stdout): + OutputGenerator.__init__(self, errFile, warnFile, diagFile) + def beginFile(self, genOpts): + self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename) + def endFile(self): + pass + def beginFeature(self, interface, emit): + OutputGenerator.beginFeature(self, interface, emit) + self.OldVersion = self.featureName.startswith('GL_VERSION_1_0') or self.featureName.startswith('GL_VERSION_1_1') + def endFeature(self): + OutputGenerator.endFeature(self) + def genType(self, typeinfo, name): + OutputGenerator.genType(self, typeinfo, name) + def genEnum(self, enuminfo, name): + OutputGenerator.genEnum(self, enuminfo, name) + def genCmd(self, cmd, name): + OutputGenerator.genCmd(self, cmd, name) - if returntype.lower() == 'void' : - print ' RESOLVE(' + pfntypename + ', "' + stringname + '");' - print ' if (glxWinDebugSettings.enable' + prefix.upper() + 'callTrace) ErrorF("'+ funcname + '\\n");' - print ' RESOLVED_PROC(' + pfntypename + ')(', - else : - print ' RESOLVE_RET(' + pfntypename + ', "' + stringname + '", FALSE);' - print ' if (glxWinDebugSettings.enable' + prefix.upper() + 'callTrace) ErrorF("'+ funcname + '\\n");' - print ' return RESOLVED_PROC(' + pfntypename + ')(', + proto=noneStr(cmd.elem.find('proto')) + rettype=noneStr(proto.text) + if rettype.lower()!="void ": + plist = ([t for t in proto.itertext()]) + rettype = ''.join(plist[:-1]) + rettype=rettype.strip() + self.outFile.write("%s %sWrapper("%(rettype, name)) + params = cmd.elem.findall('param') + plist=[] + for param in params: + paramlist = ([t for t in param.itertext()]) + paramtype = ''.join(paramlist[:-1]) + paramname = paramlist[-1] + plist.append((paramtype, paramname)) + Comma="" + if len(plist): + for ptype, pname in plist: + self.outFile.write("%s%s%s_"%(Comma, ptype, pname)) + Comma=", " + else: + self.outFile.write("void") - if arglist != 'void' : - print wrappers[w]['arglist_use'], + self.outFile.write(")\n{\n") - print ');' - print "}\n" + # for GL 1.0 and 1.1 functions, generate stdcall thunk wrappers which call the function directly + if self.OldVersion: + if rettype.lower()=="void": + self.outFile.write(" %s( "%(name)) + else: + self.outFile.write(" return %s( "%(name)) + + Comma="" + for ptype, pname in plist: + self.outFile.write("%s%s_"%(Comma, pname)) + Comma=", " + + # for GL 1.2+ functions, generate wrappers which use wglGetProcAddress() + else: + if rettype.lower()=="void": + self.outFile.write(' RESOLVE(PFN%sPROC, "%s");\n'%(name.upper(), name)) + self.outFile.write(" RESOLVED_PROC(PFN%sPROC)( """%(name.upper())) + else: + self.outFile.write(' RESOLVE_RET(PFN%sPROC, "%s", FALSE);\n'%(name.upper(), name)) + self.outFile.write(" return RESOLVED_PROC(PFN%sPROC)("%(name.upper())) + + Comma="" + for ptype, pname in plist: + self.outFile.write("%s%s_"%(Comma, pname)) + Comma=", " + self.outFile.write(" );\n}\n\n") + +class ThunkDefsOutputGenerator(OutputGenerator): + def __init__(self, + errFile = sys.stderr, + warnFile = sys.stderr, + diagFile = sys.stdout): + OutputGenerator.__init__(self, errFile, warnFile, diagFile) + def beginFile(self, genOpts): + self.outFile.write("EXPORTS\n"); # this must be the first line for libtool to realize this is a .def file + self.outFile.write('; Automatically generated from %s - DO NOT EDIT\n\n'%regFilename) + def endFile(self): + pass + def beginFeature(self, interface, emit): + OutputGenerator.beginFeature(self, interface, emit) + def endFeature(self): + OutputGenerator.endFeature(self) + def genType(self, typeinfo, name): + OutputGenerator.genType(self, typeinfo, name) + def genEnum(self, enuminfo, name): + OutputGenerator.genEnum(self, enuminfo, name) + def genCmd(self, cmd, name): + OutputGenerator.genCmd(self, cmd, name) + + # export the wrapper function with the name of the function it wraps + self.outFile.write("%s = %sWrapper\n"%(name, name)) + +class ShimOutputGenerator(OutputGenerator): + def __init__(self, + errFile = sys.stderr, + warnFile = sys.stderr, + diagFile = sys.stdout): + OutputGenerator.__init__(self, errFile, warnFile, diagFile) + def beginFile(self, genOpts): + self.outFile.write('/* Automatically generated from %s - DO NOT EDIT */\n\n'%regFilename) + def endFile(self): + pass + def beginFeature(self, interface, emit): + OutputGenerator.beginFeature(self, interface, emit) + self.OldVersion = self.featureName.startswith('GL_VERSION_1_0') or self.featureName.startswith('GL_VERSION_1_1') or self.featureName.startswith('GL_VERSION_1_2') or self.featureName.startswith('GL_ARB_imaging') or self.featureName.startswith('GL_ARB_multitexture') or self.featureName.startswith('GL_ARB_texture_compression') + def endFeature(self): + OutputGenerator.endFeature(self) + def genType(self, typeinfo, name): + OutputGenerator.genType(self, typeinfo, name) + def genEnum(self, enuminfo, name): + OutputGenerator.genEnum(self, enuminfo, name) + def genCmd(self, cmd, name): + OutputGenerator.genCmd(self, cmd, name) + + if not self.OldVersion: + return + + # for GL functions which are in the ABI, generate a shim which calls the function via GetProcAddress + proto=noneStr(cmd.elem.find('proto')) + rettype=noneStr(proto.text) + if rettype.lower()!="void ": + plist = ([t for t in proto.itertext()]) + rettype = ''.join(plist[:-1]) + rettype=rettype.strip() + self.outFile.write("%s %s("%(rettype, name)) + params = cmd.elem.findall('param') + plist=[] + for param in params: + paramlist = ([t for t in param.itertext()]) + paramtype = ''.join(paramlist[:-1]) + paramname = paramlist[-1] + plist.append((paramtype, paramname)) + Comma="" + if len(plist): + for ptype, pname in plist: + self.outFile.write("%s%s%s_"%(Comma, ptype, pname)) + Comma=", " + else: + self.outFile.write("void") + + self.outFile.write(")\n{\n") + + self.outFile.write(' typedef %s (* PFN%sPROC)(' % (rettype, name.upper())) + + if len(plist): + Comma="" + for ptype, pname in plist: + self.outFile.write("%s %s %s_"%(Comma, ptype, pname)) + Comma=", " + else: + self.outFile.write("void") + + self.outFile.write(');\n') + + if rettype.lower()=="void": + self.outFile.write(' RESOLVE(PFN%sPROC, "%s");\n'%(name.upper(), name)) + self.outFile.write(' RESOLVED_PROC(') + else: + self.outFile.write(' RESOLVE_RET(PFN%sPROC, "%s", 0);\n'%(name.upper(), name)) + self.outFile.write(' return RESOLVED_PROC(') + + Comma="" + for ptype, pname in plist: + self.outFile.write("%s%s_"%(Comma, pname)) + Comma=", " + + self.outFile.write(" );\n}\n\n") + +def genHeaders(): + outFile = open(outFilename,"w") + + if preresolve: + gen = PreResolveOutputGenerator(errFile=errWarn, + warnFile=errWarn, + diagFile=diag) + gen.outFile=outFile + reg.setGenerator(gen) + reg.apiGen(genOpts) + + if wrapper: + gen = WrapperOutputGenerator(errFile=errWarn, + warnFile=errWarn, + diagFile=diag) + gen.outFile=outFile + reg.setGenerator(gen) + reg.apiGen(genOpts) + + if shim: + gen = ShimOutputGenerator(errFile=errWarn, + warnFile=errWarn, + diagFile=diag) + gen.outFile=outFile + reg.setGenerator(gen) + reg.apiGen(genOpts) + + if thunk: + gen = ThunkOutputGenerator(errFile=errWarn, + warnFile=errWarn, + diagFile=diag) + gen.outFile=outFile + reg.setGenerator(gen) + reg.apiGen(genOpts) -# generate function to setup the dispatch table, which sets each -# dispatch table entry to point to it's wrapper function -# (assuming we were able to make one) + if thunkdefs: + gen = ThunkDefsOutputGenerator(errFile=errWarn, + warnFile=errWarn, + diagFile=diag) + gen.outFile=outFile + reg.setGenerator(gen) + reg.apiGen(genOpts) -if dispatchheader : - print 'void glWinSetupDispatchTable(void)' - print '{' - print ' static struct _glapi_table *disp = NULL;' - print '' - print ' if (!disp)' - print ' {' - print ' disp = calloc(sizeof(void *), _glapi_get_dispatch_table_size());' - print ' assert(disp);' + outFile.close() - for d in sorted(dispatch.keys()) : - if wrappers.has_key(d) : - print ' SET_'+ d + '(disp, (void *)' + prefix + d + 'Wrapper);' - else : - print '#warning No wrapper for ' + prefix + d + ' !' - - print ' }' - print '' - print ' _glapi_set_dispatch(disp);' - print '}' +genHeaders() diff --git a/xserver/hw/xwin/glx/glshim.c b/xserver/hw/xwin/glx/glshim.c new file mode 100644 index 000000000..7109196c0 --- /dev/null +++ b/xserver/hw/xwin/glx/glshim.c @@ -0,0 +1,124 @@ +/* + * File: glshim.c + * Purpose: GL shim which redirects to a specified DLL + * + * Copyright (c) Jon TURNEY 2013 + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and 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. + */ + +/* + A GL shim which redirects to a specified DLL + + XWin is statically linked with this, rather than the system libGL, so that + GL calls can be directed to mesa cygGL-1.dll, or cygnativeGLthunk.dll + (which contains cdecl-to-stdcall thunks to the native openGL32.dll) +*/ + +#ifdef HAVE_XWIN_CONFIG_H +#include +#endif + +#define GL_GLEXT_LEGACY +#include +#undef GL_ARB_imaging +#undef GL_VERSION_1_3 +#include + +#include +#include +#include "glwindows.h" +#include + +static HMODULE hMod = NULL; + +/* + Implement the __glGetProcAddress function by just using GetProcAddress() on the selected DLL +*/ +void *glXGetProcAddressARB(const char *symbol) +{ + void *proc; + + /* Default to the mesa GL implementation if one hasn't been selected yet */ + if (!hMod) + glWinSelectImplementation(0); + + proc = GetProcAddress(hMod, symbol); + + if (glxWinDebugSettings.enableGLcallTrace) + ErrorF("glXGetProcAddressARB: Resolved '%s' in %p to %p\n", symbol, hMod, proc); + + return proc; +} + +/* + Select a GL implementation DLL +*/ +int glWinSelectImplementation(int native) +{ + const char *dllname; + + if (native) { + dllname = "cygnativeGLthunk.dll"; + } + else { + dllname = "cygGL-1.dll"; + } + + hMod = LoadLibraryEx(dllname, NULL, 0); + if (hMod == NULL) { + ErrorF("glWinSelectGLimplementation: Could not load '%s'\n", dllname); + return -1; + } + + ErrorF("glWinSelectGLimplementation: Loaded '%s'\n", dllname); + + /* Connect __glGetProcAddress() to our implementation of glXGetProcAddressARB() above */ + __glXsetGetProcAddress((glx_gpa_proc)glXGetProcAddressARB); + + return 0; +} + +#define RESOLVE_RET(proctype, symbol, retval) \ + proctype proc = (proctype)glXGetProcAddressARB(symbol); \ + if (proc == NULL) return retval; + +#define RESOLVE(proctype, symbol) RESOLVE_RET(proctype, symbol,) +#define RESOLVED_PROC proc + +/* Include generated shims for direct linkage to GL functions which are in the ABI */ +#include "generated_gl_shim.c" + +/* + Special wrapper for glAddSwapHintRectWIN for copySubBuffers + + Only used with native GL if the GL_WIN_swap_hint extension is present, so we enable + GLX_MESA_copy_sub_buffer +*/ +typedef void (__stdcall * PFNGLADDSWAPHINTRECTWIN) (GLint x, GLint y, + GLsizei width, + GLsizei height); + +void +glAddSwapHintRectWINWrapper(GLint x, GLint y, GLsizei width, + GLsizei height) +{ + RESOLVE(PFNGLADDSWAPHINTRECTWIN, "glAddSwapHintRectWIN"); + RESOLVED_PROC(x, y, width, height); +} diff --git a/xserver/hw/xwin/glx/glwrap.c b/xserver/hw/xwin/glx/glthunk.c similarity index 55% rename from xserver/hw/xwin/glx/glwrap.c rename to xserver/hw/xwin/glx/glthunk.c index 73cff3cc1..d49fe487c 100644 --- a/xserver/hw/xwin/glx/glwrap.c +++ b/xserver/hw/xwin/glx/glthunk.c @@ -1,13 +1,8 @@ /* - * File: glwrap.c - * Purpose: Wrapper functions for Win32 OpenGL functions - * - * Authors: Alexander Gottwald - * Jon TURNEY - * - * Copyright (c) Jon TURNEY 2009 - * Copyright (c) Alexander Gottwald 2004 + * File: glthunk.c + * Purpose: cdecl thunk wrapper library for Win32 stdcall OpenGL library * + * Copyright (c) Jon TURNEY 2009,2013 * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -37,34 +32,12 @@ #endif #include + +#define GL_GLEXT_LEGACY #include +#undef GL_ARB_imaging +#undef GL_VERSION_1_3 #include -#include -#include -#include -#include -#include - -static unsigned int glWinIndirectProcCalls = 0; -static unsigned int glWinDirectProcCalls = 0; - -void -glWinCallDelta(void) -{ - static unsigned int glWinIndirectProcCallsLast = 0; - static unsigned int glWinDirectProcCallsLast = 0; - - if ((glWinIndirectProcCalls != glWinIndirectProcCallsLast) || - (glWinDirectProcCalls != glWinDirectProcCallsLast)) { - if (glxWinDebugSettings.enableTrace) { - ErrorF("after %d direct and %d indirect GL calls\n", - glWinDirectProcCalls - glWinDirectProcCallsLast, - glWinIndirectProcCalls - glWinIndirectProcCallsLast); - } - glWinDirectProcCallsLast = glWinDirectProcCalls; - glWinIndirectProcCallsLast = glWinIndirectProcCalls; - } -} static PROC glWinResolveHelper(PROC * cache, const char *symbol) @@ -75,11 +48,9 @@ glWinResolveHelper(PROC * cache, const char *symbol) if ((*cache) == NULL) { proc = wglGetProcAddress(symbol); if (proc == NULL) { - ErrorF("glwrap: Can't resolve \"%s\"\n", symbol); (*cache) = (PROC) - 1; } else { - ErrorF("glwrap: Resolved \"%s\"\n", symbol); (*cache) = proc; } } @@ -99,10 +70,8 @@ glWinResolveHelper(PROC * cache, const char *symbol) static PROC cache = NULL; \ __stdcall proctype proc = (proctype)glWinResolveHelper(&cache, symbol); \ if (proc == NULL) { \ - __glXErrorCallBack(0); \ return retval; \ - } \ - glWinIndirectProcCalls++; + } #define RESOLVE(proctype, symbol) RESOLVE_RET(proctype, symbol,) @@ -113,34 +82,6 @@ glWinResolveHelper(PROC * cache, const char *symbol) OpenGL 1.2 and upward is treated as extensions, function address must found using wglGetProcAddress(), but also stdcall so still need wrappers... - - Include generated dispatch table setup function */ -#include "generated_gl_wrappers.c" - -/* - Special non-static wrapper for glGetString for debug output -*/ - -const GLubyte * -glGetStringWrapperNonstatic(GLenum name) -{ - return glGetString(name); -} - -/* - Special non-static wrapper for glAddSwapHintRectWIN for copySubBuffers -*/ - -typedef void (__stdcall * PFNGLADDSWAPHINTRECTWIN) (GLint x, GLint y, - GLsizei width, - GLsizei height); - -void -glAddSwapHintRectWINWrapperNonstatic(GLint x, GLint y, GLsizei width, - GLsizei height) -{ - RESOLVE(PFNGLADDSWAPHINTRECTWIN, "glAddSwapHintRectWIN"); - proc(x, y, width, height); -} +#include "generated_gl_thunks.c" diff --git a/xserver/hw/xwin/glx/glwindows.h b/xserver/hw/xwin/glx/glwindows.h index ec1d1f51b..4f859b498 100644 --- a/xserver/hw/xwin/glx/glwindows.h +++ b/xserver/hw/xwin/glx/glwindows.h @@ -42,12 +42,9 @@ typedef struct { extern glxWinDebugSettingsRec glxWinDebugSettings; -void glWinCallDelta(void); void glxWinPushNativeProvider(void); -const GLubyte *glGetStringWrapperNonstatic(GLenum name); -void glAddSwapHintRectWINWrapperNonstatic(GLint x, GLint y, GLsizei width, - GLsizei height); -void glWinSetupDispatchTable(void); +void glAddSwapHintRectWINWrapper(GLint x, GLint y, GLsizei width, GLsizei height); +int glWinSelectImplementation(int native); #if 1 #define GLWIN_TRACE_MSG(msg, args...) if (glxWinDebugSettings.enableTrace) ErrorF(msg " [%s:%d]\n" , ##args , __FUNCTION__, __LINE__ ) diff --git a/xserver/hw/xwin/glx/indirect.c b/xserver/hw/xwin/glx/indirect.c index 00cef3673..3d01bed39 100644 --- a/xserver/hw/xwin/glx/indirect.c +++ b/xserver/hw/xwin/glx/indirect.c @@ -386,7 +386,9 @@ fbConfigsDump(unsigned int n, __GLXconfig * c) c->accumAlphaBits, c->sampleBuffers, c->samples, (c->drawableType & GLX_WINDOW_BIT) ? "y" : ".", (c->drawableType & GLX_PIXMAP_BIT) ? "y" : ".", - (c->drawableType & GLX_PBUFFER_BIT) ? "y" : ".", ".", + (c->drawableType & GLX_PBUFFER_BIT) ? "y" : ".", + (c->renderType & (GLX_RGBA_FLOAT_BIT_ARB | + GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT)) ? "y" : ".", (c->transparentPixel != GLX_NONE_EXT) ? "y" : ".", c->visualSelectGroup, (c->visualRating == GLX_SLOW_VISUAL_EXT) ? "*" : " "); @@ -548,7 +550,9 @@ glxWinScreenProbe(ScreenPtr pScreen) if (NULL == screen) return NULL; - /* Dump out some useful information about the native renderer */ + // Select the native GL implementation (WGL) + if (glWinSelectImplementation(1)) + return NULL; // create window class #define WIN_GL_TEST_WINDOW_CLASS "XWinGLTest" @@ -595,11 +599,12 @@ glxWinScreenProbe(ScreenPtr pScreen) // (but we need to have a current context for them to be resolvable) wglResolveExtensionProcs(); - ErrorF("GL_VERSION: %s\n", glGetStringWrapperNonstatic(GL_VERSION)); - ErrorF("GL_VENDOR: %s\n", glGetStringWrapperNonstatic(GL_VENDOR)); - gl_renderer = (const char *) glGetStringWrapperNonstatic(GL_RENDERER); + /* Dump out some useful information about the native renderer */ + ErrorF("GL_VERSION: %s\n", glGetString(GL_VERSION)); + ErrorF("GL_VENDOR: %s\n", glGetString(GL_VENDOR)); + gl_renderer = (const char *) glGetString(GL_RENDERER); ErrorF("GL_RENDERER: %s\n", gl_renderer); - gl_extensions = (const char *) glGetStringWrapperNonstatic(GL_EXTENSIONS); + gl_extensions = (const char *) glGetString(GL_EXTENSIONS); wgl_extensions = wglGetExtensionsStringARBWrapper(hdc); if (!wgl_extensions) wgl_extensions = ""; @@ -613,7 +618,7 @@ glxWinScreenProbe(ScreenPtr pScreen) free(screen); LogMessage(X_ERROR, "AIGLX: Won't use generic native renderer as it is not accelerated\n"); - return NULL; + goto error; } // Can you see the problem here? The extensions string is DC specific @@ -724,7 +729,7 @@ glxWinScreenProbe(ScreenPtr pScreen) free(screen); LogMessage(X_ERROR, "AIGLX: No fbConfigs could be made from native OpenGL pixel formats\n"); - return NULL; + goto error; } /* These will be set by __glXScreenInit */ @@ -787,6 +792,13 @@ glxWinScreenProbe(ScreenPtr pScreen) pScreen->CopyWindow = glxWinCopyWindow; return &screen->base; + + error: + // Something went wrong and we can't use the native GL implementation + // so make sure the mesa GL implementation is selected instead + glWinSelectImplementation(0); + + return NULL; } /* ---------------------------------------------------------------------- */ @@ -908,7 +920,7 @@ static void glxWinDrawableCopySubBuffer(__GLXdrawable * drawable, int x, int y, int w, int h) { - glAddSwapHintRectWINWrapperNonstatic(x, y, w, h); + glAddSwapHintRectWINWrapper(x, y, w, h); glxWinDrawableSwapBuffers(NULL, drawable); } @@ -1456,7 +1468,6 @@ glxWinContextMakeCurrent(__GLXcontext * base) GLWIN_TRACE_MSG("glxWinContextMakeCurrent context %p (native ctx %p)", gc, gc->ctx); - glWinCallDelta(); /* Keep a note of the last active context in the drawable */ drawPriv = gc->base.drawPriv; @@ -1526,7 +1537,6 @@ glxWinContextLoseCurrent(__GLXcontext * base) GLWIN_TRACE_MSG("glxWinContextLoseCurrent context %p (native ctx %p)", gc, gc->ctx); - glWinCallDelta(); /* An error seems to be reported if we try to make no context current @@ -1621,8 +1631,6 @@ glxWinCreateContext(__GLXscreen * screen, context->ctx = NULL; context->shareContext = shareContext; - glWinSetupDispatchTable(); - GLWIN_DEBUG_MSG("GLXcontext %p created", context); return &(context->base); @@ -1715,7 +1723,6 @@ fbConfigToPixelFormat(__GLXconfig * mode, PIXELFORMATDESCRIPTOR * pfdret, pfd.cAuxBuffers = mode->numAuxBuffers; /* mode->level ? */ - /* mode->pixmapMode ? */ *pfdret = pfd; @@ -1925,7 +1932,6 @@ glxWinCreateConfigs(HDC hdc, glxWinScreen * screen) // pfd.dwLayerMask; // ignored // pfd.dwDamageMask; // ignored - c->base.pixmapMode = 0; c->base.visualID = -1; // will be set by __glXScreenInit() /* EXT_visual_rating / GLX 1.2 */ @@ -2016,15 +2022,13 @@ glxWinCreateConfigs(HDC hdc, glxWinScreen * screen) else c->base.swapMethod = GLX_SWAP_UNDEFINED_OML; - /* EXT_import_context */ - c->base.screen = screen->base.pScreen->myNum; - /* EXT_texture_from_pixmap */ c->base.bindToTextureRgb = -1; c->base.bindToTextureRgba = -1; c->base.bindToMipmapTexture = -1; c->base.bindToTextureTargets = -1; c->base.yInverted = -1; + c->base.sRGBCapable = 0; n++; @@ -2262,7 +2266,6 @@ glxWinCreateConfigsExt(HDC hdc, glxWinScreen * screen) } c->base.level = 0; - c->base.pixmapMode = 0; // ??? c->base.visualID = -1; // will be set by __glXScreenInit() /* EXT_visual_rating / GLX 1.2 */ @@ -2395,9 +2398,6 @@ glxWinCreateConfigsExt(HDC hdc, glxWinScreen * screen) c->base.swapMethod = GLX_SWAP_UNDEFINED_OML; } - /* EXT_import_context */ - c->base.screen = screen->base.pScreen->myNum; - /* EXT_texture_from_pixmap */ /* Mesa's DRI configs always have bindToTextureRgb/Rgba TRUE (see driCreateConfigs(), so setting @@ -2419,6 +2419,7 @@ glxWinCreateConfigsExt(HDC hdc, glxWinScreen * screen) GLX_TEXTURE_1D_BIT_EXT | GLX_TEXTURE_2D_BIT_EXT | GLX_TEXTURE_RECTANGLE_BIT_EXT; c->base.yInverted = -1; + c->base.sRGBCapable = 0; n++; diff --git a/xserver/hw/xwin/man/Makefile.in b/xserver/hw/xwin/man/Makefile.in index 332375779..5c5c72c5b 100644 --- a/xserver/hw/xwin/man/Makefile.in +++ b/xserver/hw/xwin/man/Makefile.in @@ -176,9 +176,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -210,6 +213,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -239,6 +243,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -298,6 +304,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -311,12 +318,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -382,6 +389,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/hw/xwin/win.h b/xserver/hw/xwin/win.h index fa774bc00..ce89348fe 100644 --- a/xserver/hw/xwin/win.h +++ b/xserver/hw/xwin/win.h @@ -42,22 +42,16 @@ #define YES 1 #endif +/* We can handle WM_MOUSEHWHEEL even though _WIN32_WINNT < 0x0600 */ +#ifndef WM_MOUSEHWHEEL +#define WM_MOUSEHWHEEL 0x020E +#endif + /* Turn debug messages on or off */ #ifndef CYGDEBUG #define CYGDEBUG NO #endif -/* WM_XBUTTON Messages. They should go into w32api. */ -#ifndef WM_XBUTTONDOWN -#define WM_XBUTTONDOWN 523 -#endif -#ifndef WM_XBUTTONUP -#define WM_XBUTTONUP 524 -#endif -#ifndef WM_XBUTTONDBLCLK -#define WM_XBUTTONDBLCLK 525 -#endif - #define WIN_DEFAULT_BPP 0 #define WIN_DEFAULT_WHITEPIXEL 255 #define WIN_DEFAULT_BLACKPIXEL 0 @@ -460,6 +454,7 @@ typedef struct _winPrivScreenRec { Bool fBadDepth; int iDeltaZ; + int iDeltaV; int iConnectedClients; @@ -921,8 +916,8 @@ void * winkeybd.c */ -void - winTranslateKey(WPARAM wParam, LPARAM lParam, int *piScanCode); +int + winTranslateKey(WPARAM wParam, LPARAM lParam); int winKeybdProc(DeviceIntPtr pDeviceInt, int iState); @@ -986,7 +981,7 @@ int winMouseProc(DeviceIntPtr pDeviceInt, int iState); int - winMouseWheel(ScreenPtr pScreen, int iDeltaZ); + winMouseWheel(int *iTotalDeltaZ, int iDeltaZ, int iButtonUp, int iButtonDown); void winMouseButtonsSendEvent(int iEventType, int iButton); @@ -1402,6 +1397,12 @@ winDoRandRScreenSetSize(ScreenPtr pScreen, CARD16 width, CARD16 height, CARD32 mmWidth, CARD32 mmHeight); +/* + * winmsgwindow.c + */ +Bool +winCreateMsgWindowThread(void); + /* * END DDX and DIX Function Prototypes */ diff --git a/xserver/hw/xwin/winauth.c b/xserver/hw/xwin/winauth.c index 25d1fbd62..a6a7366a4 100644 --- a/xserver/hw/xwin/winauth.c +++ b/xserver/hw/xwin/winauth.c @@ -36,6 +36,7 @@ /* Includes for authorization */ #include "securitysrv.h" +#include "os/osdep.h" /* * Constants @@ -56,8 +57,7 @@ static char *g_pAuthData = NULL; */ #ifndef XCSECURITY -static - void +void GenerateRandomData(int len, char *buf) { int fd; @@ -70,9 +70,8 @@ GenerateRandomData(int len, char *buf) static char cookie[16]; /* 128 bits */ XID - static MitGenerateCookie(unsigned data_length, - char *data, + const char *data, XID id, unsigned *data_length_return, char **data_return) { int i = 0; diff --git a/xserver/hw/xwin/winclipboard.h b/xserver/hw/xwin/winclipboard.h index 2cd775d6b..cb7769510 100644 --- a/xserver/hw/xwin/winclipboard.h +++ b/xserver/hw/xwin/winclipboard.h @@ -66,7 +66,6 @@ #define WIN_JMP_ERROR_IO 2 #define WIN_LOCAL_PROPERTY "CYGX_CUT_BUFFER" #define WIN_XEVENTS_SUCCESS 0 -#define WIN_XEVENTS_SHUTDOWN 1 #define WIN_XEVENTS_CONVERT 2 #define WIN_XEVENTS_NOTIFY 3 #define WIN_CLIPBOARD_RETRIES 40 @@ -107,9 +106,6 @@ void void *winClipboardProc(void *); -void - winDeinitClipboard(void); - /* * winclipboardwndproc.c */ diff --git a/xserver/hw/xwin/winclipboardthread.c b/xserver/hw/xwin/winclipboardthread.c index c8508a9b8..33595be7f 100644 --- a/xserver/hw/xwin/winclipboardthread.c +++ b/xserver/hw/xwin/winclipboardthread.c @@ -83,7 +83,7 @@ static int void * winClipboardProc(void *pvNotUsed) { - Atom atomClipboard, atomClipboardManager; + Atom atomClipboard; int iReturn; HWND hwnd = NULL; int iConnectionNumber = 0; @@ -206,9 +206,8 @@ winClipboardProc(void *pvNotUsed) iMaxDescriptor = iConnectionNumber + 1; #endif - /* Create atoms */ + /* Create atom */ atomClipboard = XInternAtom(pDisplay, "CLIPBOARD", False); - atomClipboardManager = XInternAtom(pDisplay, "CLIPBOARD_MANAGER", False); /* Create a messaging window */ iWindow = XCreateSimpleWindow(pDisplay, @@ -326,14 +325,7 @@ winClipboardProc(void *pvNotUsed) /* Branch on which descriptor became active */ if (FD_ISSET(iConnectionNumber, &fdsRead)) { /* Process X events */ - /* Exit when we see that server is shutting down */ - iReturn = winClipboardFlushXEvents(hwnd, - iWindow, pDisplay, fUseUnicode); - if (WIN_XEVENTS_SHUTDOWN == iReturn) { - ErrorF("winClipboardProc - winClipboardFlushXEvents " - "trapped shutdown event, exiting main loop.\n"); - break; - } + winClipboardFlushXEvents(hwnd, iWindow, pDisplay, fUseUnicode); } #ifdef HAS_DEVWINDOWS @@ -461,7 +453,7 @@ winClipboardErrorHandler(Display * pDisplay, XErrorEvent * pErr) static int winClipboardIOErrorHandler(Display * pDisplay) { - ErrorF("winClipboardIOErrorHandler!\n\n"); + ErrorF("winClipboardIOErrorHandler!\n"); if (pthread_equal(pthread_self(), g_winClipboardProcThread)) { /* Restart at the main entry point */ diff --git a/xserver/hw/xwin/winclipboardwndproc.c b/xserver/hw/xwin/winclipboardwndproc.c index e19f678a7..90dc9e0bb 100644 --- a/xserver/hw/xwin/winclipboardwndproc.c +++ b/xserver/hw/xwin/winclipboardwndproc.c @@ -48,21 +48,10 @@ * References to external symbols */ -extern Bool g_fUseUnicode; extern void *g_pClipboardDisplay; extern Window g_iClipboardWindow; extern Atom g_atomLastOwnedSelection; -/* - * Local function prototypes - */ - -static int - - -winProcessXEventsTimeout(HWND hwnd, int iWindow, Display * pDisplay, - Bool fUseUnicode, int iTimeoutSec); - /* * Process X events up to specified timeout */ diff --git a/xserver/hw/xwin/winclipboardwrappers.c b/xserver/hw/xwin/winclipboardwrappers.c index 008088b6a..bfd6bff8b 100644 --- a/xserver/hw/xwin/winclipboardwrappers.c +++ b/xserver/hw/xwin/winclipboardwrappers.c @@ -56,8 +56,6 @@ DISPATCH_PROC(winProcSetSelectionOwner); * References to external symbols */ -extern unsigned int g_uiAuthDataLen; -extern char *g_pAuthData; extern Bool g_fClipboardLaunched; extern Bool g_fClipboardStarted; extern Bool g_fClipboard; diff --git a/xserver/hw/xwin/wincursor.c b/xserver/hw/xwin/wincursor.c index 2962d06ad..a35336a34 100644 --- a/xserver/hw/xwin/wincursor.c +++ b/xserver/hw/xwin/wincursor.c @@ -162,7 +162,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen) HDC hDC; BITMAPV4HEADER bi; BITMAPINFO *pbmi; - unsigned long *lpBits; + uint32_t *lpBits; WIN_DEBUG_MSG("winLoadCursor: Win32: %dx%d X11: %dx%d hotspot: %d,%d\n", pScreenPriv->cursor.sm_cx, pScreenPriv->cursor.sm_cy, @@ -256,15 +256,14 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen) bi.bV4AlphaMask = 0xFF000000; lpBits = - (unsigned long *) calloc(pScreenPriv->cursor.sm_cx * - pScreenPriv->cursor.sm_cy, - sizeof(unsigned long)); + (uint32_t *) calloc(pScreenPriv->cursor.sm_cx * + pScreenPriv->cursor.sm_cy, + sizeof(uint32_t)); if (lpBits) { int y; for (y = 0; y < nCY; y++) { - unsigned long *src, *dst; - + void *src, *dst; src = &(pCursor->bits->argb[y * pCursor->bits->width]); dst = &(lpBits[y * pScreenPriv->cursor.sm_cx]); memcpy(dst, src, 4 * nCX); @@ -273,9 +272,12 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen) } /* End if-truecolor-icon */ if (!lpBits) { + RGBQUAD *pbmiColors; /* Bicolor, use a palettized DIB */ WIN_DEBUG_MSG("winLoadCursor: Trying two color cursor\n"); pbmi = (BITMAPINFO *) &bi; + pbmiColors = &(pbmi->bmiColors[0]); + memset(pbmi, 0, sizeof(BITMAPINFOHEADER)); pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); pbmi->bmiHeader.biWidth = pScreenPriv->cursor.sm_cx; @@ -286,22 +288,23 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen) pbmi->bmiHeader.biSizeImage = 0; pbmi->bmiHeader.biClrUsed = 3; pbmi->bmiHeader.biClrImportant = 3; - pbmi->bmiColors[0].rgbRed = 0; /* Empty */ - pbmi->bmiColors[0].rgbGreen = 0; - pbmi->bmiColors[0].rgbBlue = 0; - pbmi->bmiColors[0].rgbReserved = 0; - pbmi->bmiColors[1].rgbRed = pCursor->backRed >> 8; /* Background */ - pbmi->bmiColors[1].rgbGreen = pCursor->backGreen >> 8; - pbmi->bmiColors[1].rgbBlue = pCursor->backBlue >> 8; - pbmi->bmiColors[1].rgbReserved = 0; - pbmi->bmiColors[2].rgbRed = pCursor->foreRed >> 8; /* Foreground */ - pbmi->bmiColors[2].rgbGreen = pCursor->foreGreen >> 8; - pbmi->bmiColors[2].rgbBlue = pCursor->foreBlue >> 8; - pbmi->bmiColors[2].rgbReserved = 0; + + pbmiColors[0].rgbRed = 0; /* Empty */ + pbmiColors[0].rgbGreen = 0; + pbmiColors[0].rgbBlue = 0; + pbmiColors[0].rgbReserved = 0; + pbmiColors[1].rgbRed = pCursor->backRed >> 8; /* Background */ + pbmiColors[1].rgbGreen = pCursor->backGreen >> 8; + pbmiColors[1].rgbBlue = pCursor->backBlue >> 8; + pbmiColors[1].rgbReserved = 0; + pbmiColors[2].rgbRed = pCursor->foreRed >> 8; /* Foreground */ + pbmiColors[2].rgbGreen = pCursor->foreGreen >> 8; + pbmiColors[2].rgbBlue = pCursor->foreBlue >> 8; + pbmiColors[2].rgbReserved = 0; lpBits = - (unsigned long *) calloc(pScreenPriv->cursor.sm_cx * - pScreenPriv->cursor.sm_cy, sizeof(char)); + (uint32_t *) calloc(pScreenPriv->cursor.sm_cx * + pScreenPriv->cursor.sm_cy, sizeof(char)); pCur = (unsigned char *) lpBits; if (lpBits) { diff --git a/xserver/hw/xwin/windialogs.c b/xserver/hw/xwin/windialogs.c index a02146e95..054ee95b5 100644 --- a/xserver/hw/xwin/windialogs.c +++ b/xserver/hw/xwin/windialogs.c @@ -33,9 +33,6 @@ #include #endif #include "win.h" -#ifdef __CYGWIN__ -#include -#endif #include #include "winprefs.h" @@ -50,13 +47,13 @@ extern Bool g_fClipboardStarted; * Local function prototypes */ -static wBOOL CALLBACK +static INT_PTR CALLBACK winExitDlgProc(HWND hDialog, UINT message, WPARAM wParam, LPARAM lParam); -static wBOOL CALLBACK +static INT_PTR CALLBACK winChangeDepthDlgProc(HWND hDialog, UINT message, WPARAM wParam, LPARAM lParam); -static wBOOL CALLBACK +static INT_PTR CALLBACK winAboutDlgProc(HWND hDialog, UINT message, WPARAM wParam, LPARAM lParam); static void @@ -288,7 +285,7 @@ winDisplayExitDialog(winPrivScreenPtr pScreenPriv) g_hDlgExit = CreateDialogParam(g_hInstance, "EXIT_DIALOG", pScreenPriv->hwndScreen, - winExitDlgProc, (int) pScreenPriv); + winExitDlgProc, (LPARAM) pScreenPriv); /* Show the dialog box */ ShowWindow(g_hDlgExit, SW_SHOW); @@ -307,7 +304,7 @@ winDisplayExitDialog(winPrivScreenPtr pScreenPriv) * Exit dialog window procedure */ -static wBOOL CALLBACK +static INT_PTR CALLBACK winExitDlgProc(HWND hDialog, UINT message, WPARAM wParam, LPARAM lParam) { static winPrivScreenPtr s_pScreenPriv = NULL; @@ -407,14 +404,13 @@ winDisplayDepthChangeDialog(winPrivScreenPtr pScreenPriv) "DEPTH_CHANGE_BOX", pScreenPriv->hwndScreen, winChangeDepthDlgProc, - (int) pScreenPriv); + (LPARAM) pScreenPriv); /* Show the dialog box */ ShowWindow(g_hDlgDepthChange, SW_SHOW); - ErrorF("winDisplayDepthChangeDialog - DialogBox returned: %d\n", - (int) g_hDlgDepthChange); - ErrorF("winDisplayDepthChangeDialog - GetLastError: %d\n", - (int) GetLastError()); + if (!g_hDlgDepthChange) + ErrorF("winDisplayDepthChangeDialog - GetLastError: %d\n", + (int) GetLastError()); /* Minimize the display window */ ShowWindow(pScreenPriv->hwndScreen, SW_MINIMIZE); @@ -425,13 +421,12 @@ winDisplayDepthChangeDialog(winPrivScreenPtr pScreenPriv) * disruptive screen depth changes. */ -static wBOOL CALLBACK +static INT_PTR CALLBACK winChangeDepthDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) { static winPrivScreenPtr s_pScreenPriv = NULL; static winScreenInfo *s_pScreenInfo = NULL; - static ScreenPtr s_pScreen = NULL; #if CYGDEBUG winDebug("winChangeDepthDlgProc\n"); @@ -447,12 +442,11 @@ winChangeDepthDlgProc(HWND hwndDialog, UINT message, /* Store pointers to private structures for future use */ s_pScreenPriv = (winPrivScreenPtr) lParam; s_pScreenInfo = s_pScreenPriv->pScreenInfo; - s_pScreen = s_pScreenInfo->pScreen; #if CYGDEBUG winDebug("winChangeDepthDlgProc - WM_INITDIALOG - s_pScreenPriv: %08x, " - "s_pScreenInfo: %08x, s_pScreen: %08x\n", - s_pScreenPriv, s_pScreenInfo, s_pScreen); + "s_pScreenInfo: %08x\n", + s_pScreenPriv, s_pScreenInfo); #endif #if CYGDEBUG @@ -541,7 +535,7 @@ winDisplayAboutDialog(winPrivScreenPtr pScreenPriv) g_hDlgAbout = CreateDialogParam(g_hInstance, "ABOUT_BOX", pScreenPriv->hwndScreen, - winAboutDlgProc, (int) pScreenPriv); + winAboutDlgProc, (LPARAM) pScreenPriv); /* Show the dialog box */ ShowWindow(g_hDlgAbout, SW_SHOW); @@ -558,12 +552,10 @@ winDisplayAboutDialog(winPrivScreenPtr pScreenPriv) * Process messages for the about dialog. */ -static wBOOL CALLBACK +static INT_PTR CALLBACK winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) { static winPrivScreenPtr s_pScreenPriv = NULL; - static winScreenInfo *s_pScreenInfo = NULL; - static ScreenPtr s_pScreen = NULL; #if CYGDEBUG winDebug("winAboutDlgProc\n"); @@ -576,10 +568,8 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) winDebug("winAboutDlgProc - WM_INITDIALOG\n"); #endif - /* Store pointers to private structures for future use */ + /* Store pointer to private structure for future use */ s_pScreenPriv = (winPrivScreenPtr) lParam; - s_pScreenInfo = s_pScreenPriv->pScreenInfo; - s_pScreen = s_pScreenInfo->pScreen; winInitDialog(hwndDialog); @@ -627,26 +617,17 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) case ID_ABOUT_CHANGELOG: { - int iReturn; + INT_PTR iReturn; -#ifdef __CYGWIN__ - const char *pszCygPath = "/usr/X11R6/share/doc/" - "xorg-x11-xwin/changelog.html"; - char pszWinPath[MAX_PATH + 1]; - - /* Convert the POSIX path to a Win32 path */ - cygwin_conv_to_win32_path(pszCygPath, pszWinPath); -#else const char *pszWinPath = "http://x.cygwin.com/" "devel/server/changelog.html"; -#endif - iReturn = (int) ShellExecute(NULL, + iReturn = (INT_PTR) ShellExecute(NULL, "open", pszWinPath, NULL, NULL, SW_MAXIMIZE); if (iReturn < 32) { ErrorF("winAboutDlgProc - WM_COMMAND - ID_ABOUT_CHANGELOG - " - "ShellExecute failed: %d\n", iReturn); + "ShellExecute failed: %d\n", (int)iReturn); } } return TRUE; @@ -654,14 +635,15 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) case ID_ABOUT_WEBSITE: { const char *pszPath = __VENDORDWEBSUPPORT__; - int iReturn; + INT_PTR iReturn; - iReturn = (int) ShellExecute(NULL, + iReturn = (INT_PTR) ShellExecute(NULL, "open", pszPath, NULL, NULL, SW_MAXIMIZE); if (iReturn < 32) { ErrorF("winAboutDlgProc - WM_COMMAND - ID_ABOUT_WEBSITE - " - "ShellExecute failed: %d\n", iReturn); + "ShellExecute failed: %d\n", (int)iReturn); + } } return TRUE; @@ -669,14 +651,14 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) case ID_ABOUT_UG: { const char *pszPath = "http://x.cygwin.com/docs/ug/"; - int iReturn; + INT_PTR iReturn; - iReturn = (int) ShellExecute(NULL, + iReturn = (INT_PTR) ShellExecute(NULL, "open", pszPath, NULL, NULL, SW_MAXIMIZE); if (iReturn < 32) { ErrorF("winAboutDlgProc - WM_COMMAND - ID_ABOUT_UG - " - "ShellExecute failed: %d\n", iReturn); + "ShellExecute failed: %d\n", (int)iReturn); } } return TRUE; @@ -684,14 +666,14 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam) case ID_ABOUT_FAQ: { const char *pszPath = "http://x.cygwin.com/docs/faq/"; - int iReturn; + INT_PTR iReturn; - iReturn = (int) ShellExecute(NULL, + iReturn = (INT_PTR) ShellExecute(NULL, "open", pszPath, NULL, NULL, SW_MAXIMIZE); if (iReturn < 32) { ErrorF("winAboutDlgProc - WM_COMMAND - ID_ABOUT_FAQ - " - "ShellExecute failed: %d\n", iReturn); + "ShellExecute failed: %d\n", (int)iReturn); } } return TRUE; diff --git a/xserver/hw/xwin/winfillsp.c b/xserver/hw/xwin/winfillsp.c index f2432ed23..bd0a15e8a 100644 --- a/xserver/hw/xwin/winfillsp.c +++ b/xserver/hw/xwin/winfillsp.c @@ -118,7 +118,7 @@ winFillSpansNativeGDI(DrawablePtr pDrawable, if (hbmpOrig == NULL) FatalError("winFillSpans - DRAWABLE_PIXMAP - " "SelectObject () failed on\n\tpPixmapPriv->hBitmap: " - "%08x\n", (unsigned int) pPixmapPriv->hBitmap); + "%p\n", pPixmapPriv->hBitmap); /* Branch on the fill type */ switch (pGC->fillStyle) { diff --git a/xserver/hw/xwin/winglobals.c b/xserver/hw/xwin/winglobals.c index b34d1a751..d28132247 100644 --- a/xserver/hw/xwin/winglobals.c +++ b/xserver/hw/xwin/winglobals.c @@ -78,13 +78,13 @@ Bool g_fNoHelpMessageBox = FALSE; Bool g_fSoftwareCursor = FALSE; Bool g_fSilentDupError = FALSE; Bool g_fNativeGl = TRUE; +pthread_mutex_t g_pmTerminating = PTHREAD_MUTEX_INITIALIZER; #ifdef XWIN_CLIPBOARD /* * Wrapped DIX functions */ winDispatchProcPtr winProcEstablishConnectionOrig = NULL; -winDispatchProcPtr winProcQueryTreeOrig = NULL; winDispatchProcPtr winProcSetSelectionOwnerOrig = NULL; /* diff --git a/xserver/hw/xwin/winglobals.h b/xserver/hw/xwin/winglobals.h index d2e2ba2b4..58a919c65 100644 --- a/xserver/hw/xwin/winglobals.h +++ b/xserver/hw/xwin/winglobals.h @@ -30,6 +30,8 @@ #include #endif +#include + /* * References to external symbols */ @@ -69,7 +71,6 @@ typedef int (*winDispatchProcPtr) (ClientPtr); * Wrapped DIX functions */ extern winDispatchProcPtr winProcEstablishConnectionOrig; -extern winDispatchProcPtr winProcQueryTreeOrig; extern winDispatchProcPtr winProcSetSelectionOwnerOrig; #endif @@ -90,4 +91,6 @@ extern Bool g_fButton[3]; extern Bool g_fNoConfigureWindow; #endif +extern pthread_mutex_t g_pmTerminating; + #endif /* WINGLOBALS_H */ diff --git a/xserver/hw/xwin/winkeybd.c b/xserver/hw/xwin/winkeybd.c index 27c114c99..9c5d4e9cd 100644 --- a/xserver/hw/xwin/winkeybd.c +++ b/xserver/hw/xwin/winkeybd.c @@ -65,13 +65,14 @@ static void * like AltGr on European keyboards. */ -void -winTranslateKey(WPARAM wParam, LPARAM lParam, int *piScanCode) +int +winTranslateKey(WPARAM wParam, LPARAM lParam) { int iKeyFixup = g_iKeyMap[wParam * WIN_KEYMAP_COLS + 1]; int iKeyFixupEx = g_iKeyMap[wParam * WIN_KEYMAP_COLS + 2]; int iParam = HIWORD(lParam); int iParamScanCode = LOBYTE(iParam); + int iScanCode; winDebug("winTranslateKey: wParam %08x lParam %08x\n", wParam, lParam); @@ -96,23 +97,25 @@ winTranslateKey(WPARAM wParam, LPARAM lParam, int *piScanCode) /* Branch on special extended, special non-extended, or normal key */ if ((iParam & KF_EXTENDED) && iKeyFixupEx) - *piScanCode = iKeyFixupEx; + iScanCode = iKeyFixupEx; else if (iKeyFixup) - *piScanCode = iKeyFixup; + iScanCode = iKeyFixup; else if (wParam == 0 && iParamScanCode == 0x70) - *piScanCode = KEY_HKTG; + iScanCode = KEY_HKTG; else switch (iParamScanCode) { case 0x70: - *piScanCode = KEY_HKTG; + iScanCode = KEY_HKTG; break; case 0x73: - *piScanCode = KEY_BSlash2; + iScanCode = KEY_BSlash2; break; default: - *piScanCode = iParamScanCode; + iScanCode = iParamScanCode; break; } + + return iScanCode; } /* Ring the keyboard bell (system speaker on PCs) */ @@ -264,25 +267,38 @@ winRestoreModeKeyStates(void) /* Check if modifier keys are pressed, and if so, fake a press */ { - BOOL ctrl = (GetAsyncKeyState(VK_CONTROL) < 0); - BOOL shift = (GetAsyncKeyState(VK_SHIFT) < 0); + + BOOL lctrl = (GetAsyncKeyState(VK_LCONTROL) < 0); + BOOL rctrl = (GetAsyncKeyState(VK_RCONTROL) < 0); + BOOL lshift = (GetAsyncKeyState(VK_LSHIFT) < 0); + BOOL rshift = (GetAsyncKeyState(VK_RSHIFT) < 0); BOOL alt = (GetAsyncKeyState(VK_LMENU) < 0); BOOL altgr = (GetAsyncKeyState(VK_RMENU) < 0); - if (ctrl && altgr) - ctrl = FALSE; + /* + If AltGr and CtrlL appear to be pressed, assume the + CtrL is a fake one + */ + if (lctrl && altgr) + lctrl = FALSE; - if (LOGICAL_XOR(internalKeyStates & ControlMask, ctrl)) - winSendKeyEvent(KEY_LCtrl, ctrl); + if (lctrl) + winSendKeyEvent(KEY_LCtrl, TRUE); - if (LOGICAL_XOR(internalKeyStates & ShiftMask, shift)) - winSendKeyEvent(KEY_ShiftL, shift); + if (rctrl) + winSendKeyEvent(KEY_RCtrl, TRUE); - if (LOGICAL_XOR(internalKeyStates & Mod1Mask, alt)) - winSendKeyEvent(KEY_Alt, alt); + if (lshift) + winSendKeyEvent(KEY_ShiftL, TRUE); - if (LOGICAL_XOR(internalKeyStates & Mod5Mask, altgr)) - winSendKeyEvent(KEY_AltLang, altgr); + if (rshift) + winSendKeyEvent(KEY_ShiftL, TRUE); + + if (alt) + winSendKeyEvent(KEY_Alt, TRUE); + + if (altgr) + winSendKeyEvent(KEY_AltLang, TRUE); } /* @@ -313,6 +329,12 @@ winRestoreModeKeyStates(void) winSendKeyEvent(KEY_HKTG, TRUE); winSendKeyEvent(KEY_HKTG, FALSE); } + + /* + For strict correctness, we should also press any non-modifier keys + which are already down when we gain focus, but nobody has complained + yet :-) + */ } /* @@ -328,7 +350,6 @@ winIsFakeCtrl_L(UINT message, WPARAM wParam, LPARAM lParam) Bool fReturn; static Bool lastWasControlL = FALSE; - static UINT lastMessage; static LONG lastTime; /* @@ -352,7 +373,6 @@ winIsFakeCtrl_L(UINT message, WPARAM wParam, LPARAM lParam) if (!fReturn) { lastWasControlL = TRUE; - lastMessage = message; lastTime = lTime; } else { diff --git a/xserver/hw/xwin/winmessages.h b/xserver/hw/xwin/winmessages.h index 3d3fab274..8282f8b06 100644 --- a/xserver/hw/xwin/winmessages.h +++ b/xserver/hw/xwin/winmessages.h @@ -529,7 +529,7 @@ static const char *MESSAGE_NAMES[1024] = { "WM_XBUTTONDOWN", "WM_XBUTTONUP", "WM_XBUTTONDBLCLK", - "526", + "WM_MOUSEHWHEEL", "527", "WM_PARENTNOTIFY", "WM_ENTERMENULOOP", diff --git a/xserver/hw/xwin/winmouse.c b/xserver/hw/xwin/winmouse.c index 9d896c90e..bbe21cba6 100644 --- a/xserver/hw/xwin/winmouse.c +++ b/xserver/hw/xwin/winmouse.c @@ -65,10 +65,10 @@ int winMouseProc(DeviceIntPtr pDeviceInt, int iState) { int lngMouseButtons, i; - int lngWheelEvents = 2; + int lngWheelEvents = 4; CARD8 *map; DevicePtr pDevice = (DevicePtr) pDeviceInt; - Atom *btn_labels; + Atom btn_labels[9]; Atom axes_labels[2]; switch (iState) { @@ -80,15 +80,23 @@ winMouseProc(DeviceIntPtr pDeviceInt, int iState) /* Mapping of windows events to X events: * LEFT:1 MIDDLE:2 RIGHT:3 * SCROLL_UP:4 SCROLL_DOWN:5 - * XBUTTON 1:6 XBUTTON 2:7 ... + * TILT_LEFT:6 TILT_RIGHT:7 + * XBUTTON 1:8 XBUTTON 2:9 (most commonly 'back' and 'forward') + * ... * + * The current Windows API only defines 2 extra buttons, so we don't + * expect more than 5 buttons to be reported, but more than that + * should be handled correctly + */ + + /* * To map scroll wheel correctly we need at least the 3 normal buttons */ if (lngMouseButtons < 3) lngMouseButtons = 3; - /* allocate memory: - * number of buttons + 2x mouse wheel event + 1 extra (offset for map) + /* allocate memory: + * number of buttons + 4 x mouse wheel event + 1 extra (offset for map) */ map = malloc(sizeof(CARD8) * (lngMouseButtons + lngWheelEvents + 1)); @@ -97,12 +105,15 @@ winMouseProc(DeviceIntPtr pDeviceInt, int iState) for (i = 1; i <= lngMouseButtons + lngWheelEvents; i++) map[i] = i; - btn_labels = calloc((lngMouseButtons + lngWheelEvents), sizeof(Atom)); btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT); btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE); btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT); btn_labels[3] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_UP); btn_labels[4] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_DOWN); + btn_labels[5] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_LEFT); + btn_labels[6] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_RIGHT); + btn_labels[7] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_BACK); + btn_labels[8] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_FORWARD); axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X); axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y); @@ -114,7 +125,6 @@ winMouseProc(DeviceIntPtr pDeviceInt, int iState) winMouseCtrl, GetMotionHistorySize(), 2, axes_labels); free(map); - free(btn_labels); g_winMouseButtonMap = pDeviceInt->button->map; break; @@ -135,20 +145,16 @@ winMouseProc(DeviceIntPtr pDeviceInt, int iState) /* Handle the mouse wheel */ int -winMouseWheel(ScreenPtr pScreen, int iDeltaZ) +winMouseWheel(int *iTotalDeltaZ, int iDeltaZ, int iButtonUp, int iButtonDown) { - winScreenPriv(pScreen); - int button; /* Button4 or Button5 */ - - /* Button4 = WheelUp */ - /* Button5 = WheelDown */ + int button; /* Do we have any previous delta stored? */ - if ((pScreenPriv->iDeltaZ > 0 && iDeltaZ > 0) - || (pScreenPriv->iDeltaZ < 0 && iDeltaZ < 0)) { + if ((*iTotalDeltaZ > 0 && iDeltaZ > 0) + || (*iTotalDeltaZ < 0 && iDeltaZ < 0)) { /* Previous delta and of same sign as current delta */ - iDeltaZ += pScreenPriv->iDeltaZ; - pScreenPriv->iDeltaZ = 0; + iDeltaZ += *iTotalDeltaZ; + *iTotalDeltaZ = 0; } else { /* @@ -157,7 +163,7 @@ winMouseWheel(ScreenPtr pScreen, int iDeltaZ) * as blindly setting takes just as much time * as checking, then setting if necessary :) */ - pScreenPriv->iDeltaZ = 0; + *iTotalDeltaZ = 0; } /* @@ -165,7 +171,7 @@ winMouseWheel(ScreenPtr pScreen, int iDeltaZ) * WHEEL_DELTA */ if (iDeltaZ >= WHEEL_DELTA || (-1 * iDeltaZ) >= WHEEL_DELTA) { - pScreenPriv->iDeltaZ = 0; + *iTotalDeltaZ = 0; /* Figure out how many whole deltas of the wheel we have */ iDeltaZ /= WHEEL_DELTA; @@ -176,16 +182,16 @@ winMouseWheel(ScreenPtr pScreen, int iDeltaZ) * we will store the wheel delta until the threshold * has been reached. */ - pScreenPriv->iDeltaZ = iDeltaZ; + *iTotalDeltaZ = iDeltaZ; return 0; } /* Set the button to indicate up or down wheel delta */ if (iDeltaZ > 0) { - button = Button4; + button = iButtonUp; } else { - button = Button5; + button = iButtonDown; } /* diff --git a/xserver/hw/xwin/winmsgwindow.c b/xserver/hw/xwin/winmsgwindow.c new file mode 100644 index 000000000..8067c693c --- /dev/null +++ b/xserver/hw/xwin/winmsgwindow.c @@ -0,0 +1,180 @@ +/* + * Copyright (C) Jon TURNEY 2011 + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#include "win.h" + +/* + * This is the messaging window, a hidden top-level window. We never do anything + * with it, but other programs may send messages to it. + */ + +/* + * winMsgWindowProc - Window procedure for msg window + */ + +static +LRESULT CALLBACK +winMsgWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ +#if CYGDEBUG + winDebugWin32Message("winMsgWindowProc", hwnd, message, wParam, lParam); +#endif + + switch (message) { + case WM_ENDSESSION: + if (!wParam) + return 0; /* shutdown is being cancelled */ + + /* + Send a WM_GIVEUP message to the X server thread so it wakes up if + blocked in select(), performs GiveUp(), and then notices that GiveUp() + has set the DE_TERMINATE flag so exits the msg dispatch loop. + */ + { + ScreenPtr pScreen = screenInfo.screens[0]; + + winScreenPriv(pScreen); + PostMessage(pScreenPriv->hwndScreen, WM_GIVEUP, 0, 0); + } + + /* + This process will be terminated by the system almost immediately + after the last thread with a message queue returns from processing + WM_ENDSESSION, so we cannot rely on any code executing after this + message is processed and need to wait here until ddxGiveUp() is called + and releases the termination mutex to guarantee that the lock file and + unix domain sockets have been removed + + ofc, Microsoft doesn't document this under WM_ENDSESSION, you are supposed + to read the source of CRSS to find out how it works :-) + + http://blogs.msdn.com/b/michen/archive/2008/04/04/application-termination-when-user-logs-off.aspx + */ + { + int iReturn = pthread_mutex_lock(&g_pmTerminating); + + if (iReturn != 0) { + ErrorF("winMsgWindowProc - pthread_mutex_lock () failed: %d\n", + iReturn); + } + winDebug + ("winMsgWindowProc - WM_ENDSESSION termination lock acquired\n"); + } + + return 0; + } + + return DefWindowProc(hwnd, message, wParam, lParam); +} + +static HWND +winCreateMsgWindow(void) +{ + HWND hwndMsg; + wATOM winClass; + + // register window class + { + WNDCLASSEX wcx; + + wcx.cbSize = sizeof(WNDCLASSEX); + wcx.style = CS_HREDRAW | CS_VREDRAW; + wcx.lpfnWndProc = winMsgWindowProc; + wcx.cbClsExtra = 0; + wcx.cbWndExtra = 0; + wcx.hInstance = g_hInstance; + wcx.hIcon = NULL; + wcx.hCursor = 0; + wcx.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); + wcx.lpszMenuName = NULL; + wcx.lpszClassName = WINDOW_CLASS_X_MSG; + wcx.hIconSm = NULL; + winClass = RegisterClassEx(&wcx); + } + + // Create the msg window. + hwndMsg = CreateWindowEx(0, // no extended styles + WINDOW_CLASS_X_MSG, // class name + "XWin Msg Window", // window name + WS_OVERLAPPEDWINDOW, // overlapped window + CW_USEDEFAULT, // default horizontal position + CW_USEDEFAULT, // default vertical position + CW_USEDEFAULT, // default width + CW_USEDEFAULT, // default height + (HWND) NULL, // no parent or owner window + (HMENU) NULL, // class menu used + GetModuleHandle(NULL), // instance handle + NULL); // no window creation data + + if (!hwndMsg) { + ErrorF("winCreateMsgWindow - Create msg window failed\n"); + return NULL; + } + + winDebug("winCreateMsgWindow - Created msg window hwnd 0x%x\n", hwndMsg); + + return hwndMsg; +} + +static void * +winMsgWindowThreadProc(void *arg) +{ + HWND hwndMsg; + + winDebug("winMsgWindowThreadProc - Hello\n"); + + hwndMsg = winCreateMsgWindow(); + if (hwndMsg) { + MSG msg; + + /* Pump the msg window message queue */ + while (GetMessage(&msg, hwndMsg, 0, 0) > 0) { +#if CYGDEBUG + winDebugWin32Message("winMsgWindowThread", msg.hwnd, msg.message, + msg.wParam, msg.lParam); +#endif + DispatchMessage(&msg); + } + } + + winDebug("winMsgWindowThreadProc - Exit\n"); + + return NULL; +} + +Bool +winCreateMsgWindowThread(void) +{ + pthread_t ptMsgWindowThreadProc; + + /* Spawn a thread for the msg window */ + if (pthread_create(&ptMsgWindowThreadProc, + NULL, winMsgWindowThreadProc, NULL)) { + /* Bail if thread creation failed */ + ErrorF("winCreateMsgWindow - pthread_create failed.\n"); + return FALSE; + } + + return TRUE; +} diff --git a/xserver/hw/xwin/winmultiwindowclass.c b/xserver/hw/xwin/winmultiwindowclass.c index 1af104df9..6787332a3 100644 --- a/xserver/hw/xwin/winmultiwindowclass.c +++ b/xserver/hw/xwin/winmultiwindowclass.c @@ -68,7 +68,12 @@ winMultiWindowGetClassHint(WindowPtr pWin, char **res_name, char **res_class) while (prop) { if (prop->propertyName == XA_WM_CLASS && prop->type == XA_STRING && prop->format == 8 && prop->data) { + /* + WM_CLASS property should consist of 2 null terminated strings, but we + must handle the cases when one or both is absent or not null terminated + */ len_name = strlen((char *) prop->data); + if (len_name > prop->size) len_name = prop->size; (*res_name) = malloc(len_name + 1); @@ -77,13 +82,13 @@ winMultiWindowGetClassHint(WindowPtr pWin, char **res_name, char **res_class) return 0; } - /* Add one to len_name to allow copying of trailing 0 */ - strncpy((*res_name), prop->data, len_name + 1); + /* Copy name and ensure null terminated */ + strncpy((*res_name), prop->data, len_name); + (*res_name)[len_name] = '\0'; - if (len_name == prop->size) - len_name--; - - len_class = strlen(((char *) prop->data) + 1 + len_name); + /* Compute length of class name, it could be that it is absent or not null terminated */ + len_class = (len_name >= prop->size) ? 0 : (strlen(((char *) prop->data) + 1 + len_name)); + if (len_class > prop->size - 1 - len_name) len_class = prop->size - 1 - len_name; (*res_class) = malloc(len_class + 1); @@ -95,7 +100,9 @@ winMultiWindowGetClassHint(WindowPtr pWin, char **res_name, char **res_class) return 0; } - strcpy((*res_class), ((char *) prop->data) + 1 + len_name); + /* Copy class name and ensure null terminated */ + strncpy((*res_class), ((char *) prop->data) + 1 + len_name, len_class); + (*res_class)[len_class] = '\0'; return 1; } @@ -213,7 +220,7 @@ winMultiWindowGetWMNormalHints(WindowPtr pWin, WinXSizeHints * hints) } int -winMultiWindowGetTransientFor(WindowPtr pWin, WindowPtr *ppDaddy) +winMultiWindowGetTransientFor(WindowPtr pWin, Window *pDaddyId) { struct _Window *pwin; struct _Property *prop; @@ -230,13 +237,13 @@ winMultiWindowGetTransientFor(WindowPtr pWin, WindowPtr *ppDaddy) else prop = NULL; - if (ppDaddy) - *ppDaddy = NULL; + if (pDaddyId) + *pDaddyId = 0; while (prop) { if (prop->propertyName == XA_WM_TRANSIENT_FOR) { - if (ppDaddy) - memcpy(ppDaddy, prop->data, sizeof(WindowPtr)); + if (pDaddyId) + memcpy(pDaddyId, prop->data, sizeof(Window)); return 1; } else diff --git a/xserver/hw/xwin/winmultiwindowclass.h b/xserver/hw/xwin/winmultiwindowclass.h index 0e3465c78..3244f78e3 100644 --- a/xserver/hw/xwin/winmultiwindowclass.h +++ b/xserver/hw/xwin/winmultiwindowclass.h @@ -118,6 +118,6 @@ int winMultiWindowGetWMName(WindowPtr pWin, char **wmName); int - winMultiWindowGetTransientFor(WindowPtr pWin, WindowPtr *ppDaddy); + winMultiWindowGetTransientFor(WindowPtr pWin, Window *ppDaddy); #endif diff --git a/xserver/hw/xwin/winmultiwindowicons.c b/xserver/hw/xwin/winmultiwindowicons.c index 0322d9816..0531ad6c7 100644 --- a/xserver/hw/xwin/winmultiwindowicons.c +++ b/xserver/hw/xwin/winmultiwindowicons.c @@ -257,6 +257,10 @@ NetWMToWinIconAlpha(uint32_t * icon) DIB_RGB_COLORS, (void **) &DIB_pixels, NULL, 0); ReleaseDC(NULL, hdc); + + if (!ii.hbmColor) + return NULL; + ii.hbmMask = CreateBitmap(width, height, 1, 1, NULL); memcpy(DIB_pixels, pixels, height * width * 4); @@ -624,7 +628,7 @@ winDestroyIcon(HICON hIcon) /* Delete the icon if its not one of the application defaults or an override */ if (hIcon && hIcon != g_hIconX && - hIcon != g_hSmallIconX && !winIconIsOverride((unsigned long) hIcon)) + hIcon != g_hSmallIconX && !winIconIsOverride(hIcon)) DestroyIcon(hIcon); } #endif diff --git a/xserver/hw/xwin/winmultiwindowwindow.c b/xserver/hw/xwin/winmultiwindowwindow.c index c0c7db2b7..44ad19302 100644 --- a/xserver/hw/xwin/winmultiwindowwindow.c +++ b/xserver/hw/xwin/winmultiwindowwindow.c @@ -486,7 +486,7 @@ winCreateWindowsWindow(WindowPtr pWin) winWindowPriv(pWin); winPrivScreenPtr pScreenPriv = pWinPriv->pScreenPriv; WinXSizeHints hints; - WindowPtr pDaddy; + Window daddyId; DWORD dwStyle, dwExStyle; RECT rc; @@ -516,10 +516,10 @@ winCreateWindowsWindow(WindowPtr pWin) winDebug("winCreateWindowsWindow - %dx%d @ %dx%d\n", iWidth, iHeight, iX, iY); - if (winMultiWindowGetTransientFor(pWin, &pDaddy)) { - if (pDaddy) { + if (winMultiWindowGetTransientFor(pWin, &daddyId)) { + if (daddyId) { hFore = GetForegroundWindow(); - if (hFore && (pDaddy != (WindowPtr) GetProp(hFore, WIN_WID_PROP))) + if (hFore && (daddyId != (Window) (INT_PTR) GetProp(hFore, WIN_WID_PROP))) hFore = NULL; } } @@ -593,7 +593,7 @@ winCreateWindowsWindow(WindowPtr pWin) /* Cause any .XWinrc menus to be added in main WNDPROC */ PostMessage(hWnd, WM_INIT_SYS_MENU, 0, 0); - SetProp(hWnd, WIN_WID_PROP, (HANDLE) winGetWindowID(pWin)); + SetProp(hWnd, WIN_WID_PROP, (HANDLE) (INT_PTR) winGetWindowID(pWin)); /* Flag that this Windows window handles its own activation */ SetProp(hWnd, WIN_NEEDMANAGE_PROP, (HANDLE) 0); @@ -808,7 +808,6 @@ winMinimizeWindow(Window id) HWND hWnd; ScreenPtr pScreen = NULL; winPrivScreenPtr pScreenPriv = NULL; - winScreenInfo *pScreenInfo = NULL; #if CYGWINDOWING_DEBUG ErrorF("winMinimizeWindow\n"); @@ -824,11 +823,9 @@ winMinimizeWindow(Window id) pScreen = pWin->drawable.pScreen; if (pScreen) pScreenPriv = winGetScreenPriv(pScreen); - if (pScreenPriv) - pScreenInfo = pScreenPriv->pScreenInfo; #ifdef XWIN_MULTIWINDOWEXTWM - if (pScreenPriv && pScreenInfo->fInternalWM) { + if (pScreenPriv && pScreenPriv->pScreenInfo->fInternalWM) { pRLWinPriv = (win32RootlessWindowPtr) RootlessFrameForWindow(pWin, FALSE); hWnd = pRLWinPriv->hWnd; diff --git a/xserver/hw/xwin/winmultiwindowwm.c b/xserver/hw/xwin/winmultiwindowwm.c index 4f6dec78b..1dd8ba5b3 100644 --- a/xserver/hw/xwin/winmultiwindowwm.c +++ b/xserver/hw/xwin/winmultiwindowwm.c @@ -488,7 +488,7 @@ getHwnd(WMInfoPtr pWMInfo, Window iWindow) iWindow, pWMInfo->atmPrivMap, 0, - 1, + sizeof(HWND)/4, False, XA_INTEGER, &atmType, @@ -747,10 +747,10 @@ winMultiWindowWMProc(void *pArg) ErrorF("\tWM_WM_MAP\n"); #endif /* Put a note as to the HWND associated with this Window */ - XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap, + XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, 32, PropModeReplace, - (unsigned char *) &(pNode->msg.hwndWindow), 1); + (unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4); UpdateName(pWMInfo, pNode->msg.iWindow); UpdateIcon(pWMInfo, pNode->msg.iWindow); break; @@ -759,10 +759,10 @@ winMultiWindowWMProc(void *pArg) #if CYGMULTIWINDOW_DEBUG ErrorF("\tWM_WM_MAP2\n"); #endif - XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap, + XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, 32, PropModeReplace, - (unsigned char *) &(pNode->msg.hwndWindow), 1); + (unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4); break; case WM_WM_MAP3: @@ -770,10 +770,10 @@ winMultiWindowWMProc(void *pArg) ErrorF("\tWM_WM_MAP3\n"); #endif /* Put a note as to the HWND associated with this Window */ - XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap, + XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, 32, PropModeReplace, - (unsigned char *) &(pNode->msg.hwndWindow), 1); + (unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4); UpdateName(pWMInfo, pNode->msg.iWindow); UpdateIcon(pWMInfo, pNode->msg.iWindow); UpdateStyle(pWMInfo, pNode->msg.iWindow); @@ -1061,15 +1061,13 @@ winMultiWindowXMsgProc(void *pArg) (pProcArg->pDisplay, pProcArg->dwScreen, TRUE)) { if (!g_fAnotherWMRunning) { g_fAnotherWMRunning = TRUE; - SendMessage(*(HWND *) pProcArg->hwndScreen, WM_UNMANAGE, 0, - 0); + SendMessage(pProcArg->hwndScreen, WM_UNMANAGE, 0, 0); } } else { if (g_fAnotherWMRunning) { g_fAnotherWMRunning = FALSE; - SendMessage(*(HWND *) pProcArg->hwndScreen, WM_MANAGE, 0, - 0); + SendMessage(pProcArg->hwndScreen, WM_MANAGE, 0, 0); } } Sleep(500); @@ -1470,7 +1468,7 @@ winMultiWindowWMErrorHandler(Display * pDisplay, XErrorEvent * pErr) static int winMultiWindowWMIOErrorHandler(Display * pDisplay) { - ErrorF("winMultiWindowWMIOErrorHandler!\n\n"); + ErrorF("winMultiWindowWMIOErrorHandler!\n"); if (pthread_equal(pthread_self(), g_winMultiWindowWMThread)) { if (g_shutdown) @@ -1510,7 +1508,7 @@ winMultiWindowXMsgProcErrorHandler(Display * pDisplay, XErrorEvent * pErr) static int winMultiWindowXMsgProcIOErrorHandler(Display * pDisplay) { - ErrorF("winMultiWindowXMsgProcIOErrorHandler!\n\n"); + ErrorF("winMultiWindowXMsgProcIOErrorHandler!\n"); if (pthread_equal(pthread_self(), g_winMultiWindowXMsgProcThread)) { /* Restart at the main entry point */ @@ -1626,23 +1624,27 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle) } if (XGetWindowProperty(pDisplay, iWindow, windowState, 0L, - 1L, False, XA_ATOM, &type, &format, + MAXINT, False, XA_ATOM, &type, &format, &nitems, &left, (unsigned char **) &pAtom) == Success) { - if (pAtom && nitems == 1) { - if (*pAtom == skiptaskbarState) - hint |= HINT_SKIPTASKBAR; - if (*pAtom == hiddenState) - maxmin |= HINT_MIN; - else if (*pAtom == fullscreenState) - maxmin |= HINT_MAX; - if (*pAtom == belowState) - *zstyle = HWND_BOTTOM; - else if (*pAtom == aboveState) - *zstyle = HWND_TOPMOST; - } - if (pAtom) + if (pAtom ) { + unsigned long i; + + for (i = 0; i < nitems; i++) { + if (pAtom[i] == skiptaskbarState) + hint |= HINT_SKIPTASKBAR; + if (pAtom[i] == hiddenState) + maxmin |= HINT_MIN; + else if (pAtom[i] == fullscreenState) + maxmin |= HINT_MAX; + if (pAtom[i] == belowState) + *zstyle = HWND_BOTTOM; + else if (pAtom[i] == aboveState) + *zstyle = HWND_TOPMOST; + } + XFree(pAtom); + } } nitems = left = 0; diff --git a/xserver/hw/xwin/winmultiwindowwndproc.c b/xserver/hw/xwin/winmultiwindowwndproc.c index 0e46ea7fe..abb87ee4b 100644 --- a/xserver/hw/xwin/winmultiwindowwndproc.c +++ b/xserver/hw/xwin/winmultiwindowwndproc.c @@ -343,7 +343,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) /* */ wmMsg.msg = 0; wmMsg.hwndWindow = hwnd; - wmMsg.iWindow = (Window) GetProp(hwnd, WIN_WID_PROP); + wmMsg.iWindow = (Window) (INT_PTR) GetProp(hwnd, WIN_WID_PROP); wmMsg.iX = pDraw->x; wmMsg.iY = pDraw->y; @@ -391,8 +391,8 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) /* */ SetProp(hwnd, WIN_WID_PROP, - (HANDLE) winGetWindowID(((LPCREATESTRUCT) lParam)-> - lpCreateParams)); + (HANDLE) (INT_PTR) winGetWindowID(((LPCREATESTRUCT) lParam)-> + lpCreateParams)); /* * Make X windows' Z orders sync with Windows windows because @@ -420,14 +420,14 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) /* * Add whatever the setup file wants to for this window */ - SetupSysMenu((unsigned long) hwnd); + SetupSysMenu(hwnd); return 0; case WM_SYSCOMMAND: /* * Any window menu items go through here */ - if (HandleCustomWM_COMMAND((unsigned long) hwnd, LOWORD(wParam))) { + if (HandleCustomWM_COMMAND(hwnd, LOWORD(wParam))) { /* Don't pass customized menus to DefWindowProc */ return 0; } @@ -443,7 +443,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) case WM_INITMENU: /* Checks/Unchecks any menu items before they are displayed */ - HandleCustomWM_INITMENU((unsigned long) hwnd, wParam); + HandleCustomWM_INITMENU(hwnd, (HMENU)wParam); break; case WM_ERASEBKGND: @@ -661,7 +661,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput) break; SetCapture(hwnd); - return winMouseButtonsHandle(s_pScreen, ButtonPress, HIWORD(wParam) + 5, + return winMouseButtonsHandle(s_pScreen, ButtonPress, HIWORD(wParam) + 7, wParam); case WM_XBUTTONUP: @@ -670,7 +670,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) ReleaseCapture(); winStartMousePolling(s_pScreenPriv); return winMouseButtonsHandle(s_pScreen, ButtonRelease, - HIWORD(wParam) + 5, wParam); + HIWORD(wParam) + 7, wParam); case WM_MOUSEWHEEL: if (SendMessage @@ -684,6 +684,18 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) else break; + case WM_MOUSEHWHEEL: + if (SendMessage + (hwnd, WM_NCHITTEST, 0, + MAKELONG(GET_X_LPARAM(lParam), + GET_Y_LPARAM(lParam))) == HTCLIENT) { + /* Pass the message to the root window */ + SendMessage(hwndScreen, message, wParam, lParam); + return 0; + } + else + break; + case WM_SETFOCUS: if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput) break; @@ -813,7 +825,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } /* Prevent the mouse wheel from stalling when another window is minimized */ if (HIWORD(wParam) == 0 && LOWORD(wParam) == WA_ACTIVE && - (HWND) lParam != NULL && (HWND) lParam != (HWND) GetParent(hwnd)) + (HWND) lParam != NULL && (HWND) lParam != GetParent(hwnd)) SetFocus(hwnd); return 0; diff --git a/xserver/hw/xwin/winpfbdd.c b/xserver/hw/xwin/winpfbdd.c index ee6ea7290..f87000726 100644 --- a/xserver/hw/xwin/winpfbdd.c +++ b/xserver/hw/xwin/winpfbdd.c @@ -514,8 +514,6 @@ static Bool winHotKeyAltTabPrimaryDD(ScreenPtr pScreen) { winScreenPriv(pScreen); - winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; - RECT rcClient, rcSrc; HRESULT ddrval = DD_OK; ErrorF("\nwinHotKeyAltTabPrimaryDD\n\n"); @@ -527,11 +525,6 @@ winHotKeyAltTabPrimaryDD(ScreenPtr pScreen) if (pScreenPriv->pddsPrimary == NULL || pScreenPriv->pddsOffscreen == NULL) return FALSE; - /* Get client area in screen coords */ - GetClientRect(pScreenPriv->hwndScreen, &rcClient); - MapWindowPoints(pScreenPriv->hwndScreen, - HWND_DESKTOP, (LPPOINT) &rcClient, 2); - /* Did we loose the primary surface? */ ddrval = IDirectDrawSurface2_IsLost(pScreenPriv->pddsPrimary); if (ddrval == DD_OK) { @@ -541,12 +534,6 @@ winHotKeyAltTabPrimaryDD(ScreenPtr pScreen) "surface\n"); } - /* Setup a source rectangle */ - rcSrc.left = 0; - rcSrc.top = 0; - rcSrc.right = pScreenInfo->dwWidth; - rcSrc.bottom = pScreenInfo->dwHeight; - /* Blit the primary surface to the offscreen surface */ ddrval = IDirectDrawSurface2_Blt(pScreenPriv->pddsOffscreen, NULL, /* should be rcDest */ pScreenPriv->pddsPrimary, diff --git a/xserver/hw/xwin/winprefs.c b/xserver/hw/xwin/winprefs.c index 6cbd7ad80..f386facdd 100644 --- a/xserver/hw/xwin/winprefs.c +++ b/xserver/hw/xwin/winprefs.c @@ -181,14 +181,14 @@ ReloadEnumWindowsProc(HWND hwnd, LPARAM lParam) wmMsg.msg = WM_WM_ICON_EVENT; wmMsg.hwndWindow = hwnd; - wmMsg.iWindow = (Window) GetProp(hwnd, WIN_WID_PROP); + wmMsg.iWindow = (Window) (INT_PTR) GetProp(hwnd, WIN_WID_PROP); winSendMessageToWM(s_pScreenPriv->pWMInfo, &wmMsg); } } /* Update the system menu for this window */ - SetupSysMenu((unsigned long) hwnd); + SetupSysMenu(hwnd); /* That was easy... */ } @@ -275,15 +275,11 @@ ReloadPrefs(void) * Check/uncheck the ALWAYSONTOP items in this menu */ void -HandleCustomWM_INITMENU(unsigned long hwndIn, unsigned long hmenuIn) +HandleCustomWM_INITMENU(HWND hwnd, HMENU hmenu) { - HWND hwnd; - HMENU hmenu; DWORD dwExStyle; int i, j; - hwnd = (HWND) hwndIn; - hmenu = (HMENU) hmenuIn; if (!hwnd || !hmenu) return; @@ -305,15 +301,12 @@ HandleCustomWM_INITMENU(unsigned long hwndIn, unsigned long hmenuIn) * Return TRUE if command is proccessed, FALSE otherwise. */ Bool -HandleCustomWM_COMMAND(unsigned long hwndIn, int command) +HandleCustomWM_COMMAND(HWND hwnd, int command) { - HWND hwnd; int i, j; MENUPARSED *m; DWORD dwExStyle; - hwnd = (HWND) hwndIn; - if (!command) return FALSE; @@ -412,15 +405,13 @@ HandleCustomWM_COMMAND(unsigned long hwndIn, int command) * Add the default or a custom menu depending on the class match */ void -SetupSysMenu(unsigned long hwndIn) +SetupSysMenu(HWND hwnd) { - HWND hwnd; HMENU sys; int i; WindowPtr pWin; char *res_name, *res_class; - hwnd = (HWND) hwndIn; if (!hwnd) return; @@ -465,11 +456,8 @@ SetupSysMenu(unsigned long hwndIn) * Possibly add a menu to the toolbar icon */ void -SetupRootMenu(unsigned long hmenuRoot) +SetupRootMenu(HMENU root) { - HMENU root; - - root = (HMENU) hmenuRoot; if (!root) return; @@ -617,13 +605,10 @@ winOverrideIcon(char *res_name, char *res_class, char *wmName) * ICONS{} overrides)? */ int -winIconIsOverride(unsigned hiconIn) +winIconIsOverride(HICON hicon) { - HICON hicon; int i; - hicon = (HICON) hiconIn; - if (!hicon) return 0; diff --git a/xserver/hw/xwin/winprefs.h b/xserver/hw/xwin/winprefs.h index 5de5719e1..8f4eb0807 100644 --- a/xserver/hw/xwin/winprefs.h +++ b/xserver/hw/xwin/winprefs.h @@ -150,19 +150,19 @@ void LoadPreferences(void); void - SetupRootMenu(unsigned long hmenuRoot); + SetupRootMenu(HMENU root); void - SetupSysMenu(unsigned long hwndIn); + SetupSysMenu(HWND hwnd); void - HandleCustomWM_INITMENU(unsigned long hwndIn, unsigned long hmenuIn); + HandleCustomWM_INITMENU(HWND hwnd, HMENU hmenu); Bool - HandleCustomWM_COMMAND(unsigned long hwndIn, int command); + HandleCustomWM_COMMAND(HWND hwnd, int command); int - winIconIsOverride(unsigned hiconIn); + winIconIsOverride(HICON hicon); HICON winOverrideIcon(char *res_name, char *res_class, char *wmName); diff --git a/xserver/hw/xwin/winscrinit.c b/xserver/hw/xwin/winscrinit.c index e776bdba6..23152cbd2 100644 --- a/xserver/hw/xwin/winscrinit.c +++ b/xserver/hw/xwin/winscrinit.c @@ -259,7 +259,6 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv) winScreenPriv(pScreen); winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; VisualPtr pVisual = NULL; - char *pbits = NULL; #if defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW) int iReturn; @@ -293,9 +292,6 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv) return FALSE; } - /* Setup a local variable to point to the framebuffer */ - pbits = pScreenInfo->pfb; - /* Apparently we need this for the render extension */ miSetPixmapDepths(); @@ -707,7 +703,7 @@ winFinishScreenInitNativeGDI(int i, pScreenPriv->fEnabled = TRUE; ErrorF("winFinishScreenInitNativeGDI - Successful addition of " - "screen %08x\n", (unsigned int) pScreen); + "screen %p\n", pScreen); return TRUE; } diff --git a/xserver/hw/xwin/winsetsp.c b/xserver/hw/xwin/winsetsp.c index f102f9ff5..11108cb53 100644 --- a/xserver/hw/xwin/winsetsp.c +++ b/xserver/hw/xwin/winsetsp.c @@ -46,7 +46,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable, PixmapPtr pPixmap = NULL; winPrivPixmapPtr pPixmapPriv = NULL; HBITMAP hbmpOrig = NULL; - BITMAPINFO bmi; + BITMAPINFO *pbmi; HRGN hrgn = NULL, combined = NULL; int nbox; BoxPtr pbox; @@ -57,6 +57,8 @@ winSetSpansNativeGDI(DrawablePtr pDrawable, if (!nbox) return; + pbmi = malloc(sizeof(BITMAPINFO) + sizeof(RGBQUAD)); + combined = CreateRectRgn(pbox->x1, pbox->y1, pbox->x2, pbox->y2); nbox--; pbox++; @@ -86,19 +88,20 @@ winSetSpansNativeGDI(DrawablePtr pDrawable, "failed on pPixmapPriv->hBitmap\n"); while (iSpans--) { - ZeroMemory(&bmi, sizeof(BITMAPINFO)); - bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); - bmi.bmiHeader.biWidth = *piWidths; - bmi.bmiHeader.biHeight = 1; - bmi.bmiHeader.biPlanes = 1; - bmi.bmiHeader.biBitCount = pDrawable->depth; - bmi.bmiHeader.biCompression = BI_RGB; + ZeroMemory(pbmi, sizeof(BITMAPINFO)); + pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + pbmi->bmiHeader.biWidth = *piWidths; + pbmi->bmiHeader.biHeight = 1; + pbmi->bmiHeader.biPlanes = 1; + pbmi->bmiHeader.biBitCount = pDrawable->depth; + pbmi->bmiHeader.biCompression = BI_RGB; /* Setup color table for mono DIBs */ if (pDrawable->depth == 1) { - bmi.bmiColors[1].rgbBlue = 255; - bmi.bmiColors[1].rgbGreen = 255; - bmi.bmiColors[1].rgbRed = 255; + RGBQUAD *bmiColors = &(pbmi->bmiColors[0]); + bmiColors[1].rgbBlue = 255; + bmiColors[1].rgbGreen = 255; + bmiColors[1].rgbRed = 255; } StretchDIBits(pGCPriv->hdcMem, @@ -107,7 +110,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable, 0, 0, *piWidths, 1, pSrcs, - (BITMAPINFO *) &bmi, + (BITMAPINFO *) pbmi, DIB_RGB_COLORS, g_copyROP[pGC->alu]); pSrcs += PixmapBytePad(*piWidths, pDrawable->depth); @@ -129,19 +132,20 @@ winSetSpansNativeGDI(DrawablePtr pDrawable, combined = NULL; while (iSpans--) { - ZeroMemory(&bmi, sizeof(BITMAPINFO)); - bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); - bmi.bmiHeader.biWidth = *piWidths; - bmi.bmiHeader.biHeight = 1; - bmi.bmiHeader.biPlanes = 1; - bmi.bmiHeader.biBitCount = pDrawable->depth; - bmi.bmiHeader.biCompression = BI_RGB; + ZeroMemory(pbmi, sizeof(BITMAPINFO)); + pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + pbmi->bmiHeader.biWidth = *piWidths; + pbmi->bmiHeader.biHeight = 1; + pbmi->bmiHeader.biPlanes = 1; + pbmi->bmiHeader.biBitCount = pDrawable->depth; + pbmi->bmiHeader.biCompression = BI_RGB; /* Setup color table for mono DIBs */ if (pDrawable->depth == 1) { - bmi.bmiColors[1].rgbBlue = 255; - bmi.bmiColors[1].rgbGreen = 255; - bmi.bmiColors[1].rgbRed = 255; + RGBQUAD *bmiColors = &(pbmi->bmiColors[0]); + bmiColors[1].rgbBlue = 255; + bmiColors[1].rgbGreen = 255; + bmiColors[1].rgbRed = 255; } StretchDIBits(pGCPriv->hdc, @@ -150,7 +154,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable, 0, 0, *piWidths, 1, pSrcs, - (BITMAPINFO *) &bmi, + (BITMAPINFO *) pbmi, DIB_RGB_COLORS, g_copyROP[pGC->alu]); pSrcs += PixmapBytePad(*piWidths, pDrawable->depth); @@ -166,4 +170,6 @@ winSetSpansNativeGDI(DrawablePtr pDrawable, FatalError("\nwinSetSpansNativeGDI - Unknown drawable type\n\n"); break; } + + free(pbmi); } diff --git a/xserver/hw/xwin/wintrayicon.c b/xserver/hw/xwin/wintrayicon.c index f168b884a..e0aa7e5ab 100644 --- a/xserver/hw/xwin/wintrayicon.c +++ b/xserver/hw/xwin/wintrayicon.c @@ -170,7 +170,7 @@ winHandleIconMessage(HWND hwnd, UINT message, RemoveMenu(hmenuTray, ID_APP_HIDE_ROOT, MF_BYCOMMAND); } - SetupRootMenu((unsigned long) hmenuTray); + SetupRootMenu(hmenuTray); /* * NOTE: This three-step procedure is required for diff --git a/xserver/hw/xwin/winwin32rootless.c b/xserver/hw/xwin/winwin32rootless.c index 210fea3fa..724976a84 100644 --- a/xserver/hw/xwin/winwin32rootless.c +++ b/xserver/hw/xwin/winwin32rootless.c @@ -312,8 +312,8 @@ winMWExtWMCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, } #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMCreateFrame - (%08x) %08x\n", - (int) pFrame->wid, (int) pRLWinPriv->hWnd); + winDebug("winMWExtWMCreateFrame - (%p) %p\n", + pFrame->wid, pRLWinPriv->hWnd); #if 0 { WindowPtr pWin2 = NULL; @@ -350,8 +350,8 @@ winMWExtWMDestroyFrame(RootlessFrameID wid) char pszClass[CLASS_NAME_LENGTH]; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMDestroyFrame (%08x) %08x\n", - (int) pRLWinPriv, (int) pRLWinPriv->hWnd); + winDebug("winMWExtWMDestroyFrame (%p) %p\n", + pRLWinPriv, pRLWinPriv->hWnd); #if 0 { WindowPtr pWin2 = NULL; @@ -416,7 +416,7 @@ winMWExtWMMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int iNewX, int iX, iY, iWidth, iHeight; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMMoveFrame (%08x) (%d %d)\n", (int) pRLWinPriv, iNewX, + winDebug("winMWExtWMMoveFrame (%p) (%d %d)\n", pRLWinPriv, iNewX, iNewY); #endif @@ -456,7 +456,7 @@ winMWExtWMMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int iNewX, SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOZORDER); g_fNoConfigureWindow = FALSE; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMMoveFrame (%08x) done\n", (int) pRLWinPriv); + winDebug("winMWExtWMMoveFrame (%p) done\n", pRLWinPriv); #endif } @@ -474,8 +474,8 @@ winMWExtWMResizeFrame(RootlessFrameID wid, ScreenPtr pScreen, int iX, iY; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMResizeFrame (%08x) (%d %d)-(%d %d)\n", - (int) pRLWinPriv, iNewX, iNewY, uiNewWidth, uiNewHeight); + winDebug("winMWExtWMResizeFrame (%p) (%d %d)-(%d %d)\n", + pRLWinPriv, iNewX, iNewY, uiNewWidth, uiNewHeight); #endif pRLWinPriv->fResized = TRUE; @@ -526,7 +526,7 @@ winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid) Bool fNeedRestack = TRUE; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMRestackFrame (%08x)\n", (int) pRLWinPriv); + winDebug("winMWExtWMRestackFrame (%p)\n", pRLWinPriv); #endif if (pScreenPriv && pScreenPriv->fRestacking) @@ -612,7 +612,7 @@ winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid) 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); } #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMRestackFrame - done (%08x)\n", (int) pRLWinPriv); + winDebug("winMWExtWMRestackFrame - done (%p)\n", pRLWinPriv); #endif pRLWinPriv->fRestackingNow = FALSE; @@ -626,7 +626,7 @@ winMWExtWMReshapeFrame(RootlessFrameID wid, RegionPtr pShape) RECT rcWindow, rcClient; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMReshapeFrame (%08x)\n", (int) pRLWinPriv); + winDebug("winMWExtWMReshapeFrame (%p)\n", pRLWinPriv); #endif hRgn = winMWExtWMCreateRgnFromRegion(pShape); @@ -655,7 +655,7 @@ winMWExtWMUnmapFrame(RootlessFrameID wid) win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) wid; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMUnmapFrame (%08x)\n", (int) pRLWinPriv); + winDebug("winMWExtWMUnmapFrame (%p)\n", pRLWinPriv); #endif g_fNoConfigureWindow = TRUE; @@ -680,7 +680,7 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) HBITMAP hbmpNew; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMStartDrawing (%08x) %08x\n", (int) pRLWinPriv, + winDebug("winMWExtWMStartDrawing (%p) %08x\n", pRLWinPriv, pRLWinPriv->fDestroyed); #endif @@ -692,8 +692,8 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) pScreenInfo = pScreenPriv->pScreenInfo; #if CYGMULTIWINDOW_DEBUG - winDebug("\tpScreenPriv %08X\n", (int) pScreenPriv); - winDebug("\tpScreenInfo %08X\n", (int) pScreenInfo); + winDebug("\tpScreenPriv %p\n", pScreenPriv); + winDebug("\tpScreenInfo %p\n", pScreenInfo); winDebug("\t(%d, %d)\n", (int) pRLWinPriv->pFrame->width, (int) pRLWinPriv->pFrame->height); #endif @@ -808,9 +808,9 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) ErrorF("winMWExtWMStartDrawing - Already window was destroyed \n"); } #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMStartDrawing - done (0x%08x) 0x%08x %d\n", - (int) pRLWinPriv, - (unsigned int) pRLWinPriv->pfb, + winDebug("winMWExtWMStartDrawing - done (%p) %p %d\n", + pRLWinPriv, + pRLWinPriv->pfb, (unsigned int) pRLWinPriv->dwWidthBytes); #endif *pixelData = pRLWinPriv->pfb; @@ -924,8 +924,8 @@ winMWExtWMRootlessSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin) win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) pFrame->wid; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMRootlessSwitchWindow (%08x) %08x\n", - (int) pRLWinPriv, (int) pRLWinPriv->hWnd); + winDebug("winMWExtWMRootlessSwitchWindow (%p) %p\n", + pRLWinPriv, pRLWinPriv->hWnd); #endif pRLWinPriv->pFrame = pFrame; pRLWinPriv->fResized = TRUE; @@ -979,8 +979,8 @@ winMWExtWMCopyWindow(RootlessFrameID wid, int nDstRects, RECT rcDmg; #if CYGMULTIWINDOW_DEBUG - winDebug("winMWExtWMCopyWindow (%08x, %d, %08x, %d, %d)\n", - (int) pRLWinPriv, nDstRects, (int) pDstRects, nDx, nDy); + winDebug("winMWExtWMCopyWindow (%p, %d, %p, %d, %d)\n", + pRLWinPriv, nDstRects, pDstRects, nDx, nDy); #endif for (pEnd = pDstRects + nDstRects; pDstRects < pEnd; pDstRects++) { diff --git a/xserver/hw/xwin/winwin32rootlesswindow.c b/xserver/hw/xwin/winwin32rootlesswindow.c index f2d68cb46..1faa531df 100644 --- a/xserver/hw/xwin/winwin32rootlesswindow.c +++ b/xserver/hw/xwin/winwin32rootlesswindow.c @@ -186,7 +186,6 @@ winMWExtWMUpdateWindowDecoration(win32RootlessWindowPtr pRLWinPriv, { Bool fDecorate = FALSE; DWORD dwExStyle = 0; - DWORD dwStyle = 0; WINDOWPLACEMENT wndPlace; UINT showCmd = 0; @@ -214,12 +213,11 @@ winMWExtWMUpdateWindowDecoration(win32RootlessWindowPtr pRLWinPriv, showCmd |= SWP_NOMOVE | SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOZORDER; - winDebug("winMWExtWMUpdateWindowDecoration %08x %s\n", - (int) pRLWinPriv, fDecorate ? "Decorate" : "Bare"); + winDebug("winMWExtWMUpdateWindowDecoration %p %s\n", + pRLWinPriv, fDecorate ? "Decorate" : "Bare"); - /* Get the standard and extended window style information */ + /* Get the extended window style information */ dwExStyle = GetWindowLongPtr(pRLWinPriv->hWnd, GWL_EXSTYLE); - dwStyle = GetWindowLongPtr(pRLWinPriv->hWnd, GWL_STYLE); if (fDecorate) { RECT rcNew; diff --git a/xserver/hw/xwin/winwin32rootlesswndproc.c b/xserver/hw/xwin/winwin32rootlesswndproc.c index 13df18677..001d0d2fc 100644 --- a/xserver/hw/xwin/winwin32rootlesswndproc.c +++ b/xserver/hw/xwin/winwin32rootlesswndproc.c @@ -649,13 +649,13 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) break; SetCapture(hwnd); - return winMouseButtonsHandle(pScreen, ButtonPress, HIWORD(wParam) + 5, + return winMouseButtonsHandle(pScreen, ButtonPress, HIWORD(wParam) + 7, wParam); case WM_XBUTTONUP: if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) break; ReleaseCapture(); - return winMouseButtonsHandle(pScreen, ButtonRelease, HIWORD(wParam) + 5, + return winMouseButtonsHandle(pScreen, ButtonRelease, HIWORD(wParam) + 7, wParam); case WM_MOUSEWHEEL: @@ -667,6 +667,15 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) SendMessage(hwndScreen, message, wParam, lParam); return 0; + case WM_MOUSEHWHEEL: +#if CYGMULTIWINDOW_DEBUG + winDebug("winMWExtWMWindowProc - WM_MOUSEHWHEEL\n"); +#endif + + /* Pass the message to the root window */ + SendMessage(hwndScreen, message, wParam, lParam); + return 0; + case WM_MOUSEACTIVATE: #if CYGMULTIWINDOW_DEBUG winDebug("winMWExtWMWindowProc - WM_MOUSEACTIVATE\n"); @@ -823,24 +832,24 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (!(pWinPos->flags & SWP_NOZORDER)) { if (pRLWinPriv->fRestackingNow || pScreenPriv->fRestacking) { #if CYGMULTIWINDOW_DEBUG - winDebug("Win %08x is now restacking.\n", - (unsigned int) pRLWinPriv); + winDebug("Win %p is now restacking.\n", + pRLWinPriv); #endif break; } if (winIsInternalWMRunning(pScreenInfo) || IsRaiseOnClick(pWin)) { #if CYGMULTIWINDOW_DEBUG - winDebug("Win %08x has WINDOWSWM_RAISE_ON_CLICK.\n", - (unsigned int) pRLWinPriv); + winDebug("Win %p has WINDOWSWM_RAISE_ON_CLICK.\n", + pRLWinPriv); #endif break; } #if CYGMULTIWINDOW_DEBUG - winDebug("Win %08x forbid to change z order (%08x).\n", - (unsigned int) pRLWinPriv, - (unsigned int) pWinPos->hwndInsertAfter); + winDebug("Win %p forbid to change z order (%p).\n", + pRLWinPriv, + pWinPos->hwndInsertAfter); #endif pWinPos->flags |= SWP_NOZORDER; } diff --git a/xserver/hw/xwin/winwindow.c b/xserver/hw/xwin/winwindow.c index ab6d8dec2..029bd855d 100644 --- a/xserver/hw/xwin/winwindow.c +++ b/xserver/hw/xwin/winwindow.c @@ -128,7 +128,6 @@ winCopyWindowNativeGDI(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) BoxPtr pBox; int dx, dy; int i, nbox; - WindowPtr pwinRoot; BoxPtr pBoxDst; ScreenPtr pScreen = pWin->drawable.pScreen; @@ -138,9 +137,6 @@ winCopyWindowNativeGDI(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) ErrorF("winCopyWindow\n"); #endif - /* Get a pointer to the root window */ - pwinRoot = pWin->drawable.pScreen->root; - /* Create a region for the destination */ prgnDst = RegionCreate(NULL, 1); diff --git a/xserver/hw/xwin/winwindow.h b/xserver/hw/xwin/winwindow.h index 25826ecc7..7e6bd565c 100644 --- a/xserver/hw/xwin/winwindow.h +++ b/xserver/hw/xwin/winwindow.h @@ -49,6 +49,7 @@ #define WINDOW_TITLE_XDMCP "%s:%s.%d" #define WIN_SCR_PROP "cyg_screen_prop rl" #define WINDOW_CLASS_X "cygwin/x X rl" +#define WINDOW_CLASS_X_MSG "cygwin/x X msg" #define WINDOW_TITLE_X PROJECT_NAME " X" #define WIN_WINDOW_PROP "cyg_window_prop_rl" #ifdef HAS_DEVWINDOWS diff --git a/xserver/hw/xwin/winwindowswm.c b/xserver/hw/xwin/winwindowswm.c index fbd41aaa8..be43265e0 100644 --- a/xserver/hw/xwin/winwindowswm.c +++ b/xserver/hw/xwin/winwindowswm.c @@ -66,18 +66,6 @@ typedef struct _WMEvent { unsigned int mask; } WMEventRec; -static inline BoxRec -make_box(int x, int y, int w, int h) -{ - BoxRec r; - - r.x1 = x; - r.y1 = y; - r.x2 = x + w; - r.y2 = y + h; - return r; -} - static int ProcWindowsWMQueryVersion(ClientPtr client) { @@ -258,7 +246,7 @@ winWindowsWMSendEvent(int type, unsigned int mask, int which, int arg, for (pEvent = *pHead; pEvent; pEvent = pEvent->next) { client = pEvent->client; #if CYGMULTIWINDOW_DEBUG - ErrorF("winWindowsWMSendEvent - x%08x\n", (int) client); + ErrorF("winWindowsWMSendEvent - %p\n", client); #endif if ((pEvent->mask & mask) == 0) { continue; @@ -319,7 +307,6 @@ static int ProcWindowsWMFrameGetRect(ClientPtr client) { xWindowsWMFrameGetRectReply rep; - BoxRec ir; RECT rcNew; REQUEST(xWindowsWMFrameGetRectReq); @@ -334,8 +321,6 @@ ProcWindowsWMFrameGetRect(ClientPtr client) rep.length = 0; rep.sequenceNumber = client->sequence; - ir = make_box(stuff->ix, stuff->iy, stuff->iw, stuff->ih); - if (stuff->frame_rect != 0) { ErrorF("ProcWindowsWMFrameGetRect - stuff->frame_rect != 0\n"); return BadValue; @@ -396,8 +381,8 @@ ProcWindowsWMFrameDraw(ClientPtr client) return BadWindow; #if CYGMULTIWINDOW_DEBUG - ErrorF("ProcWindowsWMFrameDraw - HWND 0x%08x 0x%08x 0x%08x\n", - (int) pRLWinPriv->hWnd, (int) stuff->frame_style, + ErrorF("ProcWindowsWMFrameDraw - HWND %p 0x%08x 0x%08x\n", + pRLWinPriv->hWnd, (int) stuff->frame_style, (int) stuff->frame_style_ex); ErrorF("ProcWindowsWMFrameDraw - %d %d %d %d\n", stuff->ix, stuff->iy, stuff->iw, stuff->ih); diff --git a/xserver/hw/xwin/winwndproc.c b/xserver/hw/xwin/winwndproc.c index 7ba028042..c73a75c6f 100644 --- a/xserver/hw/xwin/winwndproc.c +++ b/xserver/hw/xwin/winwndproc.c @@ -62,7 +62,6 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) static winScreenInfo *s_pScreenInfo = NULL; static ScreenPtr s_pScreen = NULL; static HWND s_hwndLastPrivates = NULL; - static HINSTANCE s_hInstance; static Bool s_fTracking = FALSE; static unsigned long s_ulServerGeneration = 0; static UINT s_uTaskbarRestart = 0; @@ -117,7 +116,6 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) * areas of our display window. */ s_pScreenPriv = ((LPCREATESTRUCT) lParam)->lpCreateParams; - s_hInstance = ((LPCREATESTRUCT) lParam)->hInstance; s_pScreenInfo = s_pScreenPriv->pScreenInfo; s_pScreen = s_pScreenInfo->pScreen; s_hwndLastPrivates = hwnd; @@ -896,7 +894,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) #endif ) SetCapture(hwnd); - return winMouseButtonsHandle(s_pScreen, ButtonPress, HIWORD(wParam) + 5, + return winMouseButtonsHandle(s_pScreen, ButtonPress, HIWORD(wParam) + 7, wParam); case WM_XBUTTONUP: if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput) @@ -908,7 +906,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) ) ReleaseCapture(); return winMouseButtonsHandle(s_pScreen, ButtonRelease, - HIWORD(wParam) + 5, wParam); + HIWORD(wParam) + 7, wParam); case WM_TIMER: if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput) @@ -978,7 +976,20 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) #if CYGDEBUG winDebug("winWindowProc - WM_MOUSEWHEEL\n"); #endif - winMouseWheel(s_pScreen, GET_WHEEL_DELTA_WPARAM(wParam)); + /* Button4 = WheelUp */ + /* Button5 = WheelDown */ + winMouseWheel(&(s_pScreenPriv->iDeltaZ), GET_WHEEL_DELTA_WPARAM(wParam), Button4, Button5); + break; + + case WM_MOUSEHWHEEL: + if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput) + break; +#if CYGDEBUG + winDebug("winWindowProc - WM_MOUSEHWHEEL\n"); +#endif + /* Button7 = TiltRight */ + /* Button6 = TiltLeft */ + winMouseWheel(&(s_pScreenPriv->iDeltaV), GET_WHEEL_DELTA_WPARAM(wParam), 7, 6); break; case WM_SETFOCUS: @@ -1066,7 +1077,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } /* Translate Windows key code to X scan code */ - winTranslateKey(wParam, lParam, &iScanCode); + iScanCode = winTranslateKey(wParam, lParam); /* Ignore repeats for CapsLock */ if (wParam == VK_CAPITAL) @@ -1095,7 +1106,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) return 0; /* Enqueue a keyup event */ - winTranslateKey(wParam, lParam, &iScanCode); + iScanCode = winTranslateKey(wParam, lParam); winSendKeyEvent(iScanCode, FALSE); /* Release all pressed shift keys */ @@ -1149,6 +1160,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) /* Clear any lingering wheel delta */ s_pScreenPriv->iDeltaZ = 0; + s_pScreenPriv->iDeltaV = 0; /* Reshow the Windows mouse cursor if we are being deactivated */ if (g_fSoftwareCursor && LOWORD(wParam) == WA_INACTIVE && !g_fCursor) { @@ -1223,7 +1235,6 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } break; - case WM_ENDSESSION: case WM_GIVEUP: /* Tell X that we are giving up */ #ifdef XWIN_MULTIWINDOW diff --git a/xserver/include/Makefile.am b/xserver/include/Makefile.am index 5cdea1d15..93d8616f2 100644 --- a/xserver/include/Makefile.am +++ b/xserver/include/Makefile.am @@ -68,6 +68,7 @@ endif AM_CFLAGS = $(DIX_CFLAGS) EXTRA_DIST = \ + busfault.h \ dix-config-apple-verbatim.h \ dixfontstubs.h eventconvert.h eventstr.h inpututils.h \ protocol-versions.h \ diff --git a/xserver/include/Makefile.in b/xserver/include/Makefile.in index fdaf9c25c..bcf35820c 100644 --- a/xserver/include/Makefile.in +++ b/xserver/include/Makefile.in @@ -188,9 +188,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -222,6 +225,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -251,6 +255,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -294,6 +300,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -307,12 +314,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -378,6 +385,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -522,6 +531,7 @@ top_srcdir = @top_srcdir@ @XORG_TRUE@nodist_sdk_HEADERS = xorg-server.h AM_CFLAGS = $(DIX_CFLAGS) EXTRA_DIST = \ + busfault.h \ dix-config-apple-verbatim.h \ dixfontstubs.h eventconvert.h eventstr.h inpututils.h \ protocol-versions.h \ diff --git a/xserver/include/busfault.h b/xserver/include/busfault.h new file mode 100644 index 000000000..3b668818d --- /dev/null +++ b/xserver/include/busfault.h @@ -0,0 +1,48 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _BUSFAULT_H_ +#define _BUSFAULT_H_ + +#include + +#ifdef BUSFAULT + +#include + +typedef void (*busfault_notify_ptr) (void *context); + +struct busfault * +busfault_register_mmap(void *addr, size_t size, busfault_notify_ptr notify, void *context); + +void +busfault_unregister(struct busfault *busfault); + +void +busfault_check(void); + +Bool +busfault_init(void); + +#endif + +#endif /* _BUSFAULT_H_ */ diff --git a/xserver/include/callback.h b/xserver/include/callback.h index ed6b678a8..b42708960 100644 --- a/xserver/include/callback.h +++ b/xserver/include/callback.h @@ -86,5 +86,6 @@ CallCallbacks(CallbackListPtr *pcbl, pointer call_data) extern _X_EXPORT void DeleteCallbackList(CallbackListPtr * /*pcbl */ ); extern _X_EXPORT void InitCallbackManager(void); +extern _X_EXPORT void DeleteCallbackManager(void); #endif /* CALLBACK_H */ diff --git a/xserver/include/cursorstr.h b/xserver/include/cursorstr.h index 68ab2ecfd..2157954c9 100644 --- a/xserver/include/cursorstr.h +++ b/xserver/include/cursorstr.h @@ -78,10 +78,8 @@ typedef struct _Cursor { int refcnt; PrivateRec *devPrivates; /* set by pScr->RealizeCursor */ XID id; -#ifdef XFIXES CARD32 serialNumber; Atom name; -#endif } CursorRec; #define CURSOR_REC_SIZE (sizeof(CursorRec) + dixPrivatesSize(PRIVATE_CURSOR)) diff --git a/xserver/include/dix-config.h.in b/xserver/include/dix-config.h.in index b40d8b3ec..f5cfc4c6d 100644 --- a/xserver/include/dix-config.h.in +++ b/xserver/include/dix-config.h.in @@ -39,6 +39,9 @@ /* Build DPMS extension */ #undef DPMSExtension +/* Build DRI3 extension */ +#undef DRI3 + /* Build GLX extension */ #undef GLXEXT @@ -60,6 +63,9 @@ /* Has backtrace support */ #undef HAVE_BACKTRACE +/* Has libunwind support */ +#undef HAVE_LIBUNWIND + /* Define to 1 if you have the header file. */ #undef HAVE_BYTESWAP_H @@ -249,6 +255,9 @@ /* Internal define for Xinerama */ #undef PANORAMIX +/* Support Present extension */ +#undef PRESENT + /* Overall prefix */ #undef PROJECTROOT @@ -446,4 +455,24 @@ #include "dix-config-apple-verbatim.h" #endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + +/* Defined if needed to expose struct msghdr.msg_control */ +#undef _XOPEN_SOURCE + +/* Have support for X shared memory fence library (xshmfence) */ +#undef HAVE_XSHMFENCE + +/* Use XTrans FD passing support */ +#undef XTRANS_SEND_FDS + +/* Wrap SIGBUS to catch MIT-SHM faults */ +#undef BUSFAULT + +/* Directory for shared memory temp files */ +#undef SHMDIR + #endif /* _DIX_CONFIG_H_ */ diff --git a/xserver/include/dixstruct.h b/xserver/include/dixstruct.h index 492f96047..6f5667fcb 100644 --- a/xserver/include/dixstruct.h +++ b/xserver/include/dixstruct.h @@ -61,7 +61,6 @@ typedef enum { ClientStateInitial, ClientStateGone } ClientState; -#ifdef XFIXES typedef struct _saveSet { struct _Window *windowPtr; Bool toRoot; @@ -73,16 +72,6 @@ typedef struct _saveSet { #define SaveSetAssignWindow(ss,w) ((ss).windowPtr = (w)) #define SaveSetAssignToRoot(ss,tr) ((ss).toRoot = (tr)) #define SaveSetAssignMap(ss,m) ((ss).map = (m)) -#else -typedef struct _Window *SaveSetElt; - -#define SaveSetWindow(ss) (ss) -#define SaveSetToRoot(ss) FALSE -#define SaveSetShouldMap(ss) TRUE -#define SaveSetAssignWindow(ss,w) ((ss) = (w)) -#define SaveSetAssignToRoot(ss,tr) -#define SaveSetAssignMap(ss,m) -#endif typedef struct _Client { pointer requestBuffer; @@ -121,8 +110,20 @@ typedef struct _Client { DeviceIntPtr clientPtr; ClientIdPtr clientIds; +#if XTRANS_SEND_FDS + int req_fds; +#endif } ClientRec; +#if XTRANS_SEND_FDS +static inline void +SetReqFds(ClientPtr client, int req_fds) { + if (client->req_fds != 0 && req_fds != client->req_fds) + LogMessage(X_ERROR, "Mismatching number of request fds %d != %d\n", req_fds, client->req_fds); + client->req_fds = req_fds; +} +#endif + /* * Scheduling interface */ diff --git a/xserver/include/do-not-use-config.h.in b/xserver/include/do-not-use-config.h.in index 799755c72..9a70b8d97 100644 --- a/xserver/include/do-not-use-config.h.in +++ b/xserver/include/do-not-use-config.h.in @@ -24,6 +24,9 @@ /* Prefix to use for bundle identifiers */ #undef BUNDLE_ID_PREFIX +/* Include busfault OS API */ +#undef BUSFAULT + /* Support client ID tracking */ #undef CLIENTIDS @@ -102,6 +105,9 @@ /* Build DRI2 AIGLX loader */ #undef DRI2_AIGLX +/* Build DRI3 extension */ +#undef DRI3 + /* Default DRI driver path */ #undef DRI_DRIVER_PATH @@ -217,6 +223,9 @@ /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM +/* Have libunwind support */ +#undef HAVE_LIBUNWIND + /* Define to 1 if you have the `ws2_32' library (-lws2_32). */ #undef HAVE_LIBWS2_32 @@ -274,6 +283,9 @@ /* Define to 1 if you have the `shmctl64' function. */ #undef HAVE_SHMCTL64 +/* Have sigaction function */ +#undef HAVE_SIGACTION + /* Define to 1 if the system has the type `socklen_t'. */ #undef HAVE_SOCKLEN_T @@ -370,6 +382,9 @@ /* Define to 1 if you have the `walkcontext' function. */ #undef HAVE_WALKCONTEXT +/* Have X Shared Memory Fence library */ +#undef HAVE_XSHMFENCE + /* Support IPv6 for TCP connections */ #undef IPv6 @@ -461,6 +476,9 @@ /* System has PC console */ #undef PCVT_SUPPORT +/* Support Present extension */ +#undef PRESENT + /* Overall prefix */ #undef PROJECTROOT @@ -476,9 +494,6 @@ /* Support X resource extension */ #undef RES -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - /* Build Rootless code */ #undef ROOTLESS @@ -494,6 +509,9 @@ /* Support SHAPE extension */ #undef SHAPE +/* Directory for shared memory temp files */ +#undef SHMDIR + /* The size of `unsigned long', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_LONG @@ -540,6 +558,28 @@ /* Use SIGIO handlers for input device events by default */ #undef USE_SIGIO_BY_DEFAULT +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + /* Define to use byteswap macros from */ #undef USE_SYS_ENDIAN_H @@ -600,6 +640,9 @@ /* Build DRI extension */ #undef XF86DRI +/* Support APM/ACPI power management in the server */ +#undef XF86PM + /* Support XFree86 Video Mode extension */ #undef XF86VIDMODE @@ -687,6 +730,9 @@ /* Support XTest extension */ #undef XTEST +/* Enable xtrans fd passing support */ +#undef XTRANS_SEND_FDS + /* Support Xv extension */ #undef XV @@ -723,6 +769,19 @@ /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES +/* Define to 1 if on MINIX. */ +#undef _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + +/* Defined if needed to expose struct msghdr.msg_control */ +#undef _XOPEN_SOURCE + /* Define to 1 if unsigned long is 64 bits. */ #undef _XSERVER64 diff --git a/xserver/include/extinit.h b/xserver/include/extinit.h index 5690d7b01..fa5f29378 100644 --- a/xserver/include/extinit.h +++ b/xserver/include/extinit.h @@ -140,10 +140,8 @@ extern void XFree86BigfontExtensionInit(void); extern void BigReqExtensionInit(void); -#ifdef XFIXES extern _X_EXPORT Bool noXFixesExtension; extern void XFixesExtensionInit(void); -#endif extern void XInputExtensionInit(void); extern _X_EXPORT void AssignTypeAndName(DeviceIntPtr dev, @@ -178,4 +176,14 @@ extern void XvExtensionInit(void); extern void XvMCExtensionInit(void); #endif +#if defined(DRI3) +#include +extern void dri3_extension_init(void); +#endif + +#if defined(PRESENT) +#include +#include "presentext.h" +#endif + #endif diff --git a/xserver/include/input.h b/xserver/include/input.h index bff7ffe22..2d5e531ef 100644 --- a/xserver/include/input.h +++ b/xserver/include/input.h @@ -244,12 +244,12 @@ typedef struct _InputAttributes { #define KEY_POSTED 2 #define BUTTON_POSTED 2 -extern void set_key_down(DeviceIntPtr pDev, int key_code, int type); -extern void set_key_up(DeviceIntPtr pDev, int key_code, int type); -extern int key_is_down(DeviceIntPtr pDev, int key_code, int type); -extern void set_button_down(DeviceIntPtr pDev, int button, int type); -extern void set_button_up(DeviceIntPtr pDev, int button, int type); -extern int button_is_down(DeviceIntPtr pDev, int button, int type); +extern _X_EXPORT void set_key_down(DeviceIntPtr pDev, int key_code, int type); +extern _X_EXPORT void set_key_up(DeviceIntPtr pDev, int key_code, int type); +extern _X_EXPORT int key_is_down(DeviceIntPtr pDev, int key_code, int type); +extern _X_EXPORT void set_button_down(DeviceIntPtr pDev, int button, int type); +extern _X_EXPORT void set_button_up(DeviceIntPtr pDev, int button, int type); +extern _X_EXPORT int button_is_down(DeviceIntPtr pDev, int button, int type); extern void InitCoreDevices(void); extern void InitXTestDevices(void); @@ -640,6 +640,11 @@ extern _X_HIDDEN void valuator_set_mode(DeviceIntPtr dev, int axis, int mode); xfixes/cursor.c uses it to determine if the cursor is enabled */ extern Bool EnableCursor; +/* Set to FALSE by default - ChangeWindowAttributes sets it to TRUE on + * CWCursor, xfixes/cursor.c uses it to determine if the cursor is enabled + */ +extern Bool CursorVisible; + extern _X_EXPORT ValuatorMask *valuator_mask_new(int num_valuators); extern _X_EXPORT void valuator_mask_free(ValuatorMask **mask); extern _X_EXPORT void valuator_mask_set_range(ValuatorMask *mask, diff --git a/xserver/include/inputstr.h b/xserver/include/inputstr.h index 2da72c1ec..dc36c5d8d 100644 --- a/xserver/include/inputstr.h +++ b/xserver/include/inputstr.h @@ -65,7 +65,7 @@ extern _X_EXPORT int CountBits(const uint8_t * mask, int len); #define SameClient(obj,client) \ (CLIENT_BITS((obj)->resource) == (client)->clientAsMask) -#define EMASKSIZE MAXDEVICES + 2 +#define EMASKSIZE (MAXDEVICES + 2) /* This is the last XI2 event supported by the server. If you add * events to the protocol, the server will not support these events until diff --git a/xserver/include/list.h b/xserver/include/list.h index 11de7c561..455c670d3 100644 --- a/xserver/include/list.h +++ b/xserver/include/list.h @@ -213,7 +213,7 @@ xorg_list_del(struct xorg_list *entry) * * @return True if the list contains one or more elements or False otherwise. */ -static inline Bool +static inline int xorg_list_is_empty(struct xorg_list *head) { return head->next == head; diff --git a/xserver/include/misc.h b/xserver/include/misc.h index 0c67f11fe..17de71041 100644 --- a/xserver/include/misc.h +++ b/xserver/include/misc.h @@ -305,6 +305,35 @@ __builtin_constant_p(int x) } #endif +/* byte swap a 64-bit value */ +static inline void +swap_uint64(uint64_t *x) +{ + char n; + + n = ((char *) x)[0]; + ((char *) x)[0] = ((char *) x)[7]; + ((char *) x)[7] = n; + + n = ((char *) x)[1]; + ((char *) x)[1] = ((char *) x)[6]; + ((char *) x)[6] = n; + + n = ((char *) x)[2]; + ((char *) x)[2] = ((char *) x)[5]; + ((char *) x)[5] = n; + + n = ((char *) x)[3]; + ((char *) x)[3] = ((char *) x)[4]; + ((char *) x)[4] = n; +} + +#define swapll(x) do { \ + if (sizeof(*(x)) != 8) \ + wrong_size(); \ + swap_uint64((uint64_t *)(x)); \ + } while (0) + /* byte swap a 32-bit value */ static inline void swap_uint32(uint32_t * x) diff --git a/xserver/include/os.h b/xserver/include/os.h index 88e726873..f2ee9da12 100644 --- a/xserver/include/os.h +++ b/xserver/include/os.h @@ -98,6 +98,12 @@ extern _X_EXPORT int WaitForSomething(int * /*pClientsReady */ extern _X_EXPORT int ReadRequestFromClient(ClientPtr /*client */ ); +#if XTRANS_SEND_FDS +extern _X_EXPORT int ReadFdFromClient(ClientPtr client); + +extern _X_EXPORT int WriteFdToClient(ClientPtr client, int fd, Bool do_close); +#endif + extern _X_EXPORT Bool InsertFakeRequest(ClientPtr /*client */ , char * /*data */ , int /*count */ ); @@ -165,6 +171,7 @@ extern void ListenOnOpenFD(int /* fd */ , int /* noxauth */ ); #endif extern _X_EXPORT CARD32 GetTimeInMillis(void); +extern _X_EXPORT CARD64 GetTimeInMicros(void); extern _X_EXPORT void AdjustWaitForDelay(pointer /*waitTime */ , unsigned long /*newdelay */ ); @@ -686,4 +693,7 @@ LogPrintMarkers(void); extern _X_EXPORT void xorg_backtrace(void); +extern _X_EXPORT int +os_move_fd(int fd); + #endif /* OS_H */ diff --git a/xserver/include/privates.h b/xserver/include/privates.h index 2c8864b8a..0abdce784 100644 --- a/xserver/include/privates.h +++ b/xserver/include/privates.h @@ -46,7 +46,6 @@ typedef enum { PRIVATE_CURSOR_BITS, /* extension privates */ - PRIVATE_DBE_WINDOW, PRIVATE_DAMAGE, PRIVATE_GLYPH, PRIVATE_GLYPHSET, diff --git a/xserver/include/protocol-versions.h b/xserver/include/protocol-versions.h index 5ceaeb012..fc428c8cf 100644 --- a/xserver/include/protocol-versions.h +++ b/xserver/include/protocol-versions.h @@ -46,6 +46,10 @@ #define SERVER_DAMAGE_MAJOR_VERSION 1 #define SERVER_DAMAGE_MINOR_VERSION 1 +/* DRI3 */ +#define SERVER_DRI3_MAJOR_VERSION 1 +#define SERVER_DRI3_MINOR_VERSION 0 + /* DMX */ #define SERVER_DMX_MAJOR_VERSION 2 #define SERVER_DMX_MINOR_VERSION 2 @@ -63,6 +67,10 @@ #define SERVER_PANORAMIX_MAJOR_VERSION 1 #define SERVER_PANORAMIX_MINOR_VERSION 1 +/* Present */ +#define SERVER_PRESENT_MAJOR_VERSION 1 +#define SERVER_PRESENT_MINOR_VERSION 0 + /* RandR */ #define SERVER_RANDR_MAJOR_VERSION 1 #define SERVER_RANDR_MINOR_VERSION 4 @@ -93,7 +101,11 @@ /* SHM */ #define SERVER_SHM_MAJOR_VERSION 1 +#if XTRANS_SEND_FDS +#define SERVER_SHM_MINOR_VERSION 2 +#else #define SERVER_SHM_MINOR_VERSION 1 +#endif /* Sync */ #define SERVER_SYNC_MAJOR_VERSION 3 diff --git a/xserver/include/regionstr.h b/xserver/include/regionstr.h index 805257b3f..4a0725d62 100644 --- a/xserver/include/regionstr.h +++ b/xserver/include/regionstr.h @@ -213,6 +213,8 @@ extern _X_EXPORT RegionPtr RegionCreate(BoxPtr /*rect */ , extern _X_EXPORT void RegionDestroy(RegionPtr /*pReg */ ); +extern _X_EXPORT RegionPtr RegionDuplicate(RegionPtr /* pOld */); + static inline Bool RegionCopy(RegionPtr dst, RegionPtr src) { diff --git a/xserver/include/registry.h b/xserver/include/registry.h index f471b899f..96be87aad 100644 --- a/xserver/include/registry.h +++ b/xserver/include/registry.h @@ -44,6 +44,7 @@ extern _X_EXPORT const char *LookupResourceName(RESTYPE rtype); * Setup and teardown */ extern _X_EXPORT void dixResetRegistry(void); +extern _X_EXPORT void dixFreeRegistry(void); #else /* XREGISTRY */ @@ -59,6 +60,7 @@ extern _X_EXPORT void dixResetRegistry(void); #define LookupResourceName(a) XREGISTRY_UNKNOWN #define dixResetRegistry() { ; } +#define dixFreeRegistry() { ; } #endif /* XREGISTRY */ #endif /* DIX_REGISTRY_H */ diff --git a/xserver/include/servermd.h b/xserver/include/servermd.h index 0a4806677..91f476efd 100644 --- a/xserver/include/servermd.h +++ b/xserver/include/servermd.h @@ -329,6 +329,20 @@ SOFTWARE. #define GLYPHPADBYTES 4 #endif /* linux/s390 */ +#ifdef __aarch64__ + +#ifdef __AARCH64EL__ +#define IMAGE_BYTE_ORDER LSBFirst +#define BITMAP_BIT_ORDER LSBFirst +#endif +#ifdef __AARCH64EB__ +#define IMAGE_BYTE_ORDER MSBFirst +#define BITMAP_BIT_ORDER MSBFirst +#endif +#define GLYPHPADBYTES 4 + +#endif /* __aarch64__ */ + /* size of buffer to use with GetImage, measured in bytes. There's obviously * a trade-off between the amount of heap used and the number of times the * ddx routine has to be called. diff --git a/xserver/include/xkbsrv.h b/xserver/include/xkbsrv.h index 45e2e8c47..346ebccf0 100644 --- a/xserver/include/xkbsrv.h +++ b/xserver/include/xkbsrv.h @@ -751,6 +751,9 @@ extern _X_EXPORT void XkbSetRulesDflts(XkbRMLVOSet * /* rmlvo */ extern _X_EXPORT void XkbDeleteRulesDflts(void ); +extern _X_EXPORT void XkbDeleteRulesUsed(void + ); + extern _X_EXPORT int SProcXkbDispatch(ClientPtr /* client */ ); diff --git a/xserver/include/xorg-config.h.in b/xserver/include/xorg-config.h.in index 2075cb5b1..e6b49b857 100644 --- a/xserver/include/xorg-config.h.in +++ b/xserver/include/xorg-config.h.in @@ -142,6 +142,9 @@ /* Define to 1 if you have the `seteuid' function. */ #undef HAVE_SETEUID +/* Support APM/ACPI power management in the server */ +#undef XF86PM + /* Use X server privilege separation */ #undef X_PRIVSEP diff --git a/xserver/include/xorg-server.h.in b/xserver/include/xorg-server.h.in index 7d35247b3..372243cd3 100644 --- a/xserver/include/xorg-server.h.in +++ b/xserver/include/xorg-server.h.in @@ -28,6 +28,9 @@ /* Build DPMS extension */ #undef DPMSExtension +/* Build DRI3 extension */ +#undef DRI3 + /* Build GLX extension */ #undef GLXEXT @@ -67,6 +70,9 @@ /* Internal define for Xinerama */ #undef PANORAMIX +/* Support Present extension */ +#undef PRESENT + /* Support RANDR extension */ #undef RANDR @@ -215,4 +221,10 @@ #define _XSERVER64 1 #endif +/* Have support for X shared memory fence library (xshmfence) */ +#undef HAVE_XSHMFENCE + +/* Use XTrans FD passing support */ +#undef XTRANS_SEND_FDS + #endif /* _XORG_SERVER_H_ */ diff --git a/xserver/man/Makefile.in b/xserver/man/Makefile.in index f18c725d2..70c5fb57d 100644 --- a/xserver/man/Makefile.in +++ b/xserver/man/Makefile.in @@ -180,9 +180,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -214,6 +217,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -243,6 +247,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -302,6 +308,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -315,12 +322,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -386,6 +393,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/mi/Makefile.in b/xserver/mi/Makefile.in index 89b1b95af..f5ef44c02 100644 --- a/xserver/mi/Makefile.in +++ b/xserver/mi/Makefile.in @@ -218,9 +218,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -252,6 +255,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -281,6 +285,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -324,6 +330,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -337,12 +344,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -408,6 +415,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/mi/mieq.c b/xserver/mi/mieq.c index d7d73deb6..4c0748054 100644 --- a/xserver/mi/mieq.c +++ b/xserver/mi/mieq.c @@ -60,7 +60,7 @@ in this Software without prior written authorization from The Open Group. #endif /* Maximum size should be initial size multiplied by a power of 2 */ -#define QUEUE_INITIAL_SIZE 256 +#define QUEUE_INITIAL_SIZE 512 #define QUEUE_RESERVED_SIZE 64 #define QUEUE_MAXIMUM_SIZE 4096 #define QUEUE_DROP_BACKTRACE_FREQUENCY 100 diff --git a/xserver/mi/miinitext.c b/xserver/mi/miinitext.c index dbca9f774..67511b8d0 100644 --- a/xserver/mi/miinitext.c +++ b/xserver/mi/miinitext.c @@ -86,7 +86,6 @@ SOFTWARE. #undef DBE #undef SCREENSAVER #undef RANDR -#undef XFIXES #undef DAMAGE #undef COMPOSITE #undef MITSHM @@ -168,9 +167,7 @@ static ExtensionToggle ExtensionToggleList[] = { {"XFree86-VidModeExtension", &noXFree86VidModeExtension}, #endif #endif -#ifdef XFIXES {"XFIXES", &noXFixesExtension}, -#endif #ifdef PANORAMIX {"XINERAMA", &noPanoramiXExtension}, #endif @@ -263,10 +260,8 @@ static ExtensionModule staticExtensions[] = { */ {PseudoramiXExtensionInit, "PseudoramiX", &noPseudoramiXExtension}, #endif -#ifdef XFIXES /* must be before Render to layer DisplayCursor correctly */ {XFixesExtensionInit, "XFIXES", &noXFixesExtension}, -#endif #ifdef XF86BIGFONT {XFree86BigfontExtensionInit, XF86BIGFONTNAME, &noXFree86BigfontExtension}, #endif @@ -292,6 +287,12 @@ static ExtensionModule staticExtensions[] = { #ifdef DPMSExtension {DPMSExtensionInit, DPMSExtensionName, &noDPMSExtension}, #endif +#ifdef PRESENT + {present_extension_init, PRESENT_NAME, NULL}, +#endif +#ifdef DRI3 + {dri3_extension_init, DRI3_NAME, NULL}, +#endif #ifdef RES {ResExtensionInit, XRES_NAME, &noResExtension}, #endif diff --git a/xserver/mi/mipointer.c b/xserver/mi/mipointer.c index b8503f450..5d591a1dc 100644 --- a/xserver/mi/mipointer.c +++ b/xserver/mi/mipointer.c @@ -118,13 +118,6 @@ miPointerInitialize(ScreenPtr pScreen, return FALSE; pScreenPriv->spriteFuncs = spriteFuncs; pScreenPriv->screenFuncs = screenFuncs; - /* - * check for uninitialized methods - */ - if (!screenFuncs->EnqueueEvent) - screenFuncs->EnqueueEvent = mieqEnqueue; - if (!screenFuncs->NewEventScreen) - screenFuncs->NewEventScreen = mieqSwitchScreen; pScreenPriv->waitForUpdate = waitForUpdate; pScreenPriv->showTransparent = FALSE; pScreenPriv->CloseScreen = pScreen->CloseScreen; @@ -363,7 +356,7 @@ miPointerWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) pPointer = MIPOINTER(pDev); if (pPointer->pScreen != pScreen) { - (*pScreenPriv->screenFuncs->NewEventScreen) (pDev, pScreen, TRUE); + mieqSwitchScreen(pDev, pScreen, TRUE); changedScreen = TRUE; } @@ -480,22 +473,13 @@ miPointerSetScreen(DeviceIntPtr pDev, int screen_no, int x, int y) pScreen = screenInfo.screens[screen_no]; pScreenPriv = GetScreenPrivate(pScreen); - (*pScreenPriv->screenFuncs->NewEventScreen) (pDev, pScreen, FALSE); + mieqSwitchScreen(pDev, pScreen, FALSE); NewCurrentScreen(pDev, pScreen, x, y); pPointer->limits.x2 = pScreen->width; pPointer->limits.y2 = pScreen->height; } -/** - * @return The current screen of the VCP - */ -ScreenPtr -miPointerCurrentScreen(void) -{ - return miPointerGetScreen(inputInfo.pointer); -} - /** * @return The current screen of the given device or NULL. */ @@ -617,8 +601,7 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, double *screenx, (*pScreenPriv->screenFuncs->CursorOffScreen) (&newScreen, &x, &y); if (newScreen != pScreen) { pScreen = newScreen; - (*pScreenPriv->screenFuncs->NewEventScreen) (pDev, pScreen, - FALSE); + mieqSwitchScreen(pDev, pScreen, FALSE); /* Smash the confine to the new screen */ pPointer->limits.x2 = pScreen->width; pPointer->limits.y2 = pScreen->height; diff --git a/xserver/mi/mipointer.h b/xserver/mi/mipointer.h index f89dff31e..bdeed1242 100644 --- a/xserver/mi/mipointer.h +++ b/xserver/mi/mipointer.h @@ -71,13 +71,6 @@ typedef struct _miPointerScreenFuncRec { int /* x */ , int /* y */ ); - void (*EnqueueEvent) (DeviceIntPtr /* pDev */ , - InternalEvent * /* event */ - ); - void (*NewEventScreen) (DeviceIntPtr /* pDev */ , - ScreenPtr /* pScr */ , - Bool /* set_dequeue_screen */ - ); } miPointerScreenFuncRec, *miPointerScreenFuncPtr; extern _X_EXPORT Bool miDCInitialize(ScreenPtr /*pScreen */ , @@ -98,11 +91,6 @@ extern _X_EXPORT void miPointerWarpCursor(DeviceIntPtr /*pDev */ , int /*y */ ); -/* Deprecated in favour of miPointerGetScreen. */ -extern _X_EXPORT ScreenPtr -miPointerCurrentScreen(void -) _X_DEPRECATED; - extern _X_EXPORT ScreenPtr miPointerGetScreen(DeviceIntPtr pDev); extern _X_EXPORT void diff --git a/xserver/mi/misprite.c b/xserver/mi/misprite.c index 97bbf8ef5..85ca022ed 100644 --- a/xserver/mi/misprite.c +++ b/xserver/mi/misprite.c @@ -86,10 +86,6 @@ typedef struct { /* os layer procedures */ ScreenBlockHandlerProcPtr BlockHandler; - /* device cursor procedures */ - DeviceCursorInitializeProcPtr DeviceCursorInitialize; - DeviceCursorCleanupProcPtr DeviceCursorCleanup; - xColorItem colors[2]; ColormapPtr pInstalledMap; ColormapPtr pColormap; @@ -150,8 +146,7 @@ static void miSpriteDisableDamage(ScreenPtr pScreen, miSpriteScreenPtr pScreenPriv) { if (pScreenPriv->damageRegistered) { - DamageUnregister(&(pScreen->GetScreenPixmap(pScreen)->drawable), - pScreenPriv->pDamage); + DamageUnregister(pScreenPriv->pDamage); pScreenPriv->damageRegistered = 0; } } @@ -329,9 +324,6 @@ miSpriteInitialize(ScreenPtr pScreen, miPointerScreenFuncPtr screenFuncs) pScreenPriv->BlockHandler = NULL; - pScreenPriv->DeviceCursorInitialize = pScreen->DeviceCursorInitialize; - pScreenPriv->DeviceCursorCleanup = pScreen->DeviceCursorCleanup; - pScreenPriv->pInstalledMap = NULL; pScreenPriv->pColormap = NULL; pScreenPriv->colors[SOURCE_COLOR].red = 0; diff --git a/xserver/mi/miwideline.c b/xserver/mi/miwideline.c index ca18f156e..b76e7a818 100644 --- a/xserver/mi/miwideline.c +++ b/xserver/mi/miwideline.c @@ -994,7 +994,7 @@ miLineProjectingCap(DrawablePtr pDrawable, GCPtr pGC, unsigned long pixel, { int xorgi = 0, yorgi = 0; int lw; - PolyEdgeRec lefts[2], rights[2]; + PolyEdgeRec lefts[4], rights[4]; int lefty, righty, topy, bottomy; PolyEdgePtr left, right; PolyEdgePtr top, bottom; @@ -1166,7 +1166,7 @@ miWideSegment(DrawablePtr pDrawable, PolyEdgePtr top, bottom; int lefty, righty, topy, bottomy; int signdx; - PolyEdgeRec lefts[2], rights[2]; + PolyEdgeRec lefts[4], rights[4]; LineFacePtr tface; int lw = pGC->lineWidth; @@ -1520,7 +1520,7 @@ miWideDashSegment(DrawablePtr pDrawable, PolyVertexRec vertices[4]; PolyVertexRec saveRight, saveBottom; PolySlopeRec slopes[4]; - PolyEdgeRec left[2], right[2]; + PolyEdgeRec left[4], right[4]; LineFaceRec lcapFace, rcapFace; int nleft, nright; int h; diff --git a/xserver/miext/Makefile.in b/xserver/miext/Makefile.in index ec48d3ca2..99b349d27 100644 --- a/xserver/miext/Makefile.in +++ b/xserver/miext/Makefile.in @@ -185,9 +185,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -219,6 +222,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -248,6 +252,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -291,6 +297,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -304,12 +311,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -375,6 +382,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/miext/damage/Makefile.am b/xserver/miext/damage/Makefile.am index 767a65aee..a7f432a61 100644 --- a/xserver/miext/damage/Makefile.am +++ b/xserver/miext/damage/Makefile.am @@ -2,7 +2,7 @@ noinst_LTLIBRARIES = libdamage.la AM_CFLAGS = $(DIX_CFLAGS) -INCLUDES = -I$(srcdir)/../cw +AM_CPPFLAGS = -I$(srcdir)/../cw if XORG sdk_HEADERS = damage.h damagestr.h diff --git a/xserver/miext/damage/Makefile.in b/xserver/miext/damage/Makefile.in index fdcd1d9d2..5d7680dd2 100644 --- a/xserver/miext/damage/Makefile.in +++ b/xserver/miext/damage/Makefile.in @@ -209,9 +209,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -243,6 +246,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -272,6 +276,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -315,6 +321,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -328,12 +335,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -399,6 +406,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -479,7 +488,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libdamage.la AM_CFLAGS = $(DIX_CFLAGS) -INCLUDES = -I$(srcdir)/../cw +AM_CPPFLAGS = -I$(srcdir)/../cw @XORG_TRUE@sdk_HEADERS = damage.h damagestr.h libdamage_la_SOURCES = \ damage.c \ diff --git a/xserver/miext/damage/damage.c b/xserver/miext/damage/damage.c index 3dc3180f3..173fe5070 100644 --- a/xserver/miext/damage/damage.c +++ b/xserver/miext/damage/damage.c @@ -119,51 +119,6 @@ getDrawableDamageRef(DrawablePtr pDrawable) DamagePtr *pPrev = (DamagePtr *) \ dixLookupPrivateAddr(&(pWindow)->devPrivates, damageWinPrivateKey) -static void -damageReportDamagePostRendering(DamagePtr pDamage, RegionPtr pOldDamage, - RegionPtr pDamageRegion) -{ - BoxRec tmpBox; - RegionRec tmpRegion, newDamage; - Bool was_empty; - - RegionUnion(&newDamage, pOldDamage, pDamageRegion); - - switch (pDamage->damageLevel) { - case DamageReportRawRegion: - (*pDamage->damageReportPostRendering) (pDamage, pDamageRegion, - pDamage->closure); - break; - case DamageReportDeltaRegion: - RegionNull(&tmpRegion); - RegionSubtract(&tmpRegion, pDamageRegion, pOldDamage); - if (RegionNotEmpty(&tmpRegion)) { - (*pDamage->damageReportPostRendering) (pDamage, &tmpRegion, - pDamage->closure); - } - RegionUninit(&tmpRegion); - break; - case DamageReportBoundingBox: - tmpBox = *RegionExtents(pOldDamage); - if (!BOX_SAME(&tmpBox, RegionExtents(&newDamage))) { - (*pDamage->damageReportPostRendering) (pDamage, &newDamage, - pDamage->closure); - } - break; - case DamageReportNonEmpty: - was_empty = !RegionNotEmpty(pOldDamage); - if (was_empty && RegionNotEmpty(&newDamage)) { - (*pDamage->damageReportPostRendering) (pDamage, &newDamage, - pDamage->closure); - } - break; - case DamageReportNone: - break; - } - - RegionUninit(&newDamage); -} - #if DAMAGE_DEBUG_ENABLE static void _damageRegionAppend(DrawablePtr pDrawable, RegionPtr pRegion, Bool clip, @@ -299,14 +254,10 @@ damageRegionAppend(DrawablePtr pDrawable, RegionPtr pRegion, Bool clip, RegionTranslate(pDamageRegion, -draw_x, -draw_y); /* Store damage region if needed after submission. */ - if (pDamage->reportAfter || pDamage->damageMarker) + if (pDamage->reportAfter) RegionUnion(&pDamage->pendingDamage, &pDamage->pendingDamage, pDamageRegion); - /* Duplicate current damage if needed. */ - if (pDamage->damageMarker) - RegionCopy(&pDamage->backupDamage, &pDamage->damage); - /* Report damage now, if desired. */ if (!pDamage->reportAfter) { if (pDamage->damageReport) @@ -335,12 +286,6 @@ damageRegionProcessPending(DrawablePtr pDrawable) drawableDamage(pDrawable); for (; pDamage != NULL; pDamage = pDamage->pNext) { - /* submit damage marker whenever possible. */ - if (pDamage->damageMarker) - (*pDamage->damageMarker) (pDrawable, pDamage, - &pDamage->backupDamage, - &pDamage->pendingDamage, - pDamage->closure); if (pDamage->reportAfter) { /* It's possible that there is only interest in postRendering reporting. */ if (pDamage->damageReport) @@ -350,10 +295,8 @@ damageRegionProcessPending(DrawablePtr pDrawable) &pDamage->pendingDamage); } - if (pDamage->reportAfter || pDamage->damageMarker) + if (pDamage->reportAfter) RegionEmpty(&pDamage->pendingDamage); - if (pDamage->damageMarker) - RegionEmpty(&pDamage->backupDamage); } } @@ -1333,7 +1276,7 @@ damageDamageChars(DrawablePtr pDrawable, #define TT_POLY16 2 #define TT_IMAGE16 3 -static int +static void damageText(DrawablePtr pDrawable, GCPtr pGC, int x, @@ -1342,39 +1285,29 @@ damageText(DrawablePtr pDrawable, char *chars, FontEncoding fontEncoding, Bool textType) { CharInfoPtr *charinfo; - CharInfoPtr *info; unsigned long i; unsigned int n; - int w; Bool imageblt; imageblt = (textType == TT_IMAGE8) || (textType == TT_IMAGE16); + if (!checkGCDamage(pDrawable, pGC)) + return; + charinfo = malloc(count * sizeof(CharInfoPtr)); if (!charinfo) - return x; + return; GetGlyphs(pGC->font, count, (unsigned char *) chars, fontEncoding, &i, charinfo); n = (unsigned int) i; - w = 0; - if (!imageblt) - for (info = charinfo; i--; info++) - w += (*info)->metrics.characterWidth; if (n != 0) { damageDamageChars(pDrawable, pGC->font, x + pDrawable->x, y + pDrawable->y, n, charinfo, imageblt, pGC->subWindowMode); - if (imageblt) - (*pGC->ops->ImageGlyphBlt) (pDrawable, pGC, x, y, n, charinfo, - FONTGLYPHS(pGC->font)); - else - (*pGC->ops->PolyGlyphBlt) (pDrawable, pGC, x, y, n, charinfo, - FONTGLYPHS(pGC->font)); } free(charinfo); - return x + w; } static int @@ -1382,12 +1315,9 @@ damagePolyText8(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, char *chars) { DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable); - - if (checkGCDamage(pDrawable, pGC)) - x = damageText(pDrawable, pGC, x, y, (unsigned long) count, chars, - Linear8Bit, TT_POLY8); - else - x = (*pGC->ops->PolyText8) (pDrawable, pGC, x, y, count, chars); + damageText(pDrawable, pGC, x, y, (unsigned long) count, chars, Linear8Bit, + TT_POLY8); + x = (*pGC->ops->PolyText8) (pDrawable, pGC, x, y, count, chars); damageRegionProcessPending(pDrawable); DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable); return x; @@ -1398,14 +1328,10 @@ damagePolyText16(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, unsigned short *chars) { DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable); - - if (checkGCDamage(pDrawable, pGC)) - x = damageText(pDrawable, pGC, x, y, (unsigned long) count, - (char *) chars, - FONTLASTROW(pGC->font) == 0 ? Linear16Bit : TwoD16Bit, - TT_POLY16); - else - x = (*pGC->ops->PolyText16) (pDrawable, pGC, x, y, count, chars); + damageText(pDrawable, pGC, x, y, (unsigned long) count, (char *) chars, + FONTLASTROW(pGC->font) == 0 ? Linear16Bit : TwoD16Bit, + TT_POLY16); + x = (*pGC->ops->PolyText16) (pDrawable, pGC, x, y, count, chars); damageRegionProcessPending(pDrawable); DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable); return x; @@ -1416,12 +1342,9 @@ damageImageText8(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, char *chars) { DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable); - - if (checkGCDamage(pDrawable, pGC)) - damageText(pDrawable, pGC, x, y, (unsigned long) count, chars, - Linear8Bit, TT_IMAGE8); - else - (*pGC->ops->ImageText8) (pDrawable, pGC, x, y, count, chars); + damageText(pDrawable, pGC, x, y, (unsigned long) count, chars, Linear8Bit, + TT_IMAGE8); + (*pGC->ops->ImageText8) (pDrawable, pGC, x, y, count, chars); damageRegionProcessPending(pDrawable); DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable); } @@ -1431,13 +1354,10 @@ damageImageText16(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, unsigned short *chars) { DAMAGE_GC_OP_PROLOGUE(pGC, pDrawable); - - if (checkGCDamage(pDrawable, pGC)) - damageText(pDrawable, pGC, x, y, (unsigned long) count, (char *) chars, - FONTLASTROW(pGC->font) == 0 ? Linear16Bit : TwoD16Bit, - TT_IMAGE16); - else - (*pGC->ops->ImageText16) (pDrawable, pGC, x, y, count, chars); + damageText(pDrawable, pGC, x, y, (unsigned long) count, (char *) chars, + FONTLASTROW(pGC->font) == 0 ? Linear16Bit : TwoD16Bit, + TT_IMAGE16); + (*pGC->ops->ImageText16) (pDrawable, pGC, x, y, count, chars); damageRegionProcessPending(pDrawable); DAMAGE_GC_OP_EPILOGUE(pGC, pDrawable); } @@ -1634,7 +1554,6 @@ damageDestroyWindow(WindowPtr pWindow) damageScrPriv(pScreen); while ((pDamage = damageGetWinPriv(pWindow))) { - DamageUnregister(&pWindow->drawable, pDamage); DamageDestroy(pDamage); } unwrap(pScrPriv, pScreen, DestroyWindow); @@ -1783,9 +1702,7 @@ DamageCreate(DamageReportFunc damageReport, pDamage->reportAfter = FALSE; pDamage->damageReport = damageReport; - pDamage->damageReportPostRendering = NULL; pDamage->damageDestroy = damageDestroy; - pDamage->damageMarker = NULL; pDamage->pScreen = pScreen; (*pScrPriv->funcs.Create) (pDamage); @@ -1841,8 +1758,9 @@ DamageDrawInternal(ScreenPtr pScreen, Bool enable) } void -DamageUnregister(DrawablePtr pDrawable, DamagePtr pDamage) +DamageUnregister(DamagePtr pDamage) { + DrawablePtr pDrawable = pDamage->pDrawable; ScreenPtr pScreen = pDrawable->pScreen; damageScrPriv(pScreen); @@ -1885,6 +1803,9 @@ DamageDestroy(DamagePtr pDamage) damageScrPriv(pScreen); + if (pDamage->pDrawable) + DamageUnregister(pDamage); + if (pDamage->damageDestroy) (*pDamage->damageDestroy) (pDamage, pDamage->closure); (*pScrPriv->funcs.Destroy) (pDamage); @@ -1953,17 +1874,6 @@ DamageRegionProcessPending(DrawablePtr pDrawable) damageRegionProcessPending(pDrawable); } -/* If a damage marker is provided, then this function must be called after rendering is done. */ -/* Please do call back so any future enhancements can assume this function is called. */ -/* There are no strict timing requirements for calling this function, just as soon as (is cheaply) possible. */ -void -DamageRegionRendered(DrawablePtr pDrawable, DamagePtr pDamage, - RegionPtr pOldDamage, RegionPtr pRegion) -{ - if (pDamage->damageReportPostRendering) - damageReportDamagePostRendering(pDamage, pOldDamage, pRegion); -} - /* This call is very odd, i'm leaving it intact for API sake, but please don't use it. */ void DamageDamageRegion(DrawablePtr pDrawable, RegionPtr pRegion) @@ -1983,15 +1893,6 @@ DamageSetReportAfterOp(DamagePtr pDamage, Bool reportAfter) pDamage->reportAfter = reportAfter; } -void -DamageSetPostRenderingFunctions(DamagePtr pDamage, - DamageReportFunc damageReportPostRendering, - DamageMarkerFunc damageMarker) -{ - pDamage->damageReportPostRendering = damageReportPostRendering; - pDamage->damageMarker = damageMarker; -} - DamageScreenFuncsPtr DamageGetScreenFuncs(ScreenPtr pScreen) { diff --git a/xserver/miext/damage/damage.h b/xserver/miext/damage/damage.h index c2c313a15..525b2db5d 100644 --- a/xserver/miext/damage/damage.h +++ b/xserver/miext/damage/damage.h @@ -41,12 +41,6 @@ typedef void (*DamageReportFunc) (DamagePtr pDamage, RegionPtr pRegion, void *closure); typedef void (*DamageDestroyFunc) (DamagePtr pDamage, void *closure); -/* It's the responsibility of the driver to duplicate both regions. */ -/* At some point DamageRegionRendered() must be called. */ -typedef void (*DamageMarkerFunc) (DrawablePtr pDrawable, DamagePtr pDamage, - RegionPtr pOldDamage, RegionPtr pRegion, - void *closure); - typedef void (*DamageScreenCreateFunc) (DamagePtr); typedef void (*DamageScreenRegisterFunc) (DrawablePtr, DamagePtr); typedef void (*DamageScreenUnregisterFunc) (DrawablePtr, DamagePtr); @@ -80,7 +74,7 @@ extern _X_EXPORT void DamageRegister(DrawablePtr pDrawable, DamagePtr pDamage); extern _X_EXPORT void - DamageUnregister(DrawablePtr pDrawable, DamagePtr pDamage); + DamageUnregister(DamagePtr pDamage); extern _X_EXPORT void DamageDestroy(DamagePtr pDamage); @@ -105,12 +99,6 @@ extern _X_EXPORT void extern _X_EXPORT void DamageRegionProcessPending(DrawablePtr pDrawable); -/* Call this some time after rendering is done, only relevant when a damageMarker is provided. */ -extern _X_EXPORT void - -DamageRegionRendered(DrawablePtr pDrawable, DamagePtr pDamage, - RegionPtr pOldDamage, RegionPtr pRegion); - /* Call this when you create a new Damage and you wish to send an initial damage message (to it). */ extern _X_EXPORT void DamageReportDamage(DamagePtr pDamage, RegionPtr pDamageRegion); @@ -122,12 +110,6 @@ extern _X_EXPORT void extern _X_EXPORT void DamageSetReportAfterOp(DamagePtr pDamage, Bool reportAfter); -extern _X_EXPORT void - -DamageSetPostRenderingFunctions(DamagePtr pDamage, - DamageReportFunc damageReportPostRendering, - DamageMarkerFunc damageMarker); - extern _X_EXPORT DamageScreenFuncsPtr DamageGetScreenFuncs(ScreenPtr); #endif /* _DAMAGE_H_ */ diff --git a/xserver/miext/damage/damagestr.h b/xserver/miext/damage/damagestr.h index 89189905e..36753ee20 100644 --- a/xserver/miext/damage/damagestr.h +++ b/xserver/miext/damage/damagestr.h @@ -44,13 +44,10 @@ typedef struct _damage { DrawablePtr pDrawable; DamageReportFunc damageReport; - DamageReportFunc damageReportPostRendering; DamageDestroyFunc damageDestroy; - DamageMarkerFunc damageMarker; Bool reportAfter; RegionRec pendingDamage; /* will be flushed post submission at the latest */ - RegionRec backupDamage; /* for use with damageMarker */ ScreenPtr pScreen; PrivateRec *devPrivates; } DamageRec; diff --git a/xserver/miext/rootless/Makefile.in b/xserver/miext/rootless/Makefile.in index 33f7c5253..5dde41557 100644 --- a/xserver/miext/rootless/Makefile.in +++ b/xserver/miext/rootless/Makefile.in @@ -179,9 +179,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -213,6 +216,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -242,6 +246,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -285,6 +291,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -298,12 +305,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -369,6 +376,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/miext/rootless/rootlessWindow.c b/xserver/miext/rootless/rootlessWindow.c index cfcb6e558..7e3c28130 100644 --- a/xserver/miext/rootless/rootlessWindow.c +++ b/xserver/miext/rootless/rootlessWindow.c @@ -684,7 +684,7 @@ RootlessResizeCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, if (gResizeDeathCount == 1) { /* Simple case, we only have a single source pixmap. */ - fbCopyRegion(&gResizeDeathPix[0]->drawable, + miCopyRegion(&gResizeDeathPix[0]->drawable, &pScreen->GetWindowPixmap(pWin)->drawable, 0, &rgnDst, dx, dy, fbCopyWindowProc, 0, 0); } @@ -700,7 +700,7 @@ RootlessResizeCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionNull(&clipped); RegionIntersect(&rgnDst, &clip, &clipped); - fbCopyRegion(&gResizeDeathPix[i]->drawable, + miCopyRegion(&gResizeDeathPix[i]->drawable, &pScreen->GetWindowPixmap(pWin)->drawable, 0, &clipped, dx, dy, fbCopyWindowProc, 0, 0); @@ -778,7 +778,7 @@ RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) else { RootlessStartDrawing(pWin); - fbCopyRegion((DrawablePtr) pWin, (DrawablePtr) pWin, + miCopyRegion((DrawablePtr) pWin, (DrawablePtr) pWin, 0, &rgnDst, dx, dy, fbCopyWindowProc, 0, 0); /* prgnSrc has been translated to dst position */ diff --git a/xserver/miext/shadow/Makefile.am b/xserver/miext/shadow/Makefile.am index 30f7bda96..27cf41422 100644 --- a/xserver/miext/shadow/Makefile.am +++ b/xserver/miext/shadow/Makefile.am @@ -7,9 +7,14 @@ sdk_HEADERS = shadow.h endif libshadow_la_SOURCES = \ + c2p_core.h \ shadow.c \ shadow.h \ + shafb4.c \ + shafb8.c \ shalloc.c \ + shiplan2p4.c \ + shiplan2p8.c \ shpacked.c \ shplanar8.c \ shplanar.c \ diff --git a/xserver/miext/shadow/Makefile.in b/xserver/miext/shadow/Makefile.in index 7655cdec7..6c5b9dba3 100644 --- a/xserver/miext/shadow/Makefile.in +++ b/xserver/miext/shadow/Makefile.in @@ -75,8 +75,9 @@ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libshadow_la_LIBADD = -am_libshadow_la_OBJECTS = shadow.lo shalloc.lo shpacked.lo \ - shplanar8.lo shplanar.lo shrot16pack_180.lo shrot16pack_270.lo \ +am_libshadow_la_OBJECTS = shadow.lo shafb4.lo shafb8.lo shalloc.lo \ + shiplan2p4.lo shiplan2p8.lo shpacked.lo shplanar8.lo \ + shplanar.lo shrot16pack_180.lo shrot16pack_270.lo \ shrot16pack_270YX.lo shrot16pack_90.lo shrot16pack_90YX.lo \ shrot16pack.lo shrot32pack_180.lo shrot32pack_270.lo \ shrot32pack_90.lo shrot32pack.lo shrot8pack_180.lo \ @@ -214,9 +215,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -248,6 +252,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -277,6 +282,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -320,6 +327,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -333,12 +341,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -404,6 +412,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -486,9 +496,14 @@ noinst_LTLIBRARIES = libshadow.la AM_CFLAGS = $(DIX_CFLAGS) @XORG_TRUE@sdk_HEADERS = shadow.h libshadow_la_SOURCES = \ + c2p_core.h \ shadow.c \ shadow.h \ + shafb4.c \ + shafb8.c \ shalloc.c \ + shiplan2p4.c \ + shiplan2p8.c \ shpacked.c \ shplanar8.c \ shplanar.c \ @@ -565,7 +580,11 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadow.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shafb4.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shafb8.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shalloc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shiplan2p4.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shiplan2p8.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shpacked.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shplanar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shplanar8.Plo@am__quote@ diff --git a/xserver/miext/shadow/c2p_core.h b/xserver/miext/shadow/c2p_core.h new file mode 100644 index 000000000..5b9ea066c --- /dev/null +++ b/xserver/miext/shadow/c2p_core.h @@ -0,0 +1,187 @@ +/* + * Fast C2P (Chunky-to-Planar) Conversion + * + * NOTES: + * - This code was inspired by Scout's C2P tutorial + * - It assumes to run on a big endian system + * + * Copyright © 2003-2008 Geert Uytterhoeven + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + + + /* + * Basic transpose step + */ + +static inline void _transp(CARD32 d[], unsigned int i1, unsigned int i2, + unsigned int shift, CARD32 mask) +{ + CARD32 t = (d[i1] ^ (d[i2] >> shift)) & mask; + + d[i1] ^= t; + d[i2] ^= t << shift; +} + + +static inline void c2p_unsupported(void) { + BUG_WARN(1); +} + +static inline CARD32 get_mask(unsigned int n) +{ + switch (n) { + case 1: + return 0x55555555; + + case 2: + return 0x33333333; + + case 4: + return 0x0f0f0f0f; + + case 8: + return 0x00ff00ff; + + case 16: + return 0x0000ffff; + } + + c2p_unsupported(); + return 0; +} + + + /* + * Transpose operations on 8 32-bit words + */ + +static inline void transp8(CARD32 d[], unsigned int n, unsigned int m) +{ + CARD32 mask = get_mask(n); + + switch (m) { + case 1: + /* First n x 1 block */ + _transp(d, 0, 1, n, mask); + /* Second n x 1 block */ + _transp(d, 2, 3, n, mask); + /* Third n x 1 block */ + _transp(d, 4, 5, n, mask); + /* Fourth n x 1 block */ + _transp(d, 6, 7, n, mask); + return; + + case 2: + /* First n x 2 block */ + _transp(d, 0, 2, n, mask); + _transp(d, 1, 3, n, mask); + /* Second n x 2 block */ + _transp(d, 4, 6, n, mask); + _transp(d, 5, 7, n, mask); + return; + + case 4: + /* Single n x 4 block */ + _transp(d, 0, 4, n, mask); + _transp(d, 1, 5, n, mask); + _transp(d, 2, 6, n, mask); + _transp(d, 3, 7, n, mask); + return; + } + + c2p_unsupported(); +} + + + /* + * Transpose operations on 4 32-bit words + */ + +static inline void transp4(CARD32 d[], unsigned int n, unsigned int m) +{ + CARD32 mask = get_mask(n); + + switch (m) { + case 1: + /* First n x 1 block */ + _transp(d, 0, 1, n, mask); + /* Second n x 1 block */ + _transp(d, 2, 3, n, mask); + return; + + case 2: + /* Single n x 2 block */ + _transp(d, 0, 2, n, mask); + _transp(d, 1, 3, n, mask); + return; + } + + c2p_unsupported(); +} + + + /* + * Transpose operations on 4 32-bit words (reverse order) + */ + +static inline void transp4x(CARD32 d[], unsigned int n, unsigned int m) +{ + CARD32 mask = get_mask(n); + + switch (m) { + case 2: + /* Single n x 2 block */ + _transp(d, 2, 0, n, mask); + _transp(d, 3, 1, n, mask); + return; + } + + c2p_unsupported(); +} + + + /* + * Transpose operations on 2 32-bit words + */ + +static inline void transp2(CARD32 d[], unsigned int n) +{ + CARD32 mask = get_mask(n); + + /* Single n x 1 block */ + _transp(d, 0, 1, n, mask); + return; +} + + + /* + * Transpose operations on 2 32-bit words (reverse order) + */ + +static inline void transp2x(CARD32 d[], unsigned int n) +{ + CARD32 mask = get_mask(n); + + /* Single n x 1 block */ + _transp(d, 1, 0, n, mask); + return; +} diff --git a/xserver/miext/shadow/shadow.c b/xserver/miext/shadow/shadow.c index 2d869e54b..1a9088c43 100644 --- a/xserver/miext/shadow/shadow.c +++ b/xserver/miext/shadow/shadow.c @@ -219,7 +219,7 @@ shadowRemove(ScreenPtr pScreen, PixmapPtr pPixmap) shadowBuf(pScreen); if (pBuf->pPixmap) { - DamageUnregister(&pBuf->pPixmap->drawable, pBuf->pDamage); + DamageUnregister(pBuf->pDamage); pBuf->update = 0; pBuf->window = 0; pBuf->randr = 0; diff --git a/xserver/miext/shadow/shadow.h b/xserver/miext/shadow/shadow.h index 83de22ccc..421ae96a6 100644 --- a/xserver/miext/shadow/shadow.h +++ b/xserver/miext/shadow/shadow.h @@ -95,6 +95,18 @@ shadowInit(ScreenPtr pScreen, ShadowUpdateProc update, ShadowWindowProc window); extern _X_EXPORT void *shadowAlloc(int width, int height, int bpp); +extern _X_EXPORT void + shadowUpdateAfb4(ScreenPtr pScreen, shadowBufPtr pBuf); + +extern _X_EXPORT void + shadowUpdateAfb8(ScreenPtr pScreen, shadowBufPtr pBuf); + +extern _X_EXPORT void + shadowUpdateIplan2p4(ScreenPtr pScreen, shadowBufPtr pBuf); + +extern _X_EXPORT void + shadowUpdateIplan2p8(ScreenPtr pScreen, shadowBufPtr pBuf); + extern _X_EXPORT void shadowUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf); diff --git a/xserver/miext/shadow/shafb4.c b/xserver/miext/shadow/shafb4.c new file mode 100644 index 000000000..d88ae1c2c --- /dev/null +++ b/xserver/miext/shadow/shafb4.c @@ -0,0 +1,139 @@ +/* + * Copyright © 2013 Geert Uytterhoeven + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Based on shpacked.c, which is Copyright © 2000 Keith Packard + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include + +#include +#include "scrnintstr.h" +#include "windowstr.h" +#include +#include "dixfontstr.h" +#include +#include "mi.h" +#include "regionstr.h" +#include "globals.h" +#include "gcstruct.h" +#include "shadow.h" +#include "fb.h" +#include "c2p_core.h" + + + /* + * Perform a full C2P step on 32 4-bit pixels, stored in 4 32-bit words + * containing + * - 32 4-bit chunky pixels on input + * - permutated planar data (1 plane per 32-bit word) on output + */ + +static void c2p_32x4(CARD32 d[4]) +{ + transp4(d, 16, 2); + transp4(d, 8, 1); + transp4(d, 4, 2); + transp4(d, 2, 1); + transp4(d, 1, 2); +} + + + /* + * Store a full block of permutated planar data after c2p conversion + */ + +static inline void store_afb4(void *dst, unsigned int stride, + const CARD32 d[4]) +{ + CARD8 *p = dst; + + *(CARD32 *)p = d[3]; p += stride; + *(CARD32 *)p = d[1]; p += stride; + *(CARD32 *)p = d[2]; p += stride; + *(CARD32 *)p = d[0]; p += stride; +} + + +void +shadowUpdateAfb4(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + RegionPtr damage = shadowDamage(pBuf); + PixmapPtr pShadow = pBuf->pPixmap; + int nbox = RegionNumRects(damage); + BoxPtr pbox = RegionRects(damage); + FbBits *shaBase; + CARD32 *shaLine, *sha; + FbStride shaStride; + int scrLine; + _X_UNUSED int shaBpp, shaXoff, shaYoff; + int x, y, w, h; + int i, n; + CARD32 *win; + CARD32 off, winStride; + union { + CARD8 bytes[16]; + CARD32 words[4]; + } d; + + fbGetDrawable(&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, + shaYoff); + if (sizeof(FbBits) != sizeof(CARD32)) + shaStride = shaStride * sizeof(FbBits) / sizeof(CARD32); + + while (nbox--) { + x = pbox->x1; + y = pbox->y1; + w = pbox->x2 - pbox->x1; + h = pbox->y2 - pbox->y1; + + scrLine = (x & -32) / 2; + shaLine = (CARD32 *)shaBase + y * shaStride + scrLine / sizeof(CARD32); + + off = scrLine / 4; /* byte offset in bitplane scanline */ + n = ((x & 31) + w + 31) / 32; /* number of c2p units in scanline */ + + while (h--) { + sha = shaLine; + win = (CARD32 *) (*pBuf->window) (pScreen, + y, + off, + SHADOW_WINDOW_WRITE, + &winStride, + pBuf->closure); + if (!win) + return; + for (i = 0; i < n; i++) { + memcpy(d.bytes, sha, sizeof(d.bytes)); + c2p_32x4(d.words); + store_afb4(win++, winStride, d.words); + sha += sizeof(d.bytes) / sizeof(*sha); + } + shaLine += shaStride; + y++; + } + pbox++; + } +} diff --git a/xserver/miext/shadow/shafb8.c b/xserver/miext/shadow/shafb8.c new file mode 100644 index 000000000..8d84bfa01 --- /dev/null +++ b/xserver/miext/shadow/shafb8.c @@ -0,0 +1,143 @@ +/* + * Copyright © 2013 Geert Uytterhoeven + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Based on shpacked.c, which is Copyright © 2000 Keith Packard + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include + +#include +#include "scrnintstr.h" +#include "windowstr.h" +#include +#include "dixfontstr.h" +#include +#include "mi.h" +#include "regionstr.h" +#include "globals.h" +#include "gcstruct.h" +#include "shadow.h" +#include "fb.h" +#include "c2p_core.h" + + + /* + * Perform a full C2P step on 32 8-bit pixels, stored in 8 32-bit words + * containing + * - 32 8-bit chunky pixels on input + * - permutated planar data (1 plane per 32-bit word) on output + */ + +static void c2p_32x8(CARD32 d[8]) +{ + transp8(d, 16, 4); + transp8(d, 8, 2); + transp8(d, 4, 1); + transp8(d, 2, 4); + transp8(d, 1, 2); +} + + + /* + * Store a full block of permutated planar data after c2p conversion + */ + +static inline void store_afb8(void *dst, unsigned int stride, + const CARD32 d[8]) +{ + CARD8 *p = dst; + + *(CARD32 *)p = d[7]; p += stride; + *(CARD32 *)p = d[5]; p += stride; + *(CARD32 *)p = d[3]; p += stride; + *(CARD32 *)p = d[1]; p += stride; + *(CARD32 *)p = d[6]; p += stride; + *(CARD32 *)p = d[4]; p += stride; + *(CARD32 *)p = d[2]; p += stride; + *(CARD32 *)p = d[0]; p += stride; +} + + +void +shadowUpdateAfb8(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + RegionPtr damage = shadowDamage(pBuf); + PixmapPtr pShadow = pBuf->pPixmap; + int nbox = RegionNumRects(damage); + BoxPtr pbox = RegionRects(damage); + FbBits *shaBase; + CARD32 *shaLine, *sha; + FbStride shaStride; + int scrLine; + _X_UNUSED int shaBpp, shaXoff, shaYoff; + int x, y, w, h; + int i, n; + CARD32 *win; + CARD32 off, winStride; + union { + CARD8 bytes[32]; + CARD32 words[8]; + } d; + + fbGetDrawable(&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, + shaYoff); + if (sizeof(FbBits) != sizeof(CARD32)) + shaStride = shaStride * sizeof(FbBits) / sizeof(CARD32); + + while (nbox--) { + x = pbox->x1; + y = pbox->y1; + w = pbox->x2 - pbox->x1; + h = pbox->y2 - pbox->y1; + + scrLine = x & -32; + shaLine = (CARD32 *)shaBase + y * shaStride + scrLine / sizeof(CARD32); + + off = scrLine / 8; /* byte offset in bitplane scanline */ + n = ((x & 31) + w + 31) / 32; /* number of c2p units in scanline */ + + while (h--) { + sha = shaLine; + win = (CARD32 *) (*pBuf->window) (pScreen, + y, + off, + SHADOW_WINDOW_WRITE, + &winStride, + pBuf->closure); + if (!win) + return; + for (i = 0; i < n; i++) { + memcpy(d.bytes, sha, sizeof(d.bytes)); + c2p_32x8(d.words); + store_afb8(win++, winStride, d.words); + sha += sizeof(d.bytes) / sizeof(*sha); + } + shaLine += shaStride; + y++; + } + pbox++; + } +} diff --git a/xserver/miext/shadow/shiplan2p4.c b/xserver/miext/shadow/shiplan2p4.c new file mode 100644 index 000000000..0e46bae7a --- /dev/null +++ b/xserver/miext/shadow/shiplan2p4.c @@ -0,0 +1,136 @@ +/* + * Copyright © 2013 Geert Uytterhoeven + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Based on shpacked.c, which is Copyright © 2000 Keith Packard + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include + +#include +#include "scrnintstr.h" +#include "windowstr.h" +#include +#include "dixfontstr.h" +#include +#include "mi.h" +#include "regionstr.h" +#include "globals.h" +#include "gcstruct.h" +#include "shadow.h" +#include "fb.h" +#include "c2p_core.h" + + + /* + * Perform a full C2P step on 16 4-bit pixels, stored in 2 32-bit words + * containing + * - 16 4-bit chunky pixels on input + * - permutated planar data (2 planes per 32-bit word) on output + */ + +static void c2p_16x4(CARD32 d[2]) +{ + transp2(d, 8); + transp2(d, 2); + transp2x(d, 1); + transp2(d, 16); + transp2(d, 4); + transp2(d, 1); +} + + + /* + * Store a full block of iplan2p4 data after c2p conversion + */ + +static inline void store_iplan2p4(void *dst, const CARD32 d[2]) +{ + CARD32 *p = dst; + + *p++ = d[0]; + *p++ = d[1]; +} + + +void +shadowUpdateIplan2p4(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + RegionPtr damage = shadowDamage(pBuf); + PixmapPtr pShadow = pBuf->pPixmap; + int nbox = RegionNumRects(damage); + BoxPtr pbox = RegionRects(damage); + FbBits *shaBase; + CARD16 *shaLine, *sha; + FbStride shaStride; + int scrLine; + _X_UNUSED int shaBpp, shaXoff, shaYoff; + int x, y, w, h; + int i, n; + CARD16 *win; + _X_UNUSED CARD32 winSize; + union { + CARD8 bytes[8]; + CARD32 words[2]; + } d; + + fbGetDrawable(&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, + shaYoff); + shaStride *= sizeof(FbBits) / sizeof(CARD16); + + while (nbox--) { + x = pbox->x1; + y = pbox->y1; + w = pbox->x2 - pbox->x1; + h = pbox->y2 - pbox->y1; + + scrLine = (x & -16) / 2; + shaLine = (CARD16 *)shaBase + y * shaStride + scrLine / sizeof(CARD16); + + n = ((x & 15) + w + 15) / 16; /* number of c2p units in scanline */ + + while (h--) { + sha = shaLine; + win = (CARD16 *) (*pBuf->window) (pScreen, + y, + scrLine, + SHADOW_WINDOW_WRITE, + &winSize, + pBuf->closure); + if (!win) + return; + for (i = 0; i < n; i++) { + memcpy(d.bytes, sha, sizeof(d.bytes)); + c2p_16x4(d.words); + store_iplan2p4(win, d.words); + sha += sizeof(d.bytes) / sizeof(*sha); + win += sizeof(d.bytes) / sizeof(*win); + } + shaLine += shaStride; + y++; + } + pbox++; + } +} diff --git a/xserver/miext/shadow/shiplan2p8.c b/xserver/miext/shadow/shiplan2p8.c new file mode 100644 index 000000000..17d6a132e --- /dev/null +++ b/xserver/miext/shadow/shiplan2p8.c @@ -0,0 +1,137 @@ +/* + * Copyright © 2013 Geert Uytterhoeven + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Based on shpacked.c, which is Copyright © 2000 Keith Packard + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include + +#include +#include "scrnintstr.h" +#include "windowstr.h" +#include +#include "dixfontstr.h" +#include +#include "mi.h" +#include "regionstr.h" +#include "globals.h" +#include "gcstruct.h" +#include "shadow.h" +#include "fb.h" +#include "c2p_core.h" + + + /* + * Perform a full C2P step on 16 8-bit pixels, stored in 4 32-bit words + * containing + * - 16 8-bit chunky pixels on input + * - permutated planar data (2 planes per 32-bit word) on output + */ + +static void c2p_16x8(CARD32 d[4]) +{ + transp4(d, 8, 2); + transp4(d, 1, 2); + transp4x(d, 16, 2); + transp4x(d, 2, 2); + transp4(d, 4, 1); +} + + + /* + * Store a full block of permutated iplan2p8 data after c2p conversion + */ + +static inline void store_iplan2p8(void *dst, const CARD32 d[4]) +{ + CARD32 *p = dst; + + *p++ = d[1]; + *p++ = d[3]; + *p++ = d[0]; + *p++ = d[2]; +} + + +void +shadowUpdateIplan2p8(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + RegionPtr damage = shadowDamage(pBuf); + PixmapPtr pShadow = pBuf->pPixmap; + int nbox = RegionNumRects(damage); + BoxPtr pbox = RegionRects(damage); + FbBits *shaBase; + CARD16 *shaLine, *sha; + FbStride shaStride; + int scrLine; + _X_UNUSED int shaBpp, shaXoff, shaYoff; + int x, y, w, h; + int i, n; + CARD16 *win; + _X_UNUSED CARD32 winSize; + union { + CARD8 bytes[16]; + CARD32 words[4]; + } d; + + fbGetDrawable(&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, + shaYoff); + shaStride *= sizeof(FbBits) / sizeof(CARD16); + + while (nbox--) { + x = pbox->x1; + y = pbox->y1; + w = pbox->x2 - pbox->x1; + h = pbox->y2 - pbox->y1; + + scrLine = x & -16; + shaLine = (CARD16 *)shaBase + y * shaStride + scrLine / sizeof(CARD16); + + n = ((x & 15) + w + 15) / 16; /* number of c2p units in scanline */ + + while (h--) { + sha = shaLine; + win = (CARD16 *) (*pBuf->window) (pScreen, + y, + scrLine, + SHADOW_WINDOW_WRITE, + &winSize, + pBuf->closure); + if (!win) + return; + for (i = 0; i < n; i++) { + memcpy(d.bytes, sha, sizeof(d.bytes)); + c2p_16x8(d.words); + store_iplan2p8(win, d.words); + sha += sizeof(d.bytes) / sizeof(*sha); + win += sizeof(d.bytes) / sizeof(*win); + } + shaLine += shaStride; + y++; + } + pbox++; + } +} diff --git a/xserver/miext/shadow/shpacked.c b/xserver/miext/shadow/shpacked.c index d2b2e5e24..5ef18f86d 100644 --- a/xserver/miext/shadow/shpacked.c +++ b/xserver/miext/shadow/shpacked.c @@ -98,7 +98,6 @@ shadowUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) i = width; width -= i; scr += i; -#define PickBit(a,i) (((a) >> (i)) & 1) memcpy(win, sha, i * sizeof(FbBits)); sha += i; } diff --git a/xserver/miext/sync/Makefile.am b/xserver/miext/sync/Makefile.am index 36b2816d7..34961d5ff 100644 --- a/xserver/miext/sync/Makefile.am +++ b/xserver/miext/sync/Makefile.am @@ -2,13 +2,20 @@ noinst_LTLIBRARIES = libsync.la AM_CFLAGS = $(DIX_CFLAGS) -INCLUDES = +AM_CPPFLAGS = if XORG -sdk_HEADERS = misync.h misyncstr.h +sdk_HEADERS = misync.h misyncstr.h misyncshm.h misyncfd.h endif +XSHMFENCE_SRCS = misyncshm.c + libsync_la_SOURCES = \ misync.c \ misync.h \ + misyncfd.c \ misyncstr.h + +if XSHMFENCE +libsync_la_SOURCES += $(XSHMFENCE_SRCS) +endif diff --git a/xserver/miext/sync/Makefile.in b/xserver/miext/sync/Makefile.in index cb45746f2..6ed8d7fc2 100644 --- a/xserver/miext/sync/Makefile.in +++ b/xserver/miext/sync/Makefile.in @@ -51,6 +51,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@XSHMFENCE_TRUE@am__append_1 = $(XSHMFENCE_SRCS) subdir = miext/sync DIST_COMMON = $(am__sdk_HEADERS_DIST) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/depcomp @@ -75,7 +76,11 @@ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libsync_la_LIBADD = -am_libsync_la_OBJECTS = misync.lo +am__libsync_la_SOURCES_DIST = misync.c misync.h misyncfd.c misyncstr.h \ + misyncshm.c +am__objects_1 = misyncshm.lo +@XSHMFENCE_TRUE@am__objects_2 = $(am__objects_1) +am_libsync_la_OBJECTS = misync.lo misyncfd.lo $(am__objects_2) libsync_la_OBJECTS = $(am_libsync_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -116,13 +121,13 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libsync_la_SOURCES) -DIST_SOURCES = $(libsync_la_SOURCES) +DIST_SOURCES = $(am__libsync_la_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac -am__sdk_HEADERS_DIST = misync.h misyncstr.h +am__sdk_HEADERS_DIST = misync.h misyncstr.h misyncshm.h misyncfd.h am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -209,9 +214,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -243,6 +251,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -272,6 +281,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -315,6 +326,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -328,12 +340,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -399,6 +411,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -479,13 +493,11 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libsync.la AM_CFLAGS = $(DIX_CFLAGS) -INCLUDES = -@XORG_TRUE@sdk_HEADERS = misync.h misyncstr.h -libsync_la_SOURCES = \ - misync.c \ - misync.h \ - misyncstr.h - +AM_CPPFLAGS = +@XORG_TRUE@sdk_HEADERS = misync.h misyncstr.h misyncshm.h misyncfd.h +XSHMFENCE_SRCS = misyncshm.c +libsync_la_SOURCES = misync.c misync.h misyncfd.c misyncstr.h \ + $(am__append_1) all: all-am .SUFFIXES: @@ -541,6 +553,8 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misync.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misyncfd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misyncshm.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< diff --git a/xserver/miext/sync/misync.c b/xserver/miext/sync/misync.c index d24921a18..3d03d1b59 100644 --- a/xserver/miext/sync/misync.c +++ b/xserver/miext/sync/misync.c @@ -29,20 +29,7 @@ #include "misync.h" #include "misyncstr.h" -static DevPrivateKeyRec syncScreenPrivateKeyRec; -static DevPrivateKey syncScreenPrivateKey = &syncScreenPrivateKeyRec; - -#define SYNC_SCREEN_PRIV(pScreen) \ - (SyncScreenPrivPtr) dixLookupPrivate(&pScreen->devPrivates, \ - syncScreenPrivateKey) - -typedef struct _syncScreenPriv { - /* Wrappable sync-specific screen functions */ - SyncScreenFuncsRec funcs; - - /* Wrapped screen functions */ - CloseScreenProcPtr CloseScreen; -} SyncScreenPrivRec, *SyncScreenPrivPtr; +DevPrivateKeyRec miSyncScreenPrivateKey; /* Default implementations of the sync screen functions */ void @@ -62,25 +49,25 @@ miSyncScreenDestroyFence(ScreenPtr pScreen, SyncFence * pFence) } /* Default implementations of the per-object functions */ -static void +void miSyncFenceSetTriggered(SyncFence * pFence) { pFence->triggered = TRUE; } -static void +void miSyncFenceReset(SyncFence * pFence) { pFence->triggered = FALSE; } -static Bool +Bool miSyncFenceCheckTriggered(SyncFence * pFence) { return pFence->triggered; } -static void +void miSyncFenceAddTrigger(SyncTrigger * pTrigger) { (void) pTrigger; @@ -88,7 +75,7 @@ miSyncFenceAddTrigger(SyncTrigger * pTrigger) return; } -static void +void miSyncFenceDeleteTrigger(SyncTrigger * pTrigger) { (void) pTrigger; @@ -182,20 +169,21 @@ miSyncSetup(ScreenPtr pScreen) &miSyncScreenDestroyFence }; - if (dixPrivateKeyRegistered(syncScreenPrivateKey)) - return TRUE; - - if (!dixRegisterPrivateKey(syncScreenPrivateKey, PRIVATE_SCREEN, - sizeof(SyncScreenPrivRec))) - return FALSE; + if (!dixPrivateKeyRegistered(&miSyncScreenPrivateKey)) { + if (!dixRegisterPrivateKey(&miSyncScreenPrivateKey, PRIVATE_SCREEN, + sizeof(SyncScreenPrivRec))) + return FALSE; + } pScreenPriv = SYNC_SCREEN_PRIV(pScreen); - pScreenPriv->funcs = miSyncScreenFuncs; + if (!pScreenPriv->funcs.CreateFence) { + pScreenPriv->funcs = miSyncScreenFuncs; - /* Wrap CloseScreen to clean up */ - pScreenPriv->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = SyncCloseScreen; + /* Wrap CloseScreen to clean up */ + pScreenPriv->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = SyncCloseScreen; + } return TRUE; } diff --git a/xserver/miext/sync/misync.h b/xserver/miext/sync/misync.h index deebb82bc..dc78c5fdb 100644 --- a/xserver/miext/sync/misync.h +++ b/xserver/miext/sync/misync.h @@ -42,8 +42,8 @@ typedef struct _syncScreenFuncs { SyncScreenDestroyFenceFunc DestroyFence; } SyncScreenFuncsRec, *SyncScreenFuncsPtr; -extern _X_EXPORT void +extern _X_EXPORT void miSyncScreenCreateFence(ScreenPtr pScreen, SyncFence * pFence, Bool initially_triggered); extern _X_EXPORT void @@ -76,4 +76,25 @@ extern _X_EXPORT SyncScreenFuncsPtr miSyncGetScreenFuncs(ScreenPtr pScreen); extern _X_EXPORT Bool miSyncSetup(ScreenPtr pScreen); +Bool +miSyncFenceCheckTriggered(SyncFence * pFence); + +void +miSyncFenceSetTriggered(SyncFence * pFence); + +void +miSyncFenceReset(SyncFence * pFence); + +void +miSyncFenceAddTrigger(SyncTrigger * pTrigger); + +void +miSyncFenceDeleteTrigger(SyncTrigger * pTrigger); + +int +miSyncInitFenceFromFD(DrawablePtr pDraw, SyncFence *pFence, int fd, BOOL initially_triggered); + +int +miSyncFDFromFence(DrawablePtr pDraw, SyncFence *pFence); + #endif /* _MISYNC_H_ */ diff --git a/xserver/miext/sync/misyncfd.c b/xserver/miext/sync/misyncfd.c new file mode 100644 index 000000000..93ff85fa8 --- /dev/null +++ b/xserver/miext/sync/misyncfd.c @@ -0,0 +1,99 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "scrnintstr.h" +#include "misync.h" +#include "misyncstr.h" +#include "misyncfd.h" +#include "pixmapstr.h" + +static DevPrivateKeyRec syncFdScreenPrivateKey; + +typedef struct _SyncFdScreenPrivate { + SyncFdScreenFuncsRec funcs; +} SyncFdScreenPrivateRec, *SyncFdScreenPrivatePtr; + +static inline SyncFdScreenPrivatePtr sync_fd_screen_priv(ScreenPtr pScreen) +{ + if (!dixPrivateKeyRegistered(&syncFdScreenPrivateKey)) + return NULL; + return dixLookupPrivate(&pScreen->devPrivates, &syncFdScreenPrivateKey); +} + +int +miSyncInitFenceFromFD(DrawablePtr pDraw, SyncFence *pFence, int fd, BOOL initially_triggered) + +{ + SyncFdScreenPrivatePtr priv = sync_fd_screen_priv(pDraw->pScreen); + + if (!priv) + return BadMatch; + + return (*priv->funcs.CreateFenceFromFd)(pDraw->pScreen, pFence, fd, initially_triggered); +} + +int +miSyncFDFromFence(DrawablePtr pDraw, SyncFence *pFence) +{ + SyncFdScreenPrivatePtr priv = sync_fd_screen_priv(pDraw->pScreen); + + if (!priv) + return -1; + + return (*priv->funcs.GetFenceFd)(pDraw->pScreen, pFence); +} + +_X_EXPORT Bool miSyncFdScreenInit(ScreenPtr pScreen, + const SyncFdScreenFuncsRec *funcs) +{ + SyncFdScreenPrivatePtr priv; + + /* Check to see if we've already been initialized */ + if (sync_fd_screen_priv(pScreen) != NULL) + return FALSE; + + if (!miSyncSetup(pScreen)) + return FALSE; + + if (!dixPrivateKeyRegistered(&syncFdScreenPrivateKey)) { + if (!dixRegisterPrivateKey(&syncFdScreenPrivateKey, PRIVATE_SCREEN, 0)) + return FALSE; + } + + priv = calloc(1, sizeof (SyncFdScreenPrivateRec)); + if (!priv) + return FALSE; + + /* Will require version checks when there are multiple versions + * of the funcs structure + */ + + priv->funcs = *funcs; + + dixSetPrivate(&pScreen->devPrivates, &syncFdScreenPrivateKey, priv); + + return TRUE; +} diff --git a/xserver/miext/sync/misyncfd.h b/xserver/miext/sync/misyncfd.h new file mode 100644 index 000000000..c1d05f948 --- /dev/null +++ b/xserver/miext/sync/misyncfd.h @@ -0,0 +1,45 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _MISYNCFD_H_ +#define _MISYNCFD_H_ + +typedef int (*SyncScreenCreateFenceFromFdFunc) (ScreenPtr screen, + SyncFence *fence, + int fd, + Bool initially_triggered); + +typedef int (*SyncScreenGetFenceFdFunc) (ScreenPtr screen, + SyncFence *fence); + +#define SYNC_FD_SCREEN_FUNCS_VERSION 1 + +typedef struct _syncFdScreenFuncs { + int version; + SyncScreenCreateFenceFromFdFunc CreateFenceFromFd; + SyncScreenGetFenceFdFunc GetFenceFd; +} SyncFdScreenFuncsRec, *SyncFdScreenFuncsPtr; + +extern _X_EXPORT Bool miSyncFdScreenInit(ScreenPtr pScreen, + const SyncFdScreenFuncsRec *funcs); + +#endif /* _MISYNCFD_H_ */ diff --git a/xserver/miext/sync/misyncshm.c b/xserver/miext/sync/misyncshm.c new file mode 100644 index 000000000..01f82fc00 --- /dev/null +++ b/xserver/miext/sync/misyncshm.c @@ -0,0 +1,186 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "scrnintstr.h" +#include "misync.h" +#include "misyncstr.h" +#include "misyncshm.h" +#include "misyncfd.h" +#include "pixmapstr.h" +#include +#include +#include +#include + +static DevPrivateKeyRec syncShmFencePrivateKey; + +typedef struct _SyncShmFencePrivate { + struct xshmfence *fence; + int fd; +} SyncShmFencePrivateRec, *SyncShmFencePrivatePtr; + +#define SYNC_FENCE_PRIV(pFence) \ + (SyncShmFencePrivatePtr) dixLookupPrivate(&pFence->devPrivates, &syncShmFencePrivateKey) + +static void +miSyncShmFenceSetTriggered(SyncFence * pFence) +{ + SyncShmFencePrivatePtr pPriv = SYNC_FENCE_PRIV(pFence); + + if (pPriv->fence) + xshmfence_trigger(pPriv->fence); + miSyncFenceSetTriggered(pFence); +} + +static void +miSyncShmFenceReset(SyncFence * pFence) +{ + SyncShmFencePrivatePtr pPriv = SYNC_FENCE_PRIV(pFence); + + if (pPriv->fence) + xshmfence_reset(pPriv->fence); + miSyncFenceReset(pFence); +} + +static Bool +miSyncShmFenceCheckTriggered(SyncFence * pFence) +{ + SyncShmFencePrivatePtr pPriv = SYNC_FENCE_PRIV(pFence); + + if (pPriv->fence) + return xshmfence_query(pPriv->fence); + else + return miSyncFenceCheckTriggered(pFence); +} + +static void +miSyncShmFenceAddTrigger(SyncTrigger * pTrigger) +{ + miSyncFenceAddTrigger(pTrigger); +} + +static void +miSyncShmFenceDeleteTrigger(SyncTrigger * pTrigger) +{ + miSyncFenceDeleteTrigger(pTrigger); +} + +static const SyncFenceFuncsRec miSyncShmFenceFuncs = { + &miSyncShmFenceSetTriggered, + &miSyncShmFenceReset, + &miSyncShmFenceCheckTriggered, + &miSyncShmFenceAddTrigger, + &miSyncShmFenceDeleteTrigger +}; + +static void +miSyncShmScreenCreateFence(ScreenPtr pScreen, SyncFence * pFence, + Bool initially_triggered) +{ + SyncShmFencePrivatePtr pPriv = SYNC_FENCE_PRIV(pFence); + + pPriv->fence = NULL; + miSyncScreenCreateFence(pScreen, pFence, initially_triggered); + pFence->funcs = miSyncShmFenceFuncs; +} + +static void +miSyncShmScreenDestroyFence(ScreenPtr pScreen, SyncFence * pFence) +{ + SyncShmFencePrivatePtr pPriv = SYNC_FENCE_PRIV(pFence); + + if (pPriv->fence) { + xshmfence_trigger(pPriv->fence); + xshmfence_unmap_shm(pPriv->fence); + close(pPriv->fd); + } + miSyncScreenDestroyFence(pScreen, pFence); +} + +static int +miSyncShmCreateFenceFromFd(ScreenPtr pScreen, SyncFence *pFence, int fd, Bool initially_triggered) +{ + SyncShmFencePrivatePtr pPriv = SYNC_FENCE_PRIV(pFence); + + miSyncInitFence(pScreen, pFence, initially_triggered); + + fd = os_move_fd(fd); + pPriv->fence = xshmfence_map_shm(fd); + if (pPriv->fence) { + pPriv->fd = fd; + return Success; + } + else + close(fd); + return BadValue; +} + +static int +miSyncShmGetFenceFd(ScreenPtr pScreen, SyncFence *pFence) +{ + SyncShmFencePrivatePtr pPriv = SYNC_FENCE_PRIV(pFence); + + if (!pPriv->fence) { + pPriv->fd = xshmfence_alloc_shm(); + if (pPriv->fd < 0) + return -1; + pPriv->fd = os_move_fd(pPriv->fd); + pPriv->fence = xshmfence_map_shm(pPriv->fd); + if (!pPriv->fence) { + close (pPriv->fd); + return -1; + } + } + return pPriv->fd; +} + +static const SyncFdScreenFuncsRec miSyncShmScreenFuncs = { + .version = SYNC_FD_SCREEN_FUNCS_VERSION, + .CreateFenceFromFd = miSyncShmCreateFenceFromFd, + .GetFenceFd = miSyncShmGetFenceFd +}; + +_X_EXPORT Bool miSyncShmScreenInit(ScreenPtr pScreen) +{ + SyncScreenFuncsPtr funcs; + + if (!miSyncFdScreenInit(pScreen, &miSyncShmScreenFuncs)) + return FALSE; + + if (!dixPrivateKeyRegistered(&syncShmFencePrivateKey)) { + if (!dixRegisterPrivateKey(&syncShmFencePrivateKey, PRIVATE_SYNC_FENCE, + sizeof(SyncShmFencePrivateRec))) + return FALSE; + } + + funcs = miSyncGetScreenFuncs(pScreen); + + funcs->CreateFence = miSyncShmScreenCreateFence; + funcs->DestroyFence = miSyncShmScreenDestroyFence; + + return TRUE; +} + diff --git a/xserver/miext/sync/misyncshm.h b/xserver/miext/sync/misyncshm.h new file mode 100644 index 000000000..23c001ab1 --- /dev/null +++ b/xserver/miext/sync/misyncshm.h @@ -0,0 +1,28 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _MISYNCSHM_H_ +#define _MISYNCSHM_H_ + +extern _X_EXPORT Bool miSyncShmScreenInit(ScreenPtr pScreen); + +#endif /* _MISYNCSHM_H_ */ diff --git a/xserver/miext/sync/misyncstr.h b/xserver/miext/sync/misyncstr.h index e19256fee..b5bf6fd91 100644 --- a/xserver/miext/sync/misyncstr.h +++ b/xserver/miext/sync/misyncstr.h @@ -29,6 +29,7 @@ #define _MISYNCSTR_H_ #include "dix.h" +#include "scrnintstr.h" #include #define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */ @@ -79,4 +80,18 @@ typedef struct _SyncTriggerList { struct _SyncTriggerList *next; } SyncTriggerList; +extern DevPrivateKeyRec miSyncScreenPrivateKey; + +#define SYNC_SCREEN_PRIV(pScreen) \ + (SyncScreenPrivPtr) dixLookupPrivate(&pScreen->devPrivates, \ + &miSyncScreenPrivateKey) + +typedef struct _syncScreenPriv { + /* Wrappable sync-specific screen functions */ + SyncScreenFuncsRec funcs; + + /* Wrapped screen functions */ + CloseScreenProcPtr CloseScreen; +} SyncScreenPrivRec, *SyncScreenPrivPtr; + #endif /* _MISYNCSTR_H_ */ diff --git a/xserver/os/Makefile.am b/xserver/os/Makefile.am index abf1c4512..c0f5c6ff8 100644 --- a/xserver/os/Makefile.am +++ b/xserver/os/Makefile.am @@ -6,6 +6,7 @@ SECURERPC_SRCS = rpcauth.c XDMCP_SRCS = xdmcp.c PRIVSEP_SRCS = privsep.c XORG_SRCS = log.c +BUSFAULT_SRCS = busfault.c libos_la_SOURCES = \ WaitFor.c \ @@ -36,6 +37,15 @@ if XDMCP libos_la_SOURCES += $(XDMCP_SRCS) endif +if HAVE_LIBUNWIND +AM_CFLAGS += $(LIBUNWIND_CFLAGS) +libos_la_LIBADD += $(LIBUNWIND_LIBS) +endif + +if BUSFAULT +libos_la_SOURCES += $(BUSFAULT_SRCS) +endif + if X_PRIVSEP libos_la_SOURCES += $(PRIVSEP_SRCS) endif diff --git a/xserver/os/Makefile.in b/xserver/os/Makefile.in index 13e33f902..8257f11b5 100644 --- a/xserver/os/Makefile.in +++ b/xserver/os/Makefile.in @@ -53,7 +53,10 @@ build_triplet = @build@ host_triplet = @host@ @SECURE_RPC_TRUE@am__append_1 = $(SECURERPC_SRCS) @XDMCP_TRUE@am__append_2 = $(XDMCP_SRCS) -@X_PRIVSEP_TRUE@am__append_3 = $(PRIVSEP_SRCS) +@HAVE_LIBUNWIND_TRUE@am__append_3 = $(LIBUNWIND_CFLAGS) +@HAVE_LIBUNWIND_TRUE@am__append_4 = $(LIBUNWIND_LIBS) +@BUSFAULT_TRUE@am__append_5 = $(BUSFAULT_SRCS) +@X_PRIVSEP_TRUE@am__append_6 = $(PRIVSEP_SRCS) @SPECIAL_DTRACE_OBJECTS_TRUE@noinst_PROGRAMS = os.O$(EXEEXT) subdir = os DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -80,23 +83,27 @@ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = -libos_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LTLIBOBJS) +@HAVE_LIBUNWIND_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) +libos_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LTLIBOBJS) \ + $(am__DEPENDENCIES_2) am__libos_la_SOURCES_DIST = WaitFor.c access.c auth.c backtrace.c \ client.c connection.c io.c mitauth.c oscolor.c osdep.h \ osinit.c utils.c xdmauth.c xsha1.c xstrans.c xprintf.c log.c \ - rpcauth.c xdmcp.c privsep.c + rpcauth.c xdmcp.c busfault.c privsep.c am__objects_1 = log.lo am__objects_2 = rpcauth.lo @SECURE_RPC_TRUE@am__objects_3 = $(am__objects_2) am__objects_4 = xdmcp.lo @XDMCP_TRUE@am__objects_5 = $(am__objects_4) -am__objects_6 = privsep.lo -@X_PRIVSEP_TRUE@am__objects_7 = $(am__objects_6) +am__objects_6 = busfault.lo +@BUSFAULT_TRUE@am__objects_7 = $(am__objects_6) +am__objects_8 = privsep.lo +@X_PRIVSEP_TRUE@am__objects_9 = $(am__objects_8) am_libos_la_OBJECTS = WaitFor.lo access.lo auth.lo backtrace.lo \ client.lo connection.lo io.lo mitauth.lo oscolor.lo osinit.lo \ utils.lo xdmauth.lo xsha1.lo xstrans.lo xprintf.lo \ $(am__objects_1) $(am__objects_3) $(am__objects_5) \ - $(am__objects_7) + $(am__objects_7) $(am__objects_9) libos_la_OBJECTS = $(am_libos_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -204,9 +211,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -238,6 +248,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -267,6 +278,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -310,6 +323,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -323,12 +337,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -394,6 +408,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -473,16 +489,19 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libos.la -AM_CFLAGS = $(DIX_CFLAGS) $(SHA1_CFLAGS) +AM_CFLAGS = $(DIX_CFLAGS) $(SHA1_CFLAGS) $(am__append_3) SECURERPC_SRCS = rpcauth.c XDMCP_SRCS = xdmcp.c PRIVSEP_SRCS = privsep.c XORG_SRCS = log.c +BUSFAULT_SRCS = busfault.c libos_la_SOURCES = WaitFor.c access.c auth.c backtrace.c client.c \ connection.c io.c mitauth.c oscolor.c osdep.h osinit.c utils.c \ xdmauth.c xsha1.c xstrans.c xprintf.c $(XORG_SRCS) \ - $(am__append_1) $(am__append_2) $(am__append_3) -libos_la_LIBADD = @SHA1_LIBS@ $(DLOPEN_LIBS) $(LTLIBOBJS) + $(am__append_1) $(am__append_2) $(am__append_5) \ + $(am__append_6) +libos_la_LIBADD = @SHA1_LIBS@ $(DLOPEN_LIBS) $(LTLIBOBJS) \ + $(am__append_4) EXTRA_DIST = $(SECURERPC_SRCS) $(XDMCP_SRCS) @SPECIAL_DTRACE_OBJECTS_TRUE@os_O_SOURCES = all: all-am @@ -560,6 +579,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backtrace.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/busfault.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io.Plo@am__quote@ diff --git a/xserver/os/WaitFor.c b/xserver/os/WaitFor.c index c5f4cd78b..39fedd9a2 100644 --- a/xserver/os/WaitFor.c +++ b/xserver/os/WaitFor.c @@ -72,6 +72,7 @@ SOFTWARE. #ifdef DPMSExtension #include "dpmsproc.h" #endif +#include "busfault.h" #ifdef WIN32 /* Error codes from windows sockets differ from fileio error codes */ @@ -162,6 +163,10 @@ WaitForSomething(int *pClientsReady) SmartScheduleStopTimer(); nready = 0; +#ifdef BUSFAULT + busfault_check(); +#endif + /* We need a while loop here to handle crashed connections and the screen saver timeout */ while (1) { diff --git a/xserver/os/access.c b/xserver/os/access.c index 88a44d9e5..6d991b362 100644 --- a/xserver/os/access.c +++ b/xserver/os/access.c @@ -163,6 +163,10 @@ SOFTWARE. /* #endif */ #endif +#if defined(IPv6) && defined(AF_INET6) +#include +#endif + #endif /* WIN32 */ #define X_INCLUDE_NETDB_H @@ -460,10 +464,6 @@ DefineSelf(int fd) #define ifraddr_size(a) (sizeof (a)) #endif -#if defined(IPv6) && defined(AF_INET6) -#include -#endif - #if defined(IPv6) && defined(AF_INET6) static void in6_fillscopeid(struct sockaddr_in6 *sin6) diff --git a/xserver/os/backtrace.c b/xserver/os/backtrace.c index daac60cf6..3d1195b86 100644 --- a/xserver/os/backtrace.c +++ b/xserver/os/backtrace.c @@ -30,6 +30,80 @@ #include #include +#ifdef HAVE_LIBUNWIND + +#define UNW_LOCAL_ONLY +#include + +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#include + +void +xorg_backtrace(void) +{ + unw_cursor_t cursor; + unw_context_t context; + unw_word_t off; + unw_proc_info_t pip; + int ret, i = 0; + char procname[256]; + const char *filename; + Dl_info dlinfo; + + pip.unwind_info = NULL; + ret = unw_getcontext(&context); + if (ret) { + ErrorFSigSafe("unw_getcontext failed: %s [%d]\n", unw_strerror(ret), + ret); + return; + } + + ret = unw_init_local(&cursor, &context); + if (ret) { + ErrorFSigSafe("unw_init_local failed: %s [%d]\n", unw_strerror(ret), + ret); + return; + } + + ErrorFSigSafe("\n"); + ErrorFSigSafe("Backtrace:\n"); + ret = unw_step(&cursor); + while (ret > 0) { + ret = unw_get_proc_info(&cursor, &pip); + if (ret) { + ErrorFSigSafe("unw_get_proc_info failed: %s [%d]\n", + unw_strerror(ret), ret); + break; + } + + ret = unw_get_proc_name(&cursor, procname, 256, &off); + if (ret && ret != -UNW_ENOMEM) { + if (ret != -UNW_EUNSPEC) + ErrorFSigSafe("unw_get_proc_name failed: %s [%d]\n", + unw_strerror(ret), ret); + procname[0] = '?'; + procname[1] = 0; + } + + if (dladdr((void *)(pip.start_ip + off), &dlinfo) && dlinfo.dli_fname && + *dlinfo.dli_fname) + filename = dlinfo.dli_fname; + else + filename = "?"; + + ErrorFSigSafe("%u: %s (%s%s+0x%x) [%p]\n", i++, filename, procname, + ret == -UNW_ENOMEM ? "..." : "", (int)off, + (void *)(pip.start_ip + off)); + + ret = unw_step(&cursor); + if (ret < 0) + ErrorFSigSafe("unw_step failed: %s [%d]\n", unw_strerror(ret), ret); + } + ErrorFSigSafe("\n"); +} +#else /* HAVE_LIBUNWIND */ #ifdef HAVE_BACKTRACE #ifndef _GNU_SOURCE #define _GNU_SOURCE @@ -40,14 +114,15 @@ void xorg_backtrace(void) { - void *array[64]; + const int BT_SIZE = 64; + void *array[BT_SIZE]; const char *mod; int size, i; Dl_info info; ErrorFSigSafe("\n"); ErrorFSigSafe("Backtrace:\n"); - size = backtrace(array, 64); + size = backtrace(array, BT_SIZE); for (i = 0; i < size; i++) { int rc = dladdr(array[i], &info); @@ -246,3 +321,4 @@ xorg_backtrace(void) #endif #endif +#endif diff --git a/xserver/os/busfault.c b/xserver/os/busfault.c new file mode 100644 index 000000000..43bb6ea8a --- /dev/null +++ b/xserver/os/busfault.c @@ -0,0 +1,150 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include +#include +#include "misc.h" +#include +#include +#include +#include +#include +#include +#include + +struct busfault { + struct xorg_list list; + + void *addr; + size_t size; + + Bool valid; + + busfault_notify_ptr notify; + void *context; +}; + +static Bool busfaulted; +static struct xorg_list busfaults; + +struct busfault * +busfault_register_mmap(void *addr, size_t size, busfault_notify_ptr notify, void *context) +{ + struct busfault *busfault; + + busfault = calloc(1, sizeof (struct busfault)); + if (!busfault) + return NULL; + + busfault->addr = addr; + busfault->size = size; + busfault->notify = notify; + busfault->context = context; + busfault->valid = TRUE; + + xorg_list_add(&busfault->list, &busfaults); + return busfault; +} + +void +busfault_unregister(struct busfault *busfault) +{ + xorg_list_del(&busfault->list); + free(busfault); +} + +void +busfault_check(void) +{ + struct busfault *busfault, *tmp; + + if (!busfaulted) + return; + + busfaulted = FALSE; + + xorg_list_for_each_entry_safe(busfault, tmp, &busfaults, list) { + if (!busfault->valid) + (*busfault->notify)(busfault->context); + } +} + +static void (*previous_busfault_sigaction)(int sig, siginfo_t *info, void *param); + +static void +busfault_sigaction(int sig, siginfo_t *info, void *param) +{ + void *fault = info->si_addr; + struct busfault *busfault = NULL; + void *new_addr; + + /* Locate the faulting address in our list of shared segments + */ + xorg_list_for_each_entry(busfault, &busfaults, list) { + if ((char *) busfault->addr <= (char *) fault && (char *) fault < (char *) busfault->addr + busfault->size) { + break; + } + } + if (!busfault) + goto panic; + + if (!busfault->valid) + goto panic; + + busfault->valid = FALSE; + busfaulted = TRUE; + + /* The client truncated the file; unmap the shared file, map + * /dev/zero over that area and keep going + */ + + new_addr = mmap(busfault->addr, busfault->size, PROT_READ|PROT_WRITE, + MAP_ANON|MAP_PRIVATE|MAP_FIXED, -1, 0); + + if (new_addr == MAP_FAILED) + goto panic; + + return; +panic: + if (previous_busfault_sigaction) + (*previous_busfault_sigaction)(sig, info, param); + else + FatalError("bus error"); +} + +Bool +busfault_init(void) +{ + struct sigaction act, old_act; + + act.sa_sigaction = busfault_sigaction; + act.sa_flags = SA_SIGINFO; + if (sigaction(SIGBUS, &act, &old_act) < 0) + return FALSE; + previous_busfault_sigaction = old_act.sa_sigaction; + xorg_list_init(&busfaults); + return TRUE; +} diff --git a/xserver/os/connection.c b/xserver/os/connection.c index 9d95686c7..029b75cfe 100644 --- a/xserver/os/connection.c +++ b/xserver/os/connection.c @@ -930,7 +930,7 @@ ErrorConnMax(XtransConnInfo trans_conn) iov[0].iov_len = sz_xConnSetupPrefix; iov[0].iov_base = (char *) &csp; iov[1].iov_len = csp.lengthReason; - iov[1].iov_base = NOROOM; + iov[1].iov_base = (void *) NOROOM; iov[2].iov_len = (4 - (csp.lengthReason & 3)) & 3; iov[2].iov_base = pad; (void) _XSERVTransWritev(trans_conn, iov, 3); diff --git a/xserver/os/io.c b/xserver/os/io.c index 0d980ab9f..922a8eb02 100644 --- a/xserver/os/io.c +++ b/xserver/os/io.c @@ -206,6 +206,32 @@ YieldControlDeath(void) timesThisConnection = 0; } +/* If an input buffer was empty, either free it if it is too big or link it + * into our list of free input buffers. This means that different clients can + * share the same input buffer (at different times). This was done to save + * memory. + */ +static void +NextAvailableInput(OsCommPtr oc) +{ + if (AvailableInput) { + if (AvailableInput != oc) { + ConnectionInputPtr aci = AvailableInput->input; + + if (aci->size > BUFWATERMARK) { + free(aci->buffer); + free(aci); + } + else { + aci->next = FreeInputs; + FreeInputs = aci; + } + AvailableInput->input = NULL; + } + AvailableInput = NULL; + } +} + int ReadRequestFromClient(ClientPtr client) { @@ -218,28 +244,7 @@ ReadRequestFromClient(ClientPtr client) Bool need_header; Bool move_header; - /* If an input buffer was empty, either free it if it is too big - * or link it into our list of free input buffers. This means that - * different clients can share the same input buffer (at different - * times). This was done to save memory. - */ - - if (AvailableInput) { - if (AvailableInput != oc) { - register ConnectionInputPtr aci = AvailableInput->input; - - if (aci->size > BUFWATERMARK) { - free(aci->buffer); - free(aci); - } - else { - aci->next = FreeInputs; - FreeInputs = aci; - } - AvailableInput->input = (ConnectionInputPtr) NULL; - } - AvailableInput = (OsCommPtr) NULL; - } + NextAvailableInput(oc); /* make sure we have an input buffer */ @@ -254,6 +259,14 @@ ReadRequestFromClient(ClientPtr client) oc->input = oci; } +#if XTRANS_SEND_FDS + /* Discard any unused file descriptors */ + while (client->req_fds > 0) { + int req_fd = ReadFdFromClient(client); + if (req_fd >= 0) + close(req_fd); + } +#endif /* advance to start of next request */ oci->bufptr += oci->lenLastReq; @@ -480,6 +493,31 @@ ReadRequestFromClient(ClientPtr client) return needed; } +#if XTRANS_SEND_FDS +int +ReadFdFromClient(ClientPtr client) +{ + int fd = -1; + + if (client->req_fds > 0) { + OsCommPtr oc = (OsCommPtr) client->osPrivate; + + --client->req_fds; + fd = _XSERVTransRecvFd(oc->trans_conn); + } else + LogMessage(X_ERROR, "Request asks for FD without setting req_fds\n"); + return fd; +} + +int +WriteFdToClient(ClientPtr client, int fd, Bool do_close) +{ + OsCommPtr oc = (OsCommPtr) client->osPrivate; + + return _XSERVTransSendFd(oc->trans_conn, fd, do_close); +} +#endif + /***************************************************************** * InsertFakeRequest * Splice a consed up (possibly partial) request in as the next request. @@ -494,22 +532,8 @@ InsertFakeRequest(ClientPtr client, char *data, int count) int fd = oc->fd; int gotnow, moveup; - if (AvailableInput) { - if (AvailableInput != oc) { - ConnectionInputPtr aci = AvailableInput->input; + NextAvailableInput(oc); - if (aci->size > BUFWATERMARK) { - free(aci->buffer); - free(aci); - } - else { - aci->next = FreeInputs; - FreeInputs = aci; - } - AvailableInput->input = (ConnectionInputPtr) NULL; - } - AvailableInput = (OsCommPtr) NULL; - } if (!oci) { if ((oci = FreeInputs)) FreeInputs = oci->next; @@ -814,7 +838,7 @@ WriteToClient(ClientPtr who, int count, const void *__buf) } } #endif - if (oco->count + count + padBytes > oco->size) { + if (oco->count == 0 || oco->count + count + padBytes > oco->size) { FD_CLR(oc->fd, &OutputPending); if (!XFD_ANYSET(&OutputPending)) { CriticalOutputPending = FALSE; diff --git a/xserver/os/log.c b/xserver/os/log.c index f19faf5ee..53b358629 100644 --- a/xserver/os/log.c +++ b/xserver/os/log.c @@ -216,6 +216,9 @@ LogInit(const char *fname, const char *backup) free(oldLog); } } + else { + unlink(logFileName); + } if ((logFile = fopen(logFileName, "w")) == NULL) FatalError("Cannot open log file \"%s\"\n", logFileName); setvbuf(logFile, NULL, _IONBF, 0); diff --git a/xserver/os/osinit.c b/xserver/os/osinit.c index f085671f3..f34b4363e 100644 --- a/xserver/os/osinit.c +++ b/xserver/os/osinit.c @@ -149,6 +149,8 @@ OsSigHandler(int signo) } #endif /* !WIN32 || __CYGWIN__ */ +#include "busfault.h" + void OsInit(void) { @@ -185,6 +187,9 @@ OsInit(void) } } #endif /* !WIN32 || __CYGWIN__ */ +#ifdef BUSFAULT + busfault_init(); +#endif #ifdef HAVE_BACKTRACE /* @@ -208,10 +213,19 @@ OsInit(void) dlinfo(RTLD_SELF, RTLD_DI_SETSIGNAL, &failure_signal); #endif -#if !defined(__CYGWIN__) +#if !defined(XQUARTZ) /* STDIN is already /dev/null and STDOUT/STDERR is managed by console_redirect.c */ +# if defined(__APPLE__) + int devnullfd = open(devnull, O_RDWR, 0); + assert(devnullfd > 2); + + dup2(devnullfd, STDIN_FILENO); + dup2(devnullfd, STDOUT_FILENO); + close(devnullfd); +# elif !defined(__CYGWIN__) + fclose(stdin); fclose(stdout); -#endif +# endif /* * If a write of zero bytes to stderr returns non-zero, i.e. -1, * then writing to stderr failed, and we'll write somewhere else @@ -245,6 +259,7 @@ OsInit(void) setlinebuf(stderr); #endif } +#endif /* !XQUARTZ */ #if !defined(WIN32) || defined(__CYGWIN__) if (getpgrp() == 0) diff --git a/xserver/os/utils.c b/xserver/os/utils.c index 617431f14..25a410c24 100644 --- a/xserver/os/utils.c +++ b/xserver/os/utils.c @@ -169,9 +169,7 @@ Bool noXFree86DRIExtension = FALSE; #ifdef XF86VIDMODE Bool noXFree86VidModeExtension = FALSE; #endif -#ifdef XFIXES Bool noXFixesExtension = FALSE; -#endif #ifdef PANORAMIX /* Xinerama is disabled by default unless enabled via +xinerama */ Bool noPanoramiXExtension = TRUE; @@ -444,6 +442,11 @@ GetTimeInMillis(void) { return GetTickCount(); } +CARD64 +GetTimeInMicros(void) +{ + return (CARD64) GetTickCount() * 1000; +} #else CARD32 GetTimeInMillis(void) @@ -474,6 +477,28 @@ GetTimeInMillis(void) X_GETTIMEOFDAY(&tv); return (tv.tv_sec * 1000) + (tv.tv_usec / 1000); } + +CARD64 +GetTimeInMicros(void) +{ + struct timeval tv; +#ifdef MONOTONIC_CLOCK + struct timespec tp; + static clockid_t clockid; + + if (!clockid) { + if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) + clockid = CLOCK_MONOTONIC; + else + clockid = ~0L; + } + if (clockid != ~0L && clock_gettime(clockid, &tp) == 0) + return (CARD64) tp.tv_sec * (CARD64)1000000 + tp.tv_nsec / 1000; +#endif + + X_GETTIMEOFDAY(&tv); + return (CARD64) tv.tv_sec * (CARD64)1000000000 + (CARD64) tv.tv_usec * 1000; +} #endif void @@ -591,6 +616,10 @@ UseMsg(void) static int VerifyDisplayName(const char *d) { + int i; + int period_found = FALSE; + int after_period = 0; + if (d == (char *) 0) return 0; /* null */ if (*d == '\0') @@ -601,6 +630,29 @@ VerifyDisplayName(const char *d) return 0; /* must not equal "." or ".." */ if (strchr(d, '/') != (char *) 0) return 0; /* very important!!! */ + + /* Since we run atoi() on the display later, only allow + for digits, or exception of :0.0 and similar (two decimal points max) + */ + for (i = 0; i < strlen(d); i++) { + if (!isdigit(d[i])) { + if (d[i] != '.' || period_found) + return 0; + period_found = TRUE; + } else if (period_found) + after_period++; + + if (after_period > 2) + return 0; + } + + /* don't allow for :0. */ + if (period_found && after_period == 0) + return 0; + + if (atol(d) > INT_MAX) + return 0; + return 1; } @@ -2067,3 +2119,27 @@ FormatUInt64Hex(uint64_t num, char *string) string[len] = '\0'; } + +/* Move a file descriptor out of the way of our select mask; this + * is useful for file descriptors which will never appear in the + * select mask to avoid reducing the number of clients that can + * connect to the server + */ +int +os_move_fd(int fd) +{ + int newfd; + +#ifdef F_DUPFD_CLOEXEC + newfd = fcntl(fd, F_DUPFD_CLOEXEC, MAXCLIENTS); +#else + newfd = fcntl(fd, F_DUPFD, MAXCLIENTS); +#endif + if (newfd < 0) + return fd; +#ifndef F_DUPFD_CLOEXEC + fcntl(newfd, F_SETFD, FD_CLOEXEC); +#endif + close(fd); + return newfd; +} diff --git a/xserver/os/xstrans.c b/xserver/os/xstrans.c index 6348a6511..2bc79e7ae 100644 --- a/xserver/os/xstrans.c +++ b/xserver/os/xstrans.c @@ -5,9 +5,11 @@ #include /* ErrorF is used by xtrans */ +#ifndef HAVE_DIX_CONFIG_H extern _X_EXPORT void ErrorF(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2); +#endif #define TRANS_REOPEN #define TRANS_SERVER diff --git a/xserver/present/Makefile.am b/xserver/present/Makefile.am new file mode 100644 index 000000000..7fea6699f --- /dev/null +++ b/xserver/present/Makefile.am @@ -0,0 +1,17 @@ +noinst_LTLIBRARIES = libpresent.la +AM_CFLAGS = \ + -DHAVE_XORG_CONFIG_H \ + @DIX_CFLAGS@ @XORG_CFLAGS@ + +libpresent_la_SOURCES = \ + present.h \ + present.c \ + present_event.c \ + present_fake.c \ + present_fence.c \ + present_notify.c \ + present_priv.h \ + present_request.c \ + present_screen.c + +sdk_HEADERS = present.h presentext.h diff --git a/xserver/present/Makefile.in b/xserver/present/Makefile.in new file mode 100644 index 000000000..a448d6be5 --- /dev/null +++ b/xserver/present/Makefile.in @@ -0,0 +1,840 @@ +# Makefile.in generated by automake 1.12.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2012 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@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = present +DIST_COMMON = $(sdk_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/depcomp +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/xorg-tls.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 \ + $(top_builddir)/include/version-config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libpresent_la_LIBADD = +am_libpresent_la_OBJECTS = present.lo present_event.lo present_fake.lo \ + present_fence.lo present_notify.lo present_request.lo \ + present_screen.lo +libpresent_la_OBJECTS = $(am_libpresent_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libpresent_la_SOURCES) +DIST_SOURCES = $(libpresent_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +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 = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(sdkdir)" +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@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +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_CFLAGS = @BASE_CFLAGS@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +BUNDLE_ID_PREFIX = @BUNDLE_ID_PREFIX@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHANGELOG_CMD = @CHANGELOG_CMD@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CWARNFLAGS = @CWARNFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGDIR = @DEFAULT_LOGDIR@ +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@ +DIX_LIB = @DIX_LIB@ +DLLTOOL = @DLLTOOL@ +DLOPEN_LIBS = @DLOPEN_LIBS@ +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@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_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@ +FONT100DPIDIR = @FONT100DPIDIR@ +FONT75DPIDIR = @FONT75DPIDIR@ +FONTMISCDIR = @FONTMISCDIR@ +FONTOTFDIR = @FONTOTFDIR@ +FONTROOTDIR = @FONTROOTDIR@ +FONTTTFDIR = @FONTTTFDIR@ +FONTTYPE1DIR = @FONTTYPE1DIR@ +FOP = @FOP@ +GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ +GLX_DEFINES = @GLX_DEFINES@ +GLX_SYS_LIBS = @GLX_SYS_LIBS@ +GLX_TLS = @GLX_TLS@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ +INSTALL = @INSTALL@ +INSTALL_CMD = @INSTALL_CMD@ +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@ +KHRONOS_OPENGL_REGISTRY_CFLAGS = @KHRONOS_OPENGL_REGISTRY_CFLAGS@ +KHRONOS_OPENGL_REGISTRY_LIBS = @KHRONOS_OPENGL_REGISTRY_LIBS@ +KHRONOS_SPEC_DIR = @KHRONOS_SPEC_DIR@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LD_NO_UNDEFINED_FLAG = @LD_NO_UNDEFINED_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ +LIBSHA1_LIBS = @LIBSHA1_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAIN_LIB = @MAIN_LIB@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAN_SUBSTS = @MAN_SUBSTS@ +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@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OS_LIB = @OS_LIB@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ +PCIACCESS_LIBS = @PCIACCESS_LIBS@ +PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RELEASE_DATE = @RELEASE_DATE@ +SDK_REQUIRED_MODULES = @SDK_REQUIRED_MODULES@ +SED = @SED@ +SELINUX_CFLAGS = @SELINUX_CFLAGS@ +SELINUX_LIBS = @SELINUX_LIBS@ +SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ +SET_MAKE = @SET_MAKE@ +SHA1_CFLAGS = @SHA1_CFLAGS@ +SHA1_LIBS = @SHA1_LIBS@ +SHELL = @SHELL@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRICT_CFLAGS = @STRICT_CFLAGS@ +STRIP = @STRIP@ +STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ +SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +UDEV_CFLAGS = @UDEV_CFLAGS@ +UDEV_LIBS = @UDEV_LIBS@ +UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VERSION = @VERSION@ +WINDOWSWM_CFLAGS = @WINDOWSWM_CFLAGS@ +WINDOWSWM_LIBS = @WINDOWSWM_LIBS@ +WINDRES = @WINDRES@ +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@ +XF86CONFIGDIR = @XF86CONFIGDIR@ +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@ +XKB_DFLT_LAYOUT = @XKB_DFLT_LAYOUT@ +XKB_DFLT_MODEL = @XKB_DFLT_MODEL@ +XKB_DFLT_OPTIONS = @XKB_DFLT_OPTIONS@ +XKB_DFLT_RULES = @XKB_DFLT_RULES@ +XKB_DFLT_VARIANT = @XKB_DFLT_VARIANT@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XMLTO = @XMLTO@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_DRIVER_LIBS = @XORG_DRIVER_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MALLOC_DEBUG_ENV = @XORG_MALLOC_DEBUG_ENV@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XORG_SGML_PATH = @XORG_SGML_PATH@ +XORG_SYS_LIBS = @XORG_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ +XQUARTZ_LIBS = @XQUARTZ_LIBS@ +XQUARTZ_SPARKLE = @XQUARTZ_SPARKLE@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_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@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ +XSLTPROC = @XSLTPROC@ +XSL_STYLESHEET = @XSL_STYLESHEET@ +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@ +__XCONFIGDIR__ = @__XCONFIGDIR__@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abi_ansic = @abi_ansic@ +abi_extension = @abi_extension@ +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_AR = @ac_ct_AR@ +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@ +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@ +symbol_visibility = @symbol_visibility@ +sysconfdir = @sysconfdir@ +sysconfigdir = @sysconfigdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +noinst_LTLIBRARIES = libpresent.la +AM_CFLAGS = \ + -DHAVE_XORG_CONFIG_H \ + @DIX_CFLAGS@ @XORG_CFLAGS@ + +libpresent_la_SOURCES = \ + present.h \ + present.c \ + present_event.c \ + present_fake.c \ + present_fence.c \ + present_notify.c \ + present_priv.h \ + present_request.c \ + present_screen.c + +sdk_HEADERS = present.h presentext.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(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 present/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign present/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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +libpresent.la: $(libpresent_la_OBJECTS) $(libpresent_la_DEPENDENCIES) $(EXTRA_libpresent_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libpresent_la_OBJECTS) $(libpresent_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/present.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/present_event.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/present_fake.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/present_fence.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/present_notify.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/present_request.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/present_screen.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-sdkHEADERS: $(sdk_HEADERS) + @$(NORMAL_INSTALL) + @list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(sdkdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(sdkdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(sdkdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(sdkdir)" || exit $$?; \ + done + +uninstall-sdkHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(sdkdir)'; $(am__uninstall_files_from_dir) + +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) + set x; \ + 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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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)$(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: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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 + +html-am: + +info: info-am + +info-am: + +install-data-am: install-sdkHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +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-noinstLTLIBRARIES cscopelist 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/xserver/present/present.c b/xserver/present/present.c new file mode 100644 index 000000000..30cd3b936 --- /dev/null +++ b/xserver/present/present.c @@ -0,0 +1,911 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "present_priv.h" +#include +#include +#include +#ifdef MONOTONIC_CLOCK +#include +#endif + +static uint64_t present_event_id; +static struct xorg_list present_exec_queue; +static struct xorg_list present_flip_queue; + +#if 0 +#define DebugPresent(x) ErrorF x +#else +#define DebugPresent(x) +#endif + +/* + * Copies the update region from a pixmap to the target drawable + */ +static void +present_copy_region(DrawablePtr drawable, + PixmapPtr pixmap, + RegionPtr update, + int16_t x_off, + int16_t y_off) +{ + ScreenPtr screen = drawable->pScreen; + GCPtr gc; + + gc = GetScratchGC(drawable->depth, screen); + if (update) { + ChangeGCVal changes[2]; + + changes[0].val = x_off; + changes[1].val = y_off; + ChangeGC(serverClient, gc, + GCClipXOrigin|GCClipYOrigin, + changes); + (*gc->funcs->ChangeClip)(gc, CT_REGION, update, 0); + } + ValidateGC(drawable, gc); + (*gc->ops->CopyArea)(&pixmap->drawable, + drawable, + gc, + 0, 0, + pixmap->drawable.width, pixmap->drawable.height, + x_off, y_off); + if (update) + (*gc->funcs->ChangeClip)(gc, CT_NONE, NULL, 0); + FreeScratchGC(gc); +} + +static Bool +present_check_flip(RRCrtcPtr crtc, + WindowPtr window, + PixmapPtr pixmap, + Bool sync_flip, + RegionPtr valid, + int16_t x_off, + int16_t y_off) +{ + ScreenPtr screen = window->drawable.pScreen; + WindowPtr root = screen->root; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + if (!screen_priv) + return FALSE; + + if (!screen_priv->info) + return FALSE; + + if (!crtc) + return FALSE; + + /* Check to see if the driver supports flips at all */ + if (!screen_priv->info->flip) + return FALSE; + + /* Can't pend a flip while unflipping */ + if (screen_priv->unflip_event_id) { + return FALSE; + } + + /* Can't have two pending flips at the same time */ + if (screen_priv->flip_pending) { + return FALSE; + } + + /* Make sure the window hasn't been redirected with Composite */ + if (screen->GetWindowPixmap(window) != screen->GetScreenPixmap(screen) && + screen->GetWindowPixmap(window) != screen_priv->flip_pixmap) + return FALSE; + + /* Check for full-screen window */ + if (!RegionEqual(&window->clipList, &root->winSize)) { + return FALSE; + } + + /* Source pixmap must align with window exactly */ + if (x_off || y_off) { + return FALSE; + } + + /* Make sure the area marked as valid fills the screen */ + if (valid && !RegionEqual(valid, &root->winSize)) { + return FALSE; + } + + /* Does the window match the pixmap exactly? */ + if (window->drawable.x != 0 || window->drawable.y != 0 || +#ifdef COMPOSITE + window->drawable.x != pixmap->screen_x || window->drawable.y != pixmap->screen_y || +#endif + window->drawable.width != pixmap->drawable.width || + window->drawable.height != pixmap->drawable.height) { + return FALSE; + } + + /* Ask the driver for permission */ + if (screen_priv->info->check_flip) { + if (!(*screen_priv->info->check_flip) (crtc, window, pixmap, sync_flip)) { + return FALSE; + } + } + + return TRUE; +} + +static Bool +present_flip(RRCrtcPtr crtc, + uint64_t event_id, + uint64_t target_msc, + PixmapPtr pixmap, + Bool sync_flip) +{ + ScreenPtr screen = crtc->pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + return (*screen_priv->info->flip) (crtc, event_id, target_msc, pixmap, sync_flip); +} + +static void +present_vblank_notify(present_vblank_ptr vblank, CARD8 kind, CARD8 mode, uint64_t ust, uint64_t crtc_msc) +{ + int n; + + if (vblank->window) + present_send_complete_notify(vblank->window, kind, mode, vblank->serial, ust, crtc_msc - vblank->msc_offset); + for (n = 0; n < vblank->num_notifies; n++) { + WindowPtr window = vblank->notifies[n].window; + CARD32 serial = vblank->notifies[n].serial; + + if (window) + present_send_complete_notify(window, kind, mode, serial, ust, crtc_msc - vblank->msc_offset); + } +} + +static void +present_pixmap_idle(PixmapPtr pixmap, WindowPtr window, CARD32 serial, struct present_fence *present_fence) +{ + if (present_fence) + present_fence_set_triggered(present_fence); + if (window) + present_send_idle_notify(window, serial, pixmap, present_fence); +} + +RRCrtcPtr +present_get_crtc(WindowPtr window) +{ + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + if (!screen_priv) + return NULL; + + if (!screen_priv->info) + return NULL; + + return (*screen_priv->info->get_crtc)(window); +} + +uint32_t +present_query_capabilities(RRCrtcPtr crtc) +{ + present_screen_priv_ptr screen_priv; + + if (!crtc) + return 0; + + screen_priv = present_screen_priv(crtc->pScreen); + + if (!screen_priv) + return 0; + + if (!screen_priv->info) + return 0; + + return screen_priv->info->capabilities; +} + +static int +present_get_ust_msc(WindowPtr window, RRCrtcPtr crtc, uint64_t *ust, uint64_t *msc) +{ + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + if (crtc == NULL) + return present_fake_get_ust_msc(screen, ust, msc); + else + return (*screen_priv->info->get_ust_msc)(crtc, ust, msc); +} + +static void +present_flush(WindowPtr window) +{ + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + if (!screen_priv) + return; + + if (!screen_priv->info) + return; + + (*screen_priv->info->flush) (window); +} + +static int +present_queue_vblank(ScreenPtr screen, + RRCrtcPtr crtc, + uint64_t event_id, + uint64_t msc) +{ + Bool ret; + + if (crtc == NULL) + ret = present_fake_queue_vblank(screen, event_id, msc); + else + { + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + ret = (*screen_priv->info->queue_vblank) (crtc, event_id, msc); + } + return ret; +} + +static uint64_t +present_window_to_crtc_msc(WindowPtr window, RRCrtcPtr crtc, uint64_t window_msc, uint64_t new_msc) +{ + present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE); + + if (crtc != window_priv->crtc) { + uint64_t old_ust, old_msc; + + /* The old CRTC may have been turned off, in which case + * we'll just use whatever previous MSC we'd seen from this CRTC + */ + + if (present_get_ust_msc(window, window_priv->crtc, &old_ust, &old_msc) != Success) + old_msc = window_priv->msc; + + window_priv->msc_offset += new_msc - old_msc; + window_priv->crtc = crtc; + } + + return window_msc + window_priv->msc_offset; +} + +static void +present_flip_idle(ScreenPtr screen) +{ + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + if (screen_priv->flip_pixmap) { + present_pixmap_idle(screen_priv->flip_pixmap, screen_priv->flip_window, + screen_priv->flip_serial, screen_priv->flip_idle_fence); + if (screen_priv->flip_idle_fence) + present_fence_destroy(screen_priv->flip_idle_fence); + dixDestroyPixmap(screen_priv->flip_pixmap, screen_priv->flip_pixmap->drawable.id); + screen_priv->flip_crtc = NULL; + screen_priv->flip_window = NULL; + screen_priv->flip_serial = 0; + screen_priv->flip_pixmap = NULL; + screen_priv->flip_idle_fence = NULL; + } +} + +struct pixmap_visit { + PixmapPtr old; + PixmapPtr new; +}; + +static int +present_set_tree_pixmap_visit(WindowPtr window, pointer data) +{ + struct pixmap_visit *visit = data; + ScreenPtr screen = window->drawable.pScreen; + + if ((*screen->GetWindowPixmap)(window) != visit->old) + return WT_DONTWALKCHILDREN; + (*screen->SetWindowPixmap)(window, visit->new); + return WT_WALKCHILDREN; +} + +static void +present_set_tree_pixmap(WindowPtr window, PixmapPtr pixmap) +{ + struct pixmap_visit visit; + ScreenPtr screen = window->drawable.pScreen; + + visit.old = (*screen->GetWindowPixmap)(window); + visit.new = pixmap; + if (visit.old == visit.new) + return; + TraverseTree(window, present_set_tree_pixmap_visit, &visit); +} + +static void +present_unflip(ScreenPtr screen) +{ + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + assert (!screen_priv->unflip_event_id); + assert (!screen_priv->flip_pending); + + if (screen_priv->flip_window) + present_set_tree_pixmap(screen_priv->flip_window, + (*screen->GetScreenPixmap)(screen)); + + present_set_tree_pixmap(screen->root, (*screen->GetScreenPixmap)(screen)); + + /* Update the screen pixmap with the current flip pixmap contents + */ + if (screen_priv->flip_pixmap && screen_priv->flip_window) { + present_copy_region(&screen_priv->flip_window->drawable, + screen_priv->flip_pixmap, + NULL, 0, 0); + } + screen_priv->unflip_event_id = ++present_event_id; + DebugPresent(("u %lld\n", screen_priv->unflip_event_id)); + (*screen_priv->info->unflip) (screen, screen_priv->unflip_event_id); +} + +static void +present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc); + +static void +present_flip_notify(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc) +{ + ScreenPtr screen = vblank->screen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + DebugPresent(("\tn %p %8lld: %08lx -> %08lx\n", vblank, vblank->target_msc, + vblank->pixmap ? vblank->pixmap->drawable.id : 0, + vblank->window->drawable.id)); + + assert (vblank == screen_priv->flip_pending); + + present_flip_idle(screen); + + xorg_list_del(&vblank->event_queue); + + /* Transfer reference for pixmap and fence from vblank to screen_priv */ + screen_priv->flip_crtc = vblank->crtc; + screen_priv->flip_window = vblank->window; + screen_priv->flip_serial = vblank->serial; + screen_priv->flip_pixmap = vblank->pixmap; + screen_priv->flip_idle_fence = vblank->idle_fence; + + vblank->pixmap = NULL; + vblank->idle_fence = NULL; + + screen_priv->flip_pending = NULL; + + if (vblank->abort_flip) + present_unflip(screen); + + present_vblank_notify(vblank, PresentCompleteKindPixmap, PresentCompleteModeFlip, ust, crtc_msc); + present_vblank_destroy(vblank); +} + +void +present_event_notify(uint64_t event_id, uint64_t ust, uint64_t msc) +{ + present_vblank_ptr vblank, tmp; + int s; + + if (!event_id) + return; + DebugPresent(("\te %lld ust %lld msc %lld\n", event_id, ust, msc)); + xorg_list_for_each_entry_safe(vblank, tmp, &present_exec_queue, event_queue) { + if (vblank->event_id == event_id) { + present_execute(vblank, ust, msc); + return; + } + } + xorg_list_for_each_entry_safe(vblank, tmp, &present_flip_queue, event_queue) { + if (vblank->event_id == event_id) { + present_flip_notify(vblank, ust, msc); + return; + } + } + + for (s = 0; s < screenInfo.numScreens; s++) { + ScreenPtr screen = screenInfo.screens[s]; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + if (event_id == screen_priv->unflip_event_id) { + DebugPresent(("\tun %lld\n", event_id)); + screen_priv->unflip_event_id = 0; + present_flip_idle(screen); + return; + } + } +} + +/* + * 'window' is being reconfigured. Check to see if it is involved + * in flipping and clean up as necessary + */ +void +present_check_flip_window (WindowPtr window) +{ + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + present_window_priv_ptr window_priv = present_window_priv(window); + present_vblank_ptr flip_pending = screen_priv->flip_pending; + present_vblank_ptr vblank; + + /* If this window hasn't ever been used with Present, it can't be + * flipping + */ + if (!window_priv) + return; + + if (screen_priv->unflip_event_id) + return; + + if (flip_pending) { + /* + * Check pending flip + */ + if (flip_pending->window == window) { + if (!present_check_flip(flip_pending->crtc, window, flip_pending->pixmap, + flip_pending->sync_flip, NULL, 0, 0)) + flip_pending->abort_flip = TRUE; + } + } else { + /* + * Check current flip + */ + if (window == screen_priv->flip_window) { + if (!present_check_flip(screen_priv->flip_crtc, window, screen_priv->flip_pixmap, FALSE, NULL, 0, 0)) + present_unflip(screen); + } + } + + /* Now check any queued vblanks */ + xorg_list_for_each_entry(vblank, &window_priv->vblank, window_list) { + if (vblank->queued && vblank->flip && !present_check_flip(vblank->crtc, window, vblank->pixmap, FALSE, NULL, 0, 0)) + vblank->flip = FALSE; + } +} + +/* + * Called when the wait fence is triggered; just gets the current msc/ust and + * calls present_execute again. That will re-check the fence and pend the + * request again if it's still not actually ready + */ +static void +present_wait_fence_triggered(void *param) +{ + present_vblank_ptr vblank = param; + WindowPtr window = vblank->window; + uint64_t ust = 0, crtc_msc = 0; + + if (window) { + present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE); + if (window_priv) + (void) present_get_ust_msc(window, window_priv->crtc, &ust, &crtc_msc); + } + present_execute(vblank, ust, crtc_msc); +} + +/* + * Once the required MSC has been reached, execute the pending request. + * + * For requests to actually present something, either blt contents to + * the screen or queue a frame buffer swap. + * + * For requests to just get the current MSC/UST combo, skip that part and + * go straight to event delivery + */ + +static void +present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc) +{ + WindowPtr window = vblank->window; + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + uint8_t mode; + + if (vblank->wait_fence) { + if (!present_fence_check_triggered(vblank->wait_fence)) { + present_fence_set_callback(vblank->wait_fence, present_wait_fence_triggered, vblank); + return; + } + } + + xorg_list_del(&vblank->event_queue); + vblank->queued = FALSE; + + if (vblank->pixmap && vblank->window) { + + if (vblank->flip && screen_priv->flip_pending == NULL && !screen_priv->unflip_event_id) { + + DebugPresent(("\tf %p %8lld: %08lx -> %08lx\n", vblank, crtc_msc, vblank->pixmap->drawable.id, vblank->window->drawable.id)); + /* Prepare to flip by placing it in the flip queue and + * and sticking it into the flip_pending field + */ + screen_priv->flip_pending = vblank; + + xorg_list_add(&vblank->event_queue, &present_flip_queue); + /* Try to flip + */ + if (present_flip(vblank->crtc, vblank->event_id, vblank->target_msc, vblank->pixmap, vblank->sync_flip)) { + RegionPtr damage; + + /* Fix window pixmaps: + * 1) Restore previous flip window pixmap + * 2) Set current flip window pixmap to the new pixmap + */ + if (screen_priv->flip_window && screen_priv->flip_window != window) + present_set_tree_pixmap(screen_priv->flip_window, + (*screen->GetScreenPixmap)(screen)); + present_set_tree_pixmap(vblank->window, vblank->pixmap); + present_set_tree_pixmap(screen->root, vblank->pixmap); + + /* Report update region as damaged + */ + if (vblank->update) { + damage = vblank->update; + RegionIntersect(damage, damage, &window->clipList); + } else + damage = &window->clipList; + + DamageDamageRegion(&vblank->window->drawable, damage); + return; + } + + xorg_list_del(&vblank->event_queue); + /* Oops, flip failed. Clear the flip_pending field + */ + screen_priv->flip_pending = NULL; + vblank->flip = FALSE; + } + DebugPresent(("\tc %p %8lld: %08lx -> %08lx\n", vblank, crtc_msc, vblank->pixmap->drawable.id, vblank->window->drawable.id)); + if (screen_priv->flip_pending) { + + /* Check pending flip + */ + if (window == screen_priv->flip_pending->window) + screen_priv->flip_pending->abort_flip = TRUE; + } else if (!screen_priv->unflip_event_id) { + + /* Check current flip + */ + if (window == screen_priv->flip_window) + present_unflip(screen); + } + present_copy_region(&window->drawable, vblank->pixmap, vblank->update, vblank->x_off, vblank->y_off); + + /* present_copy_region sticks the region into a scratch GC, + * which is then freed, freeing the region + */ + vblank->update = NULL; + present_flush(window); + + present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence); + } + + /* Compute correct CompleteMode + */ + if (vblank->kind == PresentCompleteKindPixmap) { + if (vblank->pixmap && vblank->window) + mode = PresentCompleteModeCopy; + else + mode = PresentCompleteModeSkip; + } + else + mode = PresentCompleteModeCopy; + + + present_vblank_notify(vblank, vblank->kind, mode, ust, crtc_msc); + present_vblank_destroy(vblank); +} + +int +present_pixmap(WindowPtr window, + PixmapPtr pixmap, + CARD32 serial, + RegionPtr valid, + RegionPtr update, + int16_t x_off, + int16_t y_off, + RRCrtcPtr target_crtc, + SyncFence *wait_fence, + SyncFence *idle_fence, + uint32_t options, + uint64_t window_msc, + uint64_t divisor, + uint64_t remainder, + present_notify_ptr notifies, + int num_notifies) +{ + uint64_t ust; + uint64_t target_msc; + uint64_t crtc_msc; + int ret; + present_vblank_ptr vblank; + ScreenPtr screen = window->drawable.pScreen; + present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE); + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + if (!window_priv) + return BadAlloc; + + if (!screen_priv || !screen_priv->info) + target_crtc = NULL; + else if (!target_crtc) { + /* Update the CRTC if we have a pixmap or we don't have a CRTC + */ + if (!pixmap) + target_crtc = window_priv->crtc; + + if (!target_crtc) + target_crtc = present_get_crtc(window); + } + + present_get_ust_msc(window, target_crtc, &ust, &crtc_msc); + + target_msc = present_window_to_crtc_msc(window, target_crtc, window_msc, crtc_msc); + + /* Stash the current MSC away in case we need it later + */ + window_priv->msc = crtc_msc; + + /* Adjust target_msc to match modulus + */ + if (crtc_msc >= target_msc) { + if (divisor != 0) { + target_msc = crtc_msc - (crtc_msc % divisor) + remainder; + if (options & PresentOptionAsync) { + if (target_msc < crtc_msc) + target_msc += divisor; + } else { + if (target_msc <= crtc_msc) + target_msc += divisor; + } + } else { + target_msc = crtc_msc; + if (!(options & PresentOptionAsync)) + target_msc++; + } + } + + /* + * Look for a matching presentation already on the list and + * don't bother doing the previous one if this one will overwrite it + * in the same frame + */ + + if (!update) { + xorg_list_for_each_entry(vblank, &window_priv->vblank, window_list) { + + if (!vblank->pixmap) + continue; + + if (!vblank->queued) + continue; + + if (vblank->crtc != target_crtc || vblank->target_msc != target_msc) + continue; + + DebugPresent(("\tx %lld %p %8lld: %08lx -> %08lx (crtc %p)\n", + vblank->event_id, vblank, target_msc, + vblank->pixmap->drawable.id, vblank->window->drawable.id, + vblank->crtc)); + + present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence); + present_fence_destroy(vblank->idle_fence); + dixDestroyPixmap(vblank->pixmap, vblank->pixmap->drawable.id); + + vblank->pixmap = NULL; + vblank->idle_fence = NULL; + } + } + + vblank = calloc (1, sizeof (present_vblank_rec)); + if (!vblank) + return BadAlloc; + + xorg_list_append(&vblank->window_list, &window_priv->vblank); + xorg_list_init(&vblank->event_queue); + + vblank->screen = screen; + vblank->window = window; + vblank->pixmap = pixmap; + vblank->event_id = ++present_event_id; + if (pixmap) { + vblank->kind = PresentCompleteKindPixmap; + pixmap->refcnt++; + } else + vblank->kind = PresentCompleteKindNotifyMSC; + + vblank->serial = serial; + + if (valid) { + vblank->valid = RegionDuplicate(valid); + if (!vblank->valid) + goto no_mem; + } + if (update) { + vblank->update = RegionDuplicate(update); + if (!vblank->update) + goto no_mem; + } + + vblank->x_off = x_off; + vblank->y_off = y_off; + vblank->target_msc = target_msc; + vblank->crtc = target_crtc; + vblank->msc_offset = window_priv->msc_offset; + vblank->notifies = notifies; + vblank->num_notifies = num_notifies; + + if (!screen_priv->info || !(screen_priv->info->capabilities & PresentCapabilityAsync)) + vblank->sync_flip = TRUE; + + if (pixmap && present_check_flip (target_crtc, window, pixmap, vblank->sync_flip, valid, x_off, y_off)) { + vblank->flip = TRUE; + if (vblank->sync_flip) + target_msc--; + } + + if (wait_fence) { + vblank->wait_fence = present_fence_create(wait_fence); + if (!vblank->wait_fence) + goto no_mem; + } + + if (idle_fence) { + vblank->idle_fence = present_fence_create(idle_fence); + if (!vblank->idle_fence) + goto no_mem; + } + + if (pixmap) + DebugPresent(("q %lld %p %8lld: %08lx -> %08lx (crtc %p)\n", + vblank->event_id, vblank, target_msc, + vblank->pixmap->drawable.id, vblank->window->drawable.id, + target_crtc)); + + xorg_list_add(&vblank->event_queue, &present_exec_queue); + vblank->queued = TRUE; + if (target_msc >= crtc_msc) { + ret = present_queue_vblank(screen, target_crtc, vblank->event_id, target_msc); + if (ret != Success) { + xorg_list_del(&vblank->event_queue); + vblank->queued = FALSE; + goto failure; + } + } else + present_execute(vblank, ust, crtc_msc); + + return Success; + +no_mem: + ret = BadAlloc; +failure: + vblank->notifies = NULL; + present_vblank_destroy(vblank); + return ret; +} + +void +present_abort_vblank(ScreenPtr screen, RRCrtcPtr crtc, uint64_t event_id, uint64_t msc) +{ + present_vblank_ptr vblank, tmp; + + if (crtc == NULL) + present_fake_abort_vblank(screen, event_id, msc); + else + { + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + (*screen_priv->info->abort_vblank) (crtc, event_id, msc); + } + + xorg_list_for_each_entry_safe(vblank, tmp, &present_exec_queue, event_queue) { + if (vblank->event_id == event_id) { + xorg_list_del(&vblank->event_queue); + vblank->queued = FALSE; + return; + } + } + xorg_list_for_each_entry_safe(vblank, tmp, &present_flip_queue, event_queue) { + if (vblank->event_id == event_id) { + xorg_list_del(&vblank->event_queue); + return; + } + } +} + +int +present_notify_msc(WindowPtr window, + CARD32 serial, + uint64_t target_msc, + uint64_t divisor, + uint64_t remainder) +{ + return present_pixmap(window, + NULL, + serial, + NULL, NULL, + 0, 0, + NULL, + NULL, NULL, + 0, + target_msc, divisor, remainder, NULL, 0); +} + +void +present_flip_destroy(ScreenPtr screen) +{ + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + /* XXX this needs to be synchronous for server reset */ + + /* Do the actual cleanup once the flip has been performed by the hardware */ + if (screen_priv->flip_pending) + screen_priv->flip_pending->abort_flip = TRUE; +} + +void +present_vblank_destroy(present_vblank_ptr vblank) +{ + /* Remove vblank from window and screen lists */ + xorg_list_del(&vblank->window_list); + + DebugPresent(("\td %p %8lld: %08lx -> %08lx\n", vblank, vblank->target_msc, + vblank->pixmap ? vblank->pixmap->drawable.id : 0, + vblank->window->drawable.id)); + + /* Drop pixmap reference */ + if (vblank->pixmap) + dixDestroyPixmap(vblank->pixmap, vblank->pixmap->drawable.id); + + /* Free regions */ + if (vblank->valid) + RegionDestroy(vblank->valid); + if (vblank->update) + RegionDestroy(vblank->update); + + if (vblank->wait_fence) + present_fence_destroy(vblank->wait_fence); + + if (vblank->idle_fence) + present_fence_destroy(vblank->idle_fence); + + if (vblank->notifies) + present_destroy_notifies(vblank->notifies, vblank->num_notifies); + + free(vblank); +} + +Bool +present_init(void) +{ + xorg_list_init(&present_exec_queue); + xorg_list_init(&present_flip_queue); + present_fake_queue_init(); + return TRUE; +} diff --git a/xserver/present/present.h b/xserver/present/present.h new file mode 100644 index 000000000..0e3bdc08e --- /dev/null +++ b/xserver/present/present.h @@ -0,0 +1,127 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _PRESENT_H_ +#define _PRESENT_H_ + +#include +#include "randrstr.h" +#include "presentext.h" + +typedef struct present_vblank present_vblank_rec, *present_vblank_ptr; + +/* Return the current CRTC for 'window'. + */ +typedef RRCrtcPtr (*present_get_crtc_ptr) (WindowPtr window); + +/* Return the current ust/msc for 'crtc' + */ +typedef int (*present_get_ust_msc_ptr) (RRCrtcPtr crtc, uint64_t *ust, uint64_t *msc); + +/* Queue callback on 'crtc' for time 'msc'. Call present_event_notify with 'event_id' + * at or after 'msc'. Return false if it didn't happen (which might occur if 'crtc' + * is not currently generating vblanks). + */ +typedef Bool (*present_queue_vblank_ptr) (RRCrtcPtr crtc, + uint64_t event_id, + uint64_t msc); + +/* Abort pending vblank. The extension is no longer interested in + * 'event_id' which was to be notified at 'msc'. If possible, the + * driver is free to de-queue the notification. + */ +typedef void (*present_abort_vblank_ptr) (RRCrtcPtr crtc, uint64_t event_id, uint64_t msc); + +/* Flush pending drawing on 'window' to the hardware. + */ +typedef void (*present_flush_ptr) (WindowPtr window); + +/* Check if 'pixmap' is suitable for flipping to 'window'. + */ +typedef Bool (*present_check_flip_ptr) (RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, Bool sync_flip); + +/* Flip pixmap, return false if it didn't happen. + * + * 'crtc' is to be used for any necessary synchronization. + * + * 'sync_flip' requests that the flip be performed at the next + * vertical blank interval to avoid tearing artifacts. If false, the + * flip should be performed as soon as possible. + * + * present_event_notify should be called with 'event_id' when the flip + * occurs + */ +typedef Bool (*present_flip_ptr) (RRCrtcPtr crtc, + uint64_t event_id, + uint64_t target_msc, + PixmapPtr pixmap, + Bool sync_flip); + +/* "unflip" back to the regular screen scanout buffer + * + * present_event_notify should be called with 'event_id' when the unflip occurs. + */ +typedef void (*present_unflip_ptr) (ScreenPtr screen, + uint64_t event_id); + +#define PRESENT_SCREEN_INFO_VERSION 0 + +typedef struct present_screen_info { + uint32_t version; + + present_get_crtc_ptr get_crtc; + present_get_ust_msc_ptr get_ust_msc; + present_queue_vblank_ptr queue_vblank; + present_abort_vblank_ptr abort_vblank; + present_flush_ptr flush; + uint32_t capabilities; + present_check_flip_ptr check_flip; + present_flip_ptr flip; + present_unflip_ptr unflip; + +} present_screen_info_rec, *present_screen_info_ptr; + +/* + * Called when 'event_id' occurs. 'ust' and 'msc' indicate when the + * event actually happened + */ +extern _X_EXPORT void +present_event_notify(uint64_t event_id, uint64_t ust, uint64_t msc); + +/* 'crtc' has been turned off, so any pending events will never occur. + */ +extern _X_EXPORT void +present_event_abandon(RRCrtcPtr crtc); + +extern _X_EXPORT Bool +present_screen_init(ScreenPtr screen, present_screen_info_ptr info); + +typedef void (*present_complete_notify_proc)(WindowPtr window, + CARD8 mode, + CARD32 serial, + uint64_t ust, + uint64_t msc); + +extern _X_EXPORT void +present_register_complete_notify(present_complete_notify_proc proc); + +#endif /* _PRESENT_H_ */ diff --git a/xserver/present/present_event.c b/xserver/present/present_event.c new file mode 100644 index 000000000..f0d509ed4 --- /dev/null +++ b/xserver/present/present_event.c @@ -0,0 +1,247 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "present_priv.h" + +RESTYPE present_event_type; + +static int +present_free_event(pointer data, XID id) +{ + present_event_ptr present_event = (present_event_ptr) data; + present_window_priv_ptr window_priv = present_window_priv(present_event->window); + present_event_ptr *previous, current; + + for (previous = &window_priv->events; (current = *previous); previous = ¤t->next) { + if (current == present_event) { + *previous = present_event->next; + break; + } + } + free((pointer) present_event); + return 1; + +} + +void +present_free_events(WindowPtr window) +{ + present_window_priv_ptr window_priv = present_window_priv(window); + present_event_ptr event; + + if (!window_priv) + return; + + while ((event = window_priv->events)) + FreeResource(event->id, RT_NONE); +} + +static void +present_event_swap(xGenericEvent *from, xGenericEvent *to) +{ + *to = *from; + swaps(&to->sequenceNumber); + swapl(&to->length); + swaps(&to->evtype); + switch (from->evtype) { + case PresentConfigureNotify: { + xPresentConfigureNotify *c = (xPresentConfigureNotify *) to; + + swapl(&c->eid); + swapl(&c->window); + swaps(&c->x); + swaps(&c->y); + swaps(&c->width); + swaps(&c->height); + swaps(&c->off_x); + swaps(&c->off_y); + swaps(&c->pixmap_width); + swaps(&c->pixmap_height); + swapl(&c->pixmap_flags); + break; + } + case PresentCompleteNotify: + { + xPresentCompleteNotify *c = (xPresentCompleteNotify *) to; + swapl(&c->eid); + swapl(&c->window); + swapl(&c->serial); + swapll(&c->ust); + swapll(&c->msc); + } + case PresentIdleNotify: + { + xPresentIdleNotify *c = (xPresentIdleNotify *) to; + swapl(&c->eid); + swapl(&c->window); + swapl(&c->serial); + swapl(&c->idle_fence); + } + } +} + +void +present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, WindowPtr sibling) +{ + present_window_priv_ptr window_priv = present_window_priv(window); + + if (window_priv) { + xPresentConfigureNotify cn = { + .type = GenericEvent, + .extension = present_request, + .length = (sizeof(xPresentConfigureNotify) - 32) >> 2, + .evtype = PresentConfigureNotify, + .eid = 0, + .window = window->drawable.id, + .x = x, + .y = y, + .width = w, + .height = h, + .off_x = 0, + .off_y = 0, + .pixmap_width = w, + .pixmap_height = h, + .pixmap_flags = 0 + }; + present_event_ptr event; + + for (event = window_priv->events; event; event = event->next) { + if (event->mask & (1 << PresentConfigureNotify)) { + cn.eid = event->id; + WriteEventsToClient(event->client, 1, (xEvent *) &cn); + } + } + } +} + +static present_complete_notify_proc complete_notify; + +void +present_register_complete_notify(present_complete_notify_proc proc) +{ + complete_notify = proc; +} + +void +present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 serial, uint64_t ust, uint64_t msc) +{ + present_window_priv_ptr window_priv = present_window_priv(window); + + if (window_priv) { + xPresentCompleteNotify cn = { + .type = GenericEvent, + .extension = present_request, + .length = (sizeof(xPresentCompleteNotify) - 32) >> 2, + .evtype = PresentCompleteNotify, + .kind = kind, + .mode = mode, + .eid = 0, + .window = window->drawable.id, + .serial = serial, + .ust = ust, + .msc = msc, + }; + present_event_ptr event; + + for (event = window_priv->events; event; event = event->next) { + if (event->mask & PresentCompleteNotifyMask) { + cn.eid = event->id; + WriteEventsToClient(event->client, 1, (xEvent *) &cn); + } + } + } + if (complete_notify) + (*complete_notify)(window, mode, serial, ust, msc); +} + +void +present_send_idle_notify(WindowPtr window, CARD32 serial, PixmapPtr pixmap, struct present_fence *idle_fence) +{ + present_window_priv_ptr window_priv = present_window_priv(window); + + if (window_priv) { + xPresentIdleNotify in = { + .type = GenericEvent, + .extension = present_request, + .length = (sizeof(xPresentIdleNotify) - 32) >> 2, + .evtype = PresentIdleNotify, + .eid = 0, + .window = window->drawable.id, + .serial = serial, + .pixmap = pixmap->drawable.id, + .idle_fence = present_fence_id(idle_fence) + }; + present_event_ptr event; + + for (event = window_priv->events; event; event = event->next) { + if (event->mask & PresentIdleNotifyMask) { + in.eid = event->id; + WriteEventsToClient(event->client, 1, (xEvent *) &in); + } + } + } +} + +int +present_select_input(ClientPtr client, XID eid, WindowPtr window, CARD32 mask) +{ + present_window_priv_ptr window_priv = present_get_window_priv(window, mask != 0); + present_event_ptr event; + + if (!window_priv) { + if (mask) + return BadAlloc; + return Success; + } + + event = calloc (1, sizeof (present_event_rec)); + if (!event) + return BadAlloc; + + event->client = client; + event->window = window; + event->id = eid; + event->mask = mask; + + event->next = window_priv->events; + window_priv->events = event; + + if (!AddResource(event->id, present_event_type, (pointer) event)) + return BadAlloc; + + return Success; +} + +Bool +present_event_init(void) +{ + present_event_type = CreateNewResourceType(present_free_event, "PresentEvent"); + if (!present_event_type) + return FALSE; + + GERegisterExtension(present_request, present_event_swap); + return TRUE; +} diff --git a/xserver/present/present_fake.c b/xserver/present/present_fake.c new file mode 100644 index 000000000..e550e98f8 --- /dev/null +++ b/xserver/present/present_fake.c @@ -0,0 +1,140 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "present_priv.h" +#include "list.h" + +static struct xorg_list fake_vblank_queue; + +typedef struct present_fake_vblank { + struct xorg_list list; + uint64_t event_id; + OsTimerPtr timer; + ScreenPtr screen; +} present_fake_vblank_rec, *present_fake_vblank_ptr; + +int +present_fake_get_ust_msc(ScreenPtr screen, uint64_t *ust, uint64_t *msc) +{ + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + *ust = GetTimeInMicros(); + *msc = (*ust + screen_priv->fake_interval / 2) / screen_priv->fake_interval; + return Success; +} + +static void +present_fake_notify(ScreenPtr screen, uint64_t event_id) +{ + uint64_t ust, msc; + + present_fake_get_ust_msc(screen, &ust, &msc); + present_event_notify(event_id, ust, msc); +} + +static CARD32 +present_fake_do_timer(OsTimerPtr timer, + CARD32 time, + pointer arg) +{ + present_fake_vblank_ptr fake_vblank = arg; + + present_fake_notify(fake_vblank->screen, fake_vblank->event_id); + xorg_list_del(&fake_vblank->list); + free(fake_vblank); + return 0; +} + +void +present_fake_abort_vblank(ScreenPtr screen, uint64_t event_id, uint64_t msc) +{ + present_fake_vblank_ptr fake_vblank, tmp; + + xorg_list_for_each_entry_safe(fake_vblank, tmp, &fake_vblank_queue, list) { + if (fake_vblank->event_id == event_id) { + TimerCancel(fake_vblank->timer); + xorg_list_del(&fake_vblank->list); + free (fake_vblank); + break; + } + } +} + +int +present_fake_queue_vblank(ScreenPtr screen, + uint64_t event_id, + uint64_t msc) +{ + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + uint64_t ust = msc * screen_priv->fake_interval; + uint64_t now = GetTimeInMicros(); + INT32 delay = ((int64_t) (ust - now)) / 1000; + present_fake_vblank_ptr fake_vblank; + + if (delay <= 0) { + present_fake_notify(screen, event_id); + return Success; + } + + fake_vblank = calloc (1, sizeof (present_fake_vblank_rec)); + if (!fake_vblank) + return BadAlloc; + + fake_vblank->screen = screen; + fake_vblank->event_id = event_id; + fake_vblank->timer = TimerSet(NULL, 0, delay, present_fake_do_timer, fake_vblank); + if (!fake_vblank->timer) { + free(fake_vblank); + return BadAlloc; + } + + xorg_list_add(&fake_vblank->list, &fake_vblank_queue); + + return Success; +} + +void +present_fake_screen_init(ScreenPtr screen) +{ + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + /* For screens with hardware vblank support, the fake code + * will be used for off-screen windows and while screens are blanked, + * in which case we want a slow interval here + * + * Otherwise, pretend that the screen runs at 60Hz + */ + if (screen_priv->info && screen_priv->info->get_crtc) + screen_priv->fake_interval = 1000000; + else + screen_priv->fake_interval = 16667; +} + +void +present_fake_queue_init(void) +{ + xorg_list_init(&fake_vblank_queue); +} diff --git a/xserver/present/present_fence.c b/xserver/present/present_fence.c new file mode 100644 index 000000000..e09657d31 --- /dev/null +++ b/xserver/present/present_fence.c @@ -0,0 +1,139 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "present_priv.h" +#include +#include +#include + +/* + * Wraps SyncFence objects so we can add a SyncTrigger to find out + * when the SyncFence gets destroyed and clean up appropriately + */ + +struct present_fence { + SyncTrigger trigger; + SyncFence *fence; + void (*callback)(void *param); + void *param; +}; + +/* + * SyncTrigger callbacks + */ +static Bool +present_fence_sync_check_trigger(SyncTrigger *trigger, XSyncValue oldval) +{ + struct present_fence *present_fence = container_of(trigger, struct present_fence, trigger); + + return present_fence->callback != NULL; +} + +static void +present_fence_sync_trigger_fired(SyncTrigger *trigger) +{ + struct present_fence *present_fence = container_of(trigger, struct present_fence, trigger); + + if (present_fence->callback) + (*present_fence->callback)(present_fence->param); +} + +static void +present_fence_sync_counter_destroyed(SyncTrigger *trigger) +{ + struct present_fence *present_fence = container_of(trigger, struct present_fence, trigger); + + present_fence->fence = NULL; +} + +struct present_fence * +present_fence_create(SyncFence *fence) +{ + struct present_fence *present_fence; + + present_fence = calloc (1, sizeof (struct present_fence)); + if (!present_fence) + return NULL; + + present_fence->fence = fence; + present_fence->trigger.pSync = (SyncObject *) fence; + present_fence->trigger.CheckTrigger = present_fence_sync_check_trigger; + present_fence->trigger.TriggerFired = present_fence_sync_trigger_fired; + present_fence->trigger.CounterDestroyed = present_fence_sync_counter_destroyed; + + if (SyncAddTriggerToSyncObject(&present_fence->trigger) != Success) { + free (present_fence); + return NULL; + } + return present_fence; +} + +void +present_fence_destroy(struct present_fence *present_fence) +{ + if (present_fence) { + if (present_fence->fence) + SyncDeleteTriggerFromSyncObject(&present_fence->trigger); + free(present_fence); + } +} + +void +present_fence_set_triggered(struct present_fence *present_fence) +{ + if (present_fence) + if (present_fence->fence) + (*present_fence->fence->funcs.SetTriggered) (present_fence->fence); +} + +Bool +present_fence_check_triggered(struct present_fence *present_fence) +{ + if (!present_fence) + return TRUE; + if (!present_fence->fence) + return TRUE; + return (*present_fence->fence->funcs.CheckTriggered)(present_fence->fence); +} + +void +present_fence_set_callback(struct present_fence *present_fence, + void (*callback) (void *param), + void *param) +{ + present_fence->callback = callback; + present_fence->param = param; +} + +XID +present_fence_id(struct present_fence *present_fence) +{ + if (!present_fence) + return None; + if (!present_fence->fence) + return None; + return present_fence->fence->sync.id; +} diff --git a/xserver/present/present_notify.c b/xserver/present/present_notify.c new file mode 100644 index 000000000..e272e08dc --- /dev/null +++ b/xserver/present/present_notify.c @@ -0,0 +1,114 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "present_priv.h" + +/* + * Mark all pending notifies for 'window' as invalid when + * the window is destroyed + */ + +void +present_clear_window_notifies(WindowPtr window) +{ + present_notify_ptr notify; + present_window_priv_ptr window_priv = present_window_priv(window); + + if (!window_priv) + return; + + xorg_list_for_each_entry(notify, &window_priv->notifies, window_list) { + notify->window = NULL; + } +} + +/* + * 'notify' is being freed; remove it from the window's notify list + */ + +void +present_free_window_notify(present_notify_ptr notify) +{ + xorg_list_del(¬ify->window_list); +} + +/* + * 'notify' is new; add it to the specified window + */ + +int +present_add_window_notify(present_notify_ptr notify) +{ + WindowPtr window = notify->window; + present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE); + + if (!window_priv) + return BadAlloc; + + xorg_list_add(¬ify->window_list, &window_priv->notifies); + return Success; +} + +int +present_create_notifies(ClientPtr client, int num_notifies, xPresentNotify *x_notifies, present_notify_ptr *p_notifies) +{ + present_notify_ptr notifies; + int i; + int added = 0; + int status; + + notifies = calloc (num_notifies, sizeof (present_notify_rec)); + if (!notifies) + return BadAlloc; + + for (i = 0; i < num_notifies; i++) { + status = dixLookupWindow(¬ifies[i].window, x_notifies[i].window, client, DixGetAttrAccess); + if (status != Success) + goto bail; + + notifies[i].serial = x_notifies[i].serial; + status = present_add_window_notify(¬ifies[i]); + if (status != Success) + goto bail; + + added = i; + } + return Success; + +bail: + present_destroy_notifies(notifies, added); + return status; +} + +void +present_destroy_notifies(present_notify_ptr notifies, int num_notifies) +{ + int i; + for (i = 0; i < num_notifies; i++) + present_free_window_notify(¬ifies[i]); + + free(notifies); +} diff --git a/xserver/present/present_priv.h b/xserver/present/present_priv.h new file mode 100644 index 000000000..8d3e0079c --- /dev/null +++ b/xserver/present/present_priv.h @@ -0,0 +1,302 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _PRESENT_PRIV_H_ +#define _PRESENT_PRIV_H_ + +#include +#include "scrnintstr.h" +#include "misc.h" +#include "list.h" +#include "windowstr.h" +#include "dixstruct.h" +#include "present.h" +#include +#include +#include +#include + +extern int present_request; + +extern DevPrivateKeyRec present_screen_private_key; + +typedef struct present_fence *present_fence_ptr; + +typedef struct present_notify present_notify_rec, *present_notify_ptr; + +struct present_notify { + struct xorg_list window_list; + WindowPtr window; + CARD32 serial; +}; + +struct present_vblank { + struct xorg_list window_list; + struct xorg_list event_queue; + ScreenPtr screen; + WindowPtr window; + PixmapPtr pixmap; + RegionPtr valid; + RegionPtr update; + RRCrtcPtr crtc; + uint32_t serial; + int16_t x_off; + int16_t y_off; + CARD16 kind; + uint64_t event_id; + uint64_t target_msc; + uint64_t msc_offset; + present_fence_ptr idle_fence; + present_fence_ptr wait_fence; + present_notify_ptr notifies; + int num_notifies; + Bool queued; /* on present_exec_queue */ + Bool flip; /* planning on using flip */ + Bool sync_flip; /* do flip synchronous to vblank */ + Bool abort_flip; /* aborting this flip */ +}; + +typedef struct present_screen_priv { + CloseScreenProcPtr CloseScreen; + ConfigNotifyProcPtr ConfigNotify; + DestroyWindowProcPtr DestroyWindow; + ClipNotifyProcPtr ClipNotify; + + present_vblank_ptr flip_pending; + uint64_t unflip_event_id; + + uint32_t fake_interval; + + /* Currently active flipped pixmap and fence */ + RRCrtcPtr flip_crtc; + WindowPtr flip_window; + uint32_t flip_serial; + PixmapPtr flip_pixmap; + present_fence_ptr flip_idle_fence; + + present_screen_info_ptr info; +} present_screen_priv_rec, *present_screen_priv_ptr; + +#define wrap(priv,real,mem,func) {\ + priv->mem = real->mem; \ + real->mem = func; \ +} + +#define unwrap(priv,real,mem) {\ + real->mem = priv->mem; \ +} + +static inline present_screen_priv_ptr +present_screen_priv(ScreenPtr screen) +{ + return (present_screen_priv_ptr)dixLookupPrivate(&(screen)->devPrivates, &present_screen_private_key); +} + +/* + * Each window has a list of clients and event masks + */ +typedef struct present_event *present_event_ptr; + +typedef struct present_event { + present_event_ptr next; + ClientPtr client; + WindowPtr window; + XID id; + int mask; +} present_event_rec; + +typedef struct present_window_priv { + present_event_ptr events; + RRCrtcPtr crtc; /* Last reported CRTC from get_ust_msc */ + uint64_t msc_offset; + uint64_t msc; /* Last reported MSC from the current crtc */ + struct xorg_list vblank; + struct xorg_list notifies; +} present_window_priv_rec, *present_window_priv_ptr; + +extern DevPrivateKeyRec present_window_private_key; + +static inline present_window_priv_ptr +present_window_priv(WindowPtr window) +{ + return (present_window_priv_ptr)dixGetPrivate(&(window)->devPrivates, &present_window_private_key); +} + +present_window_priv_ptr +present_get_window_priv(WindowPtr window, Bool create); + +extern RESTYPE present_event_type; + +/* + * present.c + */ +int +present_pixmap(WindowPtr window, + PixmapPtr pixmap, + CARD32 serial, + RegionPtr valid, + RegionPtr update, + int16_t x_off, + int16_t y_off, + RRCrtcPtr target_crtc, + SyncFence *wait_fence, + SyncFence *idle_fence, + uint32_t options, + uint64_t target_msc, + uint64_t divisor, + uint64_t remainder, + present_notify_ptr notifies, + int num_notifies); + +int +present_notify_msc(WindowPtr window, + CARD32 serial, + uint64_t target_msc, + uint64_t divisor, + uint64_t remainder); + +void +present_abort_vblank(ScreenPtr screen, RRCrtcPtr crtc, uint64_t event_id, uint64_t msc); + +void +present_vblank_destroy(present_vblank_ptr vblank); + +void +present_flip_destroy(ScreenPtr screen); + +void +present_check_flip_window(WindowPtr window); + +RRCrtcPtr +present_get_crtc(WindowPtr window); + +uint32_t +present_query_capabilities(RRCrtcPtr crtc); + +Bool +present_init(void); + +/* + * present_event.c + */ + +void +present_free_events(WindowPtr window); + +void +present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, WindowPtr sibling); + +void +present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 serial, uint64_t ust, uint64_t msc); + +void +present_send_idle_notify(WindowPtr window, CARD32 serial, PixmapPtr pixmap, present_fence_ptr idle_fence); + +int +present_select_input(ClientPtr client, + CARD32 eid, + WindowPtr window, + CARD32 event_mask); + +Bool +present_event_init(void); + +/* + * present_fake.c + */ +int +present_fake_get_ust_msc(ScreenPtr screen, uint64_t *ust, uint64_t *msc); + +int +present_fake_queue_vblank(ScreenPtr screen, uint64_t event_id, uint64_t msc); + +void +present_fake_abort_vblank(ScreenPtr screen, uint64_t event_id, uint64_t msc); + +void +present_fake_screen_init(ScreenPtr screen); + +void +present_fake_queue_init(void); + +/* + * present_fence.c + */ +struct present_fence * +present_fence_create(SyncFence *sync_fence); + +void +present_fence_destroy(struct present_fence *present_fence); + +void +present_fence_set_triggered(struct present_fence *present_fence); + +Bool +present_fence_check_triggered(struct present_fence *present_fence); + +void +present_fence_set_callback(struct present_fence *present_fence, + void (*callback)(void *param), + void *param); + +XID +present_fence_id(struct present_fence *present_fence); + +/* + * present_notify.c + */ +void +present_clear_window_notifies(WindowPtr window); + +void +present_free_window_notify(present_notify_ptr notify); + +int +present_add_window_notify(present_notify_ptr notify); + +int +present_create_notifies(ClientPtr client, int num_notifies, xPresentNotify *x_notifies, present_notify_ptr *p_notifies); + +void +present_destroy_notifies(present_notify_ptr notifies, int num_notifies); + +/* + * present_redirect.c + */ + +WindowPtr +present_redirect(ClientPtr client, WindowPtr target); + +/* + * present_request.c + */ +int +proc_present_dispatch(ClientPtr client); + +int +sproc_present_dispatch(ClientPtr client); + +/* + * present_screen.c + */ + +#endif /* _PRESENT_PRIV_H_ */ diff --git a/xserver/present/present_request.c b/xserver/present/present_request.c new file mode 100644 index 000000000..1064dcb3b --- /dev/null +++ b/xserver/present/present_request.c @@ -0,0 +1,331 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "present_priv.h" +#include "randrstr.h" +#include + +static int +proc_present_query_version(ClientPtr client) +{ + REQUEST(xPresentQueryVersionReq); + xPresentQueryVersionReply rep = { + .type = X_Reply, + .sequenceNumber = client->sequence, + .length = 0, + .majorVersion = SERVER_PRESENT_MAJOR_VERSION, + .minorVersion = SERVER_PRESENT_MINOR_VERSION + }; + + REQUEST_SIZE_MATCH(xPresentQueryVersionReq); + (void) stuff; + if (client->swapped) { + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swapl(&rep.majorVersion); + swapl(&rep.minorVersion); + } + WriteToClient(client, sizeof(rep), &rep); + return Success; +} + +#define VERIFY_FENCE_OR_NONE(fence_ptr, fence_id, client, access) do { \ + if ((fence_id) == None) \ + (fence_ptr) = NULL; \ + else { \ + int __rc__ = SyncVerifyFence(&fence_ptr, fence_id, client, access); \ + if (__rc__ != Success) \ + return __rc__; \ + } \ + } while (0) + +#define VERIFY_CRTC_OR_NONE(crtc_ptr, crtc_id, client, access) do { \ + if ((crtc_id) == None) \ + (crtc_ptr) = NULL; \ + else { \ + VERIFY_RR_CRTC(crtc_id, crtc_ptr, access); \ + } \ + } while (0) + +static int +proc_present_pixmap(ClientPtr client) +{ + REQUEST(xPresentPixmapReq); + WindowPtr window; + PixmapPtr pixmap; + RegionPtr valid = NULL; + RegionPtr update = NULL; + SyncFence *wait_fence; + SyncFence *idle_fence; + RRCrtcPtr target_crtc; + int ret; + int nnotifies; + present_notify_ptr notifies = NULL; + + REQUEST_AT_LEAST_SIZE(xPresentPixmapReq); + ret = dixLookupWindow(&window, stuff->window, client, DixWriteAccess); + if (ret != Success) + return ret; + ret = dixLookupResourceByType((pointer *) &pixmap, stuff->pixmap, RT_PIXMAP, client, DixReadAccess); + if (ret != Success) + return ret; + + if (window->drawable.depth != pixmap->drawable.depth) + return BadMatch; + + VERIFY_REGION_OR_NONE(valid, stuff->valid, client, DixReadAccess); + VERIFY_REGION_OR_NONE(update, stuff->update, client, DixReadAccess); + + VERIFY_CRTC_OR_NONE(target_crtc, stuff->target_crtc, client, DixReadAccess); + + VERIFY_FENCE_OR_NONE(wait_fence, stuff->wait_fence, client, DixReadAccess); + VERIFY_FENCE_OR_NONE(idle_fence, stuff->idle_fence, client, DixWriteAccess); + + if (stuff->options & ~(PresentAllOptions)) { + client->errorValue = stuff->options; + return BadValue; + } + + /* + * Check to see if remainder is sane + */ + if (stuff->divisor == 0) { + if (stuff->remainder != 0) { + client->errorValue = (CARD32) stuff->remainder; + return BadValue; + } + } else { + if (stuff->remainder >= stuff->divisor) { + client->errorValue = (CARD32) stuff->remainder; + return BadValue; + } + } + + nnotifies = (client->req_len << 2) - sizeof (xPresentPixmapReq); + if (nnotifies % sizeof (xPresentNotify)) + return BadLength; + + nnotifies /= sizeof (xPresentNotify); + if (nnotifies) { + ret = present_create_notifies(client, nnotifies, (xPresentNotify *) (stuff + 1), ¬ifies); + if (ret != Success) + return ret; + } + + ret = present_pixmap(window, pixmap, stuff->serial, valid, update, + stuff->x_off, stuff->y_off, target_crtc, + wait_fence, idle_fence, stuff->options, + stuff->target_msc, stuff->divisor, stuff->remainder, notifies, nnotifies); + if (ret != Success) + present_destroy_notifies(notifies, nnotifies); + return ret; +} + +static int +proc_present_notify_msc(ClientPtr client) +{ + REQUEST(xPresentNotifyMSCReq); + WindowPtr window; + int rc; + + REQUEST_SIZE_MATCH(xPresentNotifyMSCReq); + rc = dixLookupWindow(&window, stuff->window, client, DixReadAccess); + if (rc != Success) + return rc; + + /* + * Check to see if remainder is sane + */ + if (stuff->divisor == 0) { + if (stuff->remainder != 0) { + client->errorValue = (CARD32) stuff->remainder; + return BadValue; + } + } else { + if (stuff->remainder >= stuff->divisor) { + client->errorValue = (CARD32) stuff->remainder; + return BadValue; + } + } + + return present_notify_msc(window, stuff->serial, + stuff->target_msc, stuff->divisor, stuff->remainder); +} + +static int +proc_present_select_input (ClientPtr client) +{ + REQUEST(xPresentSelectInputReq); + WindowPtr window; + int rc; + + REQUEST_SIZE_MATCH(xPresentSelectInputReq); + + LEGAL_NEW_RESOURCE(stuff->eid, client); + + rc = dixLookupWindow(&window, stuff->window, client, DixGetAttrAccess); + if (rc != Success) + return rc; + + if (stuff->eventMask & ~PresentAllEvents) { + client->errorValue = stuff->eventMask; + return BadValue; + } + return present_select_input(client, stuff->eid, window, stuff->eventMask); +} + +static int +proc_present_query_capabilities (ClientPtr client) +{ + REQUEST(xPresentQueryCapabilitiesReq); + xPresentQueryCapabilitiesReply rep = { + .type = X_Reply, + .sequenceNumber = client->sequence, + .length = 0, + }; + WindowPtr window; + RRCrtcPtr crtc = NULL; + int r; + + r = dixLookupWindow(&window, stuff->target, client, DixGetAttrAccess); + switch (r) { + case Success: + crtc = present_get_crtc(window); + break; + case BadWindow: + VERIFY_RR_CRTC(stuff->target, crtc, DixGetAttrAccess); + break; + default: + return r; + } + + rep.capabilities = present_query_capabilities(crtc); + + if (client->swapped) { + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swapl(&rep.capabilities); + } + WriteToClient(client, sizeof(rep), &rep); + return Success; +} + +int (*proc_present_vector[PresentNumberRequests]) (ClientPtr) = { + proc_present_query_version, /* 0 */ + proc_present_pixmap, /* 1 */ + proc_present_notify_msc, /* 2 */ + proc_present_select_input, /* 3 */ + proc_present_query_capabilities, /* 4 */ +}; + +int +proc_present_dispatch(ClientPtr client) +{ + REQUEST(xReq); + if (stuff->data >= PresentNumberRequests || !proc_present_vector[stuff->data]) + return BadRequest; + return (*proc_present_vector[stuff->data]) (client); +} + +static int +sproc_present_query_version(ClientPtr client) +{ + REQUEST(xPresentQueryVersionReq); + + swaps(&stuff->length); + swapl(&stuff->majorVersion); + swapl(&stuff->minorVersion); + return (*proc_present_vector[stuff->presentReqType]) (client); +} + +static int +sproc_present_pixmap(ClientPtr client) +{ + REQUEST(xPresentPixmapReq); + + swaps(&stuff->length); + swapl(&stuff->window); + swapl(&stuff->pixmap); + swapl(&stuff->valid); + swapl(&stuff->update); + swaps(&stuff->x_off); + swaps(&stuff->y_off); + swapll(&stuff->target_msc); + swapll(&stuff->divisor); + swapll(&stuff->remainder); + swapl(&stuff->idle_fence); + return (*proc_present_vector[stuff->presentReqType]) (client); +} + +static int +sproc_present_notify_msc(ClientPtr client) +{ + REQUEST(xPresentNotifyMSCReq); + + swaps(&stuff->length); + swapl(&stuff->window); + swapll(&stuff->target_msc); + swapll(&stuff->divisor); + swapll(&stuff->remainder); + return (*proc_present_vector[stuff->presentReqType]) (client); +} + +static int +sproc_present_select_input (ClientPtr client) +{ + REQUEST(xPresentSelectInputReq); + + swaps(&stuff->length); + swapl(&stuff->window); + swapl(&stuff->eventMask); + return (*proc_present_vector[stuff->presentReqType]) (client); +} + +static int +sproc_present_query_capabilities (ClientPtr client) +{ + REQUEST(xPresentQueryCapabilitiesReq); + swaps(&stuff->length); + swapl(&stuff->target); + return (*proc_present_vector[stuff->presentReqType]) (client); +} + +int (*sproc_present_vector[PresentNumberRequests]) (ClientPtr) = { + sproc_present_query_version, /* 0 */ + sproc_present_pixmap, /* 1 */ + sproc_present_notify_msc, /* 2 */ + sproc_present_select_input, /* 3 */ + sproc_present_query_capabilities, /* 4 */ +}; + +int +sproc_present_dispatch(ClientPtr client) +{ + REQUEST(xReq); + if (stuff->data >= PresentNumberRequests || !sproc_present_vector[stuff->data]) + return BadRequest; + return (*sproc_present_vector[stuff->data]) (client); +} diff --git a/xserver/present/present_screen.c b/xserver/present/present_screen.c new file mode 100644 index 000000000..25ef6818d --- /dev/null +++ b/xserver/present/present_screen.c @@ -0,0 +1,236 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "present_priv.h" + +int present_request; +DevPrivateKeyRec present_screen_private_key; +DevPrivateKeyRec present_window_private_key; + +/* + * Get a pointer to a present window private, creating if necessary + */ +present_window_priv_ptr +present_get_window_priv(WindowPtr window, Bool create) +{ + present_window_priv_ptr window_priv = present_window_priv(window); + + if (!create || window_priv != NULL) + return window_priv; + window_priv = calloc (1, sizeof (present_window_priv_rec)); + if (!window_priv) + return NULL; + xorg_list_init(&window_priv->vblank); + xorg_list_init(&window_priv->notifies); + dixSetPrivate(&window->devPrivates, &present_window_private_key, window_priv); + return window_priv; +} + +/* + * Hook the close screen function to clean up our screen private + */ +static Bool +present_close_screen(ScreenPtr screen) +{ + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + present_flip_destroy(screen); + + unwrap(screen_priv, screen, CloseScreen); + (*screen->CloseScreen) (screen); + free(screen_priv); + return TRUE; +} + +/* + * Free any queued presentations for this window + */ +static void +present_free_window_vblank(WindowPtr window) +{ + present_window_priv_ptr window_priv = present_window_priv(window); + present_vblank_ptr vblank, tmp; + + xorg_list_for_each_entry_safe(vblank, tmp, &window_priv->vblank, window_list) { + present_abort_vblank(window->drawable.pScreen, vblank->crtc, vblank->event_id, vblank->target_msc); + present_vblank_destroy(vblank); + } +} + +/* + * Clean up any pending or current flips for this window + */ +static void +present_clear_window_flip(WindowPtr window) +{ + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + present_vblank_ptr flip_pending = screen_priv->flip_pending; + + if (flip_pending && flip_pending->window == window) { + assert (flip_pending->abort_flip); + flip_pending->window = NULL; + } + if (screen_priv->flip_window == window) + screen_priv->flip_window = NULL; +} + +/* + * Hook the close window function to clean up our window private + */ +static Bool +present_destroy_window(WindowPtr window) +{ + Bool ret; + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + present_window_priv_ptr window_priv = present_window_priv(window); + + if (window_priv) { + present_clear_window_notifies(window); + present_free_events(window); + present_free_window_vblank(window); + present_clear_window_flip(window); + free(window_priv); + } + unwrap(screen_priv, screen, DestroyWindow); + if (screen->DestroyWindow) + ret = screen->DestroyWindow (window); + else + ret = TRUE; + wrap(screen_priv, screen, DestroyWindow, present_destroy_window); + return ret; +} + +/* + * Hook the config notify screen function to deliver present config notify events + */ +static int +present_config_notify(WindowPtr window, + int x, int y, int w, int h, int bw, + WindowPtr sibling) +{ + int ret; + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + present_send_config_notify(window, x, y, w, h, bw, sibling); + + unwrap(screen_priv, screen, ConfigNotify); + if (screen->ConfigNotify) + ret = screen->ConfigNotify (window, x, y, w, h, bw, sibling); + else + ret = 0; + wrap(screen_priv, screen, ConfigNotify, present_config_notify); + return ret; +} + +/* + * Hook the clip notify screen function to un-flip as necessary + */ + +static void +present_clip_notify(WindowPtr window, int dx, int dy) +{ + ScreenPtr screen = window->drawable.pScreen; + present_screen_priv_ptr screen_priv = present_screen_priv(screen); + + present_check_flip_window(window); + unwrap(screen_priv, screen, ClipNotify) + if (screen->ClipNotify) + screen->ClipNotify (window, dx, dy); + wrap(screen_priv, screen, ClipNotify, present_clip_notify); +} + +/* + * Initialize a screen for use with present + */ +int +present_screen_init(ScreenPtr screen, present_screen_info_ptr info) +{ + if (!dixRegisterPrivateKey(&present_screen_private_key, PRIVATE_SCREEN, 0)) + return FALSE; + + if (!dixRegisterPrivateKey(&present_window_private_key, PRIVATE_WINDOW, 0)) + return FALSE; + + if (!present_screen_priv(screen)) { + present_screen_priv_ptr screen_priv = calloc(1, sizeof (present_screen_priv_rec)); + if (!screen_priv) + return FALSE; + + wrap(screen_priv, screen, CloseScreen, present_close_screen); + wrap(screen_priv, screen, DestroyWindow, present_destroy_window); + wrap(screen_priv, screen, ConfigNotify, present_config_notify); + wrap(screen_priv, screen, ClipNotify, present_clip_notify); + + screen_priv->info = info; + + dixSetPrivate(&screen->devPrivates, &present_screen_private_key, screen_priv); + + present_fake_screen_init(screen); + } + + return TRUE; +} + +/* + * Initialize the present extension + */ +void +present_extension_init(void) +{ + ExtensionEntry *extension; + int i; + +#ifdef PANORAMIX + if (!noPanoramiXExtension) + return; +#endif + + extension = AddExtension(PRESENT_NAME, PresentNumberEvents, PresentNumberErrors, + proc_present_dispatch, sproc_present_dispatch, + NULL, StandardMinorOpcode); + if (!extension) + goto bail; + + present_request = extension->base; + + if (!present_init()) + goto bail; + + if (!present_event_init()) + goto bail; + + for (i = 0; i < screenInfo.numScreens; i++) { + if (!present_screen_init(screenInfo.screens[i], NULL)) + goto bail; + } + return; + +bail: + FatalError("Cannot initialize Present extension"); +} diff --git a/xserver/present/presentext.h b/xserver/present/presentext.h new file mode 100644 index 000000000..f177f55dc --- /dev/null +++ b/xserver/present/presentext.h @@ -0,0 +1,29 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ + +#ifndef _PRESENTEXT_H_ +#define _PRESENTEXT_H_ + +extern _X_EXPORT void +present_extension_init(void); + +#endif /* _PRESENTEXT_H_ */ diff --git a/xserver/pseudoramiX/Makefile.am b/xserver/pseudoramiX/Makefile.am new file mode 100644 index 000000000..17b664b9e --- /dev/null +++ b/xserver/pseudoramiX/Makefile.am @@ -0,0 +1,7 @@ +# Fake Xinerama extension + +AM_CFLAGS = $(DIX_CFLAGS) + +noinst_LTLIBRARIES = libPseudoramiX.la + +libPseudoramiX_la_SOURCES = pseudoramiX.c pseudoramiX.h diff --git a/xserver/pseudoramiX/Makefile.in b/xserver/pseudoramiX/Makefile.in new file mode 100644 index 000000000..6eb7e99ec --- /dev/null +++ b/xserver/pseudoramiX/Makefile.in @@ -0,0 +1,766 @@ +# Makefile.in generated by automake 1.12.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2012 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@ + +# Fake Xinerama extension + +VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = pseudoramiX +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/depcomp +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/xorg-tls.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 \ + $(top_builddir)/include/version-config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libPseudoramiX_la_LIBADD = +am_libPseudoramiX_la_OBJECTS = pseudoramiX.lo +libPseudoramiX_la_OBJECTS = $(am_libPseudoramiX_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libPseudoramiX_la_SOURCES) +DIST_SOURCES = $(libPseudoramiX_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +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@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +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_CFLAGS = @BASE_CFLAGS@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +BUNDLE_ID_PREFIX = @BUNDLE_ID_PREFIX@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHANGELOG_CMD = @CHANGELOG_CMD@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CWARNFLAGS = @CWARNFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGDIR = @DEFAULT_LOGDIR@ +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@ +DIX_LIB = @DIX_LIB@ +DLLTOOL = @DLLTOOL@ +DLOPEN_LIBS = @DLOPEN_LIBS@ +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@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_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@ +FONT100DPIDIR = @FONT100DPIDIR@ +FONT75DPIDIR = @FONT75DPIDIR@ +FONTMISCDIR = @FONTMISCDIR@ +FONTOTFDIR = @FONTOTFDIR@ +FONTROOTDIR = @FONTROOTDIR@ +FONTTTFDIR = @FONTTTFDIR@ +FONTTYPE1DIR = @FONTTYPE1DIR@ +FOP = @FOP@ +GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ +GLX_DEFINES = @GLX_DEFINES@ +GLX_SYS_LIBS = @GLX_SYS_LIBS@ +GLX_TLS = @GLX_TLS@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ +INSTALL = @INSTALL@ +INSTALL_CMD = @INSTALL_CMD@ +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@ +KHRONOS_OPENGL_REGISTRY_CFLAGS = @KHRONOS_OPENGL_REGISTRY_CFLAGS@ +KHRONOS_OPENGL_REGISTRY_LIBS = @KHRONOS_OPENGL_REGISTRY_LIBS@ +KHRONOS_SPEC_DIR = @KHRONOS_SPEC_DIR@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LD_NO_UNDEFINED_FLAG = @LD_NO_UNDEFINED_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ +LIBSHA1_LIBS = @LIBSHA1_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAIN_LIB = @MAIN_LIB@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAN_SUBSTS = @MAN_SUBSTS@ +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@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OS_LIB = @OS_LIB@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ +PCIACCESS_LIBS = @PCIACCESS_LIBS@ +PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RELEASE_DATE = @RELEASE_DATE@ +SDK_REQUIRED_MODULES = @SDK_REQUIRED_MODULES@ +SED = @SED@ +SELINUX_CFLAGS = @SELINUX_CFLAGS@ +SELINUX_LIBS = @SELINUX_LIBS@ +SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ +SET_MAKE = @SET_MAKE@ +SHA1_CFLAGS = @SHA1_CFLAGS@ +SHA1_LIBS = @SHA1_LIBS@ +SHELL = @SHELL@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRICT_CFLAGS = @STRICT_CFLAGS@ +STRIP = @STRIP@ +STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ +SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +UDEV_CFLAGS = @UDEV_CFLAGS@ +UDEV_LIBS = @UDEV_LIBS@ +UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VERSION = @VERSION@ +WINDOWSWM_CFLAGS = @WINDOWSWM_CFLAGS@ +WINDOWSWM_LIBS = @WINDOWSWM_LIBS@ +WINDRES = @WINDRES@ +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@ +XF86CONFIGDIR = @XF86CONFIGDIR@ +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@ +XKB_DFLT_LAYOUT = @XKB_DFLT_LAYOUT@ +XKB_DFLT_MODEL = @XKB_DFLT_MODEL@ +XKB_DFLT_OPTIONS = @XKB_DFLT_OPTIONS@ +XKB_DFLT_RULES = @XKB_DFLT_RULES@ +XKB_DFLT_VARIANT = @XKB_DFLT_VARIANT@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XMLTO = @XMLTO@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_DRIVER_LIBS = @XORG_DRIVER_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MALLOC_DEBUG_ENV = @XORG_MALLOC_DEBUG_ENV@ +XORG_MAN_PAGE = @XORG_MAN_PAGE@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XORG_SGML_PATH = @XORG_SGML_PATH@ +XORG_SYS_LIBS = @XORG_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ +XQUARTZ_LIBS = @XQUARTZ_LIBS@ +XQUARTZ_SPARKLE = @XQUARTZ_SPARKLE@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_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@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ +XSLTPROC = @XSLTPROC@ +XSL_STYLESHEET = @XSL_STYLESHEET@ +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@ +__XCONFIGDIR__ = @__XCONFIGDIR__@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abi_ansic = @abi_ansic@ +abi_extension = @abi_extension@ +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_AR = @ac_ct_AR@ +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@ +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@ +symbol_visibility = @symbol_visibility@ +sysconfdir = @sysconfdir@ +sysconfigdir = @sysconfigdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AM_CFLAGS = $(DIX_CFLAGS) +noinst_LTLIBRARIES = libPseudoramiX.la +libPseudoramiX_la_SOURCES = pseudoramiX.c pseudoramiX.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(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 pseudoramiX/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign pseudoramiX/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: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +libPseudoramiX.la: $(libPseudoramiX_la_OBJECTS) $(libPseudoramiX_la_DEPENDENCIES) $(EXTRA_libPseudoramiX_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libPseudoramiX_la_OBJECTS) $(libPseudoramiX_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pseudoramiX.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(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) + set x; \ + 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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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 + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +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 cscopelist ctags \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/xquartz/pseudoramiX.c b/xserver/pseudoramiX/pseudoramiX.c similarity index 100% rename from xserver/hw/xquartz/pseudoramiX.c rename to xserver/pseudoramiX/pseudoramiX.c diff --git a/xserver/hw/xquartz/pseudoramiX.h b/xserver/pseudoramiX/pseudoramiX.h similarity index 100% rename from xserver/hw/xquartz/pseudoramiX.h rename to xserver/pseudoramiX/pseudoramiX.h diff --git a/xserver/randr/Makefile.in b/xserver/randr/Makefile.in index a13df8959..e773f7f51 100644 --- a/xserver/randr/Makefile.in +++ b/xserver/randr/Makefile.in @@ -219,9 +219,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -253,6 +256,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -282,6 +286,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -325,6 +331,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -338,12 +345,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -409,6 +416,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/randr/randrstr.h b/xserver/randr/randrstr.h index 27b4ba05c..15299fd6d 100644 --- a/xserver/randr/randrstr.h +++ b/xserver/randr/randrstr.h @@ -164,9 +164,9 @@ struct _rrProvider { int nameLength; RRPropertyPtr properties; Bool pendingProperties; + Bool changed; struct _rrProvider *offload_sink; struct _rrProvider *output_source; - Bool changed; }; #if RANDR_12_INTERFACE @@ -301,6 +301,7 @@ typedef struct _rrScrPriv { Bool changed; /* some config changed */ Bool configChanged; /* configuration changed */ Bool layoutChanged; /* screen layout changed */ + Bool resourcesChanged; /* screen resources change */ CARD16 minWidth, minHeight; CARD16 maxWidth, maxHeight; @@ -337,7 +338,6 @@ typedef struct _rrScrPriv { RRProviderDestroyProcPtr rrProviderDestroy; - Bool resourcesChanged; /* screen resources change */ } rrScrPrivRec, *rrScrPrivPtr; extern _X_EXPORT DevPrivateKeyRec rrPrivKeyRec; diff --git a/xserver/randr/rrcrtc.c b/xserver/randr/rrcrtc.c index 5cdfd0510..99b3dca08 100644 --- a/xserver/randr/rrcrtc.c +++ b/xserver/randr/rrcrtc.c @@ -365,13 +365,12 @@ void RRCrtcDetachScanoutPixmap(RRCrtcPtr crtc) { ScreenPtr master = crtc->pScreen->current_master; - int ret; PixmapPtr mscreenpix; rrScrPriv(crtc->pScreen); mscreenpix = master->GetScreenPixmap(master); - ret = pScrPriv->rrCrtcSetScanoutPixmap(crtc, NULL); + pScrPriv->rrCrtcSetScanoutPixmap(crtc, NULL); if (crtc->scanout_pixmap) { master->StopPixmapTracking(mscreenpix, crtc->scanout_pixmap); /* @@ -444,7 +443,7 @@ rrCheckPixmapBounding(ScreenPtr pScreen, RRCrtcPtr rr_crtc, int x, int y, int w, int h) { RegionRec root_pixmap_region, total_region, new_crtc_region; - int i, c; + int c; BoxRec newbox; BoxPtr newsize; ScreenPtr slave; @@ -504,10 +503,8 @@ rrCheckPixmapBounding(ScreenPtr pScreen, new_height == screen_pixmap->drawable.height) { ErrorF("adjust shatters %d %d\n", newsize->x1, newsize->x2); } else { - int ret; rrScrPriv(pScreen); - ret = pScrPriv->rrScreenSetSize(pScreen, - new_width, new_height, 0, 0); + pScrPriv->rrScreenSetSize(pScreen, new_width, new_height, 0, 0); } /* set shatters TODO */ diff --git a/xserver/record/Makefile.in b/xserver/record/Makefile.in index 09d1f57e0..68d1fecfc 100644 --- a/xserver/record/Makefile.in +++ b/xserver/record/Makefile.in @@ -178,9 +178,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -212,6 +215,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -241,6 +245,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -284,6 +290,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -297,12 +304,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -368,6 +375,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/record/record.c b/xserver/record/record.c index f3a26a732..2c70460e8 100644 --- a/xserver/record/record.c +++ b/xserver/record/record.c @@ -1393,6 +1393,10 @@ typedef struct { short first, last; /* if for extension, major opcode interval */ } SetInfoRec, *SetInfoPtr; +#if defined(ERR) && defined(__sun) +#undef ERR /* Avoid conflict with Solaris */ +#endif + /* These constant are used to index into an array of SetInfoRec. */ enum { REQ, /* set info for requests */ REP, /* set info for replies */ diff --git a/xserver/render/Makefile.in b/xserver/render/Makefile.in index 9b28f5cf2..345267993 100644 --- a/xserver/render/Makefile.in +++ b/xserver/render/Makefile.in @@ -211,9 +211,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -245,6 +248,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -274,6 +278,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -317,6 +323,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -330,12 +337,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -401,6 +408,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/test/Makefile.am b/xserver/test/Makefile.am index 34f53fc1e..2852bb3e0 100644 --- a/xserver/test/Makefile.am +++ b/xserver/test/Makefile.am @@ -1,11 +1,11 @@ if ENABLE_UNIT_TESTS SUBDIRS= . -noinst_PROGRAMS = list string touch +noinst_PROGRAMS = list string if XORG # Tests that require at least some DDX functions in order to fully link # For now, requires xf86 ddx, could be adjusted to use another SUBDIRS += xi2 -noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging +noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch endif check_LTLIBRARIES = libxservertest.la @@ -13,13 +13,13 @@ TESTS=$(noinst_PROGRAMS) TESTS_ENVIRONMENT = $(XORG_MALLOC_DEBUG_ENV) AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/miext/cw +AM_CPPFLAGS = $(XORG_INCS) -I$(top_srcdir)/miext/cw if XORG -INCLUDES += -I$(top_srcdir)/hw/xfree86/parser \ +AM_CPPFLAGS += -I$(top_srcdir)/hw/xfree86/parser \ -I$(top_srcdir)/hw/xfree86/ddc \ -I$(top_srcdir)/hw/xfree86/i2c -I$(top_srcdir)/hw/xfree86/modes \ -I$(top_srcdir)/hw/xfree86/ramdac -I$(top_srcdir)/hw/xfree86/dri \ - -I$(top_srcdir)/hw/xfree86/dri2 + -I$(top_srcdir)/hw/xfree86/dri2 -I$(top_srcdir)/dri3 endif TEST_LDADD=libxservertest.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) $(GLX_SYS_LIBS) @@ -64,6 +64,10 @@ if DRI2 libxservertest_la_LIBADD += $(top_builddir)/hw/xfree86/dri2/libdri2.la endif +if DRI3 +libxservertest_la_LIBADD += $(top_builddir)/dri3/libdri3.la +endif + else nodist_libxservertest_la_SOURCES = \ ddxstubs.c \ @@ -105,6 +109,11 @@ libxservertest_la_LIBADD += \ $(top_builddir)/record/librecord.la endif +if DRI3 +libxservertest_la_LIBADD += \ + $(top_builddir)/dri3/libdri3.la +endif + if XQUARTZ libxservertest_la_LIBADD += \ $(top_builddir)/miext/rootless/librootless.la diff --git a/xserver/test/Makefile.in b/xserver/test/Makefile.in index cd788ba24..4375866eb 100644 --- a/xserver/test/Makefile.in +++ b/xserver/test/Makefile.in @@ -51,17 +51,16 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @ENABLE_UNIT_TESTS_TRUE@noinst_PROGRAMS = list$(EXEEXT) \ -@ENABLE_UNIT_TESTS_TRUE@ string$(EXEEXT) touch$(EXEEXT) \ -@ENABLE_UNIT_TESTS_TRUE@ $(am__EXEEXT_1) +@ENABLE_UNIT_TESTS_TRUE@ string$(EXEEXT) $(am__EXEEXT_1) # Tests that require at least some DDX functions in order to fully link # For now, requires xf86 ddx, could be adjusted to use another @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_1 = xi2 -@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_2 = xkb input xtest misc fixes xfree86 hashtabletest os signal-logging +@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_2 = xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_3 = -I$(top_srcdir)/hw/xfree86/parser \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ -I$(top_srcdir)/hw/xfree86/ddc \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ -I$(top_srcdir)/hw/xfree86/i2c -I$(top_srcdir)/hw/xfree86/modes \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ -I$(top_srcdir)/hw/xfree86/ramdac -I$(top_srcdir)/hw/xfree86/dri \ -@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ -I$(top_srcdir)/hw/xfree86/dri2 +@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ -I$(top_srcdir)/hw/xfree86/dri2 -I$(top_srcdir)/dri3 @ENABLE_UNIT_TESTS_TRUE@@SPECIAL_DTRACE_OBJECTS_TRUE@am__append_4 = $(OS_LIB) $(DIX_LIB) @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_5 = \ @@ -79,7 +78,8 @@ host_triplet = @host@ @DRI_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_6 = $(top_builddir)/hw/xfree86/dri/libdri.la @DRI2_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_7 = $(top_builddir)/hw/xfree86/dri2/libdri2.la -@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@am__append_8 = \ +@DRI3_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@am__append_8 = $(top_builddir)/dri3/libdri3.la +@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@am__append_9 = \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/damageext/libdamageext.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/fb/libfb.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/fb/libwfb.la \ @@ -93,23 +93,26 @@ host_triplet = @host@ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/xkb/libxkb.la \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/xkb/libxkbstubs.la -@COMPOSITE_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@am__append_9 = \ +@COMPOSITE_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@am__append_10 = \ @COMPOSITE_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/composite/libcomposite.la -@DBE_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@am__append_10 = \ +@DBE_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@am__append_11 = \ @DBE_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/dbe/libdbe.la -@ENABLE_UNIT_TESTS_TRUE@@GLX_TRUE@@XORG_FALSE@am__append_11 = \ +@ENABLE_UNIT_TESTS_TRUE@@GLX_TRUE@@XORG_FALSE@am__append_12 = \ @ENABLE_UNIT_TESTS_TRUE@@GLX_TRUE@@XORG_FALSE@ $(top_builddir)/glx/libglx.la -@ENABLE_UNIT_TESTS_TRUE@@RECORD_TRUE@@XORG_FALSE@am__append_12 = \ +@ENABLE_UNIT_TESTS_TRUE@@RECORD_TRUE@@XORG_FALSE@am__append_13 = \ @ENABLE_UNIT_TESTS_TRUE@@RECORD_TRUE@@XORG_FALSE@ $(top_builddir)/record/librecord.la -@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XQUARTZ_TRUE@am__append_13 = \ +@DRI3_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@am__append_14 = \ +@DRI3_TRUE@@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_builddir)/dri3/libdri3.la + +@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XQUARTZ_TRUE@am__append_15 = \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XQUARTZ_TRUE@ $(top_builddir)/miext/rootless/librootless.la -@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XQUARTZ_TRUE@am__append_14 = -lXplugin -@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XWIN_MULTIWINDOWEXTWM_TRUE@am__append_15 = \ +@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XQUARTZ_TRUE@am__append_16 = -lXplugin +@ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XWIN_MULTIWINDOWEXTWM_TRUE@am__append_17 = \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@@XWIN_MULTIWINDOWEXTWM_TRUE@ $(top_builddir)/miext/rootless/librootless.la subdir = test @@ -164,7 +167,8 @@ am__v_lt_1 = @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ xfree86$(EXEEXT) \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ hashtabletest$(EXEEXT) \ @ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ os$(EXEEXT) \ -@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ signal-logging$(EXEEXT) +@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ signal-logging$(EXEEXT) \ +@ENABLE_UNIT_TESTS_TRUE@@XORG_TRUE@ touch$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) fixes_SOURCES = fixes.c fixes_OBJECTS = fixes.$(OBJEXT) @@ -356,9 +360,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -390,6 +397,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -419,6 +427,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -462,6 +472,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -475,12 +486,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -546,6 +557,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -629,13 +642,13 @@ top_srcdir = @top_srcdir@ @ENABLE_UNIT_TESTS_TRUE@TESTS = $(noinst_PROGRAMS) @ENABLE_UNIT_TESTS_TRUE@TESTS_ENVIRONMENT = $(XORG_MALLOC_DEBUG_ENV) @ENABLE_UNIT_TESTS_TRUE@AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ -@ENABLE_UNIT_TESTS_TRUE@INCLUDES = $(XORG_INCS) \ +@ENABLE_UNIT_TESTS_TRUE@AM_CPPFLAGS = $(XORG_INCS) \ @ENABLE_UNIT_TESTS_TRUE@ -I$(top_srcdir)/miext/cw \ @ENABLE_UNIT_TESTS_TRUE@ $(am__append_3) @ENABLE_UNIT_TESTS_TRUE@TEST_LDADD = libxservertest.la \ @ENABLE_UNIT_TESTS_TRUE@ $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) \ @ENABLE_UNIT_TESTS_TRUE@ $(GLX_SYS_LIBS) $(am__append_4) \ -@ENABLE_UNIT_TESTS_TRUE@ $(am__append_14) +@ENABLE_UNIT_TESTS_TRUE@ $(am__append_16) @ENABLE_UNIT_TESTS_TRUE@xkb_LDADD = $(TEST_LDADD) @ENABLE_UNIT_TESTS_TRUE@input_LDADD = $(TEST_LDADD) @ENABLE_UNIT_TESTS_TRUE@xtest_LDADD = $(TEST_LDADD) @@ -652,7 +665,8 @@ top_srcdir = @top_srcdir@ @ENABLE_UNIT_TESTS_TRUE@ $(am__append_7) $(am__append_8) \ @ENABLE_UNIT_TESTS_TRUE@ $(am__append_9) $(am__append_10) \ @ENABLE_UNIT_TESTS_TRUE@ $(am__append_11) $(am__append_12) \ -@ENABLE_UNIT_TESTS_TRUE@ $(am__append_13) $(am__append_15) +@ENABLE_UNIT_TESTS_TRUE@ $(am__append_13) $(am__append_14) \ +@ENABLE_UNIT_TESTS_TRUE@ $(am__append_15) $(am__append_17) @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@nodist_libxservertest_la_SOURCES = \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ ddxstubs.c \ @ENABLE_UNIT_TESTS_TRUE@@XORG_FALSE@ $(top_srcdir)/mi/miinitext.c \ diff --git a/xserver/test/input.c b/xserver/test/input.c index be988a4a3..df20f8235 100644 --- a/xserver/test/input.c +++ b/xserver/test/input.c @@ -1384,7 +1384,7 @@ dix_valuator_alloc(void) assert(v); assert(v->numAxes == num_axes); -#if !defined(__i386__) && !defined(__sh__) +#if !defined(__i386__) && !defined(__m68k__) && !defined(__sh__) /* must be double-aligned on 64 bit */ assert(((void *) v->axisVal - (void *) v) % sizeof(double) == 0); assert(((void *) v->axes - (void *) v) % sizeof(double) == 0); diff --git a/xserver/test/xi2/Makefile.am b/xserver/test/xi2/Makefile.am index 9de7abf5d..bfddfef13 100644 --- a/xserver/test/xi2/Makefile.am +++ b/xserver/test/xi2/Makefile.am @@ -17,7 +17,7 @@ TESTS=$(noinst_PROGRAMS) TESTS_ENVIRONMENT = $(XORG_MALLOC_DEBUG_ENV) AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ -INCLUDES = @XORG_INCS@ +AM_CPPFLAGS = @XORG_INCS@ TEST_LDADD=../libxservertest.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) $(GLX_SYS_LIBS) COMMON_SOURCES=protocol-common.h protocol-common.c diff --git a/xserver/test/xi2/Makefile.in b/xserver/test/xi2/Makefile.in index 0708f49bd..f9ccbb1bf 100644 --- a/xserver/test/xi2/Makefile.in +++ b/xserver/test/xi2/Makefile.in @@ -333,9 +333,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -367,6 +370,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -396,6 +400,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -439,6 +445,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -452,12 +459,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -523,6 +530,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ @@ -606,7 +615,7 @@ top_srcdir = @top_srcdir@ @ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@TESTS = $(noinst_PROGRAMS) @ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@TESTS_ENVIRONMENT = $(XORG_MALLOC_DEBUG_ENV) @ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ -@ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@INCLUDES = @XORG_INCS@ +@ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@AM_CPPFLAGS = @XORG_INCS@ @ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@TEST_LDADD = ../libxservertest.la \ @ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@ $(XORG_SYS_LIBS) \ @ENABLE_UNIT_TESTS_TRUE@@HAVE_LD_WRAP_TRUE@ $(XSERVER_SYS_LIBS) \ diff --git a/xserver/test/xi2/protocol-xipassivegrabdevice.c b/xserver/test/xi2/protocol-xipassivegrabdevice.c index 84b386bf3..dd51757ff 100644 --- a/xserver/test/xi2/protocol-xipassivegrabdevice.c +++ b/xserver/test/xi2/protocol-xipassivegrabdevice.c @@ -137,6 +137,7 @@ request_XIPassiveGrabDevice(ClientPtr client, xXIPassiveGrabDeviceReq * req, { int rc; int modifiers; + int mask_len; rc = ProcXIPassiveGrabDevice(&client_request); assert(rc == error); @@ -153,10 +154,11 @@ request_XIPassiveGrabDevice(ClientPtr client, xXIPassiveGrabDeviceReq * req, swaps(&req->deviceid); modifiers = req->num_modifiers; swaps(&req->num_modifiers); + mask_len = req->mask_len; swaps(&req->mask_len); while (modifiers--) { - CARD32 *mod = ((CARD32 *) (req + 1)) + modifiers; + CARD32 *mod = ((CARD32 *) (req + 1)) + mask_len + modifiers; swapl(mod); } @@ -228,6 +230,11 @@ test_XIPassiveGrabDevice(void) request->detail = XIAnyButton; request_XIPassiveGrabDevice(&client_request, request, Success, 0); + /* Set a few random masks to make sure we handle modifiers correctly */ + SetBit(mask, XI_ButtonPress); + SetBit(mask, XI_KeyPress); + SetBit(mask, XI_Enter); + /* some modifiers */ request->num_modifiers = N_MODS; request->length += N_MODS; diff --git a/xserver/xfixes/Makefile.in b/xserver/xfixes/Makefile.in index 5d714c25a..335e6ccdc 100644 --- a/xserver/xfixes/Makefile.in +++ b/xserver/xfixes/Makefile.in @@ -210,9 +210,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -244,6 +247,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -273,6 +277,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -316,6 +322,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -329,12 +336,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -400,6 +407,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/xfixes/cursor.c b/xserver/xfixes/cursor.c index cc6e059b9..753d5f7bc 100644 --- a/xserver/xfixes/cursor.c +++ b/xserver/xfixes/cursor.c @@ -129,8 +129,7 @@ typedef struct _CursorScreen { #define Unwrap(as,s,elt,backup) (((backup) = (s)->elt), (s)->elt = (as)->elt) /* The cursor doesn't show up until the first XDefineCursor() */ -static Bool CursorVisible = FALSE; - +Bool CursorVisible = FALSE; Bool EnableCursor = TRUE; static Bool @@ -142,12 +141,7 @@ CursorDisplayCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) Unwrap(cs, pScreen, DisplayCursor, backupProc); - /* - * Have to check ConnectionInfo to distinguish client requests from - * initial root window setup. Not a great way to do it, I admit. - */ - if (ConnectionInfo) - CursorVisible = EnableCursor; + CursorVisible = CursorVisible && EnableCursor; if (cs->pCursorHideCounts != NULL || !CursorVisible) { ret = (*pScreen->DisplayCursor) (pDev, pScreen, NullCursor); diff --git a/xserver/xfixes/region.c b/xserver/xfixes/region.c index 0e9ca443f..14a02ba1d 100644 --- a/xserver/xfixes/region.c +++ b/xserver/xfixes/region.c @@ -857,6 +857,7 @@ PanoramiXFixesSetWindowShapeRegion(ClientPtr client) { int result = Success, j; PanoramiXRes *win; + RegionPtr reg = NULL; REQUEST(xXFixesSetWindowShapeRegionReq); @@ -869,10 +870,22 @@ PanoramiXFixesSetWindowShapeRegion(ClientPtr client) return result; } + if (win->u.win.root) + VERIFY_REGION_OR_NONE(reg, stuff->region, client, DixReadAccess); + FOR_NSCREENS_FORWARD(j) { + ScreenPtr screen = screenInfo.screens[j]; stuff->dest = win->info[j].id; + + if (reg) + RegionTranslate(reg, -screen->x, -screen->y); + result = (*PanoramiXSaveXFixesVector[X_XFixesSetWindowShapeRegion]) (client); + + if (reg) + RegionTranslate(reg, screen->x, screen->y); + if (result != Success) break; } @@ -886,6 +899,7 @@ PanoramiXFixesSetPictureClipRegion(ClientPtr client) REQUEST(xXFixesSetPictureClipRegionReq); int result = Success, j; PanoramiXRes *pict; + RegionPtr reg = NULL; REQUEST_SIZE_MATCH(xXFixesSetPictureClipRegionReq); @@ -896,10 +910,22 @@ PanoramiXFixesSetPictureClipRegion(ClientPtr client) return result; } + if (pict->u.pict.root) + VERIFY_REGION_OR_NONE(reg, stuff->region, client, DixReadAccess); + FOR_NSCREENS_BACKWARD(j) { + ScreenPtr screen = screenInfo.screens[j]; stuff->picture = pict->info[j].id; + + if (reg) + RegionTranslate(reg, -screen->x, -screen->y); + result = (*PanoramiXSaveXFixesVector[X_XFixesSetPictureClipRegion]) (client); + + if (reg) + RegionTranslate(reg, screen->x, screen->y); + if (result != Success) break; } diff --git a/xserver/xkb/Makefile.in b/xserver/xkb/Makefile.in index e1a99fb92..b6995ee14 100644 --- a/xserver/xkb/Makefile.in +++ b/xserver/xkb/Makefile.in @@ -218,9 +218,12 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOT = @DOT@ DOXYGEN = @DOXYGEN@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ +DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@ +DRI3PROTO_LIBS = @DRI3PROTO_LIBS@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ @@ -252,6 +255,7 @@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ HAL_CFLAGS = @HAL_CFLAGS@ HAL_LIBS = @HAL_LIBS@ +HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ INSTALL_DATA = @INSTALL_DATA@ @@ -281,6 +285,8 @@ LIBS = @LIBS@ LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@ LIBSHA1_LIBS = @LIBSHA1_LIBS@ LIBTOOL = @LIBTOOL@ +LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@ +LIBUNWIND_LIBS = @LIBUNWIND_LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ @@ -324,6 +330,7 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PROJECTROOT = @PROJECTROOT@ +PYTHON3 = @PYTHON3@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ @@ -337,12 +344,12 @@ SET_MAKE = @SET_MAKE@ SHA1_CFLAGS = @SHA1_CFLAGS@ SHA1_LIBS = @SHA1_LIBS@ SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ STRICT_CFLAGS = @STRICT_CFLAGS@ STRIP = @STRIP@ STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ SYSCONFDIR = @SYSCONFDIR@ +TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@ TSLIB_CFLAGS = @TSLIB_CFLAGS@ TSLIB_LIBS = @TSLIB_LIBS@ UDEV_CFLAGS = @UDEV_CFLAGS@ @@ -408,6 +415,8 @@ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ XSERVER_LIBS = @XSERVER_LIBS@ XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@ +XSHMFENCE_LIBS = @XSHMFENCE_LIBS@ XSLTPROC = @XSLTPROC@ XSL_STYLESHEET = @XSL_STYLESHEET@ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ diff --git a/xserver/xkb/XKM_file_format.txt b/xserver/xkb/XKM_file_format.txt deleted file mode 100644 index 0ba28ee8c..000000000 --- a/xserver/xkb/XKM_file_format.txt +++ /dev/null @@ -1,684 +0,0 @@ - XKM File Format Description - Version 15 - -1. Introduction - -The XKM file format is the exchange format for XKB keyboard descriptions -between the server and xkbcomp. Usually, the server forks off xkbcomp, -xkbcomp compiles the XKM format from the given parameters. -The resulting XKM file is put into a directory readable by the server and -then parsed. - -The XKM format is little more than a binary dump of various XKB-specific -structures and hence tied to the ABI of the server. - - ❧❧❧❧❧❧❧❧❧❧❧ - -1.1 About this file format description - -This description was produced by analyzing the XKM parsing code. Parts of -the file description present in the original format specification may be -missing. This description thus cannot be a reference document for XKM -implementations. - -No description of the meaning of the various fields is given here. Refer to -the XKB protocol specification for more details. - ❧❧❧❧❧❧❧❧❧❧❧ - -2. Notations used in this document - -Notation for structures: - -┌─── - Name of struct - name of field: type or fixed value of field - name of field: type or fixed value of field -└─── - -Data types are identical to those used in the X Protocol specification -except where noted otherwise. Structs specific to XKM are prefixed with XKM, -defines specific to the XKB protocol specification are prefixed with Xkb and -their value is equivalent to that in the protocol specification. - -Multiple instances of a given type are denoted in the following form: - name of field: LISTofFIELDTYPE - -Length specifiers for such fields are usually prefixed with num_. For -example, a struct containing a num_foo of 8 and a 'foo' field contains 8 -structures of type 'foo'. - -Variable length padding is specified as pad(x), where x is the length of the -data to be padded out to a multiple of 4 bytes. For example, given an x of -10, pad(x) would be the remaining 2 bytes to pad the whole struct to 12 -bytes. - -A special notation is a variable content struct. In this case, the contents -of the struct depend on the value of one or more specific fields. -┌─── - Name of struct - field: type or fixed value of field - field: type or fixed value of field - ─── - field ⇒ value 1 - ⇒ - specific field: type - specific field: type - ─── - field ⇒ value 2 - ⇒ - specific field: type - specific field: type -└─── -This notation denotes that if field is of value 1, this struct contains the -specific fields listed underneath value 1. - - ❧❧❧❧❧❧❧❧❧❧❧ - -3. XKM Format - -The XKM format is a binary format with structs usually being padded to a -multiple of 4 bytes. No provisions for endianess are provided, the parser is -left to guess the endianess of the XKM file. - - ❧❧❧❧❧❧❧❧❧❧❧ -3.1 Common data types - -┌─── - XKMCountedString - count: CARD16 - string: count * CHAR - pad: pad(count + 2) -└─── - -XKMCountedString is used for user-readable identifiers. Prime example are -the level names and the section names ("complete", "evdev(inet)", etc.) - -┌─── - XKMGroupBits: CARD8 - group1 0x1 - group2 0x2 - group3 0x4 - group4 0x8 -└─── - - ❧❧❧❧❧❧❧❧❧❧❧ - -3.2 Header and Table of Contents - -┌─── - XKMHeader - version: CARD8 - identifier1: 'm' - identifier2: 'k' - idenfifier3: 'x' -└─── - -The XKM file format has a 4 byte header identifying the file and the XKM -version. The header is followed by the table of contents indicating the -sections present in this file. - -┌─── - XKMFileInfo - type: CARD8 - min_keycode: CARD8 - max_keycode: CARD8 - num_sectioninfo: CARD8 - present: CARD16 - pad: CARD16 - sectioninfo: LISTofXKMSectionInfo -└─── - -min_keycode and max_keycode specify the keycode range for this keyboard -descriptions. The core protocol requires min_keycode always be equal to or -greater than 8. - -┌─── - XKMSectionInfo - type: CARD16 - XkmTypesIndex 0 - XkmCompatMapIndex 1 - XkmSymbolsIndex 2 - XkmIndicatorsIndex 3 - XkmKeyNamesIndex 4 - XkmGeometryIndex 5 - XkmVirtualModsIndex 6 - format: CARD16 - size: CARD16 - offset: CARD16 -└─── - -Describes the section found in a chunk of a file. This struct is found -_twice_ in the file per section, once as part of the XKMFileInfo, once at -the beginning of the actual section (see offset). -The type specifies the type of the section, the section is to be parsed -according to this type. -Size and offset specify the size in bytes and the offset into the file in -bytes, respectively. - -3.3 Sections - -Each section resides at the offset specified in the XKMFileInfo sectioninfo. - - ❧❧❧❧❧❧❧❧❧❧❧ - -3.3.1 XKMTypes - -An XKMTypes section describes the key types defined in a layout. Roughly -speaking, a key type defines how many levels a given key has and which -modifiers change to a particular level. - -┌─── - XKMTypesSection - section_info: XKMSectionInfo - name: XKMCountedString - num_types: CARD16 - pad: CARD16 - types: LISTofXKMKeyType -└─── - -┌─── - XKMKeyType - real_mods: CARD8 - num_levels: CARD8 - virt_mods: CARD16 - num_map_entries: CARD8 - num_level_names: CARD8 - perserve: CARD8 - pad: CARD8 - map_entries: LISTofXKMKTMapEntry - name: XKMCountedString - mods: LISTofXKMModsDesc - level_names: LISXTofXKMCountedString -└─── - -The num_map_entries specifies the number of structs in both map_entries and mods. mods is only present if preserve is TRUE. - -┌─── - XKMKTMapEntry - level: CARD8 - real_mods: CARD8 - virt_mods: CARD16 -└─── - -┌─── - XKMModsDesc - real_mods: CARD8 - pad: CARD8 - virt_mods: CARD16 -└─── - - ❧❧❧❧❧❧❧❧❧❧❧ -3.3.2 XKMCompatMap - -An XKMCompatMap section describes the actions a keyboard may trigger. This -ranges from the TerminateServer action to simple modifier bits. - -┌─── - XKMCompatMap - section_info: XKMSectionInfo - name: XKMCountedString - num_si: CARD16 - group_mask: XKMGroupBits - pad: CARD8 - si: LISTofXKMSymInterpreterDesc - groups: LISTofXKMModsDesc -└─── - -One XKMModsDesc is present for each bit set in group_mask. - -┌─── - XKMSymInterpretDesc - sym: CARD32 - mods: CARD8 - match: CARD8 - virtual_mod: CARD8 - flags: CARD8 - action_type: CARD8 - action_data: XKMActionData -└─── - -Where the action is 7 bytes of CARD8 whose content is determined by -action_type. - -┌─── - XKMActionData: - pad0: CARD8 - pad1: CARD16 - pad2: CARD32 - ─── - action_type ⇒ XkbSA_SetMods || - action_type ⇒ XkbSA_LatchMods || - action_type ⇒ XkbSA_LockMods - ⇒ - flags: CARD8 - mask: CARD8 - real_mods: CARD8 - vmods1: CARD8 - vmods2: CARD8 - pad: CARD16 - ─── - action_type ⇒ XkbSA_SetGroup || - action_type ⇒ XkbSA_LatchGroup || - action_type ⇒ XkbSA_LockGroup - ⇒ - flags: CARD8 - group_XXX: CARD8 - pad0: CARD8 - pad1: CARD32 - ─── - action_type ⇒ XkbSA_MovePtr - ⇒ - flags: CARD8 - high_XXX: CARD8 - low_XXX: CARD8 - high_YYY: CARD8 - low_YYY: CARD8 - pad: CARD16 - ─── - action_type ⇒ XkbSA_PtrBtn || - action_type ⇒ XkbSA_LockPtrBtn - ⇒ - flags: CARD8 - count: CARD8 - button: CARD8 - pad: CARD32 - ─── - action_type ⇒ XkbSA_DeviceBtn || - action_type ⇒ XkbSA_LockLockPtrBtn - ⇒ - flags: CARD8 - count: CARD8 - button: CARD8 - device: CARD8 - pad0: CARD8 - pad1: CARD16 - ─── - action_type ⇒ XkbSA_SetPtrDflt - ⇒ - flags: CARD8 - affect: CARD8 - valueXXX: CARD8 - pad0: CARD32 - ─── - action_type ⇒ XkbSA_ISOLock - ⇒ - flags: CARD8 - mask: CARD8 - real_mods: CARD8 - group_XXX: CARD8 - affect: CARD8 - vmods1: CARD8 - vmods1: CARD8 - ─── - action_type ⇒ XkbSA_SwitchScreen - ⇒ - flags: CARD8 - screenXXX: CARD8 - pad0: CARD8 - pad1: CARD32 - ─── - action_type ⇒ XkbSA_SetControls || - action_type ⇒ XkbSA_LockControls - ⇒ - flags: CARD8 - ctrls3: CARD8 - ctrls2: CARD8 - ctrls1: CARD8 - ctrls0: CARD8 - pad: CARD16 - ─── - action_type ⇒ XkbSA_RedirectKey - ⇒ - new_key: CARD8 - mods_mask: CARD8 - mods: CARD8 - vmods_mask0: CARD8 - vmods_mask1: CARD8 - vmods0: CARD8 - vmods1: CARD8 - ─── - action_type ⇒ XkbSA_DeviceValuator - ⇒ - device: CARD8 - v1_what: CARD8 - v1_idx: CARD8 - v1_value: CARD8 - v2_what: CARD8 - v2_idx: CARD8 - v2_value: CARD8 - pad: CARD8 - ─── - action_type ⇒ XkbSA_XFree86Private || - action_type ⇒ XkbSA_Terminate - ⇒ - pad0: CARD8 - pad1: CARD16 - pad2: CARD32 - ─── - action_type ⇒ XkbSA_ActionMessage - ⇒ - press_msg: BOOL - release_msg: BOOL - gen_event: BOOL - message: 4 * CHAR -└─── - -Note: XkbSA_ActionMessage is currently unsupported and the contents are -ignored. - - ❧❧❧❧❧❧❧❧❧❧❧ -3.3.3 XkmSymbols - -The symbols in a keymap define the actual keysyms each key may produce. - -┌─── - XKMSymbols - section_info: XKMSectionInfo - name: XKMCountedString - min_keycode: CARD8 - max_keycode: CARD8 - group_names_mask: XKMGroupBits - num_vmod_maps: CARD8 - group_names: LISTofXKMCountedString - keysyms: XKMKeysymMapDesc - vmod_maps: XKMVModMapDesc -└─── -One group_name is present for each bit set in group_names_mask. -The number of keysyms present is max_keycode - min_keycode + 1. - -┌─── - XKMKeysymMapDesc - width: CARD8 - num_groups: CARD8 - modifier_map: CARD8 - flags: CARD8 - names: LISTofXKMCountedString - syms: LISTofCARD32 - behavior: XKMBehaviorDesc -└─── - -Presence of names is conditional on the XkmKeyHasTypes flag. The number of -strings is equal to the number of group bits in group_names_mask in the -preceeding XKMSymbols section. -The number of elements in syms is equal to width * num_groups. -Presence of behavior is conditional on the XkmKeyHasBehavior flag. - -┌─── - XKMKeyBehaviorDesc - type: CARD8 - data: CARD8 - pad: CARD16 -└─── - -┌─── - XKMVModMapDesc - key: CARD8 - pad: CARD8 - vmods: CARD16 -└─── - - ❧❧❧❧❧❧❧❧❧❧❧ - -3.3.4 XKMIndicators - -┌─── - XKMIndicators - section_info: XKMSectionInfo - name: XKMCountedString - num_indicators: CARD8 - pad0: CARD8 - pad1: CARD16 - indicators: LISTofXKMIndicatorMapDesc -└─── - -┌─── - XKMIndicatorMapDesc - name: XKMCountedString - indicator: CARD8 - flags: CARD8 - which_mods: CARD8 - real_mods: CARD8 - vmods: CARD16 - which_groups: CARD8 - groups: CARD8 - ctrls: CARD32 -└─── - ❧❧❧❧❧❧❧❧❧❧❧ - -3.3.5 XKMKeyNames - -┌─── - XKMKeyNames - section_info: XKMSectionInfo - name: XKMCountedString - min_keycode: CARD8 - max_keycode: CARD8 - num_aliases: CARD8 - pad: CARD8 - keynames: LISTofXKMKeyname - aliases: LISTofXKMKeyAlias -└─── - -keynames contains max_keycode - min_keycode + 1 entries. - -┌─── - XkmKeyname - name: 4 * CHAR8 -└─── - -┌─── - XkmKeyAlias - real: XkmKeyname - alias: XkmKeyname -└─── - - ❧❧❧❧❧❧❧❧❧❧❧ - -3.3.5 XKMGeometry - -┌─── - XKMGeometry - section_info: XKMSectionInfo - name: XKMCountedString - width_mm: CARD16 - height_mm: CARD16 - base_color_ndx: CARD8 - label_color_ndx: CARD8 - num_properties: CARD16 - num_colors: CARD16 - num_shapes: CARD16 - num_sections: CARD16 - num_doodads: CARD16 - num_key_aliases: CARD16 - pad: CARD16 - label_font: XKMCountedString - properties: LISTofXKMGeomProperty - colors: LISTofXKMCountedString - shapes: LISTofXKMGeomShape - sections: LISTofXKMGeomSection - doodads: LISTofXKMGeomDoodad - key_aliases: LISTofXKMKeyAlias -└─── - -┌─── - XKMGeomProperty - name: XKMCountedString - value: XKMCountedString - -└─── - -┌─── - XKMGeomShape - name: XKMCountedString - num_outlines: CARD8 - primary_idx: CARD8 - approx_idx: CARD8 - pad: CARD8 - outlines: LISTofXKMOutlineDesc -└─── - -┌─── - XKMOutlineDesc - num_points: CARD8 - corner_radius: CARD8 - pad: CARD16 - points: LISTofXKMPointDesc -└─── - -┌─── - XKMPointDesc - x: INT16 - y: INT16 -└─── - -┌─── - XKMGeomSection - name: XKMCountedString - top: INT16 - left: INT16 - width: CARD16 - height: CARD16 - angle: INT16 - priority: CARD8 - num_rows: CARD8 - num_doodads: CARD8 - num_overlays: CARD8 - pad: CARD16 - rows: LISTofXKMRowDesc - doodads: LISTofXKMGeomDoodad - overlays: LISTofXKMGeomOverlay -└─── - -┌─── - XKMRowDesc - top: INT16 - left: INT16 - num_keys: CARD8 - vertical: BOOL - pad: CARD16 - keys: XKMKeyDesc -└─── - -┌─── - XKMKeyDesc - name: XKMKeyname - gap: INT16 - shape_idx: CARD8 - color_idx: CARD8 -└─── - -┌─── - XKMGeomDoodad - name: XKMCountedString - type: CARD8 - priority: CARD8 - top: INT16 - left: INT16 - pad1: CARD16 - pad2: CARD32 - pad3: CARD32 - ─── - type ⇒ XkbOutlineDoodad || - type ⇒ XkbSolideDoodad - ⇒ - type: CARD8 - priority: CARD8 - top: INT16 - left: INT16 - angle: INT16 - color_idx: CARD8 - shape_idx: CARD8 - pad0: CARD16 - pad1: CARD32 - ─── - type ⇒ XkbTextDoodad - ⇒ - type: CARD8 - priority: CARD8 - top: INT16 - left: INT16 - angle: INT16 - width: CARD16 - height: CARD16 - color_idx: CARD8 - pad0: CARD8 - pad1: CARD16 - text: XKMCountedString - font: XKMCountedString - ─── - type ⇒ XkbIndicatorDoodad - ⇒ - type: CARD8 - priority: CARD8 - top: INT16 - left: INT16 - shape_idx: CARD8 - on_color_idx: CARD8 - off_color_idx: CARD8 - pad0: CARD8 - pad1: CARD16 - pad2: CARD32 - ─── - type ⇒ XkbLogoDoodad - ⇒ - type: CARD8 - priority: CARD8 - top: INT16 - left: INT16 - angle: INT16 - color_idx: CARD8 - shape_idx: CARD8 - pad0: CARD16 - pad1: CARD32 - logo_name: XKMCountedString -└─── - -WARNING: XKMGeomDoodad has variable length depending on the type. -NOTE: The current server implementation does not use all fields of all -structures. - -┌─── - XKMOverlayDesc - name: XKMCountedString - num_rows: CARD8 - pad0: CARD8 - pad1: CARD16 - rows: LISTofXKMOverlayRowDesc -└─── - -┌─── - XKMOverlayRowDesc - name: XKMCountedString - row_under: CARD8 - num_keys: CARD8 - pad: CARD16 - keys: LISTofXKMOverlayKeyDesc -└─── - -┌─── - XKMOverlayKeyDesc - over: XKMKeyname - under: XKMKeyname -└─── - - ❧❧❧❧❧❧❧❧❧❧❧ - -3.3.6 XKMVirtualMods - -┌─── - XKMOverlayRowDesc - section_info: XKMSectionInfo - name: XKMCountedString - bound_mask: SETofVMODBITS - named_mask: SETofVMODBITS - vmods: LISTofCARD8 - pad: pad(vmods) - names: LISTofXKMCountedString -└─── - - VMODBITS: CARD16 - -Number of elements in vmods is equal to the number of bits set in -bound_mask. The padding completes vmods to a multiple of 4 byte units. -Number of elements in names is equal to the number of bits set in -named_mask. diff --git a/xserver/xkb/xkb.c b/xserver/xkb/xkb.c index 7e51e4080..c78aceb78 100644 --- a/xserver/xkb/xkb.c +++ b/xserver/xkb/xkb.c @@ -3073,6 +3073,7 @@ XkbComputeGetIndicatorMapReplySize(XkbIndicatorPtr indicators, nIndicators++; } rep->length = (nIndicators * SIZEOF(xkbIndicatorMapWireDesc)) / 4; + rep->nIndicators = nIndicators; return Success; } @@ -3984,13 +3985,11 @@ _XkbSetNamesCheck(ClientPtr client, DeviceIntPtr dev, xkbSetNamesReq * stuff, CARD32 *data) { XkbDescRec *xkb; - XkbNamesRec *names; CARD32 *tmp; Atom bad; tmp = data; xkb = dev->key->xkbInfo->desc; - names = xkb->names; if (stuff->which & XkbKeyTypeNamesMask) { int i; diff --git a/xserver/xkb/xkbActions.c b/xserver/xkb/xkbActions.c index 416de925d..e32005cf6 100644 --- a/xserver/xkb/xkbActions.c +++ b/xserver/xkb/xkbActions.c @@ -222,7 +222,6 @@ _XkbFilterSetState(XkbSrvInfoPtr xkbi, #define LATCH_KEY_DOWN 1 #define LATCH_PENDING 2 -#define NO_LATCH 3 static int _XkbFilterLatchState(XkbSrvInfoPtr xkbi, @@ -230,6 +229,7 @@ _XkbFilterLatchState(XkbSrvInfoPtr xkbi, { if (filter->keycode == 0) { /* initial press */ + AccessXCancelRepeatKey(xkbi,keycode); filter->keycode = keycode; filter->active = 1; filter->filterOthers = 1; @@ -250,91 +250,102 @@ _XkbFilterLatchState(XkbSrvInfoPtr xkbi, else if (pAction && (filter->priv == LATCH_PENDING)) { if (((1 << pAction->type) & XkbSA_BreakLatch) != 0) { filter->active = 0; - if (filter->upAction.type == XkbSA_LatchMods) - xkbi->state.latched_mods &= ~filter->upAction.mods.mask; - else - xkbi->state.latched_group -= - XkbSAGroup(&filter->upAction.group); - } - else if ((pAction->type == filter->upAction.type) && - (pAction->mods.flags == filter->upAction.mods.flags) && - (pAction->mods.mask == filter->upAction.mods.mask)) { - if (filter->upAction.mods.flags & XkbSA_LatchToLock) { - XkbControlsPtr ctrls = xkbi->desc->ctrls; - - if (filter->upAction.type == XkbSA_LatchMods) - pAction->mods.type = XkbSA_LockMods; - else - pAction->group.type = XkbSA_LockGroup; - if (XkbAX_NeedFeedback(ctrls, XkbAX_StickyKeysFBMask) && - (ctrls->enabled_ctrls & XkbStickyKeysMask)) { - XkbDDXAccessXBeep(xkbi->device, _BEEP_STICKY_LOCK, - XkbStickyKeysMask); - } - } - else { - if (filter->upAction.type == XkbSA_LatchMods) - pAction->mods.type = XkbSA_SetMods; - else - pAction->group.type = XkbSA_SetGroup; - } - if (filter->upAction.type == XkbSA_LatchMods) - xkbi->state.latched_mods &= ~filter->upAction.mods.mask; - else - xkbi->state.latched_group -= - XkbSAGroup(&filter->upAction.group); - filter->active = 0; + /* If one latch is broken, all latches are broken, so it's no use + to find out which particular latch this filter tracks. */ + xkbi->state.latched_mods = 0; + xkbi->state.latched_group = 0; } } - else if (filter->keycode == keycode) { /* release */ + else if (filter->keycode == keycode && filter->priv != LATCH_PENDING){ + /* The test above for LATCH_PENDING skips subsequent releases of the + key after it has been released first time and the latch became + pending. */ XkbControlsPtr ctrls = xkbi->desc->ctrls; - int needBeep; - int beepType = _BEEP_NONE; + int needBeep = ((ctrls->enabled_ctrls & XkbStickyKeysMask) && + XkbAX_NeedFeedback(ctrls, XkbAX_StickyKeysFBMask)); - needBeep = ((ctrls->enabled_ctrls & XkbStickyKeysMask) && - XkbAX_NeedFeedback(ctrls, XkbAX_StickyKeysFBMask)); if (filter->upAction.type == XkbSA_LatchMods) { - xkbi->clearMods = filter->upAction.mods.mask; - if ((filter->upAction.mods.flags & XkbSA_ClearLocks) && - (xkbi->clearMods & xkbi->state.locked_mods) == - xkbi->clearMods) { - xkbi->state.locked_mods &= ~xkbi->clearMods; - filter->priv = NO_LATCH; - beepType = _BEEP_STICKY_UNLOCK; + unsigned char mask = filter->upAction.mods.mask; + unsigned char common; + + xkbi->clearMods = mask; + + /* ClearLocks */ + common = mask & xkbi->state.locked_mods; + if ((filter->upAction.mods.flags & XkbSA_ClearLocks) && common) { + mask &= ~common; + xkbi->state.locked_mods &= ~common; + if (needBeep) + XkbDDXAccessXBeep(xkbi->device, _BEEP_STICKY_UNLOCK, + XkbStickyKeysMask); + } + /* LatchToLock */ + common = mask & xkbi->state.latched_mods; + if ((filter->upAction.mods.flags & XkbSA_LatchToLock) && common) { + unsigned char newlocked; + + mask &= ~common; + newlocked = common & ~xkbi->state.locked_mods; + if(newlocked){ + xkbi->state.locked_mods |= newlocked; + if (needBeep) + XkbDDXAccessXBeep(xkbi->device, _BEEP_STICKY_LOCK, + XkbStickyKeysMask); + + } + xkbi->state.latched_mods &= ~common; + } + /* Latch remaining modifiers, if any. */ + if (mask) { + xkbi->state.latched_mods |= mask; + filter->priv = LATCH_PENDING; + if (needBeep) + XkbDDXAccessXBeep(xkbi->device, _BEEP_STICKY_LATCH, + XkbStickyKeysMask); } } else { xkbi->groupChange = -XkbSAGroup(&filter->upAction.group); + /* ClearLocks */ if ((filter->upAction.group.flags & XkbSA_ClearLocks) && (xkbi->state.locked_group)) { xkbi->state.locked_group = 0; - filter->priv = NO_LATCH; - beepType = _BEEP_STICKY_UNLOCK; + if (needBeep) + XkbDDXAccessXBeep(xkbi->device, _BEEP_STICKY_UNLOCK, + XkbStickyKeysMask); + } + /* LatchToLock */ + else if ((filter->upAction.group.flags & XkbSA_LatchToLock) + && (xkbi->state.latched_group)) { + xkbi->state.locked_group += XkbSAGroup(&filter->upAction.group); + xkbi->state.latched_group -= XkbSAGroup(&filter->upAction.group); + if(XkbSAGroup(&filter->upAction.group) && needBeep) + XkbDDXAccessXBeep(xkbi->device, _BEEP_STICKY_LOCK, + XkbStickyKeysMask); + } + /* Latch group */ + else if(XkbSAGroup(&filter->upAction.group)){ + xkbi->state.latched_group += XkbSAGroup(&filter->upAction.group); + filter->priv = LATCH_PENDING; + if (needBeep) + XkbDDXAccessXBeep(xkbi->device, _BEEP_STICKY_LATCH, + XkbStickyKeysMask); } } - if (filter->priv == NO_LATCH) { + + if (filter->priv != LATCH_PENDING) filter->active = 0; - } - else { - filter->priv = LATCH_PENDING; - if (filter->upAction.type == XkbSA_LatchMods) { - xkbi->state.latched_mods |= filter->upAction.mods.mask; - needBeep = xkbi->state.latched_mods ? needBeep : 0; - xkbi->state.latched_mods |= filter->upAction.mods.mask; - } - else { - xkbi->state.latched_group += - XkbSAGroup(&filter->upAction.group); - } - if (needBeep && (beepType == _BEEP_NONE)) - beepType = _BEEP_STICKY_LATCH; - } - if (needBeep && (beepType != _BEEP_NONE)) - XkbDDXAccessXBeep(xkbi->device, beepType, XkbStickyKeysMask); } - else if (filter->priv == LATCH_KEY_DOWN) { - filter->priv = NO_LATCH; - filter->filterOthers = 0; + else if (pAction && (filter->priv == LATCH_KEY_DOWN)) { + /* Latch was broken before it became pending: degrade to a + SetMods/SetGroup. */ + if (filter->upAction.type == XkbSA_LatchMods) + filter->upAction.type = XkbSA_SetMods; + else + filter->upAction.type = XkbSA_SetGroup; + filter->filter = _XkbFilterSetState; + filter->priv = 0; + return filter->filter(xkbi, filter, keycode, pAction); } return 1; } diff --git a/xserver/xkb/xkbInit.c b/xserver/xkb/xkbInit.c index ed01114b6..f72655fc3 100644 --- a/xserver/xkb/xkbInit.c +++ b/xserver/xkb/xkbInit.c @@ -250,6 +250,21 @@ XkbSetRulesDflts(XkbRMLVOSet * rmlvo) return; } +void +XkbDeleteRulesUsed(void) +{ + free(XkbRulesUsed); + XkbRulesUsed = NULL; + free(XkbModelUsed); + XkbModelUsed = NULL; + free(XkbLayoutUsed); + XkbLayoutUsed = NULL; + free(XkbVariantUsed); + XkbVariantUsed = NULL; + free(XkbOptionsUsed); + XkbOptionsUsed = NULL; +} + void XkbDeleteRulesDflts(void) { @@ -488,8 +503,9 @@ InitKeyboardDeviceStruct(DeviceIntPtr dev, XkbRMLVOSet * rmlvo, XkbEventCauseRec cause; XkbRMLVOSet rmlvo_dflts = { NULL }; - if (dev->key || dev->kbdfeed) - return FALSE; + BUG_RETURN_VAL(dev == NULL, FALSE); + BUG_RETURN_VAL(dev->key != NULL, FALSE); + BUG_RETURN_VAL(dev->kbdfeed != NULL, FALSE); if (!rmlvo) { rmlvo = &rmlvo_dflts; @@ -743,13 +759,15 @@ XkbProcessArguments(int argc, char *argv[], int i) if ((strcmp(argv[i], "-ardelay") == 0) || (strcmp(argv[i], "-ar1") == 0)) { /* -ardelay int */ if (++i >= argc) UseMsg(); - XkbDfltRepeatDelay = (long) atoi(argv[i]); + else + XkbDfltRepeatDelay = (long) atoi(argv[i]); return 2; } if ((strcmp(argv[i], "-arinterval") == 0) || (strcmp(argv[i], "-ar2") == 0)) { /* -arinterval int */ if (++i >= argc) UseMsg(); - XkbDfltRepeatInterval = (long) atoi(argv[i]); + else + XkbDfltRepeatInterval = (long) atoi(argv[i]); return 2; } return 0;