aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/.Xdefaults1
-rwxr-xr-x[-rw-r--r--]xorg-server/.gitignore93
-rw-r--r--xorg-server/X0.hosts2
-rw-r--r--xorg-server/Xext/Makefile38
-rw-r--r--xorg-server/Xext/bigreq.c11
-rw-r--r--xorg-server/Xext/dpms.c57
-rw-r--r--xorg-server/Xext/geext.c18
-rw-r--r--xorg-server/Xext/hashtable.c12
-rw-r--r--xorg-server/Xext/panoramiX.c80
-rw-r--r--xorg-server/Xext/panoramiXprocs.c48
-rw-r--r--xorg-server/Xext/saver.c49
-rw-r--r--xorg-server/Xext/security.c37
-rw-r--r--xorg-server/Xext/securitysrv.h4
-rw-r--r--xorg-server/Xext/shape.c77
-rw-r--r--xorg-server/Xext/shm.c19
-rw-r--r--xorg-server/Xext/sync.c119
-rw-r--r--xorg-server/Xext/xace.c2
-rw-r--r--xorg-server/Xext/xcmisc.c38
-rw-r--r--xorg-server/Xext/xf86bigfont.c31
-rw-r--r--xorg-server/Xext/xres.c78
-rw-r--r--xorg-server/Xext/xtest.c25
-rw-r--r--xorg-server/Xext/xvmain.c4
-rw-r--r--xorg-server/Xi/chgdctl.c26
-rw-r--r--xorg-server/Xi/exevents.c14
-rw-r--r--xorg-server/Xi/getbmap.c13
-rw-r--r--xorg-server/Xi/getdctl.c11
-rw-r--r--xorg-server/Xi/getfctl.c13
-rw-r--r--xorg-server/Xi/getfocus.c11
-rw-r--r--xorg-server/Xi/getkmap.c14
-rw-r--r--xorg-server/Xi/getmmap.c13
-rw-r--r--xorg-server/Xi/getprop.c13
-rw-r--r--xorg-server/Xi/getselev.c15
-rw-r--r--xorg-server/Xi/getvers.c17
-rw-r--r--xorg-server/Xi/grabdev.c11
-rw-r--r--xorg-server/Xi/grabdevb.c15
-rw-r--r--xorg-server/Xi/grabdevk.c15
-rw-r--r--xorg-server/Xi/gtmotion.c18
-rw-r--r--xorg-server/Xi/listdev.c11
-rw-r--r--xorg-server/Xi/makefile56
-rw-r--r--xorg-server/Xi/opendev.c16
-rw-r--r--xorg-server/Xi/queryst.c14
-rw-r--r--xorg-server/Xi/setbmap.c13
-rw-r--r--xorg-server/Xi/setdval.c13
-rw-r--r--xorg-server/Xi/setmmap.c11
-rw-r--r--xorg-server/Xi/setmode.c11
-rw-r--r--xorg-server/Xi/xibarriers.c89
-rw-r--r--xorg-server/Xi/xigetclientpointer.c15
-rw-r--r--xorg-server/Xi/xigrabdev.c13
-rw-r--r--xorg-server/Xi/xipassivegrab.c14
-rw-r--r--xorg-server/Xi/xiproperty.c100
-rw-r--r--xorg-server/Xi/xiquerydevice.c13
-rw-r--r--xorg-server/Xi/xiquerypointer.c19
-rw-r--r--xorg-server/Xi/xiqueryversion.c15
-rw-r--r--xorg-server/Xi/xiselectev.c13
-rw-r--r--xorg-server/Xi/xisetdevfocus.c11
-rw-r--r--xorg-server/XtErrorDB236
-rw-r--r--xorg-server/composite/compalloc.c2
-rw-r--r--xorg-server/composite/compext.c29
-rw-r--r--xorg-server/composite/compoverlay.c4
-rw-r--r--xorg-server/composite/makefile9
-rw-r--r--xorg-server/config/config.c4
-rw-r--r--xorg-server/config/makefile4
-rw-r--r--xorg-server/damageext/damageext.c32
-rw-r--r--xorg-server/damageext/makefile4
-rw-r--r--xorg-server/dbe/dbe.c34
-rw-r--r--xorg-server/dbe/makefile4
-rw-r--r--xorg-server/dix/Xserver-dtrace.h72
-rw-r--r--xorg-server/dix/colormap.c40
-rw-r--r--xorg-server/dix/devices.c151
-rw-r--r--xorg-server/dix/dispatch.c7950
-rw-r--r--xorg-server/dix/dixfonts.c131
-rw-r--r--xorg-server/dix/enterleave.c15
-rw-r--r--xorg-server/dix/eventconvert.c2
-rw-r--r--xorg-server/dix/events.c161
-rw-r--r--xorg-server/dix/extension.c23
-rw-r--r--xorg-server/dix/gc.c24
-rw-r--r--xorg-server/dix/getevents.c20
-rw-r--r--xorg-server/dix/inpututils.c14
-rw-r--r--xorg-server/dix/main.c54
-rw-r--r--xorg-server/dix/makefile48
-rw-r--r--xorg-server/dix/privates.c120
-rw-r--r--xorg-server/dix/property.c75
-rw-r--r--xorg-server/dix/ptrveloc.c9
-rw-r--r--xorg-server/dix/registry.c9
-rw-r--r--xorg-server/dix/resource.c120
-rw-r--r--xorg-server/dix/selection.c19
-rw-r--r--xorg-server/dix/swapreq.c3
-rw-r--r--xorg-server/dix/window.c161
-rw-r--r--xorg-server/exa/exa_accel.c2
-rw-r--r--xorg-server/exa/exa_migration_classic.c10
-rw-r--r--xorg-server/exa/exa_unaccel.c2
-rw-r--r--xorg-server/exa/makefile14
-rw-r--r--xorg-server/fb/fbpixmap.c12
-rw-r--r--xorg-server/fb/makefile37
-rw-r--r--xorg-server/fb/wfbrename.h2
-rw-r--r--xorg-server/fonts.src/100dpi/makefile357
-rw-r--r--xorg-server/fonts.src/75dpi/makefile357
-rw-r--r--xorg-server/fonts.src/OTF/makefile53
-rw-r--r--xorg-server/fonts.src/Speedo/makefile39
-rw-r--r--xorg-server/fonts.src/TTF/makefile54
-rw-r--r--xorg-server/fonts.src/Type1/makefile93
-rw-r--r--xorg-server/fonts.src/cyrillic/makefile114
-rw-r--r--xorg-server/fonts.src/encodings/large/makefile40
-rw-r--r--xorg-server/fonts.src/encodings/makefile63
-rw-r--r--xorg-server/fonts.src/font-util/makefile5
-rw-r--r--xorg-server/fonts.src/fonts.conf118
-rw-r--r--xorg-server/fonts.src/makefile8
-rw-r--r--xorg-server/fonts.src/misc/makefile345
-rw-r--r--xorg-server/fonts.src/terminus-font/Makefile2839
-rw-r--r--xorg-server/fonts.src/terminus-font/xfonts-terminus.alias212
-rw-r--r--xorg-server/glx/dispatch.h14642
-rw-r--r--xorg-server/glx/glapi.c511
-rw-r--r--xorg-server/glx/glapi.h196
-rw-r--r--xorg-server/glx/glapitable.h1199
-rw-r--r--xorg-server/glx/glfunctions.h1190
-rw-r--r--xorg-server/glx/glheader.h37
-rw-r--r--xorg-server/glx/glprocs.h3577
-rw-r--r--xorg-server/glx/glxcmds.c129
-rw-r--r--xorg-server/glx/glxcmdsswap.c2
-rw-r--r--xorg-server/glx/glxdricommon.c33
-rw-r--r--xorg-server/glx/glxdriswrast.c36
-rwxr-xr-x[-rw-r--r--]xorg-server/glx/glxext.c7
-rw-r--r--xorg-server/glx/glxext.h8
-rw-r--r--xorg-server/glx/glxscreens.c4
-rw-r--r--xorg-server/glx/indirect_dispatch.c5926
-rw-r--r--xorg-server/glx/indirect_dispatch.h1983
-rw-r--r--xorg-server/glx/indirect_dispatch_swap.c6567
-rw-r--r--xorg-server/glx/indirect_program.c23
-rw-r--r--xorg-server/glx/indirect_reqsize.c455
-rw-r--r--xorg-server/glx/indirect_reqsize.h199
-rw-r--r--xorg-server/glx/indirect_size.h54
-rw-r--r--xorg-server/glx/indirect_size_get.c1902
-rw-r--r--xorg-server/glx/indirect_size_get.h76
-rw-r--r--xorg-server/glx/indirect_table.c1636
-rw-r--r--xorg-server/glx/indirect_texture_compression.c2
-rw-r--r--xorg-server/glx/indirect_util.c3
-rw-r--r--xorg-server/glx/makefile45
-rw-r--r--xorg-server/glx/remap.c231
-rw-r--r--xorg-server/glx/remap.h62
-rw-r--r--xorg-server/glx/remap_helper.h6923
-rw-r--r--xorg-server/glx/render2.c3
-rw-r--r--xorg-server/glx/render2swap.c3
-rw-r--r--xorg-server/glx/renderpix.c3
-rw-r--r--xorg-server/glx/renderpixswap.c3
-rw-r--r--xorg-server/glx/rensize.c4
-rw-r--r--xorg-server/glx/single2.c3
-rw-r--r--xorg-server/glx/single2swap.c3
-rw-r--r--xorg-server/glx/singlepix.c3
-rw-r--r--xorg-server/glx/singlepixswap.c3
-rw-r--r--xorg-server/glx/singlesize.c3
-rw-r--r--xorg-server/glx/swap_interval.c1
-rw-r--r--xorg-server/glx/u_thread.h234
-rw-r--r--xorg-server/glx/xfont.c3
-rw-r--r--xorg-server/hw/dmx/dmxinit.c1
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyr.c13
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyr.h6
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyrinit.c12
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyrlog.h4
-rwxr-xr-x[-rw-r--r--]xorg-server/hw/kdrive/ephyr/hostx.c28
-rw-r--r--xorg-server/hw/kdrive/ephyr/hostx.h4
-rw-r--r--xorg-server/hw/kdrive/ephyr/makefile6
-rw-r--r--xorg-server/hw/kdrive/src/kdrive.c4
-rw-r--r--xorg-server/hw/kdrive/src/kdrive.h2
-rw-r--r--xorg-server/hw/kdrive/src/kinput.c27
-rw-r--r--xorg-server/hw/kdrive/src/makefile14
-rw-r--r--xorg-server/hw/xfree86/common/compiler.h6
-rw-r--r--xorg-server/hw/xwin/InitInput.c21
-rw-r--r--xorg-server/hw/xwin/InitOutput.c117
-rw-r--r--xorg-server/hw/xwin/Makefile.am1
-rw-r--r--xorg-server/hw/xwin/XWin.rc40
-rw-r--r--xorg-server/hw/xwin/ddraw.h2322
-rwxr-xr-xxorg-server/hw/xwin/doflexbison.bat18
-rw-r--r--xorg-server/hw/xwin/glx/.gitignore4
-rwxr-xr-xxorg-server/hw/xwin/glx/buildsimpledib.bat1
-rwxr-xr-x[-rw-r--r--]xorg-server/hw/xwin/glx/gen_gl_wrappers.py471
-rw-r--r--xorg-server/hw/xwin/glx/genheaders.py578
-rw-r--r--xorg-server/hw/xwin/glx/gl.xml42251
-rw-r--r--xorg-server/hw/xwin/glx/glshim.c124
-rw-r--r--xorg-server/hw/xwin/glx/glwindows.h15
-rw-r--r--xorg-server/hw/xwin/glx/glwrap.c156
-rwxr-xr-x[-rw-r--r--]xorg-server/hw/xwin/glx/indirect.c537
-rw-r--r--xorg-server/hw/xwin/glx/makefile43
-rw-r--r--xorg-server/hw/xwin/glx/reg.py1162
-rw-r--r--xorg-server/hw/xwin/glx/simpledib.c675
-rw-r--r--xorg-server/hw/xwin/glx/wgl.xml1958
-rw-r--r--xorg-server/hw/xwin/glx/wgl_ext_api.c7
-rw-r--r--xorg-server/hw/xwin/glx/wgl_ext_api.h28
-rw-r--r--xorg-server/hw/xwin/glx/wglext.h833
-rw-r--r--xorg-server/hw/xwin/glx/winpriv.c120
-rw-r--r--xorg-server/hw/xwin/glx/winpriv.h2
-rw-r--r--xorg-server/hw/xwin/makefile165
-rw-r--r--xorg-server/hw/xwin/propertystore.h2
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/.gitignore1
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/glwindows.h39
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/glwrap.c (renamed from xorg-server/hw/xwin/glx/glthunk.c)88
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/makefile21
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c3391
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.def2
-rw-r--r--xorg-server/hw/xwin/taskbar.h39
-rw-r--r--xorg-server/hw/xwin/win.h79
-rw-r--r--xorg-server/hw/xwin/winSetAppUserModelID.c3
-rw-r--r--xorg-server/hw/xwin/winallpriv.c10
-rw-r--r--xorg-server/hw/xwin/winauth.c29
-rw-r--r--xorg-server/hw/xwin/winclip.c2
-rw-r--r--xorg-server/hw/xwin/winclipboard.h15
-rw-r--r--xorg-server/hw/xwin/winclipboardinit.c7
-rw-r--r--xorg-server/hw/xwin/winclipboardthread.c196
-rw-r--r--xorg-server/hw/xwin/winclipboardwndproc.c248
-rw-r--r--xorg-server/hw/xwin/winclipboardwrappers.c80
-rw-r--r--xorg-server/hw/xwin/winclipboardxevents.c93
-rw-r--r--xorg-server/hw/xwin/wincmap.c72
-rw-r--r--xorg-server/hw/xwin/winconfig.c119
-rw-r--r--xorg-server/hw/xwin/wincreatewnd.c34
-rw-r--r--xorg-server/hw/xwin/wincursor.c40
-rw-r--r--xorg-server/hw/xwin/windialogs.c44
-rw-r--r--xorg-server/hw/xwin/windisplay.c60
-rw-r--r--xorg-server/hw/xwin/winengine.c28
-rw-r--r--xorg-server/hw/xwin/winerror.c31
-rw-r--r--xorg-server/hw/xwin/winfont.c12
-rw-r--r--xorg-server/hw/xwin/wingc.c86
-rw-r--r--xorg-server/hw/xwin/wingetsp.c19
-rw-r--r--xorg-server/hw/xwin/winglobals.c7
-rw-r--r--xorg-server/hw/xwin/winglobals.h1
-rw-r--r--xorg-server/hw/xwin/winkeybd.c20
-rw-r--r--xorg-server/hw/xwin/winkeybd.h38
-rw-r--r--xorg-server/hw/xwin/winlayouts.h1
-rw-r--r--xorg-server/hw/xwin/winmisc.c2
-rw-r--r--xorg-server/hw/xwin/winmonitors.c6
-rw-r--r--xorg-server/hw/xwin/winmouse.c27
-rw-r--r--xorg-server/hw/xwin/winmsg.c84
-rw-r--r--xorg-server/hw/xwin/winmsg.h40
-rw-r--r--xorg-server/hw/xwin/winmsgwindow.c1
-rw-r--r--xorg-server/hw/xwin/winmultiwindowclass.c16
-rw-r--r--xorg-server/hw/xwin/winmultiwindowclass.h10
-rw-r--r--xorg-server/hw/xwin/winmultiwindowicons.c24
-rw-r--r--xorg-server/hw/xwin/winmultiwindowshape.c17
-rw-r--r--xorg-server/hw/xwin/winmultiwindowwindow.c270
-rwxr-xr-x[-rw-r--r--]xorg-server/hw/xwin/winmultiwindowwm.c397
-rw-r--r--xorg-server/hw/xwin/winmultiwindowwndproc.c208
-rw-r--r--xorg-server/hw/xwin/winnativegdi.c20
-rw-r--r--xorg-server/hw/xwin/winpfbdd.c34
-rw-r--r--xorg-server/hw/xwin/winpixmap.c45
-rw-r--r--xorg-server/hw/xwin/winpolyline.c2
-rw-r--r--xorg-server/hw/xwin/winprefs.c47
-rw-r--r--xorg-server/hw/xwin/winprefs.h19
-rw-r--r--xorg-server/hw/xwin/winprefslex.l5
-rw-r--r--xorg-server/hw/xwin/winprefsyacc.y76
-rw-r--r--xorg-server/hw/xwin/winprocarg.c123
-rw-r--r--xorg-server/hw/xwin/winresource.h2
-rw-r--r--xorg-server/hw/xwin/winscrinit.c59
-rw-r--r--xorg-server/hw/xwin/winsetsp.c57
-rw-r--r--xorg-server/hw/xwin/winshaddd.c56
-rw-r--r--xorg-server/hw/xwin/winshadddnl.c305
-rw-r--r--xorg-server/hw/xwin/winshadgdi.c79
-rw-r--r--xorg-server/hw/xwin/wintaskbar.c29
-rw-r--r--xorg-server/hw/xwin/wintrayicon.c85
-rw-r--r--xorg-server/hw/xwin/winwin32rootless.c217
-rw-r--r--xorg-server/hw/xwin/winwin32rootlesswindow.c12
-rw-r--r--xorg-server/hw/xwin/winwin32rootlesswndproc.c131
-rw-r--r--xorg-server/hw/xwin/winwindow.c75
-rw-r--r--xorg-server/hw/xwin/winwindow.h46
-rw-r--r--xorg-server/hw/xwin/winwindowswm.c74
-rw-r--r--xorg-server/hw/xwin/winwndproc.c124
-rw-r--r--xorg-server/hw/xwin/xdmcphostselect.c180
-rw-r--r--xorg-server/hw/xwin/xlaunch/COPYING25
-rw-r--r--xorg-server/hw/xwin/xlaunch/config.cc200
-rw-r--r--xorg-server/hw/xwin/xlaunch/config.h87
-rw-r--r--xorg-server/hw/xwin/xlaunch/main.cc982
-rw-r--r--xorg-server/hw/xwin/xlaunch/makefile22
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/dialog.rc153
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/fullscreen.bmpbin0 -> 22554 bytes
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/images.rc29
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/multiwindow.bmpbin0 -> 22554 bytes
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/nodecoration.bmpbin0 -> 22554 bytes
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/resources.h118
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/resources.rc32
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/strings.rc121
-rw-r--r--xorg-server/hw/xwin/xlaunch/resources/windowed.bmpbin0 -> 22554 bytes
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/dialog.cc86
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/dialog.h54
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/makefile4
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/util.cc1113
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/util.h53
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/window.cc284
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/window.h114
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/wizard.cc244
-rw-r--r--xorg-server/hw/xwin/xlaunch/window/wizard.h58
-rw-r--r--xorg-server/include/callback.h10
-rw-r--r--xorg-server/include/closestr.h5
-rw-r--r--xorg-server/include/colormap.h8
-rw-r--r--xorg-server/include/cursor.h2
-rw-r--r--xorg-server/include/dix.h28
-rw-r--r--xorg-server/include/dixfont.h6
-rw-r--r--xorg-server/include/dixgrabs.h2
-rw-r--r--xorg-server/include/dixstruct.h2
-rw-r--r--xorg-server/include/gc.h4
-rw-r--r--xorg-server/include/gcstruct.h6
-rw-r--r--xorg-server/include/input.h4
-rw-r--r--xorg-server/include/list.h4
-rw-r--r--xorg-server/include/misc.h24
-rw-r--r--xorg-server/include/os.h38
-rw-r--r--xorg-server/include/pixmap.h2
-rw-r--r--xorg-server/include/pixmapstr.h2
-rw-r--r--xorg-server/include/property.h4
-rw-r--r--xorg-server/include/resource.h37
-rw-r--r--xorg-server/include/scrnintstr.h14
-rwxr-xr-x[-rw-r--r--]xorg-server/include/servermd.h6
-rw-r--r--xorg-server/include/site.h4
-rw-r--r--xorg-server/include/version-config.h16
-rw-r--r--xorg-server/include/window.h8
-rw-r--r--xorg-server/include/windowstr.h2
-rw-r--r--xorg-server/include/xkb-config.h33
-rw-r--r--xorg-server/include/xkbsrv.h2
-rw-r--r--xorg-server/include/xkbstr.h2
-rw-r--r--xorg-server/include/xwin-config.h36
-rw-r--r--xorg-server/installer/genruntimeinclude.py82
-rwxr-xr-xxorg-server/installer/packageall.bat40
-rw-r--r--xorg-server/installer/vcxsrv-64-debug.nsi97
-rw-r--r--xorg-server/installer/vcxsrv-64.nsi256
-rw-r--r--xorg-server/installer/vcxsrv-debug.nsi97
-rw-r--r--xorg-server/installer/vcxsrv.nsi256
-rw-r--r--xorg-server/makefile109
-rw-r--r--xorg-server/mi/makefile39
-rw-r--r--xorg-server/mi/mi.h10
-rw-r--r--xorg-server/mi/miarc.c5
-rw-r--r--xorg-server/mi/micmap.c15
-rw-r--r--xorg-server/mi/micoord.h8
-rw-r--r--xorg-server/mi/mieq.c4
-rw-r--r--xorg-server/mi/miexpose.c10
-rw-r--r--xorg-server/mi/mioverlay.c4
-rw-r--r--xorg-server/mi/misprite.c13
-rw-r--r--xorg-server/mi/mivaltree.c16
-rw-r--r--xorg-server/mi/miwideline.c4
-rw-r--r--xorg-server/mi/miwindow.c2
-rw-r--r--xorg-server/miext/damage/damage.c6
-rw-r--r--xorg-server/miext/damage/makefile7
-rw-r--r--xorg-server/miext/rootless/makefile10
-rw-r--r--xorg-server/miext/rootless/rootlessGC.c3
-rw-r--r--xorg-server/miext/rootless/rootlessWindow.c14
-rw-r--r--xorg-server/miext/rootless/xplugin.h592
-rw-r--r--xorg-server/miext/shadow/makefile25
-rw-r--r--xorg-server/miext/sync/makefile6
-rw-r--r--xorg-server/os/WaitFor.c6
-rw-r--r--xorg-server/os/access.c337
-rw-r--r--xorg-server/os/auth.c12
-rw-r--r--xorg-server/os/connection.c93
-rw-r--r--xorg-server/os/io.c1
-rw-r--r--xorg-server/os/log.c24
-rw-r--r--xorg-server/os/makefile55
-rwxr-xr-x[-rw-r--r--]xorg-server/os/utils.c128
-rw-r--r--xorg-server/os/xdmcp.c142
-rw-r--r--xorg-server/os/xprintf.c7
-rw-r--r--xorg-server/os/xstrans.c12
-rw-r--r--xorg-server/present/makefile10
-rw-r--r--xorg-server/present/present.c4
-rw-r--r--xorg-server/present/present_event.c83
-rw-r--r--xorg-server/present/present_fake.c4
-rw-r--r--xorg-server/present/present_fence.c4
-rw-r--r--xorg-server/present/present_notify.c4
-rw-r--r--xorg-server/present/present_request.c30
-rw-r--r--xorg-server/present/present_screen.c4
-rw-r--r--xorg-server/randr/makefile28
-rw-r--r--xorg-server/randr/randr.c13
-rw-r--r--xorg-server/randr/rrcrtc.c104
-rw-r--r--xorg-server/randr/rrdispatch.c10
-rw-r--r--xorg-server/randr/rrmode.c11
-rw-r--r--xorg-server/randr/rroutput.c70
-rw-r--r--xorg-server/randr/rrproperty.c81
-rw-r--r--xorg-server/randr/rrprovider.c67
-rw-r--r--xorg-server/randr/rrproviderproperty.c84
-rw-r--r--xorg-server/randr/rrscreen.c194
-rw-r--r--xorg-server/randr/rrxinerama.c83
-rw-r--r--xorg-server/record/makefile4
-rw-r--r--xorg-server/record/record.c31
-rw-r--r--xorg-server/render/makefile15
-rw-r--r--xorg-server/render/mipict.c2
-rw-r--r--xorg-server/render/render.c10
-rw-r--r--xorg-server/startmulti.bat1
-rw-r--r--xorg-server/startxdmcp.bat2
-rw-r--r--xorg-server/system.XWinrc131
-rw-r--r--xorg-server/vcxsrv.sln26
-rw-r--r--xorg-server/xfixes/cursor.c31
-rw-r--r--xorg-server/xfixes/makefile9
-rw-r--r--xorg-server/xfixes/select.c19
-rw-r--r--xorg-server/xfixes/xfixes.c10
-rw-r--r--xorg-server/xkb/XKBMisc.c2
-rw-r--r--xorg-server/xkb/ddxPrivate.c32
-rw-r--r--xorg-server/xkb/makefile41
-rw-r--r--xorg-server/xkb/xkb.c322
-rw-r--r--xorg-server/xkb/xkbActions.c5
-rw-r--r--xorg-server/xkb/xkbEvents.c42
-rw-r--r--xorg-server/xkb/xkbInit.c4
-rw-r--r--xorg-server/xkeyboard-config/compat/makefile20
-rw-r--r--xorg-server/xkeyboard-config/geometry/digital_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/geometry/makefile25
-rw-r--r--xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile13
-rw-r--r--xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/keycodes/makefile33
-rw-r--r--xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/makefile9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1_s.bat9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat7
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1v_s.bat7
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml_s.bat9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mln_s.bat10
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat8
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mlv_s.bat7
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/.gitignore10
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/makefile56
-rw-r--r--xorg-server/xkeyboard-config/rules/makefile238
-rw-r--r--xorg-server/xkeyboard-config/rules/merge.py13
-rw-r--r--xorg-server/xkeyboard-config/symbols/cd.in (renamed from xorg-server/xkeyboard-config/symbols/cd)0
-rw-r--r--xorg-server/xkeyboard-config/symbols/digital_vndr/makefile13
-rw-r--r--xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/hp_vndr/makefile12
-rwxr-xr-x[-rw-r--r--]xorg-server/xkeyboard-config/symbols/level30
-rwxr-xr-x[-rw-r--r--]xorg-server/xkeyboard-config/symbols/level50
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile16
-rw-r--r--xorg-server/xkeyboard-config/symbols/makefile56
-rw-r--r--xorg-server/xkeyboard-config/symbols/nec_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile14
-rw-r--r--xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile16
-rw-r--r--xorg-server/xkeyboard-config/symbols/sony_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/makefile18
-rw-r--r--xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/types/default.in (renamed from xorg-server/xkeyboard-config/types/default)0
-rw-r--r--xorg-server/xkeyboard-config/types/makefile17
-rw-r--r--xorg-server/xkeyboard-config/xkbrules.mak26
-rw-r--r--xorg-server/xkeysymdb380
430 files changed, 110520 insertions, 22414 deletions
diff --git a/xorg-server/.Xdefaults b/xorg-server/.Xdefaults
new file mode 100644
index 000000000..06c29211a
--- /dev/null
+++ b/xorg-server/.Xdefaults
@@ -0,0 +1 @@
+*customization:-color
diff --git a/xorg-server/.gitignore b/xorg-server/.gitignore
index dc56b4651..5ef64a0bd 100644..100755
--- a/xorg-server/.gitignore
+++ b/xorg-server/.gitignore
@@ -1,82 +1,11 @@
-#
-# X.Org module default exclusion patterns
-# The next section if for module specific patterns
-#
-# Do not edit the following section
-# GNU Build System (Autotools)
-aclocal.m4
-autom4te.cache/
-autoscan.log
-ChangeLog
-compile
-config.guess
-config.h
-config.h.in
-config.log
-config-ml.in
-config.py
-config.status
-config.status.lineno
-config.sub
-configure
-configure.scan
-depcomp
-.deps/
-INSTALL
-install-sh
-.libs/
-libtool
-libtool.m4
-ltmain.sh
-lt~obsolete.m4
-ltoptions.m4
-ltsugar.m4
-ltversion.m4
-Makefile
-Makefile.in
-mdate-sh
-missing
-mkinstalldirs
-*.pc
-py-compile
-stamp-h?
-symlink-tree
-test-driver
-texinfo.tex
-ylwrap
-
-# Do not edit the following section
-# Edit Compile Debug Document Distribute
-*~
-*.[0-9]
-*.[0-9]x
-*.bak
-*.bin
-core
-*.dll
-*.exe
-*-ISO*.bdf
-*-JIS*.bdf
-*-KOI8*.bdf
-*.kld
-*.ko
-*.ko.cmd
-*.lai
-*.l[oa]
-*.[oa]
-*.obj
-*.patch
-*.so
-*.pcf.gz
-*.pdb
-*.tar.bz2
-*.tar.gz
-#
-# Add & Override patterns for xserver
-#
-# Edit the following section as needed
-# For example, !report.pc overrides *.pc. See 'man gitignore'
-#
-doltcompile
-doltlibtool
-xserver.ent
+fonts
+locale
+protocol.txt
+xcalc
+xcalc-color
+xclock
+xclock-color
+xerrordb
+xkbdata
+xwin.rc
+test-driver \ No newline at end of file
diff --git a/xorg-server/X0.hosts b/xorg-server/X0.hosts
new file mode 100644
index 000000000..94c078162
--- /dev/null
+++ b/xorg-server/X0.hosts
@@ -0,0 +1,2 @@
+localhost
+inet6:localhost
diff --git a/xorg-server/Xext/Makefile b/xorg-server/Xext/Makefile
new file mode 100644
index 000000000..d59f345d0
--- /dev/null
+++ b/xorg-server/Xext/Makefile
@@ -0,0 +1,38 @@
+CSRCS=\
+bigreq.c \
+dpms.c \
+dpmsstubs.c \
+saver.c \
+security.c \
+shape.c \
+sleepuntil.c \
+sync.c \
+xace.c \
+xcmisc.c \
+hashtable.c \
+xres.c \
+xtest.c \
+geext.c \
+panoramiX.c \
+panoramiXprocs.c \
+xf86bigfont.c \
+panoramiXSwap.c
+
+#shm.c \
+#appgroup.c \
+#fontcache.c \
+#mbufbf.c \
+#mbufpx.c \
+#xcalibrate.c \
+#xprint.c \
+#xselinux.c \
+#xvdisp.c \
+#xvmain.c \
+#xvmc.c
+
+LIBRARY=libxext
+
+INCLUDES += ..\hw\xfree86\dixmods\extmod ..\composite ..\miext\sync
+
+
+
diff --git a/xorg-server/Xext/bigreq.c b/xorg-server/Xext/bigreq.c
index c78a1e4b4..c4508ddb5 100644
--- a/xorg-server/Xext/bigreq.c
+++ b/xorg-server/Xext/bigreq.c
@@ -53,12 +53,11 @@ ProcBigReqDispatch(ClientPtr client)
return BadRequest;
REQUEST_SIZE_MATCH(xBigReqEnableReq);
client->big_requests = TRUE;
- rep = (xBigReqEnableReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .max_request_size = maxBigRequestSize
- };
+ memset(&rep, 0, sizeof(xBigReqEnableReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.max_request_size = maxBigRequestSize;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.max_request_size);
diff --git a/xorg-server/Xext/dpms.c b/xorg-server/Xext/dpms.c
index 5f1a35d9c..6a6039ad3 100644
--- a/xorg-server/Xext/dpms.c
+++ b/xorg-server/Xext/dpms.c
@@ -28,6 +28,8 @@ Equipment Corporation.
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+#define DPMSExtension
#endif
#include <X11/X.h>
@@ -45,16 +47,15 @@ static int
ProcDPMSGetVersion(ClientPtr client)
{
/* REQUEST(xDPMSGetVersionReq); */
- xDPMSGetVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = DPMSMajorVersion,
- .minorVersion = DPMSMinorVersion
- };
+ xDPMSGetVersionReply rep;
REQUEST_SIZE_MATCH(xDPMSGetVersionReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = DPMSMajorVersion;
+ rep.minorVersion = DPMSMinorVersion;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.majorVersion);
@@ -68,15 +69,15 @@ static int
ProcDPMSCapable(ClientPtr client)
{
/* REQUEST(xDPMSCapableReq); */
- xDPMSCapableReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .capable = DPMSCapableFlag
- };
+ xDPMSCapableReply rep;
REQUEST_SIZE_MATCH(xDPMSCapableReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.capable = DPMSCapableFlag;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
}
@@ -88,17 +89,17 @@ static int
ProcDPMSGetTimeouts(ClientPtr client)
{
/* REQUEST(xDPMSGetTimeoutsReq); */
- xDPMSGetTimeoutsReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .standby = DPMSStandbyTime / MILLI_PER_SECOND,
- .suspend = DPMSSuspendTime / MILLI_PER_SECOND,
- .off = DPMSOffTime / MILLI_PER_SECOND
- };
+ xDPMSGetTimeoutsReply rep;
REQUEST_SIZE_MATCH(xDPMSGetTimeoutsReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.standby = DPMSStandbyTime / MILLI_PER_SECOND;
+ rep.suspend = DPMSSuspendTime / MILLI_PER_SECOND;
+ rep.off = DPMSOffTime / MILLI_PER_SECOND;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.standby);
@@ -189,16 +190,16 @@ static int
ProcDPMSInfo(ClientPtr client)
{
/* REQUEST(xDPMSInfoReq); */
- xDPMSInfoReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .power_level = DPMSPowerLevel,
- .state = DPMSEnabled
- };
+ xDPMSInfoReply rep;
REQUEST_SIZE_MATCH(xDPMSInfoReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.power_level = DPMSPowerLevel;
+ rep.state = DPMSEnabled;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.power_level);
diff --git a/xorg-server/Xext/geext.c b/xorg-server/Xext/geext.c
index aee68c41d..b4e336110 100644
--- a/xorg-server/Xext/geext.c
+++ b/xorg-server/Xext/geext.c
@@ -64,16 +64,14 @@ ProcGEQueryVersion(ClientPtr client)
REQUEST_SIZE_MATCH(xGEQueryVersionReq);
- rep = (xGEQueryVersionReply) {
- .repType = X_Reply,
- .RepType = X_GEQueryVersion,
- .sequenceNumber = client->sequence,
- .length = 0,
-
- /* return the supported version by the server */
- .majorVersion = SERVER_GE_MAJOR_VERSION,
- .minorVersion = SERVER_GE_MINOR_VERSION
- };
+ rep.repType = X_Reply;
+ rep.RepType = X_GEQueryVersion;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+
+ /* return the supported version by the server */
+ rep.majorVersion = SERVER_GE_MAJOR_VERSION;
+ rep.minorVersion = SERVER_GE_MINOR_VERSION;
/* Remember version the client requested */
pGEClient->major_version = stuff->majorVersion;
diff --git a/xorg-server/Xext/hashtable.c b/xorg-server/Xext/hashtable.c
index 471ecca1c..f10ca769d 100644
--- a/xorg-server/Xext/hashtable.c
+++ b/xorg-server/Xext/hashtable.c
@@ -72,7 +72,7 @@ void
ht_destroy(HashTable ht)
{
int c;
- BucketPtr it, tmp;
+ BucketPtr it=NULL, tmp;
int numBuckets = 1 << ht->bucketBits;
for (c = 0; c < numBuckets; ++c) {
xorg_list_for_each_entry_safe(it, tmp, &ht->buckets[c], l) {
@@ -99,7 +99,7 @@ double_size(HashTable ht)
}
for (c = 0; c < numBuckets; ++c) {
- BucketPtr it, tmp;
+ BucketPtr it=NULL, tmp;
xorg_list_for_each_entry_safe(it, tmp, &ht->buckets[c], l) {
struct xorg_list *newBucket =
&newBuckets[ht->hash(ht->cdata, it->key, newBucketBits)];
@@ -168,7 +168,7 @@ ht_remove(HashTable ht, const void *key)
{
unsigned index = ht->hash(ht->cdata, key, ht->bucketBits);
struct xorg_list *bucket = &ht->buckets[index];
- BucketPtr it;
+ BucketPtr it=NULL;
xorg_list_for_each_entry(it, bucket, l) {
if (ht->compare(ht->cdata, key, it->key) == 0) {
@@ -187,7 +187,7 @@ ht_find(HashTable ht, const void *key)
{
unsigned index = ht->hash(ht->cdata, key, ht->bucketBits);
struct xorg_list *bucket = &ht->buckets[index];
- BucketPtr it;
+ BucketPtr it=NULL;
xorg_list_for_each_entry(it, bucket, l) {
if (ht->compare(ht->cdata, key, it->key) == 0) {
@@ -204,7 +204,7 @@ ht_dump_distribution(HashTable ht)
int c;
int numBuckets = 1 << ht->bucketBits;
for (c = 0; c < numBuckets; ++c) {
- BucketPtr it;
+ BucketPtr it=NULL;
int n = 0;
xorg_list_for_each_entry(it, &ht->buckets[c], l) {
@@ -277,7 +277,7 @@ ht_dump_contents(HashTable ht,
int c;
int numBuckets = 1 << ht->bucketBits;
for (c = 0; c < numBuckets; ++c) {
- BucketPtr it;
+ BucketPtr it=NULL;
int n = 0;
printf("%d: ", c);
diff --git a/xorg-server/Xext/panoramiX.c b/xorg-server/Xext/panoramiX.c
index 4d79c4654..a64951a6d 100644
--- a/xorg-server/Xext/panoramiX.c
+++ b/xorg-server/Xext/panoramiX.c
@@ -902,15 +902,14 @@ int
ProcPanoramiXQueryVersion(ClientPtr client)
{
/* REQUEST(xPanoramiXQueryVersionReq); */
- xPanoramiXQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_PANORAMIX_MAJOR_VERSION,
- .minorVersion = SERVER_PANORAMIX_MINOR_VERSION
- };
+ xPanoramiXQueryVersionReply rep;
REQUEST_SIZE_MATCH(xPanoramiXQueryVersionReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = SERVER_PANORAMIX_MAJOR_VERSION;
+ rep.minorVersion = SERVER_PANORAMIX_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -934,13 +933,12 @@ ProcPanoramiXGetState(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xPanoramiXGetStateReply) {
- .type = X_Reply,
- .state = !noPanoramiXExtension,
- .sequenceNumber = client->sequence,
- .length = 0,
- .window = stuff->window
- };
+
+ rep.type = X_Reply;
+ rep.state = !noPanoramiXExtension;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.window = stuff->window;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -964,13 +962,12 @@ ProcPanoramiXGetScreenCount(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xPanoramiXGetScreenCountReply) {
- .type = X_Reply,
- .ScreenCount = PanoramiXNumScreens,
- .sequenceNumber = client->sequence,
- .length = 0,
- .window = stuff->window
- };
+
+ rep.type = X_Reply;
+ rep.ScreenCount = PanoramiXNumScreens;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.window = stuff->window;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -996,16 +993,15 @@ ProcPanoramiXGetScreenSize(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xPanoramiXGetScreenSizeReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
/* screen dimensions */
- .width = screenInfo.screens[stuff->screen]->width,
- .height = screenInfo.screens[stuff->screen]->height,
- .window = stuff->window,
- .screen = stuff->screen
- };
+ rep.width = screenInfo.screens[stuff->screen]->width;
+ rep.height = screenInfo.screens[stuff->screen]->height;
+ rep.window = stuff->window;
+ rep.screen = stuff->screen;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -1026,18 +1022,17 @@ ProcXineramaIsActive(ClientPtr client)
REQUEST_SIZE_MATCH(xXineramaIsActiveReq);
- rep = (xXineramaIsActiveReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
#if 1
/* The following hack fools clients into thinking that Xinerama
* is disabled even though it is not. */
- .state = !noPanoramiXExtension && !PanoramiXExtensionDisabledHack
+ rep.state = !noPanoramiXExtension && !PanoramiXExtensionDisabledHack;
#else
- .state = !noPanoramiXExtension;
+ rep.state = !noPanoramiXExtension;
#endif
- };
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -1052,15 +1047,14 @@ ProcXineramaQueryScreens(ClientPtr client)
{
/* REQUEST(xXineramaQueryScreensReq); */
CARD32 number = (noPanoramiXExtension) ? 0 : PanoramiXNumScreens;
- xXineramaQueryScreensReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(number * sz_XineramaScreenInfo),
- .number = number
- };
+ xXineramaQueryScreensReply rep;
REQUEST_SIZE_MATCH(xXineramaQueryScreensReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(number * sz_XineramaScreenInfo);
+ rep.number = number;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
diff --git a/xorg-server/Xext/panoramiXprocs.c b/xorg-server/Xext/panoramiXprocs.c
index 83a2e0856..87a2a176c 100644
--- a/xorg-server/Xext/panoramiXprocs.c
+++ b/xorg-server/Xext/panoramiXprocs.c
@@ -566,18 +566,17 @@ PanoramiXGetGeometry(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xGetGeometryReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .root = screenInfo.screens[0]->root->drawable.id,
- .depth = pDraw->depth,
- .width = pDraw->width,
- .height = pDraw->height,
- .x = 0,
- .y = 0,
- .borderWidth = 0
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.root = screenInfo.screens[0]->root->drawable.id;
+ rep.depth = pDraw->depth;
+ rep.width = pDraw->width;
+ rep.height = pDraw->height;
+ rep.x = 0;
+ rep.y = 0;
+ rep.borderWidth = 0;
if (stuff->id == rep.root) {
xWindowRoot *root = (xWindowRoot *)
@@ -621,13 +620,12 @@ PanoramiXTranslateCoords(ClientPtr client)
rc = dixLookupWindow(&pDst, stuff->dstWid, client, DixReadAccess);
if (rc != Success)
return rc;
- rep = (xTranslateCoordsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .sameScreen = xTrue,
- .child = None
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.sameScreen = xTrue;
+ rep.child = None;
if ((pWin == screenInfo.screens[0]->root) ||
(pWin->drawable.id == screenInfo.screens[0]->screensaver.wid)) {
@@ -1960,12 +1958,12 @@ PanoramiXGetImage(ClientPtr client)
return rc;
}
- xgi = (xGetImageReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .visual = wVisual(((WindowPtr) pDraw)),
- .depth = pDraw->depth
- };
+
+ xgi.type = X_Reply;
+ xgi.sequenceNumber = client->sequence;
+ xgi.visual = wVisual(((WindowPtr) pDraw));
+ xgi.depth = pDraw->depth;
+
if (format == ZPixmap) {
widthBytesLine = PixmapBytePad(w, pDraw->depth);
length = widthBytesLine * h;
diff --git a/xorg-server/Xext/saver.c b/xorg-server/Xext/saver.c
index 8e92fdf2f..6afd79c34 100644
--- a/xorg-server/Xext/saver.c
+++ b/xorg-server/Xext/saver.c
@@ -28,6 +28,12 @@ in this Software without prior written authorization from the X Consortium.
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+#define SCREENSAVER
+#endif
+
+#ifdef CreateWindow
+#undef CreateWindow
#endif
#include <X11/X.h>
@@ -412,15 +418,14 @@ SendScreenSaverNotify(ScreenPtr pScreen, int state, Bool forced)
kind = ScreenSaverInternal;
for (pEv = pPriv->events; pEv; pEv = pEv->next) {
if (pEv->mask & mask) {
- xScreenSaverNotifyEvent ev = {
- .type = ScreenSaverNotify + ScreenSaverEventBase,
- .state = state,
- .timestamp = currentTime.milliseconds,
- .root = pScreen->root->drawable.id,
- .window = pScreen->screensaver.wid,
- .kind = kind,
- .forced = forced
- };
+ xScreenSaverNotifyEvent ev;
+ ev.type = ScreenSaverNotify + ScreenSaverEventBase;
+ ev.state = state;
+ ev.timestamp = currentTime.milliseconds;
+ ev.root = pScreen->root->drawable.id;
+ ev.window = pScreen->screensaver.wid;
+ ev.kind = kind;
+ ev.forced = forced;
WriteEventsToClient(pEv->client, 1, (xEvent *) &ev);
}
}
@@ -624,16 +629,14 @@ ScreenSaverHandle(ScreenPtr pScreen, int xstate, Bool force)
static int
ProcScreenSaverQueryVersion(ClientPtr client)
{
- xScreenSaverQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_SAVER_MAJOR_VERSION,
- .minorVersion = SERVER_SAVER_MINOR_VERSION
- };
+ xScreenSaverQueryVersionReply rep;
REQUEST_SIZE_MATCH(xScreenSaverQueryVersionReq);
-
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+ rep.majorVersion = SERVER_SAVER_MAJOR_VERSION;
+ rep.minorVersion = SERVER_SAVER_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -669,12 +672,12 @@ ProcScreenSaverQueryInfo(ClientPtr client)
UpdateCurrentTime();
lastInput = GetTimeInMillis() - LastEventTime(XIAllDevices).milliseconds;
- rep = (xScreenSaverQueryInfoReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .window = pSaver->wid
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.window = pSaver->wid;
+
if (screenIsSaved != SCREEN_SAVER_OFF) {
rep.state = ScreenSaverOn;
if (ScreenSaverTime)
diff --git a/xorg-server/Xext/security.c b/xorg-server/Xext/security.c
index 421b25201..b7c53a461 100644
--- a/xorg-server/Xext/security.c
+++ b/xorg-server/Xext/security.c
@@ -26,6 +26,8 @@ in this Software without prior written authorization from The Open Group.
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+#define XACE
#endif
#include "scrnintstr.h"
@@ -194,10 +196,10 @@ SecurityDeleteAuthorization(void *value, XID id)
while ((pEventClient = pAuth->eventClients)) {
/* send revocation event event */
- xSecurityAuthorizationRevokedEvent are = {
- .type = SecurityEventBase + XSecurityAuthorizationRevoked,
- .authId = pAuth->id
- };
+ xSecurityAuthorizationRevokedEvent are;
+ are.type = SecurityEventBase + XSecurityAuthorizationRevoked;
+ are.authId = pAuth->id;
+
WriteEventsToClient(rClient(pEventClient), 1, (xEvent *) &are);
FreeResource(pEventClient->resource, RT_NONE);
}
@@ -340,16 +342,14 @@ static int
ProcSecurityQueryVersion(ClientPtr client)
{
/* REQUEST(xSecurityQueryVersionReq); */
- xSecurityQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_SECURITY_MAJOR_VERSION,
- .minorVersion = SERVER_SECURITY_MINOR_VERSION
- };
+ xSecurityQueryVersionReply rep;
REQUEST_SIZE_MATCH(xSecurityQueryVersionReq);
-
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = SERVER_SECURITY_MAJOR_VERSION;
+ rep.minorVersion = SERVER_SECURITY_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.majorVersion);
@@ -531,13 +531,12 @@ ProcSecurityGenerateAuthorization(ClientPtr client)
/* tell client the auth id and data */
- rep = (xSecurityGenerateAuthorizationReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(authdata_len),
- .authId = authId,
- .dataLength = authdata_len
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(authdata_len);
+ rep.authId = authId;
+ rep.dataLength = authdata_len;
if (client->swapped) {
swapl(&rep.length);
diff --git a/xorg-server/Xext/securitysrv.h b/xorg-server/Xext/securitysrv.h
index 8904242d6..3ae711d11 100644
--- a/xorg-server/Xext/securitysrv.h
+++ b/xorg-server/Xext/securitysrv.h
@@ -31,10 +31,6 @@ from The Open Group.
#define _SECURITY_SRV_H
/* Allow client side portions of <X11/extensions/security.h> to compile */
-#ifndef Status
-#define Status int
-#define NEED_UNDEF_Status
-#endif
#ifndef Display
#define Display void
#define NEED_UNDEF_Display
diff --git a/xorg-server/Xext/shape.c b/xorg-server/Xext/shape.c
index bb479b159..c6ff360ac 100644
--- a/xorg-server/Xext/shape.c
+++ b/xorg-server/Xext/shape.c
@@ -26,6 +26,8 @@ in this Software without prior written authorization from The Open Group.
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+#define SHAPE
#endif
#include <stdlib.h>
@@ -204,16 +206,15 @@ CreateClipShape(WindowPtr pWin)
static int
ProcShapeQueryVersion(ClientPtr client)
{
- xShapeQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_SHAPE_MAJOR_VERSION,
- .minorVersion = SERVER_SHAPE_MINOR_VERSION
- };
+ xShapeQueryVersionReply rep;
REQUEST_SIZE_MATCH(xShapeQueryVersionReq);
-
+ memset(&rep, 0, sizeof(xShapeQueryVersionReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = SERVER_SHAPE_MAJOR_VERSION;
+ rep.minorVersion = SERVER_SHAPE_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -632,13 +633,12 @@ ProcShapeQueryExtents(ClientPtr client)
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
if (rc != Success)
return rc;
- rep = (xShapeQueryExtentsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .boundingShaped = (wBoundingShape(pWin) != 0),
- .clipShaped = (wClipShape(pWin) != 0)
- };
+ memset(&rep, 0, sizeof(xShapeQueryExtentsReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.boundingShaped = (wBoundingShape(pWin) != 0);
+ rep.clipShaped = (wClipShape(pWin) != 0);
if ((region = wBoundingShape(pWin))) {
/* this is done in two steps because of a compiler bug on SunOS 4.1.3 */
pExtents = RegionExtents(region);
@@ -882,17 +882,16 @@ SendShapeNotify(WindowPtr pWin, int which)
return;
}
for (pShapeEvent = *pHead; pShapeEvent; pShapeEvent = pShapeEvent->next) {
- xShapeNotifyEvent se = {
- .type = ShapeNotify + ShapeEventBase,
- .kind = which,
- .window = pWin->drawable.id,
- .x = extents.x1,
- .y = extents.y1,
- .width = extents.x2 - extents.x1,
- .height = extents.y2 - extents.y1,
- .time = currentTime.milliseconds,
- .shaped = shaped
- };
+ xShapeNotifyEvent se;
+ se.type = ShapeNotify + ShapeEventBase;
+ se.kind = which;
+ se.window = pWin->drawable.id;
+ se.x = extents.x1;
+ se.y = extents.y1;
+ se.width = extents.x2 - extents.x1;
+ se.height = extents.y2 - extents.y1;
+ se.time = currentTime.milliseconds;
+ se.shaped = shaped;
WriteEventsToClient(pShapeEvent->client, 1, (xEvent *) &se);
}
}
@@ -923,12 +922,12 @@ ProcShapeInputSelected(ClientPtr client)
}
}
}
- rep = (xShapeInputSelectedReply) {
- .type = X_Reply,
- .enabled = enabled,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.type = X_Reply;
+ rep.enabled = enabled;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -1006,13 +1005,13 @@ ProcShapeGetRectangles(ClientPtr client)
rects[i].height = box->y2 - box->y1;
}
}
- rep = (xShapeGetRectanglesReply) {
- .type = X_Reply,
- .ordering = YXBanded,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(nrects * sizeof(xRectangle)),
- .nrects = nrects
- };
+
+ rep.type = X_Reply;
+ rep.ordering = YXBanded;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(nrects * sizeof(xRectangle));
+ rep.nrects = nrects;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
diff --git a/xorg-server/Xext/shm.c b/xorg-server/Xext/shm.c
index 4dad8b6c6..31c19e346 100644
--- a/xorg-server/Xext/shm.c
+++ b/xorg-server/Xext/shm.c
@@ -33,8 +33,10 @@ in this Software without prior written authorization from The Open Group.
#endif
#include <sys/types.h>
+#if !defined(_MSC_VER)
#include <sys/ipc.h>
#include <sys/shm.h>
+#endif
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -289,6 +291,8 @@ ProcShmQueryVersion(ClientPtr client)
REQUEST_SIZE_MATCH(xShmQueryVersionReq);
+#ifndef _MSC_VER
+#endif
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -338,6 +342,9 @@ shm_access(ClientPtr client, SHMPERM_TYPE * perm, int readonly)
if (uid == 0) {
return 0;
}
+ #ifdef _MSC_VER
+ __asm int 3;
+ #else
/* Check the owner */
if (SHMPERM_UID(perm) == uid || SHMPERM_CUID(perm) == uid) {
mask = S_IRUSR;
@@ -346,10 +353,14 @@ shm_access(ClientPtr client, SHMPERM_TYPE * perm, int readonly)
}
return (SHMPERM_MODE(perm) & mask) == mask ? 0 : -1;
}
+ #endif
}
if (gidset) {
/* Check the group */
+ #ifdef _MSC_VER
+ __asm int 3;
+ #else
if (SHMPERM_GID(perm) == gid || SHMPERM_CGID(perm) == gid) {
mask = S_IRGRP;
if (!readonly) {
@@ -357,14 +368,20 @@ shm_access(ClientPtr client, SHMPERM_TYPE * perm, int readonly)
}
return (SHMPERM_MODE(perm) & mask) == mask ? 0 : -1;
}
+ #endif
}
}
+ #ifdef _MSC_VER
+ __asm int 3;
+ return -1;
+ #else
/* Otherwise, check everyone else */
mask = S_IROTH;
if (!readonly) {
mask |= S_IWOTH;
}
return (SHMPERM_MODE(perm) & mask) == mask ? 0 : -1;
+ #endif
}
static int
@@ -435,6 +452,7 @@ ShmDetachSegment(void *value, /* must conform to DeleteType */
if (--shmdesc->refcnt)
return TRUE;
+#ifndef _MSC_VER
#if SHM_FD_PASSING
if (shmdesc->is_fd) {
if (shmdesc->busfault)
@@ -443,6 +461,7 @@ ShmDetachSegment(void *value, /* must conform to DeleteType */
} else
#endif
shmdt(shmdesc->addr);
+#endif
for (prev = &Shmsegs; *prev != shmdesc; prev = &(*prev)->next);
*prev = shmdesc->next;
free(shmdesc);
diff --git a/xorg-server/Xext/sync.c b/xorg-server/Xext/sync.c
index 755ed94a1..49c262c57 100644
--- a/xorg-server/Xext/sync.c
+++ b/xorg-server/Xext/sync.c
@@ -437,16 +437,9 @@ SyncSendAlarmNotifyEvents(SyncAlarm * pAlarm)
UpdateCurrentTime();
- ane = (xSyncAlarmNotifyEvent) {
- .type = SyncEventBase + XSyncAlarmNotify,
- .kind = XSyncAlarmNotify,
- .alarm = pAlarm->alarm_id,
- .alarm_value_hi = XSyncValueHigh32(pTrigger->test_value),
- .alarm_value_lo = XSyncValueLow32(pTrigger->test_value),
- .time = currentTime.milliseconds,
- .state = pAlarm->state
- };
-
+ ane.type = SyncEventBase + XSyncAlarmNotify;
+ ane.kind = XSyncAlarmNotify;
+ ane.alarm = pAlarm->alarm_id;
if (pTrigger->pSync && SYNC_COUNTER == pTrigger->pSync->type) {
ane.counter_value_hi = XSyncValueHigh32(pCounter->value);
ane.counter_value_lo = XSyncValueLow32(pCounter->value);
@@ -456,6 +449,11 @@ SyncSendAlarmNotifyEvents(SyncAlarm * pAlarm)
ane.counter_value_hi = ane.counter_value_lo = 0;
}
+ ane.alarm_value_hi = XSyncValueHigh32(pTrigger->test_value);
+ ane.alarm_value_lo = XSyncValueLow32(pTrigger->test_value);
+ ane.time = currentTime.milliseconds;
+ ane.state = pAlarm->state;
+
/* send to owner */
if (pAlarm->events)
WriteEventsToClient(pAlarm->client, 1, (xEvent *) &ane);
@@ -1206,6 +1204,10 @@ FreeAwait(void *addr, XID id)
return Success;
}
+#ifdef _MSC_VER
+#pragma warning(disable:4715) /* Not all control paths return a value */
+#endif
+
/* loosely based on dix/events.c/OtherClientGone */
static int
FreeAlarmClient(void *value, XID id)
@@ -1237,16 +1239,17 @@ FreeAlarmClient(void *value, XID id)
static int
ProcSyncInitialize(ClientPtr client)
{
- xSyncInitializeReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_SYNC_MAJOR_VERSION,
- .minorVersion = SERVER_SYNC_MINOR_VERSION,
- };
+ xSyncInitializeReply rep;
REQUEST_SIZE_MATCH(xSyncInitializeReq);
+ memset(&rep, 0, sizeof(xSyncInitializeReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.majorVersion = SERVER_SYNC_MAJOR_VERSION;
+ rep.minorVersion = SERVER_SYNC_MINOR_VERSION;
+ rep.length = 0;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
}
@@ -1260,17 +1263,17 @@ ProcSyncInitialize(ClientPtr client)
static int
ProcSyncListSystemCounters(ClientPtr client)
{
- xSyncListSystemCountersReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .nCounters = 0,
- };
- SysCounterInfo *psci;
+ xSyncListSystemCountersReply rep;
+ SysCounterInfo *psci=NULL;
int len = 0;
xSyncSystemCounter *list = NULL, *walklist = NULL;
REQUEST_SIZE_MATCH(xSyncListSystemCountersReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.nCounters = 0;
+
xorg_list_for_each_entry(psci, &SysCounterList, entry) {
/* pad to 4 byte boundary */
len += pad_to_int32(sz_xSyncSystemCounter + strlen(psci->name));
@@ -1380,12 +1383,11 @@ ProcSyncGetPriority(ClientPtr client)
return rc;
}
- rep = (xSyncGetPriorityReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .priority = priorityclient->priority
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.priority = priorityclient->priority;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -1665,13 +1667,12 @@ ProcSyncQueryCounter(ClientPtr client)
&pCounter->value);
}
- rep = (xSyncQueryCounterReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .value_hi = XSyncValueHigh32(pCounter->value),
- .value_lo = XSyncValueLow32(pCounter->value)
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.value_hi = XSyncValueHigh32(pCounter->value);
+ rep.value_lo = XSyncValueLow32(pCounter->value);
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -1827,32 +1828,31 @@ ProcSyncQueryAlarm(ClientPtr client)
return rc;
pTrigger = &pAlarm->trigger;
- rep = (xSyncQueryAlarmReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length =
- bytes_to_int32(sizeof(xSyncQueryAlarmReply) - sizeof(xGenericReply)),
- .counter = (pTrigger->pSync) ? pTrigger->pSync->id : None,
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length =
+ bytes_to_int32(sizeof(xSyncQueryAlarmReply) - sizeof(xGenericReply));
+ rep.counter = (pTrigger->pSync) ? pTrigger->pSync->id : None;
#if 0 /* XXX unclear what to do, depends on whether relative value-types
* are "consumed" immediately and are considered absolute from then
* on.
*/
- .value_type = pTrigger->value_type,
- .wait_value_hi = XSyncValueHigh32(pTrigger->wait_value),
- .wait_value_lo = XSyncValueLow32(pTrigger->wait_value),
+ rep.value_type = pTrigger->value_type;
+ rep.wait_value_hi = XSyncValueHigh32(pTrigger->wait_value);
+ rep.wait_value_lo = XSyncValueLow32(pTrigger->wait_value);
#else
- .value_type = XSyncAbsolute,
- .wait_value_hi = XSyncValueHigh32(pTrigger->test_value),
- .wait_value_lo = XSyncValueLow32(pTrigger->test_value),
+ rep.value_type = XSyncAbsolute;
+ rep.wait_value_hi = XSyncValueHigh32(pTrigger->test_value);
+ rep.wait_value_lo = XSyncValueLow32(pTrigger->test_value);
#endif
- .test_type = pTrigger->test_type,
- .delta_hi = XSyncValueHigh32(pAlarm->delta),
- .delta_lo = XSyncValueLow32(pAlarm->delta),
- .events = pAlarm->events,
- .state = pAlarm->state
- };
+ rep.test_type = pTrigger->test_type;
+ rep.delta_hi = XSyncValueHigh32(pAlarm->delta);
+ rep.delta_lo = XSyncValueLow32(pAlarm->delta);
+ rep.events = pAlarm->events;
+ rep.state = pAlarm->state;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -2011,13 +2011,12 @@ ProcSyncQueryFence(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xSyncQueryFenceReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .triggered = pFence->funcs.CheckTriggered(pFence)
- };
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+
+ rep.triggered = pFence->funcs.CheckTriggered(pFence);
if (client->swapped) {
swaps(&rep.sequenceNumber);
diff --git a/xorg-server/Xext/xace.c b/xorg-server/Xext/xace.c
index d77b3126a..b8d5b4090 100644
--- a/xorg-server/Xext/xace.c
+++ b/xorg-server/Xext/xace.c
@@ -19,6 +19,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+#define XACE
#endif
#include <stdarg.h>
diff --git a/xorg-server/Xext/xcmisc.c b/xorg-server/Xext/xcmisc.c
index 034bfb63b..a48f61282 100644
--- a/xorg-server/Xext/xcmisc.c
+++ b/xorg-server/Xext/xcmisc.c
@@ -45,16 +45,14 @@ from The Open Group.
static int
ProcXCMiscGetVersion(ClientPtr client)
{
- xXCMiscGetVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = XCMiscMajorVersion,
- .minorVersion = XCMiscMinorVersion
- };
+ xXCMiscGetVersionReply rep;
REQUEST_SIZE_MATCH(xXCMiscGetVersionReq);
-
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = XCMiscMajorVersion;
+ rep.minorVersion = XCMiscMinorVersion;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.majorVersion);
@@ -72,13 +70,12 @@ ProcXCMiscGetXIDRange(ClientPtr client)
REQUEST_SIZE_MATCH(xXCMiscGetXIDRangeReq);
GetXIDRange(client->index, FALSE, &min_id, &max_id);
- rep = (xXCMiscGetXIDRangeReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .start_id = min_id,
- .count = max_id - min_id + 1
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.start_id = min_id;
+ rep.count = max_id - min_id + 1;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.start_id);
@@ -106,12 +103,11 @@ ProcXCMiscGetXIDList(ClientPtr client)
return BadAlloc;
}
count = GetXIDList(client, stuff->count, pids);
- rep = (xXCMiscGetXIDListReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = count,
- .count = count
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = count;
+ rep.count = count;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
diff --git a/xorg-server/Xext/xf86bigfont.c b/xorg-server/Xext/xf86bigfont.c
index 46b3242d1..5877a7174 100644
--- a/xorg-server/Xext/xf86bigfont.c
+++ b/xorg-server/Xext/xf86bigfont.c
@@ -278,23 +278,28 @@ ProcXF86BigfontQueryVersion(ClientPtr client)
xXF86BigfontQueryVersionReply reply;
REQUEST_SIZE_MATCH(xXF86BigfontQueryVersionReq);
- reply = (xXF86BigfontQueryVersionReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_XF86BIGFONT_MAJOR_VERSION,
- .minorVersion = SERVER_XF86BIGFONT_MINOR_VERSION,
- .uid = geteuid(),
- .gid = getegid(),
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.majorVersion = SERVER_XF86BIGFONT_MAJOR_VERSION;
+ reply.minorVersion = SERVER_XF86BIGFONT_MINOR_VERSION;
+ #ifdef WIN32
+ reply.uid = 0;
+ reply.gid = 0;
+ #else
+ reply.uid = geteuid();
+ reply.gid = getegid();
+ #endif
#ifdef HAS_SHM
- .signature = signature,
- .capabilities = (client->local && !client->swapped)
+ reply.signature = signature;
+ reply.capabilities = (client->local && !client->swapped)
? XF86Bigfont_CAP_LocalShm : 0
#else
- .signature = 0,
- .capabilities = 0
+ reply.signature = 0; /* This is redundant. Avoids uninitialized memory. */
+ reply.capabilities = 0;
#endif
- };
+
if (client->swapped) {
swaps(&reply.sequenceNumber);
swapl(&reply.length);
diff --git a/xorg-server/Xext/xres.c b/xorg-server/Xext/xres.c
index 546b942a1..c63046f8f 100644
--- a/xorg-server/Xext/xres.c
+++ b/xorg-server/Xext/xres.c
@@ -120,7 +120,7 @@ AddFragment(struct xorg_list *frags, int bytes)
static void
WriteFragmentsToClient(ClientPtr client, struct xorg_list *frags)
{
- FragmentList *it;
+ FragmentList *it=NULL;
xorg_list_for_each_entry(it, frags, l) {
WriteToClient(client, it->bytes, (char*) it + sizeof(*it));
}
@@ -133,7 +133,7 @@ WriteFragmentsToClient(ClientPtr client, struct xorg_list *frags)
static void
DestroyFragments(struct xorg_list *frags)
{
- FragmentList *it, *tmp;
+ FragmentList *it=NULL, *tmp;
xorg_list_for_each_entry_safe(it, tmp, frags, l) {
xorg_list_del(&it->l);
free(it);
@@ -193,16 +193,15 @@ DestroyConstructResourceBytesCtx(ConstructResourceBytesCtx *ctx)
static int
ProcXResQueryVersion(ClientPtr client)
{
- xXResQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .server_major = SERVER_XRES_MAJOR_VERSION,
- .server_minor = SERVER_XRES_MINOR_VERSION
- };
+ xXResQueryVersionReply rep;
REQUEST_SIZE_MATCH(xXResQueryVersionReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.server_major = SERVER_XRES_MAJOR_VERSION;
+ rep.server_minor = SERVER_XRES_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -233,12 +232,11 @@ ProcXResQueryClients(ClientPtr client)
}
}
- rep = (xXResQueryClientsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(num_clients * sz_xXResClient),
- .num_clients = num_clients
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(num_clients * sz_xXResClient);
+ rep.num_clients = num_clients;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -302,12 +300,11 @@ ProcXResQueryClientResources(ClientPtr client)
num_types++;
}
- rep = (xXResQueryClientResourcesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(num_types * sz_xXResType),
- .num_types = num_types
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(num_types * sz_xXResType);
+ rep.num_types = num_types;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -474,17 +471,16 @@ ProcXResQueryClientPixmapBytes(ClientPtr client)
(void *)(&bytes));
#endif
- rep = (xXResQueryClientPixmapBytesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .bytes = bytes,
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.bytes = bytes;
#ifdef _XSERVER64
- .bytes_overflow = bytes >> 32
+ rep.bytes_overflow = bytes >> 32;
#else
- .bytes_overflow = 0
+ rep.bytes_overflow = 0;
#endif
- };
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -669,12 +665,11 @@ ProcXResQueryClientIds (ClientPtr client)
rc = ConstructClientIds(client, stuff->numSpecs, specs, &ctx);
if (rc == Success) {
- xXResQueryClientIdsReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(ctx.resultBytes),
- .numIds = ctx.numIds
- };
+ xXResQueryClientIdsReply rep;
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(ctx.resultBytes);
+ rep.numIds = ctx.numIds;
assert((ctx.resultBytes & 3) == 0);
@@ -826,7 +821,7 @@ AddResourceSizeValue(void *ptr, XID id, RESTYPE type, void *cdata)
Bool ok = TRUE;
HashTable ht;
HtGenericHashSetupRec htSetup = {
- .keySize = sizeof(void*)
+ /*.keySize = */sizeof(void*)
};
/* it doesn't matter that we don't undo the work done here
@@ -1052,12 +1047,11 @@ ProcXResQueryResourceBytes (ClientPtr client)
rc = ConstructResourceBytes(stuff->client, &ctx);
if (rc == Success) {
- xXResQueryResourceBytesReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(ctx.resultBytes),
- .numSizes = ctx.numSizes
- };
+ xXResQueryResourceBytesReply rep;
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(ctx.resultBytes);
+ rep.numSizes = ctx.numSizes;
if (client->swapped) {
swaps (&rep.sequenceNumber);
diff --git a/xorg-server/Xext/xtest.c b/xorg-server/Xext/xtest.c
index 88df4433b..9bd90be7f 100644
--- a/xorg-server/Xext/xtest.c
+++ b/xorg-server/Xext/xtest.c
@@ -86,16 +86,14 @@ static int XTestSwapFakeInput(ClientPtr /* client */ ,
static int
ProcXTestGetVersion(ClientPtr client)
{
- xXTestGetVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = XTestMajorVersion,
- .minorVersion = XTestMinorVersion
- };
+ xXTestGetVersionReply rep;
REQUEST_SIZE_MATCH(xXTestGetVersionReq);
-
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = XTestMajorVersion;
+ rep.minorVersion = XTestMinorVersion;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.minorVersion);
@@ -134,12 +132,11 @@ ProcXTestCompareCursor(ClientPtr client)
return rc;
}
}
- rep = (xXTestCompareCursorReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .same = (wCursor(pWin) == pCursor)
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.same = (wCursor(pWin) == pCursor);
if (client->swapped) {
swaps(&rep.sequenceNumber);
}
diff --git a/xorg-server/Xext/xvmain.c b/xorg-server/Xext/xvmain.c
index 00b5179bd..9020b2497 100644
--- a/xorg-server/Xext/xvmain.c
+++ b/xorg-server/Xext/xvmain.c
@@ -271,7 +271,7 @@ XvScreenInit(ScreenPtr pScreen)
/* ALLOCATE SCREEN PRIVATE RECORD */
- pxvs = malloc(sizeof(XvScreenRec));
+ pxvs = calloc(1,sizeof(XvScreenRec));
if (!pxvs) {
ErrorF("XvScreenInit: Unable to allocate screen private structure\n");
return BadAlloc;
@@ -302,7 +302,7 @@ XvCloseScreen(ScreenPtr pScreen)
pScreen->DestroyWindow = pxvs->DestroyWindow;
pScreen->CloseScreen = pxvs->CloseScreen;
- (*pxvs->ddCloseScreen) (pScreen);
+ if (pxvs->ddCloseScreen) (*pxvs->ddCloseScreen) (pScreen);
free(pxvs);
diff --git a/xorg-server/Xi/chgdctl.c b/xorg-server/Xi/chgdctl.c
index d078aa248..106b9aaed 100644
--- a/xorg-server/Xi/chgdctl.c
+++ b/xorg-server/Xi/chgdctl.c
@@ -128,13 +128,12 @@ ProcXChangeDeviceControl(ClientPtr client)
goto out;
}
- rep = (xChangeDeviceControlReply) {
- .repType = X_Reply,
- .RepType = X_ChangeDeviceControl,
- .sequenceNumber = client->sequence,
- .length = 0,
- .status = Success,
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_ChangeDeviceControl;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.status = Success;
switch (stuff->control) {
case DEVICE_RESOLUTION:
@@ -220,13 +219,12 @@ ProcXChangeDeviceControl(ClientPtr client)
out:
if (ret == Success) {
- devicePresenceNotify dpn = {
- .type = DevicePresenceNotify,
- .time = currentTime.milliseconds,
- .devchange = DeviceControlChanged,
- .deviceid = dev->id,
- .control = stuff->control
- };
+ devicePresenceNotify dpn;
+ dpn.type = DevicePresenceNotify;
+ dpn.time = currentTime.milliseconds;
+ dpn.devchange = DeviceControlChanged;
+ dpn.deviceid = dev->id;
+ dpn.control = stuff->control;
SendEventToAllWindows(dev, DevicePresenceNotifyMask,
(xEvent *) &dpn, 1);
diff --git a/xorg-server/Xi/exevents.c b/xorg-server/Xi/exevents.c
index b0bc47e6d..551db92b4 100644
--- a/xorg-server/Xi/exevents.c
+++ b/xorg-server/Xi/exevents.c
@@ -80,6 +80,8 @@ SOFTWARE.
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+#define XINPUT
#endif
#include "inputstr.h"
@@ -1023,7 +1025,7 @@ DeliverOneTouchEvent(ClientPtr client, DeviceIntPtr dev, TouchPointInfoPtr ti,
err = EventToXI2(ev, &xi2);
if (err != Success)
FatalError("[Xi] %s: XI2 conversion failed in %s"
- " (%d)\n", dev->name, __func__, err);
+ " (%d)\n", dev->name, __FUNCTION__, err);
FixUpEventFromWindow(&ti->sprite, xi2, win, child, FALSE);
filter = GetEventFilter(dev, xi2);
@@ -1648,7 +1650,7 @@ ProcessBarrierEvent(InternalEvent *e, DeviceIntPtr dev)
rc = EventToXI2(e, &ev);
if (rc != Success) {
- ErrorF("[Xi] event conversion from %s failed with code %d\n", __func__, rc);
+ ErrorF("[Xi] event conversion from %s failed with code %d\n", __FUNCTION__, rc);
return;
}
@@ -1688,7 +1690,7 @@ ProcessDeviceEvent(InternalEvent *ev, DeviceIntPtr device)
if (IsPointerDevice(device)) {
kbd = GetMaster(device, KEYBOARD_OR_FLOAT);
mouse = device;
- if (!kbd->key) /* can happen with floating SDs */
+ if (kbd && !kbd->key) /* can happen with floating SDs */
kbd = NULL;
}
else {
@@ -1718,6 +1720,8 @@ ProcessDeviceEvent(InternalEvent *ev, DeviceIntPtr device)
case ET_KeyRelease:
case ET_ProximityIn:
case ET_ProximityOut:
+ if (!device->spriteInfo->sprite)
+ return;
GetSpritePosition(device, &rootX, &rootY);
event->root_x = rootX;
event->root_y = rootY;
@@ -2542,6 +2546,10 @@ RecalculateDeviceDeliverableEvents(WindowPtr pWin)
}
}
+#ifdef _MSC_VER
+#pragma warning(disable:4715) /* Not all control paths return a value */
+#endif
+
int
InputClientGone(WindowPtr pWin, XID id)
{
diff --git a/xorg-server/Xi/getbmap.c b/xorg-server/Xi/getbmap.c
index 49b868889..78adc6623 100644
--- a/xorg-server/Xi/getbmap.c
+++ b/xorg-server/Xi/getbmap.c
@@ -92,13 +92,12 @@ ProcXGetDeviceButtonMapping(ClientPtr client)
REQUEST(xGetDeviceButtonMappingReq);
REQUEST_SIZE_MATCH(xGetDeviceButtonMappingReq);
- rep = (xGetDeviceButtonMappingReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceButtonMapping,
- .sequenceNumber = client->sequence,
- .nElts = 0,
- .length = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetDeviceButtonMapping;
+ rep.sequenceNumber = client->sequence;
+ rep.nElts = 0;
+ rep.length = 0;
rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess);
if (rc != Success)
diff --git a/xorg-server/Xi/getdctl.c b/xorg-server/Xi/getdctl.c
index 6f73e0979..39cde5174 100644
--- a/xorg-server/Xi/getdctl.c
+++ b/xorg-server/Xi/getdctl.c
@@ -182,12 +182,11 @@ ProcXGetDeviceControl(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xGetDeviceControlReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceControl,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetDeviceControl;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
switch (stuff->control) {
case DEVICE_RESOLUTION:
diff --git a/xorg-server/Xi/getfctl.c b/xorg-server/Xi/getfctl.c
index 599b2ef97..e235e7c1f 100644
--- a/xorg-server/Xi/getfctl.c
+++ b/xorg-server/Xi/getfctl.c
@@ -295,13 +295,12 @@ ProcXGetFeedbackControl(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xGetFeedbackControlReply) {
- .repType = X_Reply,
- .RepType = X_GetFeedbackControl,
- .sequenceNumber = client->sequence,
- .length = 0,
- .num_feedbacks = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetFeedbackControl;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.num_feedbacks = 0;
for (k = dev->kbdfeed; k; k = k->next) {
rep.num_feedbacks++;
diff --git a/xorg-server/Xi/getfocus.c b/xorg-server/Xi/getfocus.c
index 40546cb84..9d6c42ccb 100644
--- a/xorg-server/Xi/getfocus.c
+++ b/xorg-server/Xi/getfocus.c
@@ -99,12 +99,11 @@ ProcXGetDeviceFocus(ClientPtr client)
if (!dev->focus)
return BadDevice;
- rep = (xGetDeviceFocusReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceFocus,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetDeviceFocus;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
focus = dev->focus;
diff --git a/xorg-server/Xi/getkmap.c b/xorg-server/Xi/getkmap.c
index 87c197759..2cb9b0978 100644
--- a/xorg-server/Xi/getkmap.c
+++ b/xorg-server/Xi/getkmap.c
@@ -119,13 +119,13 @@ ProcXGetDeviceKeyMapping(ClientPtr client)
if (!syms)
return BadAlloc;
- rep = (xGetDeviceKeyMappingReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceKeyMapping,
- .sequenceNumber = client->sequence,
- .keySymsPerKeyCode = syms->mapWidth,
- .length = (syms->mapWidth * stuff->count) /* KeySyms are 4 bytes */
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetDeviceKeyMapping;
+ rep.sequenceNumber = client->sequence;
+ rep.keySymsPerKeyCode = syms->mapWidth;
+ rep.length = (syms->mapWidth * stuff->count); /* KeySyms are 4 bytes */
+
WriteReplyToClient(client, sizeof(xGetDeviceKeyMappingReply), &rep);
client->pSwapReplyFunc = (ReplySwapPtr) CopySwap32Write;
diff --git a/xorg-server/Xi/getmmap.c b/xorg-server/Xi/getmmap.c
index f07f2bb5c..6d55caa64 100644
--- a/xorg-server/Xi/getmmap.c
+++ b/xorg-server/Xi/getmmap.c
@@ -101,14 +101,13 @@ ProcXGetDeviceModifierMapping(ClientPtr client)
if (ret != Success)
return ret;
- rep = (xGetDeviceModifierMappingReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceModifierMapping,
- .sequenceNumber = client->sequence,
- .numKeyPerModifier = max_keys_per_mod,
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetDeviceModifierMapping;
+ rep.sequenceNumber = client->sequence;
+ rep.numKeyPerModifier = max_keys_per_mod;
/* length counts 4 byte quantities - there are 8 modifiers 1 byte big */
- .length = max_keys_per_mod << 1
- };
+ rep.length = max_keys_per_mod << 1;
WriteReplyToClient(client, sizeof(xGetDeviceModifierMappingReply), &rep);
WriteToClient(client, max_keys_per_mod * 8, modkeymap);
diff --git a/xorg-server/Xi/getprop.c b/xorg-server/Xi/getprop.c
index 4d6ce6338..92ae57a1e 100644
--- a/xorg-server/Xi/getprop.c
+++ b/xorg-server/Xi/getprop.c
@@ -101,13 +101,12 @@ ProcXGetDeviceDontPropagateList(ClientPtr client)
REQUEST(xGetDeviceDontPropagateListReq);
REQUEST_SIZE_MATCH(xGetDeviceDontPropagateListReq);
- rep = (xGetDeviceDontPropagateListReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceDontPropagateList,
- .sequenceNumber = client->sequence,
- .length = 0,
- .count = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetDeviceDontPropagateList;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.count = 0;
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
if (rc != Success)
diff --git a/xorg-server/Xi/getselev.c b/xorg-server/Xi/getselev.c
index 60a46c2d1..cc8bffb13 100644
--- a/xorg-server/Xi/getselev.c
+++ b/xorg-server/Xi/getselev.c
@@ -102,14 +102,13 @@ ProcXGetSelectedExtensionEvents(ClientPtr client)
REQUEST(xGetSelectedExtensionEventsReq);
REQUEST_SIZE_MATCH(xGetSelectedExtensionEventsReq);
- rep = (xGetSelectedExtensionEventsReply) {
- .repType = X_Reply,
- .RepType = X_GetSelectedExtensionEvents,
- .sequenceNumber = client->sequence,
- .length = 0,
- .this_client_count = 0,
- .all_clients_count = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetSelectedExtensionEvents;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.this_client_count = 0;
+ rep.all_clients_count = 0;
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
if (rc != Success)
diff --git a/xorg-server/Xi/getvers.c b/xorg-server/Xi/getvers.c
index 829e69535..5a1880d9c 100644
--- a/xorg-server/Xi/getvers.c
+++ b/xorg-server/Xi/getvers.c
@@ -98,15 +98,14 @@ ProcXGetExtensionVersion(ClientPtr client)
stuff->nbytes))
return BadLength;
- rep = (xGetExtensionVersionReply) {
- .repType = X_Reply,
- .RepType = X_GetExtensionVersion,
- .sequenceNumber = client->sequence,
- .length = 0,
- .major_version = XIVersion.major_version,
- .minor_version = XIVersion.minor_version,
- .present = TRUE
- };
+ memset(&rep, 0, sizeof(xGetExtensionVersionReply));
+ rep.repType = X_Reply;
+ rep.RepType = X_GetExtensionVersion;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.major_version = XIVersion.major_version;
+ rep.minor_version = XIVersion.minor_version;
+ rep.present = TRUE;
WriteReplyToClient(client, sizeof(xGetExtensionVersionReply), &rep);
diff --git a/xorg-server/Xi/grabdev.c b/xorg-server/Xi/grabdev.c
index 090043814..dee5a4c45 100644
--- a/xorg-server/Xi/grabdev.c
+++ b/xorg-server/Xi/grabdev.c
@@ -113,12 +113,11 @@ ProcXGrabDevice(ClientPtr client)
bytes_to_int32(sizeof(xGrabDeviceReq)) + stuff->event_count)
return BadLength;
- rep = (xGrabDeviceReply) {
- .repType = X_Reply,
- .RepType = X_GrabDevice,
- .sequenceNumber = client->sequence,
- .length = 0,
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GrabDevice;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess);
if (rc != Success)
diff --git a/xorg-server/Xi/grabdevb.c b/xorg-server/Xi/grabdevb.c
index 8b4ae698e..0f0e975a0 100644
--- a/xorg-server/Xi/grabdevb.c
+++ b/xorg-server/Xi/grabdevb.c
@@ -137,14 +137,13 @@ ProcXGrabDeviceButton(ClientPtr client)
X_GrabDeviceButton)) != Success)
return ret;
- param = (GrabParameters) {
- .grabtype = XI,
- .ownerEvents = stuff->ownerEvents,
- .this_device_mode = stuff->this_device_mode,
- .other_devices_mode = stuff->other_devices_mode,
- .grabWindow = stuff->grabWindow,
- .modifiers = stuff->modifiers
- };
+ memset(&param, 0, sizeof(param));
+ param.grabtype = XI;
+ param.ownerEvents = stuff->ownerEvents;
+ param.this_device_mode = stuff->this_device_mode;
+ param.other_devices_mode = stuff->other_devices_mode;
+ param.grabWindow = stuff->grabWindow;
+ param.modifiers = stuff->modifiers;
mask.xi = tmp[stuff->grabbed_device].mask;
ret = GrabButton(client, dev, mdev, stuff->button, &param, XI, &mask);
diff --git a/xorg-server/Xi/grabdevk.c b/xorg-server/Xi/grabdevk.c
index 8694f9e6d..b75518211 100644
--- a/xorg-server/Xi/grabdevk.c
+++ b/xorg-server/Xi/grabdevk.c
@@ -135,14 +135,13 @@ ProcXGrabDeviceKey(ClientPtr client)
X_GrabDeviceKey)) != Success)
return ret;
- param = (GrabParameters) {
- .grabtype = XI,
- .ownerEvents = stuff->ownerEvents,
- .this_device_mode = stuff->this_device_mode,
- .other_devices_mode = stuff->other_devices_mode,
- .grabWindow = stuff->grabWindow,
- .modifiers = stuff->modifiers
- };
+ memset(&param, 0, sizeof(param));
+ param.grabtype = XI;
+ param.ownerEvents = stuff->ownerEvents;
+ param.this_device_mode = stuff->this_device_mode;
+ param.other_devices_mode = stuff->other_devices_mode;
+ param.grabWindow = stuff->grabWindow;
+ param.modifiers = stuff->modifiers;
mask.xi = tmp[stuff->grabbed_device].mask;
ret = GrabKey(client, dev, mdev, stuff->key, &param, XI, &mask);
diff --git a/xorg-server/Xi/gtmotion.c b/xorg-server/Xi/gtmotion.c
index cde5351a6..1d39b2d1b 100644
--- a/xorg-server/Xi/gtmotion.c
+++ b/xorg-server/Xi/gtmotion.c
@@ -110,15 +110,15 @@ ProcXGetDeviceMotionEvents(ClientPtr client)
if (dev->valuator->motionHintWindow)
MaybeStopDeviceHint(dev, client);
axes = v->numAxes;
- rep = (xGetDeviceMotionEventsReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceMotionEvents,
- .sequenceNumber = client->sequence,
- .length = 0,
- .nEvents = 0,
- .axes = axes,
- .mode = Absolute /* XXX we don't do relative at the moment */
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_GetDeviceMotionEvents;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.nEvents = 0;
+ rep.axes = axes;
+ rep.mode = Absolute; /* XXX we don't do relative at the moment */
+
start = ClientTimeToServerTime(stuff->start);
stop = ClientTimeToServerTime(stuff->stop);
if (CompareTimeStamps(start, stop) == LATER ||
diff --git a/xorg-server/Xi/listdev.c b/xorg-server/Xi/listdev.c
index 6a10091d0..336053cf1 100644
--- a/xorg-server/Xi/listdev.c
+++ b/xorg-server/Xi/listdev.c
@@ -342,12 +342,11 @@ ProcXListInputDevices(ClientPtr client)
REQUEST_SIZE_MATCH(xListInputDevicesReq);
- rep = (xListInputDevicesReply) {
- .repType = X_Reply,
- .RepType = X_ListInputDevices,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ memset(&rep, 0, sizeof(xListInputDevicesReply));
+ rep.repType = X_Reply;
+ rep.RepType = X_ListInputDevices;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
/* allocate space for saving skip value */
skip = calloc(sizeof(Bool), inputInfo.numDevices);
diff --git a/xorg-server/Xi/makefile b/xorg-server/Xi/makefile
new file mode 100644
index 000000000..0c395d20e
--- /dev/null
+++ b/xorg-server/Xi/makefile
@@ -0,0 +1,56 @@
+CSRCS=allowev.c \
+ chgdctl.c \
+ chgfctl.c \
+ chgkbd.c \
+ chgkmap.c \
+ chgprop.c \
+ chgptr.c \
+ closedev.c \
+ devbell.c \
+ exevents.c \
+ extinit.c \
+ getbmap.c \
+ getdctl.c \
+ getfctl.c \
+ getfocus.c \
+ getkmap.c \
+ getmmap.c \
+ getprop.c \
+ getselev.c \
+ getvers.c \
+ grabdev.c \
+ grabdevb.c \
+ grabdevk.c \
+ gtmotion.c \
+ listdev.c \
+ opendev.c \
+ queryst.c \
+ selectev.c \
+ sendexev.c \
+ setbmap.c \
+ setdval.c \
+ setfocus.c \
+ setmmap.c \
+ setmode.c \
+ ungrdev.c \
+ ungrdevb.c \
+ ungrdevk.c \
+ xiallowev.c \
+ xibarriers.c \
+ xichangecursor.c \
+ xichangehierarchy.c \
+ xigetclientpointer.c \
+ xigrabdev.c \
+ xipassivegrab.c \
+ xiproperty.c \
+ xiquerydevice.c \
+ xiquerypointer.c \
+ xiqueryversion.c \
+ xiselectev.c \
+ xisetclientpointer.c \
+ xisetdevfocus.c \
+ xiwarppointer.c \
+ stubs.c
+
+LIBRARY=libXi
+
diff --git a/xorg-server/Xi/opendev.c b/xorg-server/Xi/opendev.c
index 6708bade1..f3cb9a463 100644
--- a/xorg-server/Xi/opendev.c
+++ b/xorg-server/Xi/opendev.c
@@ -114,9 +114,6 @@ ProcXOpenDevice(ClientPtr client)
if (IsMaster(dev))
return BadDevice;
- if (status != Success)
- return status;
-
if (dev->key != NULL) {
evbase[j].class = KeyClass;
evbase[j++].event_type_base = event_base[KeyClass];
@@ -144,13 +141,12 @@ ProcXOpenDevice(ClientPtr client)
}
evbase[j].class = OtherClass;
evbase[j++].event_type_base = event_base[OtherClass];
- rep = (xOpenDeviceReply) {
- .repType = X_Reply,
- .RepType = X_OpenDevice,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(j * sizeof(xInputClassInfo)),
- .num_classes = j
- };
+ memset(&rep, 0, sizeof(xOpenDeviceReply));
+ rep.repType = X_Reply;
+ rep.RepType = X_OpenDevice;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(j * sizeof(xInputClassInfo));
+ rep.num_classes = j;
WriteReplyToClient(client, sizeof(xOpenDeviceReply), &rep);
WriteToClient(client, j * sizeof(xInputClassInfo), evbase);
return Success;
diff --git a/xorg-server/Xi/queryst.c b/xorg-server/Xi/queryst.c
index 04a652be3..6b1f015c2 100644
--- a/xorg-server/Xi/queryst.c
+++ b/xorg-server/Xi/queryst.c
@@ -158,13 +158,13 @@ ProcXQueryDeviceState(ClientPtr client)
}
}
- rep = (xQueryDeviceStateReply) {
- .repType = X_Reply,
- .RepType = X_QueryDeviceState,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(total_length),
- .num_classes = num_classes
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_QueryDeviceState;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(total_length);
+ rep.num_classes = num_classes;
+
WriteReplyToClient(client, sizeof(xQueryDeviceStateReply), &rep);
if (total_length > 0)
WriteToClient(client, total_length, savbuf);
diff --git a/xorg-server/Xi/setbmap.c b/xorg-server/Xi/setbmap.c
index 94796558d..4f0f4ab9d 100644
--- a/xorg-server/Xi/setbmap.c
+++ b/xorg-server/Xi/setbmap.c
@@ -100,13 +100,12 @@ ProcXSetDeviceButtonMapping(ClientPtr client)
if (ret != Success)
return ret;
- rep = (xSetDeviceButtonMappingReply) {
- .repType = X_Reply,
- .RepType = X_SetDeviceButtonMapping,
- .sequenceNumber = client->sequence,
- .length = 0,
- .status = MappingSuccess
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_SetDeviceButtonMapping;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.status = MappingSuccess;
ret =
ApplyPointerMapping(dev, (CARD8 *) &stuff[1], stuff->map_length,
diff --git a/xorg-server/Xi/setdval.c b/xorg-server/Xi/setdval.c
index 463e4f38c..1e2e59772 100644
--- a/xorg-server/Xi/setdval.c
+++ b/xorg-server/Xi/setdval.c
@@ -92,13 +92,12 @@ ProcXSetDeviceValuators(ClientPtr client)
REQUEST(xSetDeviceValuatorsReq);
REQUEST_AT_LEAST_SIZE(xSetDeviceValuatorsReq);
- rep = (xSetDeviceValuatorsReply) {
- .repType = X_Reply,
- .RepType = X_SetDeviceValuators,
- .sequenceNumber = client->sequence,
- .length = 0,
- .status = Success
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_SetDeviceValuators;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.status = Success;
if (stuff->length != bytes_to_int32(sizeof(xSetDeviceValuatorsReq)) +
stuff->num_valuators)
diff --git a/xorg-server/Xi/setmmap.c b/xorg-server/Xi/setmmap.c
index 1320cfec7..0e6027f54 100644
--- a/xorg-server/Xi/setmmap.c
+++ b/xorg-server/Xi/setmmap.c
@@ -98,12 +98,11 @@ ProcXSetDeviceModifierMapping(ClientPtr client)
(stuff->numKeyPerModifier << 1))
return BadLength;
- rep = (xSetDeviceModifierMappingReply) {
- .repType = X_Reply,
- .RepType = X_SetDeviceModifierMapping,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_SetDeviceModifierMapping;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
ret = dixLookupDevice(&dev, stuff->deviceid, client, DixManageAccess);
if (ret != Success)
diff --git a/xorg-server/Xi/setmode.c b/xorg-server/Xi/setmode.c
index 5ed09136e..a57cc7b08 100644
--- a/xorg-server/Xi/setmode.c
+++ b/xorg-server/Xi/setmode.c
@@ -92,12 +92,11 @@ ProcXSetDeviceMode(ClientPtr client)
REQUEST(xSetDeviceModeReq);
REQUEST_SIZE_MATCH(xSetDeviceModeReq);
- rep = (xSetDeviceModeReply) {
- .repType = X_Reply,
- .RepType = X_SetDeviceMode,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_SetDeviceMode;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
rc = dixLookupDevice(&dev, stuff->deviceid, client, DixSetAttrAccess);
if (rc != Success)
diff --git a/xorg-server/Xi/xibarriers.c b/xorg-server/Xi/xibarriers.c
index a8b92cc18..8f277601d 100644
--- a/xorg-server/Xi/xibarriers.c
+++ b/xorg-server/Xi/xibarriers.c
@@ -398,19 +398,18 @@ input_constrain_cursor(DeviceIntPtr dev, ScreenPtr screen,
struct PointerBarrier *nearest = NULL;
PointerBarrierClientPtr c;
Time ms = GetTimeInMillis();
- BarrierEvent ev = {
- .header = ET_Internal,
- .type = 0,
- .length = sizeof (BarrierEvent),
- .time = ms,
- .deviceid = dev->id,
- .sourceid = dev->id,
- .dx = dest_x - current_x,
- .dy = dest_y - current_y,
- .root = screen->root->drawable.id,
- };
InternalEvent *barrier_events = events;
DeviceIntPtr master;
+ BarrierEvent ev;
+ ev.header = ET_Internal;
+ ev.type = 0;
+ ev.length = sizeof (BarrierEvent);
+ ev.time = ms;
+ ev.deviceid = dev->id;
+ ev.sourceid = dev->id;
+ ev.dx = dest_x - current_x;
+ ev.dy = dest_y - current_y;
+ ev.root = screen->root->drawable.id;
if (nevents)
*nevents = 0;
@@ -651,24 +650,24 @@ BarrierFreeBarrier(void *data, XID id)
for (dev = inputInfo.devices; dev; dev = dev->next) {
struct PointerBarrierDevice *pbd;
int root_x, root_y;
- BarrierEvent ev = {
- .header = ET_Internal,
- .type = ET_BarrierLeave,
- .length = sizeof (BarrierEvent),
- .time = ms,
- /* .deviceid */
- .sourceid = 0,
- .barrierid = c->id,
- .window = c->window,
- .root = screen->root->drawable.id,
- .dx = 0,
- .dy = 0,
- /* .root_x */
- /* .root_y */
- /* .dt */
- /* .event_id */
- .flags = XIBarrierPointerReleased,
- };
+ BarrierEvent ev;
+ ev.header = ET_Internal;
+ ev.type = ET_BarrierLeave;
+ ev.length = sizeof (BarrierEvent);
+ ev.time = ms;
+ /* .deviceid */
+ ev.sourceid = 0;
+ ev.barrierid = c->id;
+ ev.window = c->window;
+ ev.root = screen->root->drawable.id;
+ ev.dx = 0;
+ ev.dy = 0;
+ /* .root_x */
+ /* .root_y */
+ /* .dt */
+ /* .event_id */
+ ev.flags = XIBarrierPointerReleased;
+
if (dev->type != MASTER_POINTER)
@@ -732,22 +731,22 @@ static void remove_master_func(void *res, XID id, void *devid)
pbd = GetBarrierDevice(barrier, *deviceid);
if (pbd->hit) {
- BarrierEvent ev = {
- .header = ET_Internal,
- .type =ET_BarrierLeave,
- .length = sizeof (BarrierEvent),
- .time = ms,
- .deviceid = *deviceid,
- .sourceid = 0,
- .dx = 0,
- .dy = 0,
- .root = barrier->screen->root->drawable.id,
- .window = barrier->window,
- .dt = ms - pbd->last_timestamp,
- .flags = XIBarrierPointerReleased,
- .event_id = pbd->barrier_event_id,
- .barrierid = barrier->id,
- };
+ BarrierEvent ev;
+ ev.header = ET_Internal;
+ ev.type =ET_BarrierLeave;
+ ev.length = sizeof (BarrierEvent);
+ ev.time = ms;
+ ev.deviceid = *deviceid;
+ ev.sourceid = 0;
+ ev.dx = 0;
+ ev.dy = 0;
+ ev.root = barrier->screen->root->drawable.id;
+ ev.window = barrier->window;
+ ev.dt = ms - pbd->last_timestamp;
+ ev.flags = XIBarrierPointerReleased;
+ ev.event_id = pbd->barrier_event_id;
+ ev.barrierid = barrier->id;
+
mieqEnqueue(dev, (InternalEvent *) &ev);
}
diff --git a/xorg-server/Xi/xigetclientpointer.c b/xorg-server/Xi/xigetclientpointer.c
index 3c90d588d..6ab2867f7 100644
--- a/xorg-server/Xi/xigetclientpointer.c
+++ b/xorg-server/Xi/xigetclientpointer.c
@@ -75,14 +75,13 @@ ProcXIGetClientPointer(ClientPtr client)
else
winclient = client;
- rep = (xXIGetClientPointerReply) {
- .repType = X_Reply,
- .RepType = X_XIGetClientPointer,
- .sequenceNumber = client->sequence,
- .length = 0,
- .set = (winclient->clientPtr != NULL),
- .deviceid = (winclient->clientPtr) ? winclient->clientPtr->id : 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_XIGetClientPointer;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.set = (winclient->clientPtr != NULL);
+ rep.deviceid = (winclient->clientPtr) ? winclient->clientPtr->id : 0;
WriteReplyToClient(client, sizeof(xXIGetClientPointerReply), &rep);
return Success;
diff --git a/xorg-server/Xi/xigrabdev.c b/xorg-server/Xi/xigrabdev.c
index 63d95bc1c..086e275d8 100644
--- a/xorg-server/Xi/xigrabdev.c
+++ b/xorg-server/Xi/xigrabdev.c
@@ -115,13 +115,12 @@ ProcXIGrabDevice(ClientPtr client)
if (ret != Success)
return ret;
- rep = (xXIGrabDeviceReply) {
- .repType = X_Reply,
- .RepType = X_XIGrabDevice,
- .sequenceNumber = client->sequence,
- .length = 0,
- .status = status
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_XIGrabDevice;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.status = status;
WriteReplyToClient(client, sizeof(rep), &rep);
return ret;
diff --git a/xorg-server/Xi/xipassivegrab.c b/xorg-server/Xi/xipassivegrab.c
index 700622d38..ca69050b2 100644
--- a/xorg-server/Xi/xipassivegrab.c
+++ b/xorg-server/Xi/xipassivegrab.c
@@ -76,13 +76,7 @@ int
ProcXIPassiveGrabDevice(ClientPtr client)
{
DeviceIntPtr dev, mod_dev;
- xXIPassiveGrabDeviceReply rep = {
- .repType = X_Reply,
- .RepType = X_XIPassiveGrabDevice,
- .sequenceNumber = client->sequence,
- .length = 0,
- .num_modifiers = 0
- };
+ xXIPassiveGrabDeviceReply rep;
int i, ret = Success;
uint32_t *modifiers;
xXIGrabModifierInfo *modifiers_failed;
@@ -94,6 +88,12 @@ ProcXIPassiveGrabDevice(ClientPtr client)
REQUEST(xXIPassiveGrabDeviceReq);
REQUEST_AT_LEAST_SIZE(xXIPassiveGrabDeviceReq);
+ rep.repType = X_Reply;
+ rep.RepType = X_XIPassiveGrabDevice;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.num_modifiers = 0;
+
if (stuff->deviceid == XIAllDevices)
dev = inputInfo.all_devices;
else if (stuff->deviceid == XIAllMasterDevices)
diff --git a/xorg-server/Xi/xiproperty.c b/xorg-server/Xi/xiproperty.c
index 463607d33..18936c587 100644
--- a/xorg-server/Xi/xiproperty.c
+++ b/xorg-server/Xi/xiproperty.c
@@ -185,23 +185,23 @@ static void
send_property_event(DeviceIntPtr dev, Atom property, int what)
{
int state = (what == XIPropertyDeleted) ? PropertyDelete : PropertyNewValue;
- devicePropertyNotify event = {
- .type = DevicePropertyNotify,
- .deviceid = dev->id,
- .state = state,
- .atom = property,
- .time = currentTime.milliseconds
- };
- xXIPropertyEvent xi2 = {
- .type = GenericEvent,
- .extension = IReqCode,
- .length = 0,
- .evtype = XI_PropertyEvent,
- .deviceid = dev->id,
- .time = currentTime.milliseconds,
- .property = property,
- .what = what
- };
+ xXIPropertyEvent xi2; devicePropertyNotify event;
+ event.type = DevicePropertyNotify;
+ event.deviceid = dev->id;
+ event.state = state;
+ event.atom = property;
+ event.time = currentTime.milliseconds;
+
+
+ xi2.type = GenericEvent;
+ xi2.extension = IReqCode;
+ xi2.length = 0;
+ xi2.evtype = XI_PropertyEvent;
+ xi2.deviceid = dev->id;
+ xi2.time = currentTime.milliseconds;
+ xi2.property = property;
+ xi2.what = what;
+
SendEventToAllWindows(dev, DevicePropertyNotifyMask, (xEvent *) &event, 1);
@@ -865,13 +865,12 @@ ProcXListDeviceProperties(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xListDevicePropertiesReply) {
- .repType = X_Reply,
- .RepType = X_ListDeviceProperties,
- .sequenceNumber = client->sequence,
- .length = natoms,
- .nAtoms = natoms
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_ListDeviceProperties;
+ rep.sequenceNumber = client->sequence;
+ rep.length = natoms;
+ rep.nAtoms = natoms;
WriteReplyToClient(client, sizeof(xListDevicePropertiesReply), &rep);
if (natoms) {
@@ -961,17 +960,16 @@ ProcXGetDeviceProperty(ClientPtr client)
if (rc != Success)
return rc;
- reply = (xGetDevicePropertyReply) {
- .repType = X_Reply,
- .RepType = X_GetDeviceProperty,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(length),
- .propertyType = type,
- .bytesAfter = bytes_after,
- .nItems = nitems,
- .format = format,
- .deviceid = dev->id
- };
+
+ reply.repType = X_Reply;
+ reply.RepType = X_GetDeviceProperty;
+ reply.sequenceNumber = client->sequence;
+ reply.length = bytes_to_int32(length);
+ reply.propertyType = type;
+ reply.bytesAfter = bytes_after;
+ reply.nItems = nitems;
+ reply.format = format;
+ reply.deviceid = dev->id;
if (stuff->delete && (reply.bytesAfter == 0))
send_property_event(dev, stuff->property, XIPropertyDeleted);
@@ -1105,13 +1103,12 @@ ProcXIListProperties(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xXIListPropertiesReply) {
- .repType = X_Reply,
- .RepType = X_XIListProperties,
- .sequenceNumber = client->sequence,
- .length = natoms,
- .num_properties = natoms
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_XIListProperties;
+ rep.sequenceNumber = client->sequence;
+ rep.length = natoms;
+ rep.num_properties = natoms;
WriteReplyToClient(client, sizeof(xXIListPropertiesReply), &rep);
if (natoms) {
@@ -1201,16 +1198,15 @@ ProcXIGetProperty(ClientPtr client)
if (rc != Success)
return rc;
- reply = (xXIGetPropertyReply) {
- .repType = X_Reply,
- .RepType = X_XIGetProperty,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(length),
- .type = type,
- .bytes_after = bytes_after,
- .num_items = nitems,
- .format = format
- };
+
+ reply.repType = X_Reply;
+ reply.RepType = X_XIGetProperty;
+ reply.sequenceNumber = client->sequence;
+ reply.length = bytes_to_int32(length);
+ reply.type = type;
+ reply.bytes_after = bytes_after;
+ reply.num_items = nitems;
+ reply.format = format;
if (length && stuff->delete && (reply.bytes_after == 0))
send_property_event(dev, stuff->property, XIPropertyDeleted);
diff --git a/xorg-server/Xi/xiquerydevice.c b/xorg-server/Xi/xiquerydevice.c
index 4e544f0f5..1d1090046 100644
--- a/xorg-server/Xi/xiquerydevice.c
+++ b/xorg-server/Xi/xiquerydevice.c
@@ -107,13 +107,12 @@ ProcXIQueryDevice(ClientPtr client)
return BadAlloc;
}
- rep = (xXIQueryDeviceReply) {
- .repType = X_Reply,
- .RepType = X_XIQueryDevice,
- .sequenceNumber = client->sequence,
- .length = len / 4,
- .num_devices = 0
- };
+ memset(&rep, 0, sizeof(xXIQueryDeviceReply));
+ rep.repType = X_Reply;
+ rep.RepType = X_XIQueryDevice;
+ rep.sequenceNumber = client->sequence;
+ rep.length = len / 4;
+ rep.num_devices = 0;
ptr = info;
if (dev) {
diff --git a/xorg-server/Xi/xiquerypointer.c b/xorg-server/Xi/xiquerypointer.c
index e9bdd428d..a87326181 100644
--- a/xorg-server/Xi/xiquerypointer.c
+++ b/xorg-server/Xi/xiquerypointer.c
@@ -122,16 +122,15 @@ ProcXIQueryPointer(ClientPtr client)
pSprite = pDev->spriteInfo->sprite;
- rep = (xXIQueryPointerReply) {
- .repType = X_Reply,
- .RepType = X_XIQueryPointer,
- .sequenceNumber = client->sequence,
- .length = 6,
- .root = (GetCurrentRootWindow(pDev))->drawable.id,
- .root_x = double_to_fp1616(pSprite->hot.x),
- .root_y = double_to_fp1616(pSprite->hot.y),
- .child = None
- };
+ memset(&rep, 0, sizeof(rep));
+ rep.repType = X_Reply;
+ rep.RepType = X_XIQueryPointer;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 6;
+ rep.root = (GetCurrentRootWindow(pDev))->drawable.id;
+ rep.root_x = double_to_fp1616(pSprite->hot.x);
+ rep.root_y = double_to_fp1616(pSprite->hot.y);
+ rep.child = None;
if (kbd) {
state = &kbd->key->xkbInfo->state;
diff --git a/xorg-server/Xi/xiqueryversion.c b/xorg-server/Xi/xiqueryversion.c
index c705f788f..cb23415a1 100644
--- a/xorg-server/Xi/xiqueryversion.c
+++ b/xorg-server/Xi/xiqueryversion.c
@@ -114,14 +114,13 @@ ProcXIQueryVersion(ClientPtr client)
pXIClient->minor_version = minor;
}
- rep = (xXIQueryVersionReply) {
- .repType = X_Reply,
- .RepType = X_XIQueryVersion,
- .sequenceNumber = client->sequence,
- .length = 0,
- .major_version = major,
- .minor_version = minor
- };
+ memset(&rep, 0, sizeof(xXIQueryVersionReply));
+ rep.repType = X_Reply;
+ rep.RepType = X_XIQueryVersion;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.major_version = major;
+ rep.minor_version = minor;
WriteReplyToClient(client, sizeof(xXIQueryVersionReply), &rep);
diff --git a/xorg-server/Xi/xiselectev.c b/xorg-server/Xi/xiselectev.c
index 45a996e4c..8592747f6 100644
--- a/xorg-server/Xi/xiselectev.c
+++ b/xorg-server/Xi/xiselectev.c
@@ -297,13 +297,12 @@ ProcXIGetSelectedEvents(ClientPtr client)
if (rc != Success)
return rc;
- reply = (xXIGetSelectedEventsReply) {
- .repType = X_Reply,
- .RepType = X_XIGetSelectedEvents,
- .sequenceNumber = client->sequence,
- .length = 0,
- .num_masks = 0
- };
+
+ reply.repType = X_Reply;
+ reply.RepType = X_XIGetSelectedEvents;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.num_masks = 0;
masks = wOtherInputMasks(win);
if (masks) {
diff --git a/xorg-server/Xi/xisetdevfocus.c b/xorg-server/Xi/xisetdevfocus.c
index 372ec248a..aec822c6b 100644
--- a/xorg-server/Xi/xisetdevfocus.c
+++ b/xorg-server/Xi/xisetdevfocus.c
@@ -97,12 +97,11 @@ ProcXIGetFocus(ClientPtr client)
if (!dev->focus)
return BadDevice;
- rep = (xXIGetFocusReply) {
- .repType = X_Reply,
- .RepType = X_XIGetFocus,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.repType = X_Reply;
+ rep.RepType = X_XIGetFocus;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
if (dev->focus->win == NoneWin)
rep.focus = None;
diff --git a/xorg-server/XtErrorDB b/xorg-server/XtErrorDB
new file mode 100644
index 000000000..312862419
--- /dev/null
+++ b/xorg-server/XtErrorDB
@@ -0,0 +1,236 @@
+#****************************************************************************
+#* *
+#* COPYRIGHT (c) 1988 BY *
+#* DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. *
+#* ALL RIGHTS RESERVED *
+#* *
+#* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED *
+#* ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE *
+#* INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER *
+#* COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY *
+#* OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY *
+#* TRANSFERRED. *
+#* *
+#* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE *
+#* AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT *
+#* CORPORATION. *
+#* *
+#* DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS *
+#* SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. *
+#* *
+#****************************************************************************
+#*++
+#* FACILITY:
+#*
+#* < to be supplied >
+#*
+#* ABSTRACT:
+#*
+#* < to be supplied >
+#*
+#* ENVIRONMENT:
+#*
+#* < to be supplied >
+#*
+#* MODIFICATION HISTORY:
+#*
+#* < to be supplied >
+#*
+#*--
+#
+# toolkit error and warning messages - used in XtGetErrorDatabaseText
+#
+# toolkit error messages:
+#
+# CALLING SEQUENCE:
+#
+# DWTERROR(key, message)
+# XtError (key, "dwtlibError", "DwtlibError", message, NULL, NULL)
+#
+# XtError(name,type,class,defaultp,params,num_params)
+# (*errorHandler)(name,type,class,defaultp,params,num_params);
+#
+# _XtDefaultError (name,type,class,defaultp,params,num_params)
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000);
+#
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes)
+# (void) sprintf(temp, "%s.%s", name, type);
+# (void) XrmGetResource(errorDB, temp, class, &type_str, &result);
+#
+attacheddbCircularDependency.dwtlibError: Circular dependency in Attached Dialog Box children
+ClipBoardBadDataType.dwtlibError: bad data type
+ClipBoardCorrupt.dwtlibError: internal error - corrupt data structure
+CvtStringToFontList.dwtlibError: String to FontList conversion needs character_set and screen
+fao_main.dwtlibError: DDIS CS functions have returned an undefined status
+HelpShellOneChild.dwtlibError: Helpshell widget only supports one child
+HiddenShellOneChild.dwtlibError: Hiddenshell widget only supports one child
+#
+# INTRINSIC ROUTINE ERROR MESSAGES
+#
+# CALLING SEQUENCE:
+#
+# XtError(name,type,class,defaultp,params,num_params)
+# (*errorHandler)(name,type,class,defaultp,params,num_params);
+#
+# _XtDefaultError (name,type,class,defaultp,params,num_params)
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000);
+#
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes)
+# (void) sprintf(temp, "%s.%s", name, type);
+# (void) XrmGetResource(errorDB, temp, class, &type_str, &result);
+#
+allocError.malloc: Cannot perform malloc
+allocError.realloc: Cannot perform realloc
+allocError.calloc: Cannot perform calloc
+wrongParameters.cvtIntOrPixelToXColor: Pixel to color conversion needs screen and colormap arguments
+wrongParameters.cvtStringToPixel: String to pixel conversion needs screen and colormap arguments
+wrongParameters.cvtStringToCursor: String to cursor conversion needs screen argument
+wrongParamters.cvtStringToFont: String to font conversion needs screen argument
+wrongParameters.cvtStringToFontStruct: String to cursor conversion needs screen argument
+invalidParent.xtCreateWidget: XtCreateWidget requires non-NULL parent
+invalidClass.xtCreateWidget: XtCreateWidget requires non-NULL widget class
+nullProc.insertChild: NULL insert_child procedure
+invalidParameter.removePopupFromParent: RemovePopupFromParent requires non-NULL popuplist
+invalidParent.xtCreatePopupShell: XtCreatePopupShell requires non-NULL parent
+invalidClass.xtCreatePopupShell: XtCreatePopupShell requires non-NULL widget class
+invalidClass.xtCreateApplicationShell: XtCreateApplicationShell requires non-NULL widget class
+invalidParent.xtMakeGeometryRequest: XtMakeGeometryRequest - NULL parent. Use SetValues instead
+invalidParent.xtMakeGeometryRequest: XtMakeGeometryRequest - parent not composite
+invalidGeometryManager.xtMakeGeometryRequest: XtMakeGeometryRequest - parent has no geometry manger
+invalidDisplay.xtInitialize: Can't Open display
+invalidProcedure.realizeProc: No realize class procedure defined
+invalidProcedure.inheritanceProc: Unresolved inheritance operation
+communicationError.select: Select failed
+invalidParameter.xtAddInput: invalid condition passed to XtAddInput
+communicationError.notSelect: Error in notSelect
+communicationError.notSelect: Error in notSelect
+invalidClass.xtPopup: XtPopup requires a subclass of shellWidgetClass
+invalidClass.xtPopdown: XtPopdown requires a subclass of shellWidgetClass
+invalidArgCount.xtGetValues: Argument count > 0 on NULL argument list in XtGetValues
+invalidClass.constraintSetValue: Subclass of Constraint required in CallConstraintSetValues
+invalidArgCount.xtSetValues: Argument count > 0 on NULL argument list in XtSetValues
+noSelectionProperties.freeSelectionProperty: internal error: no selection property context for display
+invalidWindow.eventHandler: Event with wrong window
+invalidParameter.numberChildren: The root and popup shells widget only support one child
+invalidParameter.numberChildren: The root and popup shells widget only support one child
+missingEvent.shell: Events are disappearing from under Shell
+internalError.shell: Shell's window manager interaction is broken
+translationError.mergingTablesWithCycles: Trying to merge translation tables with cycles, and can't resolve this cycle
+invalidParameters.xtmenuPopup: XtMenuPopup called with num_params != 2
+invalidParameters.xtMenuPopup: Bad first parameter to _XtMenuPopup
+invalidPopup.xtMenuPopup: Can't find popup in _XtMenuPopup
+invalidParameters.xtMenuPopupAction: MenuPopup wants exactly one argument
+allocError.malloc: Cannot perform malloc
+allocError.realloc: Cannot perform realloc
+allocError.calloc: Cannot perform calloc
+#
+#
+# toolkit warning messages:
+#
+# CALLING SEQUENCE:
+#
+# DWTWARNING(key, message)
+# XtWarning (key, "dwtlibWarning", "DwtlibWarning", message, NULL, NULL)
+#
+# XtWarning(name,type,class,defaultp,params,num_params)
+# (*warningHandler)(name,type,class,defaultp,params,num_params);
+#
+# _XtDefaultWarning (name,type,class,defaultp,params,num_params)
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000);
+#
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes)
+# (void) sprintf(temp, "%s.%s", name, type);
+# (void) XrmGetResource(errorDB, temp, class, &type_str, &result);
+#
+CSCharSetIdOutOfRange.dwtlibWarning: get_charset: Character set ID is out of range
+DialogPopupParent.dwtlibWarning: Parent of DwtModal/Modeless Dialog widget must be Shell
+STextCantFindPosition.dwtlibWarning: Can't find position in MovePreviousLine???
+MenuUnrealizedParent.dwtlibWarning: Can not create a popup menu with unrealized parent
+PulldownNoSubMenu.dwtlibWarning: Can not create a pulldown without a submenu.
+PulldownBadParent.dwtlibWarning: Pulldown widgets must have menuclass parents!
+PulldownBadParent.dwtlibWarning: Pulldown widgets must have menuclass parents!
+PushButton.dwtlibWarning: Accelerator translation table overflow
+ToggleButton.dwtlibWarning: Accelerator translation table overflow
+#
+# DRMSignalError.string: ", "DRMGeneralError",
+# msg, NULL, 0) ;
+#
+# intrinsic routines warning messages
+#
+# CALLING SEQUENCE:
+#
+# XtWarning(name,type,class,defaultp,params,num_params)
+# (*warningHandler)(name,type,class,defaultp,params,num_params);
+#
+# _XtDefaultWarning (name,type,class,defaultp,params,num_params)
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000);
+#
+# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes)
+# (void) sprintf(temp, "%s.%s", name, type);
+# (void) XrmGetResource(errorDB, temp, class, &type_str, &result);
+#
+invalidCallbackList.xtAddCallback: Cannot find callback list in XtAddCallbacks
+invalidCallbackList.xtAddCallback: Cannot find callback list in XtAddCallbacks
+invalidCallbackList.xtRemoveCallback: Cannot find callback list in XtRemoveCallbacks
+invalidCallbackList.xtRemoveCallback: Cannot find callback list in XtRemoveCallbacks
+invalidCallbackList.xtRemoveAllCallback: Cannot find callback list in XtRemoveAllCallbacks
+invalidCallbackList.xtCallCallback: Cannot find callback list in XtCallCallbacks
+invalidCallbackList.xtOverrideCallback: Cannot find callback list in XtOverrideCallbacks
+invalidResourceName.computeArgs: Cannot find resource name %s as argument to conversion
+typeConversionError.noConverter: No type converter registered for '%s' to '%s' conversion
+conversionError.string: Cannot convert string \"%s\" to type %s
+wrongParameters.cvtIntToBoolean: Integer to Boolean conversion needs no extra arguments
+wrongParamters.cvtStringToBoolean: String to Boolean conversion needs no extra arguments
+wrongParamters.cvtIntToLongBoolean: Integer to LongBoolean conversion needs no extra arguments
+wrongParameters.cvtStringToLongBoolean: String to LongBoolean conversion needs no extra arguments
+noColormap.cvtStringToPixel: Cannot allocate colormap entry for \"%s\"
+wrongParameters.cvtStringToDisplay: String to Display conversion needs no extra arguments
+wrongParameters.cvtStringToFile: String to File conversion needs no extra arguments
+wrongParameters.cvtIntToFont: Integer to Font conversion needs no extra arguments
+wrongParameters.cvtStringToInt: String to Integer conversion needs no extra arguments
+wrongParameters.cvtStringToShort: String to Integer conversion needs no extra arguments
+wrongParameters.cvtStringToUnsignedChar: String to Integer conversion needs no extra arguments
+wrongParameters.cvtXColorToPixel: Color to Pixel conversion needs no extra arguments
+wrongParameters.cvtIntToPixel: Integer to Pixel conversion needs no extra arguments
+wrongParameters.cvtIntToPixmap: Integer to Pixmap conversion needs no extra arguments
+invalidDepth.setValues: Can't change widget depth
+versionMismatch.widget: Widget class %s version mismatch:\n widget %d vs. intrinsics %d
+invalidWidget.removePopupFromParent: RemovePopupFromParent,widget not on parent list
+invalidProcedure.deleteChild: null delete_child procedure in XtDestroy
+registerWindowError.xtRegisterWindow: Attempt to change already registered window
+registerWindowError.xtUnregisterWindow: Attempt to unregister invalid window
+grabError.grabDestroyCallback: XtAddGrab requires exclusive grab if spring_loaded is TRUE
+grabError.xtRemoveGrab: XtRemoveGrab asked to remove a widget not on the grab list
+invalidShell.xtTranslateCoords: Widget has no shell ancestor
+invalidChild.xtUnmanageChildren: Null child passed to XtUnmanageChildren
+invalidChild.xtUnmanageChildren: Null child passed to XtUnmanageChildren
+ambigiousParent.xtUnmanageChildren: Not all children have same parent in XtUnmanageChildren
+invalidChild.xtManageChildren: null child passed to XtManageChildren
+invalidChild.xtManageChildren: null child passed to XtManageChildren
+ambigiousParent.xtManageChildren: Not all children have same parent in XtManageChildren
+unimplementedFunction.xtAddInput: XtAddInput is not implemented
+invalidProcedure.inputHandler: XtRemoveInput: Input handler not found
+unimplementedFunction.xtRemoveInput: XtRemoveInput is not implemented
+invalidParent.xtCopyFromParent: CopyFromParent must have non-NULL parent
+invalidArgCount.getResources: argument count > 0 on NULL argument list
+invalidResourceCount.getResources: resource count > 0 on NULL resource list
+invalidGeometry.xtMakeGeometryRequest: Shell subclass did not take care of geometry in XtSetValues
+invalidProcedure.set_values_almost: set_values_almost procedure shouldn't be NULL
+initializationError.xtInitialize: Initializing Resource Lists twice
+communicationError.windowManager: Window Manager is confused
+translationParseError.parseError: translation table syntax error: %s
+translationParseError.parseEvent: Events follow '+' repeat count
+translationParseError.parseEvent: Events follow '+' repeat count
+translationParseError.parseString: Missing \
+invalidParameters.compileAccelerators: String to TranslationTable needs no extra arguments
+invalidParameters.compileTranslations: String to TranslationTable needs no extra arguments
+translationError.xtTranslateInitialize: Intializing Translation manager twice
+#
+# ReportUnboundActions - warnings include state table - should split?
+#
+translationError.unboundActions: Actions not found
+translationError.ambigiousActions: Overriding earlier translation manager actions
+translationError.mergingNullTable: Old translation table was null, cannot modify
+invalidParameters.mergeTranslations: MergeTM to TranslationTable needs no extra arguments
+invalidPopup.unsupportedOperation: Pop-up menu creation is only supported on ButtonPress or EnterNotify events
+invalidPopup.unsupportedOperation: Pop-up menu creation is only supported on ButtonPress or EnterNotify events
diff --git a/xorg-server/composite/compalloc.c b/xorg-server/composite/compalloc.c
index dfbff06ca..9ed50becd 100644
--- a/xorg-server/composite/compalloc.c
+++ b/xorg-server/composite/compalloc.c
@@ -169,7 +169,7 @@ compRedirectWindow(ClientPtr pClient, WindowPtr pWin, int update)
* Now make sure there's a per-window structure to hang this from
*/
if (!cw) {
- cw = malloc(sizeof(CompWindowRec));
+ cw = calloc(1,sizeof(CompWindowRec));
if (!cw) {
free(ccw);
return BadAlloc;
diff --git a/xorg-server/composite/compext.c b/xorg-server/composite/compext.c
index cadedbd37..9896f5d41 100644
--- a/xorg-server/composite/compext.c
+++ b/xorg-server/composite/compext.c
@@ -108,15 +108,14 @@ static int
ProcCompositeQueryVersion(ClientPtr client)
{
CompositeClientPtr pCompositeClient = GetCompositeClient(client);
- xCompositeQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ xCompositeQueryVersionReply rep;
REQUEST(xCompositeQueryVersionReq);
REQUEST_SIZE_MATCH(xCompositeQueryVersionReq);
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
if (stuff->majorVersion < SERVER_COMPOSITE_MAJOR_VERSION) {
rep.majorVersion = stuff->majorVersion;
rep.minorVersion = stuff->minorVersion;
@@ -324,12 +323,10 @@ ProcCompositeGetOverlayWindow(ClientPtr client)
return rc;
}
- rep = (xCompositeGetOverlayWindowReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .overlayWin = cs->pOverlayWin->drawable.id
- };
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.overlayWin = cs->pOverlayWin->drawable.id;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -860,12 +857,10 @@ PanoramiXCompositeGetOverlayWindow(ClientPtr client)
cs = GetCompScreen(screenInfo.screens[0]);
- rep = (xCompositeGetOverlayWindowReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .overlayWin = cs->pOverlayWin->drawable.id
- };
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.overlayWin = cs->pOverlayWin->drawable.id;
if (client->swapped) {
swaps(&rep.sequenceNumber);
diff --git a/xorg-server/composite/compoverlay.c b/xorg-server/composite/compoverlay.c
index 7932dda8d..7781a554f 100644
--- a/xorg-server/composite/compoverlay.c
+++ b/xorg-server/composite/compoverlay.c
@@ -45,6 +45,10 @@
#include <dix-config.h>
#endif
+#ifdef CreateWindow
+#undef CreateWindow
+#endif
+
#include "compint.h"
#include "xace.h"
diff --git a/xorg-server/composite/makefile b/xorg-server/composite/makefile
new file mode 100644
index 000000000..1ab95ebba
--- /dev/null
+++ b/xorg-server/composite/makefile
@@ -0,0 +1,9 @@
+
+LIBRARY=libcomposite
+
+CSRCS = \
+ compalloc.c \
+ compext.c \
+ compinit.c \
+ compoverlay.c \
+ compwindow.c
diff --git a/xorg-server/config/config.c b/xorg-server/config/config.c
index 551451623..52fc80836 100644
--- a/xorg-server/config/config.c
+++ b/xorg-server/config/config.c
@@ -208,7 +208,7 @@ config_odev_get_attribute(struct OdevAttributes *attribs, int attrib_id)
if (oa->attrib_type != ODEV_ATTRIB_STRING) {
LogMessage(X_ERROR, "Error %s called for non string attrib %d\n",
- __func__, attrib_id);
+ __FUNCTION__, attrib_id);
return NULL;
}
return oa->attrib_name;
@@ -225,7 +225,7 @@ config_odev_get_int_attribute(struct OdevAttributes *attribs, int attrib_id, int
if (oa->attrib_type != ODEV_ATTRIB_INT) {
LogMessage(X_ERROR, "Error %s called for non integer attrib %d\n",
- __func__, attrib_id);
+ __FUNCTION__, attrib_id);
return def;
}
diff --git a/xorg-server/config/makefile b/xorg-server/config/makefile
new file mode 100644
index 000000000..937785271
--- /dev/null
+++ b/xorg-server/config/makefile
@@ -0,0 +1,4 @@
+CSRCS=config.c
+
+LIBRARY=libconfig
+
diff --git a/xorg-server/damageext/damageext.c b/xorg-server/damageext/damageext.c
index 886f56d9e..bc7840416 100644
--- a/xorg-server/damageext/damageext.c
+++ b/xorg-server/damageext/damageext.c
@@ -98,17 +98,17 @@ DamageExtNotify(DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes)
damageGetGeometry(pDrawable, &x, &y, &w, &h);
UpdateCurrentTimeIf();
- ev = (xDamageNotifyEvent) {
- .type = DamageEventBase + XDamageNotify,
- .level = pDamageExt->level,
- .drawable = pDamageExt->drawable,
- .damage = pDamageExt->id,
- .timestamp = currentTime.milliseconds,
- .geometry.x = x,
- .geometry.y = y,
- .geometry.width = w,
- .geometry.height = h
- };
+
+ ev.type = DamageEventBase + XDamageNotify;
+ ev.level = pDamageExt->level;
+ ev.drawable = pDamageExt->drawable;
+ ev.damage = pDamageExt->id;
+ ev.timestamp = currentTime.milliseconds;
+ ev.geometry.x = x;
+ ev.geometry.y = y;
+ ev.geometry.width = w;
+ ev.geometry.height = h;
+
if (pBoxes) {
for (i = 0; i < nBoxes; i++) {
ev.level = pDamageExt->level;
@@ -177,16 +177,14 @@ static int
ProcDamageQueryVersion(ClientPtr client)
{
DamageClientPtr pDamageClient = GetDamageClient(client);
- xDamageQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ xDamageQueryVersionReply rep;
REQUEST(xDamageQueryVersionReq);
REQUEST_SIZE_MATCH(xDamageQueryVersionReq);
-
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
if (stuff->majorVersion < SERVER_DAMAGE_MAJOR_VERSION) {
rep.majorVersion = stuff->majorVersion;
rep.minorVersion = stuff->minorVersion;
diff --git a/xorg-server/damageext/makefile b/xorg-server/damageext/makefile
new file mode 100644
index 000000000..c8481cd3c
--- /dev/null
+++ b/xorg-server/damageext/makefile
@@ -0,0 +1,4 @@
+CSRCS=damageext.c
+
+LIBRARY=libdamageext
+
diff --git a/xorg-server/dbe/dbe.c b/xorg-server/dbe/dbe.c
index 8896720e7..d64fb4069 100644
--- a/xorg-server/dbe/dbe.c
+++ b/xorg-server/dbe/dbe.c
@@ -116,16 +116,16 @@ static int
ProcDbeGetVersion(ClientPtr client)
{
/* REQUEST(xDbeGetVersionReq); */
- xDbeGetVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = DBE_MAJOR_VERSION,
- .minorVersion = DBE_MINOR_VERSION
- };
+ xDbeGetVersionReply rep;
REQUEST_SIZE_MATCH(xDbeGetVersionReq);
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+ rep.majorVersion = DBE_MAJOR_VERSION;
+ rep.minorVersion = DBE_MINOR_VERSION;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
}
@@ -626,12 +626,10 @@ ProcDbeGetVisualInfo(ClientPtr client)
length += pScrVisInfo[i].count * sizeof(xDbeVisInfo);
}
- rep = (xDbeGetVisualInfoReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(length),
- .m = count
- };
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(length);
+ rep.m = count;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -716,11 +714,7 @@ static int
ProcDbeGetBackBufferAttributes(ClientPtr client)
{
REQUEST(xDbeGetBackBufferAttributesReq);
- xDbeGetBackBufferAttributesReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ xDbeGetBackBufferAttributesReply rep;
DbeWindowPrivPtr pDbeWindowPriv;
int rc;
@@ -736,6 +730,10 @@ ProcDbeGetBackBufferAttributes(ClientPtr client)
rep.attributes = None;
}
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
diff --git a/xorg-server/dbe/makefile b/xorg-server/dbe/makefile
new file mode 100644
index 000000000..70fb81430
--- /dev/null
+++ b/xorg-server/dbe/makefile
@@ -0,0 +1,4 @@
+CSRCS=dbe.c midbe.c
+
+LIBRARY=libdbe
+
diff --git a/xorg-server/dix/Xserver-dtrace.h b/xorg-server/dix/Xserver-dtrace.h
new file mode 100644
index 000000000..52daf677e
--- /dev/null
+++ b/xorg-server/dix/Xserver-dtrace.h
@@ -0,0 +1,72 @@
+/* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * 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.
+ */
+
+/*
+ * Generated by dtrace(1M), and then modified for backwards compatibility
+ * with older versions of dtrace. Used if dtrace -h fails.
+ * (Since _ENABLED support was added after dtrace -h, this assumes if
+ * dtrace -h fails, _ENABLED will too.)
+ */
+
+#ifndef _XSERVER_DTRACE_H
+#define _XSERVER_DTRACE_H
+
+#include <unistd.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define XSERVER_CLIENT_AUTH(arg0, arg1, arg2, arg3) \
+ winDebug4("XSERVER_CLIENT_AUTH: %d %s %d %d\n",arg0, arg1, arg2, arg3)
+#define XSERVER_CLIENT_CONNECT(arg0, arg1) \
+ winDebug4("XSERVER_CLIENT_CONNECT: %d %d\n",arg0, arg1)
+#define XSERVER_CLIENT_DISCONNECT(arg0) \
+ winDebug4("XSERVER_CLIENT_DISCONNECT: %d %d\n",arg0)
+#define XSERVER_REQUEST_DONE(arg0, arg1, arg2, arg3, arg4) \
+ winDebug4("XSERVER_REQUEST_DONE: %s %d %d %d %d\n",arg0, arg1, arg2, arg3, arg4)
+#define XSERVER_REQUEST_START(arg0, arg1, arg2, arg3, arg4) \
+ winDebug4("XSERVER_REQUEST_START: %s %d %d %d ->%p\n",arg0, arg1, arg2, arg3, arg4)
+#define XSERVER_RESOURCE_ALLOC(arg0, arg1, arg2, arg3) \
+ winDebug4("XSERVER_RESOURCE_ALLOC: 0x%x 0x%x ->%p %s\n",arg0, arg1, arg2, arg3)
+#define XSERVER_RESOURCE_FREE(arg0, arg1, arg2, arg3) \
+ winDebug4("XSERVER_RESOURCE_FREE: 0x%x 0x%x ->%p %s\n",arg0, arg1, arg2, arg3)
+#define XSERVER_SEND_EVENT(arg0, arg1, arg2) \
+ winDebug4("XSERVER_SEND_EVENT: 0x%x 0x%x ->%p\n",arg0, arg1, arg2)
+#define XSERVER_INPUT_EVENT(arg0, arg1, arg2, arg3, arg4, arg5, arg6) \
+ winDebug4("XSERVER_SEND_EVENT: %x %x %x %x %x %x %x\n", arg0, arg1, arg2, arg3, arg4, arg5, arg6)
+
+#define XSERVER_CLIENT_AUTH_ENABLED() (1)
+#define XSERVER_CLIENT_CONNECT_ENABLED() (1)
+#define XSERVER_CLIENT_DISCONNECT_ENABLED() (1)
+#define XSERVER_REQUEST_DONE_ENABLED() (1)
+#define XSERVER_REQUEST_START_ENABLED() (1)
+#define XSERVER_RESOURCE_ALLOC_ENABLED() (1)
+#define XSERVER_RESOURCE_FREE_ENABLED() (1)
+#define XSERVER_SEND_EVENT_ENABLED() (1)
+#define XSERVER_INPUT_EVENT_ENABLED() (1)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _XSERVER_DTRACE_H */
diff --git a/xorg-server/dix/colormap.c b/xorg-server/dix/colormap.c
index c1ff88e1a..4107df98d 100644
--- a/xorg-server/dix/colormap.c
+++ b/xorg-server/dix/colormap.c
@@ -64,6 +64,10 @@ SOFTWARE.
#include "privates.h"
#include "xace.h"
+#ifdef _MSC_VER
+#define UpdateColors thisUpdateColors
+#endif
+
static Pixel FindBestPixel(EntryPtr /*pentFirst */ ,
int /*size */ ,
xrgb * /*prgb */ ,
@@ -452,12 +456,12 @@ TellNoMap(WindowPtr pwin, Colormap * pmid)
{
if (wColormap(pwin) == *pmid) {
/* This should be call to DeliverEvent */
- xEvent xE = {
- .u.colormap.window = pwin->drawable.id,
- .u.colormap.colormap = None,
- .u.colormap.new = TRUE,
- .u.colormap.state = ColormapUninstalled
- };
+ xEvent xE;
+ xE.u.colormap.window = pwin->drawable.id;
+ xE.u.colormap.colormap = None;
+ xE.u.colormap.new = TRUE;
+ xE.u.colormap.state = ColormapUninstalled;
+
xE.u.u.type = ColormapNotify;
#ifdef PANORAMIX
if (noPanoramiXExtension || !pwin->drawable.pScreen->myNum)
@@ -484,12 +488,12 @@ TellLostMap(WindowPtr pwin, void *value)
#endif
if (wColormap(pwin) == *pmid) {
/* This should be call to DeliverEvent */
- xEvent xE = {
- .u.colormap.window = pwin->drawable.id,
- .u.colormap.colormap = *pmid,
- .u.colormap.new = FALSE,
- .u.colormap.state = ColormapUninstalled
- };
+ xEvent xE;
+ xE.u.colormap.window = pwin->drawable.id;
+ xE.u.colormap.colormap = *pmid;
+ xE.u.colormap.new = FALSE;
+ xE.u.colormap.state = ColormapUninstalled;
+
xE.u.u.type = ColormapNotify;
DeliverEvents(pwin, &xE, 1, (WindowPtr) NULL);
}
@@ -509,12 +513,12 @@ TellGainedMap(WindowPtr pwin, void *value)
#endif
if (wColormap(pwin) == *pmid) {
/* This should be call to DeliverEvent */
- xEvent xE = {
- .u.colormap.window = pwin->drawable.id,
- .u.colormap.colormap = *pmid,
- .u.colormap.new = FALSE,
- .u.colormap.state = ColormapInstalled
- };
+ xEvent xE;
+ xE.u.colormap.window = pwin->drawable.id;
+ xE.u.colormap.colormap = *pmid;
+ xE.u.colormap.new = FALSE;
+ xE.u.colormap.state = ColormapInstalled;
+
xE.u.u.type = ColormapNotify;
DeliverEvents(pwin, &xE, 1, (WindowPtr) NULL);
}
diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c
index 7f079ffa1..468b5a199 100644
--- a/xorg-server/dix/devices.c
+++ b/xorg-server/dix/devices.c
@@ -332,14 +332,15 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart)
void
SendDevicePresenceEvent(int deviceid, int type)
{
- DeviceIntRec dummyDev = { .id = XIAllDevices };
- devicePresenceNotify ev = {
- .type = DevicePresenceNotify,
- .time = currentTime.milliseconds,
- .devchange = type,
- .deviceid = deviceid
- };
-
+ DeviceIntRec dummyDev;
+ devicePresenceNotify ev;
+
+ memset(&dummyDev, 0, sizeof(DeviceIntRec));
+ ev.type = DevicePresenceNotify;
+ ev.time = currentTime.milliseconds;
+ ev.devchange = type;
+ ev.deviceid = deviceid;
+ dummyDev.id = XIAllDevices;
SendEventToAllWindows(&dummyDev, DevicePresenceNotifyMask,
(xEvent *) &ev, 1);
}
@@ -1038,6 +1039,10 @@ CloseDownDevices(void)
for (dev = inputInfo.devices; dev; dev = dev->next) {
if (!IsMaster(dev) && !IsFloating(dev))
dev->master = NULL;
+ /* Initialise the sprite and paired members of all devices
+ to avoid crashes in CloseDevice later */
+ dev->spriteInfo->sprite=NULL;
+ dev->spriteInfo->paired=NULL;
}
CloseDeviceList(&inputInfo.devices);
@@ -1726,11 +1731,10 @@ ProcSetModifierMapping(ClientPtr client)
bytes_to_int32(sizeof(xSetModifierMappingReq))))
return BadLength;
- rep = (xSetModifierMappingReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
rc = change_modmap(client, PickKeyboard(client), (KeyCode *) &stuff[1],
stuff->numKeyPerModifier);
@@ -1758,13 +1762,12 @@ ProcGetModifierMapping(ClientPtr client)
generate_modkeymap(client, PickKeyboard(client), &modkeymap,
&max_keys_per_mod);
- rep = (xGetModifierMappingReply) {
- .type = X_Reply,
- .numKeyPerModifier = max_keys_per_mod,
- .sequenceNumber = client->sequence,
+ memset(&rep, 0, sizeof(xGetModifierMappingReply));
+ rep.type = X_Reply;
+ rep.numKeyPerModifier = max_keys_per_mod;
+ rep.sequenceNumber = client->sequence;
/* length counts 4 byte quantities - there are 8 modifiers 1 byte big */
- .length = max_keys_per_mod << 1
- };
+ rep.length = max_keys_per_mod << 1;
WriteReplyToClient(client, sizeof(xGetModifierMappingReply), &rep);
WriteToClient(client, max_keys_per_mod * 8, modkeymap);
@@ -1849,12 +1852,12 @@ ProcSetPointerMapping(ClientPtr client)
bytes_to_int32(sizeof(xSetPointerMappingReq) + stuff->nElts))
return BadLength;
- rep = (xSetPointerMappingReply) {
- .type = X_Reply,
- .success = MappingSuccess,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.type = X_Reply;
+ rep.success = MappingSuccess;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+
map = (BYTE *) &stuff[1];
/* So we're bounded here by the number of core buttons. This check
@@ -1923,13 +1926,13 @@ ProcGetKeyboardMapping(ClientPtr client)
if (!syms)
return BadAlloc;
- rep = (xGetKeyboardMappingReply) {
- .type = X_Reply,
- .keySymsPerKeyCode = syms->mapWidth,
- .sequenceNumber = client->sequence,
- /* length is a count of 4 byte quantities and KeySyms are 4 bytes */
- .length = syms->mapWidth * stuff->count
- };
+ memset(&rep, 0, sizeof(xGetKeyboardMappingReply));
+ rep.type = X_Reply;
+ rep.keySymsPerKeyCode = syms->mapWidth;
+ rep.sequenceNumber = client->sequence;
+ /* length is a count of 4 byte quantities and KeySyms are 4 bytes */
+ rep.length = syms->mapWidth * stuff->count;
+
WriteReplyToClient(client, sizeof(xGetKeyboardMappingReply), &rep);
client->pSwapReplyFunc = (ReplySwapPtr) CopySwap32Write;
WriteSwappedDataToClient(client,
@@ -1961,12 +1964,12 @@ ProcGetPointerMapping(ClientPtr client)
return rc;
nElts = (butc) ? butc->numButtons : 0;
- rep = (xGetPointerMappingReply) {
- .type = X_Reply,
- .nElts = nElts,
- .sequenceNumber = client->sequence,
- .length = ((unsigned) nElts + (4 - 1)) / 4
- };
+
+ rep.type = X_Reply;
+ rep.nElts = nElts;
+ rep.sequenceNumber = client->sequence;
+ rep.length = ((unsigned) nElts + (4 - 1)) / 4;
+
WriteReplyToClient(client, sizeof(xGetPointerMappingReply), &rep);
if (butc)
WriteToClient(client, nElts, &butc->map[1]);
@@ -2013,7 +2016,7 @@ DoChangeKeyboardControl(ClientPtr client, DeviceIntPtr keybd, XID *vlist,
vmask &= ~index2;
switch (index2) {
case KBKeyClickPercent:
- t = (INT8) *vlist;
+ t = *vlist;
vlist++;
if (t == -1) {
t = defaultKeyboardControl.click;
@@ -2215,17 +2218,17 @@ ProcGetKeyboardControl(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xGetKeyboardControlReply) {
- .type = X_Reply,
- .globalAutoRepeat = ctrl->autoRepeat,
- .sequenceNumber = client->sequence,
- .length = 5,
- .ledMask = ctrl->leds,
- .keyClickPercent = ctrl->click,
- .bellPercent = ctrl->bell,
- .bellPitch = ctrl->bell_pitch,
- .bellDuration = ctrl->bell_duration
- };
+
+ rep.type = X_Reply;
+ rep.globalAutoRepeat = ctrl->autoRepeat;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 5;
+ rep.ledMask = ctrl->leds;
+ rep.keyClickPercent = ctrl->click;
+ rep.bellPercent = ctrl->bell;
+ rep.bellPitch = ctrl->bell_pitch;
+ rep.bellDuration = ctrl->bell_duration;
+
for (i = 0; i < 32; i++)
rep.map[i] = ctrl->autoRepeats[i];
WriteReplyToClient(client, sizeof(xGetKeyboardControlReply), &rep);
@@ -2360,14 +2363,14 @@ ProcGetPointerControl(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xGetPointerControlReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .accelNumerator = ctrl->num,
- .accelDenominator = ctrl->den,
- .threshold = ctrl->threshold
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.accelNumerator = ctrl->num;
+ rep.accelDenominator = ctrl->den;
+ rep.threshold = ctrl->threshold;
+
WriteReplyToClient(client, sizeof(xGenericReply), &rep);
return Success;
}
@@ -2411,10 +2414,10 @@ ProcGetMotionEvents(ClientPtr client)
if (mouse->valuator->motionHintWindow)
MaybeStopHint(mouse, client);
- rep = (xGetMotionEventsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+
nEvents = 0;
start = ClientTimeToServerTime(stuff->start);
stop = ClientTimeToServerTime(stuff->stop);
@@ -2462,11 +2465,10 @@ ProcQueryKeymap(ClientPtr client)
CARD8 *down = keybd->key->down;
REQUEST_SIZE_MATCH(xReq);
- rep = (xQueryKeymapReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 2
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 2;
rc = XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess);
/* If rc is Success, we're allowed to copy out the keymap.
@@ -2512,14 +2514,13 @@ RecalculateMasterButtons(DeviceIntPtr slave)
if (master->button && master->button->numButtons != maxbuttons) {
int i;
- DeviceChangedEvent event = {
- .header = ET_Internal,
- .type = ET_DeviceChanged,
- .time = GetTimeInMillis(),
- .deviceid = master->id,
- .flags = DEVCHANGE_POINTER_EVENT | DEVCHANGE_DEVICE_CHANGE,
- .buttons.num_buttons = maxbuttons
- };
+ DeviceChangedEvent event; memset(&event, 0, sizeof(event));
+ event.header = ET_Internal;
+ event.type = ET_DeviceChanged;
+ event.time = GetTimeInMillis();
+ event.deviceid = master->id;
+ event.flags = DEVCHANGE_POINTER_EVENT | DEVCHANGE_DEVICE_CHANGE;
+ event.buttons.num_buttons = maxbuttons;
master->button->numButtons = maxbuttons;
diff --git a/xorg-server/dix/dispatch.c b/xorg-server/dix/dispatch.c
index 4f830f7f4..28a54de76 100644
--- a/xorg-server/dix/dispatch.c
+++ b/xorg-server/dix/dispatch.c
@@ -1,3954 +1,3996 @@
-/************************************************************
-
-Copyright 1987, 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-Copyright 1987, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-********************************************************/
-
-/* The panoramix components contained the following notice */
-/*****************************************************************
-
-Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
-BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
-IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of Digital Equipment Corporation
-shall not be used in advertising or otherwise to promote the sale, use or other
-dealings in this Software without prior written authorization from Digital
-Equipment Corporation.
-
-******************************************************************/
-
-/* XSERVER_DTRACE additions:
- * Copyright (c) 2005-2006, Oracle and/or its affiliates. All rights reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifdef HAVE_DIX_CONFIG_H
-#include <dix-config.h>
-#include <version-config.h>
-#endif
-
-#ifdef PANORAMIX_DEBUG
-#include <stdio.h>
-int ProcInitialConnection();
-#endif
-
-#include "windowstr.h"
-#include <X11/fonts/fontstruct.h>
-#include "dixfontstr.h"
-#include "gcstruct.h"
-#include "selection.h"
-#include "colormapst.h"
-#include "cursorstr.h"
-#include "scrnintstr.h"
-#include "opaque.h"
-#include "input.h"
-#include "servermd.h"
-#include "extnsionst.h"
-#include "dixfont.h"
-#include "dispatch.h"
-#include "swaprep.h"
-#include "swapreq.h"
-#include "privates.h"
-#include "xace.h"
-#include "inputstr.h"
-#include "xkbsrv.h"
-#include "site.h"
-#include "client.h"
-
-#ifdef XSERVER_DTRACE
-#include "registry.h"
-#include <sys/types.h>
-typedef const char *string;
-
-#include "Xserver-dtrace.h"
-#endif
-
-#define mskcnt ((MAXCLIENTS + 31) / 32)
-#define BITMASK(i) (1U << ((i) & 31))
-#define MASKIDX(i) ((i) >> 5)
-#define MASKWORD(buf, i) buf[MASKIDX(i)]
-#define BITSET(buf, i) MASKWORD(buf, i) |= BITMASK(i)
-#define BITCLEAR(buf, i) MASKWORD(buf, i) &= ~BITMASK(i)
-#define GETBIT(buf, i) (MASKWORD(buf, i) & BITMASK(i))
-
-xConnSetupPrefix connSetupPrefix;
-
-PaddingInfo PixmapWidthPaddingInfo[33];
-
-static ClientPtr grabClient;
-
-#define GrabNone 0
-#define GrabActive 1
-#define GrabKickout 2
-static int grabState = GrabNone;
-static long grabWaiters[mskcnt];
-CallbackListPtr ServerGrabCallback = NULL;
-HWEventQueuePtr checkForInput[2];
-int connBlockScreenStart;
-
-static void KillAllClients(void);
-
-static int nextFreeClientID; /* always MIN free client ID */
-
-static int nClients; /* number of authorized clients */
-
-CallbackListPtr ClientStateCallback;
-
-/* dispatchException & isItTimeToYield must be declared volatile since they
- * are modified by signal handlers - otherwise optimizer may assume it doesn't
- * need to actually check value in memory when used and may miss changes from
- * signal handlers.
- */
-volatile char dispatchException = 0;
-volatile char isItTimeToYield;
-
-#define SAME_SCREENS(a, b) (\
- (a.pScreen == b.pScreen))
-
-void
-SetInputCheck(HWEventQueuePtr c0, HWEventQueuePtr c1)
-{
- checkForInput[0] = c0;
- checkForInput[1] = c1;
-}
-
-void
-UpdateCurrentTime(void)
-{
- TimeStamp systime;
-
- /* To avoid time running backwards, we must call GetTimeInMillis before
- * calling ProcessInputEvents.
- */
- systime.months = currentTime.months;
- systime.milliseconds = GetTimeInMillis();
- if (systime.milliseconds < currentTime.milliseconds)
- systime.months++;
- if (*checkForInput[0] != *checkForInput[1])
- ProcessInputEvents();
- if (CompareTimeStamps(systime, currentTime) == LATER)
- currentTime = systime;
-}
-
-/* Like UpdateCurrentTime, but can't call ProcessInputEvents */
-void
-UpdateCurrentTimeIf(void)
-{
- TimeStamp systime;
-
- systime.months = currentTime.months;
- systime.milliseconds = GetTimeInMillis();
- if (systime.milliseconds < currentTime.milliseconds)
- systime.months++;
- if (CompareTimeStamps(systime, currentTime) == LATER)
- currentTime = systime;
-}
-
-#undef SMART_DEBUG
-
-/* in milliseconds */
-#define SMART_SCHEDULE_DEFAULT_INTERVAL 5
-#define SMART_SCHEDULE_MAX_SLICE 15
-
-#if defined(WIN32) && !defined(__CYGWIN__)
-Bool SmartScheduleDisable = TRUE;
-#else
-Bool SmartScheduleDisable = FALSE;
-#endif
-long SmartScheduleSlice = SMART_SCHEDULE_DEFAULT_INTERVAL;
-long SmartScheduleInterval = SMART_SCHEDULE_DEFAULT_INTERVAL;
-long SmartScheduleMaxSlice = SMART_SCHEDULE_MAX_SLICE;
-long SmartScheduleTime;
-int SmartScheduleLatencyLimited = 0;
-static ClientPtr SmartLastClient;
-static int SmartLastIndex[SMART_MAX_PRIORITY - SMART_MIN_PRIORITY + 1];
-
-#ifdef SMART_DEBUG
-long SmartLastPrint;
-#endif
-
-void Dispatch(void);
-
-static int
-SmartScheduleClient(int *clientReady, int nready)
-{
- ClientPtr pClient;
- int i;
- int client;
- int bestPrio, best = 0;
- int bestRobin, robin;
- long now = SmartScheduleTime;
- long idle;
-
- bestPrio = -0x7fffffff;
- bestRobin = 0;
- idle = 2 * SmartScheduleSlice;
- for (i = 0; i < nready; i++) {
- client = clientReady[i];
- pClient = clients[client];
- /* Praise clients which haven't run in a while */
- if ((now - pClient->smart_stop_tick) >= idle) {
- if (pClient->smart_priority < 0)
- pClient->smart_priority++;
- }
-
- /* check priority to select best client */
- robin =
- (pClient->index -
- SmartLastIndex[pClient->smart_priority -
- SMART_MIN_PRIORITY]) & 0xff;
- if (pClient->smart_priority > bestPrio ||
- (pClient->smart_priority == bestPrio && robin > bestRobin)) {
- bestPrio = pClient->smart_priority;
- bestRobin = robin;
- best = client;
- }
-#ifdef SMART_DEBUG
- if ((now - SmartLastPrint) >= 5000)
- fprintf(stderr, " %2d: %3d", client, pClient->smart_priority);
-#endif
- }
-#ifdef SMART_DEBUG
- if ((now - SmartLastPrint) >= 5000) {
- fprintf(stderr, " use %2d\n", best);
- SmartLastPrint = now;
- }
-#endif
- pClient = clients[best];
- SmartLastIndex[bestPrio - SMART_MIN_PRIORITY] = pClient->index;
- /*
- * Set current client pointer
- */
- if (SmartLastClient != pClient) {
- pClient->smart_start_tick = now;
- SmartLastClient = pClient;
- }
- /*
- * Adjust slice
- */
- if (nready == 1 && SmartScheduleLatencyLimited == 0) {
- /*
- * If it's been a long time since another client
- * has run, bump the slice up to get maximal
- * performance from a single client
- */
- if ((now - pClient->smart_start_tick) > 1000 &&
- SmartScheduleSlice < SmartScheduleMaxSlice) {
- SmartScheduleSlice += SmartScheduleInterval;
- }
- }
- else {
- SmartScheduleSlice = SmartScheduleInterval;
- }
- return best;
-}
-
-void
-EnableLimitedSchedulingLatency(void)
-{
- ++SmartScheduleLatencyLimited;
- SmartScheduleSlice = SmartScheduleInterval;
-}
-
-void
-DisableLimitedSchedulingLatency(void)
-{
- --SmartScheduleLatencyLimited;
-
- /* protect against bugs */
- if (SmartScheduleLatencyLimited < 0)
- SmartScheduleLatencyLimited = 0;
-}
-
-void
-Dispatch(void)
-{
- int *clientReady; /* array of request ready clients */
- int result;
- ClientPtr client;
- int nready;
- HWEventQueuePtr *icheck = checkForInput;
- long start_tick;
-
- nextFreeClientID = 1;
- nClients = 0;
-
- clientReady = malloc(sizeof(int) * MaxClients);
- if (!clientReady)
- return;
-
- SmartScheduleSlice = SmartScheduleInterval;
- while (!dispatchException) {
- if (*icheck[0] != *icheck[1]) {
- ProcessInputEvents();
- FlushIfCriticalOutputPending();
- }
-
- nready = WaitForSomething(clientReady);
-
- if (nready && !SmartScheduleDisable) {
- clientReady[0] = SmartScheduleClient(clientReady, nready);
- nready = 1;
- }
- /*****************
- * Handle events in round robin fashion, doing input between
- * each round
- *****************/
-
- while (!dispatchException && (--nready >= 0)) {
- client = clients[clientReady[nready]];
- if (!client) {
- /* KillClient can cause this to happen */
- continue;
- }
- /* GrabServer activation can cause this to be true */
- if (grabState == GrabKickout) {
- grabState = GrabActive;
- break;
- }
- isItTimeToYield = FALSE;
-
- start_tick = SmartScheduleTime;
- while (!isItTimeToYield) {
- if (*icheck[0] != *icheck[1])
- ProcessInputEvents();
-
- FlushIfCriticalOutputPending();
- if (!SmartScheduleDisable &&
- (SmartScheduleTime - start_tick) >= SmartScheduleSlice) {
- /* Penalize clients which consume ticks */
- if (client->smart_priority > SMART_MIN_PRIORITY)
- client->smart_priority--;
- break;
- }
- /* now, finally, deal with client requests */
-
- /* Update currentTime so request time checks, such as for input
- * device grabs, are calculated correctly */
- UpdateCurrentTimeIf();
- result = ReadRequestFromClient(client);
- if (result <= 0) {
- if (result < 0)
- CloseDownClient(client);
- break;
- }
-
- client->sequence++;
- client->majorOp = ((xReq *) client->requestBuffer)->reqType;
- client->minorOp = 0;
- if (client->majorOp >= EXTENSION_BASE) {
- ExtensionEntry *ext = GetExtensionEntry(client->majorOp);
-
- if (ext)
- client->minorOp = ext->MinorOpcode(client);
- }
-#ifdef XSERVER_DTRACE
- if (XSERVER_REQUEST_START_ENABLED())
- XSERVER_REQUEST_START(LookupMajorName(client->majorOp),
- client->majorOp,
- ((xReq *) client->requestBuffer)->length,
- client->index,
- client->requestBuffer);
-#endif
- if (result > (maxBigRequestSize << 2))
- result = BadLength;
- else {
- result = XaceHookDispatch(client, client->majorOp);
- if (result == Success)
- result =
- (*client->requestVector[client->majorOp]) (client);
- XaceHookAuditEnd(client, result);
- }
-#ifdef XSERVER_DTRACE
- if (XSERVER_REQUEST_DONE_ENABLED())
- XSERVER_REQUEST_DONE(LookupMajorName(client->majorOp),
- client->majorOp, client->sequence,
- client->index, result);
-#endif
-
- if (client->noClientException != Success) {
- CloseDownClient(client);
- break;
- }
- else if (result != Success) {
- SendErrorToClient(client, client->majorOp,
- client->minorOp,
- client->errorValue, result);
- break;
- }
- }
- FlushAllOutput();
- client = clients[clientReady[nready]];
- if (client)
- client->smart_stop_tick = SmartScheduleTime;
- }
- dispatchException &= ~DE_PRIORITYCHANGE;
- }
-#if defined(DDXBEFORERESET)
- ddxBeforeReset();
-#endif
- KillAllClients();
- free(clientReady);
- dispatchException &= ~DE_RESET;
- SmartScheduleLatencyLimited = 0;
- ResetOsBuffers();
-}
-
-static int VendorRelease = VENDOR_RELEASE;
-static const char *VendorString = VENDOR_NAME;
-
-void
-SetVendorRelease(int release)
-{
- VendorRelease = release;
-}
-
-void
-SetVendorString(const char *vendor)
-{
- VendorString = vendor;
-}
-
-Bool
-CreateConnectionBlock(void)
-{
- xConnSetup setup;
- xWindowRoot root;
- xDepth depth;
- xVisualType visual;
- xPixmapFormat format;
- unsigned long vid;
- int i, j, k, lenofblock, sizesofar = 0;
- char *pBuf;
-
- memset(&setup, 0, sizeof(xConnSetup));
- /* Leave off the ridBase and ridMask, these must be sent with
- connection */
-
- setup.release = VendorRelease;
- /*
- * per-server image and bitmap parameters are defined in Xmd.h
- */
- setup.imageByteOrder = screenInfo.imageByteOrder;
-
- setup.bitmapScanlineUnit = screenInfo.bitmapScanlineUnit;
- setup.bitmapScanlinePad = screenInfo.bitmapScanlinePad;
-
- setup.bitmapBitOrder = screenInfo.bitmapBitOrder;
- setup.motionBufferSize = NumMotionEvents();
- setup.numRoots = screenInfo.numScreens;
- setup.nbytesVendor = strlen(VendorString);
- setup.numFormats = screenInfo.numPixmapFormats;
- setup.maxRequestSize = MAX_REQUEST_SIZE;
- QueryMinMaxKeyCodes(&setup.minKeyCode, &setup.maxKeyCode);
-
- lenofblock = sizeof(xConnSetup) +
- pad_to_int32(setup.nbytesVendor) +
- (setup.numFormats * sizeof(xPixmapFormat)) +
- (setup.numRoots * sizeof(xWindowRoot));
- ConnectionInfo = malloc(lenofblock);
- if (!ConnectionInfo)
- return FALSE;
-
- memmove(ConnectionInfo, (char *) &setup, sizeof(xConnSetup));
- sizesofar = sizeof(xConnSetup);
- pBuf = ConnectionInfo + sizeof(xConnSetup);
-
- memmove(pBuf, VendorString, (int) setup.nbytesVendor);
- sizesofar += setup.nbytesVendor;
- pBuf += setup.nbytesVendor;
- i = padding_for_int32(setup.nbytesVendor);
- sizesofar += i;
- while (--i >= 0)
- *pBuf++ = 0;
-
- memset(&format, 0, sizeof(xPixmapFormat));
- for (i = 0; i < screenInfo.numPixmapFormats; i++) {
- format.depth = screenInfo.formats[i].depth;
- format.bitsPerPixel = screenInfo.formats[i].bitsPerPixel;
- format.scanLinePad = screenInfo.formats[i].scanlinePad;
- memmove(pBuf, (char *) &format, sizeof(xPixmapFormat));
- pBuf += sizeof(xPixmapFormat);
- sizesofar += sizeof(xPixmapFormat);
- }
-
- connBlockScreenStart = sizesofar;
- memset(&depth, 0, sizeof(xDepth));
- memset(&visual, 0, sizeof(xVisualType));
- for (i = 0; i < screenInfo.numScreens; i++) {
- ScreenPtr pScreen;
- DepthPtr pDepth;
- VisualPtr pVisual;
-
- pScreen = screenInfo.screens[i];
- root.windowId = pScreen->root->drawable.id;
- root.defaultColormap = pScreen->defColormap;
- root.whitePixel = pScreen->whitePixel;
- root.blackPixel = pScreen->blackPixel;
- root.currentInputMask = 0; /* filled in when sent */
- root.pixWidth = pScreen->width;
- root.pixHeight = pScreen->height;
- root.mmWidth = pScreen->mmWidth;
- root.mmHeight = pScreen->mmHeight;
- root.minInstalledMaps = pScreen->minInstalledCmaps;
- root.maxInstalledMaps = pScreen->maxInstalledCmaps;
- root.rootVisualID = pScreen->rootVisual;
- root.backingStore = pScreen->backingStoreSupport;
- root.saveUnders = FALSE;
- root.rootDepth = pScreen->rootDepth;
- root.nDepths = pScreen->numDepths;
- memmove(pBuf, (char *) &root, sizeof(xWindowRoot));
- sizesofar += sizeof(xWindowRoot);
- pBuf += sizeof(xWindowRoot);
-
- pDepth = pScreen->allowedDepths;
- for (j = 0; j < pScreen->numDepths; j++, pDepth++) {
- lenofblock += sizeof(xDepth) +
- (pDepth->numVids * sizeof(xVisualType));
- pBuf = (char *) realloc(ConnectionInfo, lenofblock);
- if (!pBuf) {
- free(ConnectionInfo);
- return FALSE;
- }
- ConnectionInfo = pBuf;
- pBuf += sizesofar;
- depth.depth = pDepth->depth;
- depth.nVisuals = pDepth->numVids;
- memmove(pBuf, (char *) &depth, sizeof(xDepth));
- pBuf += sizeof(xDepth);
- sizesofar += sizeof(xDepth);
- for (k = 0; k < pDepth->numVids; k++) {
- vid = pDepth->vids[k];
- for (pVisual = pScreen->visuals;
- pVisual->vid != vid; pVisual++);
- visual.visualID = vid;
- visual.class = pVisual->class;
- visual.bitsPerRGB = pVisual->bitsPerRGBValue;
- visual.colormapEntries = pVisual->ColormapEntries;
- visual.redMask = pVisual->redMask;
- visual.greenMask = pVisual->greenMask;
- visual.blueMask = pVisual->blueMask;
- memmove(pBuf, (char *) &visual, sizeof(xVisualType));
- pBuf += sizeof(xVisualType);
- sizesofar += sizeof(xVisualType);
- }
- }
- }
- connSetupPrefix.success = xTrue;
- connSetupPrefix.length = lenofblock / 4;
- connSetupPrefix.majorVersion = X_PROTOCOL;
- connSetupPrefix.minorVersion = X_PROTOCOL_REVISION;
- return TRUE;
-}
-
-int
-ProcBadRequest(ClientPtr client)
-{
- return BadRequest;
-}
-
-int
-ProcCreateWindow(ClientPtr client)
-{
- WindowPtr pParent, pWin;
-
- REQUEST(xCreateWindowReq);
- int len, rc;
-
- REQUEST_AT_LEAST_SIZE(xCreateWindowReq);
-
- LEGAL_NEW_RESOURCE(stuff->wid, client);
- rc = dixLookupWindow(&pParent, stuff->parent, client, DixAddAccess);
- if (rc != Success)
- return rc;
- len = client->req_len - bytes_to_int32(sizeof(xCreateWindowReq));
- if (Ones(stuff->mask) != len)
- return BadLength;
- if (!stuff->width || !stuff->height) {
- client->errorValue = 0;
- return BadValue;
- }
- pWin = CreateWindow(stuff->wid, pParent, stuff->x,
- stuff->y, stuff->width, stuff->height,
- stuff->borderWidth, stuff->class,
- stuff->mask, (XID *) &stuff[1],
- (int) stuff->depth, client, stuff->visual, &rc);
- if (pWin) {
- Mask mask = pWin->eventMask;
-
- pWin->eventMask = 0; /* subterfuge in case AddResource fails */
- if (!AddResource(stuff->wid, RT_WINDOW, (void *) pWin))
- return BadAlloc;
- pWin->eventMask = mask;
- }
- return rc;
-}
-
-int
-ProcChangeWindowAttributes(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xChangeWindowAttributesReq);
- int len, rc;
- Mask access_mode = 0;
-
- REQUEST_AT_LEAST_SIZE(xChangeWindowAttributesReq);
- access_mode |= (stuff->valueMask & CWEventMask) ? DixReceiveAccess : 0;
- access_mode |= (stuff->valueMask & ~CWEventMask) ? DixSetAttrAccess : 0;
- rc = dixLookupWindow(&pWin, stuff->window, client, access_mode);
- if (rc != Success)
- return rc;
- len = client->req_len - bytes_to_int32(sizeof(xChangeWindowAttributesReq));
- if (len != Ones(stuff->valueMask))
- return BadLength;
- return ChangeWindowAttributes(pWin,
- stuff->valueMask, (XID *) &stuff[1], client);
-}
-
-int
-ProcGetWindowAttributes(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- xGetWindowAttributesReply wa;
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixGetAttrAccess);
- if (rc != Success)
- return rc;
- memset(&wa, 0, sizeof(xGetWindowAttributesReply));
- GetWindowAttributes(pWin, client, &wa);
- WriteReplyToClient(client, sizeof(xGetWindowAttributesReply), &wa);
- return Success;
-}
-
-int
-ProcDestroyWindow(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixDestroyAccess);
- if (rc != Success)
- return rc;
- if (pWin->parent) {
- rc = dixLookupWindow(&pWin, pWin->parent->drawable.id, client,
- DixRemoveAccess);
- if (rc != Success)
- return rc;
- FreeResource(stuff->id, RT_NONE);
- }
- return Success;
-}
-
-int
-ProcDestroySubwindows(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixRemoveAccess);
- if (rc != Success)
- return rc;
- DestroySubwindows(pWin, client);
- return Success;
-}
-
-int
-ProcChangeSaveSet(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xChangeSaveSetReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xChangeSaveSetReq);
- rc = dixLookupWindow(&pWin, stuff->window, client, DixManageAccess);
- if (rc != Success)
- return rc;
- if (client->clientAsMask == (CLIENT_BITS(pWin->drawable.id)))
- return BadMatch;
- if ((stuff->mode == SetModeInsert) || (stuff->mode == SetModeDelete))
- return AlterSaveSetForClient(client, pWin, stuff->mode, FALSE, TRUE);
- client->errorValue = stuff->mode;
- return BadValue;
-}
-
-int
-ProcReparentWindow(ClientPtr client)
-{
- WindowPtr pWin, pParent;
-
- REQUEST(xReparentWindowReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xReparentWindowReq);
- rc = dixLookupWindow(&pWin, stuff->window, client, DixManageAccess);
- if (rc != Success)
- return rc;
- rc = dixLookupWindow(&pParent, stuff->parent, client, DixAddAccess);
- if (rc != Success)
- return rc;
- if (!SAME_SCREENS(pWin->drawable, pParent->drawable))
- return BadMatch;
- if ((pWin->backgroundState == ParentRelative) &&
- (pParent->drawable.depth != pWin->drawable.depth))
- return BadMatch;
- if ((pWin->drawable.class != InputOnly) &&
- (pParent->drawable.class == InputOnly))
- return BadMatch;
- return ReparentWindow(pWin, pParent,
- (short) stuff->x, (short) stuff->y, client);
-}
-
-int
-ProcMapWindow(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixShowAccess);
- if (rc != Success)
- return rc;
- MapWindow(pWin, client);
- /* update cache to say it is mapped */
- return Success;
-}
-
-int
-ProcMapSubwindows(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixListAccess);
- if (rc != Success)
- return rc;
- MapSubwindows(pWin, client);
- /* update cache to say it is mapped */
- return Success;
-}
-
-int
-ProcUnmapWindow(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixHideAccess);
- if (rc != Success)
- return rc;
- UnmapWindow(pWin, FALSE);
- /* update cache to say it is mapped */
- return Success;
-}
-
-int
-ProcUnmapSubwindows(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixListAccess);
- if (rc != Success)
- return rc;
- UnmapSubwindows(pWin);
- return Success;
-}
-
-int
-ProcConfigureWindow(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xConfigureWindowReq);
- int len, rc;
-
- REQUEST_AT_LEAST_SIZE(xConfigureWindowReq);
- rc = dixLookupWindow(&pWin, stuff->window, client,
- DixManageAccess | DixSetAttrAccess);
- if (rc != Success)
- return rc;
- len = client->req_len - bytes_to_int32(sizeof(xConfigureWindowReq));
- if (Ones((Mask) stuff->mask) != len)
- return BadLength;
- return ConfigureWindow(pWin, (Mask) stuff->mask, (XID *) &stuff[1], client);
-}
-
-int
-ProcCirculateWindow(ClientPtr client)
-{
- WindowPtr pWin;
-
- REQUEST(xCirculateWindowReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xCirculateWindowReq);
- if ((stuff->direction != RaiseLowest) && (stuff->direction != LowerHighest)) {
- client->errorValue = stuff->direction;
- return BadValue;
- }
- rc = dixLookupWindow(&pWin, stuff->window, client, DixManageAccess);
- if (rc != Success)
- return rc;
- CirculateWindow(pWin, (int) stuff->direction, client);
- return Success;
-}
-
-static int
-GetGeometry(ClientPtr client, xGetGeometryReply * rep)
-{
- DrawablePtr pDraw;
- int rc;
-
- REQUEST(xResourceReq);
- REQUEST_SIZE_MATCH(xResourceReq);
-
- rc = dixLookupDrawable(&pDraw, stuff->id, client, M_ANY, DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- rep->type = X_Reply;
- rep->length = 0;
- rep->sequenceNumber = client->sequence;
- rep->root = pDraw->pScreen->root->drawable.id;
- rep->depth = pDraw->depth;
- rep->width = pDraw->width;
- rep->height = pDraw->height;
-
- if (WindowDrawable(pDraw->type)) {
- WindowPtr pWin = (WindowPtr) pDraw;
-
- rep->x = pWin->origin.x - wBorderWidth(pWin);
- rep->y = pWin->origin.y - wBorderWidth(pWin);
- rep->borderWidth = pWin->borderWidth;
- }
- else { /* DRAWABLE_PIXMAP */
-
- rep->x = rep->y = rep->borderWidth = 0;
- }
-
- return Success;
-}
-
-int
-ProcGetGeometry(ClientPtr client)
-{
- xGetGeometryReply rep = { .type = X_Reply };
- int status;
-
- if ((status = GetGeometry(client, &rep)) != Success)
- return status;
-
- WriteReplyToClient(client, sizeof(xGetGeometryReply), &rep);
- return Success;
-}
-
-int
-ProcQueryTree(ClientPtr client)
-{
- xQueryTreeReply reply;
- int rc, numChildren = 0;
- WindowPtr pChild, pWin, pHead;
- Window *childIDs = (Window *) NULL;
-
- REQUEST(xResourceReq);
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupWindow(&pWin, stuff->id, client, DixListAccess);
- if (rc != Success)
- return rc;
-
- reply = (xQueryTreeReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .root = pWin->drawable.pScreen->root->drawable.id,
- .parent = (pWin->parent) ? pWin->parent->drawable.id : (Window) None
- };
- pHead = RealChildHead(pWin);
- for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib)
- numChildren++;
- if (numChildren) {
- int curChild = 0;
-
- childIDs = malloc(numChildren * sizeof(Window));
- if (!childIDs)
- return BadAlloc;
- for (pChild = pWin->lastChild; pChild != pHead;
- pChild = pChild->prevSib)
- childIDs[curChild++] = pChild->drawable.id;
- }
-
- reply.nChildren = numChildren;
- reply.length = bytes_to_int32(numChildren * sizeof(Window));
-
- WriteReplyToClient(client, sizeof(xQueryTreeReply), &reply);
- if (numChildren) {
- client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
- WriteSwappedDataToClient(client, numChildren * sizeof(Window),
- childIDs);
- free(childIDs);
- }
-
- return Success;
-}
-
-int
-ProcInternAtom(ClientPtr client)
-{
- Atom atom;
- char *tchar;
-
- REQUEST(xInternAtomReq);
-
- REQUEST_FIXED_SIZE(xInternAtomReq, stuff->nbytes);
- if ((stuff->onlyIfExists != xTrue) && (stuff->onlyIfExists != xFalse)) {
- client->errorValue = stuff->onlyIfExists;
- return BadValue;
- }
- tchar = (char *) &stuff[1];
- atom = MakeAtom(tchar, stuff->nbytes, !stuff->onlyIfExists);
- if (atom != BAD_RESOURCE) {
- xInternAtomReply reply = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .atom = atom
- };
- WriteReplyToClient(client, sizeof(xInternAtomReply), &reply);
- return Success;
- }
- else
- return BadAlloc;
-}
-
-int
-ProcGetAtomName(ClientPtr client)
-{
- const char *str;
-
- REQUEST(xResourceReq);
-
- REQUEST_SIZE_MATCH(xResourceReq);
- if ((str = NameForAtom(stuff->id))) {
- int len = strlen(str);
- xGetAtomNameReply reply = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(len),
- .nameLength = len
- };
-
- WriteReplyToClient(client, sizeof(xGetAtomNameReply), &reply);
- WriteToClient(client, len, str);
- return Success;
- }
- else {
- client->errorValue = stuff->id;
- return BadAtom;
- }
-}
-
-int
-ProcGrabServer(ClientPtr client)
-{
- int rc;
-
- REQUEST_SIZE_MATCH(xReq);
- if (grabState != GrabNone && client != grabClient) {
- ResetCurrentRequest(client);
- client->sequence--;
- BITSET(grabWaiters, client->index);
- IgnoreClient(client);
- return Success;
- }
- rc = OnlyListenToOneClient(client);
- if (rc != Success)
- return rc;
- grabState = GrabKickout;
- grabClient = client;
-
- if (ServerGrabCallback) {
- ServerGrabInfoRec grabinfo;
-
- grabinfo.client = client;
- grabinfo.grabstate = SERVER_GRABBED;
- CallCallbacks(&ServerGrabCallback, (void *) &grabinfo);
- }
-
- return Success;
-}
-
-static void
-UngrabServer(ClientPtr client)
-{
- int i;
-
- grabState = GrabNone;
- ListenToAllClients();
- for (i = mskcnt; --i >= 0 && !grabWaiters[i];);
- if (i >= 0) {
- i <<= 5;
- while (!GETBIT(grabWaiters, i))
- i++;
- BITCLEAR(grabWaiters, i);
- AttendClient(clients[i]);
- }
-
- if (ServerGrabCallback) {
- ServerGrabInfoRec grabinfo;
-
- grabinfo.client = client;
- grabinfo.grabstate = SERVER_UNGRABBED;
- CallCallbacks(&ServerGrabCallback, (void *) &grabinfo);
- }
-}
-
-int
-ProcUngrabServer(ClientPtr client)
-{
- REQUEST_SIZE_MATCH(xReq);
- UngrabServer(client);
- return Success;
-}
-
-int
-ProcTranslateCoords(ClientPtr client)
-{
- REQUEST(xTranslateCoordsReq);
-
- WindowPtr pWin, pDst;
- xTranslateCoordsReply rep;
- int rc;
-
- REQUEST_SIZE_MATCH(xTranslateCoordsReq);
- rc = dixLookupWindow(&pWin, stuff->srcWid, client, DixGetAttrAccess);
- if (rc != Success)
- return rc;
- rc = dixLookupWindow(&pDst, stuff->dstWid, client, DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- rep = (xTranslateCoordsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
- if (!SAME_SCREENS(pWin->drawable, pDst->drawable)) {
- rep.sameScreen = xFalse;
- rep.child = None;
- rep.dstX = rep.dstY = 0;
- }
- else {
- INT16 x, y;
-
- rep.sameScreen = xTrue;
- rep.child = None;
- /* computing absolute coordinates -- adjust to destination later */
- x = pWin->drawable.x + stuff->srcX;
- y = pWin->drawable.y + stuff->srcY;
- pWin = pDst->firstChild;
- while (pWin) {
- BoxRec box;
-
- if ((pWin->mapped) &&
- (x >= pWin->drawable.x - wBorderWidth(pWin)) &&
- (x < pWin->drawable.x + (int) pWin->drawable.width +
- wBorderWidth(pWin)) &&
- (y >= pWin->drawable.y - wBorderWidth(pWin)) &&
- (y < pWin->drawable.y + (int) pWin->drawable.height +
- wBorderWidth(pWin))
- /* When a window is shaped, a further check
- * is made to see if the point is inside
- * borderSize
- */
- && (!wBoundingShape(pWin) ||
- RegionContainsPoint(&pWin->borderSize, x, y, &box))
-
- && (!wInputShape(pWin) ||
- RegionContainsPoint(wInputShape(pWin),
- x - pWin->drawable.x,
- y - pWin->drawable.y, &box))
- ) {
- rep.child = pWin->drawable.id;
- pWin = (WindowPtr) NULL;
- }
- else
- pWin = pWin->nextSib;
- }
- /* adjust to destination coordinates */
- rep.dstX = x - pDst->drawable.x;
- rep.dstY = y - pDst->drawable.y;
- }
- WriteReplyToClient(client, sizeof(xTranslateCoordsReply), &rep);
- return Success;
-}
-
-int
-ProcOpenFont(ClientPtr client)
-{
- int err;
-
- REQUEST(xOpenFontReq);
-
- REQUEST_FIXED_SIZE(xOpenFontReq, stuff->nbytes);
- client->errorValue = stuff->fid;
- LEGAL_NEW_RESOURCE(stuff->fid, client);
- err = OpenFont(client, stuff->fid, (Mask) 0,
- stuff->nbytes, (char *) &stuff[1]);
- if (err == Success) {
- return Success;
- }
- else
- return err;
-}
-
-int
-ProcCloseFont(ClientPtr client)
-{
- FontPtr pFont;
- int rc;
-
- REQUEST(xResourceReq);
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupResourceByType((void **) &pFont, stuff->id, RT_FONT,
- client, DixDestroyAccess);
- if (rc == Success) {
- FreeResource(stuff->id, RT_NONE);
- return Success;
- }
- else {
- client->errorValue = stuff->id;
- return rc;
- }
-}
-
-int
-ProcQueryFont(ClientPtr client)
-{
- xQueryFontReply *reply;
- FontPtr pFont;
- int rc;
-
- REQUEST(xResourceReq);
- REQUEST_SIZE_MATCH(xResourceReq);
-
- rc = dixLookupFontable(&pFont, stuff->id, client, DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- {
- xCharInfo *pmax = FONTINKMAX(pFont);
- xCharInfo *pmin = FONTINKMIN(pFont);
- int nprotoxcistructs;
- int rlength;
-
- nprotoxcistructs = (pmax->rightSideBearing == pmin->rightSideBearing &&
- pmax->leftSideBearing == pmin->leftSideBearing &&
- pmax->descent == pmin->descent &&
- pmax->ascent == pmin->ascent &&
- pmax->characterWidth == pmin->characterWidth) ?
- 0 : N2dChars(pFont);
-
- rlength = sizeof(xQueryFontReply) +
- FONTINFONPROPS(FONTCHARSET(pFont)) * sizeof(xFontProp) +
- nprotoxcistructs * sizeof(xCharInfo);
- reply = calloc(1, rlength);
- if (!reply) {
- return BadAlloc;
- }
-
- reply->type = X_Reply;
- reply->length = bytes_to_int32(rlength - sizeof(xGenericReply));
- reply->sequenceNumber = client->sequence;
- QueryFont(pFont, reply, nprotoxcistructs);
-
- WriteReplyToClient(client, rlength, reply);
- free(reply);
- return Success;
- }
-}
-
-int
-ProcQueryTextExtents(ClientPtr client)
-{
- xQueryTextExtentsReply reply;
- FontPtr pFont;
- ExtentInfoRec info;
- unsigned long length;
- int rc;
-
- REQUEST(xQueryTextExtentsReq);
- REQUEST_AT_LEAST_SIZE(xQueryTextExtentsReq);
-
- rc = dixLookupFontable(&pFont, stuff->fid, client, DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- length = client->req_len - bytes_to_int32(sizeof(xQueryTextExtentsReq));
- length = length << 1;
- if (stuff->oddLength) {
- if (length == 0)
- return BadLength;
- length--;
- }
- if (!QueryTextExtents(pFont, length, (unsigned char *) &stuff[1], &info))
- return BadAlloc;
- reply = (xQueryTextExtentsReply) {
- .type = X_Reply,
- .drawDirection = info.drawDirection,
- .sequenceNumber = client->sequence,
- .length = 0,
- .fontAscent = info.fontAscent,
- .fontDescent = info.fontDescent,
- .overallAscent = info.overallAscent,
- .overallDescent = info.overallDescent,
- .overallWidth = info.overallWidth,
- .overallLeft = info.overallLeft,
- .overallRight = info.overallRight
- };
- WriteReplyToClient(client, sizeof(xQueryTextExtentsReply), &reply);
- return Success;
-}
-
-int
-ProcListFonts(ClientPtr client)
-{
- REQUEST(xListFontsReq);
-
- REQUEST_FIXED_SIZE(xListFontsReq, stuff->nbytes);
-
- return ListFonts(client, (unsigned char *) &stuff[1], stuff->nbytes,
- stuff->maxNames);
-}
-
-int
-ProcListFontsWithInfo(ClientPtr client)
-{
- REQUEST(xListFontsWithInfoReq);
-
- REQUEST_FIXED_SIZE(xListFontsWithInfoReq, stuff->nbytes);
-
- return StartListFontsWithInfo(client, stuff->nbytes,
- (unsigned char *) &stuff[1], stuff->maxNames);
-}
-
-/**
- *
- * \param value must conform to DeleteType
- */
-int
-dixDestroyPixmap(void *value, XID pid)
-{
- PixmapPtr pPixmap = (PixmapPtr) value;
-
- return (*pPixmap->drawable.pScreen->DestroyPixmap) (pPixmap);
-}
-
-int
-ProcCreatePixmap(ClientPtr client)
-{
- PixmapPtr pMap;
- DrawablePtr pDraw;
-
- REQUEST(xCreatePixmapReq);
- DepthPtr pDepth;
- int i, rc;
-
- REQUEST_SIZE_MATCH(xCreatePixmapReq);
- client->errorValue = stuff->pid;
- LEGAL_NEW_RESOURCE(stuff->pid, client);
-
- rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY,
- DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- if (!stuff->width || !stuff->height) {
- client->errorValue = 0;
- return BadValue;
- }
- if (stuff->width > 32767 || stuff->height > 32767) {
- /* It is allowed to try and allocate a pixmap which is larger than
- * 32767 in either dimension. However, all of the framebuffer code
- * is buggy and does not reliably draw to such big pixmaps, basically
- * because the Region data structure operates with signed shorts
- * for the rectangles in it.
- *
- * Furthermore, several places in the X server computes the
- * size in bytes of the pixmap and tries to store it in an
- * integer. This integer can overflow and cause the allocated size
- * to be much smaller.
- *
- * So, such big pixmaps are rejected here with a BadAlloc
- */
- return BadAlloc;
- }
- if (stuff->depth != 1) {
- pDepth = pDraw->pScreen->allowedDepths;
- for (i = 0; i < pDraw->pScreen->numDepths; i++, pDepth++)
- if (pDepth->depth == stuff->depth)
- goto CreatePmap;
- client->errorValue = stuff->depth;
- return BadValue;
- }
- CreatePmap:
- pMap = (PixmapPtr) (*pDraw->pScreen->CreatePixmap)
- (pDraw->pScreen, stuff->width, stuff->height, stuff->depth, 0);
- if (pMap) {
- pMap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
- pMap->drawable.id = stuff->pid;
- /* security creation/labeling check */
- rc = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->pid, RT_PIXMAP,
- pMap, RT_NONE, NULL, DixCreateAccess);
- if (rc != Success) {
- (*pDraw->pScreen->DestroyPixmap) (pMap);
- return rc;
- }
- if (AddResource(stuff->pid, RT_PIXMAP, (void *) pMap))
- return Success;
- }
- return BadAlloc;
-}
-
-int
-ProcFreePixmap(ClientPtr client)
-{
- PixmapPtr pMap;
- int rc;
-
- REQUEST(xResourceReq);
- REQUEST_SIZE_MATCH(xResourceReq);
-
- rc = dixLookupResourceByType((void **) &pMap, stuff->id, RT_PIXMAP,
- client, DixDestroyAccess);
- if (rc == Success) {
- FreeResource(stuff->id, RT_NONE);
- return Success;
- }
- else {
- client->errorValue = stuff->id;
- return rc;
- }
-}
-
-int
-ProcCreateGC(ClientPtr client)
-{
- int error, rc;
- GC *pGC;
- DrawablePtr pDraw;
- unsigned len;
-
- REQUEST(xCreateGCReq);
-
- REQUEST_AT_LEAST_SIZE(xCreateGCReq);
- client->errorValue = stuff->gc;
- LEGAL_NEW_RESOURCE(stuff->gc, client);
- rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0,
- DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- len = client->req_len - bytes_to_int32(sizeof(xCreateGCReq));
- if (len != Ones(stuff->mask))
- return BadLength;
- pGC = (GC *) CreateGC(pDraw, stuff->mask, (XID *) &stuff[1], &error,
- stuff->gc, client);
- if (error != Success)
- return error;
- if (!AddResource(stuff->gc, RT_GC, (void *) pGC))
- return BadAlloc;
- return Success;
-}
-
-int
-ProcChangeGC(ClientPtr client)
-{
- GC *pGC;
- int result;
- unsigned len;
-
- REQUEST(xChangeGCReq);
- REQUEST_AT_LEAST_SIZE(xChangeGCReq);
-
- result = dixLookupGC(&pGC, stuff->gc, client, DixSetAttrAccess);
- if (result != Success)
- return result;
-
- len = client->req_len - bytes_to_int32(sizeof(xChangeGCReq));
- if (len != Ones(stuff->mask))
- return BadLength;
-
- return ChangeGCXIDs(client, pGC, stuff->mask, (CARD32 *) &stuff[1]);
-}
-
-int
-ProcCopyGC(ClientPtr client)
-{
- GC *dstGC;
- GC *pGC;
- int result;
-
- REQUEST(xCopyGCReq);
- REQUEST_SIZE_MATCH(xCopyGCReq);
-
- result = dixLookupGC(&pGC, stuff->srcGC, client, DixGetAttrAccess);
- if (result != Success)
- return result;
- result = dixLookupGC(&dstGC, stuff->dstGC, client, DixSetAttrAccess);
- if (result != Success)
- return result;
- if ((dstGC->pScreen != pGC->pScreen) || (dstGC->depth != pGC->depth))
- return BadMatch;
- if (stuff->mask & ~GCAllBits) {
- client->errorValue = stuff->mask;
- return BadValue;
- }
- return CopyGC(pGC, dstGC, stuff->mask);
-}
-
-int
-ProcSetDashes(ClientPtr client)
-{
- GC *pGC;
- int result;
-
- REQUEST(xSetDashesReq);
-
- REQUEST_FIXED_SIZE(xSetDashesReq, stuff->nDashes);
- if (stuff->nDashes == 0) {
- client->errorValue = 0;
- return BadValue;
- }
-
- result = dixLookupGC(&pGC, stuff->gc, client, DixSetAttrAccess);
- if (result != Success)
- return result;
-
- /* If there's an error, either there's no sensible errorValue,
- * or there was a dash segment of 0. */
- client->errorValue = 0;
- return SetDashes(pGC, stuff->dashOffset, stuff->nDashes,
- (unsigned char *) &stuff[1]);
-}
-
-int
-ProcSetClipRectangles(ClientPtr client)
-{
- int nr, result;
- GC *pGC;
-
- REQUEST(xSetClipRectanglesReq);
-
- REQUEST_AT_LEAST_SIZE(xSetClipRectanglesReq);
- if ((stuff->ordering != Unsorted) && (stuff->ordering != YSorted) &&
- (stuff->ordering != YXSorted) && (stuff->ordering != YXBanded)) {
- client->errorValue = stuff->ordering;
- return BadValue;
- }
- result = dixLookupGC(&pGC, stuff->gc, client, DixSetAttrAccess);
- if (result != Success)
- return result;
-
- nr = (client->req_len << 2) - sizeof(xSetClipRectanglesReq);
- if (nr & 4)
- return BadLength;
- nr >>= 3;
- return SetClipRects(pGC, stuff->xOrigin, stuff->yOrigin,
- nr, (xRectangle *) &stuff[1], (int) stuff->ordering);
-}
-
-int
-ProcFreeGC(ClientPtr client)
-{
- GC *pGC;
- int rc;
-
- REQUEST(xResourceReq);
- REQUEST_SIZE_MATCH(xResourceReq);
-
- rc = dixLookupGC(&pGC, stuff->id, client, DixDestroyAccess);
- if (rc != Success)
- return rc;
-
- FreeResource(stuff->id, RT_NONE);
- return Success;
-}
-
-int
-ProcClearToBackground(ClientPtr client)
-{
- REQUEST(xClearAreaReq);
- WindowPtr pWin;
- int rc;
-
- REQUEST_SIZE_MATCH(xClearAreaReq);
- rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess);
- if (rc != Success)
- return rc;
- if (pWin->drawable.class == InputOnly) {
- client->errorValue = stuff->window;
- return BadMatch;
- }
- if ((stuff->exposures != xTrue) && (stuff->exposures != xFalse)) {
- client->errorValue = stuff->exposures;
- return BadValue;
- }
- (*pWin->drawable.pScreen->ClearToBackground) (pWin, stuff->x, stuff->y,
- stuff->width, stuff->height,
- (Bool) stuff->exposures);
- return Success;
-}
-
-int
-ProcCopyArea(ClientPtr client)
-{
- DrawablePtr pDst;
- DrawablePtr pSrc;
- GC *pGC;
-
- REQUEST(xCopyAreaReq);
- RegionPtr pRgn;
- int rc;
-
- REQUEST_SIZE_MATCH(xCopyAreaReq);
-
- VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, DixWriteAccess);
- if (stuff->dstDrawable != stuff->srcDrawable) {
- rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, 0,
- DixReadAccess);
- if (rc != Success)
- return rc;
- if ((pDst->pScreen != pSrc->pScreen) || (pDst->depth != pSrc->depth)) {
- client->errorValue = stuff->dstDrawable;
- return BadMatch;
- }
- }
- else
- pSrc = pDst;
-
- pRgn = (*pGC->ops->CopyArea) (pSrc, pDst, pGC, stuff->srcX, stuff->srcY,
- stuff->width, stuff->height,
- stuff->dstX, stuff->dstY);
- if (pGC->graphicsExposures) {
- (*pDst->pScreen->SendGraphicsExpose)
- (client, pRgn, stuff->dstDrawable, X_CopyArea, 0);
- if (pRgn)
- RegionDestroy(pRgn);
- }
-
- return Success;
-}
-
-int
-ProcCopyPlane(ClientPtr client)
-{
- DrawablePtr psrcDraw, pdstDraw;
- GC *pGC;
-
- REQUEST(xCopyPlaneReq);
- RegionPtr pRgn;
- int rc;
-
- REQUEST_SIZE_MATCH(xCopyPlaneReq);
-
- VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, DixWriteAccess);
- if (stuff->dstDrawable != stuff->srcDrawable) {
- rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, 0,
- DixReadAccess);
- if (rc != Success)
- return rc;
-
- if (pdstDraw->pScreen != psrcDraw->pScreen) {
- client->errorValue = stuff->dstDrawable;
- return BadMatch;
- }
- }
- else
- psrcDraw = pdstDraw;
-
- /* Check to see if stuff->bitPlane has exactly ONE good bit set */
- if (stuff->bitPlane == 0 || (stuff->bitPlane & (stuff->bitPlane - 1)) ||
- (stuff->bitPlane > (1L << (psrcDraw->depth - 1)))) {
- client->errorValue = stuff->bitPlane;
- return BadValue;
- }
-
- pRgn =
- (*pGC->ops->CopyPlane) (psrcDraw, pdstDraw, pGC, stuff->srcX,
- stuff->srcY, stuff->width, stuff->height,
- stuff->dstX, stuff->dstY, stuff->bitPlane);
- if (pGC->graphicsExposures) {
- (*pdstDraw->pScreen->SendGraphicsExpose)
- (client, pRgn, stuff->dstDrawable, X_CopyPlane, 0);
- if (pRgn)
- RegionDestroy(pRgn);
- }
- return Success;
-}
-
-int
-ProcPolyPoint(ClientPtr client)
-{
- int npoint;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xPolyPointReq);
-
- REQUEST_AT_LEAST_SIZE(xPolyPointReq);
- if ((stuff->coordMode != CoordModeOrigin) &&
- (stuff->coordMode != CoordModePrevious)) {
- client->errorValue = stuff->coordMode;
- return BadValue;
- }
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- npoint = bytes_to_int32((client->req_len << 2) - sizeof(xPolyPointReq));
- if (npoint)
- (*pGC->ops->PolyPoint) (pDraw, pGC, stuff->coordMode, npoint,
- (xPoint *) &stuff[1]);
- return Success;
-}
-
-int
-ProcPolyLine(ClientPtr client)
-{
- int npoint;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xPolyLineReq);
-
- REQUEST_AT_LEAST_SIZE(xPolyLineReq);
- if ((stuff->coordMode != CoordModeOrigin) &&
- (stuff->coordMode != CoordModePrevious)) {
- client->errorValue = stuff->coordMode;
- return BadValue;
- }
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- npoint = bytes_to_int32((client->req_len << 2) - sizeof(xPolyLineReq));
- if (npoint > 1)
- (*pGC->ops->Polylines) (pDraw, pGC, stuff->coordMode, npoint,
- (DDXPointPtr) &stuff[1]);
- return Success;
-}
-
-int
-ProcPolySegment(ClientPtr client)
-{
- int nsegs;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xPolySegmentReq);
-
- REQUEST_AT_LEAST_SIZE(xPolySegmentReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- nsegs = (client->req_len << 2) - sizeof(xPolySegmentReq);
- if (nsegs & 4)
- return BadLength;
- nsegs >>= 3;
- if (nsegs)
- (*pGC->ops->PolySegment) (pDraw, pGC, nsegs, (xSegment *) &stuff[1]);
- return Success;
-}
-
-int
-ProcPolyRectangle(ClientPtr client)
-{
- int nrects;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xPolyRectangleReq);
-
- REQUEST_AT_LEAST_SIZE(xPolyRectangleReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- nrects = (client->req_len << 2) - sizeof(xPolyRectangleReq);
- if (nrects & 4)
- return BadLength;
- nrects >>= 3;
- if (nrects)
- (*pGC->ops->PolyRectangle) (pDraw, pGC,
- nrects, (xRectangle *) &stuff[1]);
- return Success;
-}
-
-int
-ProcPolyArc(ClientPtr client)
-{
- int narcs;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xPolyArcReq);
-
- REQUEST_AT_LEAST_SIZE(xPolyArcReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- narcs = (client->req_len << 2) - sizeof(xPolyArcReq);
- if (narcs % sizeof(xArc))
- return BadLength;
- narcs /= sizeof(xArc);
- if (narcs)
- (*pGC->ops->PolyArc) (pDraw, pGC, narcs, (xArc *) &stuff[1]);
- return Success;
-}
-
-int
-ProcFillPoly(ClientPtr client)
-{
- int things;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xFillPolyReq);
-
- REQUEST_AT_LEAST_SIZE(xFillPolyReq);
- if ((stuff->shape != Complex) && (stuff->shape != Nonconvex) &&
- (stuff->shape != Convex)) {
- client->errorValue = stuff->shape;
- return BadValue;
- }
- if ((stuff->coordMode != CoordModeOrigin) &&
- (stuff->coordMode != CoordModePrevious)) {
- client->errorValue = stuff->coordMode;
- return BadValue;
- }
-
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- things = bytes_to_int32((client->req_len << 2) - sizeof(xFillPolyReq));
- if (things)
- (*pGC->ops->FillPolygon) (pDraw, pGC, stuff->shape,
- stuff->coordMode, things,
- (DDXPointPtr) &stuff[1]);
- return Success;
-}
-
-int
-ProcPolyFillRectangle(ClientPtr client)
-{
- int things;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xPolyFillRectangleReq);
-
- REQUEST_AT_LEAST_SIZE(xPolyFillRectangleReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- things = (client->req_len << 2) - sizeof(xPolyFillRectangleReq);
- if (things & 4)
- return BadLength;
- things >>= 3;
-
- if (things)
- (*pGC->ops->PolyFillRect) (pDraw, pGC, things,
- (xRectangle *) &stuff[1]);
- return Success;
-}
-
-int
-ProcPolyFillArc(ClientPtr client)
-{
- int narcs;
- GC *pGC;
- DrawablePtr pDraw;
-
- REQUEST(xPolyFillArcReq);
-
- REQUEST_AT_LEAST_SIZE(xPolyFillArcReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- narcs = (client->req_len << 2) - sizeof(xPolyFillArcReq);
- if (narcs % sizeof(xArc))
- return BadLength;
- narcs /= sizeof(xArc);
- if (narcs)
- (*pGC->ops->PolyFillArc) (pDraw, pGC, narcs, (xArc *) &stuff[1]);
- return Success;
-}
-
-#ifdef MATCH_CLIENT_ENDIAN
-
-int
-ServerOrder(void)
-{
- int whichbyte = 1;
-
- if (*((char *) &whichbyte))
- return LSBFirst;
- return MSBFirst;
-}
-
-#define ClientOrder(client) ((client)->swapped ? !ServerOrder() : ServerOrder())
-
-void
-ReformatImage(char *base, int nbytes, int bpp, int order)
-{
- switch (bpp) {
- case 1: /* yuck */
- if (BITMAP_BIT_ORDER != order)
- BitOrderInvert((unsigned char *) base, nbytes);
-#if IMAGE_BYTE_ORDER != BITMAP_BIT_ORDER && BITMAP_SCANLINE_UNIT != 8
- ReformatImage(base, nbytes, BITMAP_SCANLINE_UNIT, order);
-#endif
- break;
- case 4:
- break; /* yuck */
- case 8:
- break;
- case 16:
- if (IMAGE_BYTE_ORDER != order)
- TwoByteSwap((unsigned char *) base, nbytes);
- break;
- case 32:
- if (IMAGE_BYTE_ORDER != order)
- FourByteSwap((unsigned char *) base, nbytes);
- break;
- }
-}
-#else
-#define ReformatImage(b,n,bpp,o)
-#endif
-
-/* 64-bit server notes: the protocol restricts padding of images to
- * 8-, 16-, or 32-bits. We would like to have 64-bits for the server
- * to use internally. Removes need for internal alignment checking.
- * All of the PutImage functions could be changed individually, but
- * as currently written, they call other routines which require things
- * to be 64-bit padded on scanlines, so we changed things here.
- * If an image would be padded differently for 64- versus 32-, then
- * copy each scanline to a 64-bit padded scanline.
- * Also, we need to make sure that the image is aligned on a 64-bit
- * boundary, even if the scanlines are padded to our satisfaction.
- */
-int
-ProcPutImage(ClientPtr client)
-{
- GC *pGC;
- DrawablePtr pDraw;
- long length; /* length of scanline server padded */
- long lengthProto; /* length of scanline protocol padded */
- char *tmpImage;
-
- REQUEST(xPutImageReq);
-
- REQUEST_AT_LEAST_SIZE(xPutImageReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
- if (stuff->format == XYBitmap) {
- if ((stuff->depth != 1) ||
- (stuff->leftPad >= (unsigned int) screenInfo.bitmapScanlinePad))
- return BadMatch;
- length = BitmapBytePad(stuff->width + stuff->leftPad);
- }
- else if (stuff->format == XYPixmap) {
- if ((pDraw->depth != stuff->depth) ||
- (stuff->leftPad >= (unsigned int) screenInfo.bitmapScanlinePad))
- return BadMatch;
- length = BitmapBytePad(stuff->width + stuff->leftPad);
- length *= stuff->depth;
- }
- else if (stuff->format == ZPixmap) {
- if ((pDraw->depth != stuff->depth) || (stuff->leftPad != 0))
- return BadMatch;
- length = PixmapBytePad(stuff->width, stuff->depth);
- }
- else {
- client->errorValue = stuff->format;
- return BadValue;
- }
-
- tmpImage = (char *) &stuff[1];
- lengthProto = length;
-
- if ((bytes_to_int32(lengthProto * stuff->height) +
- bytes_to_int32(sizeof(xPutImageReq))) != client->req_len)
- return BadLength;
-
- ReformatImage(tmpImage, lengthProto * stuff->height,
- stuff->format == ZPixmap ? BitsPerPixel(stuff->depth) : 1,
- ClientOrder(client));
-
- (*pGC->ops->PutImage) (pDraw, pGC, stuff->depth, stuff->dstX, stuff->dstY,
- stuff->width, stuff->height,
- stuff->leftPad, stuff->format, tmpImage);
-
- return Success;
-}
-
-static int
-DoGetImage(ClientPtr client, int format, Drawable drawable,
- int x, int y, int width, int height,
- Mask planemask)
-{
- DrawablePtr pDraw, pBoundingDraw;
- int nlines, linesPerBuf, rc;
- int linesDone;
-
- /* coordinates relative to the bounding drawable */
- int relx, rely;
- long widthBytesLine, length;
- Mask plane = 0;
- char *pBuf;
- xGetImageReply xgi;
- RegionPtr pVisibleRegion = NULL;
-
- if ((format != XYPixmap) && (format != ZPixmap)) {
- client->errorValue = format;
- return BadValue;
- }
- rc = dixLookupDrawable(&pDraw, drawable, client, 0, DixReadAccess);
- if (rc != Success)
- return rc;
-
- memset(&xgi, 0, sizeof(xGetImageReply));
-
- relx = x;
- rely = y;
-
- if (pDraw->type == DRAWABLE_WINDOW) {
- WindowPtr pWin = (WindowPtr) pDraw;
-
- /* "If the drawable is a window, the window must be viewable ... or a
- * BadMatch error results" */
- if (!pWin->viewable)
- return BadMatch;
-
- /* If the drawable is a window, the rectangle must be contained within
- * its bounds (including the border). */
- if (x < -wBorderWidth(pWin) ||
- x + width > wBorderWidth(pWin) + (int) pDraw->width ||
- y < -wBorderWidth(pWin) ||
- y + height > wBorderWidth(pWin) + (int) pDraw->height)
- return BadMatch;
-
- relx += pDraw->x;
- rely += pDraw->y;
-
- if (pDraw->pScreen->GetWindowPixmap) {
- PixmapPtr pPix = (*pDraw->pScreen->GetWindowPixmap) (pWin);
-
- pBoundingDraw = &pPix->drawable;
-#ifdef COMPOSITE
- relx -= pPix->screen_x;
- rely -= pPix->screen_y;
-#endif
- }
- else {
- pBoundingDraw = (DrawablePtr) pDraw->pScreen->root;
- }
-
- xgi.visual = wVisual(pWin);
- }
- else {
- pBoundingDraw = pDraw;
- xgi.visual = None;
- }
-
- /* "If the drawable is a pixmap, the given rectangle must be wholly
- * contained within the pixmap, or a BadMatch error results. If the
- * drawable is a window [...] it must be the case that if there were no
- * inferiors or overlapping windows, the specified rectangle of the window
- * would be fully visible on the screen and wholly contained within the
- * outside edges of the window, or a BadMatch error results."
- *
- * We relax the window case slightly to mean that the rectangle must exist
- * within the bounds of the window's backing pixmap. In particular, this
- * means that a GetImage request may succeed or fail with BadMatch depending
- * on whether any of its ancestor windows are redirected. */
- if (relx < 0 || relx + width > (int) pBoundingDraw->width ||
- rely < 0 || rely + height > (int) pBoundingDraw->height)
- return BadMatch;
-
- xgi.type = X_Reply;
- xgi.sequenceNumber = client->sequence;
- xgi.depth = pDraw->depth;
- if (format == ZPixmap) {
- widthBytesLine = PixmapBytePad(width, pDraw->depth);
- length = widthBytesLine * height;
-
- }
- else {
- widthBytesLine = BitmapBytePad(width);
- plane = ((Mask) 1) << (pDraw->depth - 1);
- /* only planes asked for */
- length = widthBytesLine * height *
- Ones(planemask & (plane | (plane - 1)));
-
- }
-
- xgi.length = length;
-
- 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);
-
- if (pDraw->type == DRAWABLE_WINDOW) {
- pVisibleRegion = NotClippedByChildren((WindowPtr) pDraw);
- if (pVisibleRegion) {
- RegionTranslate(pVisibleRegion, -pDraw->x, -pDraw->y);
- }
- }
-
- if (linesPerBuf == 0) {
- /* nothing to do */
- }
- else if (format == ZPixmap) {
- linesDone = 0;
- while (height - linesDone > 0) {
- nlines = min(linesPerBuf, height - linesDone);
- (*pDraw->pScreen->GetImage) (pDraw,
- x,
- y + linesDone,
- width,
- nlines,
- format, planemask, (void *) pBuf);
- if (pVisibleRegion)
- XaceCensorImage(client, pVisibleRegion, widthBytesLine,
- pDraw, x, y + linesDone, width,
- nlines, format, pBuf);
-
- /* Note that this is NOT a call to WriteSwappedDataToClient,
- as we do NOT byte swap */
- ReformatImage(pBuf, (int) (nlines * widthBytesLine),
- BitsPerPixel(pDraw->depth), ClientOrder(client));
-
- WriteToClient(client, (int) (nlines * widthBytesLine), pBuf);
- linesDone += nlines;
- }
- }
- else { /* XYPixmap */
-
- for (; plane; plane >>= 1) {
- if (planemask & plane) {
- linesDone = 0;
- while (height - linesDone > 0) {
- nlines = min(linesPerBuf, height - linesDone);
- (*pDraw->pScreen->GetImage) (pDraw,
- x,
- y + linesDone,
- width,
- nlines,
- format, plane, (void *) pBuf);
- if (pVisibleRegion)
- XaceCensorImage(client, pVisibleRegion,
- widthBytesLine,
- pDraw, x, y + linesDone, width,
- nlines, format, pBuf);
-
- /* Note: NOT a call to WriteSwappedDataToClient,
- as we do NOT byte swap */
- ReformatImage(pBuf, (int) (nlines * widthBytesLine),
- 1, ClientOrder(client));
-
- WriteToClient(client, (int)(nlines * widthBytesLine), pBuf);
- linesDone += nlines;
- }
- }
- }
- }
- if (pVisibleRegion)
- RegionDestroy(pVisibleRegion);
- free(pBuf);
- return Success;
-}
-
-int
-ProcGetImage(ClientPtr client)
-{
- REQUEST(xGetImageReq);
-
- REQUEST_SIZE_MATCH(xGetImageReq);
-
- return DoGetImage(client, stuff->format, stuff->drawable,
- stuff->x, stuff->y,
- (int) stuff->width, (int) stuff->height,
- stuff->planeMask);
-}
-
-int
-ProcPolyText(ClientPtr client)
-{
- int err;
-
- REQUEST(xPolyTextReq);
- DrawablePtr pDraw;
- GC *pGC;
-
- REQUEST_AT_LEAST_SIZE(xPolyTextReq);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
-
- err = PolyText(client,
- pDraw,
- pGC,
- (unsigned char *) &stuff[1],
- ((unsigned char *) stuff) + (client->req_len << 2),
- stuff->x, stuff->y, stuff->reqType, stuff->drawable);
-
- if (err == Success) {
- return Success;
- }
- else
- return err;
-}
-
-int
-ProcImageText8(ClientPtr client)
-{
- int err;
- DrawablePtr pDraw;
- GC *pGC;
-
- REQUEST(xImageTextReq);
-
- REQUEST_FIXED_SIZE(xImageTextReq, stuff->nChars);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
-
- err = ImageText(client,
- pDraw,
- pGC,
- stuff->nChars,
- (unsigned char *) &stuff[1],
- stuff->x, stuff->y, stuff->reqType, stuff->drawable);
-
- if (err == Success) {
- return Success;
- }
- else
- return err;
-}
-
-int
-ProcImageText16(ClientPtr client)
-{
- int err;
- DrawablePtr pDraw;
- GC *pGC;
-
- REQUEST(xImageTextReq);
-
- REQUEST_FIXED_SIZE(xImageTextReq, stuff->nChars << 1);
- VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
-
- err = ImageText(client,
- pDraw,
- pGC,
- stuff->nChars,
- (unsigned char *) &stuff[1],
- stuff->x, stuff->y, stuff->reqType, stuff->drawable);
-
- if (err == Success) {
- return Success;
- }
- else
- return err;
-}
-
-int
-ProcCreateColormap(ClientPtr client)
-{
- VisualPtr pVisual;
- ColormapPtr pmap;
- Colormap mid;
- WindowPtr pWin;
- ScreenPtr pScreen;
-
- REQUEST(xCreateColormapReq);
- int i, result;
-
- REQUEST_SIZE_MATCH(xCreateColormapReq);
-
- if ((stuff->alloc != AllocNone) && (stuff->alloc != AllocAll)) {
- client->errorValue = stuff->alloc;
- return BadValue;
- }
- mid = stuff->mid;
- LEGAL_NEW_RESOURCE(mid, client);
- result = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
- if (result != Success)
- return result;
-
- pScreen = pWin->drawable.pScreen;
- for (i = 0, pVisual = pScreen->visuals;
- i < pScreen->numVisuals; i++, pVisual++) {
- if (pVisual->vid != stuff->visual)
- continue;
- return CreateColormap(mid, pScreen, pVisual, &pmap,
- (int) stuff->alloc, client->index);
- }
- client->errorValue = stuff->visual;
- return BadMatch;
-}
-
-int
-ProcFreeColormap(ClientPtr client)
-{
- ColormapPtr pmap;
- int rc;
-
- REQUEST(xResourceReq);
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupResourceByType((void **) &pmap, stuff->id, RT_COLORMAP,
- client, DixDestroyAccess);
- if (rc == Success) {
- /* Freeing a default colormap is a no-op */
- if (!(pmap->flags & IsDefault))
- FreeResource(stuff->id, RT_NONE);
- return Success;
- }
- else {
- client->errorValue = stuff->id;
- return rc;
- }
-}
-
-int
-ProcCopyColormapAndFree(ClientPtr client)
-{
- Colormap mid;
- ColormapPtr pSrcMap;
-
- REQUEST(xCopyColormapAndFreeReq);
- int rc;
-
- REQUEST_SIZE_MATCH(xCopyColormapAndFreeReq);
- mid = stuff->mid;
- LEGAL_NEW_RESOURCE(mid, client);
- rc = dixLookupResourceByType((void **) &pSrcMap, stuff->srcCmap,
- RT_COLORMAP, client,
- DixReadAccess | DixRemoveAccess);
- if (rc == Success)
- return CopyColormapAndFree(mid, pSrcMap, client->index);
- client->errorValue = stuff->srcCmap;
- return rc;
-}
-
-int
-ProcInstallColormap(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xResourceReq);
- REQUEST_SIZE_MATCH(xResourceReq);
-
- rc = dixLookupResourceByType((void **) &pcmp, stuff->id, RT_COLORMAP,
- client, DixInstallAccess);
- if (rc != Success)
- goto out;
-
- rc = XaceHook(XACE_SCREEN_ACCESS, client, pcmp->pScreen, DixSetAttrAccess);
- if (rc != Success) {
- if (rc == BadValue)
- rc = BadColor;
- goto out;
- }
-
- (*(pcmp->pScreen->InstallColormap)) (pcmp);
- return Success;
-
- out:
- client->errorValue = stuff->id;
- return rc;
-}
-
-int
-ProcUninstallColormap(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xResourceReq);
- REQUEST_SIZE_MATCH(xResourceReq);
-
- rc = dixLookupResourceByType((void **) &pcmp, stuff->id, RT_COLORMAP,
- client, DixUninstallAccess);
- if (rc != Success)
- goto out;
-
- rc = XaceHook(XACE_SCREEN_ACCESS, client, pcmp->pScreen, DixSetAttrAccess);
- if (rc != Success) {
- if (rc == BadValue)
- rc = BadColor;
- goto out;
- }
-
- if (pcmp->mid != pcmp->pScreen->defColormap)
- (*(pcmp->pScreen->UninstallColormap)) (pcmp);
- return Success;
-
- out:
- client->errorValue = stuff->id;
- return rc;
-}
-
-int
-ProcListInstalledColormaps(ClientPtr client)
-{
- xListInstalledColormapsReply *preply;
- int nummaps, rc;
- WindowPtr pWin;
-
- REQUEST(xResourceReq);
- REQUEST_SIZE_MATCH(xResourceReq);
-
- rc = dixLookupWindow(&pWin, stuff->id, client, DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- rc = XaceHook(XACE_SCREEN_ACCESS, client, pWin->drawable.pScreen,
- DixGetAttrAccess);
- if (rc != Success)
- return rc;
-
- preply = malloc(sizeof(xListInstalledColormapsReply) +
- pWin->drawable.pScreen->maxInstalledCmaps *
- sizeof(Colormap));
- if (!preply)
- return BadAlloc;
-
- preply->type = X_Reply;
- preply->sequenceNumber = client->sequence;
- nummaps = (*pWin->drawable.pScreen->ListInstalledColormaps)
- (pWin->drawable.pScreen, (Colormap *) &preply[1]);
- preply->nColormaps = nummaps;
- preply->length = nummaps;
- WriteReplyToClient(client, sizeof(xListInstalledColormapsReply), preply);
- client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
- WriteSwappedDataToClient(client, nummaps * sizeof(Colormap), &preply[1]);
- free(preply);
- return Success;
-}
-
-int
-ProcAllocColor(ClientPtr client)
-{
- ColormapPtr pmap;
- int rc;
-
- REQUEST(xAllocColorReq);
-
- REQUEST_SIZE_MATCH(xAllocColorReq);
- rc = dixLookupResourceByType((void **) &pmap, stuff->cmap, RT_COLORMAP,
- client, DixAddAccess);
- if (rc == Success) {
- xAllocColorReply acr = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .red = stuff->red,
- .green = stuff->green,
- .blue = stuff->blue,
- .pixel = 0
- };
- if ((rc = AllocColor(pmap, &acr.red, &acr.green, &acr.blue,
- &acr.pixel, client->index)))
- return rc;
-#ifdef PANORAMIX
- if (noPanoramiXExtension || !pmap->pScreen->myNum)
-#endif
- WriteReplyToClient(client, sizeof(xAllocColorReply), &acr);
- return Success;
-
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcAllocNamedColor(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xAllocNamedColorReq);
-
- REQUEST_FIXED_SIZE(xAllocNamedColorReq, stuff->nbytes);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixAddAccess);
- if (rc == Success) {
- xAllocNamedColorReply ancr = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
- if (OsLookupColor
- (pcmp->pScreen->myNum, (char *) &stuff[1], stuff->nbytes,
- &ancr.exactRed, &ancr.exactGreen, &ancr.exactBlue)) {
- ancr.screenRed = ancr.exactRed;
- ancr.screenGreen = ancr.exactGreen;
- ancr.screenBlue = ancr.exactBlue;
- ancr.pixel = 0;
- if ((rc = AllocColor(pcmp,
- &ancr.screenRed, &ancr.screenGreen,
- &ancr.screenBlue, &ancr.pixel, client->index)))
- return rc;
-#ifdef PANORAMIX
- if (noPanoramiXExtension || !pcmp->pScreen->myNum)
-#endif
- WriteReplyToClient(client, sizeof(xAllocNamedColorReply),
- &ancr);
- return Success;
- }
- else
- return BadName;
-
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcAllocColorCells(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xAllocColorCellsReq);
-
- REQUEST_SIZE_MATCH(xAllocColorCellsReq);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixAddAccess);
- if (rc == Success) {
- int npixels, nmasks;
- long length;
- Pixel *ppixels, *pmasks;
-
- npixels = stuff->colors;
- if (!npixels) {
- client->errorValue = npixels;
- return BadValue;
- }
- if (stuff->contiguous != xTrue && stuff->contiguous != xFalse) {
- client->errorValue = stuff->contiguous;
- return BadValue;
- }
- nmasks = stuff->planes;
- length = ((long) npixels + (long) nmasks) * sizeof(Pixel);
- ppixels = malloc(length);
- if (!ppixels)
- return BadAlloc;
- pmasks = ppixels + npixels;
-
- if ((rc = AllocColorCells(client->index, pcmp, npixels, nmasks,
- (Bool) stuff->contiguous, ppixels, pmasks))) {
- free(ppixels);
- return rc;
- }
-#ifdef PANORAMIX
- if (noPanoramiXExtension || !pcmp->pScreen->myNum)
-#endif
- {
- xAllocColorCellsReply accr = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(length),
- .nPixels = npixels,
- .nMasks = nmasks
- };
- WriteReplyToClient(client, sizeof(xAllocColorCellsReply), &accr);
- client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
- WriteSwappedDataToClient(client, length, ppixels);
- }
- free(ppixels);
- return Success;
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcAllocColorPlanes(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xAllocColorPlanesReq);
-
- REQUEST_SIZE_MATCH(xAllocColorPlanesReq);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixAddAccess);
- if (rc == Success) {
- xAllocColorPlanesReply acpr;
- int npixels;
- long length;
- Pixel *ppixels;
-
- npixels = stuff->colors;
- if (!npixels) {
- client->errorValue = npixels;
- return BadValue;
- }
- if (stuff->contiguous != xTrue && stuff->contiguous != xFalse) {
- client->errorValue = stuff->contiguous;
- return BadValue;
- }
- acpr = (xAllocColorPlanesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .nPixels = npixels
- };
- length = (long) npixels *sizeof(Pixel);
-
- ppixels = malloc(length);
- if (!ppixels)
- return BadAlloc;
- if ((rc = AllocColorPlanes(client->index, pcmp, npixels,
- (int) stuff->red, (int) stuff->green,
- (int) stuff->blue, (Bool) stuff->contiguous,
- ppixels, &acpr.redMask, &acpr.greenMask,
- &acpr.blueMask))) {
- free(ppixels);
- return rc;
- }
- acpr.length = bytes_to_int32(length);
-#ifdef PANORAMIX
- if (noPanoramiXExtension || !pcmp->pScreen->myNum)
-#endif
- {
- WriteReplyToClient(client, sizeof(xAllocColorPlanesReply), &acpr);
- client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
- WriteSwappedDataToClient(client, length, ppixels);
- }
- free(ppixels);
- return Success;
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcFreeColors(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xFreeColorsReq);
-
- REQUEST_AT_LEAST_SIZE(xFreeColorsReq);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixRemoveAccess);
- if (rc == Success) {
- int count;
-
- if (pcmp->flags & AllAllocated)
- return BadAccess;
- count = bytes_to_int32((client->req_len << 2) - sizeof(xFreeColorsReq));
- return FreeColors(pcmp, client->index, count,
- (Pixel *) &stuff[1], (Pixel) stuff->planeMask);
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcStoreColors(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xStoreColorsReq);
-
- REQUEST_AT_LEAST_SIZE(xStoreColorsReq);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixWriteAccess);
- if (rc == Success) {
- int count;
-
- count = (client->req_len << 2) - sizeof(xStoreColorsReq);
- if (count % sizeof(xColorItem))
- return BadLength;
- count /= sizeof(xColorItem);
- return StoreColors(pcmp, count, (xColorItem *) &stuff[1], client);
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcStoreNamedColor(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xStoreNamedColorReq);
-
- REQUEST_FIXED_SIZE(xStoreNamedColorReq, stuff->nbytes);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixWriteAccess);
- if (rc == Success) {
- xColorItem def;
-
- if (OsLookupColor(pcmp->pScreen->myNum, (char *) &stuff[1],
- stuff->nbytes, &def.red, &def.green, &def.blue)) {
- def.flags = stuff->flags;
- def.pixel = stuff->pixel;
- return StoreColors(pcmp, 1, &def, client);
- }
- return BadName;
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcQueryColors(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xQueryColorsReq);
-
- REQUEST_AT_LEAST_SIZE(xQueryColorsReq);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixReadAccess);
- if (rc == Success) {
- int count;
- xrgb *prgbs;
- xQueryColorsReply qcr;
-
- count =
- bytes_to_int32((client->req_len << 2) - sizeof(xQueryColorsReq));
- prgbs = calloc(1, count * sizeof(xrgb));
- if (!prgbs && count)
- return BadAlloc;
- if ((rc =
- QueryColors(pcmp, count, (Pixel *) &stuff[1], prgbs, client))) {
- free(prgbs);
- return rc;
- }
- qcr = (xQueryColorsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(count * sizeof(xrgb)),
- .nColors = count
- };
- WriteReplyToClient(client, sizeof(xQueryColorsReply), &qcr);
- if (count) {
- client->pSwapReplyFunc = (ReplySwapPtr) SQColorsExtend;
- WriteSwappedDataToClient(client, count * sizeof(xrgb), prgbs);
- }
- free(prgbs);
- return Success;
-
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcLookupColor(ClientPtr client)
-{
- ColormapPtr pcmp;
- int rc;
-
- REQUEST(xLookupColorReq);
-
- REQUEST_FIXED_SIZE(xLookupColorReq, stuff->nbytes);
- rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
- client, DixReadAccess);
- if (rc == Success) {
- CARD16 exactRed, exactGreen, exactBlue;
-
- if (OsLookupColor
- (pcmp->pScreen->myNum, (char *) &stuff[1], stuff->nbytes,
- &exactRed, &exactGreen, &exactBlue)) {
- xLookupColorReply lcr = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .exactRed = exactRed,
- .exactGreen = exactGreen,
- .exactBlue = exactBlue,
- .screenRed = exactRed,
- .screenGreen = exactGreen,
- .screenBlue = exactBlue
- };
- (*pcmp->pScreen->ResolveColor) (&lcr.screenRed,
- &lcr.screenGreen,
- &lcr.screenBlue, pcmp->pVisual);
- WriteReplyToClient(client, sizeof(xLookupColorReply), &lcr);
- return Success;
- }
- return BadName;
- }
- else {
- client->errorValue = stuff->cmap;
- return rc;
- }
-}
-
-int
-ProcCreateCursor(ClientPtr client)
-{
- CursorPtr pCursor;
- PixmapPtr src;
- PixmapPtr msk;
- unsigned char *srcbits;
- unsigned char *mskbits;
- unsigned short width, height;
- long n;
- CursorMetricRec cm;
- int rc;
-
- REQUEST(xCreateCursorReq);
-
- REQUEST_SIZE_MATCH(xCreateCursorReq);
- LEGAL_NEW_RESOURCE(stuff->cid, client);
-
- rc = dixLookupResourceByType((void **) &src, stuff->source, RT_PIXMAP,
- client, DixReadAccess);
- if (rc != Success) {
- client->errorValue = stuff->source;
- return rc;
- }
-
- if (src->drawable.depth != 1)
- return (BadMatch);
-
- /* Find and validate cursor mask pixmap, if one is provided */
- if (stuff->mask != None) {
- rc = dixLookupResourceByType((void **) &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
- msk = NULL;
-
- width = src->drawable.width;
- height = src->drawable.height;
-
- if (stuff->x > width || stuff->y > height)
- return BadMatch;
-
- n = BitmapBytePad(width) * height;
- srcbits = calloc(1, n);
- if (!srcbits)
- return BadAlloc;
- mskbits = malloc(n);
- if (!mskbits) {
- free(srcbits);
- return BadAlloc;
- }
-
- (*src->drawable.pScreen->GetImage) ((DrawablePtr) src, 0, 0, width, height,
- XYPixmap, 1, (void *) srcbits);
- if (msk == (PixmapPtr) NULL) {
- unsigned char *bits = mskbits;
-
- while (--n >= 0)
- *bits++ = ~0;
- }
- else {
- /* zeroing the (pad) bits helps some ddx cursor handling */
- memset((char *) mskbits, 0, n);
- (*msk->drawable.pScreen->GetImage) ((DrawablePtr) msk, 0, 0, width,
- height, XYPixmap, 1,
- (void *) mskbits);
- }
- cm.width = width;
- cm.height = height;
- cm.xhot = stuff->x;
- cm.yhot = stuff->y;
- rc = AllocARGBCursor(srcbits, mskbits, NULL, &cm,
- stuff->foreRed, stuff->foreGreen, stuff->foreBlue,
- stuff->backRed, stuff->backGreen, stuff->backBlue,
- &pCursor, client, stuff->cid);
-
- if (rc != Success)
- goto bail;
- if (!AddResource(stuff->cid, RT_CURSOR, (void *) pCursor)) {
- rc = BadAlloc;
- goto bail;
- }
-
- return Success;
- bail:
- free(srcbits);
- free(mskbits);
- return rc;
-}
-
-int
-ProcCreateGlyphCursor(ClientPtr client)
-{
- CursorPtr pCursor;
- int res;
-
- REQUEST(xCreateGlyphCursorReq);
-
- REQUEST_SIZE_MATCH(xCreateGlyphCursorReq);
- LEGAL_NEW_RESOURCE(stuff->cid, client);
-
- res = AllocGlyphCursor(stuff->source, stuff->sourceChar,
- stuff->mask, stuff->maskChar,
- stuff->foreRed, stuff->foreGreen, stuff->foreBlue,
- stuff->backRed, stuff->backGreen, stuff->backBlue,
- &pCursor, client, stuff->cid);
- if (res != Success)
- return res;
- if (AddResource(stuff->cid, RT_CURSOR, (void *) pCursor))
- return Success;
- return BadAlloc;
-}
-
-int
-ProcFreeCursor(ClientPtr client)
-{
- CursorPtr pCursor;
- int rc;
-
- REQUEST(xResourceReq);
-
- REQUEST_SIZE_MATCH(xResourceReq);
- rc = dixLookupResourceByType((void **) &pCursor, stuff->id, RT_CURSOR,
- client, DixDestroyAccess);
- if (rc == Success) {
- FreeResource(stuff->id, RT_NONE);
- return Success;
- }
- else {
- client->errorValue = stuff->id;
- return rc;
- }
-}
-
-int
-ProcQueryBestSize(ClientPtr client)
-{
- xQueryBestSizeReply reply;
- DrawablePtr pDraw;
- ScreenPtr pScreen;
- int rc;
-
- REQUEST(xQueryBestSizeReq);
- REQUEST_SIZE_MATCH(xQueryBestSizeReq);
-
- if ((stuff->class != CursorShape) &&
- (stuff->class != TileShape) && (stuff->class != StippleShape)) {
- client->errorValue = stuff->class;
- return BadValue;
- }
-
- rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY,
- DixGetAttrAccess);
- if (rc != Success)
- return rc;
- if (stuff->class != CursorShape && pDraw->type == UNDRAWABLE_WINDOW)
- return BadMatch;
- pScreen = pDraw->pScreen;
- rc = XaceHook(XACE_SCREEN_ACCESS, client, pScreen, DixGetAttrAccess);
- if (rc != Success)
- return rc;
- (*pScreen->QueryBestSize) (stuff->class, &stuff->width,
- &stuff->height, pScreen);
- reply = (xQueryBestSizeReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .width = stuff->width,
- .height = stuff->height
- };
- WriteReplyToClient(client, sizeof(xQueryBestSizeReply), &reply);
- return Success;
-}
-
-int
-ProcSetScreenSaver(ClientPtr client)
-{
- int rc, i, blankingOption, exposureOption;
-
- REQUEST(xSetScreenSaverReq);
- REQUEST_SIZE_MATCH(xSetScreenSaverReq);
-
- for (i = 0; i < screenInfo.numScreens; i++) {
- rc = XaceHook(XACE_SCREENSAVER_ACCESS, client, screenInfo.screens[i],
- DixSetAttrAccess);
- if (rc != Success)
- return rc;
- }
-
- blankingOption = stuff->preferBlank;
- if ((blankingOption != DontPreferBlanking) &&
- (blankingOption != PreferBlanking) &&
- (blankingOption != DefaultBlanking)) {
- client->errorValue = blankingOption;
- return BadValue;
- }
- exposureOption = stuff->allowExpose;
- if ((exposureOption != DontAllowExposures) &&
- (exposureOption != AllowExposures) &&
- (exposureOption != DefaultExposures)) {
- client->errorValue = exposureOption;
- return BadValue;
- }
- if (stuff->timeout < -1) {
- client->errorValue = stuff->timeout;
- return BadValue;
- }
- if (stuff->interval < -1) {
- client->errorValue = stuff->interval;
- return BadValue;
- }
-
- if (blankingOption == DefaultBlanking)
- ScreenSaverBlanking = defaultScreenSaverBlanking;
- else
- ScreenSaverBlanking = blankingOption;
- if (exposureOption == DefaultExposures)
- ScreenSaverAllowExposures = defaultScreenSaverAllowExposures;
- else
- ScreenSaverAllowExposures = exposureOption;
-
- if (stuff->timeout >= 0)
- ScreenSaverTime = stuff->timeout * MILLI_PER_SECOND;
- else
- ScreenSaverTime = defaultScreenSaverTime;
- if (stuff->interval >= 0)
- ScreenSaverInterval = stuff->interval * MILLI_PER_SECOND;
- else
- ScreenSaverInterval = defaultScreenSaverInterval;
-
- SetScreenSaverTimer();
- return Success;
-}
-
-int
-ProcGetScreenSaver(ClientPtr client)
-{
- xGetScreenSaverReply rep;
- int rc, i;
-
- REQUEST_SIZE_MATCH(xReq);
-
- for (i = 0; i < screenInfo.numScreens; i++) {
- rc = XaceHook(XACE_SCREENSAVER_ACCESS, client, screenInfo.screens[i],
- DixGetAttrAccess);
- if (rc != Success)
- return rc;
- }
-
- rep = (xGetScreenSaverReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .timeout = ScreenSaverTime / MILLI_PER_SECOND,
- .interval = ScreenSaverInterval / MILLI_PER_SECOND,
- .preferBlanking = ScreenSaverBlanking,
- .allowExposures = ScreenSaverAllowExposures
- };
- WriteReplyToClient(client, sizeof(xGetScreenSaverReply), &rep);
- return Success;
-}
-
-int
-ProcChangeHosts(ClientPtr client)
-{
- REQUEST(xChangeHostsReq);
-
- REQUEST_FIXED_SIZE(xChangeHostsReq, stuff->hostLength);
-
- if (stuff->mode == HostInsert)
- return AddHost(client, (int) stuff->hostFamily,
- stuff->hostLength, (void *) &stuff[1]);
- if (stuff->mode == HostDelete)
- return RemoveHost(client, (int) stuff->hostFamily,
- stuff->hostLength, (void *) &stuff[1]);
- client->errorValue = stuff->mode;
- return BadValue;
-}
-
-int
-ProcListHosts(ClientPtr client)
-{
- xListHostsReply reply;
- int len, nHosts, result;
- BOOL enabled;
- void *pdata;
-
- /* REQUEST(xListHostsReq); */
-
- REQUEST_SIZE_MATCH(xListHostsReq);
-
- /* untrusted clients can't list hosts */
- result = XaceHook(XACE_SERVER_ACCESS, client, DixReadAccess);
- if (result != Success)
- return result;
-
- result = GetHosts(&pdata, &nHosts, &len, &enabled);
- if (result != Success)
- return result;
-
- reply = (xListHostsReply) {
- .type = X_Reply,
- .enabled = enabled,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(len),
- .nHosts = nHosts
- };
- WriteReplyToClient(client, sizeof(xListHostsReply), &reply);
- if (nHosts) {
- client->pSwapReplyFunc = (ReplySwapPtr) SLHostsExtend;
- WriteSwappedDataToClient(client, len, pdata);
- }
- free(pdata);
- return Success;
-}
-
-int
-ProcChangeAccessControl(ClientPtr client)
-{
- REQUEST(xSetAccessControlReq);
-
- REQUEST_SIZE_MATCH(xSetAccessControlReq);
- if ((stuff->mode != EnableAccess) && (stuff->mode != DisableAccess)) {
- client->errorValue = stuff->mode;
- return BadValue;
- }
- return ChangeAccessControl(client, stuff->mode == EnableAccess);
-}
-
-/*********************
- * CloseDownRetainedResources
- *
- * Find all clients that are gone and have terminated in RetainTemporary
- * and destroy their resources.
- *********************/
-
-static void
-CloseDownRetainedResources(void)
-{
- int i;
- ClientPtr client;
-
- for (i = 1; i < currentMaxClients; i++) {
- client = clients[i];
- if (client && (client->closeDownMode == RetainTemporary)
- && (client->clientGone))
- CloseDownClient(client);
- }
-}
-
-int
-ProcKillClient(ClientPtr client)
-{
- REQUEST(xResourceReq);
- ClientPtr killclient;
- int rc;
-
- REQUEST_SIZE_MATCH(xResourceReq);
- if (stuff->id == AllTemporary) {
- CloseDownRetainedResources();
- return Success;
- }
-
- rc = dixLookupClient(&killclient, stuff->id, client, DixDestroyAccess);
- if (rc == Success) {
- CloseDownClient(killclient);
- /* if an LBX proxy gets killed, isItTimeToYield will be set */
- if (isItTimeToYield || (client == killclient)) {
- /* force yield and return Success, so that Dispatch()
- * doesn't try to touch client
- */
- isItTimeToYield = TRUE;
- return Success;
- }
- return Success;
- }
- else
- return rc;
-}
-
-int
-ProcSetFontPath(ClientPtr client)
-{
- unsigned char *ptr;
- unsigned long nbytes, total;
- long nfonts;
- int n;
-
- REQUEST(xSetFontPathReq);
-
- REQUEST_AT_LEAST_SIZE(xSetFontPathReq);
-
- nbytes = (client->req_len << 2) - sizeof(xSetFontPathReq);
- total = nbytes;
- ptr = (unsigned char *) &stuff[1];
- nfonts = stuff->nFonts;
- while (--nfonts >= 0) {
- if ((total == 0) || (total < (n = (*ptr + 1))))
- return BadLength;
- total -= n;
- ptr += n;
- }
- if (total >= 4)
- return BadLength;
- return SetFontPath(client, stuff->nFonts, (unsigned char *) &stuff[1]);
-}
-
-int
-ProcGetFontPath(ClientPtr client)
-{
- xGetFontPathReply reply;
- int rc, stringLens, numpaths;
- unsigned char *bufferStart;
-
- /* REQUEST (xReq); */
-
- REQUEST_SIZE_MATCH(xReq);
- rc = GetFontPath(client, &numpaths, &stringLens, &bufferStart);
- if (rc != Success)
- return rc;
-
- reply = (xGetFontPathReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(stringLens + numpaths),
- .nPaths = numpaths
- };
-
- WriteReplyToClient(client, sizeof(xGetFontPathReply), &reply);
- if (stringLens || numpaths)
- WriteToClient(client, stringLens + numpaths, bufferStart);
- return Success;
-}
-
-int
-ProcChangeCloseDownMode(ClientPtr client)
-{
- int rc;
-
- REQUEST(xSetCloseDownModeReq);
- REQUEST_SIZE_MATCH(xSetCloseDownModeReq);
-
- rc = XaceHook(XACE_CLIENT_ACCESS, client, client, DixManageAccess);
- if (rc != Success)
- return rc;
-
- if ((stuff->mode == AllTemporary) ||
- (stuff->mode == RetainPermanent) || (stuff->mode == RetainTemporary)) {
- client->closeDownMode = stuff->mode;
- return Success;
- }
- else {
- client->errorValue = stuff->mode;
- return BadValue;
- }
-}
-
-int
-ProcForceScreenSaver(ClientPtr client)
-{
- int rc;
-
- REQUEST(xForceScreenSaverReq);
-
- REQUEST_SIZE_MATCH(xForceScreenSaverReq);
-
- if ((stuff->mode != ScreenSaverReset) && (stuff->mode != ScreenSaverActive)) {
- client->errorValue = stuff->mode;
- return BadValue;
- }
- rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, (int) stuff->mode);
- if (rc != Success)
- return rc;
- return Success;
-}
-
-int
-ProcNoOperation(ClientPtr client)
-{
- REQUEST_AT_LEAST_SIZE(xReq);
-
- /* noop -- don't do anything */
- return Success;
-}
-
-/**********************
- * CloseDownClient
- *
- * Client can either mark his resources destroy or retain. If retained and
- * then killed again, the client is really destroyed.
- *********************/
-
-char dispatchExceptionAtReset = DE_RESET;
-
-void
-CloseDownClient(ClientPtr client)
-{
- Bool really_close_down = client->clientGone ||
- client->closeDownMode == DestroyAll;
-
- if (!client->clientGone) {
- /* ungrab server if grabbing client dies */
- if (grabState != GrabNone && grabClient == client) {
- UngrabServer(client);
- }
- BITCLEAR(grabWaiters, client->index);
- DeleteClientFromAnySelections(client);
- ReleaseActiveGrabs(client);
- DeleteClientFontStuff(client);
- if (!really_close_down) {
- /* This frees resources that should never be retained
- * no matter what the close down mode is. Actually we
- * could do this unconditionally, but it's probably
- * better not to traverse all the client's resources
- * twice (once here, once a few lines down in
- * FreeClientResources) in the common case of
- * really_close_down == TRUE.
- */
- FreeClientNeverRetainResources(client);
- client->clientState = ClientStateRetained;
- if (ClientStateCallback) {
- NewClientInfoRec clientinfo;
-
- clientinfo.client = client;
- clientinfo.prefix = (xConnSetupPrefix *) NULL;
- clientinfo.setup = (xConnSetup *) NULL;
- CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
- }
- }
- client->clientGone = TRUE; /* so events aren't sent to client */
- if (ClientIsAsleep(client))
- ClientSignal(client);
- ProcessWorkQueueZombies();
- CloseDownConnection(client);
-
- /* If the client made it to the Running stage, nClients has
- * been incremented on its behalf, so we need to decrement it
- * now. If it hasn't gotten to Running, nClients has *not*
- * been incremented, so *don't* decrement it.
- */
- if (client->clientState != ClientStateInitial) {
- --nClients;
- }
- }
-
- if (really_close_down) {
- if (client->clientState == ClientStateRunning && nClients == 0)
- dispatchException |= dispatchExceptionAtReset;
-
- client->clientState = ClientStateGone;
- if (ClientStateCallback) {
- NewClientInfoRec clientinfo;
-
- clientinfo.client = client;
- clientinfo.prefix = (xConnSetupPrefix *) NULL;
- clientinfo.setup = (xConnSetup *) NULL;
- CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
- }
- TouchListenerGone(client->clientAsMask);
- FreeClientResources(client);
- /* Disable client ID tracking. This must be done after
- * ClientStateCallback. */
- ReleaseClientIds(client);
-#ifdef XSERVER_DTRACE
- XSERVER_CLIENT_DISCONNECT(client->index);
-#endif
- if (client->index < nextFreeClientID)
- nextFreeClientID = client->index;
- clients[client->index] = NullClient;
- SmartLastClient = NullClient;
- dixFreeObjectWithPrivates(client, PRIVATE_CLIENT);
-
- while (!clients[currentMaxClients - 1])
- currentMaxClients--;
- }
-}
-
-static void
-KillAllClients(void)
-{
- int i;
-
- for (i = 1; i < currentMaxClients; i++)
- if (clients[i]) {
- /* Make sure Retained clients are released. */
- clients[i]->closeDownMode = DestroyAll;
- CloseDownClient(clients[i]);
- }
-}
-
-void
-InitClient(ClientPtr client, int i, void *ospriv)
-{
- client->index = i;
- client->clientAsMask = ((Mask) i) << CLIENTOFFSET;
- client->closeDownMode = i ? DestroyAll : RetainPermanent;
- client->requestVector = InitialVector;
- client->osPrivate = ospriv;
- QueryMinMaxKeyCodes(&client->minKC, &client->maxKC);
- client->smart_start_tick = SmartScheduleTime;
- client->smart_stop_tick = SmartScheduleTime;
- client->clientIds = NULL;
-}
-
-/************************
- * int NextAvailableClient(ospriv)
- *
- * OS dependent portion can't assign client id's because of CloseDownModes.
- * Returns NULL if there are no free clients.
- *************************/
-
-ClientPtr
-NextAvailableClient(void *ospriv)
-{
- int i;
- ClientPtr client;
- xReq data;
-
- i = nextFreeClientID;
- if (i == MAXCLIENTS)
- return (ClientPtr) NULL;
- clients[i] = client =
- dixAllocateObjectWithPrivates(ClientRec, PRIVATE_CLIENT);
- if (!client)
- return (ClientPtr) NULL;
- InitClient(client, i, ospriv);
- if (!InitClientResources(client)) {
- dixFreeObjectWithPrivates(client, PRIVATE_CLIENT);
- return (ClientPtr) NULL;
- }
- data.reqType = 1;
- data.length = bytes_to_int32(sz_xReq + sz_xConnClientPrefix);
- if (!InsertFakeRequest(client, (char *) &data, sz_xReq)) {
- FreeClientResources(client);
- dixFreeObjectWithPrivates(client, PRIVATE_CLIENT);
- return (ClientPtr) NULL;
- }
- if (i == currentMaxClients)
- currentMaxClients++;
- while ((nextFreeClientID < MAXCLIENTS) && clients[nextFreeClientID])
- nextFreeClientID++;
-
- /* Enable client ID tracking. This must be done before
- * ClientStateCallback. */
- ReserveClientIds(client);
-
- if (ClientStateCallback) {
- NewClientInfoRec clientinfo;
-
- clientinfo.client = client;
- clientinfo.prefix = (xConnSetupPrefix *) NULL;
- clientinfo.setup = (xConnSetup *) NULL;
- CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
- }
- return client;
-}
-
-int
-ProcInitialConnection(ClientPtr client)
-{
- REQUEST(xReq);
- xConnClientPrefix *prefix;
- int whichbyte = 1;
- char order;
-
- prefix = (xConnClientPrefix *) ((char *)stuff + sz_xReq);
- order = prefix->byteOrder;
- if (order != 'l' && order != 'B' && order != 'r' && order != 'R')
- return client->noClientException = -1;
- if (((*(char *) &whichbyte) && (order == 'B' || order == 'R')) ||
- (!(*(char *) &whichbyte) && (order == 'l' || order == 'r'))) {
- client->swapped = TRUE;
- SwapConnClientPrefix(prefix);
- }
- stuff->reqType = 2;
- stuff->length += bytes_to_int32(prefix->nbytesAuthProto) +
- bytes_to_int32(prefix->nbytesAuthString);
- if (client->swapped) {
- swaps(&stuff->length);
- }
- if (order == 'r' || order == 'R') {
- client->local = FALSE;
- }
- ResetCurrentRequest(client);
- return Success;
-}
-
-static int
-SendConnSetup(ClientPtr client, const char *reason)
-{
- xWindowRoot *root;
- int i;
- int numScreens;
- char *lConnectionInfo;
- xConnSetupPrefix *lconnSetupPrefix;
-
- if (reason) {
- xConnSetupPrefix csp;
-
- csp.success = xFalse;
- csp.lengthReason = strlen(reason);
- csp.length = bytes_to_int32(csp.lengthReason);
- csp.majorVersion = X_PROTOCOL;
- csp.minorVersion = X_PROTOCOL_REVISION;
- if (client->swapped)
- WriteSConnSetupPrefix(client, &csp);
- else
- WriteToClient(client, sz_xConnSetupPrefix, &csp);
- WriteToClient(client, (int) csp.lengthReason, reason);
- return client->noClientException = -1;
- }
-
- numScreens = screenInfo.numScreens;
- lConnectionInfo = ConnectionInfo;
- lconnSetupPrefix = &connSetupPrefix;
-
- /* We're about to start speaking X protocol back to the client by
- * sending the connection setup info. This means the authorization
- * step is complete, and we can count the client as an
- * authorized one.
- */
- nClients++;
-
- client->requestVector = client->swapped ? SwappedProcVector : ProcVector;
- client->sequence = 0;
- ((xConnSetup *) lConnectionInfo)->ridBase = client->clientAsMask;
- ((xConnSetup *) lConnectionInfo)->ridMask = RESOURCE_ID_MASK;
-#ifdef MATCH_CLIENT_ENDIAN
- ((xConnSetup *) lConnectionInfo)->imageByteOrder = ClientOrder(client);
- ((xConnSetup *) lConnectionInfo)->bitmapBitOrder = ClientOrder(client);
-#endif
- /* fill in the "currentInputMask" */
- root = (xWindowRoot *) (lConnectionInfo + connBlockScreenStart);
-#ifdef PANORAMIX
- if (noPanoramiXExtension)
- numScreens = screenInfo.numScreens;
- else
- numScreens = ((xConnSetup *) ConnectionInfo)->numRoots;
-#endif
-
- for (i = 0; i < numScreens; i++) {
- unsigned int j;
- xDepth *pDepth;
- WindowPtr pRoot = screenInfo.screens[i]->root;
-
- root->currentInputMask = pRoot->eventMask | wOtherEventMasks(pRoot);
- pDepth = (xDepth *) (root + 1);
- for (j = 0; j < root->nDepths; j++) {
- pDepth = (xDepth *) (((char *) (pDepth + 1)) +
- pDepth->nVisuals * sizeof(xVisualType));
- }
- root = (xWindowRoot *) pDepth;
- }
-
- if (client->swapped) {
- WriteSConnSetupPrefix(client, lconnSetupPrefix);
- WriteSConnectionInfo(client,
- (unsigned long) (lconnSetupPrefix->length << 2),
- lConnectionInfo);
- }
- else {
- WriteToClient(client, sizeof(xConnSetupPrefix), lconnSetupPrefix);
- WriteToClient(client, (int) (lconnSetupPrefix->length << 2),
- lConnectionInfo);
- }
- client->clientState = ClientStateRunning;
- if (ClientStateCallback) {
- NewClientInfoRec clientinfo;
-
- clientinfo.client = client;
- clientinfo.prefix = lconnSetupPrefix;
- clientinfo.setup = (xConnSetup *) lConnectionInfo;
- CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
- }
- return Success;
-}
-
-int
-ProcEstablishConnection(ClientPtr client)
-{
- const char *reason;
- char *auth_proto, *auth_string;
- xConnClientPrefix *prefix;
-
- REQUEST(xReq);
-
- prefix = (xConnClientPrefix *) ((char *) stuff + sz_xReq);
- auth_proto = (char *) prefix + sz_xConnClientPrefix;
- auth_string = auth_proto + pad_to_int32(prefix->nbytesAuthProto);
- if ((prefix->majorVersion != X_PROTOCOL) ||
- (prefix->minorVersion != X_PROTOCOL_REVISION))
- reason = "Protocol version mismatch";
- else
- reason = ClientAuthorized(client,
- (unsigned short) prefix->nbytesAuthProto,
- auth_proto,
- (unsigned short) prefix->nbytesAuthString,
- auth_string);
-
- return (SendConnSetup(client, reason));
-}
-
-void
-SendErrorToClient(ClientPtr client, unsigned majorCode, unsigned minorCode,
- XID resId, int errorCode)
-{
- xError rep = {
- .type = X_Error,
- .errorCode = errorCode,
- .resourceID = resId,
- .minorCode = minorCode,
- .majorCode = majorCode
- };
-
- WriteEventsToClient(client, 1, (xEvent *) &rep);
-}
-
-void
-MarkClientException(ClientPtr client)
-{
- client->noClientException = -1;
-}
-
-/*
- * This array encodes the answer to the question "what is the log base 2
- * of the number of pixels that fit in a scanline pad unit?"
- * Note that ~0 is an invalid entry (mostly for the benefit of the reader).
- */
-static int answer[6][4] = {
- /* pad pad pad pad */
- /* 8 16 32 64 */
-
- {3, 4, 5, 6}, /* 1 bit per pixel */
- {1, 2, 3, 4}, /* 4 bits per pixel */
- {0, 1, 2, 3}, /* 8 bits per pixel */
- {~0, 0, 1, 2}, /* 16 bits per pixel */
- {~0, ~0, 0, 1}, /* 24 bits per pixel */
- {~0, ~0, 0, 1} /* 32 bits per pixel */
-};
-
-/*
- * This array gives the answer to the question "what is the first index for
- * the answer array above given the number of bits per pixel?"
- * Note that ~0 is an invalid entry (mostly for the benefit of the reader).
- */
-static int indexForBitsPerPixel[33] = {
- ~0, 0, ~0, ~0, /* 1 bit per pixel */
- 1, ~0, ~0, ~0, /* 4 bits per pixel */
- 2, ~0, ~0, ~0, /* 8 bits per pixel */
- ~0, ~0, ~0, ~0,
- 3, ~0, ~0, ~0, /* 16 bits per pixel */
- ~0, ~0, ~0, ~0,
- 4, ~0, ~0, ~0, /* 24 bits per pixel */
- ~0, ~0, ~0, ~0,
- 5 /* 32 bits per pixel */
-};
-
-/*
- * This array gives the bytesperPixel value for cases where the number
- * of bits per pixel is a multiple of 8 but not a power of 2.
- */
-static int answerBytesPerPixel[33] = {
- ~0, 0, ~0, ~0, /* 1 bit per pixel */
- 0, ~0, ~0, ~0, /* 4 bits per pixel */
- 0, ~0, ~0, ~0, /* 8 bits per pixel */
- ~0, ~0, ~0, ~0,
- 0, ~0, ~0, ~0, /* 16 bits per pixel */
- ~0, ~0, ~0, ~0,
- 3, ~0, ~0, ~0, /* 24 bits per pixel */
- ~0, ~0, ~0, ~0,
- 0 /* 32 bits per pixel */
-};
-
-/*
- * This array gives the answer to the question "what is the second index for
- * the answer array above given the number of bits per scanline pad unit?"
- * Note that ~0 is an invalid entry (mostly for the benefit of the reader).
- */
-static int indexForScanlinePad[65] = {
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- 0, ~0, ~0, ~0, /* 8 bits per scanline pad unit */
- ~0, ~0, ~0, ~0,
- 1, ~0, ~0, ~0, /* 16 bits per scanline pad unit */
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- 2, ~0, ~0, ~0, /* 32 bits per scanline pad unit */
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- ~0, ~0, ~0, ~0,
- 3 /* 64 bits per scanline pad unit */
-};
-
-/*
- grow the array of screenRecs if necessary.
- call the device-supplied initialization procedure
-with its screen number, a pointer to its ScreenRec, argc, and argv.
- return the number of successfully installed screens.
-
-*/
-
-static int init_screen(ScreenPtr pScreen, int i, Bool gpu)
-{
- int scanlinepad, format, depth, bitsPerPixel, j, k;
-
- dixInitScreenSpecificPrivates(pScreen);
-
- if (!dixAllocatePrivates(&pScreen->devPrivates, PRIVATE_SCREEN)) {
- return -1;
- }
- pScreen->myNum = i;
- if (gpu) {
- pScreen->myNum += GPU_SCREEN_OFFSET;
- pScreen->isGPU = TRUE;
- }
- pScreen->totalPixmapSize = 0; /* computed in CreateScratchPixmapForScreen */
- pScreen->ClipNotify = 0; /* for R4 ddx compatibility */
- pScreen->CreateScreenResources = 0;
-
- xorg_list_init(&pScreen->pixmap_dirty_list);
- xorg_list_init(&pScreen->unattached_list);
- xorg_list_init(&pScreen->output_slave_list);
- xorg_list_init(&pScreen->offload_slave_list);
-
- /*
- * This loop gets run once for every Screen that gets added,
- * but thats ok. If the ddx layer initializes the formats
- * one at a time calling AddScreen() after each, then each
- * iteration will make it a little more accurate. Worst case
- * we do this loop N * numPixmapFormats where N is # of screens.
- * Anyway, this must be called after InitOutput and before the
- * screen init routine is called.
- */
- for (format = 0; format < screenInfo.numPixmapFormats; format++) {
- depth = screenInfo.formats[format].depth;
- bitsPerPixel = screenInfo.formats[format].bitsPerPixel;
- scanlinepad = screenInfo.formats[format].scanlinePad;
- j = indexForBitsPerPixel[bitsPerPixel];
- k = indexForScanlinePad[scanlinepad];
- PixmapWidthPaddingInfo[depth].padPixelsLog2 = answer[j][k];
- PixmapWidthPaddingInfo[depth].padRoundUp =
- (scanlinepad / bitsPerPixel) - 1;
- j = indexForBitsPerPixel[8]; /* bits per byte */
- PixmapWidthPaddingInfo[depth].padBytesLog2 = answer[j][k];
- PixmapWidthPaddingInfo[depth].bitsPerPixel = bitsPerPixel;
- if (answerBytesPerPixel[bitsPerPixel]) {
- PixmapWidthPaddingInfo[depth].notPower2 = 1;
- PixmapWidthPaddingInfo[depth].bytesPerPixel =
- answerBytesPerPixel[bitsPerPixel];
- }
- else {
- PixmapWidthPaddingInfo[depth].notPower2 = 0;
- }
- }
- return 0;
-}
-
-int
-AddScreen(Bool (*pfnInit) (ScreenPtr /*pScreen */ ,
- int /*argc */ ,
- char ** /*argv */
- ), int argc, char **argv)
-{
-
- int i;
- ScreenPtr pScreen;
- Bool ret;
-
- i = screenInfo.numScreens;
- if (i == MAXSCREENS)
- return -1;
-
- pScreen = (ScreenPtr) calloc(1, sizeof(ScreenRec));
- if (!pScreen)
- return -1;
-
- ret = init_screen(pScreen, i, FALSE);
- if (ret != 0) {
- free(pScreen);
- return ret;
- }
- /* This is where screen specific stuff gets initialized. Load the
- screen structure, call the hardware, whatever.
- This is also where the default colormap should be allocated and
- also pixel values for blackPixel, whitePixel, and the cursor
- Note that InitScreen is NOT allowed to modify argc, argv, or
- any of the strings pointed to by argv. They may be passed to
- multiple screens.
- */
- screenInfo.screens[i] = pScreen;
- screenInfo.numScreens++;
- if (!(*pfnInit) (pScreen, argc, argv)) {
- dixFreeScreenSpecificPrivates(pScreen);
- dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
- free(pScreen);
- screenInfo.numScreens--;
- return -1;
- }
-
- update_desktop_dimensions();
-
- dixRegisterScreenPrivateKey(&cursorScreenDevPriv, pScreen, PRIVATE_CURSOR,
- 0);
-
- return i;
-}
-
-int
-AddGPUScreen(Bool (*pfnInit) (ScreenPtr /*pScreen */ ,
- int /*argc */ ,
- char ** /*argv */
- ),
- int argc, char **argv)
-{
- int i;
- ScreenPtr pScreen;
- Bool ret;
-
- i = screenInfo.numGPUScreens;
- if (i == MAXGPUSCREENS)
- return -1;
-
- pScreen = (ScreenPtr) calloc(1, sizeof(ScreenRec));
- if (!pScreen)
- return -1;
-
- ret = init_screen(pScreen, i, TRUE);
- if (ret != 0) {
- free(pScreen);
- return ret;
- }
-
- /* This is where screen specific stuff gets initialized. Load the
- screen structure, call the hardware, whatever.
- This is also where the default colormap should be allocated and
- also pixel values for blackPixel, whitePixel, and the cursor
- Note that InitScreen is NOT allowed to modify argc, argv, or
- any of the strings pointed to by argv. They may be passed to
- multiple screens.
- */
- screenInfo.gpuscreens[i] = pScreen;
- screenInfo.numGPUScreens++;
- if (!(*pfnInit) (pScreen, argc, argv)) {
- dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
- free(pScreen);
- screenInfo.numGPUScreens--;
- return -1;
- }
-
- update_desktop_dimensions();
-
- return i;
-}
-
-void
-RemoveGPUScreen(ScreenPtr pScreen)
-{
- int idx, j;
- if (!pScreen->isGPU)
- return;
-
- idx = pScreen->myNum - GPU_SCREEN_OFFSET;
- for (j = idx; j < screenInfo.numGPUScreens - 1; j++) {
- screenInfo.gpuscreens[j] = screenInfo.gpuscreens[j + 1];
- screenInfo.gpuscreens[j]->myNum = j + GPU_SCREEN_OFFSET;
- }
- screenInfo.numGPUScreens--;
-
- /* this gets freed later in the resource list, but without
- * the screen existing it causes crashes - so remove it here */
- if (pScreen->defColormap)
- FreeResource(pScreen->defColormap, RT_COLORMAP);
- free(pScreen);
-
-}
-
-void
-AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr new)
-{
- assert(new->isGPU);
- assert(!new->current_master);
- xorg_list_add(&new->unattached_head, &pScreen->unattached_list);
- new->current_master = pScreen;
-}
-
-void
-DetachUnboundGPU(ScreenPtr slave)
-{
- assert(slave->isGPU);
- xorg_list_del(&slave->unattached_head);
- slave->current_master = NULL;
-}
-
-void
-AttachOutputGPU(ScreenPtr pScreen, ScreenPtr new)
-{
- assert(new->isGPU);
- xorg_list_add(&new->output_head, &pScreen->output_slave_list);
- new->current_master = pScreen;
-}
-
-void
-DetachOutputGPU(ScreenPtr slave)
-{
- assert(slave->isGPU);
- xorg_list_del(&slave->output_head);
- slave->current_master = NULL;
-}
-
-void
-AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr new)
-{
- assert(new->isGPU);
- xorg_list_add(&new->offload_head, &pScreen->offload_slave_list);
- new->current_master = pScreen;
-}
-
-void
-DetachOffloadGPU(ScreenPtr slave)
-{
- assert(slave->isGPU);
- xorg_list_del(&slave->offload_head);
- slave->current_master = NULL;
-}
-
+/************************************************************
+
+Copyright 1987, 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1987, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+/* The panoramix components contained the following notice */
+/*****************************************************************
+
+Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+******************************************************************/
+
+/* XSERVER_DTRACE additions:
+ * Copyright (c) 2005-2006, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#include <version-config.h>
+#endif
+
+#ifdef CreateWindow
+#undef CreateWindow
+#endif
+
+#ifdef PANORAMIX_DEBUG
+#include <stdio.h>
+int ProcInitialConnection();
+#endif
+
+#include "windowstr.h"
+#include <X11/fonts/fontstruct.h>
+#include "dixfontstr.h"
+#include "gcstruct.h"
+#include "selection.h"
+#include "colormapst.h"
+#include "cursorstr.h"
+#include "scrnintstr.h"
+#include "opaque.h"
+#include "input.h"
+#include "servermd.h"
+#include "extnsionst.h"
+#include "dixfont.h"
+#include "dispatch.h"
+#include "swaprep.h"
+#include "swapreq.h"
+#include "privates.h"
+#include "xace.h"
+#include "inputstr.h"
+#include "xkbsrv.h"
+#include "site.h"
+#include "client.h"
+
+#ifdef XSERVER_DTRACE
+#include "registry.h"
+#include <sys/types.h>
+typedef const char *string;
+
+#include "Xserver-dtrace.h"
+#endif
+
+#define mskcnt ((MAXCLIENTS + 31) / 32)
+#define BITMASK(i) (1U << ((i) & 31))
+#define MASKIDX(i) ((i) >> 5)
+#define MASKWORD(buf, i) buf[MASKIDX(i)]
+#define BITSET(buf, i) MASKWORD(buf, i) |= BITMASK(i)
+#define BITCLEAR(buf, i) MASKWORD(buf, i) &= ~BITMASK(i)
+#define GETBIT(buf, i) (MASKWORD(buf, i) & BITMASK(i))
+
+xConnSetupPrefix connSetupPrefix;
+
+PaddingInfo PixmapWidthPaddingInfo[33];
+
+static ClientPtr grabClient;
+
+#define GrabNone 0
+#define GrabActive 1
+#define GrabKickout 2
+static int grabState = GrabNone;
+static long grabWaiters[mskcnt];
+CallbackListPtr ServerGrabCallback = NULL;
+HWEventQueuePtr checkForInput[2];
+int connBlockScreenStart;
+
+static void KillAllClients(void);
+
+static int nextFreeClientID; /* always MIN free client ID */
+
+static int nClients; /* number of authorized clients */
+
+CallbackListPtr ClientStateCallback;
+
+/* dispatchException & isItTimeToYield must be declared volatile since they
+ * are modified by signal handlers - otherwise optimizer may assume it doesn't
+ * need to actually check value in memory when used and may miss changes from
+ * signal handlers.
+ */
+volatile char dispatchException = 0;
+volatile char isItTimeToYield;
+
+#define SAME_SCREENS(a, b) (\
+ (a.pScreen == b.pScreen))
+
+void
+SetInputCheck(HWEventQueuePtr c0, HWEventQueuePtr c1)
+{
+ checkForInput[0] = c0;
+ checkForInput[1] = c1;
+}
+
+void
+UpdateCurrentTime(void)
+{
+ TimeStamp systime;
+
+ /* To avoid time running backwards, we must call GetTimeInMillis before
+ * calling ProcessInputEvents.
+ */
+ systime.months = currentTime.months;
+ systime.milliseconds = GetTimeInMillis();
+ if (systime.milliseconds < currentTime.milliseconds)
+ systime.months++;
+ if (*checkForInput[0] != *checkForInput[1])
+ ProcessInputEvents();
+ if (CompareTimeStamps(systime, currentTime) == LATER)
+ currentTime = systime;
+}
+
+/* Like UpdateCurrentTime, but can't call ProcessInputEvents */
+void
+UpdateCurrentTimeIf(void)
+{
+ TimeStamp systime;
+
+ systime.months = currentTime.months;
+ systime.milliseconds = GetTimeInMillis();
+ if (systime.milliseconds < currentTime.milliseconds)
+ systime.months++;
+ if (CompareTimeStamps(systime, currentTime) == LATER)
+ currentTime = systime;
+}
+
+#undef SMART_DEBUG
+
+/* in milliseconds */
+#define SMART_SCHEDULE_DEFAULT_INTERVAL 5
+#define SMART_SCHEDULE_MAX_SLICE 15
+
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(_MSC_VER)
+Bool SmartScheduleDisable = TRUE;
+#else
+Bool SmartScheduleDisable = FALSE;
+#endif
+long SmartScheduleSlice = SMART_SCHEDULE_DEFAULT_INTERVAL;
+long SmartScheduleInterval = SMART_SCHEDULE_DEFAULT_INTERVAL;
+long SmartScheduleMaxSlice = SMART_SCHEDULE_MAX_SLICE;
+long SmartScheduleTime;
+int SmartScheduleLatencyLimited = 0;
+static ClientPtr SmartLastClient;
+static int SmartLastIndex[SMART_MAX_PRIORITY - SMART_MIN_PRIORITY + 1];
+
+#ifdef SMART_DEBUG
+long SmartLastPrint;
+#endif
+
+void Dispatch(void);
+
+static int
+SmartScheduleClient(int *clientReady, int nready)
+{
+ ClientPtr pClient;
+ int i;
+ int client;
+ int bestPrio, best = 0;
+ int bestRobin, robin;
+ long now = SmartScheduleTime;
+ long idle;
+
+ bestPrio = -0x7fffffff;
+ bestRobin = 0;
+ idle = 2 * SmartScheduleSlice;
+ for (i = 0; i < nready; i++) {
+ client = clientReady[i];
+ pClient = clients[client];
+ /* Praise clients which haven't run in a while */
+ if ((now - pClient->smart_stop_tick) >= idle) {
+ if (pClient->smart_priority < 0)
+ pClient->smart_priority++;
+ }
+
+ /* check priority to select best client */
+ robin =
+ (pClient->index -
+ SmartLastIndex[pClient->smart_priority -
+ SMART_MIN_PRIORITY]) & 0xff;
+ if (pClient->smart_priority > bestPrio ||
+ (pClient->smart_priority == bestPrio && robin > bestRobin)) {
+ bestPrio = pClient->smart_priority;
+ bestRobin = robin;
+ best = client;
+ }
+#ifdef SMART_DEBUG
+ if ((now - SmartLastPrint) >= 5000)
+ fprintf(stderr, " %2d: %3d", client, pClient->smart_priority);
+#endif
+ }
+#ifdef SMART_DEBUG
+ if ((now - SmartLastPrint) >= 5000) {
+ fprintf(stderr, " use %2d\n", best);
+ SmartLastPrint = now;
+ }
+#endif
+ pClient = clients[best];
+ SmartLastIndex[bestPrio - SMART_MIN_PRIORITY] = pClient->index;
+ /*
+ * Set current client pointer
+ */
+ if (SmartLastClient != pClient) {
+ pClient->smart_start_tick = now;
+ SmartLastClient = pClient;
+ }
+ /*
+ * Adjust slice
+ */
+ if (nready == 1 && SmartScheduleLatencyLimited == 0) {
+ /*
+ * If it's been a long time since another client
+ * has run, bump the slice up to get maximal
+ * performance from a single client
+ */
+ if ((now - pClient->smart_start_tick) > 1000 &&
+ SmartScheduleSlice < SmartScheduleMaxSlice) {
+ SmartScheduleSlice += SmartScheduleInterval;
+ }
+ }
+ else {
+ SmartScheduleSlice = SmartScheduleInterval;
+ }
+ return best;
+}
+
+void
+EnableLimitedSchedulingLatency(void)
+{
+ ++SmartScheduleLatencyLimited;
+ SmartScheduleSlice = SmartScheduleInterval;
+}
+
+void
+DisableLimitedSchedulingLatency(void)
+{
+ --SmartScheduleLatencyLimited;
+
+ /* protect against bugs */
+ if (SmartScheduleLatencyLimited < 0)
+ SmartScheduleLatencyLimited = 0;
+}
+
+void
+Dispatch(void)
+{
+ int *clientReady; /* array of request ready clients */
+ int result;
+ ClientPtr client;
+ int nready;
+ HWEventQueuePtr *icheck = checkForInput;
+ long start_tick;
+
+ nextFreeClientID = 1;
+ nClients = 0;
+
+ clientReady = malloc(sizeof(int) * MaxClients);
+ if (!clientReady)
+ return;
+
+ SmartScheduleSlice = SmartScheduleInterval;
+ while (!dispatchException) {
+ if (*icheck[0] != *icheck[1]) {
+ ProcessInputEvents();
+ FlushIfCriticalOutputPending();
+ }
+
+ nready = WaitForSomething(clientReady);
+
+ if (nready && !SmartScheduleDisable) {
+ clientReady[0] = SmartScheduleClient(clientReady, nready);
+ nready = 1;
+ }
+ /*****************
+ * Handle events in round robin fashion, doing input between
+ * each round
+ *****************/
+
+ while (!dispatchException && (--nready >= 0)) {
+ client = clients[clientReady[nready]];
+ if (!client) {
+ /* KillClient can cause this to happen */
+ continue;
+ }
+ /* GrabServer activation can cause this to be true */
+ if (grabState == GrabKickout) {
+ grabState = GrabActive;
+ break;
+ }
+ isItTimeToYield = FALSE;
+
+ start_tick = SmartScheduleTime;
+ while (!isItTimeToYield) {
+#ifdef XSERVER_DTRACE
+ CARD8 StartMajorOp;
+#endif
+ if (*icheck[0] != *icheck[1])
+ ProcessInputEvents();
+
+ FlushIfCriticalOutputPending();
+ if (!SmartScheduleDisable &&
+ (SmartScheduleTime - start_tick) >= SmartScheduleSlice) {
+ /* Penalize clients which consume ticks */
+ if (client->smart_priority > SMART_MIN_PRIORITY)
+ client->smart_priority--;
+ break;
+ }
+ /* now, finally, deal with client requests */
+
+ /* Update currentTime so request time checks, such as for input
+ * device grabs, are calculated correctly */
+ UpdateCurrentTimeIf();
+ result = ReadRequestFromClient(client);
+ if (result <= 0) {
+ if (result < 0)
+ CloseDownClient(client);
+ break;
+ }
+
+ client->sequence++;
+ client->majorOp = ((xReq *) client->requestBuffer)->reqType;
+ client->minorOp = 0;
+ if (client->majorOp >= EXTENSION_BASE) {
+ ExtensionEntry *ext = GetExtensionEntry(client->majorOp);
+
+ if (ext)
+ client->minorOp = ext->MinorOpcode(client);
+ }
+#ifdef XSERVER_DTRACE
+ if (XSERVER_REQUEST_START_ENABLED())
+ {
+ StartMajorOp=client->majorOp;
+ XSERVER_REQUEST_START(LookupMajorName(client->majorOp),
+ client->majorOp,
+ ((xReq *) client->requestBuffer)->length,
+ client->index,
+ client->requestBuffer);
+ }
+#endif
+ if (result > (maxBigRequestSize << 2))
+ result = BadLength;
+ else {
+ result = XaceHookDispatch(client, client->majorOp);
+ if (result == Success)
+ result =
+ (*client->requestVector[client->majorOp]) (client);
+ XaceHookAuditEnd(client, result);
+ }
+#ifdef XSERVER_DTRACE
+ if (XSERVER_REQUEST_DONE_ENABLED())
+ {
+ if (result!=Success)
+ {
+ char Message[255];
+ sprintf(Message,"ERROR: %s (0x%x)",LookupMajorName(client->majorOp),client->errorValue);
+ XSERVER_REQUEST_DONE(Message,
+ client->majorOp, client->sequence,
+ client->index, result);
+ }
+ else
+ {
+ if (StartMajorOp!=client->majorOp)
+ {
+ char Message[255];
+ sprintf(Message,"Changed request: %s -> %s",LookupMajorName(StartMajorOp),LookupMajorName(client->majorOp));
+ XSERVER_REQUEST_DONE(Message,
+ client->majorOp, client->sequence,
+ client->index, result);
+ }
+ else
+ {
+ XSERVER_REQUEST_DONE(LookupMajorName(client->majorOp),
+ client->majorOp, client->sequence,
+ client->index, result);
+ }
+ }
+ }
+#endif
+
+ if (client->noClientException != Success) {
+ CloseDownClient(client);
+ break;
+ }
+ else if (result != Success) {
+ SendErrorToClient(client, client->majorOp,
+ client->minorOp,
+ client->errorValue, result);
+ break;
+ }
+ }
+ FlushAllOutput();
+ client = clients[clientReady[nready]];
+ if (client)
+ client->smart_stop_tick = SmartScheduleTime;
+ }
+ dispatchException &= ~DE_PRIORITYCHANGE;
+ }
+#if defined(DDXBEFORERESET)
+ ddxBeforeReset();
+#endif
+ KillAllClients();
+ free(clientReady);
+ dispatchException &= ~DE_RESET;
+ SmartScheduleLatencyLimited = 0;
+ ResetOsBuffers();
+}
+
+static int VendorRelease = VENDOR_RELEASE;
+static const char *VendorString = VENDOR_NAME;
+
+void
+SetVendorRelease(int release)
+{
+ VendorRelease = release;
+}
+
+void
+SetVendorString(const char *vendor)
+{
+ VendorString = vendor;
+}
+
+Bool
+CreateConnectionBlock(void)
+{
+ xConnSetup setup;
+ xWindowRoot root;
+ xDepth depth;
+ xVisualType visual;
+ xPixmapFormat format;
+ unsigned long vid;
+ int i, j, k, lenofblock, sizesofar = 0;
+ char *pBuf;
+
+ memset(&setup, 0, sizeof(xConnSetup));
+ /* Leave off the ridBase and ridMask, these must be sent with
+ connection */
+
+ setup.release = VendorRelease;
+ /*
+ * per-server image and bitmap parameters are defined in Xmd.h
+ */
+ setup.imageByteOrder = screenInfo.imageByteOrder;
+
+ setup.bitmapScanlineUnit = screenInfo.bitmapScanlineUnit;
+ setup.bitmapScanlinePad = screenInfo.bitmapScanlinePad;
+
+ setup.bitmapBitOrder = screenInfo.bitmapBitOrder;
+ setup.motionBufferSize = NumMotionEvents();
+ setup.numRoots = screenInfo.numScreens;
+ setup.nbytesVendor = strlen(VendorString);
+ setup.numFormats = screenInfo.numPixmapFormats;
+ setup.maxRequestSize = MAX_REQUEST_SIZE;
+ QueryMinMaxKeyCodes(&setup.minKeyCode, &setup.maxKeyCode);
+
+ lenofblock = sizeof(xConnSetup) +
+ pad_to_int32(setup.nbytesVendor) +
+ (setup.numFormats * sizeof(xPixmapFormat)) +
+ (setup.numRoots * sizeof(xWindowRoot));
+ ConnectionInfo = malloc(lenofblock);
+ if (!ConnectionInfo)
+ return FALSE;
+
+ memmove(ConnectionInfo, (char *) &setup, sizeof(xConnSetup));
+ sizesofar = sizeof(xConnSetup);
+ pBuf = ConnectionInfo + sizeof(xConnSetup);
+
+ memmove(pBuf, VendorString, (int) setup.nbytesVendor);
+ sizesofar += setup.nbytesVendor;
+ pBuf += setup.nbytesVendor;
+ i = padding_for_int32(setup.nbytesVendor);
+ sizesofar += i;
+ while (--i >= 0)
+ *pBuf++ = 0;
+
+ memset(&format, 0, sizeof(xPixmapFormat));
+ for (i = 0; i < screenInfo.numPixmapFormats; i++) {
+ format.depth = screenInfo.formats[i].depth;
+ format.bitsPerPixel = screenInfo.formats[i].bitsPerPixel;
+ format.scanLinePad = screenInfo.formats[i].scanlinePad;
+ memmove(pBuf, (char *) &format, sizeof(xPixmapFormat));
+ pBuf += sizeof(xPixmapFormat);
+ sizesofar += sizeof(xPixmapFormat);
+ }
+
+ connBlockScreenStart = sizesofar;
+ memset(&depth, 0, sizeof(xDepth));
+ memset(&visual, 0, sizeof(xVisualType));
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ ScreenPtr pScreen;
+ DepthPtr pDepth;
+ VisualPtr pVisual;
+
+ pScreen = screenInfo.screens[i];
+ root.windowId = pScreen->root->drawable.id;
+ root.defaultColormap = pScreen->defColormap;
+ root.whitePixel = pScreen->whitePixel;
+ root.blackPixel = pScreen->blackPixel;
+ root.currentInputMask = 0; /* filled in when sent */
+ root.pixWidth = pScreen->width;
+ root.pixHeight = pScreen->height;
+ root.mmWidth = pScreen->mmWidth;
+ root.mmHeight = pScreen->mmHeight;
+ root.minInstalledMaps = pScreen->minInstalledCmaps;
+ root.maxInstalledMaps = pScreen->maxInstalledCmaps;
+ root.rootVisualID = pScreen->rootVisual;
+ root.backingStore = pScreen->backingStoreSupport;
+ root.saveUnders = FALSE;
+ root.rootDepth = pScreen->rootDepth;
+ root.nDepths = pScreen->numDepths;
+ memmove(pBuf, (char *) &root, sizeof(xWindowRoot));
+ sizesofar += sizeof(xWindowRoot);
+ pBuf += sizeof(xWindowRoot);
+
+ pDepth = pScreen->allowedDepths;
+ for (j = 0; j < pScreen->numDepths; j++, pDepth++) {
+ lenofblock += sizeof(xDepth) +
+ (pDepth->numVids * sizeof(xVisualType));
+ pBuf = (char *) realloc(ConnectionInfo, lenofblock);
+ if (!pBuf) {
+ free(ConnectionInfo);
+ return FALSE;
+ }
+ ConnectionInfo = pBuf;
+ pBuf += sizesofar;
+ depth.depth = pDepth->depth;
+ depth.nVisuals = pDepth->numVids;
+ memmove(pBuf, (char *) &depth, sizeof(xDepth));
+ pBuf += sizeof(xDepth);
+ sizesofar += sizeof(xDepth);
+ for (k = 0; k < pDepth->numVids; k++) {
+ vid = pDepth->vids[k];
+ for (pVisual = pScreen->visuals;
+ pVisual->vid != vid; pVisual++);
+ visual.visualID = vid;
+ visual.class = pVisual->class;
+ visual.bitsPerRGB = pVisual->bitsPerRGBValue;
+ visual.colormapEntries = pVisual->ColormapEntries;
+ visual.redMask = pVisual->redMask;
+ visual.greenMask = pVisual->greenMask;
+ visual.blueMask = pVisual->blueMask;
+ memmove(pBuf, (char *) &visual, sizeof(xVisualType));
+ pBuf += sizeof(xVisualType);
+ sizesofar += sizeof(xVisualType);
+ }
+ }
+ }
+ connSetupPrefix.success = xTrue;
+ connSetupPrefix.length = lenofblock / 4;
+ connSetupPrefix.majorVersion = X_PROTOCOL;
+ connSetupPrefix.minorVersion = X_PROTOCOL_REVISION;
+ return TRUE;
+}
+
+int
+ProcBadRequest(ClientPtr client)
+{
+ return BadRequest;
+}
+
+int
+ProcCreateWindow(ClientPtr client)
+{
+ WindowPtr pParent, pWin;
+
+ REQUEST(xCreateWindowReq);
+ int len, rc;
+
+ REQUEST_AT_LEAST_SIZE(xCreateWindowReq);
+
+ LEGAL_NEW_RESOURCE(stuff->wid, client);
+ rc = dixLookupWindow(&pParent, stuff->parent, client, DixAddAccess);
+ if (rc != Success)
+ return rc;
+ len = client->req_len - bytes_to_int32(sizeof(xCreateWindowReq));
+ if (Ones(stuff->mask) != len)
+ return BadLength;
+ if (!stuff->width || !stuff->height) {
+ client->errorValue = 0;
+ return BadValue;
+ }
+ pWin = CreateWindow(stuff->wid, pParent, stuff->x,
+ stuff->y, stuff->width, stuff->height,
+ stuff->borderWidth, stuff->class,
+ stuff->mask, (XID *) &stuff[1],
+ (int) stuff->depth, client, stuff->visual, &rc);
+ if (pWin) {
+ Mask mask = pWin->eventMask;
+
+ pWin->eventMask = 0; /* subterfuge in case AddResource fails */
+ if (!AddResource(stuff->wid, RT_WINDOW, (void *) pWin))
+ return BadAlloc;
+ pWin->eventMask = mask;
+ }
+ return rc;
+}
+
+int
+ProcChangeWindowAttributes(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xChangeWindowAttributesReq);
+ int len, rc;
+ Mask access_mode = 0;
+
+ REQUEST_AT_LEAST_SIZE(xChangeWindowAttributesReq);
+ access_mode |= (stuff->valueMask & CWEventMask) ? DixReceiveAccess : 0;
+ access_mode |= (stuff->valueMask & ~CWEventMask) ? DixSetAttrAccess : 0;
+ rc = dixLookupWindow(&pWin, stuff->window, client, access_mode);
+ if (rc != Success)
+ return rc;
+ len = client->req_len - bytes_to_int32(sizeof(xChangeWindowAttributesReq));
+ if (len != Ones(stuff->valueMask))
+ return BadLength;
+ return ChangeWindowAttributes(pWin,
+ stuff->valueMask, (XID *) &stuff[1], client);
+}
+
+int
+ProcGetWindowAttributes(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ xGetWindowAttributesReply wa;
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+ memset(&wa, 0, sizeof(xGetWindowAttributesReply));
+ GetWindowAttributes(pWin, client, &wa);
+ WriteReplyToClient(client, sizeof(xGetWindowAttributesReply), &wa);
+ return Success;
+}
+
+int
+ProcDestroyWindow(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixDestroyAccess);
+ if (rc != Success)
+ return rc;
+ if (pWin->parent) {
+ rc = dixLookupWindow(&pWin, pWin->parent->drawable.id, client,
+ DixRemoveAccess);
+ if (rc != Success)
+ return rc;
+ FreeResource(stuff->id, RT_NONE);
+ }
+ return Success;
+}
+
+int
+ProcDestroySubwindows(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixRemoveAccess);
+ if (rc != Success)
+ return rc;
+ DestroySubwindows(pWin, client);
+ return Success;
+}
+
+int
+ProcChangeSaveSet(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xChangeSaveSetReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xChangeSaveSetReq);
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixManageAccess);
+ if (rc != Success)
+ return rc;
+ if (client->clientAsMask == (CLIENT_BITS(pWin->drawable.id)))
+ return BadMatch;
+ if ((stuff->mode == SetModeInsert) || (stuff->mode == SetModeDelete))
+ return AlterSaveSetForClient(client, pWin, stuff->mode, FALSE, TRUE);
+ client->errorValue = stuff->mode;
+ return BadValue;
+}
+
+int
+ProcReparentWindow(ClientPtr client)
+{
+ WindowPtr pWin, pParent;
+
+ REQUEST(xReparentWindowReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xReparentWindowReq);
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixManageAccess);
+ if (rc != Success)
+ return rc;
+ rc = dixLookupWindow(&pParent, stuff->parent, client, DixAddAccess);
+ if (rc != Success)
+ return rc;
+ if (!SAME_SCREENS(pWin->drawable, pParent->drawable))
+ return BadMatch;
+ if ((pWin->backgroundState == ParentRelative) &&
+ (pParent->drawable.depth != pWin->drawable.depth))
+ return BadMatch;
+ if ((pWin->drawable.class != InputOnly) &&
+ (pParent->drawable.class == InputOnly))
+ return BadMatch;
+ return ReparentWindow(pWin, pParent,
+ (short) stuff->x, (short) stuff->y, client);
+}
+
+int
+ProcMapWindow(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixShowAccess);
+ if (rc != Success)
+ return rc;
+ MapWindow(pWin, client);
+ /* update cache to say it is mapped */
+ return Success;
+}
+
+int
+ProcMapSubwindows(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixListAccess);
+ if (rc != Success)
+ return rc;
+ MapSubwindows(pWin, client);
+ /* update cache to say it is mapped */
+ return Success;
+}
+
+int
+ProcUnmapWindow(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixHideAccess);
+ if (rc != Success)
+ return rc;
+ UnmapWindow(pWin, FALSE);
+ /* update cache to say it is mapped */
+ return Success;
+}
+
+int
+ProcUnmapSubwindows(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixListAccess);
+ if (rc != Success)
+ return rc;
+ UnmapSubwindows(pWin);
+ return Success;
+}
+
+int
+ProcConfigureWindow(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xConfigureWindowReq);
+ int len, rc;
+
+ REQUEST_AT_LEAST_SIZE(xConfigureWindowReq);
+ rc = dixLookupWindow(&pWin, stuff->window, client,
+ DixManageAccess | DixSetAttrAccess);
+ if (rc != Success)
+ return rc;
+ len = client->req_len - bytes_to_int32(sizeof(xConfigureWindowReq));
+ if (Ones((Mask) stuff->mask) != len)
+ return BadLength;
+ return ConfigureWindow(pWin, (Mask) stuff->mask, (XID *) &stuff[1], client);
+}
+
+int
+ProcCirculateWindow(ClientPtr client)
+{
+ WindowPtr pWin;
+
+ REQUEST(xCirculateWindowReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xCirculateWindowReq);
+ if ((stuff->direction != RaiseLowest) && (stuff->direction != LowerHighest)) {
+ client->errorValue = stuff->direction;
+ return BadValue;
+ }
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixManageAccess);
+ if (rc != Success)
+ return rc;
+ CirculateWindow(pWin, (int) stuff->direction, client);
+ return Success;
+}
+
+static int
+GetGeometry(ClientPtr client, xGetGeometryReply * rep)
+{
+ DrawablePtr pDraw;
+ int rc;
+
+ REQUEST(xResourceReq);
+ REQUEST_SIZE_MATCH(xResourceReq);
+
+ rc = dixLookupDrawable(&pDraw, stuff->id, client, M_ANY, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+
+ rep->type = X_Reply;
+ rep->length = 0;
+ rep->sequenceNumber = client->sequence;
+ rep->root = pDraw->pScreen->root->drawable.id;
+ rep->depth = pDraw->depth;
+ rep->width = pDraw->width;
+ rep->height = pDraw->height;
+
+ if (WindowDrawable(pDraw->type)) {
+ WindowPtr pWin = (WindowPtr) pDraw;
+
+ rep->x = pWin->origin.x - wBorderWidth(pWin);
+ rep->y = pWin->origin.y - wBorderWidth(pWin);
+ rep->borderWidth = pWin->borderWidth;
+ }
+ else { /* DRAWABLE_PIXMAP */
+
+ rep->x = rep->y = rep->borderWidth = 0;
+ }
+
+ return Success;
+}
+
+int
+ProcGetGeometry(ClientPtr client)
+{
+ xGetGeometryReply rep;
+ int status;
+
+ memset(&rep, 0, sizeof(xGetGeometryReply));
+ rep.type = X_Reply ;
+ if ((status = GetGeometry(client, &rep)) != Success)
+ return status;
+
+ WriteReplyToClient(client, sizeof(xGetGeometryReply), &rep);
+ return Success;
+}
+
+#ifdef WIN32
+/* Do not return the clipboard window in ProcQueryTree, cause this may cause
+ the clipboard client being closed when connecting through xdmcp.
+*/
+extern Window g_iClipboardWindow;
+
+#endif
+int
+ProcQueryTree(ClientPtr client)
+{
+ xQueryTreeReply reply;
+ int rc, numChildren = 0;
+ WindowPtr pChild, pWin, pHead;
+ Window *childIDs = (Window *) NULL;
+
+ REQUEST(xResourceReq);
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixListAccess);
+ if (rc != Success)
+ return rc;
+ memset(&reply, 0, sizeof(xQueryTreeReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.root = pWin->drawable.pScreen->root->drawable.id;
+ reply.parent = (pWin->parent) ? pWin->parent->drawable.id : (Window) None;
+
+ pHead = RealChildHead(pWin);
+ for (pChild = pWin->lastChild; pChild != pHead; pChild = pChild->prevSib)
+#ifdef WIN32
+ if (pChild->drawable.id!=g_iClipboardWindow)
+#endif
+ numChildren++;
+ if (numChildren) {
+ int curChild = 0;
+
+ childIDs = malloc(numChildren * sizeof(Window));
+ if (!childIDs)
+ return BadAlloc;
+ for (pChild = pWin->lastChild; pChild != pHead;
+ pChild = pChild->prevSib)
+#ifdef WIN32
+ if (pChild->drawable.id!=g_iClipboardWindow)
+#endif
+ childIDs[curChild++] = pChild->drawable.id;
+ }
+
+ reply.nChildren = numChildren;
+ reply.length = bytes_to_int32(numChildren * sizeof(Window));
+
+ WriteReplyToClient(client, sizeof(xQueryTreeReply), &reply);
+ if (numChildren) {
+ client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
+ WriteSwappedDataToClient(client, numChildren * sizeof(Window),
+ childIDs);
+ free(childIDs);
+ }
+
+ return Success;
+}
+
+int
+ProcInternAtom(ClientPtr client)
+{
+ Atom atom;
+ char *tchar;
+
+ REQUEST(xInternAtomReq);
+
+ REQUEST_FIXED_SIZE(xInternAtomReq, stuff->nbytes);
+ if ((stuff->onlyIfExists != xTrue) && (stuff->onlyIfExists != xFalse)) {
+ client->errorValue = stuff->onlyIfExists;
+ return BadValue;
+ }
+ tchar = (char *) &stuff[1];
+ atom = MakeAtom(tchar, stuff->nbytes, !stuff->onlyIfExists);
+ if (atom != BAD_RESOURCE) {
+ xInternAtomReply reply; memset(&reply, 0, sizeof(xInternAtomReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.atom = atom;
+
+ WriteReplyToClient(client, sizeof(xInternAtomReply), &reply);
+ return Success;
+ }
+ else
+ return BadAlloc;
+}
+
+int
+ProcGetAtomName(ClientPtr client)
+{
+ const char *str;
+
+ REQUEST(xResourceReq);
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ if ((str = NameForAtom(stuff->id))) {
+ xGetAtomNameReply reply;
+ int len = strlen(str);
+ memset(&reply, 0, sizeof(xGetAtomNameReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = bytes_to_int32(len);
+ reply.nameLength = len;
+ WriteReplyToClient(client, sizeof(xGetAtomNameReply), &reply);
+ WriteToClient(client, len, str);
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->id;
+ return BadAtom;
+ }
+}
+
+int
+ProcGrabServer(ClientPtr client)
+{
+ int rc;
+
+ REQUEST_SIZE_MATCH(xReq);
+ if (grabState != GrabNone && client != grabClient) {
+ ResetCurrentRequest(client);
+ client->sequence--;
+ BITSET(grabWaiters, client->index);
+ IgnoreClient(client);
+ return Success;
+ }
+ rc = OnlyListenToOneClient(client);
+ if (rc != Success)
+ return rc;
+ grabState = GrabKickout;
+ grabClient = client;
+
+ if (ServerGrabCallback) {
+ ServerGrabInfoRec grabinfo;
+
+ grabinfo.client = client;
+ grabinfo.grabstate = SERVER_GRABBED;
+ CallCallbacks(&ServerGrabCallback, (void *) &grabinfo);
+ }
+
+ return Success;
+}
+
+static void
+UngrabServer(ClientPtr client)
+{
+ int i;
+
+ grabState = GrabNone;
+ ListenToAllClients();
+ for (i = mskcnt; --i >= 0 && !grabWaiters[i];);
+ if (i >= 0) {
+ i <<= 5;
+ while (!GETBIT(grabWaiters, i))
+ i++;
+ BITCLEAR(grabWaiters, i);
+ AttendClient(clients[i]);
+ }
+
+ if (ServerGrabCallback) {
+ ServerGrabInfoRec grabinfo;
+
+ grabinfo.client = client;
+ grabinfo.grabstate = SERVER_UNGRABBED;
+ CallCallbacks(&ServerGrabCallback, (void *) &grabinfo);
+ }
+}
+
+int
+ProcUngrabServer(ClientPtr client)
+{
+ REQUEST_SIZE_MATCH(xReq);
+ UngrabServer(client);
+ return Success;
+}
+
+int
+ProcTranslateCoords(ClientPtr client)
+{
+ REQUEST(xTranslateCoordsReq);
+
+ WindowPtr pWin, pDst;
+ xTranslateCoordsReply rep;
+ int rc;
+
+ REQUEST_SIZE_MATCH(xTranslateCoordsReq);
+ rc = dixLookupWindow(&pWin, stuff->srcWid, client, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+ rc = dixLookupWindow(&pDst, stuff->dstWid, client, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+ memset(&rep, 0, sizeof(xTranslateCoordsReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+
+ if (!SAME_SCREENS(pWin->drawable, pDst->drawable)) {
+ rep.sameScreen = xFalse;
+ rep.child = None;
+ rep.dstX = rep.dstY = 0;
+ }
+ else {
+ INT16 x, y;
+
+ rep.sameScreen = xTrue;
+ rep.child = None;
+ /* computing absolute coordinates -- adjust to destination later */
+ x = pWin->drawable.x + stuff->srcX;
+ y = pWin->drawable.y + stuff->srcY;
+ pWin = pDst->firstChild;
+ while (pWin) {
+ BoxRec box;
+
+ if ((pWin->mapped) &&
+ (x >= pWin->drawable.x - wBorderWidth(pWin)) &&
+ (x < pWin->drawable.x + (int) pWin->drawable.width +
+ wBorderWidth(pWin)) &&
+ (y >= pWin->drawable.y - wBorderWidth(pWin)) &&
+ (y < pWin->drawable.y + (int) pWin->drawable.height +
+ wBorderWidth(pWin))
+ /* When a window is shaped, a further check
+ * is made to see if the point is inside
+ * borderSize
+ */
+ && (!wBoundingShape(pWin) ||
+ RegionContainsPoint(&pWin->borderSize, x, y, &box))
+
+ && (!wInputShape(pWin) ||
+ RegionContainsPoint(wInputShape(pWin),
+ x - pWin->drawable.x,
+ y - pWin->drawable.y, &box))
+ ) {
+ rep.child = pWin->drawable.id;
+ pWin = (WindowPtr) NULL;
+ }
+ else
+ pWin = pWin->nextSib;
+ }
+ /* adjust to destination coordinates */
+ rep.dstX = x - pDst->drawable.x;
+ rep.dstY = y - pDst->drawable.y;
+ }
+ WriteReplyToClient(client, sizeof(xTranslateCoordsReply), &rep);
+ return Success;
+}
+
+int
+ProcOpenFont(ClientPtr client)
+{
+ int err;
+
+ REQUEST(xOpenFontReq);
+
+ REQUEST_FIXED_SIZE(xOpenFontReq, stuff->nbytes);
+ client->errorValue = stuff->fid;
+ LEGAL_NEW_RESOURCE(stuff->fid, client);
+ err = OpenFont(client, stuff->fid, (Mask) 0,
+ stuff->nbytes, (char *) &stuff[1]);
+ if (err == Success) {
+ return Success;
+ }
+ else
+ return err;
+}
+
+int
+ProcCloseFont(ClientPtr client)
+{
+ FontPtr pFont;
+ int rc;
+
+ REQUEST(xResourceReq);
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupResourceByType((void **) &pFont, stuff->id, RT_FONT,
+ client, DixDestroyAccess);
+ if (rc == Success) {
+ FreeResource(stuff->id, RT_NONE);
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->id;
+ return rc;
+ }
+}
+
+int
+ProcQueryFont(ClientPtr client)
+{
+ xQueryFontReply *reply;
+ FontPtr pFont;
+ int rc;
+
+ REQUEST(xResourceReq);
+ REQUEST_SIZE_MATCH(xResourceReq);
+
+ rc = dixLookupFontable(&pFont, stuff->id, client, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+
+ {
+ xCharInfo *pmax = FONTINKMAX(pFont);
+ xCharInfo *pmin = FONTINKMIN(pFont);
+ int nprotoxcistructs;
+ int rlength;
+
+ nprotoxcistructs = (pmax->rightSideBearing == pmin->rightSideBearing &&
+ pmax->leftSideBearing == pmin->leftSideBearing &&
+ pmax->descent == pmin->descent &&
+ pmax->ascent == pmin->ascent &&
+ pmax->characterWidth == pmin->characterWidth) ?
+ 0 : N2dChars(pFont);
+
+ rlength = sizeof(xQueryFontReply) +
+ FONTINFONPROPS(FONTCHARSET(pFont)) * sizeof(xFontProp) +
+ nprotoxcistructs * sizeof(xCharInfo);
+ reply = calloc(1, rlength);
+ if (!reply) {
+ return BadAlloc;
+ }
+
+ reply->type = X_Reply;
+ reply->length = bytes_to_int32(rlength - sizeof(xGenericReply));
+ reply->sequenceNumber = client->sequence;
+ QueryFont(pFont, reply, nprotoxcistructs);
+
+ WriteReplyToClient(client, rlength, reply);
+ free(reply);
+ return Success;
+ }
+}
+
+int
+ProcQueryTextExtents(ClientPtr client)
+{
+ xQueryTextExtentsReply reply;
+ FontPtr pFont;
+ ExtentInfoRec info;
+ unsigned long length;
+ int rc;
+
+ REQUEST(xQueryTextExtentsReq);
+ REQUEST_AT_LEAST_SIZE(xQueryTextExtentsReq);
+
+ rc = dixLookupFontable(&pFont, stuff->fid, client, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+
+ length = client->req_len - bytes_to_int32(sizeof(xQueryTextExtentsReq));
+ length = length << 1;
+ if (stuff->oddLength) {
+ if (length == 0)
+ return BadLength;
+ length--;
+ }
+ if (!QueryTextExtents(pFont, length, (unsigned char *) &stuff[1], &info))
+ return BadAlloc;
+
+ reply.type = X_Reply;
+ reply.drawDirection = info.drawDirection;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.fontAscent = info.fontAscent;
+ reply.fontDescent = info.fontDescent;
+ reply.overallAscent = info.overallAscent;
+ reply.overallDescent = info.overallDescent;
+ reply.overallWidth = info.overallWidth;
+ reply.overallLeft = info.overallLeft;
+ reply.overallRight = info.overallRight;
+
+ WriteReplyToClient(client, sizeof(xQueryTextExtentsReply), &reply);
+ return Success;
+}
+
+int
+ProcListFonts(ClientPtr client)
+{
+ REQUEST(xListFontsReq);
+
+ REQUEST_FIXED_SIZE(xListFontsReq, stuff->nbytes);
+
+ return ListFonts(client, (unsigned char *) &stuff[1], stuff->nbytes,
+ stuff->maxNames);
+}
+
+int
+ProcListFontsWithInfo(ClientPtr client)
+{
+ REQUEST(xListFontsWithInfoReq);
+
+ REQUEST_FIXED_SIZE(xListFontsWithInfoReq, stuff->nbytes);
+
+ return StartListFontsWithInfo(client, stuff->nbytes,
+ (unsigned char *) &stuff[1], stuff->maxNames);
+}
+
+/**
+ *
+ * \param value must conform to DeleteType
+ */
+int
+dixDestroyPixmap(void *value, XID pid)
+{
+ PixmapPtr pPixmap = (PixmapPtr) value;
+
+ return (*pPixmap->drawable.pScreen->DestroyPixmap) (pPixmap);
+}
+
+int
+ProcCreatePixmap(ClientPtr client)
+{
+ PixmapPtr pMap;
+ DrawablePtr pDraw;
+
+ REQUEST(xCreatePixmapReq);
+ DepthPtr pDepth;
+ int i, rc;
+
+ REQUEST_SIZE_MATCH(xCreatePixmapReq);
+ client->errorValue = stuff->pid;
+ LEGAL_NEW_RESOURCE(stuff->pid, client);
+
+ rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY,
+ DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+
+ if (!stuff->width || !stuff->height) {
+ client->errorValue = 0;
+ return BadValue;
+ }
+ if (stuff->width > 32767 || stuff->height > 32767) {
+ /* It is allowed to try and allocate a pixmap which is larger than
+ * 32767 in either dimension. However, all of the framebuffer code
+ * is buggy and does not reliably draw to such big pixmaps, basically
+ * because the Region data structure operates with signed shorts
+ * for the rectangles in it.
+ *
+ * Furthermore, several places in the X server computes the
+ * size in bytes of the pixmap and tries to store it in an
+ * integer. This integer can overflow and cause the allocated size
+ * to be much smaller.
+ *
+ * So, such big pixmaps are rejected here with a BadAlloc
+ */
+ return BadAlloc;
+ }
+ if (stuff->depth != 1) {
+ pDepth = pDraw->pScreen->allowedDepths;
+ for (i = 0; i < pDraw->pScreen->numDepths; i++, pDepth++)
+ if (pDepth->depth == stuff->depth)
+ goto CreatePmap;
+ client->errorValue = stuff->depth;
+ return BadValue;
+ }
+ CreatePmap:
+ pMap = (PixmapPtr) (*pDraw->pScreen->CreatePixmap)
+ (pDraw->pScreen, stuff->width, stuff->height, stuff->depth, 0);
+ if (pMap) {
+ pMap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
+ pMap->drawable.id = stuff->pid;
+ /* security creation/labeling check */
+ rc = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->pid, RT_PIXMAP,
+ pMap, RT_NONE, NULL, DixCreateAccess);
+ if (rc != Success) {
+ (*pDraw->pScreen->DestroyPixmap) (pMap);
+ return rc;
+ }
+ if (AddResource(stuff->pid, RT_PIXMAP, (void *) pMap))
+ return Success;
+ }
+ return BadAlloc;
+}
+
+int
+ProcFreePixmap(ClientPtr client)
+{
+ PixmapPtr pMap;
+ int rc;
+
+ REQUEST(xResourceReq);
+ REQUEST_SIZE_MATCH(xResourceReq);
+
+ rc = dixLookupResourceByType((void **) &pMap, stuff->id, RT_PIXMAP,
+ client, DixDestroyAccess);
+ if (rc == Success) {
+ FreeResource(stuff->id, RT_NONE);
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->id;
+ return rc;
+ }
+}
+
+int
+ProcCreateGC(ClientPtr client)
+{
+ int error, rc;
+ GC *pGC;
+ DrawablePtr pDraw;
+ unsigned len;
+
+ REQUEST(xCreateGCReq);
+
+ REQUEST_AT_LEAST_SIZE(xCreateGCReq);
+ client->errorValue = stuff->gc;
+ LEGAL_NEW_RESOURCE(stuff->gc, client);
+ rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0,
+ DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+
+ len = client->req_len - bytes_to_int32(sizeof(xCreateGCReq));
+ if (len != Ones(stuff->mask))
+ return BadLength;
+ pGC = (GC *) CreateGC(pDraw, stuff->mask, (XID *) &stuff[1], &error,
+ stuff->gc, client);
+ if (error != Success)
+ return error;
+ if (!AddResource(stuff->gc, RT_GC, (void *) pGC))
+ return BadAlloc;
+ return Success;
+}
+
+int
+ProcChangeGC(ClientPtr client)
+{
+ GC *pGC;
+ int result;
+ unsigned len;
+
+ REQUEST(xChangeGCReq);
+ REQUEST_AT_LEAST_SIZE(xChangeGCReq);
+
+ result = dixLookupGC(&pGC, stuff->gc, client, DixSetAttrAccess);
+ if (result != Success)
+ return result;
+
+ len = client->req_len - bytes_to_int32(sizeof(xChangeGCReq));
+ if (len != Ones(stuff->mask))
+ return BadLength;
+
+ return ChangeGCXIDs(client, pGC, stuff->mask, (CARD32 *) &stuff[1]);
+}
+
+int
+ProcCopyGC(ClientPtr client)
+{
+ GC *dstGC;
+ GC *pGC;
+ int result;
+
+ REQUEST(xCopyGCReq);
+ REQUEST_SIZE_MATCH(xCopyGCReq);
+
+ result = dixLookupGC(&pGC, stuff->srcGC, client, DixGetAttrAccess);
+ if (result != Success)
+ return result;
+ result = dixLookupGC(&dstGC, stuff->dstGC, client, DixSetAttrAccess);
+ if (result != Success)
+ return result;
+ if ((dstGC->pScreen != pGC->pScreen) || (dstGC->depth != pGC->depth))
+ return BadMatch;
+ if (stuff->mask & ~GCAllBits) {
+ client->errorValue = stuff->mask;
+ return BadValue;
+ }
+ return CopyGC(pGC, dstGC, stuff->mask);
+}
+
+int
+ProcSetDashes(ClientPtr client)
+{
+ GC *pGC;
+ int result;
+
+ REQUEST(xSetDashesReq);
+
+ REQUEST_FIXED_SIZE(xSetDashesReq, stuff->nDashes);
+ if (stuff->nDashes == 0) {
+ client->errorValue = 0;
+ return BadValue;
+ }
+
+ result = dixLookupGC(&pGC, stuff->gc, client, DixSetAttrAccess);
+ if (result != Success)
+ return result;
+
+ /* If there's an error, either there's no sensible errorValue,
+ * or there was a dash segment of 0. */
+ client->errorValue = 0;
+ return SetDashes(pGC, stuff->dashOffset, stuff->nDashes,
+ (unsigned char *) &stuff[1]);
+}
+
+int
+ProcSetClipRectangles(ClientPtr client)
+{
+ int nr, result;
+ GC *pGC;
+
+ REQUEST(xSetClipRectanglesReq);
+
+ REQUEST_AT_LEAST_SIZE(xSetClipRectanglesReq);
+ if ((stuff->ordering != Unsorted) && (stuff->ordering != YSorted) &&
+ (stuff->ordering != YXSorted) && (stuff->ordering != YXBanded)) {
+ client->errorValue = stuff->ordering;
+ return BadValue;
+ }
+ result = dixLookupGC(&pGC, stuff->gc, client, DixSetAttrAccess);
+ if (result != Success)
+ return result;
+
+ nr = (client->req_len << 2) - sizeof(xSetClipRectanglesReq);
+ if (nr & 4)
+ return BadLength;
+ nr >>= 3;
+ return SetClipRects(pGC, stuff->xOrigin, stuff->yOrigin,
+ nr, (xRectangle *) &stuff[1], (int) stuff->ordering);
+}
+
+int
+ProcFreeGC(ClientPtr client)
+{
+ GC *pGC;
+ int rc;
+
+ REQUEST(xResourceReq);
+ REQUEST_SIZE_MATCH(xResourceReq);
+
+ rc = dixLookupGC(&pGC, stuff->id, client, DixDestroyAccess);
+ if (rc != Success)
+ return rc;
+
+ FreeResource(stuff->id, RT_NONE);
+ return Success;
+}
+
+int
+ProcClearToBackground(ClientPtr client)
+{
+ REQUEST(xClearAreaReq);
+ WindowPtr pWin;
+ int rc;
+
+ REQUEST_SIZE_MATCH(xClearAreaReq);
+ rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess);
+ if (rc != Success)
+ return rc;
+ if (pWin->drawable.class == InputOnly) {
+ client->errorValue = stuff->window;
+ return BadMatch;
+ }
+ if ((stuff->exposures != xTrue) && (stuff->exposures != xFalse)) {
+ client->errorValue = stuff->exposures;
+ return BadValue;
+ }
+ (*pWin->drawable.pScreen->ClearToBackground) (pWin, stuff->x, stuff->y,
+ stuff->width, stuff->height,
+ (Bool) stuff->exposures);
+ return Success;
+}
+
+int
+ProcCopyArea(ClientPtr client)
+{
+ DrawablePtr pDst;
+ DrawablePtr pSrc;
+ GC *pGC;
+
+ REQUEST(xCopyAreaReq);
+ RegionPtr pRgn;
+ int rc;
+
+ REQUEST_SIZE_MATCH(xCopyAreaReq);
+
+ VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, DixWriteAccess);
+ if (stuff->dstDrawable != stuff->srcDrawable) {
+ rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, 0,
+ DixReadAccess);
+ if (rc != Success)
+ return rc;
+ if ((pDst->pScreen != pSrc->pScreen) || (pDst->depth != pSrc->depth)) {
+ client->errorValue = stuff->dstDrawable;
+ return BadMatch;
+ }
+ }
+ else
+ pSrc = pDst;
+
+ pRgn = (*pGC->ops->CopyArea) (pSrc, pDst, pGC, stuff->srcX, stuff->srcY,
+ stuff->width, stuff->height,
+ stuff->dstX, stuff->dstY);
+ if (pGC->graphicsExposures) {
+ (*pDst->pScreen->SendGraphicsExpose)
+ (client, pRgn, stuff->dstDrawable, X_CopyArea, 0);
+ if (pRgn)
+ RegionDestroy(pRgn);
+ }
+
+ return Success;
+}
+
+int
+ProcCopyPlane(ClientPtr client)
+{
+ DrawablePtr psrcDraw, pdstDraw;
+ GC *pGC;
+
+ REQUEST(xCopyPlaneReq);
+ RegionPtr pRgn;
+ int rc;
+
+ REQUEST_SIZE_MATCH(xCopyPlaneReq);
+
+ VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, DixWriteAccess);
+ if (stuff->dstDrawable != stuff->srcDrawable) {
+ rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, 0,
+ DixReadAccess);
+ if (rc != Success)
+ return rc;
+
+ if (pdstDraw->pScreen != psrcDraw->pScreen) {
+ client->errorValue = stuff->dstDrawable;
+ return BadMatch;
+ }
+ }
+ else
+ psrcDraw = pdstDraw;
+
+ /* Check to see if stuff->bitPlane has exactly ONE good bit set */
+ if (stuff->bitPlane == 0 || (stuff->bitPlane & (stuff->bitPlane - 1)) ||
+ (stuff->bitPlane > (1L << (psrcDraw->depth - 1)))) {
+ client->errorValue = stuff->bitPlane;
+ return BadValue;
+ }
+
+ pRgn =
+ (*pGC->ops->CopyPlane) (psrcDraw, pdstDraw, pGC, stuff->srcX,
+ stuff->srcY, stuff->width, stuff->height,
+ stuff->dstX, stuff->dstY, stuff->bitPlane);
+ if (pGC->graphicsExposures) {
+ (*pdstDraw->pScreen->SendGraphicsExpose)
+ (client, pRgn, stuff->dstDrawable, X_CopyPlane, 0);
+ if (pRgn)
+ RegionDestroy(pRgn);
+ }
+ return Success;
+}
+
+int
+ProcPolyPoint(ClientPtr client)
+{
+ int npoint;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xPolyPointReq);
+
+ REQUEST_AT_LEAST_SIZE(xPolyPointReq);
+ if ((stuff->coordMode != CoordModeOrigin) &&
+ (stuff->coordMode != CoordModePrevious)) {
+ client->errorValue = stuff->coordMode;
+ return BadValue;
+ }
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ npoint = bytes_to_int32((client->req_len << 2) - sizeof(xPolyPointReq));
+ if (npoint)
+ (*pGC->ops->PolyPoint) (pDraw, pGC, stuff->coordMode, npoint,
+ (xPoint *) &stuff[1]);
+ return Success;
+}
+
+int
+ProcPolyLine(ClientPtr client)
+{
+ int npoint;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xPolyLineReq);
+
+ REQUEST_AT_LEAST_SIZE(xPolyLineReq);
+ if ((stuff->coordMode != CoordModeOrigin) &&
+ (stuff->coordMode != CoordModePrevious)) {
+ client->errorValue = stuff->coordMode;
+ return BadValue;
+ }
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ npoint = bytes_to_int32((client->req_len << 2) - sizeof(xPolyLineReq));
+ if (npoint > 1)
+ (*pGC->ops->Polylines) (pDraw, pGC, stuff->coordMode, npoint,
+ (DDXPointPtr) &stuff[1]);
+ return Success;
+}
+
+int
+ProcPolySegment(ClientPtr client)
+{
+ int nsegs;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xPolySegmentReq);
+
+ REQUEST_AT_LEAST_SIZE(xPolySegmentReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ nsegs = (client->req_len << 2) - sizeof(xPolySegmentReq);
+ if (nsegs & 4)
+ return BadLength;
+ nsegs >>= 3;
+ if (nsegs)
+ (*pGC->ops->PolySegment) (pDraw, pGC, nsegs, (xSegment *) &stuff[1]);
+ return Success;
+}
+
+int
+ProcPolyRectangle(ClientPtr client)
+{
+ int nrects;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xPolyRectangleReq);
+
+ REQUEST_AT_LEAST_SIZE(xPolyRectangleReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ nrects = (client->req_len << 2) - sizeof(xPolyRectangleReq);
+ if (nrects & 4)
+ return BadLength;
+ nrects >>= 3;
+ if (nrects)
+ (*pGC->ops->PolyRectangle) (pDraw, pGC,
+ nrects, (xRectangle *) &stuff[1]);
+ return Success;
+}
+
+int
+ProcPolyArc(ClientPtr client)
+{
+ int narcs;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xPolyArcReq);
+
+ REQUEST_AT_LEAST_SIZE(xPolyArcReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ narcs = (client->req_len << 2) - sizeof(xPolyArcReq);
+ if (narcs % sizeof(xArc))
+ return BadLength;
+ narcs /= sizeof(xArc);
+ if (narcs)
+ (*pGC->ops->PolyArc) (pDraw, pGC, narcs, (xArc *) &stuff[1]);
+ return Success;
+}
+
+int
+ProcFillPoly(ClientPtr client)
+{
+ int things;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xFillPolyReq);
+
+ REQUEST_AT_LEAST_SIZE(xFillPolyReq);
+ if ((stuff->shape != Complex) && (stuff->shape != Nonconvex) &&
+ (stuff->shape != Convex)) {
+ client->errorValue = stuff->shape;
+ return BadValue;
+ }
+ if ((stuff->coordMode != CoordModeOrigin) &&
+ (stuff->coordMode != CoordModePrevious)) {
+ client->errorValue = stuff->coordMode;
+ return BadValue;
+ }
+
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ things = bytes_to_int32((client->req_len << 2) - sizeof(xFillPolyReq));
+ if (things)
+ (*pGC->ops->FillPolygon) (pDraw, pGC, stuff->shape,
+ stuff->coordMode, things,
+ (DDXPointPtr) &stuff[1]);
+ return Success;
+}
+
+int
+ProcPolyFillRectangle(ClientPtr client)
+{
+ int things;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xPolyFillRectangleReq);
+
+ REQUEST_AT_LEAST_SIZE(xPolyFillRectangleReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ things = (client->req_len << 2) - sizeof(xPolyFillRectangleReq);
+ if (things & 4)
+ return BadLength;
+ things >>= 3;
+
+ if (things)
+ (*pGC->ops->PolyFillRect) (pDraw, pGC, things,
+ (xRectangle *) &stuff[1]);
+ return Success;
+}
+
+int
+ProcPolyFillArc(ClientPtr client)
+{
+ int narcs;
+ GC *pGC;
+ DrawablePtr pDraw;
+
+ REQUEST(xPolyFillArcReq);
+
+ REQUEST_AT_LEAST_SIZE(xPolyFillArcReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ narcs = (client->req_len << 2) - sizeof(xPolyFillArcReq);
+ if (narcs % sizeof(xArc))
+ return BadLength;
+ narcs /= sizeof(xArc);
+ if (narcs)
+ (*pGC->ops->PolyFillArc) (pDraw, pGC, narcs, (xArc *) &stuff[1]);
+ return Success;
+}
+
+#ifdef MATCH_CLIENT_ENDIAN
+
+int
+ServerOrder(void)
+{
+ int whichbyte = 1;
+
+ if (*((char *) &whichbyte))
+ return LSBFirst;
+ return MSBFirst;
+}
+
+#define ClientOrder(client) ((client)->swapped ? !ServerOrder() : ServerOrder())
+
+void
+ReformatImage(char *base, int nbytes, int bpp, int order)
+{
+ switch (bpp) {
+ case 1: /* yuck */
+ if (BITMAP_BIT_ORDER != order)
+ BitOrderInvert((unsigned char *) base, nbytes);
+#if IMAGE_BYTE_ORDER != BITMAP_BIT_ORDER && BITMAP_SCANLINE_UNIT != 8
+ ReformatImage(base, nbytes, BITMAP_SCANLINE_UNIT, order);
+#endif
+ break;
+ case 4:
+ break; /* yuck */
+ case 8:
+ break;
+ case 16:
+ if (IMAGE_BYTE_ORDER != order)
+ TwoByteSwap((unsigned char *) base, nbytes);
+ break;
+ case 32:
+ if (IMAGE_BYTE_ORDER != order)
+ FourByteSwap((unsigned char *) base, nbytes);
+ break;
+ }
+}
+#else
+#define ReformatImage(b,n,bpp,o)
+#endif
+
+/* 64-bit server notes: the protocol restricts padding of images to
+ * 8-, 16-, or 32-bits. We would like to have 64-bits for the server
+ * to use internally. Removes need for internal alignment checking.
+ * All of the PutImage functions could be changed individually, but
+ * as currently written, they call other routines which require things
+ * to be 64-bit padded on scanlines, so we changed things here.
+ * If an image would be padded differently for 64- versus 32-, then
+ * copy each scanline to a 64-bit padded scanline.
+ * Also, we need to make sure that the image is aligned on a 64-bit
+ * boundary, even if the scanlines are padded to our satisfaction.
+ */
+int
+ProcPutImage(ClientPtr client)
+{
+ GC *pGC;
+ DrawablePtr pDraw;
+ long length; /* length of scanline server padded */
+ long lengthProto; /* length of scanline protocol padded */
+ char *tmpImage;
+
+ REQUEST(xPutImageReq);
+
+ REQUEST_AT_LEAST_SIZE(xPutImageReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+ if (stuff->format == XYBitmap) {
+ if ((stuff->depth != 1) ||
+ (stuff->leftPad >= (unsigned int) screenInfo.bitmapScanlinePad))
+ return BadMatch;
+ length = BitmapBytePad(stuff->width + stuff->leftPad);
+ }
+ else if (stuff->format == XYPixmap) {
+ if ((pDraw->depth != stuff->depth) ||
+ (stuff->leftPad >= (unsigned int) screenInfo.bitmapScanlinePad))
+ return BadMatch;
+ length = BitmapBytePad(stuff->width + stuff->leftPad);
+ length *= stuff->depth;
+ }
+ else if (stuff->format == ZPixmap) {
+ if ((pDraw->depth != stuff->depth) || (stuff->leftPad != 0))
+ return BadMatch;
+ length = PixmapBytePad(stuff->width, stuff->depth);
+ }
+ else {
+ client->errorValue = stuff->format;
+ return BadValue;
+ }
+
+ tmpImage = (char *) &stuff[1];
+ lengthProto = length;
+
+ if ((bytes_to_int32(lengthProto * stuff->height) +
+ bytes_to_int32(sizeof(xPutImageReq))) != client->req_len)
+ return BadLength;
+
+ ReformatImage(tmpImage, lengthProto * stuff->height,
+ stuff->format == ZPixmap ? BitsPerPixel(stuff->depth) : 1,
+ ClientOrder(client));
+
+ (*pGC->ops->PutImage) (pDraw, pGC, stuff->depth, stuff->dstX, stuff->dstY,
+ stuff->width, stuff->height,
+ stuff->leftPad, stuff->format, tmpImage);
+
+ return Success;
+}
+
+static int
+DoGetImage(ClientPtr client, int format, Drawable drawable,
+ int x, int y, int width, int height,
+ Mask planemask)
+{
+ DrawablePtr pDraw, pBoundingDraw;
+ int nlines, linesPerBuf, rc;
+ int linesDone;
+
+ /* coordinates relative to the bounding drawable */
+ int relx, rely;
+ long widthBytesLine, length;
+ Mask plane = 0;
+ char *pBuf;
+ xGetImageReply xgi;
+ RegionPtr pVisibleRegion = NULL;
+
+ if ((format != XYPixmap) && (format != ZPixmap)) {
+ client->errorValue = format;
+ return BadValue;
+ }
+ rc = dixLookupDrawable(&pDraw, drawable, client, 0, DixReadAccess);
+ if (rc != Success)
+ return rc;
+
+ memset(&xgi, 0, sizeof(xGetImageReply));
+
+ relx = x;
+ rely = y;
+
+ if (pDraw->type == DRAWABLE_WINDOW) {
+ WindowPtr pWin = (WindowPtr) pDraw;
+
+ /* "If the drawable is a window, the window must be viewable ... or a
+ * BadMatch error results" */
+ if (!pWin->viewable)
+ return BadMatch;
+
+ /* If the drawable is a window, the rectangle must be contained within
+ * its bounds (including the border). */
+ if (x < -wBorderWidth(pWin) ||
+ x + width > wBorderWidth(pWin) + (int) pDraw->width ||
+ y < -wBorderWidth(pWin) ||
+ y + height > wBorderWidth(pWin) + (int) pDraw->height)
+ return BadMatch;
+
+ relx += pDraw->x;
+ rely += pDraw->y;
+
+ if (pDraw->pScreen->GetWindowPixmap) {
+ PixmapPtr pPix = (*pDraw->pScreen->GetWindowPixmap) (pWin);
+
+ pBoundingDraw = &pPix->drawable;
+#ifdef COMPOSITE
+ relx -= pPix->screen_x;
+ rely -= pPix->screen_y;
+#endif
+ }
+ else {
+ pBoundingDraw = (DrawablePtr) pDraw->pScreen->root;
+ }
+
+ xgi.visual = wVisual(pWin);
+ }
+ else {
+ pBoundingDraw = pDraw;
+ xgi.visual = None;
+ }
+
+ /* "If the drawable is a pixmap, the given rectangle must be wholly
+ * contained within the pixmap, or a BadMatch error results. If the
+ * drawable is a window [...] it must be the case that if there were no
+ * inferiors or overlapping windows, the specified rectangle of the window
+ * would be fully visible on the screen and wholly contained within the
+ * outside edges of the window, or a BadMatch error results."
+ *
+ * We relax the window case slightly to mean that the rectangle must exist
+ * within the bounds of the window's backing pixmap. In particular, this
+ * means that a GetImage request may succeed or fail with BadMatch depending
+ * on whether any of its ancestor windows are redirected. */
+ if (relx < 0 || relx + width > (int) pBoundingDraw->width ||
+ rely < 0 || rely + height > (int) pBoundingDraw->height)
+ return BadMatch;
+
+ xgi.type = X_Reply;
+ xgi.sequenceNumber = client->sequence;
+ xgi.depth = pDraw->depth;
+ if (format == ZPixmap) {
+ widthBytesLine = PixmapBytePad(width, pDraw->depth);
+ length = widthBytesLine * height;
+
+ }
+ else {
+ widthBytesLine = BitmapBytePad(width);
+ plane = ((Mask) 1) << (pDraw->depth - 1);
+ /* only planes asked for */
+ length = widthBytesLine * height *
+ Ones(planemask & (plane | (plane - 1)));
+
+ }
+
+ xgi.length = length;
+
+ 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);
+
+ if (pDraw->type == DRAWABLE_WINDOW) {
+ pVisibleRegion = NotClippedByChildren((WindowPtr) pDraw);
+ if (pVisibleRegion) {
+ RegionTranslate(pVisibleRegion, -pDraw->x, -pDraw->y);
+ }
+ }
+
+ if (linesPerBuf == 0) {
+ /* nothing to do */
+ }
+ else if (format == ZPixmap) {
+ linesDone = 0;
+ while (height - linesDone > 0) {
+ nlines = min(linesPerBuf, height - linesDone);
+ (*pDraw->pScreen->GetImage) (pDraw,
+ x,
+ y + linesDone,
+ width,
+ nlines,
+ format, planemask, (void *) pBuf);
+ if (pVisibleRegion)
+ XaceCensorImage(client, pVisibleRegion, widthBytesLine,
+ pDraw, x, y + linesDone, width,
+ nlines, format, pBuf);
+
+ /* Note that this is NOT a call to WriteSwappedDataToClient,
+ as we do NOT byte swap */
+ ReformatImage(pBuf, (int) (nlines * widthBytesLine),
+ BitsPerPixel(pDraw->depth), ClientOrder(client));
+
+ WriteToClient(client, (int) (nlines * widthBytesLine), pBuf);
+ linesDone += nlines;
+ }
+ }
+ else { /* XYPixmap */
+
+ for (; plane; plane >>= 1) {
+ if (planemask & plane) {
+ linesDone = 0;
+ while (height - linesDone > 0) {
+ nlines = min(linesPerBuf, height - linesDone);
+ (*pDraw->pScreen->GetImage) (pDraw,
+ x,
+ y + linesDone,
+ width,
+ nlines,
+ format, plane, (void *) pBuf);
+ if (pVisibleRegion)
+ XaceCensorImage(client, pVisibleRegion,
+ widthBytesLine,
+ pDraw, x, y + linesDone, width,
+ nlines, format, pBuf);
+
+ /* Note: NOT a call to WriteSwappedDataToClient,
+ as we do NOT byte swap */
+ ReformatImage(pBuf, (int) (nlines * widthBytesLine),
+ 1, ClientOrder(client));
+
+ WriteToClient(client, (int)(nlines * widthBytesLine), pBuf);
+ linesDone += nlines;
+ }
+ }
+ }
+ }
+ if (pVisibleRegion)
+ RegionDestroy(pVisibleRegion);
+ free(pBuf);
+ return Success;
+}
+
+int
+ProcGetImage(ClientPtr client)
+{
+ REQUEST(xGetImageReq);
+
+ REQUEST_SIZE_MATCH(xGetImageReq);
+
+ return DoGetImage(client, stuff->format, stuff->drawable,
+ stuff->x, stuff->y,
+ (int) stuff->width, (int) stuff->height,
+ stuff->planeMask);
+}
+
+int
+ProcPolyText(ClientPtr client)
+{
+ int err;
+
+ REQUEST(xPolyTextReq);
+ DrawablePtr pDraw;
+ GC *pGC;
+
+ REQUEST_AT_LEAST_SIZE(xPolyTextReq);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+
+ err = PolyText(client,
+ pDraw,
+ pGC,
+ (unsigned char *) &stuff[1],
+ ((unsigned char *) stuff) + (client->req_len << 2),
+ stuff->x, stuff->y, stuff->reqType, stuff->drawable);
+
+ if (err == Success) {
+ return Success;
+ }
+ else
+ return err;
+}
+
+int
+ProcImageText8(ClientPtr client)
+{
+ int err;
+ DrawablePtr pDraw;
+ GC *pGC;
+
+ REQUEST(xImageTextReq);
+
+ REQUEST_FIXED_SIZE(xImageTextReq, stuff->nChars);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+
+ err = ImageText(client,
+ pDraw,
+ pGC,
+ stuff->nChars,
+ (unsigned char *) &stuff[1],
+ stuff->x, stuff->y, stuff->reqType, stuff->drawable);
+
+ if (err == Success) {
+ return Success;
+ }
+ else
+ return err;
+}
+
+int
+ProcImageText16(ClientPtr client)
+{
+ int err;
+ DrawablePtr pDraw;
+ GC *pGC;
+
+ REQUEST(xImageTextReq);
+
+ REQUEST_FIXED_SIZE(xImageTextReq, stuff->nChars << 1);
+ VALIDATE_DRAWABLE_AND_GC(stuff->drawable, pDraw, DixWriteAccess);
+
+ err = ImageText(client,
+ pDraw,
+ pGC,
+ stuff->nChars,
+ (unsigned char *) &stuff[1],
+ stuff->x, stuff->y, stuff->reqType, stuff->drawable);
+
+ if (err == Success) {
+ return Success;
+ }
+ else
+ return err;
+}
+
+int
+ProcCreateColormap(ClientPtr client)
+{
+ VisualPtr pVisual;
+ ColormapPtr pmap;
+ Colormap mid;
+ WindowPtr pWin;
+ ScreenPtr pScreen;
+
+ REQUEST(xCreateColormapReq);
+ int i, result;
+
+ REQUEST_SIZE_MATCH(xCreateColormapReq);
+
+ if ((stuff->alloc != AllocNone) && (stuff->alloc != AllocAll)) {
+ client->errorValue = stuff->alloc;
+ return BadValue;
+ }
+ mid = stuff->mid;
+ LEGAL_NEW_RESOURCE(mid, client);
+ result = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
+ if (result != Success)
+ return result;
+
+ pScreen = pWin->drawable.pScreen;
+ for (i = 0, pVisual = pScreen->visuals;
+ i < pScreen->numVisuals; i++, pVisual++) {
+ if (pVisual->vid != stuff->visual)
+ continue;
+ return CreateColormap(mid, pScreen, pVisual, &pmap,
+ (int) stuff->alloc, client->index);
+ }
+ client->errorValue = stuff->visual;
+ return BadMatch;
+}
+
+int
+ProcFreeColormap(ClientPtr client)
+{
+ ColormapPtr pmap;
+ int rc;
+
+ REQUEST(xResourceReq);
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupResourceByType((void **) &pmap, stuff->id, RT_COLORMAP,
+ client, DixDestroyAccess);
+ if (rc == Success) {
+ /* Freeing a default colormap is a no-op */
+ if (!(pmap->flags & IsDefault))
+ FreeResource(stuff->id, RT_NONE);
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->id;
+ return rc;
+ }
+}
+
+int
+ProcCopyColormapAndFree(ClientPtr client)
+{
+ Colormap mid;
+ ColormapPtr pSrcMap;
+
+ REQUEST(xCopyColormapAndFreeReq);
+ int rc;
+
+ REQUEST_SIZE_MATCH(xCopyColormapAndFreeReq);
+ mid = stuff->mid;
+ LEGAL_NEW_RESOURCE(mid, client);
+ rc = dixLookupResourceByType((void **) &pSrcMap, stuff->srcCmap,
+ RT_COLORMAP, client,
+ DixReadAccess | DixRemoveAccess);
+ if (rc == Success)
+ return CopyColormapAndFree(mid, pSrcMap, client->index);
+ client->errorValue = stuff->srcCmap;
+ return rc;
+}
+
+int
+ProcInstallColormap(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xResourceReq);
+ REQUEST_SIZE_MATCH(xResourceReq);
+
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->id, RT_COLORMAP,
+ client, DixInstallAccess);
+ if (rc != Success)
+ goto out;
+
+ rc = XaceHook(XACE_SCREEN_ACCESS, client, pcmp->pScreen, DixSetAttrAccess);
+ if (rc != Success) {
+ if (rc == BadValue)
+ rc = BadColor;
+ goto out;
+ }
+
+ (*(pcmp->pScreen->InstallColormap)) (pcmp);
+ return Success;
+
+ out:
+ client->errorValue = stuff->id;
+ return rc;
+}
+
+int
+ProcUninstallColormap(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xResourceReq);
+ REQUEST_SIZE_MATCH(xResourceReq);
+
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->id, RT_COLORMAP,
+ client, DixUninstallAccess);
+ if (rc != Success)
+ goto out;
+
+ rc = XaceHook(XACE_SCREEN_ACCESS, client, pcmp->pScreen, DixSetAttrAccess);
+ if (rc != Success) {
+ if (rc == BadValue)
+ rc = BadColor;
+ goto out;
+ }
+
+ if (pcmp->mid != pcmp->pScreen->defColormap)
+ (*(pcmp->pScreen->UninstallColormap)) (pcmp);
+ return Success;
+
+ out:
+ client->errorValue = stuff->id;
+ return rc;
+}
+
+int
+ProcListInstalledColormaps(ClientPtr client)
+{
+ xListInstalledColormapsReply *preply;
+ int nummaps, rc;
+ WindowPtr pWin;
+
+ REQUEST(xResourceReq);
+ REQUEST_SIZE_MATCH(xResourceReq);
+
+ rc = dixLookupWindow(&pWin, stuff->id, client, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+
+ rc = XaceHook(XACE_SCREEN_ACCESS, client, pWin->drawable.pScreen,
+ DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+
+ preply = malloc(sizeof(xListInstalledColormapsReply) +
+ pWin->drawable.pScreen->maxInstalledCmaps *
+ sizeof(Colormap));
+ if (!preply)
+ return BadAlloc;
+
+ preply->type = X_Reply;
+ preply->sequenceNumber = client->sequence;
+ nummaps = (*pWin->drawable.pScreen->ListInstalledColormaps)
+ (pWin->drawable.pScreen, (Colormap *) &preply[1]);
+ preply->nColormaps = nummaps;
+ preply->length = nummaps;
+ WriteReplyToClient(client, sizeof(xListInstalledColormapsReply), preply);
+ client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
+ WriteSwappedDataToClient(client, nummaps * sizeof(Colormap), &preply[1]);
+ free(preply);
+ return Success;
+}
+
+int
+ProcAllocColor(ClientPtr client)
+{
+ ColormapPtr pmap;
+ int rc;
+
+ REQUEST(xAllocColorReq);
+
+ REQUEST_SIZE_MATCH(xAllocColorReq);
+ rc = dixLookupResourceByType((void **) &pmap, stuff->cmap, RT_COLORMAP,
+ client, DixAddAccess);
+ if (rc == Success) {
+ xAllocColorReply acr;
+ acr.type = X_Reply;
+ acr.sequenceNumber = client->sequence;
+ acr.length = 0;
+ acr.red = stuff->red;
+ acr.green = stuff->green;
+ acr.blue = stuff->blue;
+ acr.pixel = 0;
+ if ((rc = AllocColor(pmap, &acr.red, &acr.green, &acr.blue,
+ &acr.pixel, client->index)))
+ return rc;
+#ifdef PANORAMIX
+ if (noPanoramiXExtension || !pmap->pScreen->myNum)
+#endif
+ WriteReplyToClient(client, sizeof(xAllocColorReply), &acr);
+ return Success;
+
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcAllocNamedColor(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xAllocNamedColorReq);
+
+ REQUEST_FIXED_SIZE(xAllocNamedColorReq, stuff->nbytes);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixAddAccess);
+ if (rc == Success) {
+ xAllocNamedColorReply ancr;
+ ancr.type = X_Reply;
+ ancr.sequenceNumber = client->sequence;
+ ancr.length = 0;
+
+ if (OsLookupColor
+ (pcmp->pScreen->myNum, (char *) &stuff[1], stuff->nbytes,
+ &ancr.exactRed, &ancr.exactGreen, &ancr.exactBlue)) {
+ ancr.screenRed = ancr.exactRed;
+ ancr.screenGreen = ancr.exactGreen;
+ ancr.screenBlue = ancr.exactBlue;
+ ancr.pixel = 0;
+ if ((rc = AllocColor(pcmp,
+ &ancr.screenRed, &ancr.screenGreen,
+ &ancr.screenBlue, &ancr.pixel, client->index)))
+ return rc;
+#ifdef PANORAMIX
+ if (noPanoramiXExtension || !pcmp->pScreen->myNum)
+#endif
+ WriteReplyToClient(client, sizeof(xAllocNamedColorReply),
+ &ancr);
+ return Success;
+ }
+ else
+ return BadName;
+
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcAllocColorCells(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xAllocColorCellsReq);
+
+ REQUEST_SIZE_MATCH(xAllocColorCellsReq);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixAddAccess);
+ if (rc == Success) {
+ int npixels, nmasks;
+ long length;
+ Pixel *ppixels, *pmasks;
+
+ npixels = stuff->colors;
+ if (!npixels) {
+ client->errorValue = npixels;
+ return BadValue;
+ }
+ if (stuff->contiguous != xTrue && stuff->contiguous != xFalse) {
+ client->errorValue = stuff->contiguous;
+ return BadValue;
+ }
+ nmasks = stuff->planes;
+ length = ((long) npixels + (long) nmasks) * sizeof(Pixel);
+ ppixels = malloc(length);
+ if (!ppixels)
+ return BadAlloc;
+ pmasks = ppixels + npixels;
+
+ if ((rc = AllocColorCells(client->index, pcmp, npixels, nmasks,
+ (Bool) stuff->contiguous, ppixels, pmasks))) {
+ free(ppixels);
+ return rc;
+ }
+#ifdef PANORAMIX
+ if (noPanoramiXExtension || !pcmp->pScreen->myNum)
+#endif
+ {
+ xAllocColorCellsReply accr;
+ accr.type = X_Reply;
+ accr.sequenceNumber = client->sequence;
+ accr.length = bytes_to_int32(length);
+ accr.nPixels = npixels;
+ accr.nMasks = nmasks;
+ WriteReplyToClient(client, sizeof(xAllocColorCellsReply), &accr);
+ client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
+ WriteSwappedDataToClient(client, length, ppixels);
+ }
+ free(ppixels);
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcAllocColorPlanes(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xAllocColorPlanesReq);
+
+ REQUEST_SIZE_MATCH(xAllocColorPlanesReq);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixAddAccess);
+ if (rc == Success) {
+ xAllocColorPlanesReply acpr;
+ int npixels;
+ long length;
+ Pixel *ppixels;
+
+ npixels = stuff->colors;
+ if (!npixels) {
+ client->errorValue = npixels;
+ return BadValue;
+ }
+ if (stuff->contiguous != xTrue && stuff->contiguous != xFalse) {
+ client->errorValue = stuff->contiguous;
+ return BadValue;
+ }
+
+ acpr.type = X_Reply;
+ acpr.sequenceNumber = client->sequence;
+ acpr.nPixels = npixels;
+
+ length = (long) npixels *sizeof(Pixel);
+
+ ppixels = malloc(length);
+ if (!ppixels)
+ return BadAlloc;
+ if ((rc = AllocColorPlanes(client->index, pcmp, npixels,
+ (int) stuff->red, (int) stuff->green,
+ (int) stuff->blue, (Bool) stuff->contiguous,
+ ppixels, &acpr.redMask, &acpr.greenMask,
+ &acpr.blueMask))) {
+ free(ppixels);
+ return rc;
+ }
+ acpr.length = bytes_to_int32(length);
+#ifdef PANORAMIX
+ if (noPanoramiXExtension || !pcmp->pScreen->myNum)
+#endif
+ {
+ WriteReplyToClient(client, sizeof(xAllocColorPlanesReply), &acpr);
+ client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
+ WriteSwappedDataToClient(client, length, ppixels);
+ }
+ free(ppixels);
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcFreeColors(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xFreeColorsReq);
+
+ REQUEST_AT_LEAST_SIZE(xFreeColorsReq);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixRemoveAccess);
+ if (rc == Success) {
+ int count;
+
+ if (pcmp->flags & AllAllocated)
+ return BadAccess;
+ count = bytes_to_int32((client->req_len << 2) - sizeof(xFreeColorsReq));
+ return FreeColors(pcmp, client->index, count,
+ (Pixel *) &stuff[1], (Pixel) stuff->planeMask);
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcStoreColors(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xStoreColorsReq);
+
+ REQUEST_AT_LEAST_SIZE(xStoreColorsReq);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixWriteAccess);
+ if (rc == Success) {
+ int count;
+
+ count = (client->req_len << 2) - sizeof(xStoreColorsReq);
+ if (count % sizeof(xColorItem))
+ return BadLength;
+ count /= sizeof(xColorItem);
+ return StoreColors(pcmp, count, (xColorItem *) &stuff[1], client);
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcStoreNamedColor(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xStoreNamedColorReq);
+
+ REQUEST_FIXED_SIZE(xStoreNamedColorReq, stuff->nbytes);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixWriteAccess);
+ if (rc == Success) {
+ xColorItem def;
+
+ if (OsLookupColor(pcmp->pScreen->myNum, (char *) &stuff[1],
+ stuff->nbytes, &def.red, &def.green, &def.blue)) {
+ def.flags = stuff->flags;
+ def.pixel = stuff->pixel;
+ return StoreColors(pcmp, 1, &def, client);
+ }
+ return BadName;
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcQueryColors(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xQueryColorsReq);
+
+ REQUEST_AT_LEAST_SIZE(xQueryColorsReq);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixReadAccess);
+ if (rc == Success) {
+ int count;
+ xrgb *prgbs;
+ xQueryColorsReply qcr;
+
+ count =
+ bytes_to_int32((client->req_len << 2) - sizeof(xQueryColorsReq));
+ prgbs = calloc(1, count * sizeof(xrgb));
+ if (!prgbs && count)
+ return BadAlloc;
+ if ((rc =
+ QueryColors(pcmp, count, (Pixel *) &stuff[1], prgbs, client))) {
+ free(prgbs);
+ return rc;
+ }
+ memset(&qcr, 0, sizeof(xQueryColorsReply));
+ qcr.type = X_Reply;
+ qcr.sequenceNumber = client->sequence;
+ qcr.length = bytes_to_int32(count * sizeof(xrgb));
+ qcr.nColors = count;
+
+ WriteReplyToClient(client, sizeof(xQueryColorsReply), &qcr);
+ if (count) {
+ client->pSwapReplyFunc = (ReplySwapPtr) SQColorsExtend;
+ WriteSwappedDataToClient(client, count * sizeof(xrgb), prgbs);
+ }
+ free(prgbs);
+ return Success;
+
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcLookupColor(ClientPtr client)
+{
+ ColormapPtr pcmp;
+ int rc;
+
+ REQUEST(xLookupColorReq);
+
+ REQUEST_FIXED_SIZE(xLookupColorReq, stuff->nbytes);
+ rc = dixLookupResourceByType((void **) &pcmp, stuff->cmap, RT_COLORMAP,
+ client, DixReadAccess);
+ if (rc == Success) {
+ CARD16 exactRed, exactGreen, exactBlue;
+
+ if (OsLookupColor
+ (pcmp->pScreen->myNum, (char *) &stuff[1], stuff->nbytes,
+ &exactRed, &exactGreen, &exactBlue)) {
+ xLookupColorReply lcr;
+ lcr.type = X_Reply;
+ lcr.sequenceNumber = client->sequence;
+ lcr.length = 0;
+ lcr.exactRed = exactRed;
+ lcr.exactGreen = exactGreen;
+ lcr.exactBlue = exactBlue;
+ lcr.screenRed = exactRed;
+ lcr.screenGreen = exactGreen;
+ lcr.screenBlue = exactBlue;
+
+ (*pcmp->pScreen->ResolveColor) (&lcr.screenRed,
+ &lcr.screenGreen,
+ &lcr.screenBlue, pcmp->pVisual);
+ WriteReplyToClient(client, sizeof(xLookupColorReply), &lcr);
+ return Success;
+ }
+ return BadName;
+ }
+ else {
+ client->errorValue = stuff->cmap;
+ return rc;
+ }
+}
+
+int
+ProcCreateCursor(ClientPtr client)
+{
+ CursorPtr pCursor;
+ PixmapPtr src;
+ PixmapPtr msk;
+ unsigned char *srcbits;
+ unsigned char *mskbits;
+ unsigned short width, height;
+ long n;
+ CursorMetricRec cm;
+ int rc;
+
+ REQUEST(xCreateCursorReq);
+
+ REQUEST_SIZE_MATCH(xCreateCursorReq);
+ LEGAL_NEW_RESOURCE(stuff->cid, client);
+
+ rc = dixLookupResourceByType((void **) &src, stuff->source, RT_PIXMAP,
+ client, DixReadAccess);
+ if (rc != Success) {
+ client->errorValue = stuff->source;
+ return rc;
+ }
+
+ if (src->drawable.depth != 1)
+ return (BadMatch);
+
+ /* Find and validate cursor mask pixmap, if one is provided */
+ if (stuff->mask != None) {
+ rc = dixLookupResourceByType((void **) &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
+ msk = NULL;
+
+ width = src->drawable.width;
+ height = src->drawable.height;
+
+ if (stuff->x > width || stuff->y > height)
+ return BadMatch;
+
+ n = BitmapBytePad(width) * height;
+ srcbits = calloc(1, n);
+ if (!srcbits)
+ return BadAlloc;
+ mskbits = malloc(n);
+ if (!mskbits) {
+ free(srcbits);
+ return BadAlloc;
+ }
+
+ (*src->drawable.pScreen->GetImage) ((DrawablePtr) src, 0, 0, width, height,
+ XYPixmap, 1, (void *) srcbits);
+ if (msk == (PixmapPtr) NULL) {
+ unsigned char *bits = mskbits;
+
+ while (--n >= 0)
+ *bits++ = ~0;
+ }
+ else {
+ /* zeroing the (pad) bits helps some ddx cursor handling */
+ memset((char *) mskbits, 0, n);
+ (*msk->drawable.pScreen->GetImage) ((DrawablePtr) msk, 0, 0, width,
+ height, XYPixmap, 1,
+ (void *) mskbits);
+ }
+ cm.width = width;
+ cm.height = height;
+ cm.xhot = stuff->x;
+ cm.yhot = stuff->y;
+ rc = AllocARGBCursor(srcbits, mskbits, NULL, &cm,
+ stuff->foreRed, stuff->foreGreen, stuff->foreBlue,
+ stuff->backRed, stuff->backGreen, stuff->backBlue,
+ &pCursor, client, stuff->cid);
+
+ if (rc != Success)
+ goto bail;
+ if (!AddResource(stuff->cid, RT_CURSOR, (void *) pCursor)) {
+ rc = BadAlloc;
+ goto bail;
+ }
+
+ return Success;
+ bail:
+ free(srcbits);
+ free(mskbits);
+ return rc;
+}
+
+int
+ProcCreateGlyphCursor(ClientPtr client)
+{
+ CursorPtr pCursor;
+ int res;
+
+ REQUEST(xCreateGlyphCursorReq);
+
+ REQUEST_SIZE_MATCH(xCreateGlyphCursorReq);
+ LEGAL_NEW_RESOURCE(stuff->cid, client);
+
+ res = AllocGlyphCursor(stuff->source, stuff->sourceChar,
+ stuff->mask, stuff->maskChar,
+ stuff->foreRed, stuff->foreGreen, stuff->foreBlue,
+ stuff->backRed, stuff->backGreen, stuff->backBlue,
+ &pCursor, client, stuff->cid);
+ if (res != Success)
+ return res;
+ if (AddResource(stuff->cid, RT_CURSOR, (void *) pCursor))
+ return Success;
+ return BadAlloc;
+}
+
+int
+ProcFreeCursor(ClientPtr client)
+{
+ CursorPtr pCursor;
+ int rc;
+
+ REQUEST(xResourceReq);
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ rc = dixLookupResourceByType((void **) &pCursor, stuff->id, RT_CURSOR,
+ client, DixDestroyAccess);
+ if (rc == Success) {
+ FreeResource(stuff->id, RT_NONE);
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->id;
+ return rc;
+ }
+}
+
+int
+ProcQueryBestSize(ClientPtr client)
+{
+ xQueryBestSizeReply reply;
+ DrawablePtr pDraw;
+ ScreenPtr pScreen;
+ int rc;
+
+ REQUEST(xQueryBestSizeReq);
+ REQUEST_SIZE_MATCH(xQueryBestSizeReq);
+
+ if ((stuff->class != CursorShape) &&
+ (stuff->class != TileShape) && (stuff->class != StippleShape)) {
+ client->errorValue = stuff->class;
+ return BadValue;
+ }
+
+ rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY,
+ DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+ if (stuff->class != CursorShape && pDraw->type == UNDRAWABLE_WINDOW)
+ return BadMatch;
+ pScreen = pDraw->pScreen;
+ rc = XaceHook(XACE_SCREEN_ACCESS, client, pScreen, DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+ (*pScreen->QueryBestSize) (stuff->class, &stuff->width,
+ &stuff->height, pScreen);
+ memset(&reply, 0, sizeof(xQueryBestSizeReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.width = stuff->width;
+ reply.height = stuff->height;
+
+ WriteReplyToClient(client, sizeof(xQueryBestSizeReply), &reply);
+ return Success;
+}
+
+int
+ProcSetScreenSaver(ClientPtr client)
+{
+ int rc, i, blankingOption, exposureOption;
+
+ REQUEST(xSetScreenSaverReq);
+ REQUEST_SIZE_MATCH(xSetScreenSaverReq);
+
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ rc = XaceHook(XACE_SCREENSAVER_ACCESS, client, screenInfo.screens[i],
+ DixSetAttrAccess);
+ if (rc != Success)
+ return rc;
+ }
+
+ blankingOption = stuff->preferBlank;
+ if ((blankingOption != DontPreferBlanking) &&
+ (blankingOption != PreferBlanking) &&
+ (blankingOption != DefaultBlanking)) {
+ client->errorValue = blankingOption;
+ return BadValue;
+ }
+ exposureOption = stuff->allowExpose;
+ if ((exposureOption != DontAllowExposures) &&
+ (exposureOption != AllowExposures) &&
+ (exposureOption != DefaultExposures)) {
+ client->errorValue = exposureOption;
+ return BadValue;
+ }
+ if (stuff->timeout < -1) {
+ client->errorValue = stuff->timeout;
+ return BadValue;
+ }
+ if (stuff->interval < -1) {
+ client->errorValue = stuff->interval;
+ return BadValue;
+ }
+
+ if (blankingOption == DefaultBlanking)
+ ScreenSaverBlanking = defaultScreenSaverBlanking;
+ else
+ ScreenSaverBlanking = blankingOption;
+ if (exposureOption == DefaultExposures)
+ ScreenSaverAllowExposures = defaultScreenSaverAllowExposures;
+ else
+ ScreenSaverAllowExposures = exposureOption;
+
+ if (stuff->timeout >= 0)
+ ScreenSaverTime = stuff->timeout * MILLI_PER_SECOND;
+ else
+ ScreenSaverTime = defaultScreenSaverTime;
+ if (stuff->interval >= 0)
+ ScreenSaverInterval = stuff->interval * MILLI_PER_SECOND;
+ else
+ ScreenSaverInterval = defaultScreenSaverInterval;
+
+ SetScreenSaverTimer();
+ return Success;
+}
+
+int
+ProcGetScreenSaver(ClientPtr client)
+{
+ xGetScreenSaverReply rep;
+ int rc, i;
+
+ REQUEST_SIZE_MATCH(xReq);
+
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ rc = XaceHook(XACE_SCREENSAVER_ACCESS, client, screenInfo.screens[i],
+ DixGetAttrAccess);
+ if (rc != Success)
+ return rc;
+ }
+
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.timeout = ScreenSaverTime / MILLI_PER_SECOND;
+ rep.interval = ScreenSaverInterval / MILLI_PER_SECOND;
+ rep.preferBlanking = ScreenSaverBlanking;
+ rep.allowExposures = ScreenSaverAllowExposures;
+
+ WriteReplyToClient(client, sizeof(xGetScreenSaverReply), &rep);
+ return Success;
+}
+
+int
+ProcChangeHosts(ClientPtr client)
+{
+ REQUEST(xChangeHostsReq);
+
+ REQUEST_FIXED_SIZE(xChangeHostsReq, stuff->hostLength);
+
+ if (stuff->mode == HostInsert)
+ return AddHost(client, (int) stuff->hostFamily,
+ stuff->hostLength, (void *) &stuff[1]);
+ if (stuff->mode == HostDelete)
+ return RemoveHost(client, (int) stuff->hostFamily,
+ stuff->hostLength, (void *) &stuff[1]);
+ client->errorValue = stuff->mode;
+ return BadValue;
+}
+
+int
+ProcListHosts(ClientPtr client)
+{
+ xListHostsReply reply;
+ int len, nHosts, result;
+ BOOL enabled;
+ void *pdata;
+
+ /* REQUEST(xListHostsReq); */
+
+ REQUEST_SIZE_MATCH(xListHostsReq);
+
+ /* untrusted clients can't list hosts */
+ result = XaceHook(XACE_SERVER_ACCESS, client, DixReadAccess);
+ if (result != Success)
+ return result;
+
+ result = GetHosts(&pdata, &nHosts, &len, &enabled);
+ if (result != Success)
+ return result;
+
+
+ reply.type = X_Reply;
+ reply.enabled = enabled;
+ reply.sequenceNumber = client->sequence;
+ reply.length = bytes_to_int32(len);
+ reply.nHosts = nHosts;
+
+ WriteReplyToClient(client, sizeof(xListHostsReply), &reply);
+ if (nHosts) {
+ client->pSwapReplyFunc = (ReplySwapPtr) SLHostsExtend;
+ WriteSwappedDataToClient(client, len, pdata);
+ }
+ free(pdata);
+ return Success;
+}
+
+int
+ProcChangeAccessControl(ClientPtr client)
+{
+ REQUEST(xSetAccessControlReq);
+
+ REQUEST_SIZE_MATCH(xSetAccessControlReq);
+ if ((stuff->mode != EnableAccess) && (stuff->mode != DisableAccess)) {
+ client->errorValue = stuff->mode;
+ return BadValue;
+ }
+ return ChangeAccessControl(client, stuff->mode == EnableAccess);
+}
+
+/*********************
+ * CloseDownRetainedResources
+ *
+ * Find all clients that are gone and have terminated in RetainTemporary
+ * and destroy their resources.
+ *********************/
+
+static void
+CloseDownRetainedResources(void)
+{
+ int i;
+ ClientPtr client;
+
+ for (i = 1; i < currentMaxClients; i++) {
+ client = clients[i];
+ if (client && (client->closeDownMode == RetainTemporary)
+ && (client->clientGone))
+ CloseDownClient(client);
+ }
+}
+
+int
+ProcKillClient(ClientPtr client)
+{
+ REQUEST(xResourceReq);
+ ClientPtr killclient;
+ int rc;
+
+ REQUEST_SIZE_MATCH(xResourceReq);
+ if (stuff->id == AllTemporary) {
+ CloseDownRetainedResources();
+ return Success;
+ }
+
+ rc = dixLookupClient(&killclient, stuff->id, client, DixDestroyAccess);
+ if (rc == Success) {
+ CloseDownClient(killclient);
+ /* if an LBX proxy gets killed, isItTimeToYield will be set */
+ if (isItTimeToYield || (client == killclient)) {
+ /* force yield and return Success, so that Dispatch()
+ * doesn't try to touch client
+ */
+ isItTimeToYield = TRUE;
+ return Success;
+ }
+ return Success;
+ }
+ else
+ return rc;
+}
+
+int
+ProcSetFontPath(ClientPtr client)
+{
+ unsigned char *ptr;
+ unsigned long nbytes, total;
+ long nfonts;
+ int n;
+
+ REQUEST(xSetFontPathReq);
+
+ REQUEST_AT_LEAST_SIZE(xSetFontPathReq);
+
+ nbytes = (client->req_len << 2) - sizeof(xSetFontPathReq);
+ total = nbytes;
+ ptr = (unsigned char *) &stuff[1];
+ nfonts = stuff->nFonts;
+ while (--nfonts >= 0) {
+ if ((total == 0) || (total < (n = (*ptr + 1))))
+ return BadLength;
+ total -= n;
+ ptr += n;
+ }
+ if (total >= 4)
+ return BadLength;
+ return SetFontPath(client, stuff->nFonts, (unsigned char *) &stuff[1]);
+}
+
+int
+ProcGetFontPath(ClientPtr client)
+{
+ xGetFontPathReply reply;
+ int rc, stringLens, numpaths;
+ unsigned char *bufferStart;
+
+ /* REQUEST (xReq); */
+
+ REQUEST_SIZE_MATCH(xReq);
+ rc = GetFontPath(client, &numpaths, &stringLens, &bufferStart);
+ if (rc != Success)
+ return rc;
+
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = bytes_to_int32(stringLens + numpaths);
+ reply.nPaths = numpaths;
+
+ WriteReplyToClient(client, sizeof(xGetFontPathReply), &reply);
+ if (stringLens || numpaths)
+ WriteToClient(client, stringLens + numpaths, bufferStart);
+ return Success;
+}
+
+int
+ProcChangeCloseDownMode(ClientPtr client)
+{
+ int rc;
+
+ REQUEST(xSetCloseDownModeReq);
+ REQUEST_SIZE_MATCH(xSetCloseDownModeReq);
+
+ rc = XaceHook(XACE_CLIENT_ACCESS, client, client, DixManageAccess);
+ if (rc != Success)
+ return rc;
+
+ if ((stuff->mode == AllTemporary) ||
+ (stuff->mode == RetainPermanent) || (stuff->mode == RetainTemporary)) {
+ client->closeDownMode = stuff->mode;
+ return Success;
+ }
+ else {
+ client->errorValue = stuff->mode;
+ return BadValue;
+ }
+}
+
+int
+ProcForceScreenSaver(ClientPtr client)
+{
+ int rc;
+
+ REQUEST(xForceScreenSaverReq);
+
+ REQUEST_SIZE_MATCH(xForceScreenSaverReq);
+
+ if ((stuff->mode != ScreenSaverReset) && (stuff->mode != ScreenSaverActive)) {
+ client->errorValue = stuff->mode;
+ return BadValue;
+ }
+ rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, (int) stuff->mode);
+ if (rc != Success)
+ return rc;
+ return Success;
+}
+
+int
+ProcNoOperation(ClientPtr client)
+{
+ REQUEST_AT_LEAST_SIZE(xReq);
+
+ /* noop -- don't do anything */
+ return Success;
+}
+
+/**********************
+ * CloseDownClient
+ *
+ * Client can either mark his resources destroy or retain. If retained and
+ * then killed again, the client is really destroyed.
+ *********************/
+
+char dispatchExceptionAtReset = DE_RESET;
+
+void
+CloseDownClient(ClientPtr client)
+{
+ Bool really_close_down = client->clientGone ||
+ client->closeDownMode == DestroyAll;
+
+ if (!client->clientGone) {
+ /* ungrab server if grabbing client dies */
+ if (grabState != GrabNone && grabClient == client) {
+ UngrabServer(client);
+ }
+ BITCLEAR(grabWaiters, client->index);
+ DeleteClientFromAnySelections(client);
+ ReleaseActiveGrabs(client);
+ DeleteClientFontStuff(client);
+ if (!really_close_down) {
+ /* This frees resources that should never be retained
+ * no matter what the close down mode is. Actually we
+ * could do this unconditionally, but it's probably
+ * better not to traverse all the client's resources
+ * twice (once here, once a few lines down in
+ * FreeClientResources) in the common case of
+ * really_close_down == TRUE.
+ */
+ FreeClientNeverRetainResources(client);
+ client->clientState = ClientStateRetained;
+ if (ClientStateCallback) {
+ NewClientInfoRec clientinfo;
+
+ clientinfo.client = client;
+ clientinfo.prefix = (xConnSetupPrefix *) NULL;
+ clientinfo.setup = (xConnSetup *) NULL;
+ CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
+ }
+ }
+ client->clientGone = TRUE; /* so events aren't sent to client */
+ if (ClientIsAsleep(client))
+ ClientSignal(client);
+ ProcessWorkQueueZombies();
+ CloseDownConnection(client);
+
+ /* If the client made it to the Running stage, nClients has
+ * been incremented on its behalf, so we need to decrement it
+ * now. If it hasn't gotten to Running, nClients has *not*
+ * been incremented, so *don't* decrement it.
+ */
+ if (client->clientState != ClientStateInitial) {
+ --nClients;
+ }
+ }
+
+ if (really_close_down) {
+ if (client->clientState == ClientStateRunning && nClients == 0)
+ dispatchException |= dispatchExceptionAtReset;
+
+ client->clientState = ClientStateGone;
+ if (ClientStateCallback) {
+ NewClientInfoRec clientinfo;
+
+ clientinfo.client = client;
+ clientinfo.prefix = (xConnSetupPrefix *) NULL;
+ clientinfo.setup = (xConnSetup *) NULL;
+ CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
+ }
+ TouchListenerGone(client->clientAsMask);
+ FreeClientResources(client);
+ /* Disable client ID tracking. This must be done after
+ * ClientStateCallback. */
+ ReleaseClientIds(client);
+#ifdef XSERVER_DTRACE
+ XSERVER_CLIENT_DISCONNECT(client->index);
+#endif
+ if (client->index < nextFreeClientID)
+ nextFreeClientID = client->index;
+ clients[client->index] = NullClient;
+ SmartLastClient = NullClient;
+ dixFreeObjectWithPrivates(client, PRIVATE_CLIENT);
+
+ while (!clients[currentMaxClients - 1])
+ currentMaxClients--;
+ }
+}
+
+static void
+KillAllClients(void)
+{
+ int i;
+
+ for (i = 1; i < currentMaxClients; i++)
+ if (clients[i]) {
+ /* Make sure Retained clients are released. */
+ clients[i]->closeDownMode = DestroyAll;
+ CloseDownClient(clients[i]);
+ }
+}
+
+void
+InitClient(ClientPtr client, int i, void *ospriv)
+{
+ client->index = i;
+ client->clientAsMask = ((Mask) i) << CLIENTOFFSET;
+ client->closeDownMode = i ? DestroyAll : RetainPermanent;
+ client->requestVector = InitialVector;
+ client->osPrivate = ospriv;
+ QueryMinMaxKeyCodes(&client->minKC, &client->maxKC);
+ client->smart_start_tick = SmartScheduleTime;
+ client->smart_stop_tick = SmartScheduleTime;
+ client->clientIds = NULL;
+}
+
+/************************
+ * int NextAvailableClient(ospriv)
+ *
+ * OS dependent portion can't assign client id's because of CloseDownModes.
+ * Returns NULL if there are no free clients.
+ *************************/
+
+ClientPtr
+NextAvailableClient(void *ospriv)
+{
+ int i;
+ ClientPtr client;
+ xReq data;
+
+ i = nextFreeClientID;
+ if (i == MAXCLIENTS)
+ return (ClientPtr) NULL;
+ clients[i] = client =
+ dixAllocateObjectWithPrivates(ClientRec, PRIVATE_CLIENT);
+ if (!client)
+ return (ClientPtr) NULL;
+ InitClient(client, i, ospriv);
+ if (!InitClientResources(client)) {
+ dixFreeObjectWithPrivates(client, PRIVATE_CLIENT);
+ return (ClientPtr) NULL;
+ }
+ data.reqType = 1;
+ data.length = bytes_to_int32(sz_xReq + sz_xConnClientPrefix);
+ if (!InsertFakeRequest(client, (char *) &data, sz_xReq)) {
+ FreeClientResources(client);
+ dixFreeObjectWithPrivates(client, PRIVATE_CLIENT);
+ return (ClientPtr) NULL;
+ }
+ if (i == currentMaxClients)
+ currentMaxClients++;
+ while ((nextFreeClientID < MAXCLIENTS) && clients[nextFreeClientID])
+ nextFreeClientID++;
+
+ /* Enable client ID tracking. This must be done before
+ * ClientStateCallback. */
+ ReserveClientIds(client);
+
+ if (ClientStateCallback) {
+ NewClientInfoRec clientinfo;
+
+ clientinfo.client = client;
+ clientinfo.prefix = (xConnSetupPrefix *) NULL;
+ clientinfo.setup = (xConnSetup *) NULL;
+ CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
+ }
+ return client;
+}
+
+int
+ProcInitialConnection(ClientPtr client)
+{
+ REQUEST(xReq);
+ xConnClientPrefix *prefix;
+ int whichbyte = 1;
+ char order;
+
+ prefix = (xConnClientPrefix *) ((char *)stuff + sz_xReq);
+ order = prefix->byteOrder;
+ if (order != 'l' && order != 'B' && order != 'r' && order != 'R')
+ return client->noClientException = -1;
+ if (((*(char *) &whichbyte) && (order == 'B' || order == 'R')) ||
+ (!(*(char *) &whichbyte) && (order == 'l' || order == 'r'))) {
+ client->swapped = TRUE;
+ SwapConnClientPrefix(prefix);
+ }
+ stuff->reqType = 2;
+ stuff->length += bytes_to_int32(prefix->nbytesAuthProto) +
+ bytes_to_int32(prefix->nbytesAuthString);
+ if (client->swapped) {
+ swaps(&stuff->length);
+ }
+ if (order == 'r' || order == 'R') {
+ client->local = FALSE;
+ }
+ ResetCurrentRequest(client);
+ return Success;
+}
+
+static int
+SendConnSetup(ClientPtr client, const char *reason)
+{
+ xWindowRoot *root;
+ int i;
+ int numScreens;
+ char *lConnectionInfo;
+ xConnSetupPrefix *lconnSetupPrefix;
+
+ if (reason) {
+ xConnSetupPrefix csp;
+
+ csp.success = xFalse;
+ csp.lengthReason = strlen(reason);
+ csp.length = bytes_to_int32(csp.lengthReason);
+ csp.majorVersion = X_PROTOCOL;
+ csp.minorVersion = X_PROTOCOL_REVISION;
+ if (client->swapped)
+ WriteSConnSetupPrefix(client, &csp);
+ else
+ WriteToClient(client, sz_xConnSetupPrefix, &csp);
+ WriteToClient(client, (int) csp.lengthReason, reason);
+ return client->noClientException = -1;
+ }
+
+ numScreens = screenInfo.numScreens;
+ lConnectionInfo = ConnectionInfo;
+ lconnSetupPrefix = &connSetupPrefix;
+
+ /* We're about to start speaking X protocol back to the client by
+ * sending the connection setup info. This means the authorization
+ * step is complete, and we can count the client as an
+ * authorized one.
+ */
+ nClients++;
+
+ client->requestVector = client->swapped ? SwappedProcVector : ProcVector;
+ client->sequence = 0;
+ ((xConnSetup *) lConnectionInfo)->ridBase = client->clientAsMask;
+ ((xConnSetup *) lConnectionInfo)->ridMask = RESOURCE_ID_MASK;
+#ifdef MATCH_CLIENT_ENDIAN
+ ((xConnSetup *) lConnectionInfo)->imageByteOrder = ClientOrder(client);
+ ((xConnSetup *) lConnectionInfo)->bitmapBitOrder = ClientOrder(client);
+#endif
+ /* fill in the "currentInputMask" */
+ root = (xWindowRoot *) (lConnectionInfo + connBlockScreenStart);
+#ifdef PANORAMIX
+ if (noPanoramiXExtension)
+ numScreens = screenInfo.numScreens;
+ else
+ numScreens = ((xConnSetup *) ConnectionInfo)->numRoots;
+#endif
+
+ for (i = 0; i < numScreens; i++) {
+ unsigned int j;
+ xDepth *pDepth;
+ WindowPtr pRoot = screenInfo.screens[i]->root;
+
+ root->currentInputMask = pRoot->eventMask | wOtherEventMasks(pRoot);
+ pDepth = (xDepth *) (root + 1);
+ for (j = 0; j < root->nDepths; j++) {
+ pDepth = (xDepth *) (((char *) (pDepth + 1)) +
+ pDepth->nVisuals * sizeof(xVisualType));
+ }
+ root = (xWindowRoot *) pDepth;
+ }
+
+ if (client->swapped) {
+ WriteSConnSetupPrefix(client, lconnSetupPrefix);
+ WriteSConnectionInfo(client,
+ (unsigned long) (lconnSetupPrefix->length << 2),
+ lConnectionInfo);
+ }
+ else {
+ WriteToClient(client, sizeof(xConnSetupPrefix), lconnSetupPrefix);
+ WriteToClient(client, (int) (lconnSetupPrefix->length << 2),
+ lConnectionInfo);
+ }
+ client->clientState = ClientStateRunning;
+ if (ClientStateCallback) {
+ NewClientInfoRec clientinfo;
+
+ clientinfo.client = client;
+ clientinfo.prefix = lconnSetupPrefix;
+ clientinfo.setup = (xConnSetup *) lConnectionInfo;
+ CallCallbacks((&ClientStateCallback), (void *) &clientinfo);
+ }
+ return Success;
+}
+
+int
+ProcEstablishConnection(ClientPtr client)
+{
+ const char *reason;
+ char *auth_proto, *auth_string;
+ xConnClientPrefix *prefix;
+
+ REQUEST(xReq);
+
+ prefix = (xConnClientPrefix *) ((char *) stuff + sz_xReq);
+ auth_proto = (char *) prefix + sz_xConnClientPrefix;
+ auth_string = auth_proto + pad_to_int32(prefix->nbytesAuthProto);
+ if ((prefix->majorVersion != X_PROTOCOL) ||
+ (prefix->minorVersion != X_PROTOCOL_REVISION))
+ reason = "Protocol version mismatch";
+ else
+ reason = ClientAuthorized(client,
+ (unsigned short) prefix->nbytesAuthProto,
+ auth_proto,
+ (unsigned short) prefix->nbytesAuthString,
+ auth_string);
+
+ return (SendConnSetup(client, reason));
+}
+
+void
+SendErrorToClient(ClientPtr client, unsigned majorCode, unsigned minorCode,
+ XID resId, int errorCode)
+{
+ xError rep; memset(&rep, 0, sizeof(xError));
+ rep.type = X_Error;
+ rep.errorCode = errorCode;
+ rep.resourceID = resId;
+ rep.minorCode = minorCode;
+ rep.majorCode = majorCode;
+
+ WriteEventsToClient(client, 1, (xEvent *) &rep);
+}
+
+void
+MarkClientException(ClientPtr client)
+{
+ client->noClientException = -1;
+}
+
+/*
+ * This array encodes the answer to the question "what is the log base 2
+ * of the number of pixels that fit in a scanline pad unit?"
+ * Note that ~0 is an invalid entry (mostly for the benefit of the reader).
+ */
+static int answer[6][4] = {
+ /* pad pad pad pad */
+ /* 8 16 32 64 */
+
+ {3, 4, 5, 6}, /* 1 bit per pixel */
+ {1, 2, 3, 4}, /* 4 bits per pixel */
+ {0, 1, 2, 3}, /* 8 bits per pixel */
+ {~0, 0, 1, 2}, /* 16 bits per pixel */
+ {~0, ~0, 0, 1}, /* 24 bits per pixel */
+ {~0, ~0, 0, 1} /* 32 bits per pixel */
+};
+
+/*
+ * This array gives the answer to the question "what is the first index for
+ * the answer array above given the number of bits per pixel?"
+ * Note that ~0 is an invalid entry (mostly for the benefit of the reader).
+ */
+static int indexForBitsPerPixel[33] = {
+ ~0, 0, ~0, ~0, /* 1 bit per pixel */
+ 1, ~0, ~0, ~0, /* 4 bits per pixel */
+ 2, ~0, ~0, ~0, /* 8 bits per pixel */
+ ~0, ~0, ~0, ~0,
+ 3, ~0, ~0, ~0, /* 16 bits per pixel */
+ ~0, ~0, ~0, ~0,
+ 4, ~0, ~0, ~0, /* 24 bits per pixel */
+ ~0, ~0, ~0, ~0,
+ 5 /* 32 bits per pixel */
+};
+
+/*
+ * This array gives the bytesperPixel value for cases where the number
+ * of bits per pixel is a multiple of 8 but not a power of 2.
+ */
+static int answerBytesPerPixel[33] = {
+ ~0, 0, ~0, ~0, /* 1 bit per pixel */
+ 0, ~0, ~0, ~0, /* 4 bits per pixel */
+ 0, ~0, ~0, ~0, /* 8 bits per pixel */
+ ~0, ~0, ~0, ~0,
+ 0, ~0, ~0, ~0, /* 16 bits per pixel */
+ ~0, ~0, ~0, ~0,
+ 3, ~0, ~0, ~0, /* 24 bits per pixel */
+ ~0, ~0, ~0, ~0,
+ 0 /* 32 bits per pixel */
+};
+
+/*
+ * This array gives the answer to the question "what is the second index for
+ * the answer array above given the number of bits per scanline pad unit?"
+ * Note that ~0 is an invalid entry (mostly for the benefit of the reader).
+ */
+static int indexForScanlinePad[65] = {
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ 0, ~0, ~0, ~0, /* 8 bits per scanline pad unit */
+ ~0, ~0, ~0, ~0,
+ 1, ~0, ~0, ~0, /* 16 bits per scanline pad unit */
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ 2, ~0, ~0, ~0, /* 32 bits per scanline pad unit */
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ ~0, ~0, ~0, ~0,
+ 3 /* 64 bits per scanline pad unit */
+};
+
+/*
+ grow the array of screenRecs if necessary.
+ call the device-supplied initialization procedure
+with its screen number, a pointer to its ScreenRec, argc, and argv.
+ return the number of successfully installed screens.
+
+*/
+
+static int init_screen(ScreenPtr pScreen, int i, Bool gpu)
+{
+ int scanlinepad, format, depth, bitsPerPixel, j, k;
+
+ dixInitScreenSpecificPrivates(pScreen);
+
+ if (!dixAllocatePrivates(&pScreen->devPrivates, PRIVATE_SCREEN)) {
+ return -1;
+ }
+ pScreen->myNum = i;
+ if (gpu) {
+ pScreen->myNum += GPU_SCREEN_OFFSET;
+ pScreen->isGPU = TRUE;
+ }
+ pScreen->totalPixmapSize = 0; /* computed in CreateScratchPixmapForScreen */
+ pScreen->ClipNotify = 0; /* for R4 ddx compatibility */
+ pScreen->CreateScreenResources = 0;
+
+ xorg_list_init(&pScreen->pixmap_dirty_list);
+ xorg_list_init(&pScreen->unattached_list);
+ xorg_list_init(&pScreen->output_slave_list);
+ xorg_list_init(&pScreen->offload_slave_list);
+
+ /*
+ * This loop gets run once for every Screen that gets added,
+ * but thats ok. If the ddx layer initializes the formats
+ * one at a time calling AddScreen() after each, then each
+ * iteration will make it a little more accurate. Worst case
+ * we do this loop N * numPixmapFormats where N is # of screens.
+ * Anyway, this must be called after InitOutput and before the
+ * screen init routine is called.
+ */
+ for (format = 0; format < screenInfo.numPixmapFormats; format++) {
+ depth = screenInfo.formats[format].depth;
+ bitsPerPixel = screenInfo.formats[format].bitsPerPixel;
+ scanlinepad = screenInfo.formats[format].scanlinePad;
+ j = indexForBitsPerPixel[bitsPerPixel];
+ k = indexForScanlinePad[scanlinepad];
+ PixmapWidthPaddingInfo[depth].padPixelsLog2 = answer[j][k];
+ PixmapWidthPaddingInfo[depth].padRoundUp =
+ (scanlinepad / bitsPerPixel) - 1;
+ j = indexForBitsPerPixel[8]; /* bits per byte */
+ PixmapWidthPaddingInfo[depth].padBytesLog2 = answer[j][k];
+ PixmapWidthPaddingInfo[depth].bitsPerPixel = bitsPerPixel;
+ if (answerBytesPerPixel[bitsPerPixel]) {
+ PixmapWidthPaddingInfo[depth].notPower2 = 1;
+ PixmapWidthPaddingInfo[depth].bytesPerPixel =
+ answerBytesPerPixel[bitsPerPixel];
+ }
+ else {
+ PixmapWidthPaddingInfo[depth].notPower2 = 0;
+ }
+ }
+ return 0;
+}
+
+int
+AddScreen(Bool (*pfnInit) (ScreenPtr /*pScreen */ ,
+ int /*argc */ ,
+ char ** /*argv */
+ ), int argc, char **argv)
+{
+
+ int i;
+ ScreenPtr pScreen;
+ Bool ret;
+
+ i = screenInfo.numScreens;
+ if (i == MAXSCREENS)
+ return -1;
+
+ pScreen = (ScreenPtr) calloc(1, sizeof(ScreenRec));
+ if (!pScreen)
+ return -1;
+
+ ret = init_screen(pScreen, i, FALSE);
+ if (ret != 0) {
+ free(pScreen);
+ return ret;
+ }
+ /* This is where screen specific stuff gets initialized. Load the
+ screen structure, call the hardware, whatever.
+ This is also where the default colormap should be allocated and
+ also pixel values for blackPixel, whitePixel, and the cursor
+ Note that InitScreen is NOT allowed to modify argc, argv, or
+ any of the strings pointed to by argv. They may be passed to
+ multiple screens.
+ */
+ screenInfo.screens[i] = pScreen;
+ screenInfo.numScreens++;
+ if (!(*pfnInit) (pScreen, argc, argv)) {
+ dixFreeScreenSpecificPrivates(pScreen);
+ dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
+ free(pScreen);
+ screenInfo.numScreens--;
+ return -1;
+ }
+
+ update_desktop_dimensions();
+
+ dixRegisterScreenPrivateKey(&cursorScreenDevPriv, pScreen, PRIVATE_CURSOR,
+ 0);
+
+ return i;
+}
+
+int
+AddGPUScreen(Bool (*pfnInit) (ScreenPtr /*pScreen */ ,
+ int /*argc */ ,
+ char ** /*argv */
+ ),
+ int argc, char **argv)
+{
+ int i;
+ ScreenPtr pScreen;
+ Bool ret;
+
+ i = screenInfo.numGPUScreens;
+ if (i == MAXGPUSCREENS)
+ return -1;
+
+ pScreen = (ScreenPtr) calloc(1, sizeof(ScreenRec));
+ if (!pScreen)
+ return -1;
+
+ ret = init_screen(pScreen, i, TRUE);
+ if (ret != 0) {
+ free(pScreen);
+ return ret;
+ }
+
+ /* This is where screen specific stuff gets initialized. Load the
+ screen structure, call the hardware, whatever.
+ This is also where the default colormap should be allocated and
+ also pixel values for blackPixel, whitePixel, and the cursor
+ Note that InitScreen is NOT allowed to modify argc, argv, or
+ any of the strings pointed to by argv. They may be passed to
+ multiple screens.
+ */
+ screenInfo.gpuscreens[i] = pScreen;
+ screenInfo.numGPUScreens++;
+ if (!(*pfnInit) (pScreen, argc, argv)) {
+ dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
+ free(pScreen);
+ screenInfo.numGPUScreens--;
+ return -1;
+ }
+
+ update_desktop_dimensions();
+
+ return i;
+}
+
+void
+RemoveGPUScreen(ScreenPtr pScreen)
+{
+ int idx, j;
+ if (!pScreen->isGPU)
+ return;
+
+ idx = pScreen->myNum - GPU_SCREEN_OFFSET;
+ for (j = idx; j < screenInfo.numGPUScreens - 1; j++) {
+ screenInfo.gpuscreens[j] = screenInfo.gpuscreens[j + 1];
+ screenInfo.gpuscreens[j]->myNum = j + GPU_SCREEN_OFFSET;
+ }
+ screenInfo.numGPUScreens--;
+
+ /* this gets freed later in the resource list, but without
+ * the screen existing it causes crashes - so remove it here */
+ if (pScreen->defColormap)
+ FreeResource(pScreen->defColormap, RT_COLORMAP);
+ free(pScreen);
+
+}
+
+void
+AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr new)
+{
+ assert(new->isGPU);
+ assert(!new->current_master);
+ xorg_list_add(&new->unattached_head, &pScreen->unattached_list);
+ new->current_master = pScreen;
+}
+
+void
+DetachUnboundGPU(ScreenPtr slave)
+{
+ assert(slave->isGPU);
+ xorg_list_del(&slave->unattached_head);
+ slave->current_master = NULL;
+}
+
+void
+AttachOutputGPU(ScreenPtr pScreen, ScreenPtr new)
+{
+ assert(new->isGPU);
+ xorg_list_add(&new->output_head, &pScreen->output_slave_list);
+ new->current_master = pScreen;
+}
+
+void
+DetachOutputGPU(ScreenPtr slave)
+{
+ assert(slave->isGPU);
+ xorg_list_del(&slave->output_head);
+ slave->current_master = NULL;
+}
+
+void
+AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr new)
+{
+ assert(new->isGPU);
+ xorg_list_add(&new->offload_head, &pScreen->offload_slave_list);
+ new->current_master = pScreen;
+}
+
+void
+DetachOffloadGPU(ScreenPtr slave)
+{
+ assert(slave->isGPU);
+ xorg_list_del(&slave->offload_head);
+ slave->current_master = NULL;
+}
+
diff --git a/xorg-server/dix/dixfonts.c b/xorg-server/dix/dixfonts.c
index 1c6442c8f..b55e519a3 100644
--- a/xorg-server/dix/dixfonts.c
+++ b/xorg-server/dix/dixfonts.c
@@ -133,6 +133,7 @@ SetDefaultFont(const char *defaultfontname)
int err;
FontPtr pf;
XID fid;
+ static FontPtr last_pf;
fid = FakeClientID(0);
err = OpenFont(serverClient, fid, FontLoadAll | FontOpenSync,
@@ -141,9 +142,10 @@ SetDefaultFont(const char *defaultfontname)
return FALSE;
err = dixLookupResourceByType((void **) &pf, fid, RT_FONT, serverClient,
DixReadAccess);
- if (err != Success)
+ if (err == Success) last_pf = pf;
+ if (last_pf == (FontPtr) NULL)
return FALSE;
- defaultFont = pf;
+ defaultFont = last_pf;
return TRUE;
}
@@ -240,7 +242,8 @@ doOpenFont(ClientPtr client, OFclosurePtr c)
char *alias, *newname;
int newlen;
int aliascount = 20;
-
+ Bool fromDispatch = c->from_dispatch;
+ Bool finished = FALSE;
/*
* Decide at runtime what FontFormat to use.
*/
@@ -264,6 +267,8 @@ doOpenFont(ClientPtr client, OFclosurePtr c)
#endif
BitmapFormatScanlineUnit8;
+ c->from_dispatch = FALSE;
+
if (client->clientGone) {
if (c->current_fpe < c->num_fpes) {
fpe = c->fpe_list[c->current_fpe];
@@ -363,13 +368,16 @@ doOpenFont(ClientPtr client, OFclosurePtr c)
c->fontid, FontToXError(err));
}
ClientWakeup(c->client);
+ finished = TRUE;
xinerama_sleep:
- for (i = 0; i < c->num_fpes; i++) {
- FreeFPE(c->fpe_list[i]);
+ if (finished || fromDispatch) {
+ for (i = 0; i < c->num_fpes; i++) {
+ FreeFPE(c->fpe_list[i]);
+ }
+ free(c->fpe_list);
+ free((void *) c->fontname);
+ free(c);
}
- free(c->fpe_list);
- free((void *) c->fontname);
- free(c);
return TRUE;
}
@@ -441,6 +449,7 @@ OpenFont(ClientPtr client, XID fid, Mask flags, unsigned lenfname,
c->num_fpes = num_fpes;
c->fnamelen = lenfname;
c->flags = flags;
+ c->from_dispatch = TRUE;
c->non_cachable_font = cached;
(void) doOpenFont(client, c);
@@ -567,6 +576,10 @@ doListFontsAndAliases(ClientPtr client, LFclosurePtr c)
char *bufptr;
char *bufferStart;
int aliascount = 0;
+ Bool fromDispatch = c->from_dispatch;
+ Bool finished = FALSE;
+
+ c->from_dispatch = FALSE;
if (client->clientGone) {
if (c->current.current_fpe < c->num_fpes) {
@@ -753,12 +766,11 @@ doListFontsAndAliases(ClientPtr client, LFclosurePtr c)
for (i = 0; i < nnames; i++)
stringLens += (names->length[i] <= 255) ? names->length[i] : 0;
- reply = (xListFontsReply) {
- .type = X_Reply,
- .length = bytes_to_int32(stringLens + nnames),
- .nFonts = nnames,
- .sequenceNumber = client->sequence
- };
+ memset(&reply, 0, sizeof(xListFontsReply));
+ reply.type = X_Reply;
+ reply.length = bytes_to_int32(stringLens + nnames);
+ reply.nFonts = nnames;
+ reply.sequenceNumber = client->sequence;
bufptr = bufferStart = malloc(reply.length << 2);
@@ -788,13 +800,16 @@ doListFontsAndAliases(ClientPtr client, LFclosurePtr c)
bail:
ClientWakeup(client);
+ finished = TRUE;
xinerama_sleep:
- for (i = 0; i < c->num_fpes; i++)
- FreeFPE(c->fpe_list[i]);
- free(c->fpe_list);
- free(c->savedName);
- FreeFontNames(names);
- free(c);
+ if (finished || fromDispatch) {
+ for (i = 0; i < c->num_fpes; i++)
+ FreeFPE(c->fpe_list[i]);
+ free(c->fpe_list);
+ free(c->savedName);
+ FreeFontNames(names);
+ free(c);
+ }
free(resolved);
return TRUE;
}
@@ -845,6 +860,7 @@ ListFonts(ClientPtr client, unsigned char *pattern, unsigned length,
c->current.list_started = FALSE;
c->current.private = 0;
c->haveSaved = FALSE;
+ c->from_dispatch = TRUE;
c->savedName = 0;
doListFontsAndAliases(client, c);
return Success;
@@ -856,6 +872,8 @@ doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
FontPathElementPtr fpe;
int err = Successful;
char *name;
+ Bool fromDispatch = c->from_dispatch;
+ Bool finished = FALSE;
int namelen;
int numFonts;
FontInfoRec fontInfo, *pFontInfo;
@@ -866,6 +884,8 @@ doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
int aliascount = 0;
xListFontsWithInfoReply finalReply;
+ c->from_dispatch = FALSE;
+
if (client->clientGone) {
if (c->current.current_fpe < c->num_fpes) {
fpe = c->fpe_list[c->current.current_fpe];
@@ -1031,22 +1051,24 @@ doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
}
finish:
length = sizeof(xListFontsWithInfoReply);
- finalReply = (xListFontsWithInfoReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(sizeof(xListFontsWithInfoReply)
- - sizeof(xGenericReply))
- };
+ memset((char *) &finalReply, 0, sizeof(xListFontsWithInfoReply));
+ finalReply.type = X_Reply;
+ finalReply.sequenceNumber = client->sequence;
+ finalReply.length = bytes_to_int32(sizeof(xListFontsWithInfoReply)
+ - sizeof(xGenericReply));
WriteSwappedDataToClient(client, length, &finalReply);
bail:
ClientWakeup(client);
+ finished = TRUE;
xinerama_sleep:
- for (i = 0; i < c->num_fpes; i++)
- FreeFPE(c->fpe_list[i]);
- free(c->reply);
- free(c->fpe_list);
- free(c->savedName);
- free(c);
+ if (finished || fromDispatch) {
+ for (i = 0; i < c->num_fpes; i++)
+ FreeFPE(c->fpe_list[i]);
+ free(c->reply);
+ free(c->fpe_list);
+ free(c->savedName);
+ free(c);
+ }
return TRUE;
}
@@ -1093,6 +1115,7 @@ StartListFontsWithInfo(ClientPtr client, int length, unsigned char *pattern,
c->current.private = 0;
c->savedNumFonts = 0;
c->haveSaved = FALSE;
+ c->from_dispatch = TRUE;
c->savedName = 0;
doListFontsWithInfo(client, c);
return Success;
@@ -1102,7 +1125,7 @@ StartListFontsWithInfo(ClientPtr client, int length, unsigned char *pattern,
#define TextEltHeader 2
#define FontShiftSize 5
-static ChangeGCVal clearGC[] = { {.ptr = NullPixmap} };
+static ChangeGCVal clearGC[] = { NullPixmap };
#define clearGCmask (GCClipMask)
@@ -1115,6 +1138,10 @@ doPolyText(ClientPtr client, PTclosurePtr c)
FontPathElementPtr fpe;
GC *origGC = NULL;
int itemSize = c->reqType == X_PolyText8 ? 1 : 2;
+ Bool fromDispatch = c->from_dispatch;
+ Bool finished = FALSE;
+
+ c->from_dispatch = FALSE;
if (client->clientGone) {
fpe = c->pGC->font->fpe;
@@ -1352,16 +1379,19 @@ doPolyText(ClientPtr client, PTclosurePtr c)
}
if (ClientIsAsleep(client)) {
ClientWakeup(c->client);
+ finished = TRUE;
xinerama_sleep:
- ChangeGC(NullClient, c->pGC, clearGCmask, clearGC);
+ if (finished || fromDispatch) {
+ ChangeGC(NullClient, c->pGC, clearGCmask, clearGC);
- /* Unreference the font from the scratch GC */
- CloseFont(c->pGC->font, (Font) 0);
- c->pGC->font = NullFont;
+ /* Unreference the font from the scratch GC */
+ CloseFont(c->pGC->font, (Font) 0);
+ c->pGC->font = NullFont;
- FreeScratchGC(c->pGC);
- free(c->data);
- free(c);
+ FreeScratchGC(c->pGC);
+ free(c->data);
+ free(c);
+ }
}
return TRUE;
}
@@ -1396,6 +1426,10 @@ doImageText(ClientPtr client, ITclosurePtr c)
int err = Success, lgerr; /* err is in X error, not font error, space */
FontPathElementPtr fpe;
int itemSize = c->reqType == X_ImageText8 ? 1 : 2;
+ Bool fromDispatch = c->from_dispatch;
+ Bool finished = FALSE;
+
+ c->from_dispatch = FALSE;
if (client->clientGone) {
fpe = c->pGC->font->fpe;
@@ -1501,16 +1535,19 @@ doImageText(ClientPtr client, ITclosurePtr c)
}
if (ClientIsAsleep(client)) {
ClientWakeup(c->client);
+ finished = TRUE;
xinerama_sleep:
- ChangeGC(NullClient, c->pGC, clearGCmask, clearGC);
+ if (finished || fromDispatch) {
+ ChangeGC(NullClient, c->pGC, clearGCmask, clearGC);
- /* Unreference the font from the scratch GC */
- CloseFont(c->pGC->font, (Font) 0);
- c->pGC->font = NullFont;
+ /* Unreference the font from the scratch GC */
+ CloseFont(c->pGC->font, (Font) 0);
+ c->pGC->font = NullFont;
- FreeScratchGC(c->pGC);
- free(c->data);
- free(c);
+ FreeScratchGC(c->pGC);
+ free(c->data);
+ free(c);
+ }
}
return TRUE;
}
diff --git a/xorg-server/dix/enterleave.c b/xorg-server/dix/enterleave.c
index 54f4b8554..a651c68b3 100644
--- a/xorg-server/dix/enterleave.c
+++ b/xorg-server/dix/enterleave.c
@@ -828,14 +828,13 @@ DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail,
free(xi2event);
/* XI 1.x event */
- event = (deviceFocus) {
- .deviceid = dev->id,
- .mode = mode,
- .type = (type == XI_FocusIn) ? DeviceFocusIn : DeviceFocusOut,
- .detail = detail,
- .window = pWin->drawable.id,
- .time = currentTime.milliseconds
- };
+
+ event.deviceid = dev->id;
+ event.mode = mode;
+ event.type = (type == XI_FocusIn) ? DeviceFocusIn : DeviceFocusOut;
+ event.detail = detail;
+ event.window = pWin->drawable.id;
+ event.time = currentTime.milliseconds;
DeliverEventsToWindow(dev, pWin, (xEvent *) &event, 1,
DeviceFocusChangeMask, NullGrab);
diff --git a/xorg-server/dix/eventconvert.c b/xorg-server/dix/eventconvert.c
index f7ecdba77..95bf31c95 100644
--- a/xorg-server/dix/eventconvert.c
+++ b/xorg-server/dix/eventconvert.c
@@ -141,7 +141,7 @@ EventToCore(InternalEvent *event, xEvent **core_out, int *count_out)
core->u.keyButtonPointer.time = e->time;
core->u.keyButtonPointer.rootX = e->root_x;
core->u.keyButtonPointer.rootY = e->root_y;
- core->u.keyButtonPointer.state = e->corestate;
+ core->u.keyButtonPointer.state = e->corestate&0xffff;
core->u.keyButtonPointer.root = e->root;
EventSetKeyRepeatFlag(core, (e->type == ET_KeyPress && e->key_repeat));
ret = Success;
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index b8c67fdfc..e3f5e2372 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -752,7 +752,10 @@ CheckPhysLimits(DeviceIntPtr pDev, CursorPtr cursor, Bool generateEvents,
(new.x != pSprite->hotPhys.x) || (new.y != pSprite->hotPhys.y)) {
#ifdef PANORAMIX
if (!noPanoramiXExtension)
- XineramaSetCursorPosition(pDev, new.x, new.y, generateEvents);
+ {
+ if (pScreen && ((new.x != pSprite->hotPhys.x) || (new.y != pSprite->hotPhys.y)))
+ XineramaSetCursorPosition(pDev, new.x, new.y, generateEvents);
+ }
else
#endif
{
@@ -1216,7 +1219,7 @@ void
PlayReleasedEvents(void)
{
QdEventPtr tmp;
- QdEventPtr qe;
+ QdEventPtr qe=NULL;
DeviceIntPtr dev;
DeviceIntPtr pDev;
@@ -1556,7 +1559,7 @@ void
DeactivatePointerGrab(DeviceIntPtr mouse)
{
GrabPtr grab = mouse->deviceGrab.grab;
- DeviceIntPtr dev;
+ DeviceIntPtr dev=mouse;
Bool wasPassive = mouse->deviceGrab.fromPassiveGrab;
Bool wasImplicit = (mouse->deviceGrab.fromPassiveGrab &&
mouse->deviceGrab.implicitGrab);
@@ -2360,7 +2363,7 @@ DeliverRawEvent(RawDeviceEvent *ev, DeviceIntPtr device)
rc = EventToXI2((InternalEvent *) ev, (xEvent **) &xi);
if (rc != Success) {
ErrorF("[Xi] %s: XI2 conversion failed in %s (%d)\n",
- __func__, device->name, rc);
+ __FUNCTION__, device->name, rc);
return;
}
@@ -2907,15 +2910,14 @@ ActivateFocusInGrab(DeviceIntPtr dev, WindowPtr old, WindowPtr win)
if (win == NoneWin || win == PointerRootWin)
return FALSE;
- event = (DeviceEvent) {
- .header = ET_Internal,
- .type = ET_FocusIn,
- .length = sizeof(DeviceEvent),
- .time = GetTimeInMillis(),
- .deviceid = dev->id,
- .sourceid = dev->id,
- .detail.button = 0
- };
+ memset(&event, 0, sizeof(DeviceEvent));
+ event.header = ET_Internal;
+ event.type = ET_FocusIn;
+ event.length = sizeof(DeviceEvent);
+ event.time = GetTimeInMillis();
+ event.deviceid = dev->id;
+ event.sourceid = dev->id;
+ event.detail.button = 0;
rc = (CheckPassiveGrabsOnWindow(win, dev, (InternalEvent *) &event, FALSE,
TRUE) != NULL);
if (rc)
@@ -2945,15 +2947,14 @@ ActivateEnterGrab(DeviceIntPtr dev, WindowPtr old, WindowPtr win)
(*dev->deviceGrab.DeactivateGrab) (dev);
}
- event = (DeviceEvent) {
- .header = ET_Internal,
- .type = ET_Enter,
- .length = sizeof(DeviceEvent),
- .time = GetTimeInMillis(),
- .deviceid = dev->id,
- .sourceid = dev->id,
- .detail.button = 0
- };
+ memset(&event, 0, sizeof(DeviceEvent));
+ event.header = ET_Internal;
+ event.type = ET_Enter;
+ event.length = sizeof(DeviceEvent);
+ event.time = GetTimeInMillis();
+ event.deviceid = dev->id;
+ event.sourceid = dev->id;
+ event.detail.button = 0;
rc = (CheckPassiveGrabsOnWindow(win, dev, (InternalEvent *) &event, FALSE,
TRUE) != NULL);
if (rc)
@@ -2980,6 +2981,9 @@ CheckMotion(DeviceEvent *ev, DeviceIntPtr pDev)
verify_internal_event((InternalEvent *) ev);
+ if (!pSprite)
+ return FALSE;
+
prevSpriteWin = pSprite->win;
if (ev && !syncEvents.playingEvents) {
@@ -4394,6 +4398,7 @@ OtherClientGone(void *value, XID id)
prev = other;
}
FatalError("client not on event list");
+ return BadValue; // to avoid warning
}
int
@@ -4525,10 +4530,7 @@ CoreEnterLeaveEvent(DeviceIntPtr mouse,
int type,
int mode, int detail, WindowPtr pWin, Window child)
{
- xEvent event = {
- .u.u.type = type,
- .u.u.detail = detail
- };
+ xEvent event;
WindowPtr focus;
DeviceIntPtr keybd;
GrabPtr grab = mouse->deviceGrab.grab;
@@ -4548,6 +4550,9 @@ CoreEnterLeaveEvent(DeviceIntPtr mouse,
mask = pWin->eventMask | wOtherEventMasks(pWin);
}
+ memset(&event, 0, sizeof(xEvent));
+ event.u.u.type = type;
+ event.u.u.detail = detail;
event.u.enterLeave.time = currentTime.milliseconds;
event.u.enterLeave.rootX = mouse->spriteInfo->sprite->hot.x;
event.u.enterLeave.rootY = mouse->spriteInfo->sprite->hot.y;
@@ -4578,16 +4583,17 @@ CoreEnterLeaveEvent(DeviceIntPtr mouse,
}
if ((type == EnterNotify) && (mask & KeymapStateMask)) {
- xKeymapEvent ke = {
- .type = KeymapNotify
- };
+ xKeymapEvent ke;
ClientPtr client = grab ? rClient(grab) : wClient(pWin);
int rc;
rc = XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess);
if (rc == Success)
memcpy((char *) &ke.map[0], (char *) &keybd->key->down[1], 31);
+ else
+ memset((char *) &ke.map[0], 0, 31);
+ ke.type = KeymapNotify;
if (grab)
TryClientEvents(rClient(grab), keybd, (xEvent *) &ke, 1,
mask, KeymapStateMask, grab);
@@ -4678,10 +4684,10 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse,
void
CoreFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin)
{
- xEvent event = {
- .u.u.type = type,
- .u.u.detail = detail
- };
+ xEvent event; memset(&event, 0, sizeof(xEvent));
+ event.u.u.type = type;
+ event.u.u.detail = detail;
+
event.u.focus.mode = mode;
event.u.focus.window = pWin->drawable.id;
@@ -4689,16 +4695,17 @@ CoreFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin)
GetEventFilter(dev, &event), NullGrab);
if ((type == FocusIn) &&
((pWin->eventMask | wOtherEventMasks(pWin)) & KeymapStateMask)) {
- xKeymapEvent ke = {
- .type = KeymapNotify
- };
+ xKeymapEvent ke;
ClientPtr client = wClient(pWin);
int rc;
rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixReadAccess);
if (rc == Success)
memcpy((char *) &ke.map[0], (char *) &dev->key->down[1], 31);
+ else
+ memset((char *) &ke.map[0], 0, 31);
+ ke.type = KeymapNotify;
DeliverEventsToWindow(dev, pWin, (xEvent *) &ke, 1,
KeymapStateMask, NullGrab);
}
@@ -4840,12 +4847,11 @@ ProcGetInputFocus(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xGetInputFocusReply) {
- .type = X_Reply,
- .length = 0,
- .sequenceNumber = client->sequence,
- .revertTo = focus->revert
- };
+ memset(&rep, 0, sizeof(xGetInputFocusReply));
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+ rep.revertTo = focus->revert;
if (focus->win == NoneWin)
rep.focus = None;
@@ -4907,12 +4913,11 @@ ProcGrabPointer(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xGrabPointerReply) {
- .type = X_Reply,
- .status = status,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ memset(&rep, 0, sizeof(xGrabPointerReply));
+ rep.type = X_Reply;
+ rep.status = status;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
WriteReplyToClient(client, sizeof(xGrabPointerReply), &rep);
return Success;
}
@@ -5148,12 +5153,11 @@ ProcGrabKeyboard(ClientPtr client)
if (result != Success)
return result;
- rep = (xGrabKeyboardReply) {
- .type = X_Reply,
- .status = status,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ memset(&rep, 0, sizeof(xGrabKeyboardReply));
+ rep.type = X_Reply;
+ rep.status = status,
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
WriteReplyToClient(client, sizeof(xGrabKeyboardReply), &rep);
return Success;
}
@@ -5216,16 +5220,16 @@ ProcQueryPointer(ClientPtr client)
pSprite = mouse->spriteInfo->sprite;
if (mouse->valuator->motionHintWindow)
MaybeStopHint(mouse, client);
- rep = (xQueryPointerReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .mask = event_get_corestate(mouse, keyboard),
- .root = (GetCurrentRootWindow(mouse))->drawable.id,
- .rootX = pSprite->hot.x,
- .rootY = pSprite->hot.y,
- .child = None
- };
+ memset(&rep, 0, sizeof(xQueryPointerReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.mask = event_get_corestate(mouse, keyboard);
+ rep.root = (GetCurrentRootWindow(mouse))->drawable.id;
+ rep.rootX = pSprite->hot.x;
+ rep.rootY = pSprite->hot.y;
+ rep.child = None;
+
if (pSprite->hot.pScreen == pWin->drawable.pScreen) {
rep.sameScreen = xTrue;
rep.winX = pSprite->hot.x - pWin->drawable.x;
@@ -5275,7 +5279,8 @@ void
InitEvents(void)
{
int i;
- QdEventPtr qe, tmp;
+ QdEventPtr qe=NULL;
+ QdEventPtr tmp;
inputInfo.numDevices = 0;
inputInfo.devices = (DeviceIntPtr) NULL;
@@ -5497,13 +5502,12 @@ ProcGrabKey(ClientPtr client)
REQUEST_SIZE_MATCH(xGrabKeyReq);
- param = (GrabParameters) {
- .grabtype = CORE,
- .ownerEvents = stuff->ownerEvents,
- .this_device_mode = stuff->keyboardMode,
- .other_devices_mode = stuff->pointerMode,
- .modifiers = stuff->modifiers
- };
+ memset(&param, 0, sizeof(param));
+ param.grabtype = CORE;
+ param.ownerEvents = stuff->ownerEvents;
+ param.this_device_mode = stuff->keyboardMode;
+ param.other_devices_mode = stuff->pointerMode;
+ param.modifiers = stuff->modifiers;
rc = CheckGrabValues(client, &param);
if (rc != Success)
@@ -5604,13 +5608,12 @@ ProcGrabButton(ClientPtr client)
if (rc != Success)
return rc;
- param = (GrabParameters) {
- .grabtype = CORE,
- .ownerEvents = stuff->ownerEvents,
- .this_device_mode = stuff->keyboardMode,
- .other_devices_mode = stuff->pointerMode,
- .modifiers = stuff->modifiers
- };
+ memset(&param, 0, sizeof(param));
+ param.grabtype = CORE;
+ param.ownerEvents = stuff->ownerEvents;
+ param.this_device_mode = stuff->keyboardMode;
+ param.other_devices_mode = stuff->pointerMode;
+ param.modifiers = stuff->modifiers;
mask.core = stuff->eventMask;
diff --git a/xorg-server/dix/extension.c b/xorg-server/dix/extension.c
index ede4bf5bd..8240c42d9 100644
--- a/xorg-server/dix/extension.c
+++ b/xorg-server/dix/extension.c
@@ -252,12 +252,11 @@ ProcQueryExtension(ClientPtr client)
REQUEST_FIXED_SIZE(xQueryExtensionReq, stuff->nbytes);
- reply = (xQueryExtensionReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .major_opcode = 0
- };
+ memset(&reply, 0, sizeof(xQueryExtensionReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.major_opcode = 0;
if (!NumExtensions)
reply.present = xFalse;
@@ -285,12 +284,12 @@ ProcListExtensions(ClientPtr client)
REQUEST_SIZE_MATCH(xReq);
- reply = (xListExtensionsReply) {
- .type = X_Reply,
- .nExtensions = 0,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ memset(&reply, 0, sizeof(xListExtensionsReply));
+ reply.type = X_Reply;
+ reply.nExtensions = 0;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+
buffer = NULL;
if (NumExtensions) {
diff --git a/xorg-server/dix/gc.c b/xorg-server/dix/gc.c
index 88d650121..d7657c210 100644
--- a/xorg-server/dix/gc.c
+++ b/xorg-server/dix/gc.c
@@ -127,7 +127,7 @@ ChangeGC(ClientPtr client, GC * pGC, BITS32 mask, ChangeGCValPtr pUnion)
PixmapPtr pPixmap;
BITS32 maskQ;
- assert(pUnion);
+ assert(pUnion!=NULL);
pGC->serialNumber |= GC_CHANGE_SERIAL_BIT;
maskQ = mask; /* save these for when we walk the GCque */
@@ -322,12 +322,30 @@ ChangeGC(ClientPtr client, GC * pGC, BITS32 mask, ChangeGCValPtr pUnion)
break;
}
case GCClipXOrigin:
+ #ifndef _DEBUG
NEXTVAL(INT16, pGC->clipOrg.x);
-
+ #else
+ {
+ long Val;
+ NEXTVAL(long, Val);
+ if (abs(Val)>65535)
+ ErrorF("Value received for GCClipXOrigin is too large %x\n",Val);
+ pGC->clipOrg.x=(INT16)(Val&0xffff);
+ }
+ #endif
break;
case GCClipYOrigin:
+ #ifndef _DEBUG
NEXTVAL(INT16, pGC->clipOrg.y);
-
+ #else
+ {
+ long Val;
+ NEXTVAL(long, Val);
+ if (abs(Val)>65535)
+ ErrorF("Value received for GCClipYOrigin is too large %x\n",Val);
+ pGC->clipOrg.y=(INT16)(Val&0xffff);
+ }
+ #endif
break;
case GCClipMask:
NEXT_PTR(PixmapPtr, pPixmap);
diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c
index d68fa96d7..694a8eba3 100644
--- a/xorg-server/dix/getevents.c
+++ b/xorg-server/dix/getevents.c
@@ -75,6 +75,17 @@ typedef const char *string;
#include <Xserver-dtrace.h>
#endif
+#ifdef _MSC_VER
+#include <math.h>
+
+double roundd(double f)
+{
+ return ((f<0.0) ? ceil(f-.5) : floor (f+.5));
+}
+#define lroundf(val) ((int)roundf(val))
+#define lround(val) ((int)roundd(val))
+#endif
+
/* Number of motion history events to store. */
#define MOTION_HISTORY_SIZE 256
@@ -1130,7 +1141,7 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
#endif
/* refuse events from disabled devices */
- if (!pDev->enabled)
+ if (!pDev || !pDev->enabled)
return 0;
if (!events || !pDev->key || !pDev->focus || !pDev->kbdfeed ||
@@ -1235,7 +1246,12 @@ FreeEventList(InternalEvent *list, int num_events)
static void
transform(struct pixman_f_transform *m, double *x, double *y)
{
- struct pixman_f_vector p = {.v = {*x, *y, 1} };
+ struct pixman_f_vector p;
+
+ p.v[0] = *x;
+ p.v[1] = *y;
+ p.v[2] = 1;
+
pixman_f_transform_point(m, &p);
*x = p.v[0];
diff --git a/xorg-server/dix/inpututils.c b/xorg-server/dix/inpututils.c
index e5bcc31f7..3a2f229e4 100644
--- a/xorg-server/dix/inpututils.c
+++ b/xorg-server/dix/inpututils.c
@@ -72,13 +72,14 @@ static void
do_butmap_change(DeviceIntPtr dev, CARD8 *map, int len, ClientPtr client)
{
int i;
- xEvent core_mn = { .u.u.type = MappingNotify };
+ xEvent core_mn;
deviceMappingNotify xi_mn;
/* The map in ButtonClassRec refers to button numbers, whereas the
* protocol is zero-indexed. Sigh. */
memcpy(&(dev->button->map[1]), map, len);
+ core_mn.u.u.type = MappingNotify;
core_mn.u.mappingNotify.request = MappingPointer;
/* 0 is the server client. */
@@ -93,12 +94,11 @@ do_butmap_change(DeviceIntPtr dev, CARD8 *map, int len, ClientPtr client)
WriteEventsToClient(clients[i], 1, &core_mn);
}
- xi_mn = (deviceMappingNotify) {
- .type = DeviceMappingNotify,
- .request = MappingPointer,
- .deviceid = dev->id,
- .time = GetTimeInMillis()
- };
+
+ xi_mn.type = DeviceMappingNotify;
+ xi_mn.request = MappingPointer;
+ xi_mn.deviceid = dev->id;
+ xi_mn.time = GetTimeInMillis();
SendEventToAllWindows(dev, DeviceMappingNotifyMask, (xEvent *) &xi_mn, 1);
}
diff --git a/xorg-server/dix/main.c b/xorg-server/dix/main.c
index 7427e08ca..84c47d46e 100644
--- a/xorg-server/dix/main.c
+++ b/xorg-server/dix/main.c
@@ -116,6 +116,10 @@ Equipment Corporation.
#include "dpmsproc.h"
#endif
+#ifdef _DEBUG
+#include <crtdbg.h>
+#endif
+
extern void Dispatch(void);
#ifdef XQUARTZ
@@ -132,9 +136,50 @@ dix_main(int argc, char *argv[], char *envp[])
{
int i;
HWEventQueueType alwaysCheckForInput[2];
-
+ #ifdef _DEBUG
+ //int TmpFlag=_CrtSetDbgFlag( _CRTDBG_REPORT_FLAG);
+
+ //TmpFlag|=_CRTDBG_ALLOC_MEM_DF;
+ //TmpFlag|=_CRTDBG_DELAY_FREE_MEM_DF;
+ //TmpFlag|=_CRTDBG_CHECK_ALWAYS_DF;
+ //TmpFlag|=_CRTDBG_CHECK_CRT_DF;
+ //TmpFlag|=_CRTDBG_LEAK_CHECK_DF;
+
+ //_CrtSetDbgFlag(TmpFlag);
+ #endif
+
+ ptw32_processInitialize();
display = "0";
+ #ifdef WIN32
+
+ if (InitWSA()<0)
+ {
+ printf("Error initialising WSA\n");
+ return -1;
+ }
+ /* In Win32 we have different threads call Xlib functions (depending
+ on the commandline options given).
+ XInitThreads has to be called before
+ any xlib function is called (aoccording to the man page) */
+ XInitThreads();
+ /* change the current directory to the directory where the vcxsrv.exe executable is installed.
+ This is needed because the font directories are relative to the current directory.
+ */
+ {
+ char ModuleFilename[MAX_PATH];
+ char *pSlash;
+ GetModuleFileName(NULL,ModuleFilename,sizeof(ModuleFilename));
+ pSlash=strrchr(ModuleFilename,'\\');
+ if (pSlash)
+ {
+ *pSlash='\0';
+ chdir(ModuleFilename);
+ }
+ }
+ OsVendorPreInit(argc, argv);
+ #endif
+
InitRegions();
CheckUserParameters(argc, argv, envp);
@@ -160,7 +205,6 @@ dix_main(int argc, char *argv[], char *envp[])
#endif
InitBlockAndWakeupHandlers();
/* Perform any operating system dependent initializations you'd like */
- OsInit();
if (serverGeneration == 1) {
CreateWellKnownSockets();
for (i = 1; i < MAXCLIENTS; i++)
@@ -174,6 +218,7 @@ dix_main(int argc, char *argv[], char *envp[])
ResetWellKnownSockets();
clients[0] = serverClient;
currentMaxClients = 1;
+ OsInit();
/* clear any existing selections */
InitSelections();
@@ -293,6 +338,11 @@ dix_main(int argc, char *argv[], char *envp[])
NotifyParentProcess();
+ #ifdef _MSC_VER
+ // initialise here because doing it in InitInput failes because keyboard device is not started yet then
+ winInitializeModeKeyStates ();
+ #endif
+
Dispatch();
#ifdef XQUARTZ
diff --git a/xorg-server/dix/makefile b/xorg-server/dix/makefile
new file mode 100644
index 000000000..d201695e8
--- /dev/null
+++ b/xorg-server/dix/makefile
@@ -0,0 +1,48 @@
+ifeq ($(DEBUG),1)
+DEFINES += FONTDEBUG XSERVER_DTRACE
+endif
+
+INCLUDES += ..\composite ..\miext\sync
+
+LIBRARY=libdix
+libmain_la_SOURCES = \
+ stubmain.c
+
+libdix_la_SOURCES = \
+ atom.c \
+ colormap.c \
+ cursor.c \
+ devices.c \
+ dispatch.c \
+ dispatch.h \
+ dixfonts.c \
+ main.c \
+ dixutils.c \
+ enterleave.c \
+ enterleave.h \
+ events.c \
+ eventconvert.c \
+ extension.c \
+ ffs.c \
+ gc.c \
+ getevents.c \
+ globals.c \
+ glyphcurs.c \
+ grabs.c \
+ initatoms.c \
+ inpututils.c \
+ pixmap.c \
+ privates.c \
+ property.c \
+ ptrveloc.c \
+ region.c \
+ registry.c \
+ resource.c \
+ selection.c \
+ swaprep.c \
+ swapreq.c \
+ tables.c \
+ touch.c \
+ window.c
+
+CSRCS = $(filter %.c,$(libdix_la_SOURCES)) $(filter %.c,$(libmain_la_SOURCES))
diff --git a/xorg-server/dix/privates.c b/xorg-server/dix/privates.c
index e03b2255b..ffa07fede 100644
--- a/xorg-server/dix/privates.c
+++ b/xorg-server/dix/privates.c
@@ -67,65 +67,74 @@ from The Open Group.
static DevPrivateSetRec global_keys[PRIVATE_LAST];
static const Bool xselinux_private[PRIVATE_LAST] = {
- [PRIVATE_SCREEN] = TRUE,
- [PRIVATE_CLIENT] = TRUE,
- [PRIVATE_WINDOW] = TRUE,
- [PRIVATE_PIXMAP] = TRUE,
- [PRIVATE_GC] = TRUE,
- [PRIVATE_CURSOR] = TRUE,
- [PRIVATE_COLORMAP] = TRUE,
- [PRIVATE_DEVICE] = TRUE,
- [PRIVATE_EXTENSION] = TRUE,
- [PRIVATE_SELECTION] = TRUE,
- [PRIVATE_PROPERTY] = TRUE,
- [PRIVATE_PICTURE] = TRUE,
- [PRIVATE_GLYPHSET] = TRUE,
+ /* PRIVATE_XSELINUX,*/ FALSE,
+ /* PRIVATE_SCREEN,*/ TRUE,
+ /* [PRIVATE_EXTENSION] =*/TRUE,
+ /* [PRIVATE_COLORMAP] =*/ TRUE,
+ /* [PRIVATE_DEVICE] =*/ TRUE,
+ /* [PRIVATE_CLIENT] = */ TRUE,
+ /* [PRIVATE_PROPERTY] =*/ TRUE,
+ /* [PRIVATE_SELECTION] =*/TRUE,
+ /* [PRIVATE_WINDOW] =*/ TRUE,
+ /* [PRIVATE_PIXMAP] =*/ TRUE,
+ /* [PRIVATE_GC] =*/ TRUE,
+ /* [PRIVATE_CURSOR] =*/ TRUE,
+ /* PRIVATE_CURSOR_BITS,*/ FALSE,
+ /* PRIVATE_DAMAGE,*/ FALSE,
+ /* PRIVATE_GLYPH,*/ FALSE,
+ /* [PRIVATE_GLYPHSET] =*/ TRUE,
+ /* [PRIVATE_PICTURE] =*/ TRUE
};
static const char *key_names[PRIVATE_LAST] = {
/* XSELinux uses the same private keys for numerous objects */
- [PRIVATE_XSELINUX] = "XSELINUX",
+ /*[PRIVATE_XSELINUX] =*/ "XSELINUX",
/* Otherwise, you get a private in just the requested structure
*/
/* These can have objects created before all of the keys are registered */
- [PRIVATE_SCREEN] = "SCREEN",
- [PRIVATE_EXTENSION] = "EXTENSION",
- [PRIVATE_COLORMAP] = "COLORMAP",
- [PRIVATE_DEVICE] = "DEVICE",
+ /*[PRIVATE_SCREEN] =*/ "SCREEN",
+ /*[PRIVATE_EXTENSION] =*/ "EXTENSION",
+ /*[PRIVATE_COLORMAP] =*/ "COLORMAP",
+ /*[PRIVATE_DEVICE] =*/ "DEVICE",
/* These cannot have any objects before all relevant keys are registered */
- [PRIVATE_CLIENT] = "CLIENT",
- [PRIVATE_PROPERTY] = "PROPERTY",
- [PRIVATE_SELECTION] = "SELECTION",
- [PRIVATE_WINDOW] = "WINDOW",
- [PRIVATE_PIXMAP] = "PIXMAP",
- [PRIVATE_GC] = "GC",
- [PRIVATE_CURSOR] = "CURSOR",
- [PRIVATE_CURSOR_BITS] = "CURSOR_BITS",
+ /*[PRIVATE_CLIENT] =*/ "CLIENT",
+ /*[PRIVATE_PROPERTY] =*/ "PROPERTY",
+ /*[PRIVATE_SELECTION] =*/ "SELECTION",
+ /*[PRIVATE_WINDOW] =*/ "WINDOW",
+ /*[PRIVATE_PIXMAP] =*/ "PIXMAP",
+ /*[PRIVATE_GC] =*/ "GC",
+ /*[PRIVATE_CURSOR] =*/ "CURSOR",
+ /*[PRIVATE_CURSOR_BITS] =*/ "CURSOR_BITS",
/* extension privates */
- [PRIVATE_DAMAGE] = "DAMAGE",
- [PRIVATE_GLYPH] = "GLYPH",
- [PRIVATE_GLYPHSET] = "GLYPHSET",
- [PRIVATE_PICTURE] = "PICTURE",
- [PRIVATE_SYNC_FENCE] = "SYNC_FENCE",
+ /*[PRIVATE_DAMAGE] =*/ "DAMAGE",
+ /*[PRIVATE_GLYPH] =*/ "GLYPH",
+ /*[PRIVATE_GLYPHSET] =*/ "GLYPHSET",
+ /*[PRIVATE_PICTURE] =*/ "PICTURE",
+ /*[PRIVATE_SYNC_FENCE] =*/ "SYNC_FENCE",
};
static const Bool screen_specific_private[PRIVATE_LAST] = {
- [PRIVATE_SCREEN] = FALSE,
- [PRIVATE_CLIENT] = FALSE,
- [PRIVATE_WINDOW] = TRUE,
- [PRIVATE_PIXMAP] = TRUE,
- [PRIVATE_GC] = TRUE,
- [PRIVATE_CURSOR] = FALSE,
- [PRIVATE_COLORMAP] = FALSE,
- [PRIVATE_DEVICE] = FALSE,
- [PRIVATE_EXTENSION] = FALSE,
- [PRIVATE_SELECTION] = FALSE,
- [PRIVATE_PROPERTY] = FALSE,
- [PRIVATE_PICTURE] = TRUE,
- [PRIVATE_GLYPHSET] = FALSE,
+ /*[PRIVATE_XSELINUX] =*/ FALSE,
+ /*[PRIVATE_SCREEN] =*/ FALSE,
+ /*[PRIVATE_EXTENSION] =*/ FALSE,
+ /*[PRIVATE_COLORMAP] =*/ FALSE,
+ /*[PRIVATE_DEVICE] =*/ FALSE,
+ /*[PRIVATE_CLIENT] =*/ FALSE,
+ /*[PRIVATE_PROPERTY] =*/ FALSE,
+ /*[PRIVATE_SELECTION] =*/ FALSE,
+ /*[PRIVATE_WINDOW] =*/ TRUE,
+ /*[PRIVATE_PIXMAP] =*/ TRUE,
+ /*[PRIVATE_GC] =*/ TRUE,
+ /*[PRIVATE_CURSOR] =*/ FALSE,
+ /*[PRIVATE_CURSOR_BITS] =*/ FALSE,
+ /*[PRIVATE_DAMAGE] =*/ FALSE,
+ /*[PRIVATE_GLYPH] =*/ FALSE,
+ /*[PRIVATE_GLYPHSET] =*/ FALSE,
+ /*[PRIVATE_PICTURE] =*/ TRUE,
+ /*[PRIVATE_SYNC_FENCE] =*/ FALSE
};
typedef Bool (*FixupFunc) (PrivatePtr *privates, int offset, unsigned bytes);
@@ -288,11 +297,24 @@ fixupDevices(FixupFunc fixup, unsigned bytes)
}
static Bool (*const allocated_early[PRIVATE_LAST]) (FixupFunc, unsigned) = {
- [PRIVATE_SCREEN] = fixupScreens,
- [PRIVATE_CLIENT] = fixupServerClient,
- [PRIVATE_EXTENSION] = fixupExtensions,
- [PRIVATE_COLORMAP] = fixupDefaultColormaps,
- [PRIVATE_DEVICE] = fixupDevices,
+ /*PRIVATE_XSELINUX,*/ NULL,
+ /*PRIVATE_SCREEN =*/ fixupScreens,
+ /*PRIVATE_EXTENSION =*/ fixupExtensions,
+ /*PRIVATE_COLORMAP =*/ fixupDefaultColormaps,
+ /*PRIVATE_DEVICE,*/ fixupDevices,
+ /*PRIVATE_CLIENT =*/ fixupServerClient,
+ /*PRIVATE_PROPERTY,*/ NULL,
+ /*PRIVATE_SELECTION,*/ NULL,
+ /*PRIVATE_WINDOW,*/ NULL,
+ /*PRIVATE_PIXMAP,*/ NULL,
+ /*PRIVATE_GC,*/ NULL,
+ /*PRIVATE_CURSOR,*/ NULL,
+ /*PRIVATE_CURSOR_BITS,*/ NULL,
+ /*PRIVATE_DAMAGE,*/ NULL,
+ /*PRIVATE_GLYPH,*/ NULL,
+ /*PRIVATE_GLYPHSET,*/ NULL,
+ /*PRIVATE_PICTURE,*/ NULL,
+ /*PRIVATE_SYNC_FENCE,*/ NULL
};
static void
diff --git a/xorg-server/dix/property.c b/xorg-server/dix/property.c
index 9f51cd0ff..b40e6f0c1 100644
--- a/xorg-server/dix/property.c
+++ b/xorg-server/dix/property.c
@@ -108,12 +108,12 @@ dixLookupProperty(PropertyPtr *result, WindowPtr pWin, Atom propertyName,
static void
deliverPropertyNotifyEvent(WindowPtr pWin, int state, Atom atom)
{
- xEvent event = {
- .u.property.window = pWin->drawable.id,
- .u.property.state = state,
- .u.property.atom = atom,
- .u.property.time = currentTime.milliseconds
- };
+ xEvent event; memset(&event, 0, sizeof(xEvent));
+ event.u.property.window = pWin->drawable.id;
+ event.u.property.state = state;
+ event.u.property.atom = atom;
+ event.u.property.time = currentTime.milliseconds;
+
event.u.u.type = PropertyNotify;
DeliverEvents(pWin, &event, 1, (WindowPtr) NULL);
}
@@ -414,15 +414,14 @@ DeleteAllWindowProperties(WindowPtr pWin)
static int
NullPropertyReply(ClientPtr client, ATOM propertyType, int format)
{
- xGetPropertyReply reply = {
- .type = X_Reply,
- .format = format,
- .sequenceNumber = client->sequence,
- .length = 0,
- .propertyType = propertyType,
- .bytesAfter = 0,
- .nItems = 0
- };
+ xGetPropertyReply reply;
+ reply.type = X_Reply;
+ reply.format = format;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.propertyType = propertyType;
+ reply.bytesAfter = 0;
+ reply.nItems = 0;
WriteReplyToClient(client, sizeof(xGenericReply), &reply);
return Success;
}
@@ -483,15 +482,14 @@ ProcGetProperty(ClientPtr client)
if (((stuff->type != pProp->type) && (stuff->type != AnyPropertyType))
) {
- reply = (xGetPropertyReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .bytesAfter = pProp->size,
- .format = pProp->format,
- .length = 0,
- .nItems = 0,
- .propertyType = pProp->type
- };
+ memset(&reply, 0, sizeof(xGetPropertyReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.bytesAfter = pProp->size;
+ reply.format = pProp->format;
+ reply.length = 0;
+ reply.nItems = 0;
+ reply.propertyType = pProp->type;
WriteReplyToClient(client, sizeof(xGenericReply), &reply);
return Success;
}
@@ -512,15 +510,14 @@ ProcGetProperty(ClientPtr client)
len = min(n - ind, 4 * stuff->longLength);
- reply = (xGetPropertyReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .bytesAfter = n - (ind + len),
- .format = pProp->format,
- .length = bytes_to_int32(len),
- .nItems = len / (pProp->format / 8),
- .propertyType = pProp->type
- };
+ memset(&reply, 0, sizeof(xGetPropertyReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence,
+ reply.bytesAfter = n - (ind + len);
+ reply.format = pProp->format;
+ reply.length = bytes_to_int32(len);
+ reply.nItems = len / (pProp->format / 8);
+ reply.propertyType = pProp->type;
if (stuff->delete && (reply.bytesAfter == 0))
deliverPropertyNotifyEvent(pWin, PropertyDelete, pProp->propertyName);
@@ -595,12 +592,12 @@ ProcListProperties(ClientPtr client)
}
}
- xlpr = (xListPropertiesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(numProps * sizeof(Atom)),
- .nProperties = numProps
- };
+
+ xlpr.type = X_Reply;
+ xlpr.sequenceNumber = client->sequence;
+ xlpr.length = bytes_to_int32(numProps * sizeof(Atom));
+ xlpr.nProperties = numProps;
+
WriteReplyToClient(client, sizeof(xGenericReply), &xlpr);
if (numProps) {
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
diff --git a/xorg-server/dix/ptrveloc.c b/xorg-server/dix/ptrveloc.c
index e75300a17..6d349e089 100644
--- a/xorg-server/dix/ptrveloc.c
+++ b/xorg-server/dix/ptrveloc.c
@@ -26,6 +26,10 @@
#include <dix-config.h>
#endif
+#ifdef _MSC_VER
+#define _USE_MATH_DEFINES
+#endif
+
#include <math.h>
#include <ptrveloc.h>
#include <exevents.h>
@@ -60,6 +64,11 @@
*
****************************************************************************/
+#ifdef _MSC_VER
+#define inline __inline
+#define lrintf(val) ((int)val)
+#endif
+
/* fwds */
static double
SimpleSmoothProfile(DeviceIntPtr dev, DeviceVelocityPtr vel, double velocity,
diff --git a/xorg-server/dix/registry.c b/xorg-server/dix/registry.c
index 82a3340e1..ce741c28e 100644
--- a/xorg-server/dix/registry.c
+++ b/xorg-server/dix/registry.c
@@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include "resource.h"
@@ -207,7 +208,7 @@ RegisterResourceName(RESTYPE resource, const char *name)
resource &= TypeMask;
while (resource >= nresource) {
- if (!double_size(&resources, nresource, sizeof(char *)))
+ if (!double_size((void*)&resources, nresource, sizeof(char *)))
return;
nresource = nresource ? nresource * 2 : BASE_SIZE;
}
@@ -300,7 +301,7 @@ dixFreeRegistry(void)
free(errors[nerror]);
free(errors);
- free(resources);
+ free((void*)resources);
requests = NULL;
nminor = NULL;
@@ -322,7 +323,7 @@ dixFreeRegistry(void)
void
dixResetRegistry(void)
{
- ExtensionEntry extEntry = { .name = CORE };
+ ExtensionEntry extEntry;
dixFreeRegistry();
@@ -345,6 +346,8 @@ dixResetRegistry(void)
RegisterResourceName(RT_PASSIVEGRAB, "PASSIVE GRAB");
/* Add the core protocol */
+ memset(&extEntry, 0, sizeof(extEntry));
+ extEntry.name = CORE;
RegisterExtensionNames(&extEntry);
}
diff --git a/xorg-server/dix/resource.c b/xorg-server/dix/resource.c
index 623d862d6..a3f5fc845 100644
--- a/xorg-server/dix/resource.c
+++ b/xorg-server/dix/resource.c
@@ -432,66 +432,66 @@ FindGCSubRes(void *value, FindAllRes func, void *cdata)
static struct ResourceType *resourceTypes;
static const struct ResourceType predefTypes[] = {
- [RT_NONE & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = (DeleteType) NoopDDA,
- .sizeFunc = GetDefaultBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadValue,
- },
- [RT_WINDOW & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = DeleteWindow,
- .sizeFunc = GetWindowBytes,
- .findSubResFunc = FindWindowSubRes,
- .errorValue = BadWindow,
- },
- [RT_PIXMAP & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = dixDestroyPixmap,
- .sizeFunc = GetPixmapBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadPixmap,
- },
- [RT_GC & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = FreeGC,
- .sizeFunc = GetGcBytes,
- .findSubResFunc = FindGCSubRes,
- .errorValue = BadGC,
- },
- [RT_FONT & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = CloseFont,
- .sizeFunc = GetDefaultBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadFont,
- },
- [RT_CURSOR & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = FreeCursor,
- .sizeFunc = GetDefaultBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadCursor,
- },
- [RT_COLORMAP & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = FreeColormap,
- .sizeFunc = GetDefaultBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadColor,
- },
- [RT_CMAPENTRY & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = FreeClientPixels,
- .sizeFunc = GetDefaultBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadColor,
- },
- [RT_OTHERCLIENT & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = OtherClientGone,
- .sizeFunc = GetDefaultBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadValue,
- },
- [RT_PASSIVEGRAB & (RC_LASTPREDEF - 1)] = {
- .deleteFunc = DeletePassiveGrab,
- .sizeFunc = GetDefaultBytes,
- .findSubResFunc = DefaultFindSubRes,
- .errorValue = BadValue,
- },
+ /* [RT_NONE & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */(DeleteType)NoopDDA,
+ /*.sizeFunc = */GetDefaultBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadValue,
+ },
+ /* [RT_WINDOW & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */DeleteWindow,
+ /*.sizeFunc = */GetWindowBytes,
+ /*.findSubResFunc = */FindWindowSubRes,
+ /*.errorValue = */BadWindow,
+ },
+ /* [RT_PIXMAP & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */dixDestroyPixmap,
+ /*.sizeFunc = */GetPixmapBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadPixmap,
+ },
+ /* [RT_GC & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */FreeGC,
+ /*.sizeFunc = */GetGcBytes,
+ /*.findSubResFunc = */FindGCSubRes,
+ /*.errorValue = */BadGC,
+ },
+ /* [RT_FONT & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */CloseFont,
+ /*.sizeFunc = */GetDefaultBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadFont,
+ },
+ /* [RT_CURSOR & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */FreeCursor,
+ /*.sizeFunc = */GetDefaultBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadCursor,
+ },
+ /* [RT_COLORMAP & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */FreeColormap,
+ /*.sizeFunc = */GetDefaultBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadColor,
+ },
+ /* [RT_CMAPENTRY & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */FreeClientPixels,
+ /*.sizeFunc = */GetDefaultBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadColor,
+ },
+ /* [RT_OTHERCLIENT & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */OtherClientGone,
+ /*.sizeFunc = */GetDefaultBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadValue,
+ },
+ /* [RT_PASSIVEGRAB & (RC_LASTPREDEF - 1)] = */ {
+ /*.deleteFunc = */DeletePassiveGrab,
+ /*.sizeFunc = */GetDefaultBytes,
+ /*.findSubResFunc = */DefaultFindSubRes,
+ /*.errorValue = */BadValue,
+ },
};
CallbackListPtr ResourceStateCallback;
diff --git a/xorg-server/dix/selection.c b/xorg-server/dix/selection.c
index e905b1ec2..060afb808 100644
--- a/xorg-server/dix/selection.c
+++ b/xorg-server/dix/selection.c
@@ -181,11 +181,11 @@ ProcSetSelectionOwner(ClientPtr client)
if (CompareTimeStamps(time, pSel->lastTimeChanged) == EARLIER)
return Success;
if (pSel->client && (!pWin || (pSel->client != client))) {
- xEvent event = {
- .u.selectionClear.time = time.milliseconds,
- .u.selectionClear.window = pSel->window,
- .u.selectionClear.atom = pSel->selection
- };
+ xEvent event;
+ event.u.selectionClear.time = time.milliseconds;
+ event.u.selectionClear.window = pSel->window;
+ event.u.selectionClear.atom = pSel->selection;
+
event.u.u.type = SelectionClear;
WriteEventsToClient(pSel->client, 1, &event);
}
@@ -238,11 +238,10 @@ ProcGetSelectionOwner(ClientPtr client)
return BadAtom;
}
- reply = (xGetSelectionOwnerReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- };
+ memset(&reply, 0, sizeof(xGetSelectionOwnerReply));
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
rc = dixLookupSelection(&pSel, stuff->id, client, DixGetAttrAccess);
if (rc == Success)
diff --git a/xorg-server/dix/swapreq.c b/xorg-server/dix/swapreq.c
index 0f6d49ef0..6f9d4d891 100644
--- a/xorg-server/dix/swapreq.c
+++ b/xorg-server/dix/swapreq.c
@@ -283,7 +283,7 @@ SProcConvertSelection(ClientPtr client)
int
SProcSendEvent(ClientPtr client)
{
- xEvent eventT = { .u.u.type = 0 };
+ xEvent eventT;
EventSwapPtr proc;
REQUEST(xSendEventReq);
@@ -296,6 +296,7 @@ SProcSendEvent(ClientPtr client)
proc = EventSwapVector[stuff->event.u.u.type & 0177];
if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */
return BadValue;
+ eventT.u.u.type = 0;
(*proc) (&stuff->event, &eventT);
stuff->event = eventT;
diff --git a/xorg-server/dix/window.c b/xorg-server/dix/window.c
index f4acdc889..7bbfc719b 100644
--- a/xorg-server/dix/window.c
+++ b/xorg-server/dix/window.c
@@ -831,16 +831,16 @@ CreateWindow(Window wid, WindowPtr pParent, int x, int y, unsigned w,
}
if (SubSend(pParent)) {
- xEvent event = {
- .u.createNotify.window = wid,
- .u.createNotify.parent = pParent->drawable.id,
- .u.createNotify.x = x,
- .u.createNotify.y = y,
- .u.createNotify.width = w,
- .u.createNotify.height = h,
- .u.createNotify.borderWidth = bw,
- .u.createNotify.override = pWin->overrideRedirect
- };
+ xEvent event; memset(&event, 0, sizeof(xEvent));
+ event.u.createNotify.window = wid;
+ event.u.createNotify.parent = pParent->drawable.id;
+ event.u.createNotify.x = x;
+ event.u.createNotify.y = y;
+ event.u.createNotify.width = w;
+ event.u.createNotify.height = h;
+ event.u.createNotify.borderWidth = bw;
+ event.u.createNotify.override = pWin->overrideRedirect;
+
event.u.u.type = CreateNotify;
DeliverEvents(pParent, &event, 1, NullWindow);
}
@@ -928,7 +928,9 @@ CrushTree(WindowPtr pWin)
while (1) {
pParent = pChild->parent;
if (SubStrSend(pChild, pParent)) {
- xEvent event = { .u.u.type = DestroyNotify };
+ xEvent event;
+ memset(&event, 0, sizeof(xEvent));
+ event.u.u.type = DestroyNotify;
event.u.destroyNotify.window = pChild->drawable.id;
DeliverEvents(pChild, &event, 1, NullWindow);
}
@@ -970,7 +972,9 @@ DeleteWindow(void *value, XID wid)
pParent = pWin->parent;
if (wid && pParent && SubStrSend(pWin, pParent)) {
- xEvent event = { .u.u.type = DestroyNotify };
+ xEvent event;
+ memset(&event, 0, sizeof(xEvent));
+ event.u.u.type = DestroyNotify;
event.u.destroyNotify.window = pWin->drawable.id;
DeliverEvents(pWin, &event, 1, NullWindow);
}
@@ -1355,12 +1359,12 @@ ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client)
CheckWindowOptionalNeed(pChild);
}
- xE = (xEvent) {
- .u.colormap.window = pWin->drawable.id,
- .u.colormap.colormap = cmap,
- .u.colormap.new = xTrue,
- .u.colormap.state = IsMapInstalled(cmap, pWin)
- };
+
+ xE.u.colormap.window = pWin->drawable.id;
+ xE.u.colormap.colormap = cmap;
+ xE.u.colormap.new = xTrue;
+ xE.u.colormap.state = IsMapInstalled(cmap, pWin);
+
xE.u.u.type = ColormapNotify;
DeliverEvents(pWin, &xE, 1, NullWindow);
}
@@ -1749,11 +1753,11 @@ ResizeChildrenWinSize(WindowPtr pWin, int dx, int dy, int dw, int dh)
GravityTranslate(cwsx, cwsy, cwsx - dx, cwsy - dy, dw, dh,
pSib->winGravity, &cwsx, &cwsy);
if (cwsx != pSib->origin.x || cwsy != pSib->origin.y) {
- xEvent event = {
- .u.gravity.window = pSib->drawable.id,
- .u.gravity.x = cwsx - wBorderWidth(pSib),
- .u.gravity.y = cwsy - wBorderWidth(pSib)
- };
+ xEvent event;
+ event.u.gravity.window = pSib->drawable.id;
+ event.u.gravity.x = cwsx - wBorderWidth(pSib);
+ event.u.gravity.y = cwsy - wBorderWidth(pSib);
+
event.u.u.type = GravityNotify;
DeliverEvents(pSib, &event, 1, NullWindow);
pSib->origin.x = cwsx;
@@ -2178,17 +2182,17 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
pSib = pWin->nextSib;
if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) {
- xEvent event = {
- .u.configureRequest.window = pWin->drawable.id,
- .u.configureRequest.sibling = (mask & CWSibling) ? sibwid : None,
- .u.configureRequest.x = x,
- .u.configureRequest.y = y,
- .u.configureRequest.width = w,
- .u.configureRequest.height = h,
- .u.configureRequest.borderWidth = bw,
- .u.configureRequest.valueMask = mask,
- .u.configureRequest.parent = pParent->drawable.id
- };
+ xEvent event; memset(&event, 0, sizeof(xEvent));
+ event.u.configureRequest.window = pWin->drawable.id;
+ event.u.configureRequest.sibling = (mask & CWSibling) ? sibwid : None;
+ event.u.configureRequest.x = x;
+ event.u.configureRequest.y = y;
+ event.u.configureRequest.width = w;
+ event.u.configureRequest.height = h;
+ event.u.configureRequest.borderWidth = bw;
+ event.u.configureRequest.valueMask = mask;
+ event.u.configureRequest.parent = pParent->drawable.id;
+
event.u.u.type = ConfigureRequest;
event.u.u.detail = (mask & CWStackMode) ? smode : Above;
#ifdef PANORAMIX
@@ -2207,11 +2211,11 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
if (size_change &&
((pWin->eventMask | wOtherEventMasks(pWin)) & ResizeRedirectMask)) {
- xEvent eventT = {
- .u.resizeRequest.window = pWin->drawable.id,
- .u.resizeRequest.width = w,
- .u.resizeRequest.height = h
- };
+ xEvent eventT; memset(&eventT, 0, sizeof(xEvent));
+ eventT.u.resizeRequest.window = pWin->drawable.id;
+ eventT.u.resizeRequest.width = w;
+ eventT.u.resizeRequest.height = h;
+
eventT.u.u.type = ResizeRequest;
if (MaybeDeliverEventsToClient(pWin, &eventT, 1,
ResizeRedirectMask, client) == 1) {
@@ -2263,16 +2267,16 @@ ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client)
}
if (SubStrSend(pWin, pParent)) {
- xEvent event = {
- .u.configureNotify.window = pWin->drawable.id,
- .u.configureNotify.aboveSibling = pSib ? pSib->drawable.id : None,
- .u.configureNotify.x = x,
- .u.configureNotify.y = y,
- .u.configureNotify.width = w,
- .u.configureNotify.height = h,
- .u.configureNotify.borderWidth = bw,
- .u.configureNotify.override = pWin->overrideRedirect
- };
+ xEvent event; memset(&event, 0, sizeof(xEvent));
+ event.u.configureNotify.window = pWin->drawable.id;
+ event.u.configureNotify.aboveSibling = pSib ? pSib->drawable.id : None;
+ event.u.configureNotify.x = x;
+ event.u.configureNotify.y = y;
+ event.u.configureNotify.width = w;
+ event.u.configureNotify.height = h;
+ event.u.configureNotify.borderWidth = bw;
+ event.u.configureNotify.override = pWin->overrideRedirect;
+
event.u.u.type = ConfigureNotify;
#ifdef PANORAMIX
if (!noPanoramiXExtension && (!pParent || !pParent->parent)) {
@@ -2352,13 +2356,12 @@ CirculateWindow(WindowPtr pParent, int direction, ClientPtr client)
return Success;
}
- event = (xEvent) {
- .u.circulate.window = pWin->drawable.id,
- .u.circulate.parent = pParent->drawable.id,
- .u.circulate.event = pParent->drawable.id,
- .u.circulate.place = (direction == RaiseLowest) ?
- PlaceOnTop : PlaceOnBottom,
- };
+
+ event.u.circulate.window = pWin->drawable.id;
+ event.u.circulate.parent = pParent->drawable.id;
+ event.u.circulate.event = pParent->drawable.id;
+ event.u.circulate.place = (direction == RaiseLowest) ?
+ PlaceOnTop : PlaceOnBottom;
if (RedirectSend(pParent)) {
event.u.u.type = CirculateRequest;
@@ -2411,13 +2414,13 @@ ReparentWindow(WindowPtr pWin, WindowPtr pParent,
if (WasMapped)
UnmapWindow(pWin, FALSE);
- event = (xEvent) {
- .u.reparent.window = pWin->drawable.id,
- .u.reparent.parent = pParent->drawable.id,
- .u.reparent.x = x,
- .u.reparent.y = y,
- .u.reparent.override = pWin->overrideRedirect
- };
+ memset(&event, 0, sizeof(xEvent));
+ event.u.reparent.window = pWin->drawable.id;
+ event.u.reparent.parent = pParent->drawable.id;
+ event.u.reparent.x = x;
+ event.u.reparent.y = y;
+ event.u.reparent.override = pWin->overrideRedirect;
+
event.u.u.type = ReparentNotify;
#ifdef PANORAMIX
if (!noPanoramiXExtension && !pParent->parent) {
@@ -2513,10 +2516,10 @@ RealizeTree(WindowPtr pWin)
static Bool
MaybeDeliverMapRequest(WindowPtr pWin, WindowPtr pParent, ClientPtr client)
{
- xEvent event = {
- .u.mapRequest.window = pWin->drawable.id,
- .u.mapRequest.parent = pParent->drawable.id
- };
+ xEvent event; memset(&event, 0, sizeof(event));
+ event.u.mapRequest.window = pWin->drawable.id;
+ event.u.mapRequest.parent = pParent->drawable.id;
+
event.u.u.type = MapRequest;
return MaybeDeliverEventsToClient(pParent, &event, 1,
@@ -2527,10 +2530,10 @@ MaybeDeliverMapRequest(WindowPtr pWin, WindowPtr pParent, ClientPtr client)
static void
DeliverMapNotify(WindowPtr pWin)
{
- xEvent event = {
- .u.mapNotify.window = pWin->drawable.id,
- .u.mapNotify.override = pWin->overrideRedirect,
- };
+ xEvent event; memset(&event, 0, sizeof(event));
+ event.u.mapNotify.window = pWin->drawable.id;
+ event.u.mapNotify.override = pWin->overrideRedirect;
+
event.u.u.type = MapNotify;
DeliverEvents(pWin, &event, 1, NullWindow);
}
@@ -2720,10 +2723,10 @@ UnrealizeTree(WindowPtr pWin, Bool fromConfigure)
static void
DeliverUnmapNotify(WindowPtr pWin, Bool fromConfigure)
{
- xEvent event = {
- .u.unmapNotify.window = pWin->drawable.id,
- .u.unmapNotify.fromConfigure = fromConfigure
- };
+ xEvent event; memset(&event, 0, sizeof(event));
+ event.u.unmapNotify.window = pWin->drawable.id;
+ event.u.unmapNotify.fromConfigure = fromConfigure;
+
event.u.u.type = UnmapNotify;
DeliverEvents(pWin, &event, 1, NullWindow);
}
@@ -2983,10 +2986,10 @@ SendVisibilityNotify(WindowPtr pWin)
}
#endif
- event = (xEvent) {
- .u.visibility.window = pWin->drawable.id,
- .u.visibility.state = visibility
- };
+ memset(&event, 0, sizeof(xEvent));
+ event.u.visibility.window = pWin->drawable.id;
+ event.u.visibility.state = visibility;
+
event.u.u.type = VisibilityNotify;
DeliverEvents(pWin, &event, 1, NullWindow);
}
diff --git a/xorg-server/exa/exa_accel.c b/xorg-server/exa/exa_accel.c
index 9c742bdc9..7d4233bc3 100644
--- a/xorg-server/exa/exa_accel.c
+++ b/xorg-server/exa/exa_accel.c
@@ -236,7 +236,7 @@ exaPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y,
bits);
}
-static Bool inline
+static Bool __inline
exaCopyNtoNTwoDir(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
GCPtr pGC, BoxPtr pbox, int nbox, int dx, int dy)
{
diff --git a/xorg-server/exa/exa_migration_classic.c b/xorg-server/exa/exa_migration_classic.c
index f712e1914..89eff6200 100644
--- a/xorg-server/exa/exa_migration_classic.c
+++ b/xorg-server/exa/exa_migration_classic.c
@@ -379,8 +379,8 @@ exaDoMoveInPixmap(ExaMigrationPtr migrate)
void
exaMoveInPixmap_classic(PixmapPtr pPixmap)
{
- static ExaMigrationRec migrate = {.as_dst = FALSE,.as_src = TRUE,
- .pReg = NULL
+ static ExaMigrationRec migrate = {FALSE, TRUE,
+ NULL, NULL
};
migrate.pPix = pPixmap;
@@ -422,8 +422,8 @@ exaDoMoveOutPixmap(ExaMigrationPtr migrate)
void
exaMoveOutPixmap_classic(PixmapPtr pPixmap)
{
- static ExaMigrationRec migrate = {.as_dst = FALSE,.as_src = TRUE,
- .pReg = NULL
+ static ExaMigrationRec migrate = { FALSE, TRUE,
+ NULL, NULL
};
migrate.pPix = pPixmap;
@@ -628,7 +628,7 @@ exaDoMigration_classic(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
if (!exaPixmapIsDirty(pixmaps[i].pPix) &&
!exaAssertNotDirty(pixmaps[i].pPix))
ErrorF("%s: Pixmap %d dirty but not marked as such!\n",
- __func__, i);
+ __FUNCTION__, i);
}
}
/* If anything is pinned in system memory, we won't be able to
diff --git a/xorg-server/exa/exa_unaccel.c b/xorg-server/exa/exa_unaccel.c
index b0c6344a5..73fd3a3f5 100644
--- a/xorg-server/exa/exa_unaccel.c
+++ b/xorg-server/exa/exa_unaccel.c
@@ -730,7 +730,7 @@ exaGetPixmapFirstPixel(PixmapPtr pPixmap)
return pixel;
}
default:
- FatalError("%s called for invalid bpp %d\n", __func__,
+ FatalError("%s called for invalid bpp %d\n", __FUNCTION__,
pPixmap->drawable.bitsPerPixel);
}
}
diff --git a/xorg-server/exa/makefile b/xorg-server/exa/makefile
new file mode 100644
index 000000000..5ad11a1ed
--- /dev/null
+++ b/xorg-server/exa/makefile
@@ -0,0 +1,14 @@
+LIBRARY=libexa
+
+CSRCS = \
+ exa.c \
+ exa_classic.c \
+ exa_migration_classic.c \
+ exa_driver.c \
+ exa_mixed.c \
+ exa_migration_mixed.c \
+ exa_accel.c \
+ exa_glyphs.c \
+ exa_offscreen.c \
+ exa_render.c \
+ exa_unaccel.c
diff --git a/xorg-server/fb/fbpixmap.c b/xorg-server/fb/fbpixmap.c
index 677f28af0..1280a780c 100644
--- a/xorg-server/fb/fbpixmap.c
+++ b/xorg-server/fb/fbpixmap.c
@@ -301,24 +301,14 @@ fbPixmapToRegion(PixmapPtr pPix)
#ifdef FB_DEBUG
-#ifndef WIN32
#include <stdio.h>
-#else
-#include <dbg.h>
-#endif
static Bool
fbValidateBits(FbStip * bits, int stride, FbStip data)
{
while (stride--) {
if (*bits != data) {
-#ifdef WIN32
- NCD_DEBUG((DEBUG_FAILURE,
- "fdValidateBits failed at 0x%x (is 0x%x want 0x%x)",
- bits, *bits, data));
-#else
- fprintf(stderr, "fbValidateBits failed\n");
-#endif
+ fprintf (stderr, "fbValidateBits failed at 0x%x (is 0x%x want 0x%x)\n",bits, *bits, data);
return FALSE;
}
bits++;
diff --git a/xorg-server/fb/makefile b/xorg-server/fb/makefile
new file mode 100644
index 000000000..717c07332
--- /dev/null
+++ b/xorg-server/fb/makefile
@@ -0,0 +1,37 @@
+
+LIBRARY=libfb
+
+CCFLAGS:=$(CCFLAGS:-RTCc=)
+
+
+CSRCS = \
+ fb24_32.c \
+ fballpriv.c \
+ fbarc.c \
+ fbbits.c \
+ fbblt.c \
+ fbbltone.c \
+ fbcopy.c \
+ fbfill.c \
+ fbfillrect.c \
+ fbfillsp.c \
+ fbgc.c \
+ fbgetsp.c \
+ fbglyph.c \
+ fbimage.c \
+ fbline.c \
+ fboverlay.c \
+ fbpict.c \
+ fbpixmap.c \
+ fbpoint.c \
+ fbpush.c \
+ fbscreen.c \
+ fbseg.c \
+ fbsetsp.c \
+ fbsolid.c \
+ fbstipple.c \
+ fbtile.c \
+ fbtrap.c \
+ fbutil.c \
+ fbwindow.c \
+ fbcmap_mi.c
diff --git a/xorg-server/fb/wfbrename.h b/xorg-server/fb/wfbrename.h
index 54d00d003..94efd03dd 100644
--- a/xorg-server/fb/wfbrename.h
+++ b/xorg-server/fb/wfbrename.h
@@ -44,7 +44,6 @@
#define fbCopyNto1 wfbCopyNto1
#define fbCopyNtoN wfbCopyNtoN
#define fbCopyPlane wfbCopyPlane
-#define fbCopyRegion wfbCopyRegion
#define fbCopyWindow wfbCopyWindow
#define fbCopyWindowProc wfbCopyWindowProc
#define fbCreateDefColormap wfbCreateDefColormap
@@ -55,7 +54,6 @@
#define fbDestroyGlyphCache wfbDestroyGlyphCache
#define fbDestroyPixmap wfbDestroyPixmap
#define fbDestroyWindow wfbDestroyWindow
-#define fbDoCopy wfbDoCopy
#define fbDots wfbDots
#define fbDots16 wfbDots16
#define fbDots24 wfbDots24
diff --git a/xorg-server/fonts.src/100dpi/makefile b/xorg-server/fonts.src/100dpi/makefile
new file mode 100644
index 000000000..7112c3275
--- /dev/null
+++ b/xorg-server/fonts.src/100dpi/makefile
@@ -0,0 +1,357 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+UTIL_DIR = ..\font-util
+
+load_makefile $(UTIL_DIR)\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+UCS2ANY = $(UTIL_DIR)\$(OBJDIR)\ucs2any.exe
+
+ # The following rule is to avoid parallel build problems
+.PHONY: buildtoolsfirst
+buildtoolsfirst: $(BDFTOPCF) $(UCS2ANY)
+
+all: buildtoolsfirst
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\100dpi
+
+BDF2UCS_FONT_FILES = \
+ lutBS08 \
+ lutBS10 \
+ lutBS12 \
+ lutBS14 \
+ lutBS18 \
+ lutBS19 \
+ lutBS24 \
+ lutRS08 \
+ lutRS10 \
+ lutRS12 \
+ lutRS14 \
+ lutRS18 \
+ lutRS19 \
+ lutRS24 \
+ lubB08 \
+ lubB10 \
+ lubB12 \
+ lubB14 \
+ lubB18 \
+ lubB19 \
+ lubB24 \
+ lubBI08 \
+ lubBI10 \
+ lubBI12 \
+ lubBI14 \
+ lubBI18 \
+ lubBI19 \
+ lubBI24 \
+ lubI08 \
+ lubI10 \
+ lubI12 \
+ lubI14 \
+ lubI18 \
+ lubI19 \
+ lubI24 \
+ luBIS08 \
+ luBIS10 \
+ luBIS12 \
+ luBIS14 \
+ luBIS18 \
+ luBIS19 \
+ luBIS24 \
+ lubR08 \
+ lubR10 \
+ lubR12 \
+ lubR14 \
+ lubR18 \
+ lubR19 \
+ lubR24 \
+ luBS08 \
+ luBS10 \
+ luBS12 \
+ luBS14 \
+ luBS18 \
+ luBS19 \
+ luBS24 \
+ luIS08 \
+ luIS10 \
+ luIS12 \
+ luIS14 \
+ luIS18 \
+ luIS19 \
+ luIS24 \
+ luRS08 \
+ luRS10 \
+ luRS12 \
+ luRS14 \
+ luRS18 \
+ luRS19 \
+ luRS24 \
+ UTB___10 \
+ UTB___12 \
+ UTB___14 \
+ UTB___18 \
+ UTB___24 \
+ UTBI__10 \
+ UTBI__12 \
+ UTBI__14 \
+ UTBI__18 \
+ UTBI__24 \
+ UTI___10 \
+ UTI___12 \
+ UTI___14 \
+ UTI___18 \
+ UTI___24 \
+ UTRG__10 \
+ UTRG__12 \
+ UTRG__14 \
+ UTRG__18 \
+ UTRG__24 \
+ courB08 \
+ courB10 \
+ courB12 \
+ courB14 \
+ courB18 \
+ courB24 \
+ courBO08 \
+ courBO10 \
+ courBO12 \
+ courBO14 \
+ courBO18 \
+ courBO24 \
+ courO08 \
+ courO10 \
+ courO12 \
+ courO14 \
+ courO18 \
+ courO24 \
+ courR08 \
+ courR10 \
+ courR12 \
+ courR14 \
+ courR18 \
+ courR24 \
+ helvB08 \
+ helvB10 \
+ helvB12 \
+ helvB14 \
+ helvB18 \
+ helvB24 \
+ helvBO08 \
+ helvBO10 \
+ helvBO12 \
+ helvBO14 \
+ helvBO18 \
+ helvBO24 \
+ helvO08 \
+ helvO10 \
+ helvO12 \
+ helvO14 \
+ helvO18 \
+ helvO24 \
+ helvR08 \
+ helvR10 \
+ helvR12 \
+ helvR14 \
+ helvR18 \
+ helvR24 \
+ ncenB08 \
+ ncenB10 \
+ ncenB12 \
+ ncenB14 \
+ ncenB18 \
+ ncenB24 \
+ ncenBI08 \
+ ncenBI10 \
+ ncenBI12 \
+ ncenBI14 \
+ ncenBI18 \
+ ncenBI24 \
+ ncenI08 \
+ ncenI10 \
+ ncenI12 \
+ ncenI14 \
+ ncenI18 \
+ ncenI24 \
+ ncenR08 \
+ ncenR10 \
+ ncenR12 \
+ ncenR14 \
+ ncenR18 \
+ ncenR24 \
+ timB08 \
+ timB10 \
+ timB12 \
+ timB14 \
+ timB18 \
+ timB24 \
+ timBI08 \
+ timBI10 \
+ timBI12 \
+ timBI14 \
+ timBI18 \
+ timBI24 \
+ timI08 \
+ timI10 \
+ timI12 \
+ timI14 \
+ timI18 \
+ timI24 \
+ timR08 \
+ timR10 \
+ timR12 \
+ timR14 \
+ timR18 \
+ timR24
+EXTRA_FONT_FILES = \
+ symb08 \
+ symb10 \
+ symb12 \
+ symb14 \
+ symb18 \
+ symb24 \
+ charB08 \
+ charB10 \
+ charB12 \
+ charB14 \
+ charB18 \
+ charB24 \
+ charBI08 \
+ charBI10 \
+ charBI12 \
+ charBI14 \
+ charBI18 \
+ charBI24 \
+ charI08 \
+ charI10 \
+ charI12 \
+ charI14 \
+ charI18 \
+ charI24 \
+ charR08 \
+ charR10 \
+ charR12 \
+ charR14 \
+ charR18 \
+ charR24 \
+ tech14 \
+ techB14 \
+ term14 \
+ termB14
+FONT_FILES = $(BDF2UCS_FONT_FILES) $(EXTRA_FONT_FILES)
+
+BDF_FILES = $(FONT_FILES:%=%.bdf)
+PCF_FILES = $(FONT_FILES:%=$(DESTDIR)\%.pcf.gz)
+
+ISO8859_1_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-1.pcf.gz)
+
+ISO8859_2_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-2.pcf.gz)
+
+ISO8859_3_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-3.pcf.gz)
+
+ISO8859_4_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-4.pcf.gz)
+
+ISO8859_9_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-9.pcf.gz)
+
+ISO8859_10_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-10.pcf.gz)
+
+ISO8859_13_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-13.pcf.gz)
+
+ISO8859_14_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-14.pcf.gz)
+
+ISO8859_15_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-15.pcf.gz)
+
+$(DESTDIR)\%-ISO8859-1.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-1.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-1 ISO8859-1
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-1.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-1.bdf)
+
+$(DESTDIR)\%-ISO8859-2.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-2.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-2 ISO8859-2
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-2.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-2.bdf)
+
+$(DESTDIR)\%-ISO8859-3.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-3.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-3 ISO8859-3
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-3.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-3.bdf)
+
+$(DESTDIR)\%-ISO8859-4.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-4.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-4 ISO8859-4
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-4.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-4.bdf)
+
+$(DESTDIR)\%-ISO8859-9.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-9.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-9 ISO8859-9
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-9.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-9.bdf)
+
+$(DESTDIR)\%-ISO8859-10.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-10.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-10 ISO8859-10
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-10.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-10.bdf)
+
+$(DESTDIR)\%-ISO8859-13.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-13.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-13 ISO8859-13
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-13.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-13.bdf)
+
+$(DESTDIR)\%-ISO8859-14.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-14.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-14 ISO8859-14
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-14.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-14.bdf)
+
+$(DESTDIR)\%-ISO8859-15.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-15.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-15 ISO8859-15
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-15.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-15.bdf)
+
+font_DATA = \
+ $(PCF_FILES) \
+ $(ISO8859_1_PCF_FILES) \
+ $(ISO8859_2_PCF_FILES) \
+ $(ISO8859_3_PCF_FILES) \
+ $(ISO8859_4_PCF_FILES) \
+ $(ISO8859_9_PCF_FILES) \
+ $(ISO8859_10_PCF_FILES) \
+ $(ISO8859_13_PCF_FILES) \
+ $(ISO8859_14_PCF_FILES) \
+ $(ISO8859_15_PCF_FILES)
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir $(DESTDIR)\fonts.alias
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+
+$(DESTDIR)\fonts.alias: fonts.alias
+ copy $< $@
+
diff --git a/xorg-server/fonts.src/75dpi/makefile b/xorg-server/fonts.src/75dpi/makefile
new file mode 100644
index 000000000..2467889d9
--- /dev/null
+++ b/xorg-server/fonts.src/75dpi/makefile
@@ -0,0 +1,357 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+UTIL_DIR = ..\font-util
+
+load_makefile $(UTIL_DIR)\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+UCS2ANY = $(UTIL_DIR)\$(OBJDIR)\ucs2any.exe
+
+ # The following rule is to avoid parallel build problems
+.PHONY: buildtoolsfirst
+buildtoolsfirst: $(BDFTOPCF) $(UCS2ANY)
+
+all: buildtoolsfirst
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\75dpi
+
+BDF2UCS_FONT_FILES = \
+ lutBS08 \
+ lutBS10 \
+ lutBS12 \
+ lutBS14 \
+ lutBS18 \
+ lutBS19 \
+ lutBS24 \
+ lutRS08 \
+ lutRS10 \
+ lutRS12 \
+ lutRS14 \
+ lutRS18 \
+ lutRS19 \
+ lutRS24 \
+ UTB___10 \
+ UTB___12 \
+ UTB___14 \
+ UTB___18 \
+ UTB___24 \
+ UTBI__10 \
+ UTBI__12 \
+ UTBI__14 \
+ UTBI__18 \
+ UTBI__24 \
+ UTI___10 \
+ UTI___12 \
+ UTI___14 \
+ UTI___18 \
+ UTI___24 \
+ UTRG__10 \
+ UTRG__12 \
+ UTRG__14 \
+ UTRG__18 \
+ UTRG__24 \
+ courB08 \
+ courB10 \
+ courB12 \
+ courB14 \
+ courB18 \
+ courB24 \
+ courBO08 \
+ courBO10 \
+ courBO12 \
+ courBO14 \
+ courBO18 \
+ courBO24 \
+ courO08 \
+ courO10 \
+ courO12 \
+ courO14 \
+ courO18 \
+ courO24 \
+ courR08 \
+ courR10 \
+ courR12 \
+ courR14 \
+ courR18 \
+ courR24 \
+ helvB08 \
+ helvB10 \
+ helvB12 \
+ helvB14 \
+ helvB18 \
+ helvB24 \
+ helvBO08 \
+ helvBO10 \
+ helvBO12 \
+ helvBO14 \
+ helvBO18 \
+ helvBO24 \
+ helvO08 \
+ helvO10 \
+ helvO12 \
+ helvO14 \
+ helvO18 \
+ helvO24 \
+ helvR08 \
+ helvR10 \
+ helvR12 \
+ helvR14 \
+ helvR18 \
+ helvR24 \
+ ncenB08 \
+ ncenB10 \
+ ncenB12 \
+ ncenB14 \
+ ncenB18 \
+ ncenB24 \
+ ncenBI08 \
+ ncenBI10 \
+ ncenBI12 \
+ ncenBI14 \
+ ncenBI18 \
+ ncenBI24 \
+ ncenI08 \
+ ncenI10 \
+ ncenI12 \
+ ncenI14 \
+ ncenI18 \
+ ncenI24 \
+ ncenR08 \
+ ncenR10 \
+ ncenR12 \
+ ncenR14 \
+ ncenR18 \
+ ncenR24 \
+ timB08 \
+ timB10 \
+ timB12 \
+ timB14 \
+ timB18 \
+ timB24 \
+ timBI08 \
+ timBI10 \
+ timBI12 \
+ timBI14 \
+ timBI18 \
+ timBI24 \
+ timI08 \
+ timI10 \
+ timI12 \
+ timI14 \
+ timI18 \
+ timI24 \
+ timR08 \
+ timR10 \
+ timR12 \
+ timR14 \
+ timR18 \
+ timR24 \
+ lubB08 \
+ lubB10 \
+ lubB12 \
+ lubB14 \
+ lubB18 \
+ lubB19 \
+ lubB24 \
+ lubBI08 \
+ lubBI10 \
+ lubBI12 \
+ lubBI14 \
+ lubBI18 \
+ lubBI19 \
+ lubBI24 \
+ lubI08 \
+ lubI10 \
+ lubI12 \
+ lubI14 \
+ lubI18 \
+ lubI19 \
+ lubI24 \
+ luBIS08 \
+ luBIS10 \
+ luBIS12 \
+ luBIS14 \
+ luBIS18 \
+ luBIS19 \
+ luBIS24 \
+ lubR08 \
+ lubR10 \
+ lubR12 \
+ lubR14 \
+ lubR18 \
+ lubR19 \
+ lubR24 \
+ luBS08 \
+ luBS10 \
+ luBS12 \
+ luBS14 \
+ luBS18 \
+ luBS19 \
+ luBS24 \
+ luIS08 \
+ luIS10 \
+ luIS12 \
+ luIS14 \
+ luIS18 \
+ luIS19 \
+ luIS24 \
+ luRS08 \
+ luRS10 \
+ luRS12 \
+ luRS14 \
+ luRS18 \
+ luRS19 \
+ luRS24
+EXTRA_FONT_FILES = \
+ charB08 \
+ charB10 \
+ charB12 \
+ charB14 \
+ charB18 \
+ charB24 \
+ charBI08 \
+ charBI10 \
+ charBI12 \
+ charBI14 \
+ charBI18 \
+ charBI24 \
+ charI08 \
+ charI10 \
+ charI12 \
+ charI14 \
+ charI18 \
+ charI24 \
+ charR08 \
+ charR10 \
+ charR12 \
+ charR14 \
+ charR18 \
+ charR24 \
+ tech14 \
+ techB14 \
+ term14 \
+ termB14 \
+ symb08 \
+ symb10 \
+ symb12 \
+ symb14 \
+ symb18 \
+ symb24
+FONT_FILES = $(BDF2UCS_FONT_FILES) $(EXTRA_FONT_FILES)
+
+BDF_FILES = $(FONT_FILES:%=%.bdf)
+PCF_FILES = $(FONT_FILES:%=$(DESTDIR)\%.pcf.gz)
+
+ISO8859_1_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-1.pcf.gz)
+
+ISO8859_2_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-2.pcf.gz)
+
+ISO8859_3_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-3.pcf.gz)
+
+ISO8859_4_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-4.pcf.gz)
+
+ISO8859_9_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-9.pcf.gz)
+
+ISO8859_10_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-10.pcf.gz)
+
+ISO8859_13_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-13.pcf.gz)
+
+ISO8859_14_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-14.pcf.gz)
+
+ISO8859_15_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-15.pcf.gz)
+
+$(DESTDIR)\%-ISO8859-1.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-1.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-1 ISO8859-1
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-1.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-1.bdf)
+
+$(DESTDIR)\%-ISO8859-2.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-2.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-2 ISO8859-2
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-2.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-2.bdf)
+
+$(DESTDIR)\%-ISO8859-3.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-3.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-3 ISO8859-3
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-3.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-3.bdf)
+
+$(DESTDIR)\%-ISO8859-4.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-4.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-4 ISO8859-4
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-4.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-4.bdf)
+
+$(DESTDIR)\%-ISO8859-9.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-9.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-9 ISO8859-9
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-9.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-9.bdf)
+
+$(DESTDIR)\%-ISO8859-10.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-10.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-10 ISO8859-10
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-10.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-10.bdf)
+
+$(DESTDIR)\%-ISO8859-13.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-13.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-13 ISO8859-13
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-13.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-13.bdf)
+
+$(DESTDIR)\%-ISO8859-14.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-14.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-14 ISO8859-14
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-14.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-14.bdf)
+
+$(DESTDIR)\%-ISO8859-15.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-15.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-15 ISO8859-15
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-15.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-15.bdf)
+
+font_DATA = \
+ $(PCF_FILES) \
+ $(ISO8859_1_PCF_FILES) \
+ $(ISO8859_2_PCF_FILES) \
+ $(ISO8859_3_PCF_FILES) \
+ $(ISO8859_4_PCF_FILES) \
+ $(ISO8859_9_PCF_FILES) \
+ $(ISO8859_10_PCF_FILES) \
+ $(ISO8859_13_PCF_FILES) \
+ $(ISO8859_14_PCF_FILES) \
+ $(ISO8859_15_PCF_FILES)
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir $(DESTDIR)\fonts.alias
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+
+$(DESTDIR)\fonts.alias: fonts.alias
+ copy $< $@
+
diff --git a/xorg-server/fonts.src/OTF/makefile b/xorg-server/fonts.src/OTF/makefile
new file mode 100644
index 000000000..7187a55c7
--- /dev/null
+++ b/xorg-server/fonts.src/OTF/makefile
@@ -0,0 +1,53 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\OTF
+
+FONT_FILES = \
+ SyrCOMAdiabene.otf \
+ SyrCOMAntioch.otf \
+ SyrCOMBatnanBold.otf \
+ SyrCOMBatnan.otf \
+ SyrCOMCtesiphon.otf \
+ SyrCOMEdessa.otf \
+ SyrCOMJerusalemBold.otf \
+ SyrCOMJerusalemItalic.otf \
+ SyrCOMJerusalem.otf \
+ SyrCOMJerusalemOutline.otf \
+ SyrCOMKharput.otf \
+ SyrCOMMalankara.otf \
+ SyrCOMMardinBold.otf \
+ SyrCOMMardin.otf \
+ SyrCOMMidyat.otf \
+ SyrCOMNisibin.otf \
+ SyrCOMNisibinOutline.otf \
+ SyrCOMQenNeshrin.otf \
+ SyrCOMTalada.otf \
+ SyrCOMTurAbdin.otf \
+ SyrCOMUrhoyBold.otf \
+ SyrCOMUrhoy.otf \
+ GohaTibebZemen.otf
+
+fontdir = .
+font_DATA = $(FONT_FILES:%=$(DESTDIR)\%)
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+# $(FCCACHE) $(DESTDIR)
+
+$(DESTDIR)\%.otf: %.otf
+ copy $< $@
diff --git a/xorg-server/fonts.src/Speedo/makefile b/xorg-server/fonts.src/Speedo/makefile
new file mode 100644
index 000000000..e1cf21315
--- /dev/null
+++ b/xorg-server/fonts.src/Speedo/makefile
@@ -0,0 +1,39 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\Speedo
+
+FONT_FILES = \
+ font0419.spd \
+ font0582.spd \
+ font0583.spd \
+ font0611.spd \
+ font0648.spd \
+ font0649.spd \
+ font0709.spd \
+ font0710.spd \
+ fonts.scale
+
+fontdir = .
+font_DATA = $(FONT_FILES:%=$(DESTDIR)\%)
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.dir: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+
+$(DESTDIR)\%.spd: %.spd
+ copy $< $@
+
+$(DESTDIR)\%.scale: %.scale
+ copy $< $@
diff --git a/xorg-server/fonts.src/TTF/makefile b/xorg-server/fonts.src/TTF/makefile
new file mode 100644
index 000000000..c5518f230
--- /dev/null
+++ b/xorg-server/fonts.src/TTF/makefile
@@ -0,0 +1,54 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\TTF
+
+
+FONT_FILES = \
+ luximbi.ttf \
+ luximb.ttf \
+ luximri.ttf \
+ luximr.ttf \
+ luxirbi.ttf \
+ luxirb.ttf \
+ luxirri.ttf \
+ luxirr.ttf \
+ luxisbi.ttf \
+ luxisb.ttf \
+ luxisri.ttf \
+ luxisr.ttf \
+ Vera.ttf \
+ VeraBd.ttf \
+ VeraBI.ttf \
+ VeraIt.ttf \
+ VeraMoBd.ttf \
+ VeraMoBI.ttf \
+ VeraMoIt.ttf \
+ VeraMono.ttf \
+ VeraSe.ttf \
+ VeraSeBd.ttf \
+ GohaTibebZemen.ttf
+
+fontdir = .
+font_DATA = $(FONT_FILES:%=$(DESTDIR)\%)
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+# $(FCCACHE) $(DESTDIR)
+
+$(DESTDIR)\%.ttf: %.ttf
+ copy $< $@
diff --git a/xorg-server/fonts.src/Type1/makefile b/xorg-server/fonts.src/Type1/makefile
new file mode 100644
index 000000000..1c5935cfd
--- /dev/null
+++ b/xorg-server/fonts.src/Type1/makefile
@@ -0,0 +1,93 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\Type1
+
+FONT_FILES = \
+ cursor.pfa \
+ UTB_____.afm \
+ UTBI____.afm \
+ UTBI____.pfa \
+ UTB_____.pfa \
+ UTI_____.afm \
+ UTI_____.pfa \
+ UTRG____.afm \
+ UTRG____.pfa \
+ cour.afm \
+ courb.afm \
+ courbi.afm \
+ courbi.pfa \
+ courb.pfa \
+ couri.afm \
+ couri.pfa \
+ cour.pfa \
+ l047013t.afm \
+ l047013t.pfa \
+ l047016t.afm \
+ l047016t.pfa \
+ l047033t.afm \
+ l047033t.pfa \
+ l047036t.afm \
+ l047036t.pfa \
+ l048013t.afm \
+ l048013t.pfa \
+ l048016t.afm \
+ l048016t.pfa \
+ l048033t.afm \
+ l048033t.pfa \
+ l048036t.afm \
+ l048036t.pfa \
+ l049013t.afm \
+ l049013t.pfa \
+ l049016t.afm \
+ l049016t.pfa \
+ l049033t.afm \
+ l049033t.pfa \
+ l049036t.afm \
+ l049036t.pfa \
+ c0419bt_.afm \
+ c0419bt_.pfb \
+ c0582bt_.afm \
+ c0582bt_.pfb \
+ c0583bt_.afm \
+ c0583bt_.pfb \
+ c0611bt_.afm \
+ c0611bt_.pfb \
+ c0632bt_.afm \
+ c0632bt_.pfb \
+ c0633bt_.afm \
+ c0633bt_.pfb \
+ c0648bt_.afm \
+ c0648bt_.pfb \
+ c0649bt_.afm \
+ c0649bt_.pfb
+
+fontdir = .
+font_DATA = $(FONT_FILES:%=$(DESTDIR)\%)
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+# $(FCCACHE) $(DESTDIR)
+
+$(DESTDIR)\%.afm: %.afm
+ copy $< $@
+
+$(DESTDIR)\%.pfb: %.pfb
+ copy $< $@
+
+$(DESTDIR)\%.pfa: %.pfa
+ copy $< $@
diff --git a/xorg-server/fonts.src/cyrillic/makefile b/xorg-server/fonts.src/cyrillic/makefile
new file mode 100644
index 000000000..f544bba4b
--- /dev/null
+++ b/xorg-server/fonts.src/cyrillic/makefile
@@ -0,0 +1,114 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\cyrillic
+
+FONT_FILES = \
+ proof9x16 \
+ koi12x24b \
+ koi12x24 \
+ koi5x8 \
+ koi6x13b \
+ koi6x13 \
+ koi6x9 \
+ koi7x14b \
+ koi7x14 \
+ koi8x13 \
+ koi8x16b \
+ koi8x16 \
+ koi9x15b \
+ koi9x15 \
+ koi9x18b \
+ koi9x18 \
+ screen8x16b \
+ screen8x16 \
+ crox1cb \
+ crox1c \
+ crox1cbo \
+ crox1co \
+ crox1hb \
+ crox1h \
+ crox1hbo \
+ crox1ho \
+ crox1tb \
+ crox1t \
+ crox1tbo \
+ crox1to \
+ crox2cb \
+ crox2c \
+ crox2cbo \
+ crox2co \
+ crox2hb \
+ crox2h \
+ crox2hbo \
+ crox2ho \
+ crox2tb \
+ crox2t \
+ crox2tbo \
+ crox2to \
+ crox3cb \
+ crox3c \
+ crox3cbo \
+ crox3co \
+ crox3hb \
+ crox3h \
+ crox3hbo \
+ crox3ho \
+ crox3tb \
+ crox3t \
+ crox3tbo \
+ crox3to \
+ crox4hb \
+ crox4h \
+ crox4hbo \
+ crox4ho \
+ crox4tb \
+ crox4t \
+ crox4tbo \
+ crox4to \
+ crox5hb \
+ crox5h \
+ crox5hbo \
+ crox5ho \
+ crox5tb \
+ crox5t \
+ crox5tbo \
+ crox5to \
+ crox6hb \
+ crox6h \
+ crox6hbo \
+ crox6ho \
+ crox6tb \
+ crox6t \
+ crox6tbo \
+ crox6to \
+ koi10x16b \
+ koi10x20 \
+ koi6x10 \
+ koinil2
+
+BDF_FILES = $(FONT_FILES:%=%.bdf)
+PCF_FILES = $(FONT_FILES:%=$(DESTDIR)\%.pcf.gz)
+
+font_DATA = $(PCF_FILES)
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+all: $(DESTDIR) $(MKFONTSCALE) $(DESTDIR)\fonts.dir $(DESTDIR)\fonts.alias
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+
+
+$(DESTDIR)\fonts.alias: fonts.alias
+ copy $< $@
diff --git a/xorg-server/fonts.src/encodings/large/makefile b/xorg-server/fonts.src/encodings/large/makefile
new file mode 100644
index 000000000..0f168d046
--- /dev/null
+++ b/xorg-server/fonts.src/encodings/large/makefile
@@ -0,0 +1,40 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\encodings\large
+
+ENCODING_FILES = \
+ big5.eten-0.enc \
+ big5hkscs-0.enc \
+ cns11643-1.enc \
+ cns11643-2.enc \
+ cns11643-3.enc \
+ gb18030-0.enc \
+ gb18030.2000-0.enc \
+ gb18030.2000-1.enc \
+ gb2312.1980-0.enc \
+ gbk-0.enc \
+ jisx0201.1976-0.enc \
+ jisx0208.1990-0.enc \
+ jisx0212.1990-0.enc \
+ ksc5601.1987-0.enc \
+ ksc5601.1992-3.enc \
+ sun.unicode.india-0.enc
+
+COMPRESSED = $(ENCODING_FILES:%=$(DESTDIR)\%.gz)
+
+DATA_FILES = $(COMPRESSED)
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+all: $(DESTDIR)\encodings.dir
+
+$(DESTDIR)\encodings.dir: $(DATA_FILES) $(MKFONTSCALE)
+ cd "$(DESTDIR)" & $(MKFONTSCALE) -b -s -l -n -r -p .\large -e . .
+
+
diff --git a/xorg-server/fonts.src/encodings/makefile b/xorg-server/fonts.src/encodings/makefile
new file mode 100644
index 000000000..548d56ce5
--- /dev/null
+++ b/xorg-server/fonts.src/encodings/makefile
@@ -0,0 +1,63 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+load_makefile large\makefile MAKESERVER=0 DEBUG=0
+
+INC_BDF_RULES=1
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\encodings
+
+ENCODING_FILES = \
+ adobe-dingbats.enc \
+ adobe-standard.enc \
+ adobe-symbol.enc \
+ armscii-8.enc \
+ ascii-0.enc \
+ dec-special.enc \
+ ibm-cp437.enc \
+ ibm-cp850.enc \
+ ibm-cp852.enc \
+ ibm-cp866.enc \
+ iso8859-11.enc \
+ iso8859-13.enc \
+ iso8859-16.enc \
+ iso8859-6.16.enc \
+ iso8859-6.8x.enc \
+ microsoft-cp1250.enc \
+ microsoft-cp1251.enc \
+ microsoft-cp1252.enc \
+ microsoft-cp1253.enc \
+ microsoft-cp1254.enc \
+ microsoft-cp1255.enc \
+ microsoft-cp1256.enc \
+ microsoft-cp1257.enc \
+ microsoft-cp1258.enc \
+ microsoft-win3.1.enc \
+ mulearabic-0.enc \
+ mulearabic-1.enc \
+ mulearabic-2.enc \
+ mulelao-1.enc \
+ suneu-greek.enc \
+ tcvn-0.enc \
+ tis620-2.enc \
+ viscii1.1-1.enc
+
+COMPRESSED = $(ENCODING_FILES:%=$(DESTDIR)\%.gz)
+
+DATA_FILES = $(COMPRESSED)
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\encodings.dir: $(DATA_FILES) $(DESTDIR)\large\encodings.dir $(MKFONTSCALE)
+ cd "$(DESTDIR)" & $(MKFONTSCALE) -b -s -l -n -r -p . -e . -e large .
+
+all: $(DESTDIR)\encodings.dir
+
+.PHONY: cleanthis
+cleanthis:
+ del -e $(DESTDIR)
+
+clean: cleanthis
+
diff --git a/xorg-server/fonts.src/font-util/makefile b/xorg-server/fonts.src/font-util/makefile
new file mode 100644
index 000000000..13e196a03
--- /dev/null
+++ b/xorg-server/fonts.src/font-util/makefile
@@ -0,0 +1,5 @@
+TTYAPP = ucs2any
+
+CSRCS = ucs2any.c
+
+DEFINES += NEED_BASENAME
diff --git a/xorg-server/fonts.src/fonts.conf b/xorg-server/fonts.src/fonts.conf
new file mode 100644
index 000000000..9e6ec7487
--- /dev/null
+++ b/xorg-server/fonts.src/fonts.conf
@@ -0,0 +1,118 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+<!--
+ Accept deprecated 'mono' alias, replacing it with 'monospace'
+-->
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>mono</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>monospace</string>
+ </edit>
+ </match>
+
+<!--
+ Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
+-->
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>sans serif</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>sans-serif</string>
+ </edit>
+ </match>
+
+<!--
+ Accept deprecated 'sans' alias, replacing it with 'sans-serif'
+-->
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>sans</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>sans-serif</string>
+ </edit>
+ </match>
+
+<!-- Font cache directory list -->
+
+ <config>
+<!--
+ These are the default Unicode chars that are expected to be blank
+ in fonts. All other blank chars are assumed to be broken and
+ won't appear in the resulting charsets
+ -->
+ <blank>
+ <int>0x0020</int> <!-- SPACE -->
+ <int>0x00A0</int> <!-- NO-BREAK SPACE -->
+ <int>0x00AD</int> <!-- SOFT HYPHEN -->
+ <int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
+ <int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
+ <int>0x0601</int> <!-- ARABIC SIGN SANAH -->
+ <int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
+ <int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
+ <int>0x06DD</int> <!-- ARABIC END OF AYAH -->
+ <int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
+ <int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
+ <int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
+ <int>0x1680</int> <!-- OGHAM SPACE MARK -->
+ <int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
+ <int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
+ <int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
+ <int>0x2000</int> <!-- EN QUAD -->
+ <int>0x2001</int> <!-- EM QUAD -->
+ <int>0x2002</int> <!-- EN SPACE -->
+ <int>0x2003</int> <!-- EM SPACE -->
+ <int>0x2004</int> <!-- THREE-PER-EM SPACE -->
+ <int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
+ <int>0x2006</int> <!-- SIX-PER-EM SPACE -->
+ <int>0x2007</int> <!-- FIGURE SPACE -->
+ <int>0x2008</int> <!-- PUNCTUATION SPACE -->
+ <int>0x2009</int> <!-- THIN SPACE -->
+ <int>0x200A</int> <!-- HAIR SPACE -->
+ <int>0x200B</int> <!-- ZERO WIDTH SPACE -->
+ <int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
+ <int>0x200D</int> <!-- ZERO WIDTH JOINER -->
+ <int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
+ <int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
+ <int>0x2028</int> <!-- LINE SEPARATOR -->
+ <int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
+ <int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
+ <int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
+ <int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
+ <int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
+ <int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
+ <int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
+ <int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
+ <int>0x2060</int> <!-- WORD JOINER -->
+ <int>0x2061</int> <!-- FUNCTION APPLICATION -->
+ <int>0x2062</int> <!-- INVISIBLE TIMES -->
+ <int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
+ <int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
+ <int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
+ <int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
+ <int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
+ <int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
+ <int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
+ <int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
+ <int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
+ <int>0x3164</int> <!-- HANGUL FILLER -->
+ <int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
+ <int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
+ <int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
+ <int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
+ <int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
+ </blank>
+<!--
+ Rescan configuration every 30 seconds when FcFontSetList is called
+ -->
+ <rescan>
+ <int>30</int>
+ </rescan>
+ </config>
+
+</fontconfig>
diff --git a/xorg-server/fonts.src/makefile b/xorg-server/fonts.src/makefile
new file mode 100644
index 000000000..6a89ffe17
--- /dev/null
+++ b/xorg-server/fonts.src/makefile
@@ -0,0 +1,8 @@
+SUBDIRS=font-util 75dpi 100dpi cyrillic encodings misc OTF Speedo TTF Type1 terminus-font
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts
+
+all: $(DESTDIR)\fonts.conf
+
+$(DESTDIR)\fonts.conf: $(DESTDIR) fonts.conf
+ copy fonts.conf $@
diff --git a/xorg-server/fonts.src/misc/makefile b/xorg-server/fonts.src/misc/makefile
new file mode 100644
index 000000000..95d736477
--- /dev/null
+++ b/xorg-server/fonts.src/misc/makefile
@@ -0,0 +1,345 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+INC_BDF_RULES=1
+
+UTIL_DIR = ..\font-util
+
+load_makefile $(UTIL_DIR)\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+UCS2ANY = $(UTIL_DIR)\$(OBJDIR)\ucs2any.exe
+
+ # The following rule is to avoid parallel build problems
+.PHONY: buildtoolsfirst
+buildtoolsfirst: $(BDFTOPCF) $(UCS2ANY)
+
+all: buildtoolsfirst
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\misc
+
+BDF2UCS_FONT_FILES = \
+ clR6x12 \
+ 4x6 \
+ 5x7 \
+ 5x8 \
+ 6x9 \
+ 6x10 \
+ 6x12 \
+ 6x13 \
+ 6x13B \
+ 6x13O \
+ 7x13 \
+ 7x13B \
+ 7x13O \
+ 7x14 \
+ 7x14B \
+ 8x13 \
+ 8x13B \
+ 8x13O \
+ 9x15 \
+ 9x15B \
+ 9x18 \
+ 9x18B \
+ 10x20
+BDF2UCS_8_FONT_FILES = \
+ clR6x12 \
+ 4x6 \
+ 5x7 \
+ 5x8 \
+ 6x9 \
+ 6x10 \
+ 6x12 \
+ 6x13 \
+ 6x13B \
+ 7x13 \
+ 7x13B \
+ 7x14 \
+ 7x14B \
+ 8x13 \
+ 8x13B \
+ 9x15 \
+ 9x15B \
+ 9x18 \
+ 9x18B \
+ 10x20
+BDF2UCS_11_FONT_FILES = \
+ 6x13 \
+ 7x13 \
+ 7x13B \
+ 7x13O \
+ 7x14 \
+ 7x14B \
+ 9x15 \
+ 9x15B \
+ 9x18 \
+ 10x20
+BDF2UCS_KOI8_FONT_FILES = \
+ clR6x12 \
+ 4x6 \
+ 5x7 \
+ 5x8 \
+ 6x9 \
+ 6x10 \
+ 6x12 \
+ 6x13 \
+ 7x13 \
+ 7x14 \
+ 8x13 \
+ 9x15 \
+ 9x18 \
+ 10x20
+BDF2UCS_JISX0201_FONT_FILES = \
+ 7x14
+EXTRA_FONT_FILES = \
+ 12x13ja \
+ 18x18ja \
+ 18x18ko \
+ k14 \
+ nil2 \
+ micro \
+ jiskan16 \
+ jiskan24 \
+ gb16fs \
+ gb16st \
+ gb24st \
+ deccurs \
+ decsess \
+ arabic24 \
+ cursor \
+ hanglg16 \
+ hanglm16 \
+ hanglm24 \
+ cu12 \
+ cu-alt12 \
+ cu-arabic12 \
+ cuarabic12 \
+ cu-devnag12 \
+ cudevnag12 \
+ cu-lig12 \
+ cu-pua12 \
+ clB6x10 \
+ clB6x12 \
+ clB8x10 \
+ clB8x12 \
+ clB8x13 \
+ clB8x14 \
+ clB8x16 \
+ clB8x8 \
+ clB9x15 \
+ clI6x12 \
+ clI8x8 \
+ clR4x6 \
+ clR5x10 \
+ clR5x6 \
+ clR5x8 \
+ clR6x10 \
+ clR6x13 \
+ clR6x6 \
+ clR6x8 \
+ clR7x10 \
+ clR7x12 \
+ clR7x14 \
+ clR7x8 \
+ clR8x10 \
+ clR8x12 \
+ clR8x13 \
+ clR8x14 \
+ clR8x16 \
+ clR8x8 \
+ clR9x15 \
+ 12x24 \
+ 12x24rk \
+ 8x16 \
+ 8x16rk \
+ olcursor \
+ olgl10 \
+ olgl12 \
+ olgl14 \
+ olgl19
+
+FONT_FILES = $(BDF2UCS_FONT_FILES) $(EXTRA_FONT_FILES)
+
+BDF_FILES = $(FONT_FILES:%=%.bdf)
+PCF_FILES = $(FONT_FILES:%=$(DESTDIR)\%.pcf.gz)
+
+ISO8859_1_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-1.pcf.gz)
+
+ISO8859_2_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-2.pcf.gz)
+
+ISO8859_3_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-3.pcf.gz)
+
+ISO8859_4_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-4.pcf.gz)
+
+ISO8859_5_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-5.pcf.gz)
+
+ISO8859_7_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-7.pcf.gz)
+
+ISO8859_8_PCF_FILES = $(BDF2UCS_8_FONT_FILES:%=$(DESTDIR)\%-ISO8859-8.pcf.gz)
+
+ISO8859_9_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-9.pcf.gz)
+
+ISO8859_10_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-10.pcf.gz)
+
+ISO8859_11_PCF_FILES = $(BDF2UCS_11_FONT_FILES:%=$(DESTDIR)\%-ISO8859-11.pcf.gz)
+
+ISO8859_13_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-13.pcf.gz)
+
+ISO8859_14_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-14.pcf.gz)
+
+ISO8859_15_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-15.pcf.gz)
+
+ISO8859_16_PCF_FILES = $(BDF2UCS_FONT_FILES:%=$(DESTDIR)\%-ISO8859-16.pcf.gz)
+
+KOI8_R_PCF_FILES = $(BDF2UCS_KOI8_FONT_FILES:%=$(DESTDIR)\%-KOI8-R.pcf.gz)
+
+JISX0201_PCF_FILES = $(BDF2UCS_JISX0201_FONT_FILES:%=$(DESTDIR)\%-JISX0201.1976-0.pcf.gz)
+
+$(DESTDIR)\%-ISO8859-1.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-1.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-1 ISO8859-1
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-1.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-1.bdf)
+
+$(DESTDIR)\%-ISO8859-2.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-2.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-2 ISO8859-2
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-2.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-2.bdf)
+
+$(DESTDIR)\%-ISO8859-3.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-3.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-3 ISO8859-3
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-3.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-3.bdf)
+
+$(DESTDIR)\%-ISO8859-4.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-4.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-4 ISO8859-4
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-4.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-4.bdf)
+
+$(DESTDIR)\%-ISO8859-5.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-5.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-5 ISO8859-5
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-5.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-5.bdf)
+
+$(DESTDIR)\%-ISO8859-7.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-7.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-7 ISO8859-7
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-7.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-7.bdf)
+
+$(DESTDIR)\%-ISO8859-8.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-8.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-8 ISO8859-8
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-8.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-8.bdf)
+
+$(DESTDIR)\%-ISO8859-9.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-9.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-9 ISO8859-9
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-9.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-9.bdf)
+
+$(DESTDIR)\%-ISO8859-10.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-10.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-10 ISO8859-10
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-10.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-10.bdf)
+
+$(DESTDIR)\%-ISO8859-11.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-11.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-11 ISO8859-11
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-11.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-11.bdf)
+
+$(DESTDIR)\%-ISO8859-13.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-13.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-13 ISO8859-13
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-13.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-13.bdf)
+
+$(DESTDIR)\%-ISO8859-14.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-14.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-14 ISO8859-14
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-14.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-14.bdf)
+
+$(DESTDIR)\%-ISO8859-15.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-15.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-15 ISO8859-15
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-15.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-15.bdf)
+
+$(DESTDIR)\%-ISO8859-16.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-ISO8859-16.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-ISO8859-16 ISO8859-16
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-ISO8859-16.bdf) | gzip > $@
+ @del $(<:%.bdf=%-ISO8859-16.bdf)
+
+$(DESTDIR)\%-KOI8-R.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-KOI8-R.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-KOI8-R KOI8-R
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-KOI8-R.bdf) | gzip > $@
+ @del $(<:%.bdf=%-KOI8-R.bdf)
+
+$(DESTDIR)\%-JISX0201.1976-0.pcf.gz: %.bdf
+ @del -e $(<:%.bdf=%-JISX0201.1976-0.bdf)
+ $(UCS2ANY) $< $(UTIL_DIR)\map-JISX0201.1976-0 JISX0201.1976-0
+ @del -e $@
+ $(BDFTOPCF) -t $(<:%.bdf=%-JISX0201.1976-0.bdf) | gzip > $@
+ @del $(<:%.bdf=%-JISX0201.1976-0.bdf)
+
+font_DATA = \
+ $(PCF_FILES) \
+ $(ISO8859_1_PCF_FILES) \
+ $(ISO8859_2_PCF_FILES) \
+ $(ISO8859_3_PCF_FILES) \
+ $(ISO8859_4_PCF_FILES) \
+ $(ISO8859_5_PCF_FILES) \
+ $(ISO8859_7_PCF_FILES) \
+ $(ISO8859_8_PCF_FILES) \
+ $(ISO8859_9_PCF_FILES) \
+ $(ISO8859_10_PCF_FILES) \
+ $(ISO8859_11_PCF_FILES) \
+ $(ISO8859_13_PCF_FILES) \
+ $(ISO8859_14_PCF_FILES) \
+ $(ISO8859_15_PCF_FILES) \
+ $(ISO8859_16_PCF_FILES) \
+ $(KOI8_R_PCF_FILES) \
+ $(JISX0201_PCF_FILES)
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir $(DESTDIR)\fonts.alias
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
+
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
+
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
+
+$(DESTDIR)\fonts.alias: fonts.alias
+ copy $< $@
+
diff --git a/xorg-server/fonts.src/terminus-font/Makefile b/xorg-server/fonts.src/terminus-font/Makefile
index 727e99277..c8cb4f0fc 100644
--- a/xorg-server/fonts.src/terminus-font/Makefile
+++ b/xorg-server/fonts.src/terminus-font/Makefile
@@ -1,11 +1,18 @@
-PERL = perl
-AWK = awk
-UCS2VGA = $(PERL) ./ucstoany.pl +f
-UNI2TXT = $(AWK) '{ printf("0x%02X\tU+%s\n", FNR-1, $$1) }'
-BDF2PSF = $(PERL) ./bdftopsf.pl +u
-BDF2RAW = $(PERL) ./bdftopsf.pl -h
-UCS2X11 = $(PERL) ./ucstoany.pl
-BDF2PCF = bdftopcf
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+UCS2ANY = perl ucstoany.pl
+
+INC_BDF_RULES=1
+
+ # The following rule is to avoid parallel build problems
+.PHONY: buildtoolsfirst
+buildtoolsfirst: $(BDFTOPCF)
+
+all: buildtoolsfirst
+
+DESTDIR=$(MHMAKECONF)\xorg-server\fonts\terminus-font
R_88591 = ISO8859 1
R_88592 = ISO8859 2
@@ -25,37 +32,6 @@ R_PT254 = Paratype PT254
R_XOS42 = XOS4 2
R_10646 = ISO10646 1
-PSF_12N = ter-112n.psf ter-212n.psf ter-712n.psf ter-912n.psf ter-c12n.psf ter-d12n.psf ter-g12n.psf ter-i12n.psf ter-k12n.psf ter-m12n.psf ter-p12n.psf ter-u12n.psf ter-v12n.psf
-PSF_14N = ter-114n.psf ter-214n.psf ter-714n.psf ter-914n.psf ter-c14n.psf ter-d14n.psf ter-g14n.psf ter-i14n.psf ter-k14n.psf ter-m14n.psf ter-p14n.psf ter-u14n.psf ter-v14n.psf
-PSF_14B = ter-114b.psf ter-214b.psf ter-714b.psf ter-914b.psf ter-c14b.psf ter-d14b.psf ter-g14b.psf ter-i14b.psf ter-k14b.psf ter-m14b.psf ter-p14b.psf ter-u14b.psf ter-v14b.psf
-PSF_14F = ter-114f.psf ter-214f.psf ter-714f.psf ter-914f.psf ter-c14f.psf ter-d14f.psf ter-g14f.psf ter-i14f.psf ter-k14f.psf ter-m14f.psf ter-p14f.psf ter-u14f.psf ter-v14f.psf
-PSF_16N = ter-116n.psf ter-216n.psf ter-716n.psf ter-916n.psf ter-c16n.psf ter-d16n.psf ter-g16n.psf ter-i16n.psf ter-k16n.psf ter-m16n.psf ter-p16n.psf ter-u16n.psf ter-v16n.psf
-PSF_16B = ter-116b.psf ter-216b.psf ter-716b.psf ter-916b.psf ter-c16b.psf ter-d16b.psf ter-g16b.psf ter-i16b.psf ter-k16b.psf ter-m16b.psf ter-p16b.psf ter-u16b.psf ter-v16b.psf
-PSF_16F = ter-116f.psf ter-216f.psf ter-716f.psf ter-916f.psf ter-c16f.psf ter-d16f.psf ter-g16f.psf ter-i16f.psf ter-k16f.psf ter-m16f.psf ter-p16f.psf ter-u16f.psf ter-v16f.psf
-PSF_20N = ter-120n.psf ter-220n.psf ter-720n.psf ter-920n.psf ter-c20n.psf ter-d20n.psf ter-g20n.psf ter-i20n.psf ter-k20n.psf ter-m20n.psf ter-p20n.psf ter-u20n.psf ter-v20n.psf
-PSF_20B = ter-120b.psf ter-220b.psf ter-720b.psf ter-920b.psf ter-c20b.psf ter-d20b.psf ter-g20b.psf ter-i20b.psf ter-k20b.psf ter-m20b.psf ter-p20b.psf ter-u20b.psf ter-v20b.psf
-PSF_22N = ter-122n.psf ter-222n.psf ter-722n.psf ter-922n.psf ter-c22n.psf ter-d22n.psf ter-g22n.psf ter-i22n.psf ter-k22n.psf ter-m22n.psf ter-p22n.psf ter-u22n.psf ter-v22n.psf
-PSF_22B = ter-122b.psf ter-222b.psf ter-722b.psf ter-922b.psf ter-c22b.psf ter-d22b.psf ter-g22b.psf ter-i22b.psf ter-k22b.psf ter-m22b.psf ter-p22b.psf ter-u22b.psf ter-v22b.psf
-PSF_24N = ter-124n.psf ter-224n.psf ter-724n.psf ter-924n.psf ter-c24n.psf ter-d24n.psf ter-g24n.psf ter-i24n.psf ter-k24n.psf ter-m24n.psf ter-p24n.psf ter-u24n.psf ter-v24n.psf
-PSF_24B = ter-124b.psf ter-224b.psf ter-724b.psf ter-924b.psf ter-c24b.psf ter-d24b.psf ter-g24b.psf ter-i24b.psf ter-k24b.psf ter-m24b.psf ter-p24b.psf ter-u24b.psf ter-v24b.psf
-PSF_28N = ter-128n.psf ter-228n.psf ter-728n.psf ter-928n.psf ter-c28n.psf ter-d28n.psf ter-g28n.psf ter-i28n.psf ter-k28n.psf ter-m28n.psf ter-p28n.psf ter-u28n.psf ter-v28n.psf
-PSF_28B = ter-128b.psf ter-228b.psf ter-728b.psf ter-928b.psf ter-c28b.psf ter-d28b.psf ter-g28b.psf ter-i28b.psf ter-k28b.psf ter-m28b.psf ter-p28b.psf ter-u28b.psf ter-v28b.psf
-PSF_32N = ter-132n.psf ter-232n.psf ter-732n.psf ter-932n.psf ter-c32n.psf ter-d32n.psf ter-g32n.psf ter-i32n.psf ter-k32n.psf ter-m32n.psf ter-p32n.psf ter-u32n.psf ter-v32n.psf
-PSF_32B = ter-132b.psf ter-232b.psf ter-732b.psf ter-932b.psf ter-c32b.psf ter-d32b.psf ter-g32b.psf ter-i32b.psf ter-k32b.psf ter-m32b.psf ter-p32b.psf ter-u32b.psf ter-v32b.psf
-PSF = $(PSF_12N) $(PSF_14N) $(PSF_14B) $(PSF_14F) $(PSF_16N) $(PSF_16B) $(PSF_16F) $(PSF_20N) $(PSF_20B) $(PSF_22N) $(PSF_22B) $(PSF_24N) $(PSF_24B) $(PSF_28N) $(PSF_28B) $(PSF_32N) $(PSF_32B)
-
-TXT_WIN = cp1252.txt cp1250.txt cp1253.txt cp1254.txt cp1251.txt cp1257.txt pt154.txt
-TXT_MIX = 8859-16.txt cp437.txt koi8-r.txt koi8-u.txt mik.txt pt254.txt
-TXT = $(TXT_WIN) $(TXT_MIX)
-
-RAW_14N = ter-114n.raw ter-214n.raw ter-514n.raw ter-714n.raw ter-914n.raw ter-c14n.raw ter-d14n.raw ter-f14n.raw ter-g14n.raw ter-i14n.raw ter-k14n.raw ter-p14n.raw ter-u14n.raw
-RAW_14B = ter-114b.raw ter-214b.raw ter-514b.raw ter-714b.raw ter-914b.raw ter-c14b.raw ter-d14b.raw ter-f14b.raw ter-g14b.raw ter-i14b.raw ter-k14b.raw ter-p14b.raw ter-u14b.raw
-RAW_14F = ter-114f.raw ter-214f.raw ter-514f.raw ter-714f.raw ter-914f.raw ter-c14f.raw ter-d14f.raw ter-f14f.raw ter-g14f.raw ter-i14f.raw ter-k14f.raw ter-p14f.raw ter-u14f.raw
-RAW_16N = ter-116n.raw ter-216n.raw ter-516n.raw ter-716n.raw ter-916n.raw ter-c16n.raw ter-d16n.raw ter-f16n.raw ter-g16n.raw ter-i16n.raw ter-k16n.raw ter-p16n.raw ter-u16n.raw
-RAW_16B = ter-116b.raw ter-216b.raw ter-516b.raw ter-716b.raw ter-916b.raw ter-c16b.raw ter-d16b.raw ter-f16b.raw ter-g16b.raw ter-i16b.raw ter-k16b.raw ter-p16b.raw ter-u16b.raw
-RAW_16F = ter-116f.raw ter-216f.raw ter-516f.raw ter-716f.raw ter-916f.raw ter-c16f.raw ter-d16f.raw ter-f16f.raw ter-g16f.raw ter-i16f.raw ter-k16f.raw ter-p16f.raw ter-u16f.raw
-RAW = $(RAW_14N) $(RAW_14B) $(RAW_14F) $(RAW_16N) $(RAW_16B) $(RAW_16F)
-
PCF_12N = ter-112n.pcf ter-212n.pcf ter-512n.pcf ter-712n.pcf ter-912n.pcf ter-c12n.pcf ter-d12n.pcf ter-f12n.pcf ter-g12n.pcf ter-k12n.pcf ter-p12n.pcf ter-u12n.pcf ter-x12n.pcf
PCF_12B = ter-112b.pcf ter-212b.pcf ter-512b.pcf ter-712b.pcf ter-912b.pcf ter-c12b.pcf ter-d12b.pcf ter-f12b.pcf ter-g12b.pcf ter-k12b.pcf ter-p12b.pcf ter-u12b.pcf ter-x12b.pcf
PCF_14N = ter-114n.pcf ter-214n.pcf ter-514n.pcf ter-714n.pcf ter-914n.pcf ter-c14n.pcf ter-d14n.pcf ter-f14n.pcf ter-g14n.pcf ter-k14n.pcf ter-p14n.pcf ter-u14n.pcf ter-x14n.pcf
@@ -75,1099 +51,6 @@ PCF_32B = ter-132b.pcf ter-232b.pcf ter-532b.pcf ter-732b.pcf ter-932b.pcf ter-c
PCF = $(PCF_12N) $(PCF_12B) $(PCF_14N) $(PCF_14B) $(PCF_16N) $(PCF_16B) $(PCF_20N) $(PCF_20B) $(PCF_22N) $(PCF_22B) $(PCF_24N) $(PCF_24B) $(PCF_28N) $(PCF_28B) $(PCF_32N) $(PCF_32B)
PCF_N12 = $(PCF_12N) $(PCF_14N) $(PCF_14B) $(PCF_16N) $(PCF_16B) $(PCF_20N) $(PCF_20B) $(PCF_22N) $(PCF_22B) $(PCF_24N) $(PCF_24B) $(PCF_28N) $(PCF_28B) $(PCF_32N) $(PCF_32B)
-EEE = ter-x12n.pcf ter-x12b.pcf ter-x14n.pcf ter-x14b.pcf ter-x16n.pcf ter-x16b.pcf ter-x20n.pcf ter-x20b.pcf ter-x22n.pcf ter-x22b.pcf
-EEE_N12 = ter-x12n.pcf ter-x14n.pcf ter-x14b.pcf ter-x16n.pcf ter-x16b.pcf ter-x20n.pcf ter-x20b.pcf ter-x22n.pcf ter-x22b.pcf
-
-all: $(PSF) $(PCF)
-psf: $(PSF)
-txt: $(TXT)
-raw: $(RAW)
-pcf: $(PCF)
-n12: $(PCF_N12)
-eee: $(EEE)
-e12: $(EEE_N12)
-
-DESTDIR =
-prefix = /usr/local
-psfdir = $(prefix)/share/consolefonts
-x11dir = $(prefix)/share/fonts/terminus
-
-install: $(PSF) $(PCF)
- mkdir -p $(DESTDIR)$(psfdir)
- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
- mkdir -p $(DESTDIR)$(x11dir)
- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
-
-uninstall:
- for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
- for i in $(PCF) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done
-
-fontdir:
- mkfontscale $(DESTDIR)$(x11dir)
- mkfontdir $(DESTDIR)$(x11dir)
- fc-cache $(DESTDIR)$(x11dir)
-
-V_88591 = uni/vgagr.uni uni/ascii-h.uni uni/win-1252.uni
-V_88592 = uni/vgagr.uni uni/ascii-h.uni uni/vga-1250.uni uni/8859-2.uni
-V_88597 = uni/vgagr.uni uni/ascii-h.uni uni/vga-1253.uni uni/8859-7.uni
-V_88599 = uni/vgagr.uni uni/ascii-h.uni uni/win-1254.uni
-V_W1251 = uni/vgagr.uni uni/ascii-h.uni uni/vga-1251.uni uni/win-1251.uni
-V_8859D = uni/vgagr.uni uni/ascii-h.uni uni/vga-1257.uni uni/8859-13.uni
-V_8859G = uni/vgagr.uni uni/ascii-h.uni uni/nls-1250.uni uni/8859-16.uni
-V_PCIBM = uni/cntrl.uni uni/ascii-h.uni uni/ibm-437.uni
-V_KOI8R = uni/cntrl.uni uni/ascii-h.uni uni/koibm8-r.uni
-F_KOI8R = uni/cntrl.uni uni/ascii-h.uni uni/koi8-r.uni
-V_KOI8U = uni/cntrl.uni uni/ascii-h.uni uni/koibm8-u.uni
-F_KOI8U = uni/cntrl.uni uni/ascii-h.uni uni/koi8-u.uni
-V_BGMIK = uni/cntrl.uni uni/ascii-h.uni uni/bg-mik.uni
-V_PT154 = uni/vgagr.uni uni/ascii-h.uni uni/pt-154.uni
-V_XOS42 = uni/xos4-2.uni
-
-D_88591 = dup/vgagr.dup dup/ascii-h.dup
-D_88592 = dup/vgagr.dup dup/ascii-h.dup
-D_88597 = dup/vgagr.dup dup/ascii-h.dup
-D_88599 = dup/vgagr.dup dup/ascii-h.dup
-D_W1251 = dup/vgagr.dup dup/ascii-h.dup
-D_8859D = dup/vgagr.dup dup/ascii-h.dup
-D_8859G = dup/vgagr.dup dup/ascii-h.dup
-D_PCIBM = dup/cntrl.dup dup/ascii-h.dup dup/ibm-437.dup
-D_KOI8R = dup/cntrl.dup dup/ascii-h.dup dup/koi8.dup
-D_KOI8U = dup/cntrl.dup dup/ascii-h.dup dup/koi8.dup
-D_BGMIK = dup/cntrl.dup dup/ascii-h.dup dup/ibm-437.dup
-D_PT154 = dup/vgagr.dup dup/ascii-h.dup
-D_XOS42 = dup/vgagr.dup dup/xos4-2.dup
-
-ter-112n.psf: ter-u12n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u12n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-212n.psf: ter-u12n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u12n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-712n.psf: ter-u12n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u12n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-912n.psf: ter-u12n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u12n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c12n.psf: ter-u12n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u12n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d12n.psf: ter-u12n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u12n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g12n.psf: ter-u12n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u12n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i12n.psf: ter-u12n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u12n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k12n.psf: ter-u12n.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u12n.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m12n.psf: ter-u12n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u12n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p12n.psf: ter-u12n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u12n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u12n.psf: ter-u12n.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u12n.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v12n.psf: ter-u12n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u12n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-114n.psf: ter-u14n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u14n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-114b.psf: ter-u14v.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u14v.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-114f.psf: ter-u14b.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u14b.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-214n.psf: ter-u14n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u14n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-214b.psf: ter-u14v.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u14v.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-214f.psf: ter-u14b.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u14b.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-714n.psf: ter-u14n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u14n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-714b.psf: ter-u14v.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u14v.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-714f.psf: ter-u14b.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u14b.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-914n.psf: ter-u14n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u14n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-914b.psf: ter-u14v.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u14v.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-914f.psf: ter-u14b.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u14b.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c14n.psf: ter-u14n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u14n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c14b.psf: ter-u14v.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u14v.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c14f.psf: ter-u14b.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u14b.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d14n.psf: ter-u14n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u14n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d14b.psf: ter-u14v.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u14v.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d14f.psf: ter-u14b.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u14b.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g14n.psf: ter-u14n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u14n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g14b.psf: ter-u14v.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u14v.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g14f.psf: ter-u14b.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u14b.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i14n.psf: ter-u14n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u14n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i14b.psf: ter-u14v.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u14v.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i14f.psf: ter-u14b.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u14b.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k14n.psf: ter-u14n.bdf $(V_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u14n.bdf $(R_KOI8R) $(V_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k14b.psf: ter-u14v.bdf $(V_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u14v.bdf $(R_KOI8R) $(V_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k14f.psf: ter-u14b.bdf $(V_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u14b.bdf $(R_KOI8R) $(V_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m14n.psf: ter-u14n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u14n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m14b.psf: ter-u14v.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u14v.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m14f.psf: ter-u14b.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u14b.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p14n.psf: ter-u14n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u14n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p14b.psf: ter-u14v.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u14v.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p14f.psf: ter-u14b.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u14b.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u14n.psf: ter-u14n.bdf $(V_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u14n.bdf $(R_KOI8U) $(V_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u14b.psf: ter-u14v.bdf $(V_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u14v.bdf $(R_KOI8U) $(V_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u14f.psf: ter-u14b.bdf $(V_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u14b.bdf $(R_KOI8U) $(V_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v14n.psf: ter-u14n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u14n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v14b.psf: ter-u14v.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u14v.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v14f.psf: ter-u14b.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u14b.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-116n.psf: ter-u16n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u16n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-116b.psf: ter-u16v.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u16v.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-116f.psf: ter-u16b.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u16b.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-216n.psf: ter-u16n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u16n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-216b.psf: ter-u16v.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u16v.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-216f.psf: ter-u16b.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u16b.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-716n.psf: ter-u16n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u16n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-716b.psf: ter-u16v.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u16v.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-716f.psf: ter-u16b.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u16b.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-916n.psf: ter-u16n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u16n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-916b.psf: ter-u16v.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u16v.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-916f.psf: ter-u16b.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u16b.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c16n.psf: ter-u16n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u16n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c16b.psf: ter-u16v.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u16v.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c16f.psf: ter-u16b.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u16b.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d16n.psf: ter-u16n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u16n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d16b.psf: ter-u16v.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u16v.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d16f.psf: ter-u16b.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u16b.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g16n.psf: ter-u16n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u16n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g16b.psf: ter-u16v.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u16v.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g16f.psf: ter-u16b.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u16b.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i16n.psf: ter-u16n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u16n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i16b.psf: ter-u16v.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u16v.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i16f.psf: ter-u16b.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u16b.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k16n.psf: ter-u16n.bdf $(V_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u16n.bdf $(R_KOI8R) $(V_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k16b.psf: ter-u16v.bdf $(V_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u16v.bdf $(R_KOI8R) $(V_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k16f.psf: ter-u16b.bdf $(V_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u16b.bdf $(R_KOI8R) $(V_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m16n.psf: ter-u16n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u16n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m16b.psf: ter-u16v.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u16v.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m16f.psf: ter-u16b.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u16b.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p16n.psf: ter-u16n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u16n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p16b.psf: ter-u16v.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u16v.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p16f.psf: ter-u16b.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u16b.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u16n.psf: ter-u16n.bdf $(V_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u16n.bdf $(R_KOI8U) $(V_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u16b.psf: ter-u16v.bdf $(V_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u16v.bdf $(R_KOI8U) $(V_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u16f.psf: ter-u16b.bdf $(V_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u16b.bdf $(R_KOI8U) $(V_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v16n.psf: ter-u16n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u16n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v16b.psf: ter-u16v.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u16v.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v16f.psf: ter-u16b.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u16b.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-120n.psf: ter-u20n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u20n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-120b.psf: ter-u20b.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u20b.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-220n.psf: ter-u20n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u20n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-220b.psf: ter-u20b.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u20b.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-720n.psf: ter-u20n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u20n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-720b.psf: ter-u20b.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u20b.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-920n.psf: ter-u20n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u20n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-920b.psf: ter-u20b.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u20b.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c20n.psf: ter-u20n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u20n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c20b.psf: ter-u20b.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u20b.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d20n.psf: ter-u20n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u20n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d20b.psf: ter-u20b.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u20b.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g20n.psf: ter-u20n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u20n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g20b.psf: ter-u20b.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u20b.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i20n.psf: ter-u20n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u20n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i20b.psf: ter-u20b.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u20b.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k20n.psf: ter-u20n.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u20n.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k20b.psf: ter-u20b.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u20b.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m20n.psf: ter-u20n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u20n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m20b.psf: ter-u20b.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u20b.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p20n.psf: ter-u20n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u20n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p20b.psf: ter-u20b.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u20b.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u20n.psf: ter-u20n.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u20n.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u20b.psf: ter-u20b.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u20b.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v20n.psf: ter-u20n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u20n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v20b.psf: ter-u20b.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u20b.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-122n.psf: ter-u22n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u22n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-122b.psf: ter-u22b.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u22b.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-222n.psf: ter-u22n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u22n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-222b.psf: ter-u22b.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u22b.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-722n.psf: ter-u22n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u22n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-722b.psf: ter-u22b.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u22b.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-922n.psf: ter-u22n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u22n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-922b.psf: ter-u22b.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u22b.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c22n.psf: ter-u22n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u22n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c22b.psf: ter-u22b.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u22b.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d22n.psf: ter-u22n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u22n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d22b.psf: ter-u22b.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u22b.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g22n.psf: ter-u22n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u22n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g22b.psf: ter-u22b.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u22b.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i22n.psf: ter-u22n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u22n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i22b.psf: ter-u22b.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u22b.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k22n.psf: ter-u22n.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u22n.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k22b.psf: ter-u22b.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u22b.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m22n.psf: ter-u22n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u22n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m22b.psf: ter-u22b.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u22b.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p22n.psf: ter-u22n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u22n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p22b.psf: ter-u22b.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u22b.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u22n.psf: ter-u22n.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u22n.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u22b.psf: ter-u22b.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u22b.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v22n.psf: ter-u22n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u22n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v22b.psf: ter-u22b.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u22b.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-124n.psf: ter-u24n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u24n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-124b.psf: ter-u24b.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u24b.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-224n.psf: ter-u24n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u24n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-224b.psf: ter-u24b.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u24b.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-724n.psf: ter-u24n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u24n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-724b.psf: ter-u24b.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u24b.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-924n.psf: ter-u24n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u24n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-924b.psf: ter-u24b.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u24b.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c24n.psf: ter-u24n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u24n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c24b.psf: ter-u24b.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u24b.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d24n.psf: ter-u24n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u24n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d24b.psf: ter-u24b.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u24b.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g24n.psf: ter-u24n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u24n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g24b.psf: ter-u24b.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u24b.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i24n.psf: ter-u24n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u24n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i24b.psf: ter-u24b.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u24b.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k24n.psf: ter-u24n.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u24n.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k24b.psf: ter-u24b.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u24b.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m24n.psf: ter-u24n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u24n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m24b.psf: ter-u24b.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u24b.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p24n.psf: ter-u24n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u24n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p24b.psf: ter-u24b.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u24b.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u24n.psf: ter-u24n.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u24n.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u24b.psf: ter-u24b.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u24b.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v24n.psf: ter-u24n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u24n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v24b.psf: ter-u24b.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u24b.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-128n.psf: ter-u28n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u28n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-128b.psf: ter-u28b.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u28b.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-228n.psf: ter-u28n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u28n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-228b.psf: ter-u28b.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u28b.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-728n.psf: ter-u28n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u28n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-728b.psf: ter-u28b.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u28b.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-928n.psf: ter-u28n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u28n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-928b.psf: ter-u28b.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u28b.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c28n.psf: ter-u28n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u28n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c28b.psf: ter-u28b.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u28b.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d28n.psf: ter-u28n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u28n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d28b.psf: ter-u28b.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u28b.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g28n.psf: ter-u28n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u28n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g28b.psf: ter-u28b.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u28b.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i28n.psf: ter-u28n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u28n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i28b.psf: ter-u28b.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u28b.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k28n.psf: ter-u28n.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u28n.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k28b.psf: ter-u28b.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u28b.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m28n.psf: ter-u28n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u28n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m28b.psf: ter-u28b.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u28b.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p28n.psf: ter-u28n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u28n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p28b.psf: ter-u28b.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u28b.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u28n.psf: ter-u28n.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u28n.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u28b.psf: ter-u28b.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u28b.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v28n.psf: ter-u28n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u28n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v28b.psf: ter-u28b.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u28b.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-132n.psf: ter-u32n.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u32n.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-132b.psf: ter-u32b.bdf $(V_88591) $(D_88591)
- $(UCS2VGA) ter-u32b.bdf $(R_88591) $(V_88591) | $(BDF2PSF) -o $@ - $(D_88591)
-
-ter-232n.psf: ter-u32n.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u32n.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-232b.psf: ter-u32b.bdf $(V_88592) $(D_88592)
- $(UCS2VGA) ter-u32b.bdf $(R_88592) $(V_88592) | $(BDF2PSF) -o $@ - $(D_88592)
-
-ter-732n.psf: ter-u32n.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u32n.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-732b.psf: ter-u32b.bdf $(V_88597) $(D_88597)
- $(UCS2VGA) ter-u32b.bdf $(R_88597) $(V_88597) | $(BDF2PSF) -o $@ - $(D_88597)
-
-ter-932n.psf: ter-u32n.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u32n.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-932b.psf: ter-u32b.bdf $(V_88599) $(D_88599)
- $(UCS2VGA) ter-u32b.bdf $(R_88599) $(V_88599) | $(BDF2PSF) -o $@ - $(D_88599)
-
-ter-c32n.psf: ter-u32n.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u32n.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-c32b.psf: ter-u32b.bdf $(V_W1251) $(D_W1251)
- $(UCS2VGA) ter-u32b.bdf $(R_W1251) $(V_W1251) | $(BDF2PSF) -o $@ - $(D_W1251)
-
-ter-d32n.psf: ter-u32n.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u32n.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-d32b.psf: ter-u32b.bdf $(V_8859D) $(D_8859D)
- $(UCS2VGA) ter-u32b.bdf $(R_8859D) $(V_8859D) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g32n.psf: ter-u32n.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u32n.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-g32b.psf: ter-u32b.bdf $(V_8859G) $(D_8859G)
- $(UCS2VGA) ter-u32b.bdf $(R_8859G) $(V_8859G) | $(BDF2PSF) -o $@ - $(D_8859G)
-
-ter-i32n.psf: ter-u32n.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u32n.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-i32b.psf: ter-u32b.bdf $(V_PCIBM) $(D_PCIBM)
- $(UCS2VGA) ter-u32b.bdf $(R_PCIBM) $(V_PCIBM) | $(BDF2PSF) -o $@ - $(D_PCIBM)
-
-ter-k32n.psf: ter-u32n.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u32n.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-k32b.psf: ter-u32b.bdf $(F_KOI8R) $(D_KOI8R)
- $(UCS2VGA) ter-u32b.bdf $(R_KOI8R) $(F_KOI8R) | $(BDF2PSF) -o $@ - $(D_KOI8R)
-
-ter-m32n.psf: ter-u32n.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u32n.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-m32b.psf: ter-u32b.bdf $(V_BGMIK) $(D_BGMIK)
- $(UCS2VGA) ter-u32b.bdf $(R_BGMIK) $(V_BGMIK) | $(BDF2PSF) -o $@ - $(D_BGMIK)
-
-ter-p32n.psf: ter-u32n.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u32n.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-p32b.psf: ter-u32b.bdf $(V_PT154) $(D_PT154)
- $(UCS2VGA) ter-u32b.bdf $(R_PT154) $(V_PT154) | $(BDF2PSF) -o $@ - $(D_PT154)
-
-ter-u32n.psf: ter-u32n.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u32n.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-u32b.psf: ter-u32b.bdf $(F_KOI8U) $(D_KOI8U)
- $(UCS2VGA) ter-u32b.bdf $(R_KOI8U) $(F_KOI8U) | $(BDF2PSF) -o $@ - $(D_KOI8U)
-
-ter-v32n.psf: ter-u32n.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u32n.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-ter-v32b.psf: ter-u32b.bdf $(V_XOS42) $(D_XOS42)
- $(UCS2VGA) ter-u32b.bdf $(R_XOS42) $(V_XOS42) | $(BDF2PSF) -o $@ - $(D_XOS42)
-
-install-psf: $(PSF)
- mkdir -p $(DESTDIR)$(psfdir)
- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
-
-uninstall-psf:
- for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
-
-T_W1252 = uni/cntrl.uni uni/ascii-h.uni uni/win-1252.uni
-T_W1250 = uni/cntrl.uni uni/ascii-h.uni uni/win-1250.uni
-T_W1253 = uni/cntrl.uni uni/ascii-h.uni uni/win-1253.uni
-T_W1254 = uni/cntrl.uni uni/ascii-h.uni uni/win-1254.uni
-T_W1251 = uni/cntrl.uni uni/ascii-h.uni uni/x11-1251.uni uni/win-1251.uni
-T_W1257 = uni/cntrl.uni uni/ascii-h.uni uni/x11-1257.uni uni/win-1257.uni
-T_8859G = uni/cntrl.uni uni/ascii-h.uni uni/empty.uni uni/8859-16.uni
-T_PCIBM = uni/cntrl.uni uni/ascii-h.uni uni/ibm-437.uni
-T_KOI8R = uni/cntrl.uni uni/ascii-h.uni uni/koi8-r.uni
-T_KOI8U = uni/cntrl.uni uni/ascii-h.uni uni/koi8-u.uni
-T_BGMIK = uni/cntrl.uni uni/ascii-h.uni uni/bg-mik.uni
-T_PT154 = uni/cntrl.uni uni/ascii-h.uni uni/pt-154.uni
-T_PT254 = uni/cntrl.uni uni/ascii-h.uni uni/pt-254.uni
-
-cp1252.txt: $(T_W1252)
- cat $(T_W1252) | $(UNI2TXT) > $@
-
-cp1250.txt: $(T_W1250)
- cat $(T_W1250) | $(UNI2TXT) > $@
-
-cp1253.txt: $(T_W1253)
- cat $(T_W1253) | $(UNI2TXT) > $@
-
-cp1254.txt: $(T_W1254)
- cat $(T_W1254) | $(UNI2TXT) > $@
-
-cp1251.txt: $(T_W1251)
- cat $(T_W1251) | $(UNI2TXT) > $@
-
-cp1257.txt: $(T_W1257)
- cat $(T_W1257) | $(UNI2TXT) > $@
-
-8859-16.txt: $(T_8859G)
- cat $(T_8859G) | $(UNI2TXT) > $@
-
-cp437.txt: $(T_PCIBM)
- cat $(T_PCIBM) | $(UNI2TXT) > $@
-
-koi8-r.txt: $(T_KOI8R)
- cat $(T_KOI8R) | $(UNI2TXT) > $@
-
-koi8-u.txt: $(T_KOI8U)
- cat $(T_KOI8U) | $(UNI2TXT) > $@
-
-mik.txt: $(T_BGMIK)
- cat $(T_BGMIK) | $(UNI2TXT) > $@
-
-pt154.txt: $(T_PT154)
- cat $(T_PT154) | $(UNI2TXT) > $@
-
-pt254.txt: $(T_PT254)
- cat $(T_PT254) | $(UNI2TXT) > $@
-
-TESTDIR =
-acmdir = $(prefix)/share/consoletrans
-
-install-acm: $(TXT)
- mkdir -p $(DESTDIR)$(acmdir)
- for i in $(TXT) ; do \
- a=`echo $$i | sed -e "s/\.txt$$/.acm.gz/"` ; \
- if test ! -f $(TESTDIR)$(acmdir)/$$a ; then \
- tail -n 128 $$i | grep -v FFFF | gzip > $(DESTDIR)$(acmdir)/$$a ; \
- fi ; \
- done
-
-unidir = $(prefix)/share/kbd/consoletrans
-
-install-uni: $(TXT)
- mkdir -p $(DESTDIR)$(unidir)
- for i in $(TXT) ; do \
- u=`echo $$i | sed -e "s/\.txt$$/_to_uni.trans/"` ; \
- if test ! -f $(TESTDIR)$(unidir)/$$u ; then \
- sed -e "s/FFFF/FFFD/" $$i > $(DESTDIR)$(unidir)/$$u ; \
- fi ; \
- done
-
-ref = $(psfdir)/README.terminus
-
-install-ref: README
- sed -e"/^2\.4/,/^2\.5/p" -n README | grep -v "^2\." > $(DESTDIR)$(ref)
-
-uninstall-ref:
- rm -f $(DESTDIR)$(ref)
-
-B_88591 = uni/cntrl.uni uni/ascii-h.uni uni/win-1252.uni
-B_88592 = uni/cntrl.uni uni/ascii-h.uni uni/empty.uni uni/8859-2.uni
-B_88595 = uni/cntrl.uni uni/ascii-h.uni uni/empty.uni uni/8859-5.uni
-B_88597 = uni/cntrl.uni uni/ascii-h.uni uni/empty.uni uni/8859-7.uni
-B_88599 = uni/cntrl.uni uni/ascii-h.uni uni/win-1254.uni
-B_W1251 = uni/cntrl.uni uni/ascii-h.uni uni/x11-1251.uni uni/win-1251.uni
-B_8859D = uni/cntrl.uni uni/ascii-h.uni uni/x11-1257.uni uni/8859-13.uni
-B_8859F = uni/cntrl.uni uni/ascii-h.uni uni/empty.uni uni/8859-15.uni
-B_8859G = uni/cntrl.uni uni/ascii-h.uni uni/empty.uni uni/8859-16.uni
-B_PCIBM = uni/cntrl.uni uni/ascii-h.uni uni/ibm-437.uni
-B_KOI8R = uni/cntrl.uni uni/ascii-h.uni uni/koi8-r.uni
-B_KOI8U = uni/cntrl.uni uni/ascii-h.uni uni/koi8-u.uni
-B_PT154 = uni/cntrl.uni uni/ascii-h.uni uni/pt-154.uni
-
-ter-114n.raw: ter-u14n.bdf $(B_88591)
- $(UCS2VGA) ter-u14n.bdf $(R_88591) $(B_88591) | $(BDF2RAW) -o $@
-
-ter-114b.raw: ter-u14v.bdf $(B_88591)
- $(UCS2VGA) ter-u14v.bdf $(R_88591) $(B_88591) | $(BDF2RAW) -o $@
-
-ter-114f.raw: ter-u14b.bdf $(B_88591)
- $(UCS2VGA) ter-u14b.bdf $(R_88591) $(B_88591) | $(BDF2RAW) -o $@
-
-ter-214n.raw: ter-u14n.bdf $(B_88592)
- $(UCS2VGA) ter-u14n.bdf $(R_88592) $(B_88592) | $(BDF2RAW) -o $@
-
-ter-214b.raw: ter-u14v.bdf $(B_88592)
- $(UCS2VGA) ter-u14v.bdf $(R_88592) $(B_88592) | $(BDF2RAW) -o $@
-
-ter-214f.raw: ter-u14b.bdf $(B_88592)
- $(UCS2VGA) ter-u14b.bdf $(R_88592) $(B_88592) | $(BDF2RAW) -o $@
-
-ter-514n.raw: ter-u14n.bdf $(B_88595)
- $(UCS2VGA) ter-u14n.bdf $(R_88595) $(B_88595) | $(BDF2RAW) -o $@
-
-ter-514b.raw: ter-u14v.bdf $(B_88595)
- $(UCS2VGA) ter-u14v.bdf $(R_88595) $(B_88595) | $(BDF2RAW) -o $@
-
-ter-514f.raw: ter-u14b.bdf $(B_88595)
- $(UCS2VGA) ter-u14b.bdf $(R_88595) $(B_88595) | $(BDF2RAW) -o $@
-
-ter-714n.raw: ter-u14n.bdf $(B_88597)
- $(UCS2VGA) ter-u14n.bdf $(R_88597) $(B_88597) | $(BDF2RAW) -o $@
-
-ter-714b.raw: ter-u14v.bdf $(B_88597)
- $(UCS2VGA) ter-u14v.bdf $(R_88597) $(B_88597) | $(BDF2RAW) -o $@
-
-ter-714f.raw: ter-u14b.bdf $(B_88597)
- $(UCS2VGA) ter-u14b.bdf $(R_88597) $(B_88597) | $(BDF2RAW) -o $@
-
-ter-914n.raw: ter-u14n.bdf $(B_88599)
- $(UCS2VGA) ter-u14n.bdf $(R_88599) $(B_88599) | $(BDF2RAW) -o $@
-
-ter-914b.raw: ter-u14v.bdf $(B_88599)
- $(UCS2VGA) ter-u14v.bdf $(R_88599) $(B_88599) | $(BDF2RAW) -o $@
-
-ter-914f.raw: ter-u14b.bdf $(B_88599)
- $(UCS2VGA) ter-u14b.bdf $(R_88599) $(B_88599) | $(BDF2RAW) -o $@
-
-ter-c14n.raw: ter-u14n.bdf $(B_W1251)
- $(UCS2VGA) ter-u14n.bdf $(R_W1251) $(B_W1251) | $(BDF2RAW) -o $@
-
-ter-c14b.raw: ter-u14v.bdf $(B_W1251)
- $(UCS2VGA) ter-u14v.bdf $(R_W1251) $(B_W1251) | $(BDF2RAW) -o $@
-
-ter-c14f.raw: ter-u14b.bdf $(B_W1251)
- $(UCS2VGA) ter-u14b.bdf $(R_W1251) $(B_W1251) | $(BDF2RAW) -o $@
-
-ter-d14n.raw: ter-u14n.bdf $(B_8859D)
- $(UCS2VGA) ter-u14n.bdf $(R_8859D) $(B_8859D) | $(BDF2RAW) -o $@
-
-ter-d14b.raw: ter-u14v.bdf $(B_8859D)
- $(UCS2VGA) ter-u14v.bdf $(R_8859D) $(B_8859D) | $(BDF2RAW) -o $@
-
-ter-d14f.raw: ter-u14b.bdf $(B_8859D)
- $(UCS2VGA) ter-u14b.bdf $(R_8859D) $(B_8859D) | $(BDF2RAW) -o $@
-
-ter-f14n.raw: ter-u14n.bdf $(B_8859F)
- $(UCS2VGA) ter-u14n.bdf $(R_8859F) $(B_8859F) | $(BDF2RAW) -o $@
-
-ter-f14b.raw: ter-u14v.bdf $(B_8859F)
- $(UCS2VGA) ter-u14v.bdf $(R_8859F) $(B_8859F) | $(BDF2RAW) -o $@
-
-ter-f14f.raw: ter-u14b.bdf $(B_8859F)
- $(UCS2VGA) ter-u14b.bdf $(R_8859F) $(B_8859F) | $(BDF2RAW) -o $@
-
-ter-g14n.raw: ter-u14n.bdf $(B_8859G)
- $(UCS2VGA) ter-u14n.bdf $(R_8859G) $(B_8859G) | $(BDF2RAW) -o $@
-
-ter-g14b.raw: ter-u14v.bdf $(B_8859G)
- $(UCS2VGA) ter-u14v.bdf $(R_8859G) $(B_8859G) | $(BDF2RAW) -o $@
-
-ter-g14f.raw: ter-u14b.bdf $(B_8859G)
- $(UCS2VGA) ter-u14b.bdf $(R_8859G) $(B_8859G) | $(BDF2RAW) -o $@
-
-ter-i14n.raw: ter-u14n.bdf $(B_PCIBM)
- $(UCS2VGA) ter-u14n.bdf $(R_PCIBM) $(B_PCIBM) | $(BDF2RAW) -o $@
-
-ter-i14b.raw: ter-u14v.bdf $(B_PCIBM)
- $(UCS2VGA) ter-u14v.bdf $(R_PCIBM) $(B_PCIBM) | $(BDF2RAW) -o $@
-
-ter-i14f.raw: ter-u14b.bdf $(B_PCIBM)
- $(UCS2VGA) ter-u14b.bdf $(R_PCIBM) $(B_PCIBM) | $(BDF2RAW) -o $@
-
-ter-k14n.raw: ter-u14n.bdf $(B_KOI8R)
- $(UCS2VGA) ter-u14n.bdf $(R_KOI8R) $(B_KOI8R) | $(BDF2RAW) -o $@
-
-ter-k14b.raw: ter-u14v.bdf $(B_KOI8R)
- $(UCS2VGA) ter-u14v.bdf $(R_KOI8R) $(B_KOI8R) | $(BDF2RAW) -o $@
-
-ter-k14f.raw: ter-u14b.bdf $(B_KOI8R)
- $(UCS2VGA) ter-u14b.bdf $(R_KOI8R) $(B_KOI8R) | $(BDF2RAW) -o $@
-
-ter-p14n.raw: ter-u14n.bdf $(B_PT154)
- $(UCS2VGA) ter-u14n.bdf $(R_PT154) $(B_PT154) | $(BDF2RAW) -o $@
-
-ter-p14b.raw: ter-u14v.bdf $(B_PT154)
- $(UCS2VGA) ter-u14v.bdf $(R_PT154) $(B_PT154) | $(BDF2RAW) -o $@
-
-ter-p14f.raw: ter-u14b.bdf $(B_PT154)
- $(UCS2VGA) ter-u14b.bdf $(R_PT154) $(B_PT154) | $(BDF2RAW) -o $@
-
-ter-u14n.raw: ter-u14n.bdf $(B_KOI8U)
- $(UCS2VGA) ter-u14n.bdf $(R_KOI8U) $(B_KOI8U) | $(BDF2RAW) -o $@
-
-ter-u14b.raw: ter-u14v.bdf $(B_KOI8U)
- $(UCS2VGA) ter-u14v.bdf $(R_KOI8U) $(B_KOI8U) | $(BDF2RAW) -o $@
-
-ter-u14f.raw: ter-u14b.bdf $(B_KOI8U)
- $(UCS2VGA) ter-u14b.bdf $(R_KOI8U) $(B_KOI8U) | $(BDF2RAW) -o $@
-
-ter-116n.raw: ter-u16n.bdf $(B_88591)
- $(UCS2VGA) ter-u16n.bdf $(R_88591) $(B_88591) | $(BDF2RAW) -o $@
-
-ter-116b.raw: ter-u16v.bdf $(B_88591)
- $(UCS2VGA) ter-u16v.bdf $(R_88591) $(B_88591) | $(BDF2RAW) -o $@
-
-ter-116f.raw: ter-u16b.bdf $(B_88591)
- $(UCS2VGA) ter-u16b.bdf $(R_88591) $(B_88591) | $(BDF2RAW) -o $@
-
-ter-216n.raw: ter-u16n.bdf $(B_88592)
- $(UCS2VGA) ter-u16n.bdf $(R_88592) $(B_88592) | $(BDF2RAW) -o $@
-
-ter-216b.raw: ter-u16v.bdf $(B_88592)
- $(UCS2VGA) ter-u16v.bdf $(R_88592) $(B_88592) | $(BDF2RAW) -o $@
-
-ter-216f.raw: ter-u16b.bdf $(B_88592)
- $(UCS2VGA) ter-u16b.bdf $(R_88592) $(B_88592) | $(BDF2RAW) -o $@
-
-ter-516n.raw: ter-u16n.bdf $(B_88595)
- $(UCS2VGA) ter-u16n.bdf $(R_88595) $(B_88595) | $(BDF2RAW) -o $@
-
-ter-516b.raw: ter-u16v.bdf $(B_88595)
- $(UCS2VGA) ter-u16v.bdf $(R_88595) $(B_88595) | $(BDF2RAW) -o $@
-
-ter-516f.raw: ter-u16b.bdf $(B_88595)
- $(UCS2VGA) ter-u16b.bdf $(R_88595) $(B_88595) | $(BDF2RAW) -o $@
-
-ter-716n.raw: ter-u16n.bdf $(B_88597)
- $(UCS2VGA) ter-u16n.bdf $(R_88597) $(B_88597) | $(BDF2RAW) -o $@
-
-ter-716b.raw: ter-u16v.bdf $(B_88597)
- $(UCS2VGA) ter-u16v.bdf $(R_88597) $(B_88597) | $(BDF2RAW) -o $@
-
-ter-716f.raw: ter-u16b.bdf $(B_88597)
- $(UCS2VGA) ter-u16b.bdf $(R_88597) $(B_88597) | $(BDF2RAW) -o $@
-
-ter-916n.raw: ter-u16n.bdf $(B_88599)
- $(UCS2VGA) ter-u16n.bdf $(R_88599) $(B_88599) | $(BDF2RAW) -o $@
-
-ter-916b.raw: ter-u16v.bdf $(B_88599)
- $(UCS2VGA) ter-u16v.bdf $(R_88599) $(B_88599) | $(BDF2RAW) -o $@
-
-ter-916f.raw: ter-u16b.bdf $(B_88599)
- $(UCS2VGA) ter-u16b.bdf $(R_88599) $(B_88599) | $(BDF2RAW) -o $@
-
-ter-c16n.raw: ter-u16n.bdf $(B_W1251)
- $(UCS2VGA) ter-u16n.bdf $(R_W1251) $(B_W1251) | $(BDF2RAW) -o $@
-
-ter-c16b.raw: ter-u16v.bdf $(B_W1251)
- $(UCS2VGA) ter-u16v.bdf $(R_W1251) $(B_W1251) | $(BDF2RAW) -o $@
-
-ter-c16f.raw: ter-u16b.bdf $(B_W1251)
- $(UCS2VGA) ter-u16b.bdf $(R_W1251) $(B_W1251) | $(BDF2RAW) -o $@
-
-ter-d16n.raw: ter-u16n.bdf $(B_8859D)
- $(UCS2VGA) ter-u16n.bdf $(R_8859D) $(B_8859D) | $(BDF2RAW) -o $@
-
-ter-d16b.raw: ter-u16v.bdf $(B_8859D)
- $(UCS2VGA) ter-u16v.bdf $(R_8859D) $(B_8859D) | $(BDF2RAW) -o $@
-
-ter-d16f.raw: ter-u16b.bdf $(B_8859D)
- $(UCS2VGA) ter-u16b.bdf $(R_8859D) $(B_8859D) | $(BDF2RAW) -o $@
-
-ter-f16n.raw: ter-u16n.bdf $(B_8859F)
- $(UCS2VGA) ter-u16n.bdf $(R_8859F) $(B_8859F) | $(BDF2RAW) -o $@
-
-ter-f16b.raw: ter-u16v.bdf $(B_8859F)
- $(UCS2VGA) ter-u16v.bdf $(R_8859F) $(B_8859F) | $(BDF2RAW) -o $@
-
-ter-f16f.raw: ter-u16b.bdf $(B_8859F)
- $(UCS2VGA) ter-u16b.bdf $(R_8859F) $(B_8859F) | $(BDF2RAW) -o $@
-
-ter-g16n.raw: ter-u16n.bdf $(B_8859G)
- $(UCS2VGA) ter-u16n.bdf $(R_8859G) $(B_8859G) | $(BDF2RAW) -o $@
-
-ter-g16b.raw: ter-u16v.bdf $(B_8859G)
- $(UCS2VGA) ter-u16v.bdf $(R_8859G) $(B_8859G) | $(BDF2RAW) -o $@
-
-ter-g16f.raw: ter-u16b.bdf $(B_8859G)
- $(UCS2VGA) ter-u16b.bdf $(R_8859G) $(B_8859G) | $(BDF2RAW) -o $@
-
-ter-i16n.raw: ter-u16n.bdf $(B_PCIBM)
- $(UCS2VGA) ter-u16n.bdf $(R_PCIBM) $(B_PCIBM) | $(BDF2RAW) -o $@
-
-ter-i16b.raw: ter-u16v.bdf $(B_PCIBM)
- $(UCS2VGA) ter-u16v.bdf $(R_PCIBM) $(B_PCIBM) | $(BDF2RAW) -o $@
-
-ter-i16f.raw: ter-u16b.bdf $(B_PCIBM)
- $(UCS2VGA) ter-u16b.bdf $(R_PCIBM) $(B_PCIBM) | $(BDF2RAW) -o $@
-
-ter-k16n.raw: ter-u16n.bdf $(B_KOI8R)
- $(UCS2VGA) ter-u16n.bdf $(R_KOI8R) $(B_KOI8R) | $(BDF2RAW) -o $@
-
-ter-k16b.raw: ter-u16v.bdf $(B_KOI8R)
- $(UCS2VGA) ter-u16v.bdf $(R_KOI8R) $(B_KOI8R) | $(BDF2RAW) -o $@
-
-ter-k16f.raw: ter-u16b.bdf $(B_KOI8R)
- $(UCS2VGA) ter-u16b.bdf $(R_KOI8R) $(B_KOI8R) | $(BDF2RAW) -o $@
-
-ter-p16n.raw: ter-u16n.bdf $(B_PT154)
- $(UCS2VGA) ter-u16n.bdf $(R_PT154) $(B_PT154) | $(BDF2RAW) -o $@
-
-ter-p16b.raw: ter-u16v.bdf $(B_PT154)
- $(UCS2VGA) ter-u16v.bdf $(R_PT154) $(B_PT154) | $(BDF2RAW) -o $@
-
-ter-p16f.raw: ter-u16b.bdf $(B_PT154)
- $(UCS2VGA) ter-u16b.bdf $(R_PT154) $(B_PT154) | $(BDF2RAW) -o $@
-
-ter-u16n.raw: ter-u16n.bdf $(B_KOI8U)
- $(UCS2VGA) ter-u16n.bdf $(R_KOI8U) $(B_KOI8U) | $(BDF2RAW) -o $@
-
-ter-u16b.raw: ter-u16v.bdf $(B_KOI8U)
- $(UCS2VGA) ter-u16v.bdf $(R_KOI8U) $(B_KOI8U) | $(BDF2RAW) -o $@
-
-ter-u16f.raw: ter-u16b.bdf $(B_KOI8U)
- $(UCS2VGA) ter-u16b.bdf $(R_KOI8U) $(B_KOI8U) | $(BDF2RAW) -o $@
-
-rawdir = $(prefix)/share/misc/pcvtfonts
-
-RAW_14 = $(RAW_14N) $(RAW_14B) $(RAW_14F)
-RAW_16 = $(RAW_16N) $(RAW_16B) $(RAW_16F)
-
-point14 = echo $$i | sed -e "s/14//" -e "s/raw$$/814/"
-point16 = echo $$i | sed -e "s/16//" -e "s/raw$$/816/"
-
-install.raw: $(RAW)
- mkdir -p $(DESTDIR)$(rawdir)
- for i in $(RAW_14) ; do cp -f $$i $(DESTDIR)$(rawdir)/`$(point14)` ; done
- for i in $(RAW_16) ; do cp -f $$i $(DESTDIR)$(rawdir)/`$(point16)` ; done
-
-uninstall.raw:
- for i in $(RAW_14) ; do rm -f $(DESTDIR)$(rawdir)/`$(point14)` ; done
- for i in $(RAW_16) ; do rm -f $(DESTDIR)$(rawdir)/`$(point16)` ; done
-
-minus14 = echo $$i | sed -e "s/14//" -e "s/\.raw$$/-8x14/"
-minus16 = echo $$i | sed -e "s/16//" -e "s/\.raw$$/-8x16/"
-
-install-raw: $(RAW)
- mkdir -p $(DESTDIR)$(rawdir)
- for i in $(RAW_14) ; do cp -f $$i $(DESTDIR)$(rawdir)/`$(minus14)` ; done
- for i in $(RAW_16) ; do cp -f $$i $(DESTDIR)$(rawdir)/`$(minus16)` ; done
-
-uninstall-raw:
- for i in $(RAW_14) ; do rm -f $(DESTDIR)$(rawdir)/`$(minus14)` ; done
- for i in $(RAW_16) ; do rm -f $(DESTDIR)$(rawdir)/`$(minus16)` ; done
-
X_88591 = uni/x11gr.uni uni/ascii-h.uni uni/win-1252.uni
X_88592 = uni/x11gr.uni uni/ascii-h.uni uni/empty.uni uni/8859-2.uni
X_88595 = uni/x11gr.uni uni/ascii-h.uni uni/empty.uni uni/8859-5.uni
@@ -1182,643 +65,1067 @@ X_KOI8U = uni/x11gr.uni uni/ascii-h.uni uni/koi8-u.uni
X_PT154 = uni/x11gr.uni uni/ascii-h.uni uni/pt-154.uni
X_10646 = uni/x11gr.uni uni/10646-1.uni
-ter-112n.pcf: ter-u12n.bdf $(X_88591)
- $(UCS2X11) ter-u12n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-112b.pcf: ter-u12b.bdf $(X_88591)
- $(UCS2X11) ter-u12b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-212n.pcf: ter-u12n.bdf $(X_88592)
- $(UCS2X11) ter-u12n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-212b.pcf: ter-u12b.bdf $(X_88592)
- $(UCS2X11) ter-u12b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-512n.pcf: ter-u12n.bdf $(X_88595)
- $(UCS2X11) ter-u12n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-512b.pcf: ter-u12b.bdf $(X_88595)
- $(UCS2X11) ter-u12b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-712n.pcf: ter-u12n.bdf $(X_88597)
- $(UCS2X11) ter-u12n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-712b.pcf: ter-u12b.bdf $(X_88597)
- $(UCS2X11) ter-u12b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-912n.pcf: ter-u12n.bdf $(X_88599)
- $(UCS2X11) ter-u12n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-912b.pcf: ter-u12b.bdf $(X_88599)
- $(UCS2X11) ter-u12b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c12n.pcf: ter-u12n.bdf $(X_W1251)
- $(UCS2X11) ter-u12n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c12b.pcf: ter-u12b.bdf $(X_W1251)
- $(UCS2X11) ter-u12b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d12n.pcf: ter-u12n.bdf $(X_8859D)
- $(UCS2X11) ter-u12n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d12b.pcf: ter-u12b.bdf $(X_8859D)
- $(UCS2X11) ter-u12b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f12n.pcf: ter-u12n.bdf $(X_8859F)
- $(UCS2X11) ter-u12n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f12b.pcf: ter-u12b.bdf $(X_8859F)
- $(UCS2X11) ter-u12b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g12n.pcf: ter-u12n.bdf $(X_8859G)
- $(UCS2X11) ter-u12n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g12b.pcf: ter-u12b.bdf $(X_8859G)
- $(UCS2X11) ter-u12b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k12n.pcf: ter-u12n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u12n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k12b.pcf: ter-u12b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u12b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p12n.pcf: ter-u12n.bdf $(X_PT154)
- $(UCS2X11) ter-u12n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p12b.pcf: ter-u12b.bdf $(X_PT154)
- $(UCS2X11) ter-u12b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u12n.pcf: ter-u12n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u12n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u12b.pcf: ter-u12b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u12b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x12n.pcf: ter-u12n.bdf $(X_10646)
- $(UCS2X11) ter-u12n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-x12b.pcf: ter-u12b.bdf $(X_10646)
- $(UCS2X11) ter-u12b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-114n.pcf: ter-u14n.bdf $(X_88591)
- $(UCS2X11) ter-u14n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-114b.pcf: ter-u14b.bdf $(X_88591)
- $(UCS2X11) ter-u14b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-214n.pcf: ter-u14n.bdf $(X_88592)
- $(UCS2X11) ter-u14n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-214b.pcf: ter-u14b.bdf $(X_88592)
- $(UCS2X11) ter-u14b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-514n.pcf: ter-u14n.bdf $(X_88595)
- $(UCS2X11) ter-u14n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-514b.pcf: ter-u14b.bdf $(X_88595)
- $(UCS2X11) ter-u14b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-714n.pcf: ter-u14n.bdf $(X_88597)
- $(UCS2X11) ter-u14n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-714b.pcf: ter-u14b.bdf $(X_88597)
- $(UCS2X11) ter-u14b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-914n.pcf: ter-u14n.bdf $(X_88599)
- $(UCS2X11) ter-u14n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-914b.pcf: ter-u14b.bdf $(X_88599)
- $(UCS2X11) ter-u14b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c14n.pcf: ter-u14n.bdf $(X_W1251)
- $(UCS2X11) ter-u14n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c14b.pcf: ter-u14b.bdf $(X_W1251)
- $(UCS2X11) ter-u14b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d14n.pcf: ter-u14n.bdf $(X_8859D)
- $(UCS2X11) ter-u14n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d14b.pcf: ter-u14b.bdf $(X_8859D)
- $(UCS2X11) ter-u14b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f14n.pcf: ter-u14n.bdf $(X_8859F)
- $(UCS2X11) ter-u14n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f14b.pcf: ter-u14b.bdf $(X_8859F)
- $(UCS2X11) ter-u14b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g14n.pcf: ter-u14n.bdf $(X_8859G)
- $(UCS2X11) ter-u14n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g14b.pcf: ter-u14b.bdf $(X_8859G)
- $(UCS2X11) ter-u14b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k14n.pcf: ter-u14n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u14n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k14b.pcf: ter-u14b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u14b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p14n.pcf: ter-u14n.bdf $(X_PT154)
- $(UCS2X11) ter-u14n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p14b.pcf: ter-u14b.bdf $(X_PT154)
- $(UCS2X11) ter-u14b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u14n.pcf: ter-u14n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u14n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u14b.pcf: ter-u14b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u14b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x14n.pcf: ter-u14n.bdf $(X_10646)
- $(UCS2X11) ter-u14n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-x14b.pcf: ter-u14b.bdf $(X_10646)
- $(UCS2X11) ter-u14b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-116n.pcf: ter-u16n.bdf $(X_88591)
- $(UCS2X11) ter-u16n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-116b.pcf: ter-u16b.bdf $(X_88591)
- $(UCS2X11) ter-u16b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-216n.pcf: ter-u16n.bdf $(X_88592)
- $(UCS2X11) ter-u16n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-216b.pcf: ter-u16b.bdf $(X_88592)
- $(UCS2X11) ter-u16b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-516n.pcf: ter-u16n.bdf $(X_88595)
- $(UCS2X11) ter-u16n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-516b.pcf: ter-u16b.bdf $(X_88595)
- $(UCS2X11) ter-u16b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-716n.pcf: ter-u16n.bdf $(X_88597)
- $(UCS2X11) ter-u16n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-716b.pcf: ter-u16b.bdf $(X_88597)
- $(UCS2X11) ter-u16b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-916n.pcf: ter-u16n.bdf $(X_88599)
- $(UCS2X11) ter-u16n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-916b.pcf: ter-u16b.bdf $(X_88599)
- $(UCS2X11) ter-u16b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c16n.pcf: ter-u16n.bdf $(X_W1251)
- $(UCS2X11) ter-u16n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c16b.pcf: ter-u16b.bdf $(X_W1251)
- $(UCS2X11) ter-u16b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d16n.pcf: ter-u16n.bdf $(X_8859D)
- $(UCS2X11) ter-u16n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d16b.pcf: ter-u16b.bdf $(X_8859D)
- $(UCS2X11) ter-u16b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f16n.pcf: ter-u16n.bdf $(X_8859F)
- $(UCS2X11) ter-u16n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f16b.pcf: ter-u16b.bdf $(X_8859F)
- $(UCS2X11) ter-u16b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g16n.pcf: ter-u16n.bdf $(X_8859G)
- $(UCS2X11) ter-u16n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g16b.pcf: ter-u16b.bdf $(X_8859G)
- $(UCS2X11) ter-u16b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k16n.pcf: ter-u16n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u16n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k16b.pcf: ter-u16b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u16b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p16n.pcf: ter-u16n.bdf $(X_PT154)
- $(UCS2X11) ter-u16n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p16b.pcf: ter-u16b.bdf $(X_PT154)
- $(UCS2X11) ter-u16b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u16n.pcf: ter-u16n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u16n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u16b.pcf: ter-u16b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u16b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x16n.pcf: ter-u16n.bdf $(X_10646)
- $(UCS2X11) ter-u16n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-x16b.pcf: ter-u16b.bdf $(X_10646)
- $(UCS2X11) ter-u16b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-120n.pcf: ter-u20n.bdf $(X_88591)
- $(UCS2X11) ter-u20n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-120b.pcf: ter-u20b.bdf $(X_88591)
- $(UCS2X11) ter-u20b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-220n.pcf: ter-u20n.bdf $(X_88592)
- $(UCS2X11) ter-u20n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-220b.pcf: ter-u20b.bdf $(X_88592)
- $(UCS2X11) ter-u20b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-520n.pcf: ter-u20n.bdf $(X_88595)
- $(UCS2X11) ter-u20n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-520b.pcf: ter-u20b.bdf $(X_88595)
- $(UCS2X11) ter-u20b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-720n.pcf: ter-u20n.bdf $(X_88597)
- $(UCS2X11) ter-u20n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-720b.pcf: ter-u20b.bdf $(X_88597)
- $(UCS2X11) ter-u20b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-920n.pcf: ter-u20n.bdf $(X_88599)
- $(UCS2X11) ter-u20n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-920b.pcf: ter-u20b.bdf $(X_88599)
- $(UCS2X11) ter-u20b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c20n.pcf: ter-u20n.bdf $(X_W1251)
- $(UCS2X11) ter-u20n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c20b.pcf: ter-u20b.bdf $(X_W1251)
- $(UCS2X11) ter-u20b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d20n.pcf: ter-u20n.bdf $(X_8859D)
- $(UCS2X11) ter-u20n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d20b.pcf: ter-u20b.bdf $(X_8859D)
- $(UCS2X11) ter-u20b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f20n.pcf: ter-u20n.bdf $(X_8859F)
- $(UCS2X11) ter-u20n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f20b.pcf: ter-u20b.bdf $(X_8859F)
- $(UCS2X11) ter-u20b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g20n.pcf: ter-u20n.bdf $(X_8859G)
- $(UCS2X11) ter-u20n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g20b.pcf: ter-u20b.bdf $(X_8859G)
- $(UCS2X11) ter-u20b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k20n.pcf: ter-u20n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u20n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k20b.pcf: ter-u20b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u20b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p20n.pcf: ter-u20n.bdf $(X_PT154)
- $(UCS2X11) ter-u20n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p20b.pcf: ter-u20b.bdf $(X_PT154)
- $(UCS2X11) ter-u20b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u20n.pcf: ter-u20n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u20n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u20b.pcf: ter-u20b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u20b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x20n.pcf: ter-u20n.bdf $(X_10646)
- $(UCS2X11) ter-u20n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-x20b.pcf: ter-u20b.bdf $(X_10646)
- $(UCS2X11) ter-u20b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-122n.pcf: ter-u22n.bdf $(X_88591)
- $(UCS2X11) ter-u22n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-122b.pcf: ter-u22b.bdf $(X_88591)
- $(UCS2X11) ter-u22b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-222n.pcf: ter-u22n.bdf $(X_88592)
- $(UCS2X11) ter-u22n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-222b.pcf: ter-u22b.bdf $(X_88592)
- $(UCS2X11) ter-u22b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-522n.pcf: ter-u22n.bdf $(X_88595)
- $(UCS2X11) ter-u22n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-522b.pcf: ter-u22b.bdf $(X_88595)
- $(UCS2X11) ter-u22b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-722n.pcf: ter-u22n.bdf $(X_88597)
- $(UCS2X11) ter-u22n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-722b.pcf: ter-u22b.bdf $(X_88597)
- $(UCS2X11) ter-u22b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-922n.pcf: ter-u22n.bdf $(X_88599)
- $(UCS2X11) ter-u22n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-922b.pcf: ter-u22b.bdf $(X_88599)
- $(UCS2X11) ter-u22b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c22n.pcf: ter-u22n.bdf $(X_W1251)
- $(UCS2X11) ter-u22n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c22b.pcf: ter-u22b.bdf $(X_W1251)
- $(UCS2X11) ter-u22b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d22n.pcf: ter-u22n.bdf $(X_8859D)
- $(UCS2X11) ter-u22n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d22b.pcf: ter-u22b.bdf $(X_8859D)
- $(UCS2X11) ter-u22b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f22n.pcf: ter-u22n.bdf $(X_8859F)
- $(UCS2X11) ter-u22n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f22b.pcf: ter-u22b.bdf $(X_8859F)
- $(UCS2X11) ter-u22b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g22n.pcf: ter-u22n.bdf $(X_8859G)
- $(UCS2X11) ter-u22n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g22b.pcf: ter-u22b.bdf $(X_8859G)
- $(UCS2X11) ter-u22b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k22n.pcf: ter-u22n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u22n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k22b.pcf: ter-u22b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u22b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p22n.pcf: ter-u22n.bdf $(X_PT154)
- $(UCS2X11) ter-u22n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p22b.pcf: ter-u22b.bdf $(X_PT154)
- $(UCS2X11) ter-u22b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u22n.pcf: ter-u22n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u22n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u22b.pcf: ter-u22b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u22b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x22n.pcf: ter-u22n.bdf $(X_10646)
- $(UCS2X11) ter-u22n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-x22b.pcf: ter-u22b.bdf $(X_10646)
- $(UCS2X11) ter-u22b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-124n.pcf: ter-u24n.bdf $(X_88591)
- $(UCS2X11) ter-u24n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-124b.pcf: ter-u24b.bdf $(X_88591)
- $(UCS2X11) ter-u24b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-224n.pcf: ter-u24n.bdf $(X_88592)
- $(UCS2X11) ter-u24n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-224b.pcf: ter-u24b.bdf $(X_88592)
- $(UCS2X11) ter-u24b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-524n.pcf: ter-u24n.bdf $(X_88595)
- $(UCS2X11) ter-u24n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-524b.pcf: ter-u24b.bdf $(X_88595)
- $(UCS2X11) ter-u24b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-724n.pcf: ter-u24n.bdf $(X_88597)
- $(UCS2X11) ter-u24n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-724b.pcf: ter-u24b.bdf $(X_88597)
- $(UCS2X11) ter-u24b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-924n.pcf: ter-u24n.bdf $(X_88599)
- $(UCS2X11) ter-u24n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-924b.pcf: ter-u24b.bdf $(X_88599)
- $(UCS2X11) ter-u24b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c24n.pcf: ter-u24n.bdf $(X_W1251)
- $(UCS2X11) ter-u24n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c24b.pcf: ter-u24b.bdf $(X_W1251)
- $(UCS2X11) ter-u24b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d24n.pcf: ter-u24n.bdf $(X_8859D)
- $(UCS2X11) ter-u24n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d24b.pcf: ter-u24b.bdf $(X_8859D)
- $(UCS2X11) ter-u24b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f24n.pcf: ter-u24n.bdf $(X_8859F)
- $(UCS2X11) ter-u24n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f24b.pcf: ter-u24b.bdf $(X_8859F)
- $(UCS2X11) ter-u24b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g24n.pcf: ter-u24n.bdf $(X_8859G)
- $(UCS2X11) ter-u24n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g24b.pcf: ter-u24b.bdf $(X_8859G)
- $(UCS2X11) ter-u24b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k24n.pcf: ter-u24n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u24n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k24b.pcf: ter-u24b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u24b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p24n.pcf: ter-u24n.bdf $(X_PT154)
- $(UCS2X11) ter-u24n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p24b.pcf: ter-u24b.bdf $(X_PT154)
- $(UCS2X11) ter-u24b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u24n.pcf: ter-u24n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u24n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u24b.pcf: ter-u24b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u24b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x24n.pcf: ter-u24n.bdf $(X_10646)
- $(UCS2X11) ter-u24n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-x24b.pcf: ter-u24b.bdf $(X_10646)
- $(UCS2X11) ter-u24b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-128n.pcf: ter-u28n.bdf $(X_88591)
- $(UCS2X11) ter-u28n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-128b.pcf: ter-u28b.bdf $(X_88591)
- $(UCS2X11) ter-u28b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-228n.pcf: ter-u28n.bdf $(X_88592)
- $(UCS2X11) ter-u28n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-228b.pcf: ter-u28b.bdf $(X_88592)
- $(UCS2X11) ter-u28b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-528n.pcf: ter-u28n.bdf $(X_88595)
- $(UCS2X11) ter-u28n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-528b.pcf: ter-u28b.bdf $(X_88595)
- $(UCS2X11) ter-u28b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-728n.pcf: ter-u28n.bdf $(X_88597)
- $(UCS2X11) ter-u28n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-728b.pcf: ter-u28b.bdf $(X_88597)
- $(UCS2X11) ter-u28b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-928n.pcf: ter-u28n.bdf $(X_88599)
- $(UCS2X11) ter-u28n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-928b.pcf: ter-u28b.bdf $(X_88599)
- $(UCS2X11) ter-u28b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c28n.pcf: ter-u28n.bdf $(X_W1251)
- $(UCS2X11) ter-u28n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c28b.pcf: ter-u28b.bdf $(X_W1251)
- $(UCS2X11) ter-u28b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d28n.pcf: ter-u28n.bdf $(X_8859D)
- $(UCS2X11) ter-u28n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d28b.pcf: ter-u28b.bdf $(X_8859D)
- $(UCS2X11) ter-u28b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f28n.pcf: ter-u28n.bdf $(X_8859F)
- $(UCS2X11) ter-u28n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f28b.pcf: ter-u28b.bdf $(X_8859F)
- $(UCS2X11) ter-u28b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g28n.pcf: ter-u28n.bdf $(X_8859G)
- $(UCS2X11) ter-u28n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g28b.pcf: ter-u28b.bdf $(X_8859G)
- $(UCS2X11) ter-u28b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k28n.pcf: ter-u28n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u28n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k28b.pcf: ter-u28b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u28b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p28n.pcf: ter-u28n.bdf $(X_PT154)
- $(UCS2X11) ter-u28n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p28b.pcf: ter-u28b.bdf $(X_PT154)
- $(UCS2X11) ter-u28b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u28n.pcf: ter-u28n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u28n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u28b.pcf: ter-u28b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u28b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x28n.pcf: ter-u28n.bdf $(X_10646)
- $(UCS2X11) ter-u28n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-x28b.pcf: ter-u28b.bdf $(X_10646)
- $(UCS2X11) ter-u28b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-
-ter-132n.pcf: ter-u32n.bdf $(X_88591)
- $(UCS2X11) ter-u32n.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-132b.pcf: ter-u32b.bdf $(X_88591)
- $(UCS2X11) ter-u32b.bdf $(R_88591) $(X_88591) | $(BDF2PCF) -o $@
-
-ter-232n.pcf: ter-u32n.bdf $(X_88592)
- $(UCS2X11) ter-u32n.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-232b.pcf: ter-u32b.bdf $(X_88592)
- $(UCS2X11) ter-u32b.bdf $(R_88592) $(X_88592) | $(BDF2PCF) -o $@
-
-ter-532n.pcf: ter-u32n.bdf $(X_88595)
- $(UCS2X11) ter-u32n.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-532b.pcf: ter-u32b.bdf $(X_88595)
- $(UCS2X11) ter-u32b.bdf $(R_88595) $(X_88595) | $(BDF2PCF) -o $@
-
-ter-732n.pcf: ter-u32n.bdf $(X_88597)
- $(UCS2X11) ter-u32n.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-732b.pcf: ter-u32b.bdf $(X_88597)
- $(UCS2X11) ter-u32b.bdf $(R_88597) $(X_88597) | $(BDF2PCF) -o $@
-
-ter-932n.pcf: ter-u32n.bdf $(X_88599)
- $(UCS2X11) ter-u32n.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-932b.pcf: ter-u32b.bdf $(X_88599)
- $(UCS2X11) ter-u32b.bdf $(R_88599) $(X_88599) | $(BDF2PCF) -o $@
-
-ter-c32n.pcf: ter-u32n.bdf $(X_W1251)
- $(UCS2X11) ter-u32n.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-c32b.pcf: ter-u32b.bdf $(X_W1251)
- $(UCS2X11) ter-u32b.bdf $(R_W1251) $(X_W1251) | $(BDF2PCF) -o $@
-
-ter-d32n.pcf: ter-u32n.bdf $(X_8859D)
- $(UCS2X11) ter-u32n.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-d32b.pcf: ter-u32b.bdf $(X_8859D)
- $(UCS2X11) ter-u32b.bdf $(R_8859D) $(X_8859D) | $(BDF2PCF) -o $@
-
-ter-f32n.pcf: ter-u32n.bdf $(X_8859F)
- $(UCS2X11) ter-u32n.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-f32b.pcf: ter-u32b.bdf $(X_8859F)
- $(UCS2X11) ter-u32b.bdf $(R_8859F) $(X_8859F) | $(BDF2PCF) -o $@
-
-ter-g32n.pcf: ter-u32n.bdf $(X_8859G)
- $(UCS2X11) ter-u32n.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-g32b.pcf: ter-u32b.bdf $(X_8859G)
- $(UCS2X11) ter-u32b.bdf $(R_8859G) $(X_8859G) | $(BDF2PCF) -o $@
-
-ter-k32n.pcf: ter-u32n.bdf $(X_KOI8R)
- $(UCS2X11) ter-u32n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-k32b.pcf: ter-u32b.bdf $(X_KOI8R)
- $(UCS2X11) ter-u32b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDF2PCF) -o $@
-
-ter-p32n.pcf: ter-u32n.bdf $(X_PT154)
- $(UCS2X11) ter-u32n.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-p32b.pcf: ter-u32b.bdf $(X_PT154)
- $(UCS2X11) ter-u32b.bdf $(R_PT154) $(X_PT154) | $(BDF2PCF) -o $@
-
-ter-u32n.pcf: ter-u32n.bdf $(X_KOI8U)
- $(UCS2X11) ter-u32n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-u32b.pcf: ter-u32b.bdf $(X_KOI8U)
- $(UCS2X11) ter-u32b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDF2PCF) -o $@
-
-ter-x32n.pcf: ter-u32n.bdf $(X_10646)
- $(UCS2X11) ter-u32n.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
+BASETARGETNAME=$(notdir $(@:%.gz=%))
+
+$(DESTDIR)\ter-112n.pcf.gz: ter-u12n.bdf $(X_88591)
+ $(UCS2ANY) ter-u12n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-112b.pcf.gz: ter-u12b.bdf $(X_88591)
+ $(UCS2ANY) ter-u12b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-212n.pcf.gz: ter-u12n.bdf $(X_88592)
+ $(UCS2ANY) ter-u12n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-212b.pcf.gz: ter-u12b.bdf $(X_88592)
+ $(UCS2ANY) ter-u12b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-512n.pcf.gz: ter-u12n.bdf $(X_88595)
+ $(UCS2ANY) ter-u12n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-512b.pcf.gz: ter-u12b.bdf $(X_88595)
+ $(UCS2ANY) ter-u12b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-712n.pcf.gz: ter-u12n.bdf $(X_88597)
+ $(UCS2ANY) ter-u12n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-712b.pcf.gz: ter-u12b.bdf $(X_88597)
+ $(UCS2ANY) ter-u12b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-912n.pcf.gz: ter-u12n.bdf $(X_88599)
+ $(UCS2ANY) ter-u12n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-912b.pcf.gz: ter-u12b.bdf $(X_88599)
+ $(UCS2ANY) ter-u12b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c12n.pcf.gz: ter-u12n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u12n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c12b.pcf.gz: ter-u12b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u12b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d12n.pcf.gz: ter-u12n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u12n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d12b.pcf.gz: ter-u12b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u12b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f12n.pcf.gz: ter-u12n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u12n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f12b.pcf.gz: ter-u12b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u12b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g12n.pcf.gz: ter-u12n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u12n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g12b.pcf.gz: ter-u12b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u12b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k12n.pcf.gz: ter-u12n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u12n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k12b.pcf.gz: ter-u12b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u12b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p12n.pcf.gz: ter-u12n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u12n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p12b.pcf.gz: ter-u12b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u12b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u12n.pcf.gz: ter-u12n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u12n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u12b.pcf.gz: ter-u12b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u12b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x12n.pcf.gz: ter-u12n.bdf $(X_10646)
+ $(UCS2ANY) ter-u12n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x12b.pcf.gz: ter-u12b.bdf $(X_10646)
+ $(UCS2ANY) ter-u12b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-114n.pcf.gz: ter-u14n.bdf $(X_88591)
+ $(UCS2ANY) ter-u14n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-114b.pcf.gz: ter-u14b.bdf $(X_88591)
+ $(UCS2ANY) ter-u14b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-214n.pcf.gz: ter-u14n.bdf $(X_88592)
+ $(UCS2ANY) ter-u14n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-214b.pcf.gz: ter-u14b.bdf $(X_88592)
+ $(UCS2ANY) ter-u14b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-514n.pcf.gz: ter-u14n.bdf $(X_88595)
+ $(UCS2ANY) ter-u14n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-514b.pcf.gz: ter-u14b.bdf $(X_88595)
+ $(UCS2ANY) ter-u14b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-714n.pcf.gz: ter-u14n.bdf $(X_88597)
+ $(UCS2ANY) ter-u14n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-714b.pcf.gz: ter-u14b.bdf $(X_88597)
+ $(UCS2ANY) ter-u14b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-914n.pcf.gz: ter-u14n.bdf $(X_88599)
+ $(UCS2ANY) ter-u14n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-914b.pcf.gz: ter-u14b.bdf $(X_88599)
+ $(UCS2ANY) ter-u14b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c14n.pcf.gz: ter-u14n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u14n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c14b.pcf.gz: ter-u14b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u14b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d14n.pcf.gz: ter-u14n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u14n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d14b.pcf.gz: ter-u14b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u14b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f14n.pcf.gz: ter-u14n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u14n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f14b.pcf.gz: ter-u14b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u14b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g14n.pcf.gz: ter-u14n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u14n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g14b.pcf.gz: ter-u14b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u14b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k14n.pcf.gz: ter-u14n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u14n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k14b.pcf.gz: ter-u14b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u14b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p14n.pcf.gz: ter-u14n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u14n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p14b.pcf.gz: ter-u14b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u14b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u14n.pcf.gz: ter-u14n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u14n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u14b.pcf.gz: ter-u14b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u14b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x14n.pcf.gz: ter-u14n.bdf $(X_10646)
+ $(UCS2ANY) ter-u14n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x14b.pcf.gz: ter-u14b.bdf $(X_10646)
+ $(UCS2ANY) ter-u14b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-116n.pcf.gz: ter-u16n.bdf $(X_88591)
+ $(UCS2ANY) ter-u16n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-116b.pcf.gz: ter-u16b.bdf $(X_88591)
+ $(UCS2ANY) ter-u16b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-216n.pcf.gz: ter-u16n.bdf $(X_88592)
+ $(UCS2ANY) ter-u16n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-216b.pcf.gz: ter-u16b.bdf $(X_88592)
+ $(UCS2ANY) ter-u16b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-516n.pcf.gz: ter-u16n.bdf $(X_88595)
+ $(UCS2ANY) ter-u16n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-516b.pcf.gz: ter-u16b.bdf $(X_88595)
+ $(UCS2ANY) ter-u16b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-716n.pcf.gz: ter-u16n.bdf $(X_88597)
+ $(UCS2ANY) ter-u16n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-716b.pcf.gz: ter-u16b.bdf $(X_88597)
+ $(UCS2ANY) ter-u16b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-916n.pcf.gz: ter-u16n.bdf $(X_88599)
+ $(UCS2ANY) ter-u16n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-916b.pcf.gz: ter-u16b.bdf $(X_88599)
+ $(UCS2ANY) ter-u16b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c16n.pcf.gz: ter-u16n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u16n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c16b.pcf.gz: ter-u16b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u16b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d16n.pcf.gz: ter-u16n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u16n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d16b.pcf.gz: ter-u16b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u16b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f16n.pcf.gz: ter-u16n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u16n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f16b.pcf.gz: ter-u16b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u16b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g16n.pcf.gz: ter-u16n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u16n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g16b.pcf.gz: ter-u16b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u16b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k16n.pcf.gz: ter-u16n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u16n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k16b.pcf.gz: ter-u16b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u16b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p16n.pcf.gz: ter-u16n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u16n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p16b.pcf.gz: ter-u16b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u16b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u16n.pcf.gz: ter-u16n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u16n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u16b.pcf.gz: ter-u16b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u16b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x16n.pcf.gz: ter-u16n.bdf $(X_10646)
+ $(UCS2ANY) ter-u16n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x16b.pcf.gz: ter-u16b.bdf $(X_10646)
+ $(UCS2ANY) ter-u16b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-120n.pcf.gz: ter-u20n.bdf $(X_88591)
+ $(UCS2ANY) ter-u20n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-120b.pcf.gz: ter-u20b.bdf $(X_88591)
+ $(UCS2ANY) ter-u20b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-220n.pcf.gz: ter-u20n.bdf $(X_88592)
+ $(UCS2ANY) ter-u20n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-220b.pcf.gz: ter-u20b.bdf $(X_88592)
+ $(UCS2ANY) ter-u20b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-520n.pcf.gz: ter-u20n.bdf $(X_88595)
+ $(UCS2ANY) ter-u20n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-520b.pcf.gz: ter-u20b.bdf $(X_88595)
+ $(UCS2ANY) ter-u20b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-720n.pcf.gz: ter-u20n.bdf $(X_88597)
+ $(UCS2ANY) ter-u20n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-720b.pcf.gz: ter-u20b.bdf $(X_88597)
+ $(UCS2ANY) ter-u20b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-920n.pcf.gz: ter-u20n.bdf $(X_88599)
+ $(UCS2ANY) ter-u20n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-920b.pcf.gz: ter-u20b.bdf $(X_88599)
+ $(UCS2ANY) ter-u20b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c20n.pcf.gz: ter-u20n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u20n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c20b.pcf.gz: ter-u20b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u20b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d20n.pcf.gz: ter-u20n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u20n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d20b.pcf.gz: ter-u20b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u20b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f20n.pcf.gz: ter-u20n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u20n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f20b.pcf.gz: ter-u20b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u20b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g20n.pcf.gz: ter-u20n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u20n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g20b.pcf.gz: ter-u20b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u20b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k20n.pcf.gz: ter-u20n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u20n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k20b.pcf.gz: ter-u20b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u20b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p20n.pcf.gz: ter-u20n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u20n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p20b.pcf.gz: ter-u20b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u20b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u20n.pcf.gz: ter-u20n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u20n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u20b.pcf.gz: ter-u20b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u20b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x20n.pcf.gz: ter-u20n.bdf $(X_10646)
+ $(UCS2ANY) ter-u20n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x20b.pcf.gz: ter-u20b.bdf $(X_10646)
+ $(UCS2ANY) ter-u20b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-122n.pcf.gz: ter-u22n.bdf $(X_88591)
+ $(UCS2ANY) ter-u22n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-122b.pcf.gz: ter-u22b.bdf $(X_88591)
+ $(UCS2ANY) ter-u22b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-222n.pcf.gz: ter-u22n.bdf $(X_88592)
+ $(UCS2ANY) ter-u22n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-222b.pcf.gz: ter-u22b.bdf $(X_88592)
+ $(UCS2ANY) ter-u22b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-522n.pcf.gz: ter-u22n.bdf $(X_88595)
+ $(UCS2ANY) ter-u22n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-522b.pcf.gz: ter-u22b.bdf $(X_88595)
+ $(UCS2ANY) ter-u22b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-722n.pcf.gz: ter-u22n.bdf $(X_88597)
+ $(UCS2ANY) ter-u22n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-722b.pcf.gz: ter-u22b.bdf $(X_88597)
+ $(UCS2ANY) ter-u22b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-922n.pcf.gz: ter-u22n.bdf $(X_88599)
+ $(UCS2ANY) ter-u22n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-922b.pcf.gz: ter-u22b.bdf $(X_88599)
+ $(UCS2ANY) ter-u22b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c22n.pcf.gz: ter-u22n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u22n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c22b.pcf.gz: ter-u22b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u22b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d22n.pcf.gz: ter-u22n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u22n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d22b.pcf.gz: ter-u22b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u22b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f22n.pcf.gz: ter-u22n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u22n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f22b.pcf.gz: ter-u22b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u22b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g22n.pcf.gz: ter-u22n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u22n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g22b.pcf.gz: ter-u22b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u22b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k22n.pcf.gz: ter-u22n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u22n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k22b.pcf.gz: ter-u22b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u22b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p22n.pcf.gz: ter-u22n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u22n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p22b.pcf.gz: ter-u22b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u22b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u22n.pcf.gz: ter-u22n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u22n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u22b.pcf.gz: ter-u22b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u22b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x22n.pcf.gz: ter-u22n.bdf $(X_10646)
+ $(UCS2ANY) ter-u22n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x22b.pcf.gz: ter-u22b.bdf $(X_10646)
+ $(UCS2ANY) ter-u22b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-124n.pcf.gz: ter-u24n.bdf $(X_88591)
+ $(UCS2ANY) ter-u24n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-124b.pcf.gz: ter-u24b.bdf $(X_88591)
+ $(UCS2ANY) ter-u24b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-224n.pcf.gz: ter-u24n.bdf $(X_88592)
+ $(UCS2ANY) ter-u24n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-224b.pcf.gz: ter-u24b.bdf $(X_88592)
+ $(UCS2ANY) ter-u24b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-524n.pcf.gz: ter-u24n.bdf $(X_88595)
+ $(UCS2ANY) ter-u24n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-524b.pcf.gz: ter-u24b.bdf $(X_88595)
+ $(UCS2ANY) ter-u24b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-724n.pcf.gz: ter-u24n.bdf $(X_88597)
+ $(UCS2ANY) ter-u24n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-724b.pcf.gz: ter-u24b.bdf $(X_88597)
+ $(UCS2ANY) ter-u24b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-924n.pcf.gz: ter-u24n.bdf $(X_88599)
+ $(UCS2ANY) ter-u24n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-924b.pcf.gz: ter-u24b.bdf $(X_88599)
+ $(UCS2ANY) ter-u24b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c24n.pcf.gz: ter-u24n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u24n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c24b.pcf.gz: ter-u24b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u24b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d24n.pcf.gz: ter-u24n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u24n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d24b.pcf.gz: ter-u24b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u24b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f24n.pcf.gz: ter-u24n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u24n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f24b.pcf.gz: ter-u24b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u24b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g24n.pcf.gz: ter-u24n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u24n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g24b.pcf.gz: ter-u24b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u24b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k24n.pcf.gz: ter-u24n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u24n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k24b.pcf.gz: ter-u24b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u24b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p24n.pcf.gz: ter-u24n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u24n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p24b.pcf.gz: ter-u24b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u24b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u24n.pcf.gz: ter-u24n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u24n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u24b.pcf.gz: ter-u24b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u24b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x24n.pcf.gz: ter-u24n.bdf $(X_10646)
+ $(UCS2ANY) ter-u24n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x24b.pcf.gz: ter-u24b.bdf $(X_10646)
+ $(UCS2ANY) ter-u24b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-128n.pcf.gz: ter-u28n.bdf $(X_88591)
+ $(UCS2ANY) ter-u28n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-128b.pcf.gz: ter-u28b.bdf $(X_88591)
+ $(UCS2ANY) ter-u28b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-228n.pcf.gz: ter-u28n.bdf $(X_88592)
+ $(UCS2ANY) ter-u28n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-228b.pcf.gz: ter-u28b.bdf $(X_88592)
+ $(UCS2ANY) ter-u28b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-528n.pcf.gz: ter-u28n.bdf $(X_88595)
+ $(UCS2ANY) ter-u28n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-528b.pcf.gz: ter-u28b.bdf $(X_88595)
+ $(UCS2ANY) ter-u28b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-728n.pcf.gz: ter-u28n.bdf $(X_88597)
+ $(UCS2ANY) ter-u28n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-728b.pcf.gz: ter-u28b.bdf $(X_88597)
+ $(UCS2ANY) ter-u28b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-928n.pcf.gz: ter-u28n.bdf $(X_88599)
+ $(UCS2ANY) ter-u28n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-928b.pcf.gz: ter-u28b.bdf $(X_88599)
+ $(UCS2ANY) ter-u28b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c28n.pcf.gz: ter-u28n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u28n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c28b.pcf.gz: ter-u28b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u28b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d28n.pcf.gz: ter-u28n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u28n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d28b.pcf.gz: ter-u28b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u28b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f28n.pcf.gz: ter-u28n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u28n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f28b.pcf.gz: ter-u28b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u28b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g28n.pcf.gz: ter-u28n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u28n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g28b.pcf.gz: ter-u28b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u28b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k28n.pcf.gz: ter-u28n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u28n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k28b.pcf.gz: ter-u28b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u28b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p28n.pcf.gz: ter-u28n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u28n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p28b.pcf.gz: ter-u28b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u28b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u28n.pcf.gz: ter-u28n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u28n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u28b.pcf.gz: ter-u28b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u28b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x28n.pcf.gz: ter-u28n.bdf $(X_10646)
+ $(UCS2ANY) ter-u28n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x28b.pcf.gz: ter-u28b.bdf $(X_10646)
+ $(UCS2ANY) ter-u28b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-132n.pcf.gz: ter-u32n.bdf $(X_88591)
+ $(UCS2ANY) ter-u32n.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-132b.pcf.gz: ter-u32b.bdf $(X_88591)
+ $(UCS2ANY) ter-u32b.bdf $(R_88591) $(X_88591) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-232n.pcf.gz: ter-u32n.bdf $(X_88592)
+ $(UCS2ANY) ter-u32n.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-232b.pcf.gz: ter-u32b.bdf $(X_88592)
+ $(UCS2ANY) ter-u32b.bdf $(R_88592) $(X_88592) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-532n.pcf.gz: ter-u32n.bdf $(X_88595)
+ $(UCS2ANY) ter-u32n.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-532b.pcf.gz: ter-u32b.bdf $(X_88595)
+ $(UCS2ANY) ter-u32b.bdf $(R_88595) $(X_88595) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-732n.pcf.gz: ter-u32n.bdf $(X_88597)
+ $(UCS2ANY) ter-u32n.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-732b.pcf.gz: ter-u32b.bdf $(X_88597)
+ $(UCS2ANY) ter-u32b.bdf $(R_88597) $(X_88597) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-932n.pcf.gz: ter-u32n.bdf $(X_88599)
+ $(UCS2ANY) ter-u32n.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-932b.pcf.gz: ter-u32b.bdf $(X_88599)
+ $(UCS2ANY) ter-u32b.bdf $(R_88599) $(X_88599) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c32n.pcf.gz: ter-u32n.bdf $(X_W1251)
+ $(UCS2ANY) ter-u32n.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-c32b.pcf.gz: ter-u32b.bdf $(X_W1251)
+ $(UCS2ANY) ter-u32b.bdf $(R_W1251) $(X_W1251) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d32n.pcf.gz: ter-u32n.bdf $(X_8859D)
+ $(UCS2ANY) ter-u32n.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-d32b.pcf.gz: ter-u32b.bdf $(X_8859D)
+ $(UCS2ANY) ter-u32b.bdf $(R_8859D) $(X_8859D) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f32n.pcf.gz: ter-u32n.bdf $(X_8859F)
+ $(UCS2ANY) ter-u32n.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-f32b.pcf.gz: ter-u32b.bdf $(X_8859F)
+ $(UCS2ANY) ter-u32b.bdf $(R_8859F) $(X_8859F) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g32n.pcf.gz: ter-u32n.bdf $(X_8859G)
+ $(UCS2ANY) ter-u32n.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-g32b.pcf.gz: ter-u32b.bdf $(X_8859G)
+ $(UCS2ANY) ter-u32b.bdf $(R_8859G) $(X_8859G) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k32n.pcf.gz: ter-u32n.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u32n.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-k32b.pcf.gz: ter-u32b.bdf $(X_KOI8R)
+ $(UCS2ANY) ter-u32b.bdf $(R_KOI8R) $(X_KOI8R) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p32n.pcf.gz: ter-u32n.bdf $(X_PT154)
+ $(UCS2ANY) ter-u32n.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-p32b.pcf.gz: ter-u32b.bdf $(X_PT154)
+ $(UCS2ANY) ter-u32b.bdf $(R_PT154) $(X_PT154) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u32n.pcf.gz: ter-u32n.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u32n.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-u32b.pcf.gz: ter-u32b.bdf $(X_KOI8U)
+ $(UCS2ANY) ter-u32b.bdf $(R_KOI8U) $(X_KOI8U) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x32n.pcf.gz: ter-u32n.bdf $(X_10646)
+ $(UCS2ANY) ter-u32n.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
+
+$(DESTDIR)\ter-x32b.pcf.gz: ter-u32b.bdf $(X_10646)
+ $(UCS2ANY) ter-u32b.bdf $(R_10646) $(X_10646) | $(BDFTOPCF) -t -o $(BASETARGETNAME)
+ gzip -c $(BASETARGETNAME) > $@
+ del $(BASETARGETNAME)
-ter-x32b.pcf: ter-u32b.bdf $(X_10646)
- $(UCS2X11) ter-u32b.bdf $(R_10646) $(X_10646) | $(BDF2PCF) -o $@
-install-pcf: $(PCF)
- mkdir -p $(DESTDIR)$(x11dir)
- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+font_DATA = $(PCF:%=$(DESTDIR)\%.gz) $(PCF_N12:%=$(DESTDIR)\%.gz)
+
+destdir: $(DESTDIR)
+
+all: $(DESTDIR) $(DESTDIR)\fonts.dir $(DESTDIR)\fonts.alias
+
+MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe
-uninstall-pcf:
- for i in $(PCF) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done
+load_makefile $(MHMAKECONF)\mkfontscale\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+$(DESTDIR)\fonts.scale: $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) .
-install-n12: $(PCF_N12)
- mkdir -p $(DESTDIR)$(x11dir)
- for i in $(PCF_N12) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+$(DESTDIR)\fonts.dir: $(DESTDIR)\fonts.scale $(font_DATA) $(MKFONTSCALE)
+ del -e $@
+ cd $(DESTDIR) & $(MKFONTSCALE) -b -s -l .
-uninstall-n12:
- for i in $(PCF_N12) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done
+$(DESTDIR)\fonts.alias: xfonts-terminus.alias
+ copy $< $@
-clean:
- rm -f *.psf *.txt *.raw *.pcf
diff --git a/xorg-server/fonts.src/terminus-font/xfonts-terminus.alias b/xorg-server/fonts.src/terminus-font/xfonts-terminus.alias
new file mode 100644
index 000000000..0147b94b3
--- /dev/null
+++ b/xorg-server/fonts.src/terminus-font/xfonts-terminus.alias
@@ -0,0 +1,212 @@
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! Run the command `update-fonts-alias misc' if you edit this file. !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!
+terminus-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1
+terminus-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso10646-1
+terminus-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso10646-1
+terminus-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso10646-1
+terminus-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso10646-1
+terminus-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso10646-1
+terminus-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso10646-1
+terminus-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso10646-1
+terminus-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso10646-1
+terminus-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso10646-1
+terminus-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso10646-1
+terminus-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso10646-1
+terminus-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso10646-1
+terminus-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso10646-1
+terminus-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso10646-1
+terminus-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso10646-1
+terminus-cp1251-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-microsoft-cp1251
+terminus-cp1251-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-microsoft-cp1251
+terminus-cp1251-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-microsoft-cp1251
+terminus-cp1251-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-microsoft-cp1251
+terminus-cp1251-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-microsoft-cp1251
+terminus-cp1251-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-microsoft-cp1251
+terminus-cp1251-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-microsoft-cp1251
+terminus-cp1251-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-microsoft-cp1251
+terminus-cp1251-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-microsoft-cp1251
+terminus-cp1251-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-microsoft-cp1251
+terminus-cp1251-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-microsoft-cp1251
+terminus-cp1251-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-microsoft-cp1251
+terminus-cp1251-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-microsoft-cp1251
+terminus-cp1251-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-microsoft-cp1251
+terminus-cp1251-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-microsoft-cp1251
+terminus-cp1251-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-microsoft-cp1251
+terminus-pt154-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-paratype-pt154
+terminus-pt154-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-paratype-pt154
+terminus-pt154-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-paratype-pt154
+terminus-pt154-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-paratype-pt154
+terminus-pt154-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-paratype-pt154
+terminus-pt154-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-paratype-pt154
+terminus-pt154-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-paratype-pt154
+terminus-pt154-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-paratype-pt154
+terminus-pt154-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-paratype-pt154
+terminus-pt154-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-paratype-pt154
+terminus-pt154-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-paratype-pt154
+terminus-pt154-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-paratype-pt154
+terminus-pt154-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-paratype-pt154
+terminus-pt154-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-paratype-pt154
+terminus-pt154-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-paratype-pt154
+terminus-pt154-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-paratype-pt154
+terminus-koi8-r-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-koi8-r
+terminus-koi8-r-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-koi8-r
+terminus-koi8-r-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-koi8-r
+terminus-koi8-r-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-koi8-r
+terminus-koi8-r-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-koi8-r
+terminus-koi8-r-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-koi8-r
+terminus-koi8-r-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-koi8-r
+terminus-koi8-r-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-koi8-r
+terminus-koi8-r-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-koi8-r
+terminus-koi8-r-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-koi8-r
+terminus-koi8-r-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-koi8-r
+terminus-koi8-r-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-koi8-r
+terminus-koi8-r-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-koi8-r
+terminus-koi8-r-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-koi8-r
+terminus-koi8-r-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-koi8-r
+terminus-koi8-r-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-koi8-r
+terminus-koi8-u-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-koi8-u
+terminus-koi8-u-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-koi8-u
+terminus-koi8-u-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-koi8-u
+terminus-koi8-u-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-koi8-u
+terminus-koi8-u-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-koi8-u
+terminus-koi8-u-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-koi8-u
+terminus-koi8-u-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-koi8-u
+terminus-koi8-u-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-koi8-u
+terminus-koi8-u-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-koi8-u
+terminus-koi8-u-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-koi8-u
+terminus-koi8-u-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-koi8-u
+terminus-koi8-u-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-koi8-u
+terminus-koi8-u-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-koi8-u
+terminus-koi8-u-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-koi8-u
+terminus-koi8-u-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-koi8-u
+terminus-koi8-u-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-koi8-u
+terminus-iso8859-1-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-1
+terminus-iso8859-1-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-1
+terminus-iso8859-1-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-1
+terminus-iso8859-1-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-1
+terminus-iso8859-1-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-1
+terminus-iso8859-1-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-1
+terminus-iso8859-1-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-1
+terminus-iso8859-1-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-1
+terminus-iso8859-1-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-1
+terminus-iso8859-1-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-1
+terminus-iso8859-1-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-1
+terminus-iso8859-1-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-1
+terminus-iso8859-1-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-1
+terminus-iso8859-1-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-1
+terminus-iso8859-1-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-1
+terminus-iso8859-1-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-1
+terminus-iso8859-2-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-2
+terminus-iso8859-2-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-2
+terminus-iso8859-2-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-2
+terminus-iso8859-2-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-2
+terminus-iso8859-2-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-2
+terminus-iso8859-2-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-2
+terminus-iso8859-2-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-2
+terminus-iso8859-2-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-2
+terminus-iso8859-2-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-2
+terminus-iso8859-2-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-2
+terminus-iso8859-2-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-2
+terminus-iso8859-2-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-2
+terminus-iso8859-2-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-2
+terminus-iso8859-2-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-2
+terminus-iso8859-2-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-2
+terminus-iso8859-2-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-2
+terminus-iso8859-5-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-5
+terminus-iso8859-5-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-5
+terminus-iso8859-5-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-5
+terminus-iso8859-5-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-5
+terminus-iso8859-5-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-5
+terminus-iso8859-5-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-5
+terminus-iso8859-5-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-5
+terminus-iso8859-5-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-5
+terminus-iso8859-5-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-5
+terminus-iso8859-5-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-5
+terminus-iso8859-5-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-5
+terminus-iso8859-5-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-5
+terminus-iso8859-5-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-5
+terminus-iso8859-5-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-5
+terminus-iso8859-5-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-5
+terminus-iso8859-5-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-5
+terminus-iso8859-7-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-7
+terminus-iso8859-7-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-7
+terminus-iso8859-7-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-7
+terminus-iso8859-7-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-7
+terminus-iso8859-7-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-7
+terminus-iso8859-7-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-7
+terminus-iso8859-7-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-7
+terminus-iso8859-7-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-7
+terminus-iso8859-7-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-7
+terminus-iso8859-7-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-7
+terminus-iso8859-7-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-7
+terminus-iso8859-7-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-7
+terminus-iso8859-7-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-7
+terminus-iso8859-7-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-7
+terminus-iso8859-7-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-7
+terminus-iso8859-7-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-7
+terminus-iso8859-9-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-9
+terminus-iso8859-9-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-9
+terminus-iso8859-9-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-9
+terminus-iso8859-9-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-9
+terminus-iso8859-9-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-9
+terminus-iso8859-9-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-9
+terminus-iso8859-9-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-9
+terminus-iso8859-9-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-9
+terminus-iso8859-9-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-9
+terminus-iso8859-9-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-9
+terminus-iso8859-9-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-9
+terminus-iso8859-9-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-9
+terminus-iso8859-9-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-9
+terminus-iso8859-9-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-9
+terminus-iso8859-9-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-9
+terminus-iso8859-9-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-9
+terminus-iso8859-13-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-13
+terminus-iso8859-13-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-13
+terminus-iso8859-13-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-13
+terminus-iso8859-13-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-13
+terminus-iso8859-13-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-13
+terminus-iso8859-13-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-13
+terminus-iso8859-13-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-13
+terminus-iso8859-13-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-13
+terminus-iso8859-13-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-13
+terminus-iso8859-13-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-13
+terminus-iso8859-13-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-13
+terminus-iso8859-13-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-13
+terminus-iso8859-13-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-13
+terminus-iso8859-13-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-13
+terminus-iso8859-13-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-13
+terminus-iso8859-13-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-13
+terminus-iso8859-15-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-15
+terminus-iso8859-15-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-15
+terminus-iso8859-15-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-15
+terminus-iso8859-15-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-15
+terminus-iso8859-15-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-15
+terminus-iso8859-15-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-15
+terminus-iso8859-15-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-15
+terminus-iso8859-15-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-15
+terminus-iso8859-15-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-15
+terminus-iso8859-15-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-15
+terminus-iso8859-15-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-15
+terminus-iso8859-15-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-15
+terminus-iso8859-15-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-15
+terminus-iso8859-15-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-15
+terminus-iso8859-15-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-15
+terminus-iso8859-15-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-15
+terminus-iso8859-16-12 -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso8859-16
+terminus-iso8859-16-14 -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-16
+terminus-iso8859-16-16 -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-16
+terminus-iso8859-16-20 -xos4-terminus-medium-r-normal--20-200-72-72-c-100-iso8859-16
+terminus-iso8859-16-22 -xos4-terminus-medium-r-normal--22-220-72-72-c-110-iso8859-16
+terminus-iso8859-16-24 -xos4-terminus-medium-r-normal--24-240-72-72-c-120-iso8859-16
+terminus-iso8859-16-28 -xos4-terminus-medium-r-normal--28-280-72-72-c-140-iso8859-16
+terminus-iso8859-16-32 -xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso8859-16
+terminus-iso8859-16-bold-12 -xos4-terminus-bold-r-normal--12-120-72-72-c-60-iso8859-16
+terminus-iso8859-16-bold-14 -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-16
+terminus-iso8859-16-bold-16 -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso8859-16
+terminus-iso8859-16-bold-20 -xos4-terminus-bold-r-normal--20-200-72-72-c-100-iso8859-16
+terminus-iso8859-16-bold-22 -xos4-terminus-bold-r-normal--22-220-72-72-c-110-iso8859-16
+terminus-iso8859-16-bold-24 -xos4-terminus-bold-r-normal--24-240-72-72-c-120-iso8859-16
+terminus-iso8859-16-bold-28 -xos4-terminus-bold-r-normal--28-280-72-72-c-140-iso8859-16
+terminus-iso8859-16-bold-32 -xos4-terminus-bold-r-normal--32-320-72-72-c-160-iso8859-16
diff --git a/xorg-server/glx/dispatch.h b/xorg-server/glx/dispatch.h
new file mode 100644
index 000000000..1e0db6389
--- /dev/null
+++ b/xorg-server/glx/dispatch.h
@@ -0,0 +1,14642 @@
+/* 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_
+
+
+#include "glapitable.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.
+ */
+
+#ifdef _MSC_VER
+#ifndef INLINE
+#define INLINE __inline
+#endif
+#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 1152
+
+#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_ActiveTexture 374
+#define _gloffset_ClientActiveTexture 375
+#define _gloffset_MultiTexCoord1d 376
+#define _gloffset_MultiTexCoord1dv 377
+#define _gloffset_MultiTexCoord1fARB 378
+#define _gloffset_MultiTexCoord1fvARB 379
+#define _gloffset_MultiTexCoord1i 380
+#define _gloffset_MultiTexCoord1iv 381
+#define _gloffset_MultiTexCoord1s 382
+#define _gloffset_MultiTexCoord1sv 383
+#define _gloffset_MultiTexCoord2d 384
+#define _gloffset_MultiTexCoord2dv 385
+#define _gloffset_MultiTexCoord2fARB 386
+#define _gloffset_MultiTexCoord2fvARB 387
+#define _gloffset_MultiTexCoord2i 388
+#define _gloffset_MultiTexCoord2iv 389
+#define _gloffset_MultiTexCoord2s 390
+#define _gloffset_MultiTexCoord2sv 391
+#define _gloffset_MultiTexCoord3d 392
+#define _gloffset_MultiTexCoord3dv 393
+#define _gloffset_MultiTexCoord3fARB 394
+#define _gloffset_MultiTexCoord3fvARB 395
+#define _gloffset_MultiTexCoord3i 396
+#define _gloffset_MultiTexCoord3iv 397
+#define _gloffset_MultiTexCoord3s 398
+#define _gloffset_MultiTexCoord3sv 399
+#define _gloffset_MultiTexCoord4d 400
+#define _gloffset_MultiTexCoord4dv 401
+#define _gloffset_MultiTexCoord4fARB 402
+#define _gloffset_MultiTexCoord4fvARB 403
+#define _gloffset_MultiTexCoord4i 404
+#define _gloffset_MultiTexCoord4iv 405
+#define _gloffset_MultiTexCoord4s 406
+#define _gloffset_MultiTexCoord4sv 407
+#define driDispatchRemapTable_size 744
+SERVEXTERN int driDispatchRemapTable[ driDispatchRemapTable_size ];
+
+#define CompressedTexImage1D_remap_index 0
+#define CompressedTexImage2D_remap_index 1
+#define CompressedTexImage3D_remap_index 2
+#define CompressedTexSubImage1D_remap_index 3
+#define CompressedTexSubImage2D_remap_index 4
+#define CompressedTexSubImage3D_remap_index 5
+#define GetCompressedTexImage_remap_index 6
+#define LoadTransposeMatrixd_remap_index 7
+#define LoadTransposeMatrixf_remap_index 8
+#define MultTransposeMatrixd_remap_index 9
+#define MultTransposeMatrixf_remap_index 10
+#define SampleCoverage_remap_index 11
+#define BlendFuncSeparate_remap_index 12
+#define FogCoordPointer_remap_index 13
+#define FogCoordd_remap_index 14
+#define FogCoorddv_remap_index 15
+#define MultiDrawArrays_remap_index 16
+#define PointParameterf_remap_index 17
+#define PointParameterfv_remap_index 18
+#define PointParameteri_remap_index 19
+#define PointParameteriv_remap_index 20
+#define SecondaryColor3b_remap_index 21
+#define SecondaryColor3bv_remap_index 22
+#define SecondaryColor3d_remap_index 23
+#define SecondaryColor3dv_remap_index 24
+#define SecondaryColor3i_remap_index 25
+#define SecondaryColor3iv_remap_index 26
+#define SecondaryColor3s_remap_index 27
+#define SecondaryColor3sv_remap_index 28
+#define SecondaryColor3ub_remap_index 29
+#define SecondaryColor3ubv_remap_index 30
+#define SecondaryColor3ui_remap_index 31
+#define SecondaryColor3uiv_remap_index 32
+#define SecondaryColor3us_remap_index 33
+#define SecondaryColor3usv_remap_index 34
+#define SecondaryColorPointer_remap_index 35
+#define WindowPos2d_remap_index 36
+#define WindowPos2dv_remap_index 37
+#define WindowPos2f_remap_index 38
+#define WindowPos2fv_remap_index 39
+#define WindowPos2i_remap_index 40
+#define WindowPos2iv_remap_index 41
+#define WindowPos2s_remap_index 42
+#define WindowPos2sv_remap_index 43
+#define WindowPos3d_remap_index 44
+#define WindowPos3dv_remap_index 45
+#define WindowPos3f_remap_index 46
+#define WindowPos3fv_remap_index 47
+#define WindowPos3i_remap_index 48
+#define WindowPos3iv_remap_index 49
+#define WindowPos3s_remap_index 50
+#define WindowPos3sv_remap_index 51
+#define BeginQuery_remap_index 52
+#define BindBuffer_remap_index 53
+#define BufferData_remap_index 54
+#define BufferSubData_remap_index 55
+#define DeleteBuffers_remap_index 56
+#define DeleteQueries_remap_index 57
+#define EndQuery_remap_index 58
+#define GenBuffers_remap_index 59
+#define GenQueries_remap_index 60
+#define GetBufferParameteriv_remap_index 61
+#define GetBufferPointerv_remap_index 62
+#define GetBufferSubData_remap_index 63
+#define GetQueryObjectiv_remap_index 64
+#define GetQueryObjectuiv_remap_index 65
+#define GetQueryiv_remap_index 66
+#define IsBuffer_remap_index 67
+#define IsQuery_remap_index 68
+#define MapBuffer_remap_index 69
+#define UnmapBuffer_remap_index 70
+#define AttachShader_remap_index 71
+#define BindAttribLocation_remap_index 72
+#define BlendEquationSeparate_remap_index 73
+#define CompileShader_remap_index 74
+#define CreateProgram_remap_index 75
+#define CreateShader_remap_index 76
+#define DeleteProgram_remap_index 77
+#define DeleteShader_remap_index 78
+#define DetachShader_remap_index 79
+#define DisableVertexAttribArray_remap_index 80
+#define DrawBuffers_remap_index 81
+#define EnableVertexAttribArray_remap_index 82
+#define GetActiveAttrib_remap_index 83
+#define GetActiveUniform_remap_index 84
+#define GetAttachedShaders_remap_index 85
+#define GetAttribLocation_remap_index 86
+#define GetProgramInfoLog_remap_index 87
+#define GetProgramiv_remap_index 88
+#define GetShaderInfoLog_remap_index 89
+#define GetShaderSource_remap_index 90
+#define GetShaderiv_remap_index 91
+#define GetUniformLocation_remap_index 92
+#define GetUniformfv_remap_index 93
+#define GetUniformiv_remap_index 94
+#define GetVertexAttribPointerv_remap_index 95
+#define GetVertexAttribdv_remap_index 96
+#define GetVertexAttribfv_remap_index 97
+#define GetVertexAttribiv_remap_index 98
+#define IsProgram_remap_index 99
+#define IsShader_remap_index 100
+#define LinkProgram_remap_index 101
+#define ShaderSource_remap_index 102
+#define StencilFuncSeparate_remap_index 103
+#define StencilMaskSeparate_remap_index 104
+#define StencilOpSeparate_remap_index 105
+#define Uniform1f_remap_index 106
+#define Uniform1fv_remap_index 107
+#define Uniform1i_remap_index 108
+#define Uniform1iv_remap_index 109
+#define Uniform2f_remap_index 110
+#define Uniform2fv_remap_index 111
+#define Uniform2i_remap_index 112
+#define Uniform2iv_remap_index 113
+#define Uniform3f_remap_index 114
+#define Uniform3fv_remap_index 115
+#define Uniform3i_remap_index 116
+#define Uniform3iv_remap_index 117
+#define Uniform4f_remap_index 118
+#define Uniform4fv_remap_index 119
+#define Uniform4i_remap_index 120
+#define Uniform4iv_remap_index 121
+#define UniformMatrix2fv_remap_index 122
+#define UniformMatrix3fv_remap_index 123
+#define UniformMatrix4fv_remap_index 124
+#define UseProgram_remap_index 125
+#define ValidateProgram_remap_index 126
+#define VertexAttrib1d_remap_index 127
+#define VertexAttrib1dv_remap_index 128
+#define VertexAttrib1s_remap_index 129
+#define VertexAttrib1sv_remap_index 130
+#define VertexAttrib2d_remap_index 131
+#define VertexAttrib2dv_remap_index 132
+#define VertexAttrib2s_remap_index 133
+#define VertexAttrib2sv_remap_index 134
+#define VertexAttrib3d_remap_index 135
+#define VertexAttrib3dv_remap_index 136
+#define VertexAttrib3s_remap_index 137
+#define VertexAttrib3sv_remap_index 138
+#define VertexAttrib4Nbv_remap_index 139
+#define VertexAttrib4Niv_remap_index 140
+#define VertexAttrib4Nsv_remap_index 141
+#define VertexAttrib4Nub_remap_index 142
+#define VertexAttrib4Nubv_remap_index 143
+#define VertexAttrib4Nuiv_remap_index 144
+#define VertexAttrib4Nusv_remap_index 145
+#define VertexAttrib4bv_remap_index 146
+#define VertexAttrib4d_remap_index 147
+#define VertexAttrib4dv_remap_index 148
+#define VertexAttrib4iv_remap_index 149
+#define VertexAttrib4s_remap_index 150
+#define VertexAttrib4sv_remap_index 151
+#define VertexAttrib4ubv_remap_index 152
+#define VertexAttrib4uiv_remap_index 153
+#define VertexAttrib4usv_remap_index 154
+#define VertexAttribPointer_remap_index 155
+#define UniformMatrix2x3fv_remap_index 156
+#define UniformMatrix2x4fv_remap_index 157
+#define UniformMatrix3x2fv_remap_index 158
+#define UniformMatrix3x4fv_remap_index 159
+#define UniformMatrix4x2fv_remap_index 160
+#define UniformMatrix4x3fv_remap_index 161
+#define BeginConditionalRender_remap_index 162
+#define BeginTransformFeedback_remap_index 163
+#define BindBufferBase_remap_index 164
+#define BindBufferRange_remap_index 165
+#define BindFragDataLocation_remap_index 166
+#define ClampColor_remap_index 167
+#define ClearBufferfi_remap_index 168
+#define ClearBufferfv_remap_index 169
+#define ClearBufferiv_remap_index 170
+#define ClearBufferuiv_remap_index 171
+#define ColorMaski_remap_index 172
+#define Disablei_remap_index 173
+#define Enablei_remap_index 174
+#define EndConditionalRender_remap_index 175
+#define EndTransformFeedback_remap_index 176
+#define GetBooleani_v_remap_index 177
+#define GetFragDataLocation_remap_index 178
+#define GetIntegeri_v_remap_index 179
+#define GetStringi_remap_index 180
+#define GetTexParameterIiv_remap_index 181
+#define GetTexParameterIuiv_remap_index 182
+#define GetTransformFeedbackVarying_remap_index 183
+#define GetUniformuiv_remap_index 184
+#define GetVertexAttribIiv_remap_index 185
+#define GetVertexAttribIuiv_remap_index 186
+#define IsEnabledi_remap_index 187
+#define TexParameterIiv_remap_index 188
+#define TexParameterIuiv_remap_index 189
+#define TransformFeedbackVaryings_remap_index 190
+#define Uniform1ui_remap_index 191
+#define Uniform1uiv_remap_index 192
+#define Uniform2ui_remap_index 193
+#define Uniform2uiv_remap_index 194
+#define Uniform3ui_remap_index 195
+#define Uniform3uiv_remap_index 196
+#define Uniform4ui_remap_index 197
+#define Uniform4uiv_remap_index 198
+#define VertexAttribI1iv_remap_index 199
+#define VertexAttribI1uiv_remap_index 200
+#define VertexAttribI4bv_remap_index 201
+#define VertexAttribI4sv_remap_index 202
+#define VertexAttribI4ubv_remap_index 203
+#define VertexAttribI4usv_remap_index 204
+#define VertexAttribIPointer_remap_index 205
+#define PrimitiveRestartIndex_remap_index 206
+#define TexBuffer_remap_index 207
+#define FramebufferTexture_remap_index 208
+#define GetBufferParameteri64v_remap_index 209
+#define GetInteger64i_v_remap_index 210
+#define VertexAttribDivisor_remap_index 211
+#define MinSampleShading_remap_index 212
+#define BindProgramARB_remap_index 213
+#define DeleteProgramsARB_remap_index 214
+#define GenProgramsARB_remap_index 215
+#define GetProgramEnvParameterdvARB_remap_index 216
+#define GetProgramEnvParameterfvARB_remap_index 217
+#define GetProgramLocalParameterdvARB_remap_index 218
+#define GetProgramLocalParameterfvARB_remap_index 219
+#define GetProgramStringARB_remap_index 220
+#define GetProgramivARB_remap_index 221
+#define IsProgramARB_remap_index 222
+#define ProgramEnvParameter4dARB_remap_index 223
+#define ProgramEnvParameter4dvARB_remap_index 224
+#define ProgramEnvParameter4fARB_remap_index 225
+#define ProgramEnvParameter4fvARB_remap_index 226
+#define ProgramLocalParameter4dARB_remap_index 227
+#define ProgramLocalParameter4dvARB_remap_index 228
+#define ProgramLocalParameter4fARB_remap_index 229
+#define ProgramLocalParameter4fvARB_remap_index 230
+#define ProgramStringARB_remap_index 231
+#define VertexAttrib1fARB_remap_index 232
+#define VertexAttrib1fvARB_remap_index 233
+#define VertexAttrib2fARB_remap_index 234
+#define VertexAttrib2fvARB_remap_index 235
+#define VertexAttrib3fARB_remap_index 236
+#define VertexAttrib3fvARB_remap_index 237
+#define VertexAttrib4fARB_remap_index 238
+#define VertexAttrib4fvARB_remap_index 239
+#define AttachObjectARB_remap_index 240
+#define CreateProgramObjectARB_remap_index 241
+#define CreateShaderObjectARB_remap_index 242
+#define DeleteObjectARB_remap_index 243
+#define DetachObjectARB_remap_index 244
+#define GetAttachedObjectsARB_remap_index 245
+#define GetHandleARB_remap_index 246
+#define GetInfoLogARB_remap_index 247
+#define GetObjectParameterfvARB_remap_index 248
+#define GetObjectParameterivARB_remap_index 249
+#define DrawArraysInstancedARB_remap_index 250
+#define DrawElementsInstancedARB_remap_index 251
+#define BindFramebuffer_remap_index 252
+#define BindRenderbuffer_remap_index 253
+#define BlitFramebuffer_remap_index 254
+#define CheckFramebufferStatus_remap_index 255
+#define DeleteFramebuffers_remap_index 256
+#define DeleteRenderbuffers_remap_index 257
+#define FramebufferRenderbuffer_remap_index 258
+#define FramebufferTexture1D_remap_index 259
+#define FramebufferTexture2D_remap_index 260
+#define FramebufferTexture3D_remap_index 261
+#define FramebufferTextureLayer_remap_index 262
+#define GenFramebuffers_remap_index 263
+#define GenRenderbuffers_remap_index 264
+#define GenerateMipmap_remap_index 265
+#define GetFramebufferAttachmentParameteriv_remap_index 266
+#define GetRenderbufferParameteriv_remap_index 267
+#define IsFramebuffer_remap_index 268
+#define IsRenderbuffer_remap_index 269
+#define RenderbufferStorage_remap_index 270
+#define RenderbufferStorageMultisample_remap_index 271
+#define FramebufferTextureFaceARB_remap_index 272
+#define FlushMappedBufferRange_remap_index 273
+#define MapBufferRange_remap_index 274
+#define BindVertexArray_remap_index 275
+#define DeleteVertexArrays_remap_index 276
+#define GenVertexArrays_remap_index 277
+#define IsVertexArray_remap_index 278
+#define GetActiveUniformBlockName_remap_index 279
+#define GetActiveUniformBlockiv_remap_index 280
+#define GetActiveUniformName_remap_index 281
+#define GetActiveUniformsiv_remap_index 282
+#define GetUniformBlockIndex_remap_index 283
+#define GetUniformIndices_remap_index 284
+#define UniformBlockBinding_remap_index 285
+#define CopyBufferSubData_remap_index 286
+#define ClientWaitSync_remap_index 287
+#define DeleteSync_remap_index 288
+#define FenceSync_remap_index 289
+#define GetInteger64v_remap_index 290
+#define GetSynciv_remap_index 291
+#define IsSync_remap_index 292
+#define WaitSync_remap_index 293
+#define DrawElementsBaseVertex_remap_index 294
+#define DrawElementsInstancedBaseVertex_remap_index 295
+#define DrawRangeElementsBaseVertex_remap_index 296
+#define MultiDrawElementsBaseVertex_remap_index 297
+#define ProvokingVertex_remap_index 298
+#define GetMultisamplefv_remap_index 299
+#define SampleMaski_remap_index 300
+#define TexImage2DMultisample_remap_index 301
+#define TexImage3DMultisample_remap_index 302
+#define BlendEquationSeparateiARB_remap_index 303
+#define BlendEquationiARB_remap_index 304
+#define BlendFuncSeparateiARB_remap_index 305
+#define BlendFunciARB_remap_index 306
+#define BindFragDataLocationIndexed_remap_index 307
+#define GetFragDataIndex_remap_index 308
+#define BindSampler_remap_index 309
+#define DeleteSamplers_remap_index 310
+#define GenSamplers_remap_index 311
+#define GetSamplerParameterIiv_remap_index 312
+#define GetSamplerParameterIuiv_remap_index 313
+#define GetSamplerParameterfv_remap_index 314
+#define GetSamplerParameteriv_remap_index 315
+#define IsSampler_remap_index 316
+#define SamplerParameterIiv_remap_index 317
+#define SamplerParameterIuiv_remap_index 318
+#define SamplerParameterf_remap_index 319
+#define SamplerParameterfv_remap_index 320
+#define SamplerParameteri_remap_index 321
+#define SamplerParameteriv_remap_index 322
+#define GetQueryObjecti64v_remap_index 323
+#define GetQueryObjectui64v_remap_index 324
+#define QueryCounter_remap_index 325
+#define ColorP3ui_remap_index 326
+#define ColorP3uiv_remap_index 327
+#define ColorP4ui_remap_index 328
+#define ColorP4uiv_remap_index 329
+#define MultiTexCoordP1ui_remap_index 330
+#define MultiTexCoordP1uiv_remap_index 331
+#define MultiTexCoordP2ui_remap_index 332
+#define MultiTexCoordP2uiv_remap_index 333
+#define MultiTexCoordP3ui_remap_index 334
+#define MultiTexCoordP3uiv_remap_index 335
+#define MultiTexCoordP4ui_remap_index 336
+#define MultiTexCoordP4uiv_remap_index 337
+#define NormalP3ui_remap_index 338
+#define NormalP3uiv_remap_index 339
+#define SecondaryColorP3ui_remap_index 340
+#define SecondaryColorP3uiv_remap_index 341
+#define TexCoordP1ui_remap_index 342
+#define TexCoordP1uiv_remap_index 343
+#define TexCoordP2ui_remap_index 344
+#define TexCoordP2uiv_remap_index 345
+#define TexCoordP3ui_remap_index 346
+#define TexCoordP3uiv_remap_index 347
+#define TexCoordP4ui_remap_index 348
+#define TexCoordP4uiv_remap_index 349
+#define VertexAttribP1ui_remap_index 350
+#define VertexAttribP1uiv_remap_index 351
+#define VertexAttribP2ui_remap_index 352
+#define VertexAttribP2uiv_remap_index 353
+#define VertexAttribP3ui_remap_index 354
+#define VertexAttribP3uiv_remap_index 355
+#define VertexAttribP4ui_remap_index 356
+#define VertexAttribP4uiv_remap_index 357
+#define VertexP2ui_remap_index 358
+#define VertexP2uiv_remap_index 359
+#define VertexP3ui_remap_index 360
+#define VertexP3uiv_remap_index 361
+#define VertexP4ui_remap_index 362
+#define VertexP4uiv_remap_index 363
+#define DrawArraysIndirect_remap_index 364
+#define DrawElementsIndirect_remap_index 365
+#define BindTransformFeedback_remap_index 366
+#define DeleteTransformFeedbacks_remap_index 367
+#define DrawTransformFeedback_remap_index 368
+#define GenTransformFeedbacks_remap_index 369
+#define IsTransformFeedback_remap_index 370
+#define PauseTransformFeedback_remap_index 371
+#define ResumeTransformFeedback_remap_index 372
+#define BeginQueryIndexed_remap_index 373
+#define DrawTransformFeedbackStream_remap_index 374
+#define EndQueryIndexed_remap_index 375
+#define GetQueryIndexediv_remap_index 376
+#define ClearDepthf_remap_index 377
+#define DepthRangef_remap_index 378
+#define GetShaderPrecisionFormat_remap_index 379
+#define ReleaseShaderCompiler_remap_index 380
+#define ShaderBinary_remap_index 381
+#define GetProgramBinary_remap_index 382
+#define ProgramBinary_remap_index 383
+#define ProgramParameteri_remap_index 384
+#define DepthRangeArrayv_remap_index 385
+#define DepthRangeIndexed_remap_index 386
+#define GetDoublei_v_remap_index 387
+#define GetFloati_v_remap_index 388
+#define ScissorArrayv_remap_index 389
+#define ScissorIndexed_remap_index 390
+#define ScissorIndexedv_remap_index 391
+#define ViewportArrayv_remap_index 392
+#define ViewportIndexedf_remap_index 393
+#define ViewportIndexedfv_remap_index 394
+#define GetGraphicsResetStatusARB_remap_index 395
+#define GetnColorTableARB_remap_index 396
+#define GetnCompressedTexImageARB_remap_index 397
+#define GetnConvolutionFilterARB_remap_index 398
+#define GetnHistogramARB_remap_index 399
+#define GetnMapdvARB_remap_index 400
+#define GetnMapfvARB_remap_index 401
+#define GetnMapivARB_remap_index 402
+#define GetnMinmaxARB_remap_index 403
+#define GetnPixelMapfvARB_remap_index 404
+#define GetnPixelMapuivARB_remap_index 405
+#define GetnPixelMapusvARB_remap_index 406
+#define GetnPolygonStippleARB_remap_index 407
+#define GetnSeparableFilterARB_remap_index 408
+#define GetnTexImageARB_remap_index 409
+#define GetnUniformdvARB_remap_index 410
+#define GetnUniformfvARB_remap_index 411
+#define GetnUniformivARB_remap_index 412
+#define GetnUniformuivARB_remap_index 413
+#define ReadnPixelsARB_remap_index 414
+#define DrawArraysInstancedBaseInstance_remap_index 415
+#define DrawElementsInstancedBaseInstance_remap_index 416
+#define DrawElementsInstancedBaseVertexBaseInstance_remap_index 417
+#define DrawTransformFeedbackInstanced_remap_index 418
+#define DrawTransformFeedbackStreamInstanced_remap_index 419
+#define GetInternalformativ_remap_index 420
+#define GetActiveAtomicCounterBufferiv_remap_index 421
+#define BindImageTexture_remap_index 422
+#define MemoryBarrier_remap_index 423
+#define TexStorage1D_remap_index 424
+#define TexStorage2D_remap_index 425
+#define TexStorage3D_remap_index 426
+#define TextureStorage1DEXT_remap_index 427
+#define TextureStorage2DEXT_remap_index 428
+#define TextureStorage3DEXT_remap_index 429
+#define ClearBufferData_remap_index 430
+#define ClearBufferSubData_remap_index 431
+#define DispatchCompute_remap_index 432
+#define DispatchComputeIndirect_remap_index 433
+#define TextureView_remap_index 434
+#define BindVertexBuffer_remap_index 435
+#define VertexAttribBinding_remap_index 436
+#define VertexAttribFormat_remap_index 437
+#define VertexAttribIFormat_remap_index 438
+#define VertexAttribLFormat_remap_index 439
+#define VertexBindingDivisor_remap_index 440
+#define MultiDrawArraysIndirect_remap_index 441
+#define MultiDrawElementsIndirect_remap_index 442
+#define TexBufferRange_remap_index 443
+#define TexStorage2DMultisample_remap_index 444
+#define TexStorage3DMultisample_remap_index 445
+#define BufferStorage_remap_index 446
+#define BindBuffersBase_remap_index 447
+#define BindBuffersRange_remap_index 448
+#define BindImageTextures_remap_index 449
+#define BindSamplers_remap_index 450
+#define BindTextures_remap_index 451
+#define BindVertexBuffers_remap_index 452
+#define InvalidateBufferData_remap_index 453
+#define InvalidateBufferSubData_remap_index 454
+#define InvalidateFramebuffer_remap_index 455
+#define InvalidateSubFramebuffer_remap_index 456
+#define InvalidateTexImage_remap_index 457
+#define InvalidateTexSubImage_remap_index 458
+#define PolygonOffsetEXT_remap_index 459
+#define DrawTexfOES_remap_index 460
+#define DrawTexfvOES_remap_index 461
+#define DrawTexiOES_remap_index 462
+#define DrawTexivOES_remap_index 463
+#define DrawTexsOES_remap_index 464
+#define DrawTexsvOES_remap_index 465
+#define DrawTexxOES_remap_index 466
+#define DrawTexxvOES_remap_index 467
+#define PointSizePointerOES_remap_index 468
+#define QueryMatrixxOES_remap_index 469
+#define SampleMaskSGIS_remap_index 470
+#define SamplePatternSGIS_remap_index 471
+#define ColorPointerEXT_remap_index 472
+#define EdgeFlagPointerEXT_remap_index 473
+#define IndexPointerEXT_remap_index 474
+#define NormalPointerEXT_remap_index 475
+#define TexCoordPointerEXT_remap_index 476
+#define VertexPointerEXT_remap_index 477
+#define DiscardFramebufferEXT_remap_index 478
+#define ActiveShaderProgram_remap_index 479
+#define BindProgramPipeline_remap_index 480
+#define CreateShaderProgramv_remap_index 481
+#define DeleteProgramPipelines_remap_index 482
+#define GenProgramPipelines_remap_index 483
+#define GetProgramPipelineInfoLog_remap_index 484
+#define GetProgramPipelineiv_remap_index 485
+#define IsProgramPipeline_remap_index 486
+#define LockArraysEXT_remap_index 487
+#define ProgramUniform1f_remap_index 488
+#define ProgramUniform1fv_remap_index 489
+#define ProgramUniform1i_remap_index 490
+#define ProgramUniform1iv_remap_index 491
+#define ProgramUniform1ui_remap_index 492
+#define ProgramUniform1uiv_remap_index 493
+#define ProgramUniform2f_remap_index 494
+#define ProgramUniform2fv_remap_index 495
+#define ProgramUniform2i_remap_index 496
+#define ProgramUniform2iv_remap_index 497
+#define ProgramUniform2ui_remap_index 498
+#define ProgramUniform2uiv_remap_index 499
+#define ProgramUniform3f_remap_index 500
+#define ProgramUniform3fv_remap_index 501
+#define ProgramUniform3i_remap_index 502
+#define ProgramUniform3iv_remap_index 503
+#define ProgramUniform3ui_remap_index 504
+#define ProgramUniform3uiv_remap_index 505
+#define ProgramUniform4f_remap_index 506
+#define ProgramUniform4fv_remap_index 507
+#define ProgramUniform4i_remap_index 508
+#define ProgramUniform4iv_remap_index 509
+#define ProgramUniform4ui_remap_index 510
+#define ProgramUniform4uiv_remap_index 511
+#define ProgramUniformMatrix2fv_remap_index 512
+#define ProgramUniformMatrix2x3fv_remap_index 513
+#define ProgramUniformMatrix2x4fv_remap_index 514
+#define ProgramUniformMatrix3fv_remap_index 515
+#define ProgramUniformMatrix3x2fv_remap_index 516
+#define ProgramUniformMatrix3x4fv_remap_index 517
+#define ProgramUniformMatrix4fv_remap_index 518
+#define ProgramUniformMatrix4x2fv_remap_index 519
+#define ProgramUniformMatrix4x3fv_remap_index 520
+#define UnlockArraysEXT_remap_index 521
+#define UseProgramStages_remap_index 522
+#define ValidateProgramPipeline_remap_index 523
+#define DebugMessageCallback_remap_index 524
+#define DebugMessageControl_remap_index 525
+#define DebugMessageInsert_remap_index 526
+#define GetDebugMessageLog_remap_index 527
+#define GetObjectLabel_remap_index 528
+#define GetObjectPtrLabel_remap_index 529
+#define ObjectLabel_remap_index 530
+#define ObjectPtrLabel_remap_index 531
+#define PopDebugGroup_remap_index 532
+#define PushDebugGroup_remap_index 533
+#define SecondaryColor3fEXT_remap_index 534
+#define SecondaryColor3fvEXT_remap_index 535
+#define MultiDrawElementsEXT_remap_index 536
+#define FogCoordfEXT_remap_index 537
+#define FogCoordfvEXT_remap_index 538
+#define ResizeBuffersMESA_remap_index 539
+#define WindowPos4dMESA_remap_index 540
+#define WindowPos4dvMESA_remap_index 541
+#define WindowPos4fMESA_remap_index 542
+#define WindowPos4fvMESA_remap_index 543
+#define WindowPos4iMESA_remap_index 544
+#define WindowPos4ivMESA_remap_index 545
+#define WindowPos4sMESA_remap_index 546
+#define WindowPos4svMESA_remap_index 547
+#define MultiModeDrawArraysIBM_remap_index 548
+#define MultiModeDrawElementsIBM_remap_index 549
+#define AreProgramsResidentNV_remap_index 550
+#define ExecuteProgramNV_remap_index 551
+#define GetProgramParameterdvNV_remap_index 552
+#define GetProgramParameterfvNV_remap_index 553
+#define GetProgramStringNV_remap_index 554
+#define GetProgramivNV_remap_index 555
+#define GetTrackMatrixivNV_remap_index 556
+#define GetVertexAttribdvNV_remap_index 557
+#define GetVertexAttribfvNV_remap_index 558
+#define GetVertexAttribivNV_remap_index 559
+#define LoadProgramNV_remap_index 560
+#define ProgramParameters4dvNV_remap_index 561
+#define ProgramParameters4fvNV_remap_index 562
+#define RequestResidentProgramsNV_remap_index 563
+#define TrackMatrixNV_remap_index 564
+#define VertexAttrib1dNV_remap_index 565
+#define VertexAttrib1dvNV_remap_index 566
+#define VertexAttrib1fNV_remap_index 567
+#define VertexAttrib1fvNV_remap_index 568
+#define VertexAttrib1sNV_remap_index 569
+#define VertexAttrib1svNV_remap_index 570
+#define VertexAttrib2dNV_remap_index 571
+#define VertexAttrib2dvNV_remap_index 572
+#define VertexAttrib2fNV_remap_index 573
+#define VertexAttrib2fvNV_remap_index 574
+#define VertexAttrib2sNV_remap_index 575
+#define VertexAttrib2svNV_remap_index 576
+#define VertexAttrib3dNV_remap_index 577
+#define VertexAttrib3dvNV_remap_index 578
+#define VertexAttrib3fNV_remap_index 579
+#define VertexAttrib3fvNV_remap_index 580
+#define VertexAttrib3sNV_remap_index 581
+#define VertexAttrib3svNV_remap_index 582
+#define VertexAttrib4dNV_remap_index 583
+#define VertexAttrib4dvNV_remap_index 584
+#define VertexAttrib4fNV_remap_index 585
+#define VertexAttrib4fvNV_remap_index 586
+#define VertexAttrib4sNV_remap_index 587
+#define VertexAttrib4svNV_remap_index 588
+#define VertexAttrib4ubNV_remap_index 589
+#define VertexAttrib4ubvNV_remap_index 590
+#define VertexAttribPointerNV_remap_index 591
+#define VertexAttribs1dvNV_remap_index 592
+#define VertexAttribs1fvNV_remap_index 593
+#define VertexAttribs1svNV_remap_index 594
+#define VertexAttribs2dvNV_remap_index 595
+#define VertexAttribs2fvNV_remap_index 596
+#define VertexAttribs2svNV_remap_index 597
+#define VertexAttribs3dvNV_remap_index 598
+#define VertexAttribs3fvNV_remap_index 599
+#define VertexAttribs3svNV_remap_index 600
+#define VertexAttribs4dvNV_remap_index 601
+#define VertexAttribs4fvNV_remap_index 602
+#define VertexAttribs4svNV_remap_index 603
+#define VertexAttribs4ubvNV_remap_index 604
+#define GetTexBumpParameterfvATI_remap_index 605
+#define GetTexBumpParameterivATI_remap_index 606
+#define TexBumpParameterfvATI_remap_index 607
+#define TexBumpParameterivATI_remap_index 608
+#define AlphaFragmentOp1ATI_remap_index 609
+#define AlphaFragmentOp2ATI_remap_index 610
+#define AlphaFragmentOp3ATI_remap_index 611
+#define BeginFragmentShaderATI_remap_index 612
+#define BindFragmentShaderATI_remap_index 613
+#define ColorFragmentOp1ATI_remap_index 614
+#define ColorFragmentOp2ATI_remap_index 615
+#define ColorFragmentOp3ATI_remap_index 616
+#define DeleteFragmentShaderATI_remap_index 617
+#define EndFragmentShaderATI_remap_index 618
+#define GenFragmentShadersATI_remap_index 619
+#define PassTexCoordATI_remap_index 620
+#define SampleMapATI_remap_index 621
+#define SetFragmentShaderConstantATI_remap_index 622
+#define ActiveStencilFaceEXT_remap_index 623
+#define BindVertexArrayAPPLE_remap_index 624
+#define GenVertexArraysAPPLE_remap_index 625
+#define GetProgramNamedParameterdvNV_remap_index 626
+#define GetProgramNamedParameterfvNV_remap_index 627
+#define ProgramNamedParameter4dNV_remap_index 628
+#define ProgramNamedParameter4dvNV_remap_index 629
+#define ProgramNamedParameter4fNV_remap_index 630
+#define ProgramNamedParameter4fvNV_remap_index 631
+#define PrimitiveRestartNV_remap_index 632
+#define GetTexGenxvOES_remap_index 633
+#define TexGenxOES_remap_index 634
+#define TexGenxvOES_remap_index 635
+#define DepthBoundsEXT_remap_index 636
+#define BindFramebufferEXT_remap_index 637
+#define BindRenderbufferEXT_remap_index 638
+#define BufferParameteriAPPLE_remap_index 639
+#define FlushMappedBufferRangeAPPLE_remap_index 640
+#define VertexAttribI1iEXT_remap_index 641
+#define VertexAttribI1uiEXT_remap_index 642
+#define VertexAttribI2iEXT_remap_index 643
+#define VertexAttribI2ivEXT_remap_index 644
+#define VertexAttribI2uiEXT_remap_index 645
+#define VertexAttribI2uivEXT_remap_index 646
+#define VertexAttribI3iEXT_remap_index 647
+#define VertexAttribI3ivEXT_remap_index 648
+#define VertexAttribI3uiEXT_remap_index 649
+#define VertexAttribI3uivEXT_remap_index 650
+#define VertexAttribI4iEXT_remap_index 651
+#define VertexAttribI4ivEXT_remap_index 652
+#define VertexAttribI4uiEXT_remap_index 653
+#define VertexAttribI4uivEXT_remap_index 654
+#define ClearColorIiEXT_remap_index 655
+#define ClearColorIuiEXT_remap_index 656
+#define BindBufferOffsetEXT_remap_index 657
+#define BeginPerfMonitorAMD_remap_index 658
+#define DeletePerfMonitorsAMD_remap_index 659
+#define EndPerfMonitorAMD_remap_index 660
+#define GenPerfMonitorsAMD_remap_index 661
+#define GetPerfMonitorCounterDataAMD_remap_index 662
+#define GetPerfMonitorCounterInfoAMD_remap_index 663
+#define GetPerfMonitorCounterStringAMD_remap_index 664
+#define GetPerfMonitorCountersAMD_remap_index 665
+#define GetPerfMonitorGroupStringAMD_remap_index 666
+#define GetPerfMonitorGroupsAMD_remap_index 667
+#define SelectPerfMonitorCountersAMD_remap_index 668
+#define GetObjectParameterivAPPLE_remap_index 669
+#define ObjectPurgeableAPPLE_remap_index 670
+#define ObjectUnpurgeableAPPLE_remap_index 671
+#define ActiveProgramEXT_remap_index 672
+#define CreateShaderProgramEXT_remap_index 673
+#define UseShaderProgramEXT_remap_index 674
+#define TextureBarrierNV_remap_index 675
+#define VDPAUFiniNV_remap_index 676
+#define VDPAUGetSurfaceivNV_remap_index 677
+#define VDPAUInitNV_remap_index 678
+#define VDPAUIsSurfaceNV_remap_index 679
+#define VDPAUMapSurfacesNV_remap_index 680
+#define VDPAURegisterOutputSurfaceNV_remap_index 681
+#define VDPAURegisterVideoSurfaceNV_remap_index 682
+#define VDPAUSurfaceAccessNV_remap_index 683
+#define VDPAUUnmapSurfacesNV_remap_index 684
+#define VDPAUUnregisterSurfaceNV_remap_index 685
+#define BeginPerfQueryINTEL_remap_index 686
+#define CreatePerfQueryINTEL_remap_index 687
+#define DeletePerfQueryINTEL_remap_index 688
+#define EndPerfQueryINTEL_remap_index 689
+#define GetFirstPerfQueryIdINTEL_remap_index 690
+#define GetNextPerfQueryIdINTEL_remap_index 691
+#define GetPerfCounterInfoINTEL_remap_index 692
+#define GetPerfQueryDataINTEL_remap_index 693
+#define GetPerfQueryIdByNameINTEL_remap_index 694
+#define GetPerfQueryInfoINTEL_remap_index 695
+#define StencilFuncSeparateATI_remap_index 696
+#define ProgramEnvParameters4fvEXT_remap_index 697
+#define ProgramLocalParameters4fvEXT_remap_index 698
+#define EGLImageTargetRenderbufferStorageOES_remap_index 699
+#define EGLImageTargetTexture2DOES_remap_index 700
+#define AlphaFuncx_remap_index 701
+#define ClearColorx_remap_index 702
+#define ClearDepthx_remap_index 703
+#define Color4x_remap_index 704
+#define DepthRangex_remap_index 705
+#define Fogx_remap_index 706
+#define Fogxv_remap_index 707
+#define Frustumf_remap_index 708
+#define Frustumx_remap_index 709
+#define LightModelx_remap_index 710
+#define LightModelxv_remap_index 711
+#define Lightx_remap_index 712
+#define Lightxv_remap_index 713
+#define LineWidthx_remap_index 714
+#define LoadMatrixx_remap_index 715
+#define Materialx_remap_index 716
+#define Materialxv_remap_index 717
+#define MultMatrixx_remap_index 718
+#define MultiTexCoord4x_remap_index 719
+#define Normal3x_remap_index 720
+#define Orthof_remap_index 721
+#define Orthox_remap_index 722
+#define PointSizex_remap_index 723
+#define PolygonOffsetx_remap_index 724
+#define Rotatex_remap_index 725
+#define SampleCoveragex_remap_index 726
+#define Scalex_remap_index 727
+#define TexEnvx_remap_index 728
+#define TexEnvxv_remap_index 729
+#define TexParameterx_remap_index 730
+#define Translatex_remap_index 731
+#define ClipPlanef_remap_index 732
+#define ClipPlanex_remap_index 733
+#define GetClipPlanef_remap_index 734
+#define GetClipPlanex_remap_index 735
+#define GetFixedv_remap_index 736
+#define GetLightxv_remap_index 737
+#define GetMaterialxv_remap_index 738
+#define GetTexEnvxv_remap_index 739
+#define GetTexParameterxv_remap_index 740
+#define PointParameterx_remap_index 741
+#define PointParameterxv_remap_index 742
+#define TexParameterxv_remap_index 743
+
+#define _gloffset_CompressedTexImage1D driDispatchRemapTable[CompressedTexImage1D_remap_index]
+#define _gloffset_CompressedTexImage2D driDispatchRemapTable[CompressedTexImage2D_remap_index]
+#define _gloffset_CompressedTexImage3D driDispatchRemapTable[CompressedTexImage3D_remap_index]
+#define _gloffset_CompressedTexSubImage1D driDispatchRemapTable[CompressedTexSubImage1D_remap_index]
+#define _gloffset_CompressedTexSubImage2D driDispatchRemapTable[CompressedTexSubImage2D_remap_index]
+#define _gloffset_CompressedTexSubImage3D driDispatchRemapTable[CompressedTexSubImage3D_remap_index]
+#define _gloffset_GetCompressedTexImage driDispatchRemapTable[GetCompressedTexImage_remap_index]
+#define _gloffset_LoadTransposeMatrixd driDispatchRemapTable[LoadTransposeMatrixd_remap_index]
+#define _gloffset_LoadTransposeMatrixf driDispatchRemapTable[LoadTransposeMatrixf_remap_index]
+#define _gloffset_MultTransposeMatrixd driDispatchRemapTable[MultTransposeMatrixd_remap_index]
+#define _gloffset_MultTransposeMatrixf driDispatchRemapTable[MultTransposeMatrixf_remap_index]
+#define _gloffset_SampleCoverage driDispatchRemapTable[SampleCoverage_remap_index]
+#define _gloffset_BlendFuncSeparate driDispatchRemapTable[BlendFuncSeparate_remap_index]
+#define _gloffset_FogCoordPointer driDispatchRemapTable[FogCoordPointer_remap_index]
+#define _gloffset_FogCoordd driDispatchRemapTable[FogCoordd_remap_index]
+#define _gloffset_FogCoorddv driDispatchRemapTable[FogCoorddv_remap_index]
+#define _gloffset_MultiDrawArrays driDispatchRemapTable[MultiDrawArrays_remap_index]
+#define _gloffset_PointParameterf driDispatchRemapTable[PointParameterf_remap_index]
+#define _gloffset_PointParameterfv driDispatchRemapTable[PointParameterfv_remap_index]
+#define _gloffset_PointParameteri driDispatchRemapTable[PointParameteri_remap_index]
+#define _gloffset_PointParameteriv driDispatchRemapTable[PointParameteriv_remap_index]
+#define _gloffset_SecondaryColor3b driDispatchRemapTable[SecondaryColor3b_remap_index]
+#define _gloffset_SecondaryColor3bv driDispatchRemapTable[SecondaryColor3bv_remap_index]
+#define _gloffset_SecondaryColor3d driDispatchRemapTable[SecondaryColor3d_remap_index]
+#define _gloffset_SecondaryColor3dv driDispatchRemapTable[SecondaryColor3dv_remap_index]
+#define _gloffset_SecondaryColor3i driDispatchRemapTable[SecondaryColor3i_remap_index]
+#define _gloffset_SecondaryColor3iv driDispatchRemapTable[SecondaryColor3iv_remap_index]
+#define _gloffset_SecondaryColor3s driDispatchRemapTable[SecondaryColor3s_remap_index]
+#define _gloffset_SecondaryColor3sv driDispatchRemapTable[SecondaryColor3sv_remap_index]
+#define _gloffset_SecondaryColor3ub driDispatchRemapTable[SecondaryColor3ub_remap_index]
+#define _gloffset_SecondaryColor3ubv driDispatchRemapTable[SecondaryColor3ubv_remap_index]
+#define _gloffset_SecondaryColor3ui driDispatchRemapTable[SecondaryColor3ui_remap_index]
+#define _gloffset_SecondaryColor3uiv driDispatchRemapTable[SecondaryColor3uiv_remap_index]
+#define _gloffset_SecondaryColor3us driDispatchRemapTable[SecondaryColor3us_remap_index]
+#define _gloffset_SecondaryColor3usv driDispatchRemapTable[SecondaryColor3usv_remap_index]
+#define _gloffset_SecondaryColorPointer driDispatchRemapTable[SecondaryColorPointer_remap_index]
+#define _gloffset_WindowPos2d driDispatchRemapTable[WindowPos2d_remap_index]
+#define _gloffset_WindowPos2dv driDispatchRemapTable[WindowPos2dv_remap_index]
+#define _gloffset_WindowPos2f driDispatchRemapTable[WindowPos2f_remap_index]
+#define _gloffset_WindowPos2fv driDispatchRemapTable[WindowPos2fv_remap_index]
+#define _gloffset_WindowPos2i driDispatchRemapTable[WindowPos2i_remap_index]
+#define _gloffset_WindowPos2iv driDispatchRemapTable[WindowPos2iv_remap_index]
+#define _gloffset_WindowPos2s driDispatchRemapTable[WindowPos2s_remap_index]
+#define _gloffset_WindowPos2sv driDispatchRemapTable[WindowPos2sv_remap_index]
+#define _gloffset_WindowPos3d driDispatchRemapTable[WindowPos3d_remap_index]
+#define _gloffset_WindowPos3dv driDispatchRemapTable[WindowPos3dv_remap_index]
+#define _gloffset_WindowPos3f driDispatchRemapTable[WindowPos3f_remap_index]
+#define _gloffset_WindowPos3fv driDispatchRemapTable[WindowPos3fv_remap_index]
+#define _gloffset_WindowPos3i driDispatchRemapTable[WindowPos3i_remap_index]
+#define _gloffset_WindowPos3iv driDispatchRemapTable[WindowPos3iv_remap_index]
+#define _gloffset_WindowPos3s driDispatchRemapTable[WindowPos3s_remap_index]
+#define _gloffset_WindowPos3sv driDispatchRemapTable[WindowPos3sv_remap_index]
+#define _gloffset_BeginQuery driDispatchRemapTable[BeginQuery_remap_index]
+#define _gloffset_BindBuffer driDispatchRemapTable[BindBuffer_remap_index]
+#define _gloffset_BufferData driDispatchRemapTable[BufferData_remap_index]
+#define _gloffset_BufferSubData driDispatchRemapTable[BufferSubData_remap_index]
+#define _gloffset_DeleteBuffers driDispatchRemapTable[DeleteBuffers_remap_index]
+#define _gloffset_DeleteQueries driDispatchRemapTable[DeleteQueries_remap_index]
+#define _gloffset_EndQuery driDispatchRemapTable[EndQuery_remap_index]
+#define _gloffset_GenBuffers driDispatchRemapTable[GenBuffers_remap_index]
+#define _gloffset_GenQueries driDispatchRemapTable[GenQueries_remap_index]
+#define _gloffset_GetBufferParameteriv driDispatchRemapTable[GetBufferParameteriv_remap_index]
+#define _gloffset_GetBufferPointerv driDispatchRemapTable[GetBufferPointerv_remap_index]
+#define _gloffset_GetBufferSubData driDispatchRemapTable[GetBufferSubData_remap_index]
+#define _gloffset_GetQueryObjectiv driDispatchRemapTable[GetQueryObjectiv_remap_index]
+#define _gloffset_GetQueryObjectuiv driDispatchRemapTable[GetQueryObjectuiv_remap_index]
+#define _gloffset_GetQueryiv driDispatchRemapTable[GetQueryiv_remap_index]
+#define _gloffset_IsBuffer driDispatchRemapTable[IsBuffer_remap_index]
+#define _gloffset_IsQuery driDispatchRemapTable[IsQuery_remap_index]
+#define _gloffset_MapBuffer driDispatchRemapTable[MapBuffer_remap_index]
+#define _gloffset_UnmapBuffer driDispatchRemapTable[UnmapBuffer_remap_index]
+#define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index]
+#define _gloffset_BindAttribLocation driDispatchRemapTable[BindAttribLocation_remap_index]
+#define _gloffset_BlendEquationSeparate driDispatchRemapTable[BlendEquationSeparate_remap_index]
+#define _gloffset_CompileShader driDispatchRemapTable[CompileShader_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_DisableVertexAttribArray driDispatchRemapTable[DisableVertexAttribArray_remap_index]
+#define _gloffset_DrawBuffers driDispatchRemapTable[DrawBuffers_remap_index]
+#define _gloffset_EnableVertexAttribArray driDispatchRemapTable[EnableVertexAttribArray_remap_index]
+#define _gloffset_GetActiveAttrib driDispatchRemapTable[GetActiveAttrib_remap_index]
+#define _gloffset_GetActiveUniform driDispatchRemapTable[GetActiveUniform_remap_index]
+#define _gloffset_GetAttachedShaders driDispatchRemapTable[GetAttachedShaders_remap_index]
+#define _gloffset_GetAttribLocation driDispatchRemapTable[GetAttribLocation_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_GetShaderSource driDispatchRemapTable[GetShaderSource_remap_index]
+#define _gloffset_GetShaderiv driDispatchRemapTable[GetShaderiv_remap_index]
+#define _gloffset_GetUniformLocation driDispatchRemapTable[GetUniformLocation_remap_index]
+#define _gloffset_GetUniformfv driDispatchRemapTable[GetUniformfv_remap_index]
+#define _gloffset_GetUniformiv driDispatchRemapTable[GetUniformiv_remap_index]
+#define _gloffset_GetVertexAttribPointerv driDispatchRemapTable[GetVertexAttribPointerv_remap_index]
+#define _gloffset_GetVertexAttribdv driDispatchRemapTable[GetVertexAttribdv_remap_index]
+#define _gloffset_GetVertexAttribfv driDispatchRemapTable[GetVertexAttribfv_remap_index]
+#define _gloffset_GetVertexAttribiv driDispatchRemapTable[GetVertexAttribiv_remap_index]
+#define _gloffset_IsProgram driDispatchRemapTable[IsProgram_remap_index]
+#define _gloffset_IsShader driDispatchRemapTable[IsShader_remap_index]
+#define _gloffset_LinkProgram driDispatchRemapTable[LinkProgram_remap_index]
+#define _gloffset_ShaderSource driDispatchRemapTable[ShaderSource_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_Uniform1f driDispatchRemapTable[Uniform1f_remap_index]
+#define _gloffset_Uniform1fv driDispatchRemapTable[Uniform1fv_remap_index]
+#define _gloffset_Uniform1i driDispatchRemapTable[Uniform1i_remap_index]
+#define _gloffset_Uniform1iv driDispatchRemapTable[Uniform1iv_remap_index]
+#define _gloffset_Uniform2f driDispatchRemapTable[Uniform2f_remap_index]
+#define _gloffset_Uniform2fv driDispatchRemapTable[Uniform2fv_remap_index]
+#define _gloffset_Uniform2i driDispatchRemapTable[Uniform2i_remap_index]
+#define _gloffset_Uniform2iv driDispatchRemapTable[Uniform2iv_remap_index]
+#define _gloffset_Uniform3f driDispatchRemapTable[Uniform3f_remap_index]
+#define _gloffset_Uniform3fv driDispatchRemapTable[Uniform3fv_remap_index]
+#define _gloffset_Uniform3i driDispatchRemapTable[Uniform3i_remap_index]
+#define _gloffset_Uniform3iv driDispatchRemapTable[Uniform3iv_remap_index]
+#define _gloffset_Uniform4f driDispatchRemapTable[Uniform4f_remap_index]
+#define _gloffset_Uniform4fv driDispatchRemapTable[Uniform4fv_remap_index]
+#define _gloffset_Uniform4i driDispatchRemapTable[Uniform4i_remap_index]
+#define _gloffset_Uniform4iv driDispatchRemapTable[Uniform4iv_remap_index]
+#define _gloffset_UniformMatrix2fv driDispatchRemapTable[UniformMatrix2fv_remap_index]
+#define _gloffset_UniformMatrix3fv driDispatchRemapTable[UniformMatrix3fv_remap_index]
+#define _gloffset_UniformMatrix4fv driDispatchRemapTable[UniformMatrix4fv_remap_index]
+#define _gloffset_UseProgram driDispatchRemapTable[UseProgram_remap_index]
+#define _gloffset_ValidateProgram driDispatchRemapTable[ValidateProgram_remap_index]
+#define _gloffset_VertexAttrib1d driDispatchRemapTable[VertexAttrib1d_remap_index]
+#define _gloffset_VertexAttrib1dv driDispatchRemapTable[VertexAttrib1dv_remap_index]
+#define _gloffset_VertexAttrib1s driDispatchRemapTable[VertexAttrib1s_remap_index]
+#define _gloffset_VertexAttrib1sv driDispatchRemapTable[VertexAttrib1sv_remap_index]
+#define _gloffset_VertexAttrib2d driDispatchRemapTable[VertexAttrib2d_remap_index]
+#define _gloffset_VertexAttrib2dv driDispatchRemapTable[VertexAttrib2dv_remap_index]
+#define _gloffset_VertexAttrib2s driDispatchRemapTable[VertexAttrib2s_remap_index]
+#define _gloffset_VertexAttrib2sv driDispatchRemapTable[VertexAttrib2sv_remap_index]
+#define _gloffset_VertexAttrib3d driDispatchRemapTable[VertexAttrib3d_remap_index]
+#define _gloffset_VertexAttrib3dv driDispatchRemapTable[VertexAttrib3dv_remap_index]
+#define _gloffset_VertexAttrib3s driDispatchRemapTable[VertexAttrib3s_remap_index]
+#define _gloffset_VertexAttrib3sv driDispatchRemapTable[VertexAttrib3sv_remap_index]
+#define _gloffset_VertexAttrib4Nbv driDispatchRemapTable[VertexAttrib4Nbv_remap_index]
+#define _gloffset_VertexAttrib4Niv driDispatchRemapTable[VertexAttrib4Niv_remap_index]
+#define _gloffset_VertexAttrib4Nsv driDispatchRemapTable[VertexAttrib4Nsv_remap_index]
+#define _gloffset_VertexAttrib4Nub driDispatchRemapTable[VertexAttrib4Nub_remap_index]
+#define _gloffset_VertexAttrib4Nubv driDispatchRemapTable[VertexAttrib4Nubv_remap_index]
+#define _gloffset_VertexAttrib4Nuiv driDispatchRemapTable[VertexAttrib4Nuiv_remap_index]
+#define _gloffset_VertexAttrib4Nusv driDispatchRemapTable[VertexAttrib4Nusv_remap_index]
+#define _gloffset_VertexAttrib4bv driDispatchRemapTable[VertexAttrib4bv_remap_index]
+#define _gloffset_VertexAttrib4d driDispatchRemapTable[VertexAttrib4d_remap_index]
+#define _gloffset_VertexAttrib4dv driDispatchRemapTable[VertexAttrib4dv_remap_index]
+#define _gloffset_VertexAttrib4iv driDispatchRemapTable[VertexAttrib4iv_remap_index]
+#define _gloffset_VertexAttrib4s driDispatchRemapTable[VertexAttrib4s_remap_index]
+#define _gloffset_VertexAttrib4sv driDispatchRemapTable[VertexAttrib4sv_remap_index]
+#define _gloffset_VertexAttrib4ubv driDispatchRemapTable[VertexAttrib4ubv_remap_index]
+#define _gloffset_VertexAttrib4uiv driDispatchRemapTable[VertexAttrib4uiv_remap_index]
+#define _gloffset_VertexAttrib4usv driDispatchRemapTable[VertexAttrib4usv_remap_index]
+#define _gloffset_VertexAttribPointer driDispatchRemapTable[VertexAttribPointer_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_BeginConditionalRender driDispatchRemapTable[BeginConditionalRender_remap_index]
+#define _gloffset_BeginTransformFeedback driDispatchRemapTable[BeginTransformFeedback_remap_index]
+#define _gloffset_BindBufferBase driDispatchRemapTable[BindBufferBase_remap_index]
+#define _gloffset_BindBufferRange driDispatchRemapTable[BindBufferRange_remap_index]
+#define _gloffset_BindFragDataLocation driDispatchRemapTable[BindFragDataLocation_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_ColorMaski driDispatchRemapTable[ColorMaski_remap_index]
+#define _gloffset_Disablei driDispatchRemapTable[Disablei_remap_index]
+#define _gloffset_Enablei driDispatchRemapTable[Enablei_remap_index]
+#define _gloffset_EndConditionalRender driDispatchRemapTable[EndConditionalRender_remap_index]
+#define _gloffset_EndTransformFeedback driDispatchRemapTable[EndTransformFeedback_remap_index]
+#define _gloffset_GetBooleani_v driDispatchRemapTable[GetBooleani_v_remap_index]
+#define _gloffset_GetFragDataLocation driDispatchRemapTable[GetFragDataLocation_remap_index]
+#define _gloffset_GetIntegeri_v driDispatchRemapTable[GetIntegeri_v_remap_index]
+#define _gloffset_GetStringi driDispatchRemapTable[GetStringi_remap_index]
+#define _gloffset_GetTexParameterIiv driDispatchRemapTable[GetTexParameterIiv_remap_index]
+#define _gloffset_GetTexParameterIuiv driDispatchRemapTable[GetTexParameterIuiv_remap_index]
+#define _gloffset_GetTransformFeedbackVarying driDispatchRemapTable[GetTransformFeedbackVarying_remap_index]
+#define _gloffset_GetUniformuiv driDispatchRemapTable[GetUniformuiv_remap_index]
+#define _gloffset_GetVertexAttribIiv driDispatchRemapTable[GetVertexAttribIiv_remap_index]
+#define _gloffset_GetVertexAttribIuiv driDispatchRemapTable[GetVertexAttribIuiv_remap_index]
+#define _gloffset_IsEnabledi driDispatchRemapTable[IsEnabledi_remap_index]
+#define _gloffset_TexParameterIiv driDispatchRemapTable[TexParameterIiv_remap_index]
+#define _gloffset_TexParameterIuiv driDispatchRemapTable[TexParameterIuiv_remap_index]
+#define _gloffset_TransformFeedbackVaryings driDispatchRemapTable[TransformFeedbackVaryings_remap_index]
+#define _gloffset_Uniform1ui driDispatchRemapTable[Uniform1ui_remap_index]
+#define _gloffset_Uniform1uiv driDispatchRemapTable[Uniform1uiv_remap_index]
+#define _gloffset_Uniform2ui driDispatchRemapTable[Uniform2ui_remap_index]
+#define _gloffset_Uniform2uiv driDispatchRemapTable[Uniform2uiv_remap_index]
+#define _gloffset_Uniform3ui driDispatchRemapTable[Uniform3ui_remap_index]
+#define _gloffset_Uniform3uiv driDispatchRemapTable[Uniform3uiv_remap_index]
+#define _gloffset_Uniform4ui driDispatchRemapTable[Uniform4ui_remap_index]
+#define _gloffset_Uniform4uiv driDispatchRemapTable[Uniform4uiv_remap_index]
+#define _gloffset_VertexAttribI1iv driDispatchRemapTable[VertexAttribI1iv_remap_index]
+#define _gloffset_VertexAttribI1uiv driDispatchRemapTable[VertexAttribI1uiv_remap_index]
+#define _gloffset_VertexAttribI4bv driDispatchRemapTable[VertexAttribI4bv_remap_index]
+#define _gloffset_VertexAttribI4sv driDispatchRemapTable[VertexAttribI4sv_remap_index]
+#define _gloffset_VertexAttribI4ubv driDispatchRemapTable[VertexAttribI4ubv_remap_index]
+#define _gloffset_VertexAttribI4usv driDispatchRemapTable[VertexAttribI4usv_remap_index]
+#define _gloffset_VertexAttribIPointer driDispatchRemapTable[VertexAttribIPointer_remap_index]
+#define _gloffset_PrimitiveRestartIndex driDispatchRemapTable[PrimitiveRestartIndex_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_MinSampleShading driDispatchRemapTable[MinSampleShading_remap_index]
+#define _gloffset_BindProgramARB driDispatchRemapTable[BindProgramARB_remap_index]
+#define _gloffset_DeleteProgramsARB driDispatchRemapTable[DeleteProgramsARB_remap_index]
+#define _gloffset_GenProgramsARB driDispatchRemapTable[GenProgramsARB_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_IsProgramARB driDispatchRemapTable[IsProgramARB_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_VertexAttrib1fARB driDispatchRemapTable[VertexAttrib1fARB_remap_index]
+#define _gloffset_VertexAttrib1fvARB driDispatchRemapTable[VertexAttrib1fvARB_remap_index]
+#define _gloffset_VertexAttrib2fARB driDispatchRemapTable[VertexAttrib2fARB_remap_index]
+#define _gloffset_VertexAttrib2fvARB driDispatchRemapTable[VertexAttrib2fvARB_remap_index]
+#define _gloffset_VertexAttrib3fARB driDispatchRemapTable[VertexAttrib3fARB_remap_index]
+#define _gloffset_VertexAttrib3fvARB driDispatchRemapTable[VertexAttrib3fvARB_remap_index]
+#define _gloffset_VertexAttrib4fARB driDispatchRemapTable[VertexAttrib4fARB_remap_index]
+#define _gloffset_VertexAttrib4fvARB driDispatchRemapTable[VertexAttrib4fvARB_remap_index]
+#define _gloffset_AttachObjectARB driDispatchRemapTable[AttachObjectARB_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_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_DrawArraysInstancedARB driDispatchRemapTable[DrawArraysInstancedARB_remap_index]
+#define _gloffset_DrawElementsInstancedARB driDispatchRemapTable[DrawElementsInstancedARB_remap_index]
+#define _gloffset_BindFramebuffer driDispatchRemapTable[BindFramebuffer_remap_index]
+#define _gloffset_BindRenderbuffer driDispatchRemapTable[BindRenderbuffer_remap_index]
+#define _gloffset_BlitFramebuffer driDispatchRemapTable[BlitFramebuffer_remap_index]
+#define _gloffset_CheckFramebufferStatus driDispatchRemapTable[CheckFramebufferStatus_remap_index]
+#define _gloffset_DeleteFramebuffers driDispatchRemapTable[DeleteFramebuffers_remap_index]
+#define _gloffset_DeleteRenderbuffers driDispatchRemapTable[DeleteRenderbuffers_remap_index]
+#define _gloffset_FramebufferRenderbuffer driDispatchRemapTable[FramebufferRenderbuffer_remap_index]
+#define _gloffset_FramebufferTexture1D driDispatchRemapTable[FramebufferTexture1D_remap_index]
+#define _gloffset_FramebufferTexture2D driDispatchRemapTable[FramebufferTexture2D_remap_index]
+#define _gloffset_FramebufferTexture3D driDispatchRemapTable[FramebufferTexture3D_remap_index]
+#define _gloffset_FramebufferTextureLayer driDispatchRemapTable[FramebufferTextureLayer_remap_index]
+#define _gloffset_GenFramebuffers driDispatchRemapTable[GenFramebuffers_remap_index]
+#define _gloffset_GenRenderbuffers driDispatchRemapTable[GenRenderbuffers_remap_index]
+#define _gloffset_GenerateMipmap driDispatchRemapTable[GenerateMipmap_remap_index]
+#define _gloffset_GetFramebufferAttachmentParameteriv driDispatchRemapTable[GetFramebufferAttachmentParameteriv_remap_index]
+#define _gloffset_GetRenderbufferParameteriv driDispatchRemapTable[GetRenderbufferParameteriv_remap_index]
+#define _gloffset_IsFramebuffer driDispatchRemapTable[IsFramebuffer_remap_index]
+#define _gloffset_IsRenderbuffer driDispatchRemapTable[IsRenderbuffer_remap_index]
+#define _gloffset_RenderbufferStorage driDispatchRemapTable[RenderbufferStorage_remap_index]
+#define _gloffset_RenderbufferStorageMultisample driDispatchRemapTable[RenderbufferStorageMultisample_remap_index]
+#define _gloffset_FramebufferTextureFaceARB driDispatchRemapTable[FramebufferTextureFaceARB_remap_index]
+#define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index]
+#define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index]
+#define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index]
+#define _gloffset_DeleteVertexArrays driDispatchRemapTable[DeleteVertexArrays_remap_index]
+#define _gloffset_GenVertexArrays driDispatchRemapTable[GenVertexArrays_remap_index]
+#define _gloffset_IsVertexArray driDispatchRemapTable[IsVertexArray_remap_index]
+#define _gloffset_GetActiveUniformBlockName driDispatchRemapTable[GetActiveUniformBlockName_remap_index]
+#define _gloffset_GetActiveUniformBlockiv driDispatchRemapTable[GetActiveUniformBlockiv_remap_index]
+#define _gloffset_GetActiveUniformName driDispatchRemapTable[GetActiveUniformName_remap_index]
+#define _gloffset_GetActiveUniformsiv driDispatchRemapTable[GetActiveUniformsiv_remap_index]
+#define _gloffset_GetUniformBlockIndex driDispatchRemapTable[GetUniformBlockIndex_remap_index]
+#define _gloffset_GetUniformIndices driDispatchRemapTable[GetUniformIndices_remap_index]
+#define _gloffset_UniformBlockBinding driDispatchRemapTable[UniformBlockBinding_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_ProvokingVertex driDispatchRemapTable[ProvokingVertex_remap_index]
+#define _gloffset_GetMultisamplefv driDispatchRemapTable[GetMultisamplefv_remap_index]
+#define _gloffset_SampleMaski driDispatchRemapTable[SampleMaski_remap_index]
+#define _gloffset_TexImage2DMultisample driDispatchRemapTable[TexImage2DMultisample_remap_index]
+#define _gloffset_TexImage3DMultisample driDispatchRemapTable[TexImage3DMultisample_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_BindFragDataLocationIndexed driDispatchRemapTable[BindFragDataLocationIndexed_remap_index]
+#define _gloffset_GetFragDataIndex driDispatchRemapTable[GetFragDataIndex_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_GetQueryObjecti64v driDispatchRemapTable[GetQueryObjecti64v_remap_index]
+#define _gloffset_GetQueryObjectui64v driDispatchRemapTable[GetQueryObjectui64v_remap_index]
+#define _gloffset_QueryCounter driDispatchRemapTable[QueryCounter_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_DrawArraysIndirect driDispatchRemapTable[DrawArraysIndirect_remap_index]
+#define _gloffset_DrawElementsIndirect driDispatchRemapTable[DrawElementsIndirect_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_BeginQueryIndexed driDispatchRemapTable[BeginQueryIndexed_remap_index]
+#define _gloffset_DrawTransformFeedbackStream driDispatchRemapTable[DrawTransformFeedbackStream_remap_index]
+#define _gloffset_EndQueryIndexed driDispatchRemapTable[EndQueryIndexed_remap_index]
+#define _gloffset_GetQueryIndexediv driDispatchRemapTable[GetQueryIndexediv_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_GetProgramBinary driDispatchRemapTable[GetProgramBinary_remap_index]
+#define _gloffset_ProgramBinary driDispatchRemapTable[ProgramBinary_remap_index]
+#define _gloffset_ProgramParameteri driDispatchRemapTable[ProgramParameteri_remap_index]
+#define _gloffset_DepthRangeArrayv driDispatchRemapTable[DepthRangeArrayv_remap_index]
+#define _gloffset_DepthRangeIndexed driDispatchRemapTable[DepthRangeIndexed_remap_index]
+#define _gloffset_GetDoublei_v driDispatchRemapTable[GetDoublei_v_remap_index]
+#define _gloffset_GetFloati_v driDispatchRemapTable[GetFloati_v_remap_index]
+#define _gloffset_ScissorArrayv driDispatchRemapTable[ScissorArrayv_remap_index]
+#define _gloffset_ScissorIndexed driDispatchRemapTable[ScissorIndexed_remap_index]
+#define _gloffset_ScissorIndexedv driDispatchRemapTable[ScissorIndexedv_remap_index]
+#define _gloffset_ViewportArrayv driDispatchRemapTable[ViewportArrayv_remap_index]
+#define _gloffset_ViewportIndexedf driDispatchRemapTable[ViewportIndexedf_remap_index]
+#define _gloffset_ViewportIndexedfv driDispatchRemapTable[ViewportIndexedfv_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_DrawArraysInstancedBaseInstance driDispatchRemapTable[DrawArraysInstancedBaseInstance_remap_index]
+#define _gloffset_DrawElementsInstancedBaseInstance driDispatchRemapTable[DrawElementsInstancedBaseInstance_remap_index]
+#define _gloffset_DrawElementsInstancedBaseVertexBaseInstance driDispatchRemapTable[DrawElementsInstancedBaseVertexBaseInstance_remap_index]
+#define _gloffset_DrawTransformFeedbackInstanced driDispatchRemapTable[DrawTransformFeedbackInstanced_remap_index]
+#define _gloffset_DrawTransformFeedbackStreamInstanced driDispatchRemapTable[DrawTransformFeedbackStreamInstanced_remap_index]
+#define _gloffset_GetInternalformativ driDispatchRemapTable[GetInternalformativ_remap_index]
+#define _gloffset_GetActiveAtomicCounterBufferiv driDispatchRemapTable[GetActiveAtomicCounterBufferiv_remap_index]
+#define _gloffset_BindImageTexture driDispatchRemapTable[BindImageTexture_remap_index]
+#define _gloffset_MemoryBarrier driDispatchRemapTable[MemoryBarrier_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_ClearBufferData driDispatchRemapTable[ClearBufferData_remap_index]
+#define _gloffset_ClearBufferSubData driDispatchRemapTable[ClearBufferSubData_remap_index]
+#define _gloffset_DispatchCompute driDispatchRemapTable[DispatchCompute_remap_index]
+#define _gloffset_DispatchComputeIndirect driDispatchRemapTable[DispatchComputeIndirect_remap_index]
+#define _gloffset_TextureView driDispatchRemapTable[TextureView_remap_index]
+#define _gloffset_BindVertexBuffer driDispatchRemapTable[BindVertexBuffer_remap_index]
+#define _gloffset_VertexAttribBinding driDispatchRemapTable[VertexAttribBinding_remap_index]
+#define _gloffset_VertexAttribFormat driDispatchRemapTable[VertexAttribFormat_remap_index]
+#define _gloffset_VertexAttribIFormat driDispatchRemapTable[VertexAttribIFormat_remap_index]
+#define _gloffset_VertexAttribLFormat driDispatchRemapTable[VertexAttribLFormat_remap_index]
+#define _gloffset_VertexBindingDivisor driDispatchRemapTable[VertexBindingDivisor_remap_index]
+#define _gloffset_MultiDrawArraysIndirect driDispatchRemapTable[MultiDrawArraysIndirect_remap_index]
+#define _gloffset_MultiDrawElementsIndirect driDispatchRemapTable[MultiDrawElementsIndirect_remap_index]
+#define _gloffset_TexBufferRange driDispatchRemapTable[TexBufferRange_remap_index]
+#define _gloffset_TexStorage2DMultisample driDispatchRemapTable[TexStorage2DMultisample_remap_index]
+#define _gloffset_TexStorage3DMultisample driDispatchRemapTable[TexStorage3DMultisample_remap_index]
+#define _gloffset_BufferStorage driDispatchRemapTable[BufferStorage_remap_index]
+#define _gloffset_BindBuffersBase driDispatchRemapTable[BindBuffersBase_remap_index]
+#define _gloffset_BindBuffersRange driDispatchRemapTable[BindBuffersRange_remap_index]
+#define _gloffset_BindImageTextures driDispatchRemapTable[BindImageTextures_remap_index]
+#define _gloffset_BindSamplers driDispatchRemapTable[BindSamplers_remap_index]
+#define _gloffset_BindTextures driDispatchRemapTable[BindTextures_remap_index]
+#define _gloffset_BindVertexBuffers driDispatchRemapTable[BindVertexBuffers_remap_index]
+#define _gloffset_InvalidateBufferData driDispatchRemapTable[InvalidateBufferData_remap_index]
+#define _gloffset_InvalidateBufferSubData driDispatchRemapTable[InvalidateBufferSubData_remap_index]
+#define _gloffset_InvalidateFramebuffer driDispatchRemapTable[InvalidateFramebuffer_remap_index]
+#define _gloffset_InvalidateSubFramebuffer driDispatchRemapTable[InvalidateSubFramebuffer_remap_index]
+#define _gloffset_InvalidateTexImage driDispatchRemapTable[InvalidateTexImage_remap_index]
+#define _gloffset_InvalidateTexSubImage driDispatchRemapTable[InvalidateTexSubImage_remap_index]
+#define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index]
+#define _gloffset_DrawTexfOES driDispatchRemapTable[DrawTexfOES_remap_index]
+#define _gloffset_DrawTexfvOES driDispatchRemapTable[DrawTexfvOES_remap_index]
+#define _gloffset_DrawTexiOES driDispatchRemapTable[DrawTexiOES_remap_index]
+#define _gloffset_DrawTexivOES driDispatchRemapTable[DrawTexivOES_remap_index]
+#define _gloffset_DrawTexsOES driDispatchRemapTable[DrawTexsOES_remap_index]
+#define _gloffset_DrawTexsvOES driDispatchRemapTable[DrawTexsvOES_remap_index]
+#define _gloffset_DrawTexxOES driDispatchRemapTable[DrawTexxOES_remap_index]
+#define _gloffset_DrawTexxvOES driDispatchRemapTable[DrawTexxvOES_remap_index]
+#define _gloffset_PointSizePointerOES driDispatchRemapTable[PointSizePointerOES_remap_index]
+#define _gloffset_QueryMatrixxOES driDispatchRemapTable[QueryMatrixxOES_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_DiscardFramebufferEXT driDispatchRemapTable[DiscardFramebufferEXT_remap_index]
+#define _gloffset_ActiveShaderProgram driDispatchRemapTable[ActiveShaderProgram_remap_index]
+#define _gloffset_BindProgramPipeline driDispatchRemapTable[BindProgramPipeline_remap_index]
+#define _gloffset_CreateShaderProgramv driDispatchRemapTable[CreateShaderProgramv_remap_index]
+#define _gloffset_DeleteProgramPipelines driDispatchRemapTable[DeleteProgramPipelines_remap_index]
+#define _gloffset_GenProgramPipelines driDispatchRemapTable[GenProgramPipelines_remap_index]
+#define _gloffset_GetProgramPipelineInfoLog driDispatchRemapTable[GetProgramPipelineInfoLog_remap_index]
+#define _gloffset_GetProgramPipelineiv driDispatchRemapTable[GetProgramPipelineiv_remap_index]
+#define _gloffset_IsProgramPipeline driDispatchRemapTable[IsProgramPipeline_remap_index]
+#define _gloffset_LockArraysEXT driDispatchRemapTable[LockArraysEXT_remap_index]
+#define _gloffset_ProgramUniform1f driDispatchRemapTable[ProgramUniform1f_remap_index]
+#define _gloffset_ProgramUniform1fv driDispatchRemapTable[ProgramUniform1fv_remap_index]
+#define _gloffset_ProgramUniform1i driDispatchRemapTable[ProgramUniform1i_remap_index]
+#define _gloffset_ProgramUniform1iv driDispatchRemapTable[ProgramUniform1iv_remap_index]
+#define _gloffset_ProgramUniform1ui driDispatchRemapTable[ProgramUniform1ui_remap_index]
+#define _gloffset_ProgramUniform1uiv driDispatchRemapTable[ProgramUniform1uiv_remap_index]
+#define _gloffset_ProgramUniform2f driDispatchRemapTable[ProgramUniform2f_remap_index]
+#define _gloffset_ProgramUniform2fv driDispatchRemapTable[ProgramUniform2fv_remap_index]
+#define _gloffset_ProgramUniform2i driDispatchRemapTable[ProgramUniform2i_remap_index]
+#define _gloffset_ProgramUniform2iv driDispatchRemapTable[ProgramUniform2iv_remap_index]
+#define _gloffset_ProgramUniform2ui driDispatchRemapTable[ProgramUniform2ui_remap_index]
+#define _gloffset_ProgramUniform2uiv driDispatchRemapTable[ProgramUniform2uiv_remap_index]
+#define _gloffset_ProgramUniform3f driDispatchRemapTable[ProgramUniform3f_remap_index]
+#define _gloffset_ProgramUniform3fv driDispatchRemapTable[ProgramUniform3fv_remap_index]
+#define _gloffset_ProgramUniform3i driDispatchRemapTable[ProgramUniform3i_remap_index]
+#define _gloffset_ProgramUniform3iv driDispatchRemapTable[ProgramUniform3iv_remap_index]
+#define _gloffset_ProgramUniform3ui driDispatchRemapTable[ProgramUniform3ui_remap_index]
+#define _gloffset_ProgramUniform3uiv driDispatchRemapTable[ProgramUniform3uiv_remap_index]
+#define _gloffset_ProgramUniform4f driDispatchRemapTable[ProgramUniform4f_remap_index]
+#define _gloffset_ProgramUniform4fv driDispatchRemapTable[ProgramUniform4fv_remap_index]
+#define _gloffset_ProgramUniform4i driDispatchRemapTable[ProgramUniform4i_remap_index]
+#define _gloffset_ProgramUniform4iv driDispatchRemapTable[ProgramUniform4iv_remap_index]
+#define _gloffset_ProgramUniform4ui driDispatchRemapTable[ProgramUniform4ui_remap_index]
+#define _gloffset_ProgramUniform4uiv driDispatchRemapTable[ProgramUniform4uiv_remap_index]
+#define _gloffset_ProgramUniformMatrix2fv driDispatchRemapTable[ProgramUniformMatrix2fv_remap_index]
+#define _gloffset_ProgramUniformMatrix2x3fv driDispatchRemapTable[ProgramUniformMatrix2x3fv_remap_index]
+#define _gloffset_ProgramUniformMatrix2x4fv driDispatchRemapTable[ProgramUniformMatrix2x4fv_remap_index]
+#define _gloffset_ProgramUniformMatrix3fv driDispatchRemapTable[ProgramUniformMatrix3fv_remap_index]
+#define _gloffset_ProgramUniformMatrix3x2fv driDispatchRemapTable[ProgramUniformMatrix3x2fv_remap_index]
+#define _gloffset_ProgramUniformMatrix3x4fv driDispatchRemapTable[ProgramUniformMatrix3x4fv_remap_index]
+#define _gloffset_ProgramUniformMatrix4fv driDispatchRemapTable[ProgramUniformMatrix4fv_remap_index]
+#define _gloffset_ProgramUniformMatrix4x2fv driDispatchRemapTable[ProgramUniformMatrix4x2fv_remap_index]
+#define _gloffset_ProgramUniformMatrix4x3fv driDispatchRemapTable[ProgramUniformMatrix4x3fv_remap_index]
+#define _gloffset_UnlockArraysEXT driDispatchRemapTable[UnlockArraysEXT_remap_index]
+#define _gloffset_UseProgramStages driDispatchRemapTable[UseProgramStages_remap_index]
+#define _gloffset_ValidateProgramPipeline driDispatchRemapTable[ValidateProgramPipeline_remap_index]
+#define _gloffset_DebugMessageCallback driDispatchRemapTable[DebugMessageCallback_remap_index]
+#define _gloffset_DebugMessageControl driDispatchRemapTable[DebugMessageControl_remap_index]
+#define _gloffset_DebugMessageInsert driDispatchRemapTable[DebugMessageInsert_remap_index]
+#define _gloffset_GetDebugMessageLog driDispatchRemapTable[GetDebugMessageLog_remap_index]
+#define _gloffset_GetObjectLabel driDispatchRemapTable[GetObjectLabel_remap_index]
+#define _gloffset_GetObjectPtrLabel driDispatchRemapTable[GetObjectPtrLabel_remap_index]
+#define _gloffset_ObjectLabel driDispatchRemapTable[ObjectLabel_remap_index]
+#define _gloffset_ObjectPtrLabel driDispatchRemapTable[ObjectPtrLabel_remap_index]
+#define _gloffset_PopDebugGroup driDispatchRemapTable[PopDebugGroup_remap_index]
+#define _gloffset_PushDebugGroup driDispatchRemapTable[PushDebugGroup_remap_index]
+#define _gloffset_SecondaryColor3fEXT driDispatchRemapTable[SecondaryColor3fEXT_remap_index]
+#define _gloffset_SecondaryColor3fvEXT driDispatchRemapTable[SecondaryColor3fvEXT_remap_index]
+#define _gloffset_MultiDrawElementsEXT driDispatchRemapTable[MultiDrawElementsEXT_remap_index]
+#define _gloffset_FogCoordfEXT driDispatchRemapTable[FogCoordfEXT_remap_index]
+#define _gloffset_FogCoordfvEXT driDispatchRemapTable[FogCoordfvEXT_remap_index]
+#define _gloffset_ResizeBuffersMESA driDispatchRemapTable[ResizeBuffersMESA_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_AreProgramsResidentNV driDispatchRemapTable[AreProgramsResidentNV_remap_index]
+#define _gloffset_ExecuteProgramNV driDispatchRemapTable[ExecuteProgramNV_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_GetVertexAttribdvNV driDispatchRemapTable[GetVertexAttribdvNV_remap_index]
+#define _gloffset_GetVertexAttribfvNV driDispatchRemapTable[GetVertexAttribfvNV_remap_index]
+#define _gloffset_GetVertexAttribivNV driDispatchRemapTable[GetVertexAttribivNV_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_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index]
+#define _gloffset_BindVertexArrayAPPLE driDispatchRemapTable[BindVertexArrayAPPLE_remap_index]
+#define _gloffset_GenVertexArraysAPPLE driDispatchRemapTable[GenVertexArraysAPPLE_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_PrimitiveRestartNV driDispatchRemapTable[PrimitiveRestartNV_remap_index]
+#define _gloffset_GetTexGenxvOES driDispatchRemapTable[GetTexGenxvOES_remap_index]
+#define _gloffset_TexGenxOES driDispatchRemapTable[TexGenxOES_remap_index]
+#define _gloffset_TexGenxvOES driDispatchRemapTable[TexGenxvOES_remap_index]
+#define _gloffset_DepthBoundsEXT driDispatchRemapTable[DepthBoundsEXT_remap_index]
+#define _gloffset_BindFramebufferEXT driDispatchRemapTable[BindFramebufferEXT_remap_index]
+#define _gloffset_BindRenderbufferEXT driDispatchRemapTable[BindRenderbufferEXT_remap_index]
+#define _gloffset_BufferParameteriAPPLE driDispatchRemapTable[BufferParameteriAPPLE_remap_index]
+#define _gloffset_FlushMappedBufferRangeAPPLE driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index]
+#define _gloffset_VertexAttribI1iEXT driDispatchRemapTable[VertexAttribI1iEXT_remap_index]
+#define _gloffset_VertexAttribI1uiEXT driDispatchRemapTable[VertexAttribI1uiEXT_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_VertexAttribI4iEXT driDispatchRemapTable[VertexAttribI4iEXT_remap_index]
+#define _gloffset_VertexAttribI4ivEXT driDispatchRemapTable[VertexAttribI4ivEXT_remap_index]
+#define _gloffset_VertexAttribI4uiEXT driDispatchRemapTable[VertexAttribI4uiEXT_remap_index]
+#define _gloffset_VertexAttribI4uivEXT driDispatchRemapTable[VertexAttribI4uivEXT_remap_index]
+#define _gloffset_ClearColorIiEXT driDispatchRemapTable[ClearColorIiEXT_remap_index]
+#define _gloffset_ClearColorIuiEXT driDispatchRemapTable[ClearColorIuiEXT_remap_index]
+#define _gloffset_BindBufferOffsetEXT driDispatchRemapTable[BindBufferOffsetEXT_remap_index]
+#define _gloffset_BeginPerfMonitorAMD driDispatchRemapTable[BeginPerfMonitorAMD_remap_index]
+#define _gloffset_DeletePerfMonitorsAMD driDispatchRemapTable[DeletePerfMonitorsAMD_remap_index]
+#define _gloffset_EndPerfMonitorAMD driDispatchRemapTable[EndPerfMonitorAMD_remap_index]
+#define _gloffset_GenPerfMonitorsAMD driDispatchRemapTable[GenPerfMonitorsAMD_remap_index]
+#define _gloffset_GetPerfMonitorCounterDataAMD driDispatchRemapTable[GetPerfMonitorCounterDataAMD_remap_index]
+#define _gloffset_GetPerfMonitorCounterInfoAMD driDispatchRemapTable[GetPerfMonitorCounterInfoAMD_remap_index]
+#define _gloffset_GetPerfMonitorCounterStringAMD driDispatchRemapTable[GetPerfMonitorCounterStringAMD_remap_index]
+#define _gloffset_GetPerfMonitorCountersAMD driDispatchRemapTable[GetPerfMonitorCountersAMD_remap_index]
+#define _gloffset_GetPerfMonitorGroupStringAMD driDispatchRemapTable[GetPerfMonitorGroupStringAMD_remap_index]
+#define _gloffset_GetPerfMonitorGroupsAMD driDispatchRemapTable[GetPerfMonitorGroupsAMD_remap_index]
+#define _gloffset_SelectPerfMonitorCountersAMD driDispatchRemapTable[SelectPerfMonitorCountersAMD_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_VDPAUFiniNV driDispatchRemapTable[VDPAUFiniNV_remap_index]
+#define _gloffset_VDPAUGetSurfaceivNV driDispatchRemapTable[VDPAUGetSurfaceivNV_remap_index]
+#define _gloffset_VDPAUInitNV driDispatchRemapTable[VDPAUInitNV_remap_index]
+#define _gloffset_VDPAUIsSurfaceNV driDispatchRemapTable[VDPAUIsSurfaceNV_remap_index]
+#define _gloffset_VDPAUMapSurfacesNV driDispatchRemapTable[VDPAUMapSurfacesNV_remap_index]
+#define _gloffset_VDPAURegisterOutputSurfaceNV driDispatchRemapTable[VDPAURegisterOutputSurfaceNV_remap_index]
+#define _gloffset_VDPAURegisterVideoSurfaceNV driDispatchRemapTable[VDPAURegisterVideoSurfaceNV_remap_index]
+#define _gloffset_VDPAUSurfaceAccessNV driDispatchRemapTable[VDPAUSurfaceAccessNV_remap_index]
+#define _gloffset_VDPAUUnmapSurfacesNV driDispatchRemapTable[VDPAUUnmapSurfacesNV_remap_index]
+#define _gloffset_VDPAUUnregisterSurfaceNV driDispatchRemapTable[VDPAUUnregisterSurfaceNV_remap_index]
+#define _gloffset_BeginPerfQueryINTEL driDispatchRemapTable[BeginPerfQueryINTEL_remap_index]
+#define _gloffset_CreatePerfQueryINTEL driDispatchRemapTable[CreatePerfQueryINTEL_remap_index]
+#define _gloffset_DeletePerfQueryINTEL driDispatchRemapTable[DeletePerfQueryINTEL_remap_index]
+#define _gloffset_EndPerfQueryINTEL driDispatchRemapTable[EndPerfQueryINTEL_remap_index]
+#define _gloffset_GetFirstPerfQueryIdINTEL driDispatchRemapTable[GetFirstPerfQueryIdINTEL_remap_index]
+#define _gloffset_GetNextPerfQueryIdINTEL driDispatchRemapTable[GetNextPerfQueryIdINTEL_remap_index]
+#define _gloffset_GetPerfCounterInfoINTEL driDispatchRemapTable[GetPerfCounterInfoINTEL_remap_index]
+#define _gloffset_GetPerfQueryDataINTEL driDispatchRemapTable[GetPerfQueryDataINTEL_remap_index]
+#define _gloffset_GetPerfQueryIdByNameINTEL driDispatchRemapTable[GetPerfQueryIdByNameINTEL_remap_index]
+#define _gloffset_GetPerfQueryInfoINTEL driDispatchRemapTable[GetPerfQueryInfoINTEL_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_EGLImageTargetRenderbufferStorageOES driDispatchRemapTable[EGLImageTargetRenderbufferStorageOES_remap_index]
+#define _gloffset_EGLImageTargetTexture2DOES driDispatchRemapTable[EGLImageTargetTexture2DOES_remap_index]
+#define _gloffset_AlphaFuncx driDispatchRemapTable[AlphaFuncx_remap_index]
+#define _gloffset_ClearColorx driDispatchRemapTable[ClearColorx_remap_index]
+#define _gloffset_ClearDepthx driDispatchRemapTable[ClearDepthx_remap_index]
+#define _gloffset_Color4x driDispatchRemapTable[Color4x_remap_index]
+#define _gloffset_DepthRangex driDispatchRemapTable[DepthRangex_remap_index]
+#define _gloffset_Fogx driDispatchRemapTable[Fogx_remap_index]
+#define _gloffset_Fogxv driDispatchRemapTable[Fogxv_remap_index]
+#define _gloffset_Frustumf driDispatchRemapTable[Frustumf_remap_index]
+#define _gloffset_Frustumx driDispatchRemapTable[Frustumx_remap_index]
+#define _gloffset_LightModelx driDispatchRemapTable[LightModelx_remap_index]
+#define _gloffset_LightModelxv driDispatchRemapTable[LightModelxv_remap_index]
+#define _gloffset_Lightx driDispatchRemapTable[Lightx_remap_index]
+#define _gloffset_Lightxv driDispatchRemapTable[Lightxv_remap_index]
+#define _gloffset_LineWidthx driDispatchRemapTable[LineWidthx_remap_index]
+#define _gloffset_LoadMatrixx driDispatchRemapTable[LoadMatrixx_remap_index]
+#define _gloffset_Materialx driDispatchRemapTable[Materialx_remap_index]
+#define _gloffset_Materialxv driDispatchRemapTable[Materialxv_remap_index]
+#define _gloffset_MultMatrixx driDispatchRemapTable[MultMatrixx_remap_index]
+#define _gloffset_MultiTexCoord4x driDispatchRemapTable[MultiTexCoord4x_remap_index]
+#define _gloffset_Normal3x driDispatchRemapTable[Normal3x_remap_index]
+#define _gloffset_Orthof driDispatchRemapTable[Orthof_remap_index]
+#define _gloffset_Orthox driDispatchRemapTable[Orthox_remap_index]
+#define _gloffset_PointSizex driDispatchRemapTable[PointSizex_remap_index]
+#define _gloffset_PolygonOffsetx driDispatchRemapTable[PolygonOffsetx_remap_index]
+#define _gloffset_Rotatex driDispatchRemapTable[Rotatex_remap_index]
+#define _gloffset_SampleCoveragex driDispatchRemapTable[SampleCoveragex_remap_index]
+#define _gloffset_Scalex driDispatchRemapTable[Scalex_remap_index]
+#define _gloffset_TexEnvx driDispatchRemapTable[TexEnvx_remap_index]
+#define _gloffset_TexEnvxv driDispatchRemapTable[TexEnvxv_remap_index]
+#define _gloffset_TexParameterx driDispatchRemapTable[TexParameterx_remap_index]
+#define _gloffset_Translatex driDispatchRemapTable[Translatex_remap_index]
+#define _gloffset_ClipPlanef driDispatchRemapTable[ClipPlanef_remap_index]
+#define _gloffset_ClipPlanex driDispatchRemapTable[ClipPlanex_remap_index]
+#define _gloffset_GetClipPlanef driDispatchRemapTable[GetClipPlanef_remap_index]
+#define _gloffset_GetClipPlanex driDispatchRemapTable[GetClipPlanex_remap_index]
+#define _gloffset_GetFixedv driDispatchRemapTable[GetFixedv_remap_index]
+#define _gloffset_GetLightxv driDispatchRemapTable[GetLightxv_remap_index]
+#define _gloffset_GetMaterialxv driDispatchRemapTable[GetMaterialxv_remap_index]
+#define _gloffset_GetTexEnvxv driDispatchRemapTable[GetTexEnvxv_remap_index]
+#define _gloffset_GetTexParameterxv driDispatchRemapTable[GetTexParameterxv_remap_index]
+#define _gloffset_PointParameterx driDispatchRemapTable[PointParameterx_remap_index]
+#define _gloffset_PointParameterxv driDispatchRemapTable[PointParameterxv_remap_index]
+#define _gloffset_TexParameterxv driDispatchRemapTable[TexParameterxv_remap_index]
+
+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_ActiveTexture)(GLenum);
+#define CALL_ActiveTexture(disp, parameters) \
+ (* GET_ActiveTexture(disp)) parameters
+static INLINE _glptr_ActiveTexture GET_ActiveTexture(struct _glapi_table *disp) {
+ return (_glptr_ActiveTexture) (GET_by_offset(disp, _gloffset_ActiveTexture));
+}
+
+static INLINE void SET_ActiveTexture(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_ActiveTexture, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ClientActiveTexture)(GLenum);
+#define CALL_ClientActiveTexture(disp, parameters) \
+ (* GET_ClientActiveTexture(disp)) parameters
+static INLINE _glptr_ClientActiveTexture GET_ClientActiveTexture(struct _glapi_table *disp) {
+ return (_glptr_ClientActiveTexture) (GET_by_offset(disp, _gloffset_ClientActiveTexture));
+}
+
+static INLINE void SET_ClientActiveTexture(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_ClientActiveTexture, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord1d)(GLenum, GLdouble);
+#define CALL_MultiTexCoord1d(disp, parameters) \
+ (* GET_MultiTexCoord1d(disp)) parameters
+static INLINE _glptr_MultiTexCoord1d GET_MultiTexCoord1d(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord1d) (GET_by_offset(disp, _gloffset_MultiTexCoord1d));
+}
+
+static INLINE void SET_MultiTexCoord1d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLdouble)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord1d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord1dv)(GLenum, const GLdouble *);
+#define CALL_MultiTexCoord1dv(disp, parameters) \
+ (* GET_MultiTexCoord1dv(disp)) parameters
+static INLINE _glptr_MultiTexCoord1dv GET_MultiTexCoord1dv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord1dv) (GET_by_offset(disp, _gloffset_MultiTexCoord1dv));
+}
+
+static INLINE void SET_MultiTexCoord1dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord1dv, 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_MultiTexCoord1i)(GLenum, GLint);
+#define CALL_MultiTexCoord1i(disp, parameters) \
+ (* GET_MultiTexCoord1i(disp)) parameters
+static INLINE _glptr_MultiTexCoord1i GET_MultiTexCoord1i(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord1i) (GET_by_offset(disp, _gloffset_MultiTexCoord1i));
+}
+
+static INLINE void SET_MultiTexCoord1i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord1i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord1iv)(GLenum, const GLint *);
+#define CALL_MultiTexCoord1iv(disp, parameters) \
+ (* GET_MultiTexCoord1iv(disp)) parameters
+static INLINE _glptr_MultiTexCoord1iv GET_MultiTexCoord1iv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord1iv) (GET_by_offset(disp, _gloffset_MultiTexCoord1iv));
+}
+
+static INLINE void SET_MultiTexCoord1iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLint *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord1iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord1s)(GLenum, GLshort);
+#define CALL_MultiTexCoord1s(disp, parameters) \
+ (* GET_MultiTexCoord1s(disp)) parameters
+static INLINE _glptr_MultiTexCoord1s GET_MultiTexCoord1s(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord1s) (GET_by_offset(disp, _gloffset_MultiTexCoord1s));
+}
+
+static INLINE void SET_MultiTexCoord1s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLshort)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord1s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord1sv)(GLenum, const GLshort *);
+#define CALL_MultiTexCoord1sv(disp, parameters) \
+ (* GET_MultiTexCoord1sv(disp)) parameters
+static INLINE _glptr_MultiTexCoord1sv GET_MultiTexCoord1sv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord1sv) (GET_by_offset(disp, _gloffset_MultiTexCoord1sv));
+}
+
+static INLINE void SET_MultiTexCoord1sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord1sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord2d)(GLenum, GLdouble, GLdouble);
+#define CALL_MultiTexCoord2d(disp, parameters) \
+ (* GET_MultiTexCoord2d(disp)) parameters
+static INLINE _glptr_MultiTexCoord2d GET_MultiTexCoord2d(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord2d) (GET_by_offset(disp, _gloffset_MultiTexCoord2d));
+}
+
+static INLINE void SET_MultiTexCoord2d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord2d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord2dv)(GLenum, const GLdouble *);
+#define CALL_MultiTexCoord2dv(disp, parameters) \
+ (* GET_MultiTexCoord2dv(disp)) parameters
+static INLINE _glptr_MultiTexCoord2dv GET_MultiTexCoord2dv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord2dv) (GET_by_offset(disp, _gloffset_MultiTexCoord2dv));
+}
+
+static INLINE void SET_MultiTexCoord2dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord2dv, 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_MultiTexCoord2i)(GLenum, GLint, GLint);
+#define CALL_MultiTexCoord2i(disp, parameters) \
+ (* GET_MultiTexCoord2i(disp)) parameters
+static INLINE _glptr_MultiTexCoord2i GET_MultiTexCoord2i(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord2i) (GET_by_offset(disp, _gloffset_MultiTexCoord2i));
+}
+
+static INLINE void SET_MultiTexCoord2i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord2i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord2iv)(GLenum, const GLint *);
+#define CALL_MultiTexCoord2iv(disp, parameters) \
+ (* GET_MultiTexCoord2iv(disp)) parameters
+static INLINE _glptr_MultiTexCoord2iv GET_MultiTexCoord2iv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord2iv) (GET_by_offset(disp, _gloffset_MultiTexCoord2iv));
+}
+
+static INLINE void SET_MultiTexCoord2iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLint *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord2iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord2s)(GLenum, GLshort, GLshort);
+#define CALL_MultiTexCoord2s(disp, parameters) \
+ (* GET_MultiTexCoord2s(disp)) parameters
+static INLINE _glptr_MultiTexCoord2s GET_MultiTexCoord2s(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord2s) (GET_by_offset(disp, _gloffset_MultiTexCoord2s));
+}
+
+static INLINE void SET_MultiTexCoord2s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord2s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord2sv)(GLenum, const GLshort *);
+#define CALL_MultiTexCoord2sv(disp, parameters) \
+ (* GET_MultiTexCoord2sv(disp)) parameters
+static INLINE _glptr_MultiTexCoord2sv GET_MultiTexCoord2sv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord2sv) (GET_by_offset(disp, _gloffset_MultiTexCoord2sv));
+}
+
+static INLINE void SET_MultiTexCoord2sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord2sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord3d)(GLenum, GLdouble, GLdouble, GLdouble);
+#define CALL_MultiTexCoord3d(disp, parameters) \
+ (* GET_MultiTexCoord3d(disp)) parameters
+static INLINE _glptr_MultiTexCoord3d GET_MultiTexCoord3d(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord3d) (GET_by_offset(disp, _gloffset_MultiTexCoord3d));
+}
+
+static INLINE void SET_MultiTexCoord3d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLdouble, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord3d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord3dv)(GLenum, const GLdouble *);
+#define CALL_MultiTexCoord3dv(disp, parameters) \
+ (* GET_MultiTexCoord3dv(disp)) parameters
+static INLINE _glptr_MultiTexCoord3dv GET_MultiTexCoord3dv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord3dv) (GET_by_offset(disp, _gloffset_MultiTexCoord3dv));
+}
+
+static INLINE void SET_MultiTexCoord3dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord3dv, 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_MultiTexCoord3i)(GLenum, GLint, GLint, GLint);
+#define CALL_MultiTexCoord3i(disp, parameters) \
+ (* GET_MultiTexCoord3i(disp)) parameters
+static INLINE _glptr_MultiTexCoord3i GET_MultiTexCoord3i(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord3i) (GET_by_offset(disp, _gloffset_MultiTexCoord3i));
+}
+
+static INLINE void SET_MultiTexCoord3i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord3i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord3iv)(GLenum, const GLint *);
+#define CALL_MultiTexCoord3iv(disp, parameters) \
+ (* GET_MultiTexCoord3iv(disp)) parameters
+static INLINE _glptr_MultiTexCoord3iv GET_MultiTexCoord3iv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord3iv) (GET_by_offset(disp, _gloffset_MultiTexCoord3iv));
+}
+
+static INLINE void SET_MultiTexCoord3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLint *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord3iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord3s)(GLenum, GLshort, GLshort, GLshort);
+#define CALL_MultiTexCoord3s(disp, parameters) \
+ (* GET_MultiTexCoord3s(disp)) parameters
+static INLINE _glptr_MultiTexCoord3s GET_MultiTexCoord3s(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord3s) (GET_by_offset(disp, _gloffset_MultiTexCoord3s));
+}
+
+static INLINE void SET_MultiTexCoord3s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLshort, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord3s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord3sv)(GLenum, const GLshort *);
+#define CALL_MultiTexCoord3sv(disp, parameters) \
+ (* GET_MultiTexCoord3sv(disp)) parameters
+static INLINE _glptr_MultiTexCoord3sv GET_MultiTexCoord3sv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord3sv) (GET_by_offset(disp, _gloffset_MultiTexCoord3sv));
+}
+
+static INLINE void SET_MultiTexCoord3sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord3sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord4d)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
+#define CALL_MultiTexCoord4d(disp, parameters) \
+ (* GET_MultiTexCoord4d(disp)) parameters
+static INLINE _glptr_MultiTexCoord4d GET_MultiTexCoord4d(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord4d) (GET_by_offset(disp, _gloffset_MultiTexCoord4d));
+}
+
+static INLINE void SET_MultiTexCoord4d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord4d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord4dv)(GLenum, const GLdouble *);
+#define CALL_MultiTexCoord4dv(disp, parameters) \
+ (* GET_MultiTexCoord4dv(disp)) parameters
+static INLINE _glptr_MultiTexCoord4dv GET_MultiTexCoord4dv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord4dv) (GET_by_offset(disp, _gloffset_MultiTexCoord4dv));
+}
+
+static INLINE void SET_MultiTexCoord4dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord4dv, 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_MultiTexCoord4i)(GLenum, GLint, GLint, GLint, GLint);
+#define CALL_MultiTexCoord4i(disp, parameters) \
+ (* GET_MultiTexCoord4i(disp)) parameters
+static INLINE _glptr_MultiTexCoord4i GET_MultiTexCoord4i(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord4i) (GET_by_offset(disp, _gloffset_MultiTexCoord4i));
+}
+
+static INLINE void SET_MultiTexCoord4i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord4i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord4iv)(GLenum, const GLint *);
+#define CALL_MultiTexCoord4iv(disp, parameters) \
+ (* GET_MultiTexCoord4iv(disp)) parameters
+static INLINE _glptr_MultiTexCoord4iv GET_MultiTexCoord4iv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord4iv) (GET_by_offset(disp, _gloffset_MultiTexCoord4iv));
+}
+
+static INLINE void SET_MultiTexCoord4iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLint *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord4iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord4s)(GLenum, GLshort, GLshort, GLshort, GLshort);
+#define CALL_MultiTexCoord4s(disp, parameters) \
+ (* GET_MultiTexCoord4s(disp)) parameters
+static INLINE _glptr_MultiTexCoord4s GET_MultiTexCoord4s(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord4s) (GET_by_offset(disp, _gloffset_MultiTexCoord4s));
+}
+
+static INLINE void SET_MultiTexCoord4s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLshort, GLshort, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord4s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord4sv)(GLenum, const GLshort *);
+#define CALL_MultiTexCoord4sv(disp, parameters) \
+ (* GET_MultiTexCoord4sv(disp)) parameters
+static INLINE _glptr_MultiTexCoord4sv GET_MultiTexCoord4sv(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord4sv) (GET_by_offset(disp, _gloffset_MultiTexCoord4sv));
+}
+
+static INLINE void SET_MultiTexCoord4sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord4sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
+#define CALL_CompressedTexImage1D(disp, parameters) \
+ (* GET_CompressedTexImage1D(disp)) parameters
+static INLINE _glptr_CompressedTexImage1D GET_CompressedTexImage1D(struct _glapi_table *disp) {
+ return (_glptr_CompressedTexImage1D) (GET_by_offset(disp, _gloffset_CompressedTexImage1D));
+}
+
+static INLINE void SET_CompressedTexImage1D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_CompressedTexImage1D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+#define CALL_CompressedTexImage2D(disp, parameters) \
+ (* GET_CompressedTexImage2D(disp)) parameters
+static INLINE _glptr_CompressedTexImage2D GET_CompressedTexImage2D(struct _glapi_table *disp) {
+ return (_glptr_CompressedTexImage2D) (GET_by_offset(disp, _gloffset_CompressedTexImage2D));
+}
+
+static INLINE void SET_CompressedTexImage2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_CompressedTexImage2D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
+#define CALL_CompressedTexImage3D(disp, parameters) \
+ (* GET_CompressedTexImage3D(disp)) parameters
+static INLINE _glptr_CompressedTexImage3D GET_CompressedTexImage3D(struct _glapi_table *disp) {
+ return (_glptr_CompressedTexImage3D) (GET_by_offset(disp, _gloffset_CompressedTexImage3D));
+}
+
+static INLINE void SET_CompressedTexImage3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_CompressedTexImage3D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
+#define CALL_CompressedTexSubImage1D(disp, parameters) \
+ (* GET_CompressedTexSubImage1D(disp)) parameters
+static INLINE _glptr_CompressedTexSubImage1D GET_CompressedTexSubImage1D(struct _glapi_table *disp) {
+ return (_glptr_CompressedTexSubImage1D) (GET_by_offset(disp, _gloffset_CompressedTexSubImage1D));
+}
+
+static INLINE void SET_CompressedTexSubImage1D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_CompressedTexSubImage1D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+#define CALL_CompressedTexSubImage2D(disp, parameters) \
+ (* GET_CompressedTexSubImage2D(disp)) parameters
+static INLINE _glptr_CompressedTexSubImage2D GET_CompressedTexSubImage2D(struct _glapi_table *disp) {
+ return (_glptr_CompressedTexSubImage2D) (GET_by_offset(disp, _gloffset_CompressedTexSubImage2D));
+}
+
+static INLINE void SET_CompressedTexSubImage2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_CompressedTexSubImage2D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
+#define CALL_CompressedTexSubImage3D(disp, parameters) \
+ (* GET_CompressedTexSubImage3D(disp)) parameters
+static INLINE _glptr_CompressedTexSubImage3D GET_CompressedTexSubImage3D(struct _glapi_table *disp) {
+ return (_glptr_CompressedTexSubImage3D) (GET_by_offset(disp, _gloffset_CompressedTexSubImage3D));
+}
+
+static INLINE void SET_CompressedTexSubImage3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_CompressedTexSubImage3D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetCompressedTexImage)(GLenum, GLint, GLvoid *);
+#define CALL_GetCompressedTexImage(disp, parameters) \
+ (* GET_GetCompressedTexImage(disp)) parameters
+static INLINE _glptr_GetCompressedTexImage GET_GetCompressedTexImage(struct _glapi_table *disp) {
+ return (_glptr_GetCompressedTexImage) (GET_by_offset(disp, _gloffset_GetCompressedTexImage));
+}
+
+static INLINE void SET_GetCompressedTexImage(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLvoid *)) {
+ SET_by_offset(disp, _gloffset_GetCompressedTexImage, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_LoadTransposeMatrixd)(const GLdouble *);
+#define CALL_LoadTransposeMatrixd(disp, parameters) \
+ (* GET_LoadTransposeMatrixd(disp)) parameters
+static INLINE _glptr_LoadTransposeMatrixd GET_LoadTransposeMatrixd(struct _glapi_table *disp) {
+ return (_glptr_LoadTransposeMatrixd) (GET_by_offset(disp, _gloffset_LoadTransposeMatrixd));
+}
+
+static INLINE void SET_LoadTransposeMatrixd(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_LoadTransposeMatrixd, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_LoadTransposeMatrixf)(const GLfloat *);
+#define CALL_LoadTransposeMatrixf(disp, parameters) \
+ (* GET_LoadTransposeMatrixf(disp)) parameters
+static INLINE _glptr_LoadTransposeMatrixf GET_LoadTransposeMatrixf(struct _glapi_table *disp) {
+ return (_glptr_LoadTransposeMatrixf) (GET_by_offset(disp, _gloffset_LoadTransposeMatrixf));
+}
+
+static INLINE void SET_LoadTransposeMatrixf(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_LoadTransposeMatrixf, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultTransposeMatrixd)(const GLdouble *);
+#define CALL_MultTransposeMatrixd(disp, parameters) \
+ (* GET_MultTransposeMatrixd(disp)) parameters
+static INLINE _glptr_MultTransposeMatrixd GET_MultTransposeMatrixd(struct _glapi_table *disp) {
+ return (_glptr_MultTransposeMatrixd) (GET_by_offset(disp, _gloffset_MultTransposeMatrixd));
+}
+
+static INLINE void SET_MultTransposeMatrixd(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_MultTransposeMatrixd, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultTransposeMatrixf)(const GLfloat *);
+#define CALL_MultTransposeMatrixf(disp, parameters) \
+ (* GET_MultTransposeMatrixf(disp)) parameters
+static INLINE _glptr_MultTransposeMatrixf GET_MultTransposeMatrixf(struct _glapi_table *disp) {
+ return (_glptr_MultTransposeMatrixf) (GET_by_offset(disp, _gloffset_MultTransposeMatrixf));
+}
+
+static INLINE void SET_MultTransposeMatrixf(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_MultTransposeMatrixf, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SampleCoverage)(GLclampf, GLboolean);
+#define CALL_SampleCoverage(disp, parameters) \
+ (* GET_SampleCoverage(disp)) parameters
+static INLINE _glptr_SampleCoverage GET_SampleCoverage(struct _glapi_table *disp) {
+ return (_glptr_SampleCoverage) (GET_by_offset(disp, _gloffset_SampleCoverage));
+}
+
+static INLINE void SET_SampleCoverage(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLclampf, GLboolean)) {
+ SET_by_offset(disp, _gloffset_SampleCoverage, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum);
+#define CALL_BlendFuncSeparate(disp, parameters) \
+ (* GET_BlendFuncSeparate(disp)) parameters
+static INLINE _glptr_BlendFuncSeparate GET_BlendFuncSeparate(struct _glapi_table *disp) {
+ return (_glptr_BlendFuncSeparate) (GET_by_offset(disp, _gloffset_BlendFuncSeparate));
+}
+
+static INLINE void SET_BlendFuncSeparate(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLenum)) {
+ SET_by_offset(disp, _gloffset_BlendFuncSeparate, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FogCoordPointer)(GLenum, GLsizei, const GLvoid *);
+#define CALL_FogCoordPointer(disp, parameters) \
+ (* GET_FogCoordPointer(disp)) parameters
+static INLINE _glptr_FogCoordPointer GET_FogCoordPointer(struct _glapi_table *disp) {
+ return (_glptr_FogCoordPointer) (GET_by_offset(disp, _gloffset_FogCoordPointer));
+}
+
+static INLINE void SET_FogCoordPointer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_FogCoordPointer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FogCoordd)(GLdouble);
+#define CALL_FogCoordd(disp, parameters) \
+ (* GET_FogCoordd(disp)) parameters
+static INLINE _glptr_FogCoordd GET_FogCoordd(struct _glapi_table *disp) {
+ return (_glptr_FogCoordd) (GET_by_offset(disp, _gloffset_FogCoordd));
+}
+
+static INLINE void SET_FogCoordd(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLdouble)) {
+ SET_by_offset(disp, _gloffset_FogCoordd, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FogCoorddv)(const GLdouble *);
+#define CALL_FogCoorddv(disp, parameters) \
+ (* GET_FogCoorddv(disp)) parameters
+static INLINE _glptr_FogCoorddv GET_FogCoorddv(struct _glapi_table *disp) {
+ return (_glptr_FogCoorddv) (GET_by_offset(disp, _gloffset_FogCoorddv));
+}
+
+static INLINE void SET_FogCoorddv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_FogCoorddv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei);
+#define CALL_MultiDrawArrays(disp, parameters) \
+ (* GET_MultiDrawArrays(disp)) parameters
+static INLINE _glptr_MultiDrawArrays GET_MultiDrawArrays(struct _glapi_table *disp) {
+ return (_glptr_MultiDrawArrays) (GET_by_offset(disp, _gloffset_MultiDrawArrays));
+}
+
+static INLINE void SET_MultiDrawArrays(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLint *, const GLsizei *, GLsizei)) {
+ SET_by_offset(disp, _gloffset_MultiDrawArrays, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointParameterf)(GLenum, GLfloat);
+#define CALL_PointParameterf(disp, parameters) \
+ (* GET_PointParameterf(disp)) parameters
+static INLINE _glptr_PointParameterf GET_PointParameterf(struct _glapi_table *disp) {
+ return (_glptr_PointParameterf) (GET_by_offset(disp, _gloffset_PointParameterf));
+}
+
+static INLINE void SET_PointParameterf(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfloat)) {
+ SET_by_offset(disp, _gloffset_PointParameterf, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointParameterfv)(GLenum, const GLfloat *);
+#define CALL_PointParameterfv(disp, parameters) \
+ (* GET_PointParameterfv(disp)) parameters
+static INLINE _glptr_PointParameterfv GET_PointParameterfv(struct _glapi_table *disp) {
+ return (_glptr_PointParameterfv) (GET_by_offset(disp, _gloffset_PointParameterfv));
+}
+
+static INLINE void SET_PointParameterfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_PointParameterfv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointParameteri)(GLenum, GLint);
+#define CALL_PointParameteri(disp, parameters) \
+ (* GET_PointParameteri(disp)) parameters
+static INLINE _glptr_PointParameteri GET_PointParameteri(struct _glapi_table *disp) {
+ return (_glptr_PointParameteri) (GET_by_offset(disp, _gloffset_PointParameteri));
+}
+
+static INLINE void SET_PointParameteri(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint)) {
+ SET_by_offset(disp, _gloffset_PointParameteri, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointParameteriv)(GLenum, const GLint *);
+#define CALL_PointParameteriv(disp, parameters) \
+ (* GET_PointParameteriv(disp)) parameters
+static INLINE _glptr_PointParameteriv GET_PointParameteriv(struct _glapi_table *disp) {
+ return (_glptr_PointParameteriv) (GET_by_offset(disp, _gloffset_PointParameteriv));
+}
+
+static INLINE void SET_PointParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLint *)) {
+ SET_by_offset(disp, _gloffset_PointParameteriv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3b)(GLbyte, GLbyte, GLbyte);
+#define CALL_SecondaryColor3b(disp, parameters) \
+ (* GET_SecondaryColor3b(disp)) parameters
+static INLINE _glptr_SecondaryColor3b GET_SecondaryColor3b(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3b) (GET_by_offset(disp, _gloffset_SecondaryColor3b));
+}
+
+static INLINE void SET_SecondaryColor3b(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLbyte, GLbyte, GLbyte)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3b, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3bv)(const GLbyte *);
+#define CALL_SecondaryColor3bv(disp, parameters) \
+ (* GET_SecondaryColor3bv(disp)) parameters
+static INLINE _glptr_SecondaryColor3bv GET_SecondaryColor3bv(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3bv) (GET_by_offset(disp, _gloffset_SecondaryColor3bv));
+}
+
+static INLINE void SET_SecondaryColor3bv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLbyte *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3bv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3d)(GLdouble, GLdouble, GLdouble);
+#define CALL_SecondaryColor3d(disp, parameters) \
+ (* GET_SecondaryColor3d(disp)) parameters
+static INLINE _glptr_SecondaryColor3d GET_SecondaryColor3d(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3d) (GET_by_offset(disp, _gloffset_SecondaryColor3d));
+}
+
+static INLINE void SET_SecondaryColor3d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLdouble, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3dv)(const GLdouble *);
+#define CALL_SecondaryColor3dv(disp, parameters) \
+ (* GET_SecondaryColor3dv(disp)) parameters
+static INLINE _glptr_SecondaryColor3dv GET_SecondaryColor3dv(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3dv) (GET_by_offset(disp, _gloffset_SecondaryColor3dv));
+}
+
+static INLINE void SET_SecondaryColor3dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3dv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3i)(GLint, GLint, GLint);
+#define CALL_SecondaryColor3i(disp, parameters) \
+ (* GET_SecondaryColor3i(disp)) parameters
+static INLINE _glptr_SecondaryColor3i GET_SecondaryColor3i(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3i) (GET_by_offset(disp, _gloffset_SecondaryColor3i));
+}
+
+static INLINE void SET_SecondaryColor3i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3iv)(const GLint *);
+#define CALL_SecondaryColor3iv(disp, parameters) \
+ (* GET_SecondaryColor3iv(disp)) parameters
+static INLINE _glptr_SecondaryColor3iv GET_SecondaryColor3iv(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3iv) (GET_by_offset(disp, _gloffset_SecondaryColor3iv));
+}
+
+static INLINE void SET_SecondaryColor3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLint *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3s)(GLshort, GLshort, GLshort);
+#define CALL_SecondaryColor3s(disp, parameters) \
+ (* GET_SecondaryColor3s(disp)) parameters
+static INLINE _glptr_SecondaryColor3s GET_SecondaryColor3s(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3s) (GET_by_offset(disp, _gloffset_SecondaryColor3s));
+}
+
+static INLINE void SET_SecondaryColor3s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLshort, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3sv)(const GLshort *);
+#define CALL_SecondaryColor3sv(disp, parameters) \
+ (* GET_SecondaryColor3sv(disp)) parameters
+static INLINE _glptr_SecondaryColor3sv GET_SecondaryColor3sv(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3sv) (GET_by_offset(disp, _gloffset_SecondaryColor3sv));
+}
+
+static INLINE void SET_SecondaryColor3sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLshort *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3ub)(GLubyte, GLubyte, GLubyte);
+#define CALL_SecondaryColor3ub(disp, parameters) \
+ (* GET_SecondaryColor3ub(disp)) parameters
+static INLINE _glptr_SecondaryColor3ub GET_SecondaryColor3ub(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3ub) (GET_by_offset(disp, _gloffset_SecondaryColor3ub));
+}
+
+static INLINE void SET_SecondaryColor3ub(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLubyte, GLubyte, GLubyte)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3ub, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3ubv)(const GLubyte *);
+#define CALL_SecondaryColor3ubv(disp, parameters) \
+ (* GET_SecondaryColor3ubv(disp)) parameters
+static INLINE _glptr_SecondaryColor3ubv GET_SecondaryColor3ubv(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3ubv) (GET_by_offset(disp, _gloffset_SecondaryColor3ubv));
+}
+
+static INLINE void SET_SecondaryColor3ubv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLubyte *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3ubv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3ui)(GLuint, GLuint, GLuint);
+#define CALL_SecondaryColor3ui(disp, parameters) \
+ (* GET_SecondaryColor3ui(disp)) parameters
+static INLINE _glptr_SecondaryColor3ui GET_SecondaryColor3ui(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3ui) (GET_by_offset(disp, _gloffset_SecondaryColor3ui));
+}
+
+static INLINE void SET_SecondaryColor3ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3uiv)(const GLuint *);
+#define CALL_SecondaryColor3uiv(disp, parameters) \
+ (* GET_SecondaryColor3uiv(disp)) parameters
+static INLINE _glptr_SecondaryColor3uiv GET_SecondaryColor3uiv(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3uiv) (GET_by_offset(disp, _gloffset_SecondaryColor3uiv));
+}
+
+static INLINE void SET_SecondaryColor3uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLuint *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3us)(GLushort, GLushort, GLushort);
+#define CALL_SecondaryColor3us(disp, parameters) \
+ (* GET_SecondaryColor3us(disp)) parameters
+static INLINE _glptr_SecondaryColor3us GET_SecondaryColor3us(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3us) (GET_by_offset(disp, _gloffset_SecondaryColor3us));
+}
+
+static INLINE void SET_SecondaryColor3us(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLushort, GLushort, GLushort)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3us, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColor3usv)(const GLushort *);
+#define CALL_SecondaryColor3usv(disp, parameters) \
+ (* GET_SecondaryColor3usv(disp)) parameters
+static INLINE _glptr_SecondaryColor3usv GET_SecondaryColor3usv(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColor3usv) (GET_by_offset(disp, _gloffset_SecondaryColor3usv));
+}
+
+static INLINE void SET_SecondaryColor3usv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLushort *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColor3usv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SecondaryColorPointer)(GLint, GLenum, GLsizei, const GLvoid *);
+#define CALL_SecondaryColorPointer(disp, parameters) \
+ (* GET_SecondaryColorPointer(disp)) parameters
+static INLINE _glptr_SecondaryColorPointer GET_SecondaryColorPointer(struct _glapi_table *disp) {
+ return (_glptr_SecondaryColorPointer) (GET_by_offset(disp, _gloffset_SecondaryColorPointer));
+}
+
+static INLINE void SET_SecondaryColorPointer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLenum, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_SecondaryColorPointer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2d)(GLdouble, GLdouble);
+#define CALL_WindowPos2d(disp, parameters) \
+ (* GET_WindowPos2d(disp)) parameters
+static INLINE _glptr_WindowPos2d GET_WindowPos2d(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2d) (GET_by_offset(disp, _gloffset_WindowPos2d));
+}
+
+static INLINE void SET_WindowPos2d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_WindowPos2d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2dv)(const GLdouble *);
+#define CALL_WindowPos2dv(disp, parameters) \
+ (* GET_WindowPos2dv(disp)) parameters
+static INLINE _glptr_WindowPos2dv GET_WindowPos2dv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2dv) (GET_by_offset(disp, _gloffset_WindowPos2dv));
+}
+
+static INLINE void SET_WindowPos2dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_WindowPos2dv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2f)(GLfloat, GLfloat);
+#define CALL_WindowPos2f(disp, parameters) \
+ (* GET_WindowPos2f(disp)) parameters
+static INLINE _glptr_WindowPos2f GET_WindowPos2f(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2f) (GET_by_offset(disp, _gloffset_WindowPos2f));
+}
+
+static INLINE void SET_WindowPos2f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_WindowPos2f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2fv)(const GLfloat *);
+#define CALL_WindowPos2fv(disp, parameters) \
+ (* GET_WindowPos2fv(disp)) parameters
+static INLINE _glptr_WindowPos2fv GET_WindowPos2fv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2fv) (GET_by_offset(disp, _gloffset_WindowPos2fv));
+}
+
+static INLINE void SET_WindowPos2fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_WindowPos2fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2i)(GLint, GLint);
+#define CALL_WindowPos2i(disp, parameters) \
+ (* GET_WindowPos2i(disp)) parameters
+static INLINE _glptr_WindowPos2i GET_WindowPos2i(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2i) (GET_by_offset(disp, _gloffset_WindowPos2i));
+}
+
+static INLINE void SET_WindowPos2i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_WindowPos2i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2iv)(const GLint *);
+#define CALL_WindowPos2iv(disp, parameters) \
+ (* GET_WindowPos2iv(disp)) parameters
+static INLINE _glptr_WindowPos2iv GET_WindowPos2iv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2iv) (GET_by_offset(disp, _gloffset_WindowPos2iv));
+}
+
+static INLINE void SET_WindowPos2iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLint *)) {
+ SET_by_offset(disp, _gloffset_WindowPos2iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2s)(GLshort, GLshort);
+#define CALL_WindowPos2s(disp, parameters) \
+ (* GET_WindowPos2s(disp)) parameters
+static INLINE _glptr_WindowPos2s GET_WindowPos2s(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2s) (GET_by_offset(disp, _gloffset_WindowPos2s));
+}
+
+static INLINE void SET_WindowPos2s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_WindowPos2s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos2sv)(const GLshort *);
+#define CALL_WindowPos2sv(disp, parameters) \
+ (* GET_WindowPos2sv(disp)) parameters
+static INLINE _glptr_WindowPos2sv GET_WindowPos2sv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos2sv) (GET_by_offset(disp, _gloffset_WindowPos2sv));
+}
+
+static INLINE void SET_WindowPos2sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLshort *)) {
+ SET_by_offset(disp, _gloffset_WindowPos2sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3d)(GLdouble, GLdouble, GLdouble);
+#define CALL_WindowPos3d(disp, parameters) \
+ (* GET_WindowPos3d(disp)) parameters
+static INLINE _glptr_WindowPos3d GET_WindowPos3d(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3d) (GET_by_offset(disp, _gloffset_WindowPos3d));
+}
+
+static INLINE void SET_WindowPos3d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLdouble, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_WindowPos3d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3dv)(const GLdouble *);
+#define CALL_WindowPos3dv(disp, parameters) \
+ (* GET_WindowPos3dv(disp)) parameters
+static INLINE _glptr_WindowPos3dv GET_WindowPos3dv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3dv) (GET_by_offset(disp, _gloffset_WindowPos3dv));
+}
+
+static INLINE void SET_WindowPos3dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_WindowPos3dv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3f)(GLfloat, GLfloat, GLfloat);
+#define CALL_WindowPos3f(disp, parameters) \
+ (* GET_WindowPos3f(disp)) parameters
+static INLINE _glptr_WindowPos3f GET_WindowPos3f(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3f) (GET_by_offset(disp, _gloffset_WindowPos3f));
+}
+
+static INLINE void SET_WindowPos3f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_WindowPos3f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3fv)(const GLfloat *);
+#define CALL_WindowPos3fv(disp, parameters) \
+ (* GET_WindowPos3fv(disp)) parameters
+static INLINE _glptr_WindowPos3fv GET_WindowPos3fv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3fv) (GET_by_offset(disp, _gloffset_WindowPos3fv));
+}
+
+static INLINE void SET_WindowPos3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_WindowPos3fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3i)(GLint, GLint, GLint);
+#define CALL_WindowPos3i(disp, parameters) \
+ (* GET_WindowPos3i(disp)) parameters
+static INLINE _glptr_WindowPos3i GET_WindowPos3i(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3i) (GET_by_offset(disp, _gloffset_WindowPos3i));
+}
+
+static INLINE void SET_WindowPos3i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_WindowPos3i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3iv)(const GLint *);
+#define CALL_WindowPos3iv(disp, parameters) \
+ (* GET_WindowPos3iv(disp)) parameters
+static INLINE _glptr_WindowPos3iv GET_WindowPos3iv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3iv) (GET_by_offset(disp, _gloffset_WindowPos3iv));
+}
+
+static INLINE void SET_WindowPos3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLint *)) {
+ SET_by_offset(disp, _gloffset_WindowPos3iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3s)(GLshort, GLshort, GLshort);
+#define CALL_WindowPos3s(disp, parameters) \
+ (* GET_WindowPos3s(disp)) parameters
+static INLINE _glptr_WindowPos3s GET_WindowPos3s(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3s) (GET_by_offset(disp, _gloffset_WindowPos3s));
+}
+
+static INLINE void SET_WindowPos3s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLshort, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_WindowPos3s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_WindowPos3sv)(const GLshort *);
+#define CALL_WindowPos3sv(disp, parameters) \
+ (* GET_WindowPos3sv(disp)) parameters
+static INLINE _glptr_WindowPos3sv GET_WindowPos3sv(struct _glapi_table *disp) {
+ return (_glptr_WindowPos3sv) (GET_by_offset(disp, _gloffset_WindowPos3sv));
+}
+
+static INLINE void SET_WindowPos3sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLshort *)) {
+ SET_by_offset(disp, _gloffset_WindowPos3sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BeginQuery)(GLenum, GLuint);
+#define CALL_BeginQuery(disp, parameters) \
+ (* GET_BeginQuery(disp)) parameters
+static INLINE _glptr_BeginQuery GET_BeginQuery(struct _glapi_table *disp) {
+ return (_glptr_BeginQuery) (GET_by_offset(disp, _gloffset_BeginQuery));
+}
+
+static INLINE void SET_BeginQuery(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_BeginQuery, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindBuffer)(GLenum, GLuint);
+#define CALL_BindBuffer(disp, parameters) \
+ (* GET_BindBuffer(disp)) parameters
+static INLINE _glptr_BindBuffer GET_BindBuffer(struct _glapi_table *disp) {
+ return (_glptr_BindBuffer) (GET_by_offset(disp, _gloffset_BindBuffer));
+}
+
+static INLINE void SET_BindBuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_BindBuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BufferData)(GLenum, GLsizeiptr, const GLvoid *, GLenum);
+#define CALL_BufferData(disp, parameters) \
+ (* GET_BufferData(disp)) parameters
+static INLINE _glptr_BufferData GET_BufferData(struct _glapi_table *disp) {
+ return (_glptr_BufferData) (GET_by_offset(disp, _gloffset_BufferData));
+}
+
+static INLINE void SET_BufferData(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizeiptr, const GLvoid *, GLenum)) {
+ SET_by_offset(disp, _gloffset_BufferData, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BufferSubData)(GLenum, GLintptr, GLsizeiptr, const GLvoid *);
+#define CALL_BufferSubData(disp, parameters) \
+ (* GET_BufferSubData(disp)) parameters
+static INLINE _glptr_BufferSubData GET_BufferSubData(struct _glapi_table *disp) {
+ return (_glptr_BufferSubData) (GET_by_offset(disp, _gloffset_BufferSubData));
+}
+
+static INLINE void SET_BufferSubData(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLintptr, GLsizeiptr, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_BufferSubData, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeleteBuffers)(GLsizei, const GLuint *);
+#define CALL_DeleteBuffers(disp, parameters) \
+ (* GET_DeleteBuffers(disp)) parameters
+static INLINE _glptr_DeleteBuffers GET_DeleteBuffers(struct _glapi_table *disp) {
+ return (_glptr_DeleteBuffers) (GET_by_offset(disp, _gloffset_DeleteBuffers));
+}
+
+static INLINE void SET_DeleteBuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeleteBuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeleteQueries)(GLsizei, const GLuint *);
+#define CALL_DeleteQueries(disp, parameters) \
+ (* GET_DeleteQueries(disp)) parameters
+static INLINE _glptr_DeleteQueries GET_DeleteQueries(struct _glapi_table *disp) {
+ return (_glptr_DeleteQueries) (GET_by_offset(disp, _gloffset_DeleteQueries));
+}
+
+static INLINE void SET_DeleteQueries(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeleteQueries, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EndQuery)(GLenum);
+#define CALL_EndQuery(disp, parameters) \
+ (* GET_EndQuery(disp)) parameters
+static INLINE _glptr_EndQuery GET_EndQuery(struct _glapi_table *disp) {
+ return (_glptr_EndQuery) (GET_by_offset(disp, _gloffset_EndQuery));
+}
+
+static INLINE void SET_EndQuery(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_EndQuery, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenBuffers)(GLsizei, GLuint *);
+#define CALL_GenBuffers(disp, parameters) \
+ (* GET_GenBuffers(disp)) parameters
+static INLINE _glptr_GenBuffers GET_GenBuffers(struct _glapi_table *disp) {
+ return (_glptr_GenBuffers) (GET_by_offset(disp, _gloffset_GenBuffers));
+}
+
+static INLINE void SET_GenBuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GenBuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenQueries)(GLsizei, GLuint *);
+#define CALL_GenQueries(disp, parameters) \
+ (* GET_GenQueries(disp)) parameters
+static INLINE _glptr_GenQueries GET_GenQueries(struct _glapi_table *disp) {
+ return (_glptr_GenQueries) (GET_by_offset(disp, _gloffset_GenQueries));
+}
+
+static INLINE void SET_GenQueries(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GenQueries, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetBufferParameteriv)(GLenum, GLenum, GLint *);
+#define CALL_GetBufferParameteriv(disp, parameters) \
+ (* GET_GetBufferParameteriv(disp)) parameters
+static INLINE _glptr_GetBufferParameteriv GET_GetBufferParameteriv(struct _glapi_table *disp) {
+ return (_glptr_GetBufferParameteriv) (GET_by_offset(disp, _gloffset_GetBufferParameteriv));
+}
+
+static INLINE void SET_GetBufferParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetBufferParameteriv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetBufferPointerv)(GLenum, GLenum, GLvoid **);
+#define CALL_GetBufferPointerv(disp, parameters) \
+ (* GET_GetBufferPointerv(disp)) parameters
+static INLINE _glptr_GetBufferPointerv GET_GetBufferPointerv(struct _glapi_table *disp) {
+ return (_glptr_GetBufferPointerv) (GET_by_offset(disp, _gloffset_GetBufferPointerv));
+}
+
+static INLINE void SET_GetBufferPointerv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLvoid **)) {
+ SET_by_offset(disp, _gloffset_GetBufferPointerv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetBufferSubData)(GLenum, GLintptr, GLsizeiptr, GLvoid *);
+#define CALL_GetBufferSubData(disp, parameters) \
+ (* GET_GetBufferSubData(disp)) parameters
+static INLINE _glptr_GetBufferSubData GET_GetBufferSubData(struct _glapi_table *disp) {
+ return (_glptr_GetBufferSubData) (GET_by_offset(disp, _gloffset_GetBufferSubData));
+}
+
+static INLINE void SET_GetBufferSubData(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLintptr, GLsizeiptr, GLvoid *)) {
+ SET_by_offset(disp, _gloffset_GetBufferSubData, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetQueryObjectiv)(GLuint, GLenum, GLint *);
+#define CALL_GetQueryObjectiv(disp, parameters) \
+ (* GET_GetQueryObjectiv(disp)) parameters
+static INLINE _glptr_GetQueryObjectiv GET_GetQueryObjectiv(struct _glapi_table *disp) {
+ return (_glptr_GetQueryObjectiv) (GET_by_offset(disp, _gloffset_GetQueryObjectiv));
+}
+
+static INLINE void SET_GetQueryObjectiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetQueryObjectiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetQueryObjectuiv)(GLuint, GLenum, GLuint *);
+#define CALL_GetQueryObjectuiv(disp, parameters) \
+ (* GET_GetQueryObjectuiv(disp)) parameters
+static INLINE _glptr_GetQueryObjectuiv GET_GetQueryObjectuiv(struct _glapi_table *disp) {
+ return (_glptr_GetQueryObjectuiv) (GET_by_offset(disp, _gloffset_GetQueryObjectuiv));
+}
+
+static INLINE void SET_GetQueryObjectuiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetQueryObjectuiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetQueryiv)(GLenum, GLenum, GLint *);
+#define CALL_GetQueryiv(disp, parameters) \
+ (* GET_GetQueryiv(disp)) parameters
+static INLINE _glptr_GetQueryiv GET_GetQueryiv(struct _glapi_table *disp) {
+ return (_glptr_GetQueryiv) (GET_by_offset(disp, _gloffset_GetQueryiv));
+}
+
+static INLINE void SET_GetQueryiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetQueryiv, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_IsBuffer)(GLuint);
+#define CALL_IsBuffer(disp, parameters) \
+ (* GET_IsBuffer(disp)) parameters
+static INLINE _glptr_IsBuffer GET_IsBuffer(struct _glapi_table *disp) {
+ return (_glptr_IsBuffer) (GET_by_offset(disp, _gloffset_IsBuffer));
+}
+
+static INLINE void SET_IsBuffer(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_IsBuffer, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_IsQuery)(GLuint);
+#define CALL_IsQuery(disp, parameters) \
+ (* GET_IsQuery(disp)) parameters
+static INLINE _glptr_IsQuery GET_IsQuery(struct _glapi_table *disp) {
+ return (_glptr_IsQuery) (GET_by_offset(disp, _gloffset_IsQuery));
+}
+
+static INLINE void SET_IsQuery(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_IsQuery, fn);
+}
+
+typedef GLvoid * (GLAPIENTRYP _glptr_MapBuffer)(GLenum, GLenum);
+#define CALL_MapBuffer(disp, parameters) \
+ (* GET_MapBuffer(disp)) parameters
+static INLINE _glptr_MapBuffer GET_MapBuffer(struct _glapi_table *disp) {
+ return (_glptr_MapBuffer) (GET_by_offset(disp, _gloffset_MapBuffer));
+}
+
+static INLINE void SET_MapBuffer(struct _glapi_table *disp, GLvoid * (GLAPIENTRYP fn)(GLenum, GLenum)) {
+ SET_by_offset(disp, _gloffset_MapBuffer, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_UnmapBuffer)(GLenum);
+#define CALL_UnmapBuffer(disp, parameters) \
+ (* GET_UnmapBuffer(disp)) parameters
+static INLINE _glptr_UnmapBuffer GET_UnmapBuffer(struct _glapi_table *disp) {
+ return (_glptr_UnmapBuffer) (GET_by_offset(disp, _gloffset_UnmapBuffer));
+}
+
+static INLINE void SET_UnmapBuffer(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_UnmapBuffer, 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 void (GLAPIENTRYP _glptr_BindAttribLocation)(GLuint, GLuint, const GLchar *);
+#define CALL_BindAttribLocation(disp, parameters) \
+ (* GET_BindAttribLocation(disp)) parameters
+static INLINE _glptr_BindAttribLocation GET_BindAttribLocation(struct _glapi_table *disp) {
+ return (_glptr_BindAttribLocation) (GET_by_offset(disp, _gloffset_BindAttribLocation));
+}
+
+static INLINE void SET_BindAttribLocation(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_BindAttribLocation, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BlendEquationSeparate)(GLenum, GLenum);
+#define CALL_BlendEquationSeparate(disp, parameters) \
+ (* GET_BlendEquationSeparate(disp)) parameters
+static INLINE _glptr_BlendEquationSeparate GET_BlendEquationSeparate(struct _glapi_table *disp) {
+ return (_glptr_BlendEquationSeparate) (GET_by_offset(disp, _gloffset_BlendEquationSeparate));
+}
+
+static INLINE void SET_BlendEquationSeparate(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum)) {
+ SET_by_offset(disp, _gloffset_BlendEquationSeparate, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CompileShader)(GLuint);
+#define CALL_CompileShader(disp, parameters) \
+ (* GET_CompileShader(disp)) parameters
+static INLINE _glptr_CompileShader GET_CompileShader(struct _glapi_table *disp) {
+ return (_glptr_CompileShader) (GET_by_offset(disp, _gloffset_CompileShader));
+}
+
+static INLINE void SET_CompileShader(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_CompileShader, 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_DisableVertexAttribArray)(GLuint);
+#define CALL_DisableVertexAttribArray(disp, parameters) \
+ (* GET_DisableVertexAttribArray(disp)) parameters
+static INLINE _glptr_DisableVertexAttribArray GET_DisableVertexAttribArray(struct _glapi_table *disp) {
+ return (_glptr_DisableVertexAttribArray) (GET_by_offset(disp, _gloffset_DisableVertexAttribArray));
+}
+
+static INLINE void SET_DisableVertexAttribArray(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_DisableVertexAttribArray, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawBuffers)(GLsizei, const GLenum *);
+#define CALL_DrawBuffers(disp, parameters) \
+ (* GET_DrawBuffers(disp)) parameters
+static INLINE _glptr_DrawBuffers GET_DrawBuffers(struct _glapi_table *disp) {
+ return (_glptr_DrawBuffers) (GET_by_offset(disp, _gloffset_DrawBuffers));
+}
+
+static INLINE void SET_DrawBuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLenum *)) {
+ SET_by_offset(disp, _gloffset_DrawBuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EnableVertexAttribArray)(GLuint);
+#define CALL_EnableVertexAttribArray(disp, parameters) \
+ (* GET_EnableVertexAttribArray(disp)) parameters
+static INLINE _glptr_EnableVertexAttribArray GET_EnableVertexAttribArray(struct _glapi_table *disp) {
+ return (_glptr_EnableVertexAttribArray) (GET_by_offset(disp, _gloffset_EnableVertexAttribArray));
+}
+
+static INLINE void SET_EnableVertexAttribArray(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_EnableVertexAttribArray, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetActiveAttrib)(GLuint, GLuint, GLsizei , GLsizei *, GLint *, GLenum *, GLchar *);
+#define CALL_GetActiveAttrib(disp, parameters) \
+ (* GET_GetActiveAttrib(disp)) parameters
+static INLINE _glptr_GetActiveAttrib GET_GetActiveAttrib(struct _glapi_table *disp) {
+ return (_glptr_GetActiveAttrib) (GET_by_offset(disp, _gloffset_GetActiveAttrib));
+}
+
+static INLINE void SET_GetActiveAttrib(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei , GLsizei *, GLint *, GLenum *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetActiveAttrib, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
+#define CALL_GetActiveUniform(disp, parameters) \
+ (* GET_GetActiveUniform(disp)) parameters
+static INLINE _glptr_GetActiveUniform GET_GetActiveUniform(struct _glapi_table *disp) {
+ return (_glptr_GetActiveUniform) (GET_by_offset(disp, _gloffset_GetActiveUniform));
+}
+
+static INLINE void SET_GetActiveUniform(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetActiveUniform, 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 GLint (GLAPIENTRYP _glptr_GetAttribLocation)(GLuint, const GLchar *);
+#define CALL_GetAttribLocation(disp, parameters) \
+ (* GET_GetAttribLocation(disp)) parameters
+static INLINE _glptr_GetAttribLocation GET_GetAttribLocation(struct _glapi_table *disp) {
+ return (_glptr_GetAttribLocation) (GET_by_offset(disp, _gloffset_GetAttribLocation));
+}
+
+static INLINE void SET_GetAttribLocation(struct _glapi_table *disp, GLint (GLAPIENTRYP fn)(GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetAttribLocation, 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_GetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetShaderSource(disp, parameters) \
+ (* GET_GetShaderSource(disp)) parameters
+static INLINE _glptr_GetShaderSource GET_GetShaderSource(struct _glapi_table *disp) {
+ return (_glptr_GetShaderSource) (GET_by_offset(disp, _gloffset_GetShaderSource));
+}
+
+static INLINE void SET_GetShaderSource(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetShaderSource, 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 GLint (GLAPIENTRYP _glptr_GetUniformLocation)(GLuint, const GLchar *);
+#define CALL_GetUniformLocation(disp, parameters) \
+ (* GET_GetUniformLocation(disp)) parameters
+static INLINE _glptr_GetUniformLocation GET_GetUniformLocation(struct _glapi_table *disp) {
+ return (_glptr_GetUniformLocation) (GET_by_offset(disp, _gloffset_GetUniformLocation));
+}
+
+static INLINE void SET_GetUniformLocation(struct _glapi_table *disp, GLint (GLAPIENTRYP fn)(GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetUniformLocation, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetUniformfv)(GLuint, GLint, GLfloat *);
+#define CALL_GetUniformfv(disp, parameters) \
+ (* GET_GetUniformfv(disp)) parameters
+static INLINE _glptr_GetUniformfv GET_GetUniformfv(struct _glapi_table *disp) {
+ return (_glptr_GetUniformfv) (GET_by_offset(disp, _gloffset_GetUniformfv));
+}
+
+static INLINE void SET_GetUniformfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLfloat *)) {
+ SET_by_offset(disp, _gloffset_GetUniformfv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetUniformiv)(GLuint, GLint, GLint *);
+#define CALL_GetUniformiv(disp, parameters) \
+ (* GET_GetUniformiv(disp)) parameters
+static INLINE _glptr_GetUniformiv GET_GetUniformiv(struct _glapi_table *disp) {
+ return (_glptr_GetUniformiv) (GET_by_offset(disp, _gloffset_GetUniformiv));
+}
+
+static INLINE void SET_GetUniformiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetUniformiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetVertexAttribPointerv)(GLuint, GLenum, GLvoid **);
+#define CALL_GetVertexAttribPointerv(disp, parameters) \
+ (* GET_GetVertexAttribPointerv(disp)) parameters
+static INLINE _glptr_GetVertexAttribPointerv GET_GetVertexAttribPointerv(struct _glapi_table *disp) {
+ return (_glptr_GetVertexAttribPointerv) (GET_by_offset(disp, _gloffset_GetVertexAttribPointerv));
+}
+
+static INLINE void SET_GetVertexAttribPointerv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLvoid **)) {
+ SET_by_offset(disp, _gloffset_GetVertexAttribPointerv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetVertexAttribdv)(GLuint, GLenum, GLdouble *);
+#define CALL_GetVertexAttribdv(disp, parameters) \
+ (* GET_GetVertexAttribdv(disp)) parameters
+static INLINE _glptr_GetVertexAttribdv GET_GetVertexAttribdv(struct _glapi_table *disp) {
+ return (_glptr_GetVertexAttribdv) (GET_by_offset(disp, _gloffset_GetVertexAttribdv));
+}
+
+static INLINE void SET_GetVertexAttribdv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLdouble *)) {
+ SET_by_offset(disp, _gloffset_GetVertexAttribdv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetVertexAttribfv)(GLuint, GLenum, GLfloat *);
+#define CALL_GetVertexAttribfv(disp, parameters) \
+ (* GET_GetVertexAttribfv(disp)) parameters
+static INLINE _glptr_GetVertexAttribfv GET_GetVertexAttribfv(struct _glapi_table *disp) {
+ return (_glptr_GetVertexAttribfv) (GET_by_offset(disp, _gloffset_GetVertexAttribfv));
+}
+
+static INLINE void SET_GetVertexAttribfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLfloat *)) {
+ SET_by_offset(disp, _gloffset_GetVertexAttribfv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetVertexAttribiv)(GLuint, GLenum, GLint *);
+#define CALL_GetVertexAttribiv(disp, parameters) \
+ (* GET_GetVertexAttribiv(disp)) parameters
+static INLINE _glptr_GetVertexAttribiv GET_GetVertexAttribiv(struct _glapi_table *disp) {
+ return (_glptr_GetVertexAttribiv) (GET_by_offset(disp, _gloffset_GetVertexAttribiv));
+}
+
+static INLINE void SET_GetVertexAttribiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetVertexAttribiv, 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_LinkProgram)(GLuint);
+#define CALL_LinkProgram(disp, parameters) \
+ (* GET_LinkProgram(disp)) parameters
+static INLINE _glptr_LinkProgram GET_LinkProgram(struct _glapi_table *disp) {
+ return (_glptr_LinkProgram) (GET_by_offset(disp, _gloffset_LinkProgram));
+}
+
+static INLINE void SET_LinkProgram(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_LinkProgram, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ShaderSource)(GLuint, GLsizei, const GLchar * const *, const GLint *);
+#define CALL_ShaderSource(disp, parameters) \
+ (* GET_ShaderSource(disp)) parameters
+static INLINE _glptr_ShaderSource GET_ShaderSource(struct _glapi_table *disp) {
+ return (_glptr_ShaderSource) (GET_by_offset(disp, _gloffset_ShaderSource));
+}
+
+static INLINE void SET_ShaderSource(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLchar * const *, const GLint *)) {
+ SET_by_offset(disp, _gloffset_ShaderSource, 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_Uniform1f)(GLint, GLfloat);
+#define CALL_Uniform1f(disp, parameters) \
+ (* GET_Uniform1f(disp)) parameters
+static INLINE _glptr_Uniform1f GET_Uniform1f(struct _glapi_table *disp) {
+ return (_glptr_Uniform1f) (GET_by_offset(disp, _gloffset_Uniform1f));
+}
+
+static INLINE void SET_Uniform1f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLfloat)) {
+ SET_by_offset(disp, _gloffset_Uniform1f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform1fv)(GLint, GLsizei, const GLfloat *);
+#define CALL_Uniform1fv(disp, parameters) \
+ (* GET_Uniform1fv(disp)) parameters
+static INLINE _glptr_Uniform1fv GET_Uniform1fv(struct _glapi_table *disp) {
+ return (_glptr_Uniform1fv) (GET_by_offset(disp, _gloffset_Uniform1fv));
+}
+
+static INLINE void SET_Uniform1fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_Uniform1fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform1i)(GLint, GLint);
+#define CALL_Uniform1i(disp, parameters) \
+ (* GET_Uniform1i(disp)) parameters
+static INLINE _glptr_Uniform1i GET_Uniform1i(struct _glapi_table *disp) {
+ return (_glptr_Uniform1i) (GET_by_offset(disp, _gloffset_Uniform1i));
+}
+
+static INLINE void SET_Uniform1i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_Uniform1i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform1iv)(GLint, GLsizei, const GLint *);
+#define CALL_Uniform1iv(disp, parameters) \
+ (* GET_Uniform1iv(disp)) parameters
+static INLINE _glptr_Uniform1iv GET_Uniform1iv(struct _glapi_table *disp) {
+ return (_glptr_Uniform1iv) (GET_by_offset(disp, _gloffset_Uniform1iv));
+}
+
+static INLINE void SET_Uniform1iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_Uniform1iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform2f)(GLint, GLfloat, GLfloat);
+#define CALL_Uniform2f(disp, parameters) \
+ (* GET_Uniform2f(disp)) parameters
+static INLINE _glptr_Uniform2f GET_Uniform2f(struct _glapi_table *disp) {
+ return (_glptr_Uniform2f) (GET_by_offset(disp, _gloffset_Uniform2f));
+}
+
+static INLINE void SET_Uniform2f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_Uniform2f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform2fv)(GLint, GLsizei, const GLfloat *);
+#define CALL_Uniform2fv(disp, parameters) \
+ (* GET_Uniform2fv(disp)) parameters
+static INLINE _glptr_Uniform2fv GET_Uniform2fv(struct _glapi_table *disp) {
+ return (_glptr_Uniform2fv) (GET_by_offset(disp, _gloffset_Uniform2fv));
+}
+
+static INLINE void SET_Uniform2fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_Uniform2fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform2i)(GLint, GLint, GLint);
+#define CALL_Uniform2i(disp, parameters) \
+ (* GET_Uniform2i(disp)) parameters
+static INLINE _glptr_Uniform2i GET_Uniform2i(struct _glapi_table *disp) {
+ return (_glptr_Uniform2i) (GET_by_offset(disp, _gloffset_Uniform2i));
+}
+
+static INLINE void SET_Uniform2i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_Uniform2i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform2iv)(GLint, GLsizei, const GLint *);
+#define CALL_Uniform2iv(disp, parameters) \
+ (* GET_Uniform2iv(disp)) parameters
+static INLINE _glptr_Uniform2iv GET_Uniform2iv(struct _glapi_table *disp) {
+ return (_glptr_Uniform2iv) (GET_by_offset(disp, _gloffset_Uniform2iv));
+}
+
+static INLINE void SET_Uniform2iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_Uniform2iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform3f)(GLint, GLfloat, GLfloat, GLfloat);
+#define CALL_Uniform3f(disp, parameters) \
+ (* GET_Uniform3f(disp)) parameters
+static INLINE _glptr_Uniform3f GET_Uniform3f(struct _glapi_table *disp) {
+ return (_glptr_Uniform3f) (GET_by_offset(disp, _gloffset_Uniform3f));
+}
+
+static INLINE void SET_Uniform3f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_Uniform3f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform3fv)(GLint, GLsizei, const GLfloat *);
+#define CALL_Uniform3fv(disp, parameters) \
+ (* GET_Uniform3fv(disp)) parameters
+static INLINE _glptr_Uniform3fv GET_Uniform3fv(struct _glapi_table *disp) {
+ return (_glptr_Uniform3fv) (GET_by_offset(disp, _gloffset_Uniform3fv));
+}
+
+static INLINE void SET_Uniform3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_Uniform3fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform3i)(GLint, GLint, GLint, GLint);
+#define CALL_Uniform3i(disp, parameters) \
+ (* GET_Uniform3i(disp)) parameters
+static INLINE _glptr_Uniform3i GET_Uniform3i(struct _glapi_table *disp) {
+ return (_glptr_Uniform3i) (GET_by_offset(disp, _gloffset_Uniform3i));
+}
+
+static INLINE void SET_Uniform3i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_Uniform3i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform3iv)(GLint, GLsizei, const GLint *);
+#define CALL_Uniform3iv(disp, parameters) \
+ (* GET_Uniform3iv(disp)) parameters
+static INLINE _glptr_Uniform3iv GET_Uniform3iv(struct _glapi_table *disp) {
+ return (_glptr_Uniform3iv) (GET_by_offset(disp, _gloffset_Uniform3iv));
+}
+
+static INLINE void SET_Uniform3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_Uniform3iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+#define CALL_Uniform4f(disp, parameters) \
+ (* GET_Uniform4f(disp)) parameters
+static INLINE _glptr_Uniform4f GET_Uniform4f(struct _glapi_table *disp) {
+ return (_glptr_Uniform4f) (GET_by_offset(disp, _gloffset_Uniform4f));
+}
+
+static INLINE void SET_Uniform4f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_Uniform4f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform4fv)(GLint, GLsizei, const GLfloat *);
+#define CALL_Uniform4fv(disp, parameters) \
+ (* GET_Uniform4fv(disp)) parameters
+static INLINE _glptr_Uniform4fv GET_Uniform4fv(struct _glapi_table *disp) {
+ return (_glptr_Uniform4fv) (GET_by_offset(disp, _gloffset_Uniform4fv));
+}
+
+static INLINE void SET_Uniform4fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_Uniform4fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform4i)(GLint, GLint, GLint, GLint, GLint);
+#define CALL_Uniform4i(disp, parameters) \
+ (* GET_Uniform4i(disp)) parameters
+static INLINE _glptr_Uniform4i GET_Uniform4i(struct _glapi_table *disp) {
+ return (_glptr_Uniform4i) (GET_by_offset(disp, _gloffset_Uniform4i));
+}
+
+static INLINE void SET_Uniform4i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_Uniform4i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform4iv)(GLint, GLsizei, const GLint *);
+#define CALL_Uniform4iv(disp, parameters) \
+ (* GET_Uniform4iv(disp)) parameters
+static INLINE _glptr_Uniform4iv GET_Uniform4iv(struct _glapi_table *disp) {
+ return (_glptr_Uniform4iv) (GET_by_offset(disp, _gloffset_Uniform4iv));
+}
+
+static INLINE void SET_Uniform4iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_Uniform4iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_UniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_UniformMatrix2fv(disp, parameters) \
+ (* GET_UniformMatrix2fv(disp)) parameters
+static INLINE _glptr_UniformMatrix2fv GET_UniformMatrix2fv(struct _glapi_table *disp) {
+ return (_glptr_UniformMatrix2fv) (GET_by_offset(disp, _gloffset_UniformMatrix2fv));
+}
+
+static INLINE void SET_UniformMatrix2fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_UniformMatrix2fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_UniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_UniformMatrix3fv(disp, parameters) \
+ (* GET_UniformMatrix3fv(disp)) parameters
+static INLINE _glptr_UniformMatrix3fv GET_UniformMatrix3fv(struct _glapi_table *disp) {
+ return (_glptr_UniformMatrix3fv) (GET_by_offset(disp, _gloffset_UniformMatrix3fv));
+}
+
+static INLINE void SET_UniformMatrix3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_UniformMatrix3fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_UniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_UniformMatrix4fv(disp, parameters) \
+ (* GET_UniformMatrix4fv(disp)) parameters
+static INLINE _glptr_UniformMatrix4fv GET_UniformMatrix4fv(struct _glapi_table *disp) {
+ return (_glptr_UniformMatrix4fv) (GET_by_offset(disp, _gloffset_UniformMatrix4fv));
+}
+
+static INLINE void SET_UniformMatrix4fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_UniformMatrix4fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_UseProgram)(GLuint);
+#define CALL_UseProgram(disp, parameters) \
+ (* GET_UseProgram(disp)) parameters
+static INLINE _glptr_UseProgram GET_UseProgram(struct _glapi_table *disp) {
+ return (_glptr_UseProgram) (GET_by_offset(disp, _gloffset_UseProgram));
+}
+
+static INLINE void SET_UseProgram(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_UseProgram, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ValidateProgram)(GLuint);
+#define CALL_ValidateProgram(disp, parameters) \
+ (* GET_ValidateProgram(disp)) parameters
+static INLINE _glptr_ValidateProgram GET_ValidateProgram(struct _glapi_table *disp) {
+ return (_glptr_ValidateProgram) (GET_by_offset(disp, _gloffset_ValidateProgram));
+}
+
+static INLINE void SET_ValidateProgram(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_ValidateProgram, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib1d)(GLuint, GLdouble);
+#define CALL_VertexAttrib1d(disp, parameters) \
+ (* GET_VertexAttrib1d(disp)) parameters
+static INLINE _glptr_VertexAttrib1d GET_VertexAttrib1d(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib1d) (GET_by_offset(disp, _gloffset_VertexAttrib1d));
+}
+
+static INLINE void SET_VertexAttrib1d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLdouble)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib1d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib1dv)(GLuint, const GLdouble *);
+#define CALL_VertexAttrib1dv(disp, parameters) \
+ (* GET_VertexAttrib1dv(disp)) parameters
+static INLINE _glptr_VertexAttrib1dv GET_VertexAttrib1dv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib1dv) (GET_by_offset(disp, _gloffset_VertexAttrib1dv));
+}
+
+static INLINE void SET_VertexAttrib1dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib1dv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib1s)(GLuint, GLshort);
+#define CALL_VertexAttrib1s(disp, parameters) \
+ (* GET_VertexAttrib1s(disp)) parameters
+static INLINE _glptr_VertexAttrib1s GET_VertexAttrib1s(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib1s) (GET_by_offset(disp, _gloffset_VertexAttrib1s));
+}
+
+static INLINE void SET_VertexAttrib1s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLshort)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib1s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib1sv)(GLuint, const GLshort *);
+#define CALL_VertexAttrib1sv(disp, parameters) \
+ (* GET_VertexAttrib1sv(disp)) parameters
+static INLINE _glptr_VertexAttrib1sv GET_VertexAttrib1sv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib1sv) (GET_by_offset(disp, _gloffset_VertexAttrib1sv));
+}
+
+static INLINE void SET_VertexAttrib1sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib1sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib2d)(GLuint, GLdouble, GLdouble);
+#define CALL_VertexAttrib2d(disp, parameters) \
+ (* GET_VertexAttrib2d(disp)) parameters
+static INLINE _glptr_VertexAttrib2d GET_VertexAttrib2d(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib2d) (GET_by_offset(disp, _gloffset_VertexAttrib2d));
+}
+
+static INLINE void SET_VertexAttrib2d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib2d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib2dv)(GLuint, const GLdouble *);
+#define CALL_VertexAttrib2dv(disp, parameters) \
+ (* GET_VertexAttrib2dv(disp)) parameters
+static INLINE _glptr_VertexAttrib2dv GET_VertexAttrib2dv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib2dv) (GET_by_offset(disp, _gloffset_VertexAttrib2dv));
+}
+
+static INLINE void SET_VertexAttrib2dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib2dv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib2s)(GLuint, GLshort, GLshort);
+#define CALL_VertexAttrib2s(disp, parameters) \
+ (* GET_VertexAttrib2s(disp)) parameters
+static INLINE _glptr_VertexAttrib2s GET_VertexAttrib2s(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib2s) (GET_by_offset(disp, _gloffset_VertexAttrib2s));
+}
+
+static INLINE void SET_VertexAttrib2s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib2s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib2sv)(GLuint, const GLshort *);
+#define CALL_VertexAttrib2sv(disp, parameters) \
+ (* GET_VertexAttrib2sv(disp)) parameters
+static INLINE _glptr_VertexAttrib2sv GET_VertexAttrib2sv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib2sv) (GET_by_offset(disp, _gloffset_VertexAttrib2sv));
+}
+
+static INLINE void SET_VertexAttrib2sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib2sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble);
+#define CALL_VertexAttrib3d(disp, parameters) \
+ (* GET_VertexAttrib3d(disp)) parameters
+static INLINE _glptr_VertexAttrib3d GET_VertexAttrib3d(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib3d) (GET_by_offset(disp, _gloffset_VertexAttrib3d));
+}
+
+static INLINE void SET_VertexAttrib3d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLdouble, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib3d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib3dv)(GLuint, const GLdouble *);
+#define CALL_VertexAttrib3dv(disp, parameters) \
+ (* GET_VertexAttrib3dv(disp)) parameters
+static INLINE _glptr_VertexAttrib3dv GET_VertexAttrib3dv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib3dv) (GET_by_offset(disp, _gloffset_VertexAttrib3dv));
+}
+
+static INLINE void SET_VertexAttrib3dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib3dv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib3s)(GLuint, GLshort, GLshort, GLshort);
+#define CALL_VertexAttrib3s(disp, parameters) \
+ (* GET_VertexAttrib3s(disp)) parameters
+static INLINE _glptr_VertexAttrib3s GET_VertexAttrib3s(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib3s) (GET_by_offset(disp, _gloffset_VertexAttrib3s));
+}
+
+static INLINE void SET_VertexAttrib3s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLshort, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib3s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib3sv)(GLuint, const GLshort *);
+#define CALL_VertexAttrib3sv(disp, parameters) \
+ (* GET_VertexAttrib3sv(disp)) parameters
+static INLINE _glptr_VertexAttrib3sv GET_VertexAttrib3sv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib3sv) (GET_by_offset(disp, _gloffset_VertexAttrib3sv));
+}
+
+static INLINE void SET_VertexAttrib3sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib3sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4Nbv)(GLuint, const GLbyte *);
+#define CALL_VertexAttrib4Nbv(disp, parameters) \
+ (* GET_VertexAttrib4Nbv(disp)) parameters
+static INLINE _glptr_VertexAttrib4Nbv GET_VertexAttrib4Nbv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4Nbv) (GET_by_offset(disp, _gloffset_VertexAttrib4Nbv));
+}
+
+static INLINE void SET_VertexAttrib4Nbv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLbyte *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4Nbv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4Niv)(GLuint, const GLint *);
+#define CALL_VertexAttrib4Niv(disp, parameters) \
+ (* GET_VertexAttrib4Niv(disp)) parameters
+static INLINE _glptr_VertexAttrib4Niv GET_VertexAttrib4Niv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4Niv) (GET_by_offset(disp, _gloffset_VertexAttrib4Niv));
+}
+
+static INLINE void SET_VertexAttrib4Niv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLint *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4Niv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4Nsv)(GLuint, const GLshort *);
+#define CALL_VertexAttrib4Nsv(disp, parameters) \
+ (* GET_VertexAttrib4Nsv(disp)) parameters
+static INLINE _glptr_VertexAttrib4Nsv GET_VertexAttrib4Nsv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4Nsv) (GET_by_offset(disp, _gloffset_VertexAttrib4Nsv));
+}
+
+static INLINE void SET_VertexAttrib4Nsv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4Nsv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
+#define CALL_VertexAttrib4Nub(disp, parameters) \
+ (* GET_VertexAttrib4Nub(disp)) parameters
+static INLINE _glptr_VertexAttrib4Nub GET_VertexAttrib4Nub(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4Nub) (GET_by_offset(disp, _gloffset_VertexAttrib4Nub));
+}
+
+static INLINE void SET_VertexAttrib4Nub(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4Nub, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4Nubv)(GLuint, const GLubyte *);
+#define CALL_VertexAttrib4Nubv(disp, parameters) \
+ (* GET_VertexAttrib4Nubv(disp)) parameters
+static INLINE _glptr_VertexAttrib4Nubv GET_VertexAttrib4Nubv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4Nubv) (GET_by_offset(disp, _gloffset_VertexAttrib4Nubv));
+}
+
+static INLINE void SET_VertexAttrib4Nubv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLubyte *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4Nubv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4Nuiv)(GLuint, const GLuint *);
+#define CALL_VertexAttrib4Nuiv(disp, parameters) \
+ (* GET_VertexAttrib4Nuiv(disp)) parameters
+static INLINE _glptr_VertexAttrib4Nuiv GET_VertexAttrib4Nuiv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4Nuiv) (GET_by_offset(disp, _gloffset_VertexAttrib4Nuiv));
+}
+
+static INLINE void SET_VertexAttrib4Nuiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4Nuiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4Nusv)(GLuint, const GLushort *);
+#define CALL_VertexAttrib4Nusv(disp, parameters) \
+ (* GET_VertexAttrib4Nusv(disp)) parameters
+static INLINE _glptr_VertexAttrib4Nusv GET_VertexAttrib4Nusv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4Nusv) (GET_by_offset(disp, _gloffset_VertexAttrib4Nusv));
+}
+
+static INLINE void SET_VertexAttrib4Nusv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLushort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4Nusv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4bv)(GLuint, const GLbyte *);
+#define CALL_VertexAttrib4bv(disp, parameters) \
+ (* GET_VertexAttrib4bv(disp)) parameters
+static INLINE _glptr_VertexAttrib4bv GET_VertexAttrib4bv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4bv) (GET_by_offset(disp, _gloffset_VertexAttrib4bv));
+}
+
+static INLINE void SET_VertexAttrib4bv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLbyte *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4bv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+#define CALL_VertexAttrib4d(disp, parameters) \
+ (* GET_VertexAttrib4d(disp)) parameters
+static INLINE _glptr_VertexAttrib4d GET_VertexAttrib4d(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4d) (GET_by_offset(disp, _gloffset_VertexAttrib4d));
+}
+
+static INLINE void SET_VertexAttrib4d(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4d, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4dv)(GLuint, const GLdouble *);
+#define CALL_VertexAttrib4dv(disp, parameters) \
+ (* GET_VertexAttrib4dv(disp)) parameters
+static INLINE _glptr_VertexAttrib4dv GET_VertexAttrib4dv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4dv) (GET_by_offset(disp, _gloffset_VertexAttrib4dv));
+}
+
+static INLINE void SET_VertexAttrib4dv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLdouble *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4dv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4iv)(GLuint, const GLint *);
+#define CALL_VertexAttrib4iv(disp, parameters) \
+ (* GET_VertexAttrib4iv(disp)) parameters
+static INLINE _glptr_VertexAttrib4iv GET_VertexAttrib4iv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4iv) (GET_by_offset(disp, _gloffset_VertexAttrib4iv));
+}
+
+static INLINE void SET_VertexAttrib4iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLint *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort);
+#define CALL_VertexAttrib4s(disp, parameters) \
+ (* GET_VertexAttrib4s(disp)) parameters
+static INLINE _glptr_VertexAttrib4s GET_VertexAttrib4s(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4s) (GET_by_offset(disp, _gloffset_VertexAttrib4s));
+}
+
+static INLINE void SET_VertexAttrib4s(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLshort, GLshort, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4s, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4sv)(GLuint, const GLshort *);
+#define CALL_VertexAttrib4sv(disp, parameters) \
+ (* GET_VertexAttrib4sv(disp)) parameters
+static INLINE _glptr_VertexAttrib4sv GET_VertexAttrib4sv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4sv) (GET_by_offset(disp, _gloffset_VertexAttrib4sv));
+}
+
+static INLINE void SET_VertexAttrib4sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4ubv)(GLuint, const GLubyte *);
+#define CALL_VertexAttrib4ubv(disp, parameters) \
+ (* GET_VertexAttrib4ubv(disp)) parameters
+static INLINE _glptr_VertexAttrib4ubv GET_VertexAttrib4ubv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4ubv) (GET_by_offset(disp, _gloffset_VertexAttrib4ubv));
+}
+
+static INLINE void SET_VertexAttrib4ubv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLubyte *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4ubv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4uiv)(GLuint, const GLuint *);
+#define CALL_VertexAttrib4uiv(disp, parameters) \
+ (* GET_VertexAttrib4uiv(disp)) parameters
+static INLINE _glptr_VertexAttrib4uiv GET_VertexAttrib4uiv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4uiv) (GET_by_offset(disp, _gloffset_VertexAttrib4uiv));
+}
+
+static INLINE void SET_VertexAttrib4uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttrib4usv)(GLuint, const GLushort *);
+#define CALL_VertexAttrib4usv(disp, parameters) \
+ (* GET_VertexAttrib4usv(disp)) parameters
+static INLINE _glptr_VertexAttrib4usv GET_VertexAttrib4usv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttrib4usv) (GET_by_offset(disp, _gloffset_VertexAttrib4usv));
+}
+
+static INLINE void SET_VertexAttrib4usv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLushort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttrib4usv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
+#define CALL_VertexAttribPointer(disp, parameters) \
+ (* GET_VertexAttribPointer(disp)) parameters
+static INLINE _glptr_VertexAttribPointer GET_VertexAttribPointer(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribPointer) (GET_by_offset(disp, _gloffset_VertexAttribPointer));
+}
+
+static INLINE void SET_VertexAttribPointer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribPointer, 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_BeginConditionalRender)(GLuint, GLenum);
+#define CALL_BeginConditionalRender(disp, parameters) \
+ (* GET_BeginConditionalRender(disp)) parameters
+static INLINE _glptr_BeginConditionalRender GET_BeginConditionalRender(struct _glapi_table *disp) {
+ return (_glptr_BeginConditionalRender) (GET_by_offset(disp, _gloffset_BeginConditionalRender));
+}
+
+static INLINE void SET_BeginConditionalRender(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum)) {
+ SET_by_offset(disp, _gloffset_BeginConditionalRender, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BeginTransformFeedback)(GLenum);
+#define CALL_BeginTransformFeedback(disp, parameters) \
+ (* GET_BeginTransformFeedback(disp)) parameters
+static INLINE _glptr_BeginTransformFeedback GET_BeginTransformFeedback(struct _glapi_table *disp) {
+ return (_glptr_BeginTransformFeedback) (GET_by_offset(disp, _gloffset_BeginTransformFeedback));
+}
+
+static INLINE void SET_BeginTransformFeedback(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_BeginTransformFeedback, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindBufferBase)(GLenum, GLuint, GLuint);
+#define CALL_BindBufferBase(disp, parameters) \
+ (* GET_BindBufferBase(disp)) parameters
+static INLINE _glptr_BindBufferBase GET_BindBufferBase(struct _glapi_table *disp) {
+ return (_glptr_BindBufferBase) (GET_by_offset(disp, _gloffset_BindBufferBase));
+}
+
+static INLINE void SET_BindBufferBase(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_BindBufferBase, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
+#define CALL_BindBufferRange(disp, parameters) \
+ (* GET_BindBufferRange(disp)) parameters
+static INLINE _glptr_BindBufferRange GET_BindBufferRange(struct _glapi_table *disp) {
+ return (_glptr_BindBufferRange) (GET_by_offset(disp, _gloffset_BindBufferRange));
+}
+
+static INLINE void SET_BindBufferRange(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)) {
+ SET_by_offset(disp, _gloffset_BindBufferRange, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindFragDataLocation)(GLuint, GLuint, const GLchar *);
+#define CALL_BindFragDataLocation(disp, parameters) \
+ (* GET_BindFragDataLocation(disp)) parameters
+static INLINE _glptr_BindFragDataLocation GET_BindFragDataLocation(struct _glapi_table *disp) {
+ return (_glptr_BindFragDataLocation) (GET_by_offset(disp, _gloffset_BindFragDataLocation));
+}
+
+static INLINE void SET_BindFragDataLocation(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_BindFragDataLocation, 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 void (GLAPIENTRYP _glptr_ColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
+#define CALL_ColorMaski(disp, parameters) \
+ (* GET_ColorMaski(disp)) parameters
+static INLINE _glptr_ColorMaski GET_ColorMaski(struct _glapi_table *disp) {
+ return (_glptr_ColorMaski) (GET_by_offset(disp, _gloffset_ColorMaski));
+}
+
+static INLINE void SET_ColorMaski(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)) {
+ SET_by_offset(disp, _gloffset_ColorMaski, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Disablei)(GLenum, GLuint);
+#define CALL_Disablei(disp, parameters) \
+ (* GET_Disablei(disp)) parameters
+static INLINE _glptr_Disablei GET_Disablei(struct _glapi_table *disp) {
+ return (_glptr_Disablei) (GET_by_offset(disp, _gloffset_Disablei));
+}
+
+static INLINE void SET_Disablei(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_Disablei, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Enablei)(GLenum, GLuint);
+#define CALL_Enablei(disp, parameters) \
+ (* GET_Enablei(disp)) parameters
+static INLINE _glptr_Enablei GET_Enablei(struct _glapi_table *disp) {
+ return (_glptr_Enablei) (GET_by_offset(disp, _gloffset_Enablei));
+}
+
+static INLINE void SET_Enablei(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_Enablei, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EndConditionalRender)(void);
+#define CALL_EndConditionalRender(disp, parameters) \
+ (* GET_EndConditionalRender(disp)) parameters
+static INLINE _glptr_EndConditionalRender GET_EndConditionalRender(struct _glapi_table *disp) {
+ return (_glptr_EndConditionalRender) (GET_by_offset(disp, _gloffset_EndConditionalRender));
+}
+
+static INLINE void SET_EndConditionalRender(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
+ SET_by_offset(disp, _gloffset_EndConditionalRender, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EndTransformFeedback)(void);
+#define CALL_EndTransformFeedback(disp, parameters) \
+ (* GET_EndTransformFeedback(disp)) parameters
+static INLINE _glptr_EndTransformFeedback GET_EndTransformFeedback(struct _glapi_table *disp) {
+ return (_glptr_EndTransformFeedback) (GET_by_offset(disp, _gloffset_EndTransformFeedback));
+}
+
+static INLINE void SET_EndTransformFeedback(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
+ SET_by_offset(disp, _gloffset_EndTransformFeedback, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetBooleani_v)(GLenum, GLuint, GLboolean *);
+#define CALL_GetBooleani_v(disp, parameters) \
+ (* GET_GetBooleani_v(disp)) parameters
+static INLINE _glptr_GetBooleani_v GET_GetBooleani_v(struct _glapi_table *disp) {
+ return (_glptr_GetBooleani_v) (GET_by_offset(disp, _gloffset_GetBooleani_v));
+}
+
+static INLINE void SET_GetBooleani_v(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLboolean *)) {
+ SET_by_offset(disp, _gloffset_GetBooleani_v, fn);
+}
+
+typedef GLint (GLAPIENTRYP _glptr_GetFragDataLocation)(GLuint, const GLchar *);
+#define CALL_GetFragDataLocation(disp, parameters) \
+ (* GET_GetFragDataLocation(disp)) parameters
+static INLINE _glptr_GetFragDataLocation GET_GetFragDataLocation(struct _glapi_table *disp) {
+ return (_glptr_GetFragDataLocation) (GET_by_offset(disp, _gloffset_GetFragDataLocation));
+}
+
+static INLINE void SET_GetFragDataLocation(struct _glapi_table *disp, GLint (GLAPIENTRYP fn)(GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetFragDataLocation, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetIntegeri_v)(GLenum, GLuint, GLint *);
+#define CALL_GetIntegeri_v(disp, parameters) \
+ (* GET_GetIntegeri_v(disp)) parameters
+static INLINE _glptr_GetIntegeri_v GET_GetIntegeri_v(struct _glapi_table *disp) {
+ return (_glptr_GetIntegeri_v) (GET_by_offset(disp, _gloffset_GetIntegeri_v));
+}
+
+static INLINE void SET_GetIntegeri_v(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetIntegeri_v, 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_GetTexParameterIiv)(GLenum, GLenum, GLint *);
+#define CALL_GetTexParameterIiv(disp, parameters) \
+ (* GET_GetTexParameterIiv(disp)) parameters
+static INLINE _glptr_GetTexParameterIiv GET_GetTexParameterIiv(struct _glapi_table *disp) {
+ return (_glptr_GetTexParameterIiv) (GET_by_offset(disp, _gloffset_GetTexParameterIiv));
+}
+
+static INLINE void SET_GetTexParameterIiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetTexParameterIiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetTexParameterIuiv)(GLenum, GLenum, GLuint *);
+#define CALL_GetTexParameterIuiv(disp, parameters) \
+ (* GET_GetTexParameterIuiv(disp)) parameters
+static INLINE _glptr_GetTexParameterIuiv GET_GetTexParameterIuiv(struct _glapi_table *disp) {
+ return (_glptr_GetTexParameterIuiv) (GET_by_offset(disp, _gloffset_GetTexParameterIuiv));
+}
+
+static INLINE void SET_GetTexParameterIuiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetTexParameterIuiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
+#define CALL_GetTransformFeedbackVarying(disp, parameters) \
+ (* GET_GetTransformFeedbackVarying(disp)) parameters
+static INLINE _glptr_GetTransformFeedbackVarying GET_GetTransformFeedbackVarying(struct _glapi_table *disp) {
+ return (_glptr_GetTransformFeedbackVarying) (GET_by_offset(disp, _gloffset_GetTransformFeedbackVarying));
+}
+
+static INLINE void SET_GetTransformFeedbackVarying(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetTransformFeedbackVarying, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetUniformuiv)(GLuint, GLint, GLuint *);
+#define CALL_GetUniformuiv(disp, parameters) \
+ (* GET_GetUniformuiv(disp)) parameters
+static INLINE _glptr_GetUniformuiv GET_GetUniformuiv(struct _glapi_table *disp) {
+ return (_glptr_GetUniformuiv) (GET_by_offset(disp, _gloffset_GetUniformuiv));
+}
+
+static INLINE void SET_GetUniformuiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetUniformuiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetVertexAttribIiv)(GLuint, GLenum, GLint *);
+#define CALL_GetVertexAttribIiv(disp, parameters) \
+ (* GET_GetVertexAttribIiv(disp)) parameters
+static INLINE _glptr_GetVertexAttribIiv GET_GetVertexAttribIiv(struct _glapi_table *disp) {
+ return (_glptr_GetVertexAttribIiv) (GET_by_offset(disp, _gloffset_GetVertexAttribIiv));
+}
+
+static INLINE void SET_GetVertexAttribIiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetVertexAttribIiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetVertexAttribIuiv)(GLuint, GLenum, GLuint *);
+#define CALL_GetVertexAttribIuiv(disp, parameters) \
+ (* GET_GetVertexAttribIuiv(disp)) parameters
+static INLINE _glptr_GetVertexAttribIuiv GET_GetVertexAttribIuiv(struct _glapi_table *disp) {
+ return (_glptr_GetVertexAttribIuiv) (GET_by_offset(disp, _gloffset_GetVertexAttribIuiv));
+}
+
+static INLINE void SET_GetVertexAttribIuiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetVertexAttribIuiv, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_IsEnabledi)(GLenum, GLuint);
+#define CALL_IsEnabledi(disp, parameters) \
+ (* GET_IsEnabledi(disp)) parameters
+static INLINE _glptr_IsEnabledi GET_IsEnabledi(struct _glapi_table *disp) {
+ return (_glptr_IsEnabledi) (GET_by_offset(disp, _gloffset_IsEnabledi));
+}
+
+static INLINE void SET_IsEnabledi(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_IsEnabledi, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexParameterIiv)(GLenum, GLenum, const GLint *);
+#define CALL_TexParameterIiv(disp, parameters) \
+ (* GET_TexParameterIiv(disp)) parameters
+static INLINE _glptr_TexParameterIiv GET_TexParameterIiv(struct _glapi_table *disp) {
+ return (_glptr_TexParameterIiv) (GET_by_offset(disp, _gloffset_TexParameterIiv));
+}
+
+static INLINE void SET_TexParameterIiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLint *)) {
+ SET_by_offset(disp, _gloffset_TexParameterIiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexParameterIuiv)(GLenum, GLenum, const GLuint *);
+#define CALL_TexParameterIuiv(disp, parameters) \
+ (* GET_TexParameterIuiv(disp)) parameters
+static INLINE _glptr_TexParameterIuiv GET_TexParameterIuiv(struct _glapi_table *disp) {
+ return (_glptr_TexParameterIuiv) (GET_by_offset(disp, _gloffset_TexParameterIuiv));
+}
+
+static INLINE void SET_TexParameterIuiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_TexParameterIuiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TransformFeedbackVaryings)(GLuint, GLsizei, const GLchar * const *, GLenum);
+#define CALL_TransformFeedbackVaryings(disp, parameters) \
+ (* GET_TransformFeedbackVaryings(disp)) parameters
+static INLINE _glptr_TransformFeedbackVaryings GET_TransformFeedbackVaryings(struct _glapi_table *disp) {
+ return (_glptr_TransformFeedbackVaryings) (GET_by_offset(disp, _gloffset_TransformFeedbackVaryings));
+}
+
+static INLINE void SET_TransformFeedbackVaryings(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLchar * const *, GLenum)) {
+ SET_by_offset(disp, _gloffset_TransformFeedbackVaryings, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform1ui)(GLint, GLuint);
+#define CALL_Uniform1ui(disp, parameters) \
+ (* GET_Uniform1ui(disp)) parameters
+static INLINE _glptr_Uniform1ui GET_Uniform1ui(struct _glapi_table *disp) {
+ return (_glptr_Uniform1ui) (GET_by_offset(disp, _gloffset_Uniform1ui));
+}
+
+static INLINE void SET_Uniform1ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLuint)) {
+ SET_by_offset(disp, _gloffset_Uniform1ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform1uiv)(GLint, GLsizei, const GLuint *);
+#define CALL_Uniform1uiv(disp, parameters) \
+ (* GET_Uniform1uiv(disp)) parameters
+static INLINE _glptr_Uniform1uiv GET_Uniform1uiv(struct _glapi_table *disp) {
+ return (_glptr_Uniform1uiv) (GET_by_offset(disp, _gloffset_Uniform1uiv));
+}
+
+static INLINE void SET_Uniform1uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_Uniform1uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform2ui)(GLint, GLuint, GLuint);
+#define CALL_Uniform2ui(disp, parameters) \
+ (* GET_Uniform2ui(disp)) parameters
+static INLINE _glptr_Uniform2ui GET_Uniform2ui(struct _glapi_table *disp) {
+ return (_glptr_Uniform2ui) (GET_by_offset(disp, _gloffset_Uniform2ui));
+}
+
+static INLINE void SET_Uniform2ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_Uniform2ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform2uiv)(GLint, GLsizei, const GLuint *);
+#define CALL_Uniform2uiv(disp, parameters) \
+ (* GET_Uniform2uiv(disp)) parameters
+static INLINE _glptr_Uniform2uiv GET_Uniform2uiv(struct _glapi_table *disp) {
+ return (_glptr_Uniform2uiv) (GET_by_offset(disp, _gloffset_Uniform2uiv));
+}
+
+static INLINE void SET_Uniform2uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_Uniform2uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform3ui)(GLint, GLuint, GLuint, GLuint);
+#define CALL_Uniform3ui(disp, parameters) \
+ (* GET_Uniform3ui(disp)) parameters
+static INLINE _glptr_Uniform3ui GET_Uniform3ui(struct _glapi_table *disp) {
+ return (_glptr_Uniform3ui) (GET_by_offset(disp, _gloffset_Uniform3ui));
+}
+
+static INLINE void SET_Uniform3ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_Uniform3ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform3uiv)(GLint, GLsizei, const GLuint *);
+#define CALL_Uniform3uiv(disp, parameters) \
+ (* GET_Uniform3uiv(disp)) parameters
+static INLINE _glptr_Uniform3uiv GET_Uniform3uiv(struct _glapi_table *disp) {
+ return (_glptr_Uniform3uiv) (GET_by_offset(disp, _gloffset_Uniform3uiv));
+}
+
+static INLINE void SET_Uniform3uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_Uniform3uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint);
+#define CALL_Uniform4ui(disp, parameters) \
+ (* GET_Uniform4ui(disp)) parameters
+static INLINE _glptr_Uniform4ui GET_Uniform4ui(struct _glapi_table *disp) {
+ return (_glptr_Uniform4ui) (GET_by_offset(disp, _gloffset_Uniform4ui));
+}
+
+static INLINE void SET_Uniform4ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLuint, GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_Uniform4ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Uniform4uiv)(GLint, GLsizei, const GLuint *);
+#define CALL_Uniform4uiv(disp, parameters) \
+ (* GET_Uniform4uiv(disp)) parameters
+static INLINE _glptr_Uniform4uiv GET_Uniform4uiv(struct _glapi_table *disp) {
+ return (_glptr_Uniform4uiv) (GET_by_offset(disp, _gloffset_Uniform4uiv));
+}
+
+static INLINE void SET_Uniform4uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_Uniform4uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribI1iv)(GLuint, const GLint *);
+#define CALL_VertexAttribI1iv(disp, parameters) \
+ (* GET_VertexAttribI1iv(disp)) parameters
+static INLINE _glptr_VertexAttribI1iv GET_VertexAttribI1iv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribI1iv) (GET_by_offset(disp, _gloffset_VertexAttribI1iv));
+}
+
+static INLINE void SET_VertexAttribI1iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLint *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribI1iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribI1uiv)(GLuint, const GLuint *);
+#define CALL_VertexAttribI1uiv(disp, parameters) \
+ (* GET_VertexAttribI1uiv(disp)) parameters
+static INLINE _glptr_VertexAttribI1uiv GET_VertexAttribI1uiv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribI1uiv) (GET_by_offset(disp, _gloffset_VertexAttribI1uiv));
+}
+
+static INLINE void SET_VertexAttribI1uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribI1uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribI4bv)(GLuint, const GLbyte *);
+#define CALL_VertexAttribI4bv(disp, parameters) \
+ (* GET_VertexAttribI4bv(disp)) parameters
+static INLINE _glptr_VertexAttribI4bv GET_VertexAttribI4bv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribI4bv) (GET_by_offset(disp, _gloffset_VertexAttribI4bv));
+}
+
+static INLINE void SET_VertexAttribI4bv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLbyte *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribI4bv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribI4sv)(GLuint, const GLshort *);
+#define CALL_VertexAttribI4sv(disp, parameters) \
+ (* GET_VertexAttribI4sv(disp)) parameters
+static INLINE _glptr_VertexAttribI4sv GET_VertexAttribI4sv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribI4sv) (GET_by_offset(disp, _gloffset_VertexAttribI4sv));
+}
+
+static INLINE void SET_VertexAttribI4sv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLshort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribI4sv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribI4ubv)(GLuint, const GLubyte *);
+#define CALL_VertexAttribI4ubv(disp, parameters) \
+ (* GET_VertexAttribI4ubv(disp)) parameters
+static INLINE _glptr_VertexAttribI4ubv GET_VertexAttribI4ubv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribI4ubv) (GET_by_offset(disp, _gloffset_VertexAttribI4ubv));
+}
+
+static INLINE void SET_VertexAttribI4ubv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLubyte *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribI4ubv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribI4usv)(GLuint, const GLushort *);
+#define CALL_VertexAttribI4usv(disp, parameters) \
+ (* GET_VertexAttribI4usv(disp)) parameters
+static INLINE _glptr_VertexAttribI4usv GET_VertexAttribI4usv(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribI4usv) (GET_by_offset(disp, _gloffset_VertexAttribI4usv));
+}
+
+static INLINE void SET_VertexAttribI4usv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLushort *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribI4usv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
+#define CALL_VertexAttribIPointer(disp, parameters) \
+ (* GET_VertexAttribIPointer(disp)) parameters
+static INLINE _glptr_VertexAttribIPointer GET_VertexAttribIPointer(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribIPointer) (GET_by_offset(disp, _gloffset_VertexAttribIPointer));
+}
+
+static INLINE void SET_VertexAttribIPointer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_VertexAttribIPointer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PrimitiveRestartIndex)(GLuint);
+#define CALL_PrimitiveRestartIndex(disp, parameters) \
+ (* GET_PrimitiveRestartIndex(disp)) parameters
+static INLINE _glptr_PrimitiveRestartIndex GET_PrimitiveRestartIndex(struct _glapi_table *disp) {
+ return (_glptr_PrimitiveRestartIndex) (GET_by_offset(disp, _gloffset_PrimitiveRestartIndex));
+}
+
+static INLINE void SET_PrimitiveRestartIndex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_PrimitiveRestartIndex, 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_MinSampleShading)(GLfloat);
+#define CALL_MinSampleShading(disp, parameters) \
+ (* GET_MinSampleShading(disp)) parameters
+static INLINE _glptr_MinSampleShading GET_MinSampleShading(struct _glapi_table *disp) {
+ return (_glptr_MinSampleShading) (GET_by_offset(disp, _gloffset_MinSampleShading));
+}
+
+static INLINE void SET_MinSampleShading(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfloat)) {
+ SET_by_offset(disp, _gloffset_MinSampleShading, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindProgramARB)(GLenum, GLuint);
+#define CALL_BindProgramARB(disp, parameters) \
+ (* GET_BindProgramARB(disp)) parameters
+static INLINE _glptr_BindProgramARB GET_BindProgramARB(struct _glapi_table *disp) {
+ return (_glptr_BindProgramARB) (GET_by_offset(disp, _gloffset_BindProgramARB));
+}
+
+static INLINE void SET_BindProgramARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_BindProgramARB, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeleteProgramsARB)(GLsizei, const GLuint *);
+#define CALL_DeleteProgramsARB(disp, parameters) \
+ (* GET_DeleteProgramsARB(disp)) parameters
+static INLINE _glptr_DeleteProgramsARB GET_DeleteProgramsARB(struct _glapi_table *disp) {
+ return (_glptr_DeleteProgramsARB) (GET_by_offset(disp, _gloffset_DeleteProgramsARB));
+}
+
+static INLINE void SET_DeleteProgramsARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeleteProgramsARB, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenProgramsARB)(GLsizei, GLuint *);
+#define CALL_GenProgramsARB(disp, parameters) \
+ (* GET_GenProgramsARB(disp)) parameters
+static INLINE _glptr_GenProgramsARB GET_GenProgramsARB(struct _glapi_table *disp) {
+ return (_glptr_GenProgramsARB) (GET_by_offset(disp, _gloffset_GenProgramsARB));
+}
+
+static INLINE void SET_GenProgramsARB(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GenProgramsARB, 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 GLboolean (GLAPIENTRYP _glptr_IsProgramARB)(GLuint);
+#define CALL_IsProgramARB(disp, parameters) \
+ (* GET_IsProgramARB(disp)) parameters
+static INLINE _glptr_IsProgramARB GET_IsProgramARB(struct _glapi_table *disp) {
+ return (_glptr_IsProgramARB) (GET_by_offset(disp, _gloffset_IsProgramARB));
+}
+
+static INLINE void SET_IsProgramARB(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_IsProgramARB, 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_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_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_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_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_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 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_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_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_BindFramebuffer)(GLenum, GLuint);
+#define CALL_BindFramebuffer(disp, parameters) \
+ (* GET_BindFramebuffer(disp)) parameters
+static INLINE _glptr_BindFramebuffer GET_BindFramebuffer(struct _glapi_table *disp) {
+ return (_glptr_BindFramebuffer) (GET_by_offset(disp, _gloffset_BindFramebuffer));
+}
+
+static INLINE void SET_BindFramebuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_BindFramebuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindRenderbuffer)(GLenum, GLuint);
+#define CALL_BindRenderbuffer(disp, parameters) \
+ (* GET_BindRenderbuffer(disp)) parameters
+static INLINE _glptr_BindRenderbuffer GET_BindRenderbuffer(struct _glapi_table *disp) {
+ return (_glptr_BindRenderbuffer) (GET_by_offset(disp, _gloffset_BindRenderbuffer));
+}
+
+static INLINE void SET_BindRenderbuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_BindRenderbuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
+#define CALL_BlitFramebuffer(disp, parameters) \
+ (* GET_BlitFramebuffer(disp)) parameters
+static INLINE _glptr_BlitFramebuffer GET_BlitFramebuffer(struct _glapi_table *disp) {
+ return (_glptr_BlitFramebuffer) (GET_by_offset(disp, _gloffset_BlitFramebuffer));
+}
+
+static INLINE void SET_BlitFramebuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)) {
+ SET_by_offset(disp, _gloffset_BlitFramebuffer, fn);
+}
+
+typedef GLenum (GLAPIENTRYP _glptr_CheckFramebufferStatus)(GLenum);
+#define CALL_CheckFramebufferStatus(disp, parameters) \
+ (* GET_CheckFramebufferStatus(disp)) parameters
+static INLINE _glptr_CheckFramebufferStatus GET_CheckFramebufferStatus(struct _glapi_table *disp) {
+ return (_glptr_CheckFramebufferStatus) (GET_by_offset(disp, _gloffset_CheckFramebufferStatus));
+}
+
+static INLINE void SET_CheckFramebufferStatus(struct _glapi_table *disp, GLenum (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_CheckFramebufferStatus, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeleteFramebuffers)(GLsizei, const GLuint *);
+#define CALL_DeleteFramebuffers(disp, parameters) \
+ (* GET_DeleteFramebuffers(disp)) parameters
+static INLINE _glptr_DeleteFramebuffers GET_DeleteFramebuffers(struct _glapi_table *disp) {
+ return (_glptr_DeleteFramebuffers) (GET_by_offset(disp, _gloffset_DeleteFramebuffers));
+}
+
+static INLINE void SET_DeleteFramebuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeleteFramebuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeleteRenderbuffers)(GLsizei, const GLuint *);
+#define CALL_DeleteRenderbuffers(disp, parameters) \
+ (* GET_DeleteRenderbuffers(disp)) parameters
+static INLINE _glptr_DeleteRenderbuffers GET_DeleteRenderbuffers(struct _glapi_table *disp) {
+ return (_glptr_DeleteRenderbuffers) (GET_by_offset(disp, _gloffset_DeleteRenderbuffers));
+}
+
+static INLINE void SET_DeleteRenderbuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeleteRenderbuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint);
+#define CALL_FramebufferRenderbuffer(disp, parameters) \
+ (* GET_FramebufferRenderbuffer(disp)) parameters
+static INLINE _glptr_FramebufferRenderbuffer GET_FramebufferRenderbuffer(struct _glapi_table *disp) {
+ return (_glptr_FramebufferRenderbuffer) (GET_by_offset(disp, _gloffset_FramebufferRenderbuffer));
+}
+
+static INLINE void SET_FramebufferRenderbuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_FramebufferRenderbuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint);
+#define CALL_FramebufferTexture1D(disp, parameters) \
+ (* GET_FramebufferTexture1D(disp)) parameters
+static INLINE _glptr_FramebufferTexture1D GET_FramebufferTexture1D(struct _glapi_table *disp) {
+ return (_glptr_FramebufferTexture1D) (GET_by_offset(disp, _gloffset_FramebufferTexture1D));
+}
+
+static INLINE void SET_FramebufferTexture1D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLuint, GLint)) {
+ SET_by_offset(disp, _gloffset_FramebufferTexture1D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint);
+#define CALL_FramebufferTexture2D(disp, parameters) \
+ (* GET_FramebufferTexture2D(disp)) parameters
+static INLINE _glptr_FramebufferTexture2D GET_FramebufferTexture2D(struct _glapi_table *disp) {
+ return (_glptr_FramebufferTexture2D) (GET_by_offset(disp, _gloffset_FramebufferTexture2D));
+}
+
+static INLINE void SET_FramebufferTexture2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLuint, GLint)) {
+ SET_by_offset(disp, _gloffset_FramebufferTexture2D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
+#define CALL_FramebufferTexture3D(disp, parameters) \
+ (* GET_FramebufferTexture3D(disp)) parameters
+static INLINE _glptr_FramebufferTexture3D GET_FramebufferTexture3D(struct _glapi_table *disp) {
+ return (_glptr_FramebufferTexture3D) (GET_by_offset(disp, _gloffset_FramebufferTexture3D));
+}
+
+static INLINE void SET_FramebufferTexture3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLuint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_FramebufferTexture3D, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_FramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint);
+#define CALL_FramebufferTextureLayer(disp, parameters) \
+ (* GET_FramebufferTextureLayer(disp)) parameters
+static INLINE _glptr_FramebufferTextureLayer GET_FramebufferTextureLayer(struct _glapi_table *disp) {
+ return (_glptr_FramebufferTextureLayer) (GET_by_offset(disp, _gloffset_FramebufferTextureLayer));
+}
+
+static INLINE void SET_FramebufferTextureLayer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_FramebufferTextureLayer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenFramebuffers)(GLsizei, GLuint *);
+#define CALL_GenFramebuffers(disp, parameters) \
+ (* GET_GenFramebuffers(disp)) parameters
+static INLINE _glptr_GenFramebuffers GET_GenFramebuffers(struct _glapi_table *disp) {
+ return (_glptr_GenFramebuffers) (GET_by_offset(disp, _gloffset_GenFramebuffers));
+}
+
+static INLINE void SET_GenFramebuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GenFramebuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenRenderbuffers)(GLsizei, GLuint *);
+#define CALL_GenRenderbuffers(disp, parameters) \
+ (* GET_GenRenderbuffers(disp)) parameters
+static INLINE _glptr_GenRenderbuffers GET_GenRenderbuffers(struct _glapi_table *disp) {
+ return (_glptr_GenRenderbuffers) (GET_by_offset(disp, _gloffset_GenRenderbuffers));
+}
+
+static INLINE void SET_GenRenderbuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GenRenderbuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenerateMipmap)(GLenum);
+#define CALL_GenerateMipmap(disp, parameters) \
+ (* GET_GenerateMipmap(disp)) parameters
+static INLINE _glptr_GenerateMipmap GET_GenerateMipmap(struct _glapi_table *disp) {
+ return (_glptr_GenerateMipmap) (GET_by_offset(disp, _gloffset_GenerateMipmap));
+}
+
+static INLINE void SET_GenerateMipmap(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_GenerateMipmap, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *);
+#define CALL_GetFramebufferAttachmentParameteriv(disp, parameters) \
+ (* GET_GetFramebufferAttachmentParameteriv(disp)) parameters
+static INLINE _glptr_GetFramebufferAttachmentParameteriv GET_GetFramebufferAttachmentParameteriv(struct _glapi_table *disp) {
+ return (_glptr_GetFramebufferAttachmentParameteriv) (GET_by_offset(disp, _gloffset_GetFramebufferAttachmentParameteriv));
+}
+
+static INLINE void SET_GetFramebufferAttachmentParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetFramebufferAttachmentParameteriv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetRenderbufferParameteriv)(GLenum, GLenum, GLint *);
+#define CALL_GetRenderbufferParameteriv(disp, parameters) \
+ (* GET_GetRenderbufferParameteriv(disp)) parameters
+static INLINE _glptr_GetRenderbufferParameteriv GET_GetRenderbufferParameteriv(struct _glapi_table *disp) {
+ return (_glptr_GetRenderbufferParameteriv) (GET_by_offset(disp, _gloffset_GetRenderbufferParameteriv));
+}
+
+static INLINE void SET_GetRenderbufferParameteriv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetRenderbufferParameteriv, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_IsFramebuffer)(GLuint);
+#define CALL_IsFramebuffer(disp, parameters) \
+ (* GET_IsFramebuffer(disp)) parameters
+static INLINE _glptr_IsFramebuffer GET_IsFramebuffer(struct _glapi_table *disp) {
+ return (_glptr_IsFramebuffer) (GET_by_offset(disp, _gloffset_IsFramebuffer));
+}
+
+static INLINE void SET_IsFramebuffer(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_IsFramebuffer, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_IsRenderbuffer)(GLuint);
+#define CALL_IsRenderbuffer(disp, parameters) \
+ (* GET_IsRenderbuffer(disp)) parameters
+static INLINE _glptr_IsRenderbuffer GET_IsRenderbuffer(struct _glapi_table *disp) {
+ return (_glptr_IsRenderbuffer) (GET_by_offset(disp, _gloffset_IsRenderbuffer));
+}
+
+static INLINE void SET_IsRenderbuffer(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_IsRenderbuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_RenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei);
+#define CALL_RenderbufferStorage(disp, parameters) \
+ (* GET_RenderbufferStorage(disp)) parameters
+static INLINE _glptr_RenderbufferStorage GET_RenderbufferStorage(struct _glapi_table *disp) {
+ return (_glptr_RenderbufferStorage) (GET_by_offset(disp, _gloffset_RenderbufferStorage));
+}
+
+static INLINE void SET_RenderbufferStorage(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLsizei, GLsizei)) {
+ SET_by_offset(disp, _gloffset_RenderbufferStorage, 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_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_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_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_DeleteVertexArrays)(GLsizei, const GLuint *);
+#define CALL_DeleteVertexArrays(disp, parameters) \
+ (* GET_DeleteVertexArrays(disp)) parameters
+static INLINE _glptr_DeleteVertexArrays GET_DeleteVertexArrays(struct _glapi_table *disp) {
+ return (_glptr_DeleteVertexArrays) (GET_by_offset(disp, _gloffset_DeleteVertexArrays));
+}
+
+static INLINE void SET_DeleteVertexArrays(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeleteVertexArrays, 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 GLboolean (GLAPIENTRYP _glptr_IsVertexArray)(GLuint);
+#define CALL_IsVertexArray(disp, parameters) \
+ (* GET_IsVertexArray(disp)) parameters
+static INLINE _glptr_IsVertexArray GET_IsVertexArray(struct _glapi_table *disp) {
+ return (_glptr_IsVertexArray) (GET_by_offset(disp, _gloffset_IsVertexArray));
+}
+
+static INLINE void SET_IsVertexArray(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_IsVertexArray, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetActiveUniformBlockName(disp, parameters) \
+ (* GET_GetActiveUniformBlockName(disp)) parameters
+static INLINE _glptr_GetActiveUniformBlockName GET_GetActiveUniformBlockName(struct _glapi_table *disp) {
+ return (_glptr_GetActiveUniformBlockName) (GET_by_offset(disp, _gloffset_GetActiveUniformBlockName));
+}
+
+static INLINE void SET_GetActiveUniformBlockName(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetActiveUniformBlockName, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *);
+#define CALL_GetActiveUniformBlockiv(disp, parameters) \
+ (* GET_GetActiveUniformBlockiv(disp)) parameters
+static INLINE _glptr_GetActiveUniformBlockiv GET_GetActiveUniformBlockiv(struct _glapi_table *disp) {
+ return (_glptr_GetActiveUniformBlockiv) (GET_by_offset(disp, _gloffset_GetActiveUniformBlockiv));
+}
+
+static INLINE void SET_GetActiveUniformBlockiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetActiveUniformBlockiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetActiveUniformName(disp, parameters) \
+ (* GET_GetActiveUniformName(disp)) parameters
+static INLINE _glptr_GetActiveUniformName GET_GetActiveUniformName(struct _glapi_table *disp) {
+ return (_glptr_GetActiveUniformName) (GET_by_offset(disp, _gloffset_GetActiveUniformName));
+}
+
+static INLINE void SET_GetActiveUniformName(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetActiveUniformName, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *);
+#define CALL_GetActiveUniformsiv(disp, parameters) \
+ (* GET_GetActiveUniformsiv(disp)) parameters
+static INLINE _glptr_GetActiveUniformsiv GET_GetActiveUniformsiv(struct _glapi_table *disp) {
+ return (_glptr_GetActiveUniformsiv) (GET_by_offset(disp, _gloffset_GetActiveUniformsiv));
+}
+
+static INLINE void SET_GetActiveUniformsiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLuint *, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetActiveUniformsiv, fn);
+}
+
+typedef GLuint (GLAPIENTRYP _glptr_GetUniformBlockIndex)(GLuint, const GLchar *);
+#define CALL_GetUniformBlockIndex(disp, parameters) \
+ (* GET_GetUniformBlockIndex(disp)) parameters
+static INLINE _glptr_GetUniformBlockIndex GET_GetUniformBlockIndex(struct _glapi_table *disp) {
+ return (_glptr_GetUniformBlockIndex) (GET_by_offset(disp, _gloffset_GetUniformBlockIndex));
+}
+
+static INLINE void SET_GetUniformBlockIndex(struct _glapi_table *disp, GLuint (GLAPIENTRYP fn)(GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetUniformBlockIndex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetUniformIndices)(GLuint, GLsizei, const GLchar * const *, GLuint *);
+#define CALL_GetUniformIndices(disp, parameters) \
+ (* GET_GetUniformIndices(disp)) parameters
+static INLINE _glptr_GetUniformIndices GET_GetUniformIndices(struct _glapi_table *disp) {
+ return (_glptr_GetUniformIndices) (GET_by_offset(disp, _gloffset_GetUniformIndices));
+}
+
+static INLINE void SET_GetUniformIndices(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLchar * const *, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetUniformIndices, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_UniformBlockBinding)(GLuint, GLuint, GLuint);
+#define CALL_UniformBlockBinding(disp, parameters) \
+ (* GET_UniformBlockBinding(disp)) parameters
+static INLINE _glptr_UniformBlockBinding GET_UniformBlockBinding(struct _glapi_table *disp) {
+ return (_glptr_UniformBlockBinding) (GET_by_offset(disp, _gloffset_UniformBlockBinding));
+}
+
+static INLINE void SET_UniformBlockBinding(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_UniformBlockBinding, 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 * const *, 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 * const *, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_MultiDrawElementsBaseVertex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProvokingVertex)(GLenum);
+#define CALL_ProvokingVertex(disp, parameters) \
+ (* GET_ProvokingVertex(disp)) parameters
+static INLINE _glptr_ProvokingVertex GET_ProvokingVertex(struct _glapi_table *disp) {
+ return (_glptr_ProvokingVertex) (GET_by_offset(disp, _gloffset_ProvokingVertex));
+}
+
+static INLINE void SET_ProvokingVertex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum)) {
+ SET_by_offset(disp, _gloffset_ProvokingVertex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetMultisamplefv)(GLenum, GLuint, GLfloat *);
+#define CALL_GetMultisamplefv(disp, parameters) \
+ (* GET_GetMultisamplefv(disp)) parameters
+static INLINE _glptr_GetMultisamplefv GET_GetMultisamplefv(struct _glapi_table *disp) {
+ return (_glptr_GetMultisamplefv) (GET_by_offset(disp, _gloffset_GetMultisamplefv));
+}
+
+static INLINE void SET_GetMultisamplefv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLfloat *)) {
+ SET_by_offset(disp, _gloffset_GetMultisamplefv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SampleMaski)(GLuint, GLbitfield);
+#define CALL_SampleMaski(disp, parameters) \
+ (* GET_SampleMaski(disp)) parameters
+static INLINE _glptr_SampleMaski GET_SampleMaski(struct _glapi_table *disp) {
+ return (_glptr_SampleMaski) (GET_by_offset(disp, _gloffset_SampleMaski));
+}
+
+static INLINE void SET_SampleMaski(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLbitfield)) {
+ SET_by_offset(disp, _gloffset_SampleMaski, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexImage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
+#define CALL_TexImage2DMultisample(disp, parameters) \
+ (* GET_TexImage2DMultisample(disp)) parameters
+static INLINE _glptr_TexImage2DMultisample GET_TexImage2DMultisample(struct _glapi_table *disp) {
+ return (_glptr_TexImage2DMultisample) (GET_by_offset(disp, _gloffset_TexImage2DMultisample));
+}
+
+static INLINE void SET_TexImage2DMultisample(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean)) {
+ SET_by_offset(disp, _gloffset_TexImage2DMultisample, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexImage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
+#define CALL_TexImage3DMultisample(disp, parameters) \
+ (* GET_TexImage3DMultisample(disp)) parameters
+static INLINE _glptr_TexImage3DMultisample GET_TexImage3DMultisample(struct _glapi_table *disp) {
+ return (_glptr_TexImage3DMultisample) (GET_by_offset(disp, _gloffset_TexImage3DMultisample));
+}
+
+static INLINE void SET_TexImage3DMultisample(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean)) {
+ SET_by_offset(disp, _gloffset_TexImage3DMultisample, 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_BindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *);
+#define CALL_BindFragDataLocationIndexed(disp, parameters) \
+ (* GET_BindFragDataLocationIndexed(disp)) parameters
+static INLINE _glptr_BindFragDataLocationIndexed GET_BindFragDataLocationIndexed(struct _glapi_table *disp) {
+ return (_glptr_BindFragDataLocationIndexed) (GET_by_offset(disp, _gloffset_BindFragDataLocationIndexed));
+}
+
+static INLINE void SET_BindFragDataLocationIndexed(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_BindFragDataLocationIndexed, fn);
+}
+
+typedef GLint (GLAPIENTRYP _glptr_GetFragDataIndex)(GLuint, const GLchar *);
+#define CALL_GetFragDataIndex(disp, parameters) \
+ (* GET_GetFragDataIndex(disp)) parameters
+static INLINE _glptr_GetFragDataIndex GET_GetFragDataIndex(struct _glapi_table *disp) {
+ return (_glptr_GetFragDataIndex) (GET_by_offset(disp, _gloffset_GetFragDataIndex));
+}
+
+static INLINE void SET_GetFragDataIndex(struct _glapi_table *disp, GLint (GLAPIENTRYP fn)(GLuint, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetFragDataIndex, 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_GetQueryObjecti64v)(GLuint, GLenum, GLint64 *);
+#define CALL_GetQueryObjecti64v(disp, parameters) \
+ (* GET_GetQueryObjecti64v(disp)) parameters
+static INLINE _glptr_GetQueryObjecti64v GET_GetQueryObjecti64v(struct _glapi_table *disp) {
+ return (_glptr_GetQueryObjecti64v) (GET_by_offset(disp, _gloffset_GetQueryObjecti64v));
+}
+
+static INLINE void SET_GetQueryObjecti64v(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint64 *)) {
+ SET_by_offset(disp, _gloffset_GetQueryObjecti64v, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetQueryObjectui64v)(GLuint, GLenum, GLuint64 *);
+#define CALL_GetQueryObjectui64v(disp, parameters) \
+ (* GET_GetQueryObjectui64v(disp)) parameters
+static INLINE _glptr_GetQueryObjectui64v GET_GetQueryObjectui64v(struct _glapi_table *disp) {
+ return (_glptr_GetQueryObjectui64v) (GET_by_offset(disp, _gloffset_GetQueryObjectui64v));
+}
+
+static INLINE void SET_GetQueryObjectui64v(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLuint64 *)) {
+ SET_by_offset(disp, _gloffset_GetQueryObjectui64v, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_QueryCounter)(GLuint, GLenum);
+#define CALL_QueryCounter(disp, parameters) \
+ (* GET_QueryCounter(disp)) parameters
+static INLINE _glptr_QueryCounter GET_QueryCounter(struct _glapi_table *disp) {
+ return (_glptr_QueryCounter) (GET_by_offset(disp, _gloffset_QueryCounter));
+}
+
+static INLINE void SET_QueryCounter(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum)) {
+ SET_by_offset(disp, _gloffset_QueryCounter, 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_DrawArraysIndirect)(GLenum, const GLvoid *);
+#define CALL_DrawArraysIndirect(disp, parameters) \
+ (* GET_DrawArraysIndirect(disp)) parameters
+static INLINE _glptr_DrawArraysIndirect GET_DrawArraysIndirect(struct _glapi_table *disp) {
+ return (_glptr_DrawArraysIndirect) (GET_by_offset(disp, _gloffset_DrawArraysIndirect));
+}
+
+static INLINE void SET_DrawArraysIndirect(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_DrawArraysIndirect, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawElementsIndirect)(GLenum, GLenum, const GLvoid *);
+#define CALL_DrawElementsIndirect(disp, parameters) \
+ (* GET_DrawElementsIndirect(disp)) parameters
+static INLINE _glptr_DrawElementsIndirect GET_DrawElementsIndirect(struct _glapi_table *disp) {
+ return (_glptr_DrawElementsIndirect) (GET_by_offset(disp, _gloffset_DrawElementsIndirect));
+}
+
+static INLINE void SET_DrawElementsIndirect(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_DrawElementsIndirect, 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_BeginQueryIndexed)(GLenum, GLuint, GLuint);
+#define CALL_BeginQueryIndexed(disp, parameters) \
+ (* GET_BeginQueryIndexed(disp)) parameters
+static INLINE _glptr_BeginQueryIndexed GET_BeginQueryIndexed(struct _glapi_table *disp) {
+ return (_glptr_BeginQueryIndexed) (GET_by_offset(disp, _gloffset_BeginQueryIndexed));
+}
+
+static INLINE void SET_BeginQueryIndexed(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_BeginQueryIndexed, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTransformFeedbackStream)(GLenum, GLuint, GLuint);
+#define CALL_DrawTransformFeedbackStream(disp, parameters) \
+ (* GET_DrawTransformFeedbackStream(disp)) parameters
+static INLINE _glptr_DrawTransformFeedbackStream GET_DrawTransformFeedbackStream(struct _glapi_table *disp) {
+ return (_glptr_DrawTransformFeedbackStream) (GET_by_offset(disp, _gloffset_DrawTransformFeedbackStream));
+}
+
+static INLINE void SET_DrawTransformFeedbackStream(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_DrawTransformFeedbackStream, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EndQueryIndexed)(GLenum, GLuint);
+#define CALL_EndQueryIndexed(disp, parameters) \
+ (* GET_EndQueryIndexed(disp)) parameters
+static INLINE _glptr_EndQueryIndexed GET_EndQueryIndexed(struct _glapi_table *disp) {
+ return (_glptr_EndQueryIndexed) (GET_by_offset(disp, _gloffset_EndQueryIndexed));
+}
+
+static INLINE void SET_EndQueryIndexed(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_EndQueryIndexed, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *);
+#define CALL_GetQueryIndexediv(disp, parameters) \
+ (* GET_GetQueryIndexediv(disp)) parameters
+static INLINE _glptr_GetQueryIndexediv GET_GetQueryIndexediv(struct _glapi_table *disp) {
+ return (_glptr_GetQueryIndexediv) (GET_by_offset(disp, _gloffset_GetQueryIndexediv));
+}
+
+static INLINE void SET_GetQueryIndexediv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetQueryIndexediv, 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 void (GLAPIENTRYP _glptr_GetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, GLvoid *);
+#define CALL_GetProgramBinary(disp, parameters) \
+ (* GET_GetProgramBinary(disp)) parameters
+static INLINE _glptr_GetProgramBinary GET_GetProgramBinary(struct _glapi_table *disp) {
+ return (_glptr_GetProgramBinary) (GET_by_offset(disp, _gloffset_GetProgramBinary));
+}
+
+static INLINE void SET_GetProgramBinary(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, GLsizei *, GLenum *, GLvoid *)) {
+ SET_by_offset(disp, _gloffset_GetProgramBinary, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramBinary)(GLuint, GLenum, const GLvoid *, GLsizei);
+#define CALL_ProgramBinary(disp, parameters) \
+ (* GET_ProgramBinary(disp)) parameters
+static INLINE _glptr_ProgramBinary GET_ProgramBinary(struct _glapi_table *disp) {
+ return (_glptr_ProgramBinary) (GET_by_offset(disp, _gloffset_ProgramBinary));
+}
+
+static INLINE void SET_ProgramBinary(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, const GLvoid *, GLsizei)) {
+ SET_by_offset(disp, _gloffset_ProgramBinary, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramParameteri)(GLuint, GLenum, GLint);
+#define CALL_ProgramParameteri(disp, parameters) \
+ (* GET_ProgramParameteri(disp)) parameters
+static INLINE _glptr_ProgramParameteri GET_ProgramParameteri(struct _glapi_table *disp) {
+ return (_glptr_ProgramParameteri) (GET_by_offset(disp, _gloffset_ProgramParameteri));
+}
+
+static INLINE void SET_ProgramParameteri(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint)) {
+ SET_by_offset(disp, _gloffset_ProgramParameteri, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DepthRangeArrayv)(GLuint, GLsizei, const GLclampd *);
+#define CALL_DepthRangeArrayv(disp, parameters) \
+ (* GET_DepthRangeArrayv(disp)) parameters
+static INLINE _glptr_DepthRangeArrayv GET_DepthRangeArrayv(struct _glapi_table *disp) {
+ return (_glptr_DepthRangeArrayv) (GET_by_offset(disp, _gloffset_DepthRangeArrayv));
+}
+
+static INLINE void SET_DepthRangeArrayv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLclampd *)) {
+ SET_by_offset(disp, _gloffset_DepthRangeArrayv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DepthRangeIndexed)(GLuint, GLclampd, GLclampd);
+#define CALL_DepthRangeIndexed(disp, parameters) \
+ (* GET_DepthRangeIndexed(disp)) parameters
+static INLINE _glptr_DepthRangeIndexed GET_DepthRangeIndexed(struct _glapi_table *disp) {
+ return (_glptr_DepthRangeIndexed) (GET_by_offset(disp, _gloffset_DepthRangeIndexed));
+}
+
+static INLINE void SET_DepthRangeIndexed(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLclampd, GLclampd)) {
+ SET_by_offset(disp, _gloffset_DepthRangeIndexed, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetDoublei_v)(GLenum, GLuint, GLdouble *);
+#define CALL_GetDoublei_v(disp, parameters) \
+ (* GET_GetDoublei_v(disp)) parameters
+static INLINE _glptr_GetDoublei_v GET_GetDoublei_v(struct _glapi_table *disp) {
+ return (_glptr_GetDoublei_v) (GET_by_offset(disp, _gloffset_GetDoublei_v));
+}
+
+static INLINE void SET_GetDoublei_v(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLdouble *)) {
+ SET_by_offset(disp, _gloffset_GetDoublei_v, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetFloati_v)(GLenum, GLuint, GLfloat *);
+#define CALL_GetFloati_v(disp, parameters) \
+ (* GET_GetFloati_v(disp)) parameters
+static INLINE _glptr_GetFloati_v GET_GetFloati_v(struct _glapi_table *disp) {
+ return (_glptr_GetFloati_v) (GET_by_offset(disp, _gloffset_GetFloati_v));
+}
+
+static INLINE void SET_GetFloati_v(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLfloat *)) {
+ SET_by_offset(disp, _gloffset_GetFloati_v, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ScissorArrayv)(GLuint, GLsizei, const int *);
+#define CALL_ScissorArrayv(disp, parameters) \
+ (* GET_ScissorArrayv(disp)) parameters
+static INLINE _glptr_ScissorArrayv GET_ScissorArrayv(struct _glapi_table *disp) {
+ return (_glptr_ScissorArrayv) (GET_by_offset(disp, _gloffset_ScissorArrayv));
+}
+
+static INLINE void SET_ScissorArrayv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const int *)) {
+ SET_by_offset(disp, _gloffset_ScissorArrayv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei);
+#define CALL_ScissorIndexed(disp, parameters) \
+ (* GET_ScissorIndexed(disp)) parameters
+static INLINE _glptr_ScissorIndexed GET_ScissorIndexed(struct _glapi_table *disp) {
+ return (_glptr_ScissorIndexed) (GET_by_offset(disp, _gloffset_ScissorIndexed));
+}
+
+static INLINE void SET_ScissorIndexed(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLint, GLsizei, GLsizei)) {
+ SET_by_offset(disp, _gloffset_ScissorIndexed, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ScissorIndexedv)(GLuint, const GLint *);
+#define CALL_ScissorIndexedv(disp, parameters) \
+ (* GET_ScissorIndexedv(disp)) parameters
+static INLINE _glptr_ScissorIndexedv GET_ScissorIndexedv(struct _glapi_table *disp) {
+ return (_glptr_ScissorIndexedv) (GET_by_offset(disp, _gloffset_ScissorIndexedv));
+}
+
+static INLINE void SET_ScissorIndexedv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLint *)) {
+ SET_by_offset(disp, _gloffset_ScissorIndexedv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ViewportArrayv)(GLuint, GLsizei, const GLfloat *);
+#define CALL_ViewportArrayv(disp, parameters) \
+ (* GET_ViewportArrayv(disp)) parameters
+static INLINE _glptr_ViewportArrayv GET_ViewportArrayv(struct _glapi_table *disp) {
+ return (_glptr_ViewportArrayv) (GET_by_offset(disp, _gloffset_ViewportArrayv));
+}
+
+static INLINE void SET_ViewportArrayv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ViewportArrayv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+#define CALL_ViewportIndexedf(disp, parameters) \
+ (* GET_ViewportIndexedf(disp)) parameters
+static INLINE _glptr_ViewportIndexedf GET_ViewportIndexedf(struct _glapi_table *disp) {
+ return (_glptr_ViewportIndexedf) (GET_by_offset(disp, _gloffset_ViewportIndexedf));
+}
+
+static INLINE void SET_ViewportIndexedf(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_ViewportIndexedf, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ViewportIndexedfv)(GLuint, const GLfloat *);
+#define CALL_ViewportIndexedfv(disp, parameters) \
+ (* GET_ViewportIndexedfv(disp)) parameters
+static INLINE _glptr_ViewportIndexedfv GET_ViewportIndexedfv(struct _glapi_table *disp) {
+ return (_glptr_ViewportIndexedfv) (GET_by_offset(disp, _gloffset_ViewportIndexedfv));
+}
+
+static INLINE void SET_ViewportIndexedfv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ViewportIndexedfv, 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)(GLuint, 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)(GLuint, GLint, GLsizei, GLdouble *)) {
+ SET_by_offset(disp, _gloffset_GetnUniformdvARB, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetnUniformfvARB)(GLuint, 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)(GLuint, GLint, GLsizei, GLfloat *)) {
+ SET_by_offset(disp, _gloffset_GetnUniformfvARB, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetnUniformivARB)(GLuint, 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)(GLuint, GLint, GLsizei, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetnUniformivARB, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetnUniformuivARB)(GLuint, 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)(GLuint, 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_DrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint);
+#define CALL_DrawArraysInstancedBaseInstance(disp, parameters) \
+ (* GET_DrawArraysInstancedBaseInstance(disp)) parameters
+static INLINE _glptr_DrawArraysInstancedBaseInstance GET_DrawArraysInstancedBaseInstance(struct _glapi_table *disp) {
+ return (_glptr_DrawArraysInstancedBaseInstance) (GET_by_offset(disp, _gloffset_DrawArraysInstancedBaseInstance));
+}
+
+static INLINE void SET_DrawArraysInstancedBaseInstance(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLint, GLsizei, GLsizei, GLuint)) {
+ SET_by_offset(disp, _gloffset_DrawArraysInstancedBaseInstance, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLuint);
+#define CALL_DrawElementsInstancedBaseInstance(disp, parameters) \
+ (* GET_DrawElementsInstancedBaseInstance(disp)) parameters
+static INLINE _glptr_DrawElementsInstancedBaseInstance GET_DrawElementsInstancedBaseInstance(struct _glapi_table *disp) {
+ return (_glptr_DrawElementsInstancedBaseInstance) (GET_by_offset(disp, _gloffset_DrawElementsInstancedBaseInstance));
+}
+
+static INLINE void SET_DrawElementsInstancedBaseInstance(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLuint)) {
+ SET_by_offset(disp, _gloffset_DrawElementsInstancedBaseInstance, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint, GLuint);
+#define CALL_DrawElementsInstancedBaseVertexBaseInstance(disp, parameters) \
+ (* GET_DrawElementsInstancedBaseVertexBaseInstance(disp)) parameters
+static INLINE _glptr_DrawElementsInstancedBaseVertexBaseInstance GET_DrawElementsInstancedBaseVertexBaseInstance(struct _glapi_table *disp) {
+ return (_glptr_DrawElementsInstancedBaseVertexBaseInstance) (GET_by_offset(disp, _gloffset_DrawElementsInstancedBaseVertexBaseInstance));
+}
+
+static INLINE void SET_DrawElementsInstancedBaseVertexBaseInstance(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint, GLuint)) {
+ SET_by_offset(disp, _gloffset_DrawElementsInstancedBaseVertexBaseInstance, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei);
+#define CALL_DrawTransformFeedbackInstanced(disp, parameters) \
+ (* GET_DrawTransformFeedbackInstanced(disp)) parameters
+static INLINE _glptr_DrawTransformFeedbackInstanced GET_DrawTransformFeedbackInstanced(struct _glapi_table *disp) {
+ return (_glptr_DrawTransformFeedbackInstanced) (GET_by_offset(disp, _gloffset_DrawTransformFeedbackInstanced));
+}
+
+static INLINE void SET_DrawTransformFeedbackInstanced(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei)) {
+ SET_by_offset(disp, _gloffset_DrawTransformFeedbackInstanced, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei);
+#define CALL_DrawTransformFeedbackStreamInstanced(disp, parameters) \
+ (* GET_DrawTransformFeedbackStreamInstanced(disp)) parameters
+static INLINE _glptr_DrawTransformFeedbackStreamInstanced GET_DrawTransformFeedbackStreamInstanced(struct _glapi_table *disp) {
+ return (_glptr_DrawTransformFeedbackStreamInstanced) (GET_by_offset(disp, _gloffset_DrawTransformFeedbackStreamInstanced));
+}
+
+static INLINE void SET_DrawTransformFeedbackStreamInstanced(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLuint, GLsizei)) {
+ SET_by_offset(disp, _gloffset_DrawTransformFeedbackStreamInstanced, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *);
+#define CALL_GetInternalformativ(disp, parameters) \
+ (* GET_GetInternalformativ(disp)) parameters
+static INLINE _glptr_GetInternalformativ GET_GetInternalformativ(struct _glapi_table *disp) {
+ return (_glptr_GetInternalformativ) (GET_by_offset(disp, _gloffset_GetInternalformativ));
+}
+
+static INLINE void SET_GetInternalformativ(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLsizei, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetInternalformativ, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *);
+#define CALL_GetActiveAtomicCounterBufferiv(disp, parameters) \
+ (* GET_GetActiveAtomicCounterBufferiv(disp)) parameters
+static INLINE _glptr_GetActiveAtomicCounterBufferiv GET_GetActiveAtomicCounterBufferiv(struct _glapi_table *disp) {
+ return (_glptr_GetActiveAtomicCounterBufferiv) (GET_by_offset(disp, _gloffset_GetActiveAtomicCounterBufferiv));
+}
+
+static INLINE void SET_GetActiveAtomicCounterBufferiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetActiveAtomicCounterBufferiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum);
+#define CALL_BindImageTexture(disp, parameters) \
+ (* GET_BindImageTexture(disp)) parameters
+static INLINE _glptr_BindImageTexture GET_BindImageTexture(struct _glapi_table *disp) {
+ return (_glptr_BindImageTexture) (GET_by_offset(disp, _gloffset_BindImageTexture));
+}
+
+static INLINE void SET_BindImageTexture(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum)) {
+ SET_by_offset(disp, _gloffset_BindImageTexture, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MemoryBarrier)(GLbitfield);
+#define CALL_MemoryBarrier(disp, parameters) \
+ (* GET_MemoryBarrier(disp)) parameters
+static INLINE _glptr_MemoryBarrier GET_MemoryBarrier(struct _glapi_table *disp) {
+ return (_glptr_MemoryBarrier) (GET_by_offset(disp, _gloffset_MemoryBarrier));
+}
+
+static INLINE void SET_MemoryBarrier(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLbitfield)) {
+ SET_by_offset(disp, _gloffset_MemoryBarrier, 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_ClearBufferData)(GLenum, GLenum, GLenum, GLenum, const GLvoid *);
+#define CALL_ClearBufferData(disp, parameters) \
+ (* GET_ClearBufferData(disp)) parameters
+static INLINE _glptr_ClearBufferData GET_ClearBufferData(struct _glapi_table *disp) {
+ return (_glptr_ClearBufferData) (GET_by_offset(disp, _gloffset_ClearBufferData));
+}
+
+static INLINE void SET_ClearBufferData(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLenum, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_ClearBufferData, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const GLvoid *);
+#define CALL_ClearBufferSubData(disp, parameters) \
+ (* GET_ClearBufferSubData(disp)) parameters
+static INLINE _glptr_ClearBufferSubData GET_ClearBufferSubData(struct _glapi_table *disp) {
+ return (_glptr_ClearBufferSubData) (GET_by_offset(disp, _gloffset_ClearBufferSubData));
+}
+
+static INLINE void SET_ClearBufferSubData(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_ClearBufferSubData, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DispatchCompute)(GLuint, GLuint, GLuint);
+#define CALL_DispatchCompute(disp, parameters) \
+ (* GET_DispatchCompute(disp)) parameters
+static INLINE _glptr_DispatchCompute GET_DispatchCompute(struct _glapi_table *disp) {
+ return (_glptr_DispatchCompute) (GET_by_offset(disp, _gloffset_DispatchCompute));
+}
+
+static INLINE void SET_DispatchCompute(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_DispatchCompute, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DispatchComputeIndirect)(GLintptr);
+#define CALL_DispatchComputeIndirect(disp, parameters) \
+ (* GET_DispatchComputeIndirect(disp)) parameters
+static INLINE _glptr_DispatchComputeIndirect GET_DispatchComputeIndirect(struct _glapi_table *disp) {
+ return (_glptr_DispatchComputeIndirect) (GET_by_offset(disp, _gloffset_DispatchComputeIndirect));
+}
+
+static INLINE void SET_DispatchComputeIndirect(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLintptr)) {
+ SET_by_offset(disp, _gloffset_DispatchComputeIndirect, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint);
+#define CALL_TextureView(disp, parameters) \
+ (* GET_TextureView(disp)) parameters
+static INLINE _glptr_TextureView GET_TextureView(struct _glapi_table *disp) {
+ return (_glptr_TextureView) (GET_by_offset(disp, _gloffset_TextureView));
+}
+
+static INLINE void SET_TextureView(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_TextureView, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei);
+#define CALL_BindVertexBuffer(disp, parameters) \
+ (* GET_BindVertexBuffer(disp)) parameters
+static INLINE _glptr_BindVertexBuffer GET_BindVertexBuffer(struct _glapi_table *disp) {
+ return (_glptr_BindVertexBuffer) (GET_by_offset(disp, _gloffset_BindVertexBuffer));
+}
+
+static INLINE void SET_BindVertexBuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLintptr, GLsizei)) {
+ SET_by_offset(disp, _gloffset_BindVertexBuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribBinding)(GLuint, GLuint);
+#define CALL_VertexAttribBinding(disp, parameters) \
+ (* GET_VertexAttribBinding(disp)) parameters
+static INLINE _glptr_VertexAttribBinding GET_VertexAttribBinding(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribBinding) (GET_by_offset(disp, _gloffset_VertexAttribBinding));
+}
+
+static INLINE void SET_VertexAttribBinding(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_VertexAttribBinding, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint);
+#define CALL_VertexAttribFormat(disp, parameters) \
+ (* GET_VertexAttribFormat(disp)) parameters
+static INLINE _glptr_VertexAttribFormat GET_VertexAttribFormat(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribFormat) (GET_by_offset(disp, _gloffset_VertexAttribFormat));
+}
+
+static INLINE void SET_VertexAttribFormat(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLenum, GLboolean, GLuint)) {
+ SET_by_offset(disp, _gloffset_VertexAttribFormat, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribIFormat)(GLuint, GLint, GLenum, GLuint);
+#define CALL_VertexAttribIFormat(disp, parameters) \
+ (* GET_VertexAttribIFormat(disp)) parameters
+static INLINE _glptr_VertexAttribIFormat GET_VertexAttribIFormat(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribIFormat) (GET_by_offset(disp, _gloffset_VertexAttribIFormat));
+}
+
+static INLINE void SET_VertexAttribIFormat(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_VertexAttribIFormat, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexAttribLFormat)(GLuint, GLint, GLenum, GLuint);
+#define CALL_VertexAttribLFormat(disp, parameters) \
+ (* GET_VertexAttribLFormat(disp)) parameters
+static INLINE _glptr_VertexAttribLFormat GET_VertexAttribLFormat(struct _glapi_table *disp) {
+ return (_glptr_VertexAttribLFormat) (GET_by_offset(disp, _gloffset_VertexAttribLFormat));
+}
+
+static INLINE void SET_VertexAttribLFormat(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLenum, GLuint)) {
+ SET_by_offset(disp, _gloffset_VertexAttribLFormat, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VertexBindingDivisor)(GLuint, GLuint);
+#define CALL_VertexBindingDivisor(disp, parameters) \
+ (* GET_VertexBindingDivisor(disp)) parameters
+static INLINE _glptr_VertexBindingDivisor GET_VertexBindingDivisor(struct _glapi_table *disp) {
+ return (_glptr_VertexBindingDivisor) (GET_by_offset(disp, _gloffset_VertexBindingDivisor));
+}
+
+static INLINE void SET_VertexBindingDivisor(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_VertexBindingDivisor, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiDrawArraysIndirect)(GLenum, const GLvoid *, GLsizei, GLsizei);
+#define CALL_MultiDrawArraysIndirect(disp, parameters) \
+ (* GET_MultiDrawArraysIndirect(disp)) parameters
+static INLINE _glptr_MultiDrawArraysIndirect GET_MultiDrawArraysIndirect(struct _glapi_table *disp) {
+ return (_glptr_MultiDrawArraysIndirect) (GET_by_offset(disp, _gloffset_MultiDrawArraysIndirect));
+}
+
+static INLINE void SET_MultiDrawArraysIndirect(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLvoid *, GLsizei, GLsizei)) {
+ SET_by_offset(disp, _gloffset_MultiDrawArraysIndirect, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiDrawElementsIndirect)(GLenum, GLenum, const GLvoid *, GLsizei, GLsizei);
+#define CALL_MultiDrawElementsIndirect(disp, parameters) \
+ (* GET_MultiDrawElementsIndirect(disp)) parameters
+static INLINE _glptr_MultiDrawElementsIndirect GET_MultiDrawElementsIndirect(struct _glapi_table *disp) {
+ return (_glptr_MultiDrawElementsIndirect) (GET_by_offset(disp, _gloffset_MultiDrawElementsIndirect));
+}
+
+static INLINE void SET_MultiDrawElementsIndirect(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLvoid *, GLsizei, GLsizei)) {
+ SET_by_offset(disp, _gloffset_MultiDrawElementsIndirect, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
+#define CALL_TexBufferRange(disp, parameters) \
+ (* GET_TexBufferRange(disp)) parameters
+static INLINE _glptr_TexBufferRange GET_TexBufferRange(struct _glapi_table *disp) {
+ return (_glptr_TexBufferRange) (GET_by_offset(disp, _gloffset_TexBufferRange));
+}
+
+static INLINE void SET_TexBufferRange(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr)) {
+ SET_by_offset(disp, _gloffset_TexBufferRange, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
+#define CALL_TexStorage2DMultisample(disp, parameters) \
+ (* GET_TexStorage2DMultisample(disp)) parameters
+static INLINE _glptr_TexStorage2DMultisample GET_TexStorage2DMultisample(struct _glapi_table *disp) {
+ return (_glptr_TexStorage2DMultisample) (GET_by_offset(disp, _gloffset_TexStorage2DMultisample));
+}
+
+static INLINE void SET_TexStorage2DMultisample(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean)) {
+ SET_by_offset(disp, _gloffset_TexStorage2DMultisample, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
+#define CALL_TexStorage3DMultisample(disp, parameters) \
+ (* GET_TexStorage3DMultisample(disp)) parameters
+static INLINE _glptr_TexStorage3DMultisample GET_TexStorage3DMultisample(struct _glapi_table *disp) {
+ return (_glptr_TexStorage3DMultisample) (GET_by_offset(disp, _gloffset_TexStorage3DMultisample));
+}
+
+static INLINE void SET_TexStorage3DMultisample(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean)) {
+ SET_by_offset(disp, _gloffset_TexStorage3DMultisample, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BufferStorage)(GLenum, GLsizeiptr, const GLvoid *, GLbitfield);
+#define CALL_BufferStorage(disp, parameters) \
+ (* GET_BufferStorage(disp)) parameters
+static INLINE _glptr_BufferStorage GET_BufferStorage(struct _glapi_table *disp) {
+ return (_glptr_BufferStorage) (GET_by_offset(disp, _gloffset_BufferStorage));
+}
+
+static INLINE void SET_BufferStorage(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizeiptr, const GLvoid *, GLbitfield)) {
+ SET_by_offset(disp, _gloffset_BufferStorage, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *);
+#define CALL_BindBuffersBase(disp, parameters) \
+ (* GET_BindBuffersBase(disp)) parameters
+static INLINE _glptr_BindBuffersBase GET_BindBuffersBase(struct _glapi_table *disp) {
+ return (_glptr_BindBuffersBase) (GET_by_offset(disp, _gloffset_BindBuffersBase));
+}
+
+static INLINE void SET_BindBuffersBase(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_BindBuffersBase, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *);
+#define CALL_BindBuffersRange(disp, parameters) \
+ (* GET_BindBuffersRange(disp)) parameters
+static INLINE _glptr_BindBuffersRange GET_BindBuffersRange(struct _glapi_table *disp) {
+ return (_glptr_BindBuffersRange) (GET_by_offset(disp, _gloffset_BindBuffersRange));
+}
+
+static INLINE void SET_BindBuffersRange(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *)) {
+ SET_by_offset(disp, _gloffset_BindBuffersRange, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindImageTextures)(GLuint, GLsizei, const GLuint *);
+#define CALL_BindImageTextures(disp, parameters) \
+ (* GET_BindImageTextures(disp)) parameters
+static INLINE _glptr_BindImageTextures GET_BindImageTextures(struct _glapi_table *disp) {
+ return (_glptr_BindImageTextures) (GET_by_offset(disp, _gloffset_BindImageTextures));
+}
+
+static INLINE void SET_BindImageTextures(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_BindImageTextures, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindSamplers)(GLuint, GLsizei, const GLuint *);
+#define CALL_BindSamplers(disp, parameters) \
+ (* GET_BindSamplers(disp)) parameters
+static INLINE _glptr_BindSamplers GET_BindSamplers(struct _glapi_table *disp) {
+ return (_glptr_BindSamplers) (GET_by_offset(disp, _gloffset_BindSamplers));
+}
+
+static INLINE void SET_BindSamplers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_BindSamplers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindTextures)(GLuint, GLsizei, const GLuint *);
+#define CALL_BindTextures(disp, parameters) \
+ (* GET_BindTextures(disp)) parameters
+static INLINE _glptr_BindTextures GET_BindTextures(struct _glapi_table *disp) {
+ return (_glptr_BindTextures) (GET_by_offset(disp, _gloffset_BindTextures));
+}
+
+static INLINE void SET_BindTextures(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_BindTextures, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *);
+#define CALL_BindVertexBuffers(disp, parameters) \
+ (* GET_BindVertexBuffers(disp)) parameters
+static INLINE _glptr_BindVertexBuffers GET_BindVertexBuffers(struct _glapi_table *disp) {
+ return (_glptr_BindVertexBuffers) (GET_by_offset(disp, _gloffset_BindVertexBuffers));
+}
+
+static INLINE void SET_BindVertexBuffers(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *)) {
+ SET_by_offset(disp, _gloffset_BindVertexBuffers, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_InvalidateBufferData)(GLuint);
+#define CALL_InvalidateBufferData(disp, parameters) \
+ (* GET_InvalidateBufferData(disp)) parameters
+static INLINE _glptr_InvalidateBufferData GET_InvalidateBufferData(struct _glapi_table *disp) {
+ return (_glptr_InvalidateBufferData) (GET_by_offset(disp, _gloffset_InvalidateBufferData));
+}
+
+static INLINE void SET_InvalidateBufferData(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_InvalidateBufferData, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_InvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr);
+#define CALL_InvalidateBufferSubData(disp, parameters) \
+ (* GET_InvalidateBufferSubData(disp)) parameters
+static INLINE _glptr_InvalidateBufferSubData GET_InvalidateBufferSubData(struct _glapi_table *disp) {
+ return (_glptr_InvalidateBufferSubData) (GET_by_offset(disp, _gloffset_InvalidateBufferSubData));
+}
+
+static INLINE void SET_InvalidateBufferSubData(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLintptr, GLsizeiptr)) {
+ SET_by_offset(disp, _gloffset_InvalidateBufferSubData, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_InvalidateFramebuffer)(GLenum, GLsizei, const GLenum *);
+#define CALL_InvalidateFramebuffer(disp, parameters) \
+ (* GET_InvalidateFramebuffer(disp)) parameters
+static INLINE _glptr_InvalidateFramebuffer GET_InvalidateFramebuffer(struct _glapi_table *disp) {
+ return (_glptr_InvalidateFramebuffer) (GET_by_offset(disp, _gloffset_InvalidateFramebuffer));
+}
+
+static INLINE void SET_InvalidateFramebuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, const GLenum *)) {
+ SET_by_offset(disp, _gloffset_InvalidateFramebuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_InvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei);
+#define CALL_InvalidateSubFramebuffer(disp, parameters) \
+ (* GET_InvalidateSubFramebuffer(disp)) parameters
+static INLINE _glptr_InvalidateSubFramebuffer GET_InvalidateSubFramebuffer(struct _glapi_table *disp) {
+ return (_glptr_InvalidateSubFramebuffer) (GET_by_offset(disp, _gloffset_InvalidateSubFramebuffer));
+}
+
+static INLINE void SET_InvalidateSubFramebuffer(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei)) {
+ SET_by_offset(disp, _gloffset_InvalidateSubFramebuffer, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_InvalidateTexImage)(GLuint, GLint);
+#define CALL_InvalidateTexImage(disp, parameters) \
+ (* GET_InvalidateTexImage(disp)) parameters
+static INLINE _glptr_InvalidateTexImage GET_InvalidateTexImage(struct _glapi_table *disp) {
+ return (_glptr_InvalidateTexImage) (GET_by_offset(disp, _gloffset_InvalidateTexImage));
+}
+
+static INLINE void SET_InvalidateTexImage(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint)) {
+ SET_by_offset(disp, _gloffset_InvalidateTexImage, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_InvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
+#define CALL_InvalidateTexSubImage(disp, parameters) \
+ (* GET_InvalidateTexSubImage(disp)) parameters
+static INLINE _glptr_InvalidateTexSubImage GET_InvalidateTexSubImage(struct _glapi_table *disp) {
+ return (_glptr_InvalidateTexSubImage) (GET_by_offset(disp, _gloffset_InvalidateTexSubImage));
+}
+
+static INLINE void SET_InvalidateTexSubImage(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)) {
+ SET_by_offset(disp, _gloffset_InvalidateTexSubImage, 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_DrawTexfOES)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+#define CALL_DrawTexfOES(disp, parameters) \
+ (* GET_DrawTexfOES(disp)) parameters
+static INLINE _glptr_DrawTexfOES GET_DrawTexfOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexfOES) (GET_by_offset(disp, _gloffset_DrawTexfOES));
+}
+
+static INLINE void SET_DrawTexfOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_DrawTexfOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTexfvOES)(const GLfloat *);
+#define CALL_DrawTexfvOES(disp, parameters) \
+ (* GET_DrawTexfvOES(disp)) parameters
+static INLINE _glptr_DrawTexfvOES GET_DrawTexfvOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexfvOES) (GET_by_offset(disp, _gloffset_DrawTexfvOES));
+}
+
+static INLINE void SET_DrawTexfvOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_DrawTexfvOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTexiOES)(GLint, GLint, GLint, GLint, GLint);
+#define CALL_DrawTexiOES(disp, parameters) \
+ (* GET_DrawTexiOES(disp)) parameters
+static INLINE _glptr_DrawTexiOES GET_DrawTexiOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexiOES) (GET_by_offset(disp, _gloffset_DrawTexiOES));
+}
+
+static INLINE void SET_DrawTexiOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint, GLint, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_DrawTexiOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTexivOES)(const GLint *);
+#define CALL_DrawTexivOES(disp, parameters) \
+ (* GET_DrawTexivOES(disp)) parameters
+static INLINE _glptr_DrawTexivOES GET_DrawTexivOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexivOES) (GET_by_offset(disp, _gloffset_DrawTexivOES));
+}
+
+static INLINE void SET_DrawTexivOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLint *)) {
+ SET_by_offset(disp, _gloffset_DrawTexivOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTexsOES)(GLshort, GLshort, GLshort, GLshort, GLshort);
+#define CALL_DrawTexsOES(disp, parameters) \
+ (* GET_DrawTexsOES(disp)) parameters
+static INLINE _glptr_DrawTexsOES GET_DrawTexsOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexsOES) (GET_by_offset(disp, _gloffset_DrawTexsOES));
+}
+
+static INLINE void SET_DrawTexsOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLshort, GLshort, GLshort, GLshort, GLshort)) {
+ SET_by_offset(disp, _gloffset_DrawTexsOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTexsvOES)(const GLshort *);
+#define CALL_DrawTexsvOES(disp, parameters) \
+ (* GET_DrawTexsvOES(disp)) parameters
+static INLINE _glptr_DrawTexsvOES GET_DrawTexsvOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexsvOES) (GET_by_offset(disp, _gloffset_DrawTexsvOES));
+}
+
+static INLINE void SET_DrawTexsvOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLshort *)) {
+ SET_by_offset(disp, _gloffset_DrawTexsvOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTexxOES)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed);
+#define CALL_DrawTexxOES(disp, parameters) \
+ (* GET_DrawTexxOES(disp)) parameters
+static INLINE _glptr_DrawTexxOES GET_DrawTexxOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexxOES) (GET_by_offset(disp, _gloffset_DrawTexxOES));
+}
+
+static INLINE void SET_DrawTexxOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_DrawTexxOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DrawTexxvOES)(const GLfixed *);
+#define CALL_DrawTexxvOES(disp, parameters) \
+ (* GET_DrawTexxvOES(disp)) parameters
+static INLINE _glptr_DrawTexxvOES GET_DrawTexxvOES(struct _glapi_table *disp) {
+ return (_glptr_DrawTexxvOES) (GET_by_offset(disp, _gloffset_DrawTexxvOES));
+}
+
+static INLINE void SET_DrawTexxvOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_DrawTexxvOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointSizePointerOES)(GLenum, GLsizei, const GLvoid *);
+#define CALL_PointSizePointerOES(disp, parameters) \
+ (* GET_PointSizePointerOES(disp)) parameters
+static INLINE _glptr_PointSizePointerOES GET_PointSizePointerOES(struct _glapi_table *disp) {
+ return (_glptr_PointSizePointerOES) (GET_by_offset(disp, _gloffset_PointSizePointerOES));
+}
+
+static INLINE void SET_PointSizePointerOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_PointSizePointerOES, fn);
+}
+
+typedef GLbitfield (GLAPIENTRYP _glptr_QueryMatrixxOES)(GLfixed *, GLint *);
+#define CALL_QueryMatrixxOES(disp, parameters) \
+ (* GET_QueryMatrixxOES(disp)) parameters
+static INLINE _glptr_QueryMatrixxOES GET_QueryMatrixxOES(struct _glapi_table *disp) {
+ return (_glptr_QueryMatrixxOES) (GET_by_offset(disp, _gloffset_QueryMatrixxOES));
+}
+
+static INLINE void SET_QueryMatrixxOES(struct _glapi_table *disp, GLbitfield (GLAPIENTRYP fn)(GLfixed *, GLint *)) {
+ SET_by_offset(disp, _gloffset_QueryMatrixxOES, 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_DiscardFramebufferEXT)(GLenum, GLsizei, const GLenum *);
+#define CALL_DiscardFramebufferEXT(disp, parameters) \
+ (* GET_DiscardFramebufferEXT(disp)) parameters
+static INLINE _glptr_DiscardFramebufferEXT GET_DiscardFramebufferEXT(struct _glapi_table *disp) {
+ return (_glptr_DiscardFramebufferEXT) (GET_by_offset(disp, _gloffset_DiscardFramebufferEXT));
+}
+
+static INLINE void SET_DiscardFramebufferEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, const GLenum *)) {
+ SET_by_offset(disp, _gloffset_DiscardFramebufferEXT, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ActiveShaderProgram)(GLuint, GLuint);
+#define CALL_ActiveShaderProgram(disp, parameters) \
+ (* GET_ActiveShaderProgram(disp)) parameters
+static INLINE _glptr_ActiveShaderProgram GET_ActiveShaderProgram(struct _glapi_table *disp) {
+ return (_glptr_ActiveShaderProgram) (GET_by_offset(disp, _gloffset_ActiveShaderProgram));
+}
+
+static INLINE void SET_ActiveShaderProgram(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_ActiveShaderProgram, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BindProgramPipeline)(GLuint);
+#define CALL_BindProgramPipeline(disp, parameters) \
+ (* GET_BindProgramPipeline(disp)) parameters
+static INLINE _glptr_BindProgramPipeline GET_BindProgramPipeline(struct _glapi_table *disp) {
+ return (_glptr_BindProgramPipeline) (GET_by_offset(disp, _gloffset_BindProgramPipeline));
+}
+
+static INLINE void SET_BindProgramPipeline(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_BindProgramPipeline, fn);
+}
+
+typedef GLuint (GLAPIENTRYP _glptr_CreateShaderProgramv)(GLenum, GLsizei, const GLchar * const *);
+#define CALL_CreateShaderProgramv(disp, parameters) \
+ (* GET_CreateShaderProgramv(disp)) parameters
+static INLINE _glptr_CreateShaderProgramv GET_CreateShaderProgramv(struct _glapi_table *disp) {
+ return (_glptr_CreateShaderProgramv) (GET_by_offset(disp, _gloffset_CreateShaderProgramv));
+}
+
+static INLINE void SET_CreateShaderProgramv(struct _glapi_table *disp, GLuint (GLAPIENTRYP fn)(GLenum, GLsizei, const GLchar * const *)) {
+ SET_by_offset(disp, _gloffset_CreateShaderProgramv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeleteProgramPipelines)(GLsizei, const GLuint *);
+#define CALL_DeleteProgramPipelines(disp, parameters) \
+ (* GET_DeleteProgramPipelines(disp)) parameters
+static INLINE _glptr_DeleteProgramPipelines GET_DeleteProgramPipelines(struct _glapi_table *disp) {
+ return (_glptr_DeleteProgramPipelines) (GET_by_offset(disp, _gloffset_DeleteProgramPipelines));
+}
+
+static INLINE void SET_DeleteProgramPipelines(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeleteProgramPipelines, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenProgramPipelines)(GLsizei, GLuint *);
+#define CALL_GenProgramPipelines(disp, parameters) \
+ (* GET_GenProgramPipelines(disp)) parameters
+static INLINE _glptr_GenProgramPipelines GET_GenProgramPipelines(struct _glapi_table *disp) {
+ return (_glptr_GenProgramPipelines) (GET_by_offset(disp, _gloffset_GenProgramPipelines));
+}
+
+static INLINE void SET_GenProgramPipelines(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GenProgramPipelines, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetProgramPipelineInfoLog(disp, parameters) \
+ (* GET_GetProgramPipelineInfoLog(disp)) parameters
+static INLINE _glptr_GetProgramPipelineInfoLog GET_GetProgramPipelineInfoLog(struct _glapi_table *disp) {
+ return (_glptr_GetProgramPipelineInfoLog) (GET_by_offset(disp, _gloffset_GetProgramPipelineInfoLog));
+}
+
+static INLINE void SET_GetProgramPipelineInfoLog(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetProgramPipelineInfoLog, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetProgramPipelineiv)(GLuint, GLenum, GLint *);
+#define CALL_GetProgramPipelineiv(disp, parameters) \
+ (* GET_GetProgramPipelineiv(disp)) parameters
+static INLINE _glptr_GetProgramPipelineiv GET_GetProgramPipelineiv(struct _glapi_table *disp) {
+ return (_glptr_GetProgramPipelineiv) (GET_by_offset(disp, _gloffset_GetProgramPipelineiv));
+}
+
+static INLINE void SET_GetProgramPipelineiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetProgramPipelineiv, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_IsProgramPipeline)(GLuint);
+#define CALL_IsProgramPipeline(disp, parameters) \
+ (* GET_IsProgramPipeline(disp)) parameters
+static INLINE _glptr_IsProgramPipeline GET_IsProgramPipeline(struct _glapi_table *disp) {
+ return (_glptr_IsProgramPipeline) (GET_by_offset(disp, _gloffset_IsProgramPipeline));
+}
+
+static INLINE void SET_IsProgramPipeline(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_IsProgramPipeline, 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_ProgramUniform1f)(GLuint, GLint, GLfloat);
+#define CALL_ProgramUniform1f(disp, parameters) \
+ (* GET_ProgramUniform1f(disp)) parameters
+static INLINE _glptr_ProgramUniform1f GET_ProgramUniform1f(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform1f) (GET_by_offset(disp, _gloffset_ProgramUniform1f));
+}
+
+static INLINE void SET_ProgramUniform1f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLfloat)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform1f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *);
+#define CALL_ProgramUniform1fv(disp, parameters) \
+ (* GET_ProgramUniform1fv(disp)) parameters
+static INLINE _glptr_ProgramUniform1fv GET_ProgramUniform1fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform1fv) (GET_by_offset(disp, _gloffset_ProgramUniform1fv));
+}
+
+static INLINE void SET_ProgramUniform1fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform1fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform1i)(GLuint, GLint, GLint);
+#define CALL_ProgramUniform1i(disp, parameters) \
+ (* GET_ProgramUniform1i(disp)) parameters
+static INLINE _glptr_ProgramUniform1i GET_ProgramUniform1i(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform1i) (GET_by_offset(disp, _gloffset_ProgramUniform1i));
+}
+
+static INLINE void SET_ProgramUniform1i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform1i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *);
+#define CALL_ProgramUniform1iv(disp, parameters) \
+ (* GET_ProgramUniform1iv(disp)) parameters
+static INLINE _glptr_ProgramUniform1iv GET_ProgramUniform1iv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform1iv) (GET_by_offset(disp, _gloffset_ProgramUniform1iv));
+}
+
+static INLINE void SET_ProgramUniform1iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform1iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform1ui)(GLuint, GLint, GLuint);
+#define CALL_ProgramUniform1ui(disp, parameters) \
+ (* GET_ProgramUniform1ui(disp)) parameters
+static INLINE _glptr_ProgramUniform1ui GET_ProgramUniform1ui(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform1ui) (GET_by_offset(disp, _gloffset_ProgramUniform1ui));
+}
+
+static INLINE void SET_ProgramUniform1ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLuint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform1ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *);
+#define CALL_ProgramUniform1uiv(disp, parameters) \
+ (* GET_ProgramUniform1uiv(disp)) parameters
+static INLINE _glptr_ProgramUniform1uiv GET_ProgramUniform1uiv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform1uiv) (GET_by_offset(disp, _gloffset_ProgramUniform1uiv));
+}
+
+static INLINE void SET_ProgramUniform1uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform1uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat);
+#define CALL_ProgramUniform2f(disp, parameters) \
+ (* GET_ProgramUniform2f(disp)) parameters
+static INLINE _glptr_ProgramUniform2f GET_ProgramUniform2f(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform2f) (GET_by_offset(disp, _gloffset_ProgramUniform2f));
+}
+
+static INLINE void SET_ProgramUniform2f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform2f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *);
+#define CALL_ProgramUniform2fv(disp, parameters) \
+ (* GET_ProgramUniform2fv(disp)) parameters
+static INLINE _glptr_ProgramUniform2fv GET_ProgramUniform2fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform2fv) (GET_by_offset(disp, _gloffset_ProgramUniform2fv));
+}
+
+static INLINE void SET_ProgramUniform2fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform2fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform2i)(GLuint, GLint, GLint, GLint);
+#define CALL_ProgramUniform2i(disp, parameters) \
+ (* GET_ProgramUniform2i(disp)) parameters
+static INLINE _glptr_ProgramUniform2i GET_ProgramUniform2i(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform2i) (GET_by_offset(disp, _gloffset_ProgramUniform2i));
+}
+
+static INLINE void SET_ProgramUniform2i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform2i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *);
+#define CALL_ProgramUniform2iv(disp, parameters) \
+ (* GET_ProgramUniform2iv(disp)) parameters
+static INLINE _glptr_ProgramUniform2iv GET_ProgramUniform2iv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform2iv) (GET_by_offset(disp, _gloffset_ProgramUniform2iv));
+}
+
+static INLINE void SET_ProgramUniform2iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform2iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform2ui)(GLuint, GLint, GLuint, GLuint);
+#define CALL_ProgramUniform2ui(disp, parameters) \
+ (* GET_ProgramUniform2ui(disp)) parameters
+static INLINE _glptr_ProgramUniform2ui GET_ProgramUniform2ui(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform2ui) (GET_by_offset(disp, _gloffset_ProgramUniform2ui));
+}
+
+static INLINE void SET_ProgramUniform2ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform2ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *);
+#define CALL_ProgramUniform2uiv(disp, parameters) \
+ (* GET_ProgramUniform2uiv(disp)) parameters
+static INLINE _glptr_ProgramUniform2uiv GET_ProgramUniform2uiv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform2uiv) (GET_by_offset(disp, _gloffset_ProgramUniform2uiv));
+}
+
+static INLINE void SET_ProgramUniform2uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform2uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
+#define CALL_ProgramUniform3f(disp, parameters) \
+ (* GET_ProgramUniform3f(disp)) parameters
+static INLINE _glptr_ProgramUniform3f GET_ProgramUniform3f(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform3f) (GET_by_offset(disp, _gloffset_ProgramUniform3f));
+}
+
+static INLINE void SET_ProgramUniform3f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform3f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *);
+#define CALL_ProgramUniform3fv(disp, parameters) \
+ (* GET_ProgramUniform3fv(disp)) parameters
+static INLINE _glptr_ProgramUniform3fv GET_ProgramUniform3fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform3fv) (GET_by_offset(disp, _gloffset_ProgramUniform3fv));
+}
+
+static INLINE void SET_ProgramUniform3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform3fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint);
+#define CALL_ProgramUniform3i(disp, parameters) \
+ (* GET_ProgramUniform3i(disp)) parameters
+static INLINE _glptr_ProgramUniform3i GET_ProgramUniform3i(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform3i) (GET_by_offset(disp, _gloffset_ProgramUniform3i));
+}
+
+static INLINE void SET_ProgramUniform3i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform3i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *);
+#define CALL_ProgramUniform3iv(disp, parameters) \
+ (* GET_ProgramUniform3iv(disp)) parameters
+static INLINE _glptr_ProgramUniform3iv GET_ProgramUniform3iv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform3iv) (GET_by_offset(disp, _gloffset_ProgramUniform3iv));
+}
+
+static INLINE void SET_ProgramUniform3iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform3iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint);
+#define CALL_ProgramUniform3ui(disp, parameters) \
+ (* GET_ProgramUniform3ui(disp)) parameters
+static INLINE _glptr_ProgramUniform3ui GET_ProgramUniform3ui(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform3ui) (GET_by_offset(disp, _gloffset_ProgramUniform3ui));
+}
+
+static INLINE void SET_ProgramUniform3ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform3ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *);
+#define CALL_ProgramUniform3uiv(disp, parameters) \
+ (* GET_ProgramUniform3uiv(disp)) parameters
+static INLINE _glptr_ProgramUniform3uiv GET_ProgramUniform3uiv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform3uiv) (GET_by_offset(disp, _gloffset_ProgramUniform3uiv));
+}
+
+static INLINE void SET_ProgramUniform3uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform3uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+#define CALL_ProgramUniform4f(disp, parameters) \
+ (* GET_ProgramUniform4f(disp)) parameters
+static INLINE _glptr_ProgramUniform4f GET_ProgramUniform4f(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform4f) (GET_by_offset(disp, _gloffset_ProgramUniform4f));
+}
+
+static INLINE void SET_ProgramUniform4f(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform4f, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *);
+#define CALL_ProgramUniform4fv(disp, parameters) \
+ (* GET_ProgramUniform4fv(disp)) parameters
+static INLINE _glptr_ProgramUniform4fv GET_ProgramUniform4fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform4fv) (GET_by_offset(disp, _gloffset_ProgramUniform4fv));
+}
+
+static INLINE void SET_ProgramUniform4fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform4fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint);
+#define CALL_ProgramUniform4i(disp, parameters) \
+ (* GET_ProgramUniform4i(disp)) parameters
+static INLINE _glptr_ProgramUniform4i GET_ProgramUniform4i(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform4i) (GET_by_offset(disp, _gloffset_ProgramUniform4i));
+}
+
+static INLINE void SET_ProgramUniform4i(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLint, GLint, GLint, GLint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform4i, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *);
+#define CALL_ProgramUniform4iv(disp, parameters) \
+ (* GET_ProgramUniform4iv(disp)) parameters
+static INLINE _glptr_ProgramUniform4iv GET_ProgramUniform4iv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform4iv) (GET_by_offset(disp, _gloffset_ProgramUniform4iv));
+}
+
+static INLINE void SET_ProgramUniform4iv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform4iv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
+#define CALL_ProgramUniform4ui(disp, parameters) \
+ (* GET_ProgramUniform4ui(disp)) parameters
+static INLINE _glptr_ProgramUniform4ui GET_ProgramUniform4ui(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform4ui) (GET_by_offset(disp, _gloffset_ProgramUniform4ui));
+}
+
+static INLINE void SET_ProgramUniform4ui(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform4ui, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *);
+#define CALL_ProgramUniform4uiv(disp, parameters) \
+ (* GET_ProgramUniform4uiv(disp)) parameters
+static INLINE _glptr_ProgramUniform4uiv GET_ProgramUniform4uiv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniform4uiv) (GET_by_offset(disp, _gloffset_ProgramUniform4uiv));
+}
+
+static INLINE void SET_ProgramUniform4uiv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniform4uiv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix2fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix2fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix2fv GET_ProgramUniformMatrix2fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix2fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix2fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix2fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix2fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix2x3fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix2x3fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix2x3fv GET_ProgramUniformMatrix2x3fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix2x3fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix2x3fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix2x3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix2x3fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix2x4fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix2x4fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix2x4fv GET_ProgramUniformMatrix2x4fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix2x4fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix2x4fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix2x4fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix2x4fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix3fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix3fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix3fv GET_ProgramUniformMatrix3fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix3fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix3fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix3fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix3x2fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix3x2fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix3x2fv GET_ProgramUniformMatrix3x2fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix3x2fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix3x2fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix3x2fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix3x2fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix3x4fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix3x4fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix3x4fv GET_ProgramUniformMatrix3x4fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix3x4fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix3x4fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix3x4fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix3x4fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix4fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix4fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix4fv GET_ProgramUniformMatrix4fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix4fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix4fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix4fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix4fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix4x2fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix4x2fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix4x2fv GET_ProgramUniformMatrix4x2fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix4x2fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix4x2fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix4x2fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix4x2fv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
+#define CALL_ProgramUniformMatrix4x3fv(disp, parameters) \
+ (* GET_ProgramUniformMatrix4x3fv(disp)) parameters
+static INLINE _glptr_ProgramUniformMatrix4x3fv GET_ProgramUniformMatrix4x3fv(struct _glapi_table *disp) {
+ return (_glptr_ProgramUniformMatrix4x3fv) (GET_by_offset(disp, _gloffset_ProgramUniformMatrix4x3fv));
+}
+
+static INLINE void SET_ProgramUniformMatrix4x3fv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ProgramUniformMatrix4x3fv, 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_UseProgramStages)(GLuint, GLbitfield, GLuint);
+#define CALL_UseProgramStages(disp, parameters) \
+ (* GET_UseProgramStages(disp)) parameters
+static INLINE _glptr_UseProgramStages GET_UseProgramStages(struct _glapi_table *disp) {
+ return (_glptr_UseProgramStages) (GET_by_offset(disp, _gloffset_UseProgramStages));
+}
+
+static INLINE void SET_UseProgramStages(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLbitfield, GLuint)) {
+ SET_by_offset(disp, _gloffset_UseProgramStages, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ValidateProgramPipeline)(GLuint);
+#define CALL_ValidateProgramPipeline(disp, parameters) \
+ (* GET_ValidateProgramPipeline(disp)) parameters
+static INLINE _glptr_ValidateProgramPipeline GET_ValidateProgramPipeline(struct _glapi_table *disp) {
+ return (_glptr_ValidateProgramPipeline) (GET_by_offset(disp, _gloffset_ValidateProgramPipeline));
+}
+
+static INLINE void SET_ValidateProgramPipeline(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_ValidateProgramPipeline, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DebugMessageCallback)(GLDEBUGPROC, const GLvoid *);
+#define CALL_DebugMessageCallback(disp, parameters) \
+ (* GET_DebugMessageCallback(disp)) parameters
+static INLINE _glptr_DebugMessageCallback GET_DebugMessageCallback(struct _glapi_table *disp) {
+ return (_glptr_DebugMessageCallback) (GET_by_offset(disp, _gloffset_DebugMessageCallback));
+}
+
+static INLINE void SET_DebugMessageCallback(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLDEBUGPROC, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_DebugMessageCallback, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
+#define CALL_DebugMessageControl(disp, parameters) \
+ (* GET_DebugMessageControl(disp)) parameters
+static INLINE _glptr_DebugMessageControl GET_DebugMessageControl(struct _glapi_table *disp) {
+ return (_glptr_DebugMessageControl) (GET_by_offset(disp, _gloffset_DebugMessageControl));
+}
+
+static INLINE void SET_DebugMessageControl(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean)) {
+ SET_by_offset(disp, _gloffset_DebugMessageControl, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *);
+#define CALL_DebugMessageInsert(disp, parameters) \
+ (* GET_DebugMessageInsert(disp)) parameters
+static INLINE _glptr_DebugMessageInsert GET_DebugMessageInsert(struct _glapi_table *disp) {
+ return (_glptr_DebugMessageInsert) (GET_by_offset(disp, _gloffset_DebugMessageInsert));
+}
+
+static INLINE void SET_DebugMessageInsert(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_DebugMessageInsert, fn);
+}
+
+typedef GLuint (GLAPIENTRYP _glptr_GetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *);
+#define CALL_GetDebugMessageLog(disp, parameters) \
+ (* GET_GetDebugMessageLog(disp)) parameters
+static INLINE _glptr_GetDebugMessageLog GET_GetDebugMessageLog(struct _glapi_table *disp) {
+ return (_glptr_GetDebugMessageLog) (GET_by_offset(disp, _gloffset_GetDebugMessageLog));
+}
+
+static INLINE void SET_GetDebugMessageLog(struct _glapi_table *disp, GLuint (GLAPIENTRYP fn)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetDebugMessageLog, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetObjectLabel(disp, parameters) \
+ (* GET_GetObjectLabel(disp)) parameters
+static INLINE _glptr_GetObjectLabel GET_GetObjectLabel(struct _glapi_table *disp) {
+ return (_glptr_GetObjectLabel) (GET_by_offset(disp, _gloffset_GetObjectLabel));
+}
+
+static INLINE void SET_GetObjectLabel(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetObjectLabel, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetObjectPtrLabel)(const GLvoid *, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetObjectPtrLabel(disp, parameters) \
+ (* GET_GetObjectPtrLabel(disp)) parameters
+static INLINE _glptr_GetObjectPtrLabel GET_GetObjectPtrLabel(struct _glapi_table *disp) {
+ return (_glptr_GetObjectPtrLabel) (GET_by_offset(disp, _gloffset_GetObjectPtrLabel));
+}
+
+static INLINE void SET_GetObjectPtrLabel(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLvoid *, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetObjectPtrLabel, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *);
+#define CALL_ObjectLabel(disp, parameters) \
+ (* GET_ObjectLabel(disp)) parameters
+static INLINE _glptr_ObjectLabel GET_ObjectLabel(struct _glapi_table *disp) {
+ return (_glptr_ObjectLabel) (GET_by_offset(disp, _gloffset_ObjectLabel));
+}
+
+static INLINE void SET_ObjectLabel(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_ObjectLabel, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ObjectPtrLabel)(const GLvoid *, GLsizei, const GLchar *);
+#define CALL_ObjectPtrLabel(disp, parameters) \
+ (* GET_ObjectPtrLabel(disp)) parameters
+static INLINE _glptr_ObjectPtrLabel GET_ObjectPtrLabel(struct _glapi_table *disp) {
+ return (_glptr_ObjectPtrLabel) (GET_by_offset(disp, _gloffset_ObjectPtrLabel));
+}
+
+static INLINE void SET_ObjectPtrLabel(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLvoid *, GLsizei, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_ObjectPtrLabel, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PopDebugGroup)(void);
+#define CALL_PopDebugGroup(disp, parameters) \
+ (* GET_PopDebugGroup(disp)) parameters
+static INLINE _glptr_PopDebugGroup GET_PopDebugGroup(struct _glapi_table *disp) {
+ return (_glptr_PopDebugGroup) (GET_by_offset(disp, _gloffset_PopDebugGroup));
+}
+
+static INLINE void SET_PopDebugGroup(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
+ SET_by_offset(disp, _gloffset_PopDebugGroup, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *);
+#define CALL_PushDebugGroup(disp, parameters) \
+ (* GET_PushDebugGroup(disp)) parameters
+static INLINE _glptr_PushDebugGroup GET_PushDebugGroup(struct _glapi_table *disp) {
+ return (_glptr_PushDebugGroup) (GET_by_offset(disp, _gloffset_PushDebugGroup));
+}
+
+static INLINE void SET_PushDebugGroup(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLuint, GLsizei, const GLchar *)) {
+ SET_by_offset(disp, _gloffset_PushDebugGroup, 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_MultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const GLvoid * const *, 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 * const *, GLsizei)) {
+ SET_by_offset(disp, _gloffset_MultiDrawElementsEXT, 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_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_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 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_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_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_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 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_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_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 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_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_GetTexGenxvOES)(GLenum, GLenum, GLfixed *);
+#define CALL_GetTexGenxvOES(disp, parameters) \
+ (* GET_GetTexGenxvOES(disp)) parameters
+static INLINE _glptr_GetTexGenxvOES GET_GetTexGenxvOES(struct _glapi_table *disp) {
+ return (_glptr_GetTexGenxvOES) (GET_by_offset(disp, _gloffset_GetTexGenxvOES));
+}
+
+static INLINE void SET_GetTexGenxvOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed *)) {
+ SET_by_offset(disp, _gloffset_GetTexGenxvOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexGenxOES)(GLenum, GLenum, GLint);
+#define CALL_TexGenxOES(disp, parameters) \
+ (* GET_TexGenxOES(disp)) parameters
+static INLINE _glptr_TexGenxOES GET_TexGenxOES(struct _glapi_table *disp) {
+ return (_glptr_TexGenxOES) (GET_by_offset(disp, _gloffset_TexGenxOES));
+}
+
+static INLINE void SET_TexGenxOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLint)) {
+ SET_by_offset(disp, _gloffset_TexGenxOES, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexGenxvOES)(GLenum, GLenum, const GLfixed *);
+#define CALL_TexGenxvOES(disp, parameters) \
+ (* GET_TexGenxvOES(disp)) parameters
+static INLINE _glptr_TexGenxvOES GET_TexGenxvOES(struct _glapi_table *disp) {
+ return (_glptr_TexGenxvOES) (GET_by_offset(disp, _gloffset_TexGenxvOES));
+}
+
+static INLINE void SET_TexGenxvOES(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_TexGenxvOES, 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_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 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_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_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_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_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_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_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_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_BeginPerfMonitorAMD)(GLuint);
+#define CALL_BeginPerfMonitorAMD(disp, parameters) \
+ (* GET_BeginPerfMonitorAMD(disp)) parameters
+static INLINE _glptr_BeginPerfMonitorAMD GET_BeginPerfMonitorAMD(struct _glapi_table *disp) {
+ return (_glptr_BeginPerfMonitorAMD) (GET_by_offset(disp, _gloffset_BeginPerfMonitorAMD));
+}
+
+static INLINE void SET_BeginPerfMonitorAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_BeginPerfMonitorAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeletePerfMonitorsAMD)(GLsizei, GLuint *);
+#define CALL_DeletePerfMonitorsAMD(disp, parameters) \
+ (* GET_DeletePerfMonitorsAMD(disp)) parameters
+static INLINE _glptr_DeletePerfMonitorsAMD GET_DeletePerfMonitorsAMD(struct _glapi_table *disp) {
+ return (_glptr_DeletePerfMonitorsAMD) (GET_by_offset(disp, _gloffset_DeletePerfMonitorsAMD));
+}
+
+static INLINE void SET_DeletePerfMonitorsAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_DeletePerfMonitorsAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EndPerfMonitorAMD)(GLuint);
+#define CALL_EndPerfMonitorAMD(disp, parameters) \
+ (* GET_EndPerfMonitorAMD(disp)) parameters
+static INLINE _glptr_EndPerfMonitorAMD GET_EndPerfMonitorAMD(struct _glapi_table *disp) {
+ return (_glptr_EndPerfMonitorAMD) (GET_by_offset(disp, _gloffset_EndPerfMonitorAMD));
+}
+
+static INLINE void SET_EndPerfMonitorAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_EndPerfMonitorAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GenPerfMonitorsAMD)(GLsizei, GLuint *);
+#define CALL_GenPerfMonitorsAMD(disp, parameters) \
+ (* GET_GenPerfMonitorsAMD(disp)) parameters
+static INLINE _glptr_GenPerfMonitorsAMD GET_GenPerfMonitorsAMD(struct _glapi_table *disp) {
+ return (_glptr_GenPerfMonitorsAMD) (GET_by_offset(disp, _gloffset_GenPerfMonitorsAMD));
+}
+
+static INLINE void SET_GenPerfMonitorsAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GenPerfMonitorsAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfMonitorCounterDataAMD)(GLuint, GLenum, GLsizei, GLuint *, GLint *);
+#define CALL_GetPerfMonitorCounterDataAMD(disp, parameters) \
+ (* GET_GetPerfMonitorCounterDataAMD(disp)) parameters
+static INLINE _glptr_GetPerfMonitorCounterDataAMD GET_GetPerfMonitorCounterDataAMD(struct _glapi_table *disp) {
+ return (_glptr_GetPerfMonitorCounterDataAMD) (GET_by_offset(disp, _gloffset_GetPerfMonitorCounterDataAMD));
+}
+
+static INLINE void SET_GetPerfMonitorCounterDataAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLsizei, GLuint *, GLint *)) {
+ SET_by_offset(disp, _gloffset_GetPerfMonitorCounterDataAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfMonitorCounterInfoAMD)(GLuint, GLuint, GLenum, GLvoid *);
+#define CALL_GetPerfMonitorCounterInfoAMD(disp, parameters) \
+ (* GET_GetPerfMonitorCounterInfoAMD(disp)) parameters
+static INLINE _glptr_GetPerfMonitorCounterInfoAMD GET_GetPerfMonitorCounterInfoAMD(struct _glapi_table *disp) {
+ return (_glptr_GetPerfMonitorCounterInfoAMD) (GET_by_offset(disp, _gloffset_GetPerfMonitorCounterInfoAMD));
+}
+
+static INLINE void SET_GetPerfMonitorCounterInfoAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLenum, GLvoid *)) {
+ SET_by_offset(disp, _gloffset_GetPerfMonitorCounterInfoAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfMonitorCounterStringAMD)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetPerfMonitorCounterStringAMD(disp, parameters) \
+ (* GET_GetPerfMonitorCounterStringAMD(disp)) parameters
+static INLINE _glptr_GetPerfMonitorCounterStringAMD GET_GetPerfMonitorCounterStringAMD(struct _glapi_table *disp) {
+ return (_glptr_GetPerfMonitorCounterStringAMD) (GET_by_offset(disp, _gloffset_GetPerfMonitorCounterStringAMD));
+}
+
+static INLINE void SET_GetPerfMonitorCounterStringAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetPerfMonitorCounterStringAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfMonitorCountersAMD)(GLuint, GLint *, GLint *, GLsizei, GLuint *);
+#define CALL_GetPerfMonitorCountersAMD(disp, parameters) \
+ (* GET_GetPerfMonitorCountersAMD(disp)) parameters
+static INLINE _glptr_GetPerfMonitorCountersAMD GET_GetPerfMonitorCountersAMD(struct _glapi_table *disp) {
+ return (_glptr_GetPerfMonitorCountersAMD) (GET_by_offset(disp, _gloffset_GetPerfMonitorCountersAMD));
+}
+
+static INLINE void SET_GetPerfMonitorCountersAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLint *, GLint *, GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetPerfMonitorCountersAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfMonitorGroupStringAMD)(GLuint, GLsizei, GLsizei *, GLchar *);
+#define CALL_GetPerfMonitorGroupStringAMD(disp, parameters) \
+ (* GET_GetPerfMonitorGroupStringAMD(disp)) parameters
+static INLINE _glptr_GetPerfMonitorGroupStringAMD GET_GetPerfMonitorGroupStringAMD(struct _glapi_table *disp) {
+ return (_glptr_GetPerfMonitorGroupStringAMD) (GET_by_offset(disp, _gloffset_GetPerfMonitorGroupStringAMD));
+}
+
+static INLINE void SET_GetPerfMonitorGroupStringAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLsizei, GLsizei *, GLchar *)) {
+ SET_by_offset(disp, _gloffset_GetPerfMonitorGroupStringAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfMonitorGroupsAMD)(GLint *, GLsizei, GLuint *);
+#define CALL_GetPerfMonitorGroupsAMD(disp, parameters) \
+ (* GET_GetPerfMonitorGroupsAMD(disp)) parameters
+static INLINE _glptr_GetPerfMonitorGroupsAMD GET_GetPerfMonitorGroupsAMD(struct _glapi_table *disp) {
+ return (_glptr_GetPerfMonitorGroupsAMD) (GET_by_offset(disp, _gloffset_GetPerfMonitorGroupsAMD));
+}
+
+static INLINE void SET_GetPerfMonitorGroupsAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLint *, GLsizei, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetPerfMonitorGroupsAMD, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SelectPerfMonitorCountersAMD)(GLuint, GLboolean, GLuint, GLint, GLuint *);
+#define CALL_SelectPerfMonitorCountersAMD(disp, parameters) \
+ (* GET_SelectPerfMonitorCountersAMD(disp)) parameters
+static INLINE _glptr_SelectPerfMonitorCountersAMD GET_SelectPerfMonitorCountersAMD(struct _glapi_table *disp) {
+ return (_glptr_SelectPerfMonitorCountersAMD) (GET_by_offset(disp, _gloffset_SelectPerfMonitorCountersAMD));
+}
+
+static INLINE void SET_SelectPerfMonitorCountersAMD(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLboolean, GLuint, GLint, GLuint *)) {
+ SET_by_offset(disp, _gloffset_SelectPerfMonitorCountersAMD, 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_VDPAUFiniNV)(void);
+#define CALL_VDPAUFiniNV(disp, parameters) \
+ (* GET_VDPAUFiniNV(disp)) parameters
+static INLINE _glptr_VDPAUFiniNV GET_VDPAUFiniNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUFiniNV) (GET_by_offset(disp, _gloffset_VDPAUFiniNV));
+}
+
+static INLINE void SET_VDPAUFiniNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(void)) {
+ SET_by_offset(disp, _gloffset_VDPAUFiniNV, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VDPAUGetSurfaceivNV)(GLintptr, GLenum, GLsizei, GLsizei *, GLint *);
+#define CALL_VDPAUGetSurfaceivNV(disp, parameters) \
+ (* GET_VDPAUGetSurfaceivNV(disp)) parameters
+static INLINE _glptr_VDPAUGetSurfaceivNV GET_VDPAUGetSurfaceivNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUGetSurfaceivNV) (GET_by_offset(disp, _gloffset_VDPAUGetSurfaceivNV));
+}
+
+static INLINE void SET_VDPAUGetSurfaceivNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLintptr, GLenum, GLsizei, GLsizei *, GLint *)) {
+ SET_by_offset(disp, _gloffset_VDPAUGetSurfaceivNV, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VDPAUInitNV)(const GLvoid *, const GLvoid *);
+#define CALL_VDPAUInitNV(disp, parameters) \
+ (* GET_VDPAUInitNV(disp)) parameters
+static INLINE _glptr_VDPAUInitNV GET_VDPAUInitNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUInitNV) (GET_by_offset(disp, _gloffset_VDPAUInitNV));
+}
+
+static INLINE void SET_VDPAUInitNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLvoid *, const GLvoid *)) {
+ SET_by_offset(disp, _gloffset_VDPAUInitNV, fn);
+}
+
+typedef GLboolean (GLAPIENTRYP _glptr_VDPAUIsSurfaceNV)(GLintptr);
+#define CALL_VDPAUIsSurfaceNV(disp, parameters) \
+ (* GET_VDPAUIsSurfaceNV(disp)) parameters
+static INLINE _glptr_VDPAUIsSurfaceNV GET_VDPAUIsSurfaceNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUIsSurfaceNV) (GET_by_offset(disp, _gloffset_VDPAUIsSurfaceNV));
+}
+
+static INLINE void SET_VDPAUIsSurfaceNV(struct _glapi_table *disp, GLboolean (GLAPIENTRYP fn)(GLintptr)) {
+ SET_by_offset(disp, _gloffset_VDPAUIsSurfaceNV, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VDPAUMapSurfacesNV)(GLsizei, const GLintptr *);
+#define CALL_VDPAUMapSurfacesNV(disp, parameters) \
+ (* GET_VDPAUMapSurfacesNV(disp)) parameters
+static INLINE _glptr_VDPAUMapSurfacesNV GET_VDPAUMapSurfacesNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUMapSurfacesNV) (GET_by_offset(disp, _gloffset_VDPAUMapSurfacesNV));
+}
+
+static INLINE void SET_VDPAUMapSurfacesNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLintptr *)) {
+ SET_by_offset(disp, _gloffset_VDPAUMapSurfacesNV, fn);
+}
+
+typedef GLintptr (GLAPIENTRYP _glptr_VDPAURegisterOutputSurfaceNV)(const GLvoid *, GLenum, GLsizei, const GLuint *);
+#define CALL_VDPAURegisterOutputSurfaceNV(disp, parameters) \
+ (* GET_VDPAURegisterOutputSurfaceNV(disp)) parameters
+static INLINE _glptr_VDPAURegisterOutputSurfaceNV GET_VDPAURegisterOutputSurfaceNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAURegisterOutputSurfaceNV) (GET_by_offset(disp, _gloffset_VDPAURegisterOutputSurfaceNV));
+}
+
+static INLINE void SET_VDPAURegisterOutputSurfaceNV(struct _glapi_table *disp, GLintptr (GLAPIENTRYP fn)(const GLvoid *, GLenum, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_VDPAURegisterOutputSurfaceNV, fn);
+}
+
+typedef GLintptr (GLAPIENTRYP _glptr_VDPAURegisterVideoSurfaceNV)(const GLvoid *, GLenum, GLsizei, const GLuint *);
+#define CALL_VDPAURegisterVideoSurfaceNV(disp, parameters) \
+ (* GET_VDPAURegisterVideoSurfaceNV(disp)) parameters
+static INLINE _glptr_VDPAURegisterVideoSurfaceNV GET_VDPAURegisterVideoSurfaceNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAURegisterVideoSurfaceNV) (GET_by_offset(disp, _gloffset_VDPAURegisterVideoSurfaceNV));
+}
+
+static INLINE void SET_VDPAURegisterVideoSurfaceNV(struct _glapi_table *disp, GLintptr (GLAPIENTRYP fn)(const GLvoid *, GLenum, GLsizei, const GLuint *)) {
+ SET_by_offset(disp, _gloffset_VDPAURegisterVideoSurfaceNV, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VDPAUSurfaceAccessNV)(GLintptr, GLenum);
+#define CALL_VDPAUSurfaceAccessNV(disp, parameters) \
+ (* GET_VDPAUSurfaceAccessNV(disp)) parameters
+static INLINE _glptr_VDPAUSurfaceAccessNV GET_VDPAUSurfaceAccessNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUSurfaceAccessNV) (GET_by_offset(disp, _gloffset_VDPAUSurfaceAccessNV));
+}
+
+static INLINE void SET_VDPAUSurfaceAccessNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLintptr, GLenum)) {
+ SET_by_offset(disp, _gloffset_VDPAUSurfaceAccessNV, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VDPAUUnmapSurfacesNV)(GLsizei, const GLintptr *);
+#define CALL_VDPAUUnmapSurfacesNV(disp, parameters) \
+ (* GET_VDPAUUnmapSurfacesNV(disp)) parameters
+static INLINE _glptr_VDPAUUnmapSurfacesNV GET_VDPAUUnmapSurfacesNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUUnmapSurfacesNV) (GET_by_offset(disp, _gloffset_VDPAUUnmapSurfacesNV));
+}
+
+static INLINE void SET_VDPAUUnmapSurfacesNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLsizei, const GLintptr *)) {
+ SET_by_offset(disp, _gloffset_VDPAUUnmapSurfacesNV, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_VDPAUUnregisterSurfaceNV)(GLintptr);
+#define CALL_VDPAUUnregisterSurfaceNV(disp, parameters) \
+ (* GET_VDPAUUnregisterSurfaceNV(disp)) parameters
+static INLINE _glptr_VDPAUUnregisterSurfaceNV GET_VDPAUUnregisterSurfaceNV(struct _glapi_table *disp) {
+ return (_glptr_VDPAUUnregisterSurfaceNV) (GET_by_offset(disp, _gloffset_VDPAUUnregisterSurfaceNV));
+}
+
+static INLINE void SET_VDPAUUnregisterSurfaceNV(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLintptr)) {
+ SET_by_offset(disp, _gloffset_VDPAUUnregisterSurfaceNV, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_BeginPerfQueryINTEL)(GLuint);
+#define CALL_BeginPerfQueryINTEL(disp, parameters) \
+ (* GET_BeginPerfQueryINTEL(disp)) parameters
+static INLINE _glptr_BeginPerfQueryINTEL GET_BeginPerfQueryINTEL(struct _glapi_table *disp) {
+ return (_glptr_BeginPerfQueryINTEL) (GET_by_offset(disp, _gloffset_BeginPerfQueryINTEL));
+}
+
+static INLINE void SET_BeginPerfQueryINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_BeginPerfQueryINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_CreatePerfQueryINTEL)(GLuint, GLuint *);
+#define CALL_CreatePerfQueryINTEL(disp, parameters) \
+ (* GET_CreatePerfQueryINTEL(disp)) parameters
+static INLINE _glptr_CreatePerfQueryINTEL GET_CreatePerfQueryINTEL(struct _glapi_table *disp) {
+ return (_glptr_CreatePerfQueryINTEL) (GET_by_offset(disp, _gloffset_CreatePerfQueryINTEL));
+}
+
+static INLINE void SET_CreatePerfQueryINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint *)) {
+ SET_by_offset(disp, _gloffset_CreatePerfQueryINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DeletePerfQueryINTEL)(GLuint);
+#define CALL_DeletePerfQueryINTEL(disp, parameters) \
+ (* GET_DeletePerfQueryINTEL(disp)) parameters
+static INLINE _glptr_DeletePerfQueryINTEL GET_DeletePerfQueryINTEL(struct _glapi_table *disp) {
+ return (_glptr_DeletePerfQueryINTEL) (GET_by_offset(disp, _gloffset_DeletePerfQueryINTEL));
+}
+
+static INLINE void SET_DeletePerfQueryINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_DeletePerfQueryINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_EndPerfQueryINTEL)(GLuint);
+#define CALL_EndPerfQueryINTEL(disp, parameters) \
+ (* GET_EndPerfQueryINTEL(disp)) parameters
+static INLINE _glptr_EndPerfQueryINTEL GET_EndPerfQueryINTEL(struct _glapi_table *disp) {
+ return (_glptr_EndPerfQueryINTEL) (GET_by_offset(disp, _gloffset_EndPerfQueryINTEL));
+}
+
+static INLINE void SET_EndPerfQueryINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint)) {
+ SET_by_offset(disp, _gloffset_EndPerfQueryINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetFirstPerfQueryIdINTEL)(GLuint *);
+#define CALL_GetFirstPerfQueryIdINTEL(disp, parameters) \
+ (* GET_GetFirstPerfQueryIdINTEL(disp)) parameters
+static INLINE _glptr_GetFirstPerfQueryIdINTEL GET_GetFirstPerfQueryIdINTEL(struct _glapi_table *disp) {
+ return (_glptr_GetFirstPerfQueryIdINTEL) (GET_by_offset(disp, _gloffset_GetFirstPerfQueryIdINTEL));
+}
+
+static INLINE void SET_GetFirstPerfQueryIdINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetFirstPerfQueryIdINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetNextPerfQueryIdINTEL)(GLuint, GLuint *);
+#define CALL_GetNextPerfQueryIdINTEL(disp, parameters) \
+ (* GET_GetNextPerfQueryIdINTEL(disp)) parameters
+static INLINE _glptr_GetNextPerfQueryIdINTEL GET_GetNextPerfQueryIdINTEL(struct _glapi_table *disp) {
+ return (_glptr_GetNextPerfQueryIdINTEL) (GET_by_offset(disp, _gloffset_GetNextPerfQueryIdINTEL));
+}
+
+static INLINE void SET_GetNextPerfQueryIdINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetNextPerfQueryIdINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfCounterInfoINTEL)(GLuint, GLuint, GLuint, GLchar *, GLuint, GLchar *, GLuint *, GLuint *, GLuint *, GLuint *, GLuint64 *);
+#define CALL_GetPerfCounterInfoINTEL(disp, parameters) \
+ (* GET_GetPerfCounterInfoINTEL(disp)) parameters
+static INLINE _glptr_GetPerfCounterInfoINTEL GET_GetPerfCounterInfoINTEL(struct _glapi_table *disp) {
+ return (_glptr_GetPerfCounterInfoINTEL) (GET_by_offset(disp, _gloffset_GetPerfCounterInfoINTEL));
+}
+
+static INLINE void SET_GetPerfCounterInfoINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLuint, GLchar *, GLuint, GLchar *, GLuint *, GLuint *, GLuint *, GLuint *, GLuint64 *)) {
+ SET_by_offset(disp, _gloffset_GetPerfCounterInfoINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfQueryDataINTEL)(GLuint, GLuint, GLsizei, GLvoid *, GLuint *);
+#define CALL_GetPerfQueryDataINTEL(disp, parameters) \
+ (* GET_GetPerfQueryDataINTEL(disp)) parameters
+static INLINE _glptr_GetPerfQueryDataINTEL GET_GetPerfQueryDataINTEL(struct _glapi_table *disp) {
+ return (_glptr_GetPerfQueryDataINTEL) (GET_by_offset(disp, _gloffset_GetPerfQueryDataINTEL));
+}
+
+static INLINE void SET_GetPerfQueryDataINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLsizei, GLvoid *, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetPerfQueryDataINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfQueryIdByNameINTEL)(GLchar *, GLuint *);
+#define CALL_GetPerfQueryIdByNameINTEL(disp, parameters) \
+ (* GET_GetPerfQueryIdByNameINTEL(disp)) parameters
+static INLINE _glptr_GetPerfQueryIdByNameINTEL GET_GetPerfQueryIdByNameINTEL(struct _glapi_table *disp) {
+ return (_glptr_GetPerfQueryIdByNameINTEL) (GET_by_offset(disp, _gloffset_GetPerfQueryIdByNameINTEL));
+}
+
+static INLINE void SET_GetPerfQueryIdByNameINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLchar *, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetPerfQueryIdByNameINTEL, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetPerfQueryInfoINTEL)(GLuint, GLuint, GLchar *, GLuint *, GLuint *, GLuint *, GLuint *);
+#define CALL_GetPerfQueryInfoINTEL(disp, parameters) \
+ (* GET_GetPerfQueryInfoINTEL(disp)) parameters
+static INLINE _glptr_GetPerfQueryInfoINTEL GET_GetPerfQueryInfoINTEL(struct _glapi_table *disp) {
+ return (_glptr_GetPerfQueryInfoINTEL) (GET_by_offset(disp, _gloffset_GetPerfQueryInfoINTEL));
+}
+
+static INLINE void SET_GetPerfQueryInfoINTEL(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLuint, GLchar *, GLuint *, GLuint *, GLuint *, GLuint *)) {
+ SET_by_offset(disp, _gloffset_GetPerfQueryInfoINTEL, 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_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);
+}
+
+typedef void (GLAPIENTRYP _glptr_AlphaFuncx)(GLenum, GLclampx);
+#define CALL_AlphaFuncx(disp, parameters) \
+ (* GET_AlphaFuncx(disp)) parameters
+static INLINE _glptr_AlphaFuncx GET_AlphaFuncx(struct _glapi_table *disp) {
+ return (_glptr_AlphaFuncx) (GET_by_offset(disp, _gloffset_AlphaFuncx));
+}
+
+static INLINE void SET_AlphaFuncx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLclampx)) {
+ SET_by_offset(disp, _gloffset_AlphaFuncx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ClearColorx)(GLclampx, GLclampx, GLclampx, GLclampx);
+#define CALL_ClearColorx(disp, parameters) \
+ (* GET_ClearColorx(disp)) parameters
+static INLINE _glptr_ClearColorx GET_ClearColorx(struct _glapi_table *disp) {
+ return (_glptr_ClearColorx) (GET_by_offset(disp, _gloffset_ClearColorx));
+}
+
+static INLINE void SET_ClearColorx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLclampx, GLclampx, GLclampx, GLclampx)) {
+ SET_by_offset(disp, _gloffset_ClearColorx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ClearDepthx)(GLclampx);
+#define CALL_ClearDepthx(disp, parameters) \
+ (* GET_ClearDepthx(disp)) parameters
+static INLINE _glptr_ClearDepthx GET_ClearDepthx(struct _glapi_table *disp) {
+ return (_glptr_ClearDepthx) (GET_by_offset(disp, _gloffset_ClearDepthx));
+}
+
+static INLINE void SET_ClearDepthx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLclampx)) {
+ SET_by_offset(disp, _gloffset_ClearDepthx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Color4x)(GLfixed, GLfixed, GLfixed, GLfixed);
+#define CALL_Color4x(disp, parameters) \
+ (* GET_Color4x(disp)) parameters
+static INLINE _glptr_Color4x GET_Color4x(struct _glapi_table *disp) {
+ return (_glptr_Color4x) (GET_by_offset(disp, _gloffset_Color4x));
+}
+
+static INLINE void SET_Color4x(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Color4x, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_DepthRangex)(GLclampx, GLclampx);
+#define CALL_DepthRangex(disp, parameters) \
+ (* GET_DepthRangex(disp)) parameters
+static INLINE _glptr_DepthRangex GET_DepthRangex(struct _glapi_table *disp) {
+ return (_glptr_DepthRangex) (GET_by_offset(disp, _gloffset_DepthRangex));
+}
+
+static INLINE void SET_DepthRangex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLclampx, GLclampx)) {
+ SET_by_offset(disp, _gloffset_DepthRangex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Fogx)(GLenum, GLfixed);
+#define CALL_Fogx(disp, parameters) \
+ (* GET_Fogx(disp)) parameters
+static INLINE _glptr_Fogx GET_Fogx(struct _glapi_table *disp) {
+ return (_glptr_Fogx) (GET_by_offset(disp, _gloffset_Fogx));
+}
+
+static INLINE void SET_Fogx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Fogx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Fogxv)(GLenum, const GLfixed *);
+#define CALL_Fogxv(disp, parameters) \
+ (* GET_Fogxv(disp)) parameters
+static INLINE _glptr_Fogxv GET_Fogxv(struct _glapi_table *disp) {
+ return (_glptr_Fogxv) (GET_by_offset(disp, _gloffset_Fogxv));
+}
+
+static INLINE void SET_Fogxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_Fogxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Frustumf)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+#define CALL_Frustumf(disp, parameters) \
+ (* GET_Frustumf(disp)) parameters
+static INLINE _glptr_Frustumf GET_Frustumf(struct _glapi_table *disp) {
+ return (_glptr_Frustumf) (GET_by_offset(disp, _gloffset_Frustumf));
+}
+
+static INLINE void SET_Frustumf(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_Frustumf, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Frustumx)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed);
+#define CALL_Frustumx(disp, parameters) \
+ (* GET_Frustumx(disp)) parameters
+static INLINE _glptr_Frustumx GET_Frustumx(struct _glapi_table *disp) {
+ return (_glptr_Frustumx) (GET_by_offset(disp, _gloffset_Frustumx));
+}
+
+static INLINE void SET_Frustumx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Frustumx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_LightModelx)(GLenum, GLfixed);
+#define CALL_LightModelx(disp, parameters) \
+ (* GET_LightModelx(disp)) parameters
+static INLINE _glptr_LightModelx GET_LightModelx(struct _glapi_table *disp) {
+ return (_glptr_LightModelx) (GET_by_offset(disp, _gloffset_LightModelx));
+}
+
+static INLINE void SET_LightModelx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfixed)) {
+ SET_by_offset(disp, _gloffset_LightModelx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_LightModelxv)(GLenum, const GLfixed *);
+#define CALL_LightModelxv(disp, parameters) \
+ (* GET_LightModelxv(disp)) parameters
+static INLINE _glptr_LightModelxv GET_LightModelxv(struct _glapi_table *disp) {
+ return (_glptr_LightModelxv) (GET_by_offset(disp, _gloffset_LightModelxv));
+}
+
+static INLINE void SET_LightModelxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_LightModelxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Lightx)(GLenum, GLenum, GLfixed);
+#define CALL_Lightx(disp, parameters) \
+ (* GET_Lightx(disp)) parameters
+static INLINE _glptr_Lightx GET_Lightx(struct _glapi_table *disp) {
+ return (_glptr_Lightx) (GET_by_offset(disp, _gloffset_Lightx));
+}
+
+static INLINE void SET_Lightx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Lightx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Lightxv)(GLenum, GLenum, const GLfixed *);
+#define CALL_Lightxv(disp, parameters) \
+ (* GET_Lightxv(disp)) parameters
+static INLINE _glptr_Lightxv GET_Lightxv(struct _glapi_table *disp) {
+ return (_glptr_Lightxv) (GET_by_offset(disp, _gloffset_Lightxv));
+}
+
+static INLINE void SET_Lightxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_Lightxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_LineWidthx)(GLfixed);
+#define CALL_LineWidthx(disp, parameters) \
+ (* GET_LineWidthx(disp)) parameters
+static INLINE _glptr_LineWidthx GET_LineWidthx(struct _glapi_table *disp) {
+ return (_glptr_LineWidthx) (GET_by_offset(disp, _gloffset_LineWidthx));
+}
+
+static INLINE void SET_LineWidthx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed)) {
+ SET_by_offset(disp, _gloffset_LineWidthx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_LoadMatrixx)(const GLfixed *);
+#define CALL_LoadMatrixx(disp, parameters) \
+ (* GET_LoadMatrixx(disp)) parameters
+static INLINE _glptr_LoadMatrixx GET_LoadMatrixx(struct _glapi_table *disp) {
+ return (_glptr_LoadMatrixx) (GET_by_offset(disp, _gloffset_LoadMatrixx));
+}
+
+static INLINE void SET_LoadMatrixx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_LoadMatrixx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Materialx)(GLenum, GLenum, GLfixed);
+#define CALL_Materialx(disp, parameters) \
+ (* GET_Materialx(disp)) parameters
+static INLINE _glptr_Materialx GET_Materialx(struct _glapi_table *disp) {
+ return (_glptr_Materialx) (GET_by_offset(disp, _gloffset_Materialx));
+}
+
+static INLINE void SET_Materialx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Materialx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Materialxv)(GLenum, GLenum, const GLfixed *);
+#define CALL_Materialxv(disp, parameters) \
+ (* GET_Materialxv(disp)) parameters
+static INLINE _glptr_Materialxv GET_Materialxv(struct _glapi_table *disp) {
+ return (_glptr_Materialxv) (GET_by_offset(disp, _gloffset_Materialxv));
+}
+
+static INLINE void SET_Materialxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_Materialxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultMatrixx)(const GLfixed *);
+#define CALL_MultMatrixx(disp, parameters) \
+ (* GET_MultMatrixx(disp)) parameters
+static INLINE _glptr_MultMatrixx GET_MultMatrixx(struct _glapi_table *disp) {
+ return (_glptr_MultMatrixx) (GET_by_offset(disp, _gloffset_MultMatrixx));
+}
+
+static INLINE void SET_MultMatrixx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_MultMatrixx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_MultiTexCoord4x)(GLenum, GLfixed, GLfixed, GLfixed, GLfixed);
+#define CALL_MultiTexCoord4x(disp, parameters) \
+ (* GET_MultiTexCoord4x(disp)) parameters
+static INLINE _glptr_MultiTexCoord4x GET_MultiTexCoord4x(struct _glapi_table *disp) {
+ return (_glptr_MultiTexCoord4x) (GET_by_offset(disp, _gloffset_MultiTexCoord4x));
+}
+
+static INLINE void SET_MultiTexCoord4x(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfixed, GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_MultiTexCoord4x, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Normal3x)(GLfixed, GLfixed, GLfixed);
+#define CALL_Normal3x(disp, parameters) \
+ (* GET_Normal3x(disp)) parameters
+static INLINE _glptr_Normal3x GET_Normal3x(struct _glapi_table *disp) {
+ return (_glptr_Normal3x) (GET_by_offset(disp, _gloffset_Normal3x));
+}
+
+static INLINE void SET_Normal3x(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Normal3x, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Orthof)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+#define CALL_Orthof(disp, parameters) \
+ (* GET_Orthof(disp)) parameters
+static INLINE _glptr_Orthof GET_Orthof(struct _glapi_table *disp) {
+ return (_glptr_Orthof) (GET_by_offset(disp, _gloffset_Orthof));
+}
+
+static INLINE void SET_Orthof(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) {
+ SET_by_offset(disp, _gloffset_Orthof, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Orthox)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed);
+#define CALL_Orthox(disp, parameters) \
+ (* GET_Orthox(disp)) parameters
+static INLINE _glptr_Orthox GET_Orthox(struct _glapi_table *disp) {
+ return (_glptr_Orthox) (GET_by_offset(disp, _gloffset_Orthox));
+}
+
+static INLINE void SET_Orthox(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Orthox, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointSizex)(GLfixed);
+#define CALL_PointSizex(disp, parameters) \
+ (* GET_PointSizex(disp)) parameters
+static INLINE _glptr_PointSizex GET_PointSizex(struct _glapi_table *disp) {
+ return (_glptr_PointSizex) (GET_by_offset(disp, _gloffset_PointSizex));
+}
+
+static INLINE void SET_PointSizex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed)) {
+ SET_by_offset(disp, _gloffset_PointSizex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PolygonOffsetx)(GLfixed, GLfixed);
+#define CALL_PolygonOffsetx(disp, parameters) \
+ (* GET_PolygonOffsetx(disp)) parameters
+static INLINE _glptr_PolygonOffsetx GET_PolygonOffsetx(struct _glapi_table *disp) {
+ return (_glptr_PolygonOffsetx) (GET_by_offset(disp, _gloffset_PolygonOffsetx));
+}
+
+static INLINE void SET_PolygonOffsetx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_PolygonOffsetx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Rotatex)(GLfixed, GLfixed, GLfixed, GLfixed);
+#define CALL_Rotatex(disp, parameters) \
+ (* GET_Rotatex(disp)) parameters
+static INLINE _glptr_Rotatex GET_Rotatex(struct _glapi_table *disp) {
+ return (_glptr_Rotatex) (GET_by_offset(disp, _gloffset_Rotatex));
+}
+
+static INLINE void SET_Rotatex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Rotatex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_SampleCoveragex)(GLclampx, GLboolean);
+#define CALL_SampleCoveragex(disp, parameters) \
+ (* GET_SampleCoveragex(disp)) parameters
+static INLINE _glptr_SampleCoveragex GET_SampleCoveragex(struct _glapi_table *disp) {
+ return (_glptr_SampleCoveragex) (GET_by_offset(disp, _gloffset_SampleCoveragex));
+}
+
+static INLINE void SET_SampleCoveragex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLclampx, GLboolean)) {
+ SET_by_offset(disp, _gloffset_SampleCoveragex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Scalex)(GLfixed, GLfixed, GLfixed);
+#define CALL_Scalex(disp, parameters) \
+ (* GET_Scalex(disp)) parameters
+static INLINE _glptr_Scalex GET_Scalex(struct _glapi_table *disp) {
+ return (_glptr_Scalex) (GET_by_offset(disp, _gloffset_Scalex));
+}
+
+static INLINE void SET_Scalex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Scalex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexEnvx)(GLenum, GLenum, GLfixed);
+#define CALL_TexEnvx(disp, parameters) \
+ (* GET_TexEnvx(disp)) parameters
+static INLINE _glptr_TexEnvx GET_TexEnvx(struct _glapi_table *disp) {
+ return (_glptr_TexEnvx) (GET_by_offset(disp, _gloffset_TexEnvx));
+}
+
+static INLINE void SET_TexEnvx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed)) {
+ SET_by_offset(disp, _gloffset_TexEnvx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexEnvxv)(GLenum, GLenum, const GLfixed *);
+#define CALL_TexEnvxv(disp, parameters) \
+ (* GET_TexEnvxv(disp)) parameters
+static INLINE _glptr_TexEnvxv GET_TexEnvxv(struct _glapi_table *disp) {
+ return (_glptr_TexEnvxv) (GET_by_offset(disp, _gloffset_TexEnvxv));
+}
+
+static INLINE void SET_TexEnvxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_TexEnvxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexParameterx)(GLenum, GLenum, GLfixed);
+#define CALL_TexParameterx(disp, parameters) \
+ (* GET_TexParameterx(disp)) parameters
+static INLINE _glptr_TexParameterx GET_TexParameterx(struct _glapi_table *disp) {
+ return (_glptr_TexParameterx) (GET_by_offset(disp, _gloffset_TexParameterx));
+}
+
+static INLINE void SET_TexParameterx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed)) {
+ SET_by_offset(disp, _gloffset_TexParameterx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_Translatex)(GLfixed, GLfixed, GLfixed);
+#define CALL_Translatex(disp, parameters) \
+ (* GET_Translatex(disp)) parameters
+static INLINE _glptr_Translatex GET_Translatex(struct _glapi_table *disp) {
+ return (_glptr_Translatex) (GET_by_offset(disp, _gloffset_Translatex));
+}
+
+static INLINE void SET_Translatex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLfixed, GLfixed, GLfixed)) {
+ SET_by_offset(disp, _gloffset_Translatex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ClipPlanef)(GLenum, const GLfloat *);
+#define CALL_ClipPlanef(disp, parameters) \
+ (* GET_ClipPlanef(disp)) parameters
+static INLINE _glptr_ClipPlanef GET_ClipPlanef(struct _glapi_table *disp) {
+ return (_glptr_ClipPlanef) (GET_by_offset(disp, _gloffset_ClipPlanef));
+}
+
+static INLINE void SET_ClipPlanef(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLfloat *)) {
+ SET_by_offset(disp, _gloffset_ClipPlanef, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_ClipPlanex)(GLenum, const GLfixed *);
+#define CALL_ClipPlanex(disp, parameters) \
+ (* GET_ClipPlanex(disp)) parameters
+static INLINE _glptr_ClipPlanex GET_ClipPlanex(struct _glapi_table *disp) {
+ return (_glptr_ClipPlanex) (GET_by_offset(disp, _gloffset_ClipPlanex));
+}
+
+static INLINE void SET_ClipPlanex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_ClipPlanex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetClipPlanef)(GLenum, GLfloat *);
+#define CALL_GetClipPlanef(disp, parameters) \
+ (* GET_GetClipPlanef(disp)) parameters
+static INLINE _glptr_GetClipPlanef GET_GetClipPlanef(struct _glapi_table *disp) {
+ return (_glptr_GetClipPlanef) (GET_by_offset(disp, _gloffset_GetClipPlanef));
+}
+
+static INLINE void SET_GetClipPlanef(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfloat *)) {
+ SET_by_offset(disp, _gloffset_GetClipPlanef, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetClipPlanex)(GLenum, GLfixed *);
+#define CALL_GetClipPlanex(disp, parameters) \
+ (* GET_GetClipPlanex(disp)) parameters
+static INLINE _glptr_GetClipPlanex GET_GetClipPlanex(struct _glapi_table *disp) {
+ return (_glptr_GetClipPlanex) (GET_by_offset(disp, _gloffset_GetClipPlanex));
+}
+
+static INLINE void SET_GetClipPlanex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfixed *)) {
+ SET_by_offset(disp, _gloffset_GetClipPlanex, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetFixedv)(GLenum, GLfixed *);
+#define CALL_GetFixedv(disp, parameters) \
+ (* GET_GetFixedv(disp)) parameters
+static INLINE _glptr_GetFixedv GET_GetFixedv(struct _glapi_table *disp) {
+ return (_glptr_GetFixedv) (GET_by_offset(disp, _gloffset_GetFixedv));
+}
+
+static INLINE void SET_GetFixedv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfixed *)) {
+ SET_by_offset(disp, _gloffset_GetFixedv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetLightxv)(GLenum, GLenum, GLfixed *);
+#define CALL_GetLightxv(disp, parameters) \
+ (* GET_GetLightxv(disp)) parameters
+static INLINE _glptr_GetLightxv GET_GetLightxv(struct _glapi_table *disp) {
+ return (_glptr_GetLightxv) (GET_by_offset(disp, _gloffset_GetLightxv));
+}
+
+static INLINE void SET_GetLightxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed *)) {
+ SET_by_offset(disp, _gloffset_GetLightxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetMaterialxv)(GLenum, GLenum, GLfixed *);
+#define CALL_GetMaterialxv(disp, parameters) \
+ (* GET_GetMaterialxv(disp)) parameters
+static INLINE _glptr_GetMaterialxv GET_GetMaterialxv(struct _glapi_table *disp) {
+ return (_glptr_GetMaterialxv) (GET_by_offset(disp, _gloffset_GetMaterialxv));
+}
+
+static INLINE void SET_GetMaterialxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed *)) {
+ SET_by_offset(disp, _gloffset_GetMaterialxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetTexEnvxv)(GLenum, GLenum, GLfixed *);
+#define CALL_GetTexEnvxv(disp, parameters) \
+ (* GET_GetTexEnvxv(disp)) parameters
+static INLINE _glptr_GetTexEnvxv GET_GetTexEnvxv(struct _glapi_table *disp) {
+ return (_glptr_GetTexEnvxv) (GET_by_offset(disp, _gloffset_GetTexEnvxv));
+}
+
+static INLINE void SET_GetTexEnvxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed *)) {
+ SET_by_offset(disp, _gloffset_GetTexEnvxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_GetTexParameterxv)(GLenum, GLenum, GLfixed *);
+#define CALL_GetTexParameterxv(disp, parameters) \
+ (* GET_GetTexParameterxv(disp)) parameters
+static INLINE _glptr_GetTexParameterxv GET_GetTexParameterxv(struct _glapi_table *disp) {
+ return (_glptr_GetTexParameterxv) (GET_by_offset(disp, _gloffset_GetTexParameterxv));
+}
+
+static INLINE void SET_GetTexParameterxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, GLfixed *)) {
+ SET_by_offset(disp, _gloffset_GetTexParameterxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointParameterx)(GLenum, GLfixed);
+#define CALL_PointParameterx(disp, parameters) \
+ (* GET_PointParameterx(disp)) parameters
+static INLINE _glptr_PointParameterx GET_PointParameterx(struct _glapi_table *disp) {
+ return (_glptr_PointParameterx) (GET_by_offset(disp, _gloffset_PointParameterx));
+}
+
+static INLINE void SET_PointParameterx(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLfixed)) {
+ SET_by_offset(disp, _gloffset_PointParameterx, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_PointParameterxv)(GLenum, const GLfixed *);
+#define CALL_PointParameterxv(disp, parameters) \
+ (* GET_PointParameterxv(disp)) parameters
+static INLINE _glptr_PointParameterxv GET_PointParameterxv(struct _glapi_table *disp) {
+ return (_glptr_PointParameterxv) (GET_by_offset(disp, _gloffset_PointParameterxv));
+}
+
+static INLINE void SET_PointParameterxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_PointParameterxv, fn);
+}
+
+typedef void (GLAPIENTRYP _glptr_TexParameterxv)(GLenum, GLenum, const GLfixed *);
+#define CALL_TexParameterxv(disp, parameters) \
+ (* GET_TexParameterxv(disp)) parameters
+static INLINE _glptr_TexParameterxv GET_TexParameterxv(struct _glapi_table *disp) {
+ return (_glptr_TexParameterxv) (GET_by_offset(disp, _gloffset_TexParameterxv));
+}
+
+static INLINE void SET_TexParameterxv(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLenum, const GLfixed *)) {
+ SET_by_offset(disp, _gloffset_TexParameterxv, fn);
+}
+
+
+#endif /* !defined( _DISPATCH_H_ ) */
diff --git a/xorg-server/glx/glapi.c b/xorg-server/glx/glapi.c
new file mode 100644
index 000000000..8a9d1c0f9
--- /dev/null
+++ b/xorg-server/glx/glapi.c
@@ -0,0 +1,511 @@
+/*
+ * 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 <dix-config.h>
+#include <X11/Xfuncproto.h>
+#include <os.h>
+#ifdef _MSC_VER
+#define PUBLIC _declspec(dllexport)
+#else
+#define PUBLIC _X_EXPORT
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+#ifdef DEBUG
+#include <assert.h>
+#endif
+#include <unistd.h>
+
+#include "glapi.h"
+#include "glheader.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.
+ */
+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.
+ */
+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.
+ */
+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*/
+ _mesa_init_remap_table();
+}
+
+/**
+ * Return pointer to current dispatch table for calling thread.
+ */
+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.
+ */
+_GLAPI_EXPORT _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).
+ */
+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/xorg-server/glx/glapi.h b/xorg-server/glx/glapi.h
new file mode 100644
index 000000000..67bf1f42e
--- /dev/null
+++ b/xorg-server/glx/glapi.h
@@ -0,0 +1,196 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * 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
+ * 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.
+ */
+
+
+/**
+ * \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
+
+#include "u_thread.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#ifdef _GLAPI_NO_EXPORTS
+# define _GLAPI_EXPORT
+#else /* _GLAPI_NO_EXPORTS */
+# ifdef _WIN32
+# ifdef _GLAPI_DLL_EXPORTS
+# define _GLAPI_EXPORT __declspec(dllexport)
+# else
+# define _GLAPI_EXPORT __declspec(dllimport)
+# endif
+# elif defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define _GLAPI_EXPORT __attribute__((visibility("default")))
+# else
+# define _GLAPI_EXPORT
+# endif
+#endif /* _GLAPI_NO_EXPORTS */
+
+#include "GL/gl.h"
+#include "GL/glext.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_Dispatch _mglapi_Dispatch
+#define _glapi_Context _mglapi_Context
+#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)
+
+_GLAPI_EXPORT extern __thread struct _glapi_table * _glapi_tls_Dispatch
+ ;
+
+_GLAPI_EXPORT extern __thread void * _glapi_tls_Context
+ ;
+
+_GLAPI_EXPORT extern const struct _glapi_table *_glapi_Dispatch;
+_GLAPI_EXPORT extern const void *_glapi_Context;
+
+# define GET_DISPATCH() _glapi_tls_Dispatch
+# define GET_CURRENT_CONTEXT(C) struct gl_context *C = (struct gl_context *) _glapi_tls_Context
+
+#else
+
+#ifdef INSERVER
+#define SERVEXTERN _declspec(dllimport)
+#else
+#define SERVEXTERN _declspec(dllexport)
+#endif
+
+SERVEXTERN struct _glapi_table *_glapi_Dispatch;
+SERVEXTERN void *_glapi_Context;
+
+# ifdef THREADS
+
+# define GET_DISPATCH() \
+ (likely(_glapi_Dispatch) ? _glapi_Dispatch : _glapi_get_dispatch())
+
+# define GET_CURRENT_CONTEXT(C) struct gl_context *C = (struct gl_context *) \
+ (likely(_glapi_Context) ? _glapi_Context : _glapi_get_context())
+
+# else
+
+# define GET_DISPATCH() _glapi_Dispatch
+# define GET_CURRENT_CONTEXT(C) struct gl_context *C = (struct gl_context *) _glapi_Context
+
+# endif
+
+#endif /* defined (GLX_USE_TLS) */
+
+
+/**
+ ** GL API public functions
+ **/
+
+SERVEXTERN void
+_glapi_check_multithread(void);
+
+
+SERVEXTERN void
+_glapi_set_context(void *context);
+
+
+SERVEXTERN void *
+_glapi_get_context(void);
+
+
+SERVEXTERN void
+_glapi_set_dispatch(struct _glapi_table *dispatch);
+
+
+SERVEXTERN struct _glapi_table *
+_glapi_get_dispatch(void);
+
+SERVEXTERN int
+_glapi_begin_dispatch_override(struct _glapi_table *override);
+
+SERVEXTERN void
+_glapi_end_dispatch_override(int layer);
+
+struct _glapi_table *
+_glapi_get_override_dispatch(int layer);
+
+SERVEXTERN GLuint
+_glapi_get_dispatch_table_size(void);
+
+
+SERVEXTERN int
+_glapi_add_dispatch( const char * const * function_names,
+ const char * parameter_signature );
+
+_GLAPI_EXPORT _glapi_proc
+_glapi_get_proc_address(const char *funcName);
+
+extern struct _glapi_table *
+_glapi_create_table_from_handle(void *handle, const char *symbol_prefix);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GLAPI_H */
diff --git a/xorg-server/glx/glapitable.h b/xorg-server/glx/glapitable.h
new file mode 100644
index 000000000..738c050ee
--- /dev/null
+++ b/xorg-server/glx/glapitable.h
@@ -0,0 +1,1199 @@
+/* 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 ActiveTexture)(GLenum texture); /* 374 */
+ void (GLAPIENTRYP ClientActiveTexture)(GLenum texture); /* 375 */
+ void (GLAPIENTRYP MultiTexCoord1d)(GLenum target, GLdouble s); /* 376 */
+ void (GLAPIENTRYP MultiTexCoord1dv)(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 MultiTexCoord1i)(GLenum target, GLint s); /* 380 */
+ void (GLAPIENTRYP MultiTexCoord1iv)(GLenum target, const GLint * v); /* 381 */
+ void (GLAPIENTRYP MultiTexCoord1s)(GLenum target, GLshort s); /* 382 */
+ void (GLAPIENTRYP MultiTexCoord1sv)(GLenum target, const GLshort * v); /* 383 */
+ void (GLAPIENTRYP MultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t); /* 384 */
+ void (GLAPIENTRYP MultiTexCoord2dv)(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 MultiTexCoord2i)(GLenum target, GLint s, GLint t); /* 388 */
+ void (GLAPIENTRYP MultiTexCoord2iv)(GLenum target, const GLint * v); /* 389 */
+ void (GLAPIENTRYP MultiTexCoord2s)(GLenum target, GLshort s, GLshort t); /* 390 */
+ void (GLAPIENTRYP MultiTexCoord2sv)(GLenum target, const GLshort * v); /* 391 */
+ void (GLAPIENTRYP MultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r); /* 392 */
+ void (GLAPIENTRYP MultiTexCoord3dv)(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 MultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r); /* 396 */
+ void (GLAPIENTRYP MultiTexCoord3iv)(GLenum target, const GLint * v); /* 397 */
+ void (GLAPIENTRYP MultiTexCoord3s)(GLenum target, GLshort s, GLshort t, GLshort r); /* 398 */
+ void (GLAPIENTRYP MultiTexCoord3sv)(GLenum target, const GLshort * v); /* 399 */
+ void (GLAPIENTRYP MultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); /* 400 */
+ void (GLAPIENTRYP MultiTexCoord4dv)(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 MultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q); /* 404 */
+ void (GLAPIENTRYP MultiTexCoord4iv)(GLenum target, const GLint * v); /* 405 */
+ void (GLAPIENTRYP MultiTexCoord4s)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); /* 406 */
+ void (GLAPIENTRYP MultiTexCoord4sv)(GLenum target, const GLshort * v); /* 407 */
+#if !defined HAVE_SHARED_GLAPI
+ void (GLAPIENTRYP CompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); /* 408 */
+ void (GLAPIENTRYP CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); /* 409 */
+ void (GLAPIENTRYP CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); /* 410 */
+ void (GLAPIENTRYP CompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 411 */
+ void (GLAPIENTRYP CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 412 */
+ void (GLAPIENTRYP CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 413 */
+ void (GLAPIENTRYP GetCompressedTexImage)(GLenum target, GLint level, GLvoid * img); /* 414 */
+ void (GLAPIENTRYP LoadTransposeMatrixd)(const GLdouble * m); /* 415 */
+ void (GLAPIENTRYP LoadTransposeMatrixf)(const GLfloat * m); /* 416 */
+ void (GLAPIENTRYP MultTransposeMatrixd)(const GLdouble * m); /* 417 */
+ void (GLAPIENTRYP MultTransposeMatrixf)(const GLfloat * m); /* 418 */
+ void (GLAPIENTRYP SampleCoverage)(GLclampf value, GLboolean invert); /* 419 */
+ void (GLAPIENTRYP BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 420 */
+ void (GLAPIENTRYP FogCoordPointer)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 421 */
+ void (GLAPIENTRYP FogCoordd)(GLdouble coord); /* 422 */
+ void (GLAPIENTRYP FogCoorddv)(const GLdouble * coord); /* 423 */
+ void (GLAPIENTRYP MultiDrawArrays)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 424 */
+ void (GLAPIENTRYP PointParameterf)(GLenum pname, GLfloat param); /* 425 */
+ void (GLAPIENTRYP PointParameterfv)(GLenum pname, const GLfloat * params); /* 426 */
+ void (GLAPIENTRYP PointParameteri)(GLenum pname, GLint param); /* 427 */
+ void (GLAPIENTRYP PointParameteriv)(GLenum pname, const GLint * params); /* 428 */
+ void (GLAPIENTRYP SecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue); /* 429 */
+ void (GLAPIENTRYP SecondaryColor3bv)(const GLbyte * v); /* 430 */
+ void (GLAPIENTRYP SecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue); /* 431 */
+ void (GLAPIENTRYP SecondaryColor3dv)(const GLdouble * v); /* 432 */
+ void (GLAPIENTRYP SecondaryColor3i)(GLint red, GLint green, GLint blue); /* 433 */
+ void (GLAPIENTRYP SecondaryColor3iv)(const GLint * v); /* 434 */
+ void (GLAPIENTRYP SecondaryColor3s)(GLshort red, GLshort green, GLshort blue); /* 435 */
+ void (GLAPIENTRYP SecondaryColor3sv)(const GLshort * v); /* 436 */
+ void (GLAPIENTRYP SecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue); /* 437 */
+ void (GLAPIENTRYP SecondaryColor3ubv)(const GLubyte * v); /* 438 */
+ void (GLAPIENTRYP SecondaryColor3ui)(GLuint red, GLuint green, GLuint blue); /* 439 */
+ void (GLAPIENTRYP SecondaryColor3uiv)(const GLuint * v); /* 440 */
+ void (GLAPIENTRYP SecondaryColor3us)(GLushort red, GLushort green, GLushort blue); /* 441 */
+ void (GLAPIENTRYP SecondaryColor3usv)(const GLushort * v); /* 442 */
+ void (GLAPIENTRYP SecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 443 */
+ void (GLAPIENTRYP WindowPos2d)(GLdouble x, GLdouble y); /* 444 */
+ void (GLAPIENTRYP WindowPos2dv)(const GLdouble * v); /* 445 */
+ void (GLAPIENTRYP WindowPos2f)(GLfloat x, GLfloat y); /* 446 */
+ void (GLAPIENTRYP WindowPos2fv)(const GLfloat * v); /* 447 */
+ void (GLAPIENTRYP WindowPos2i)(GLint x, GLint y); /* 448 */
+ void (GLAPIENTRYP WindowPos2iv)(const GLint * v); /* 449 */
+ void (GLAPIENTRYP WindowPos2s)(GLshort x, GLshort y); /* 450 */
+ void (GLAPIENTRYP WindowPos2sv)(const GLshort * v); /* 451 */
+ void (GLAPIENTRYP WindowPos3d)(GLdouble x, GLdouble y, GLdouble z); /* 452 */
+ void (GLAPIENTRYP WindowPos3dv)(const GLdouble * v); /* 453 */
+ void (GLAPIENTRYP WindowPos3f)(GLfloat x, GLfloat y, GLfloat z); /* 454 */
+ void (GLAPIENTRYP WindowPos3fv)(const GLfloat * v); /* 455 */
+ void (GLAPIENTRYP WindowPos3i)(GLint x, GLint y, GLint z); /* 456 */
+ void (GLAPIENTRYP WindowPos3iv)(const GLint * v); /* 457 */
+ void (GLAPIENTRYP WindowPos3s)(GLshort x, GLshort y, GLshort z); /* 458 */
+ void (GLAPIENTRYP WindowPos3sv)(const GLshort * v); /* 459 */
+ void (GLAPIENTRYP BeginQuery)(GLenum target, GLuint id); /* 460 */
+ void (GLAPIENTRYP BindBuffer)(GLenum target, GLuint buffer); /* 461 */
+ void (GLAPIENTRYP BufferData)(GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage); /* 462 */
+ void (GLAPIENTRYP BufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data); /* 463 */
+ void (GLAPIENTRYP DeleteBuffers)(GLsizei n, const GLuint * buffer); /* 464 */
+ void (GLAPIENTRYP DeleteQueries)(GLsizei n, const GLuint * ids); /* 465 */
+ void (GLAPIENTRYP EndQuery)(GLenum target); /* 466 */
+ void (GLAPIENTRYP GenBuffers)(GLsizei n, GLuint * buffer); /* 467 */
+ void (GLAPIENTRYP GenQueries)(GLsizei n, GLuint * ids); /* 468 */
+ void (GLAPIENTRYP GetBufferParameteriv)(GLenum target, GLenum pname, GLint * params); /* 469 */
+ void (GLAPIENTRYP GetBufferPointerv)(GLenum target, GLenum pname, GLvoid ** params); /* 470 */
+ void (GLAPIENTRYP GetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid * data); /* 471 */
+ void (GLAPIENTRYP GetQueryObjectiv)(GLuint id, GLenum pname, GLint * params); /* 472 */
+ void (GLAPIENTRYP GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint * params); /* 473 */
+ void (GLAPIENTRYP GetQueryiv)(GLenum target, GLenum pname, GLint * params); /* 474 */
+ GLboolean (GLAPIENTRYP IsBuffer)(GLuint buffer); /* 475 */
+ GLboolean (GLAPIENTRYP IsQuery)(GLuint id); /* 476 */
+ GLvoid * (GLAPIENTRYP MapBuffer)(GLenum target, GLenum access); /* 477 */
+ GLboolean (GLAPIENTRYP UnmapBuffer)(GLenum target); /* 478 */
+ void (GLAPIENTRYP AttachShader)(GLuint program, GLuint shader); /* 479 */
+ void (GLAPIENTRYP BindAttribLocation)(GLuint program, GLuint index, const GLchar * name); /* 480 */
+ void (GLAPIENTRYP BlendEquationSeparate)(GLenum modeRGB, GLenum modeA); /* 481 */
+ void (GLAPIENTRYP CompileShader)(GLuint shader); /* 482 */
+ GLuint (GLAPIENTRYP CreateProgram)(void); /* 483 */
+ GLuint (GLAPIENTRYP CreateShader)(GLenum type); /* 484 */
+ void (GLAPIENTRYP DeleteProgram)(GLuint program); /* 485 */
+ void (GLAPIENTRYP DeleteShader)(GLuint program); /* 486 */
+ void (GLAPIENTRYP DetachShader)(GLuint program, GLuint shader); /* 487 */
+ void (GLAPIENTRYP DisableVertexAttribArray)(GLuint index); /* 488 */
+ void (GLAPIENTRYP DrawBuffers)(GLsizei n, const GLenum * bufs); /* 489 */
+ void (GLAPIENTRYP EnableVertexAttribArray)(GLuint index); /* 490 */
+ void (GLAPIENTRYP GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); /* 491 */
+ void (GLAPIENTRYP GetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); /* 492 */
+ void (GLAPIENTRYP GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj); /* 493 */
+ GLint (GLAPIENTRYP GetAttribLocation)(GLuint program, const GLchar * name); /* 494 */
+ void (GLAPIENTRYP GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 495 */
+ void (GLAPIENTRYP GetProgramiv)(GLuint program, GLenum pname, GLint * params); /* 496 */
+ void (GLAPIENTRYP GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 497 */
+ void (GLAPIENTRYP GetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source); /* 498 */
+ void (GLAPIENTRYP GetShaderiv)(GLuint shader, GLenum pname, GLint * params); /* 499 */
+ GLint (GLAPIENTRYP GetUniformLocation)(GLuint program, const GLchar * name); /* 500 */
+ void (GLAPIENTRYP GetUniformfv)(GLuint program, GLint location, GLfloat * params); /* 501 */
+ void (GLAPIENTRYP GetUniformiv)(GLuint program, GLint location, GLint * params); /* 502 */
+ void (GLAPIENTRYP GetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid ** pointer); /* 503 */
+ void (GLAPIENTRYP GetVertexAttribdv)(GLuint index, GLenum pname, GLdouble * params); /* 504 */
+ void (GLAPIENTRYP GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat * params); /* 505 */
+ void (GLAPIENTRYP GetVertexAttribiv)(GLuint index, GLenum pname, GLint * params); /* 506 */
+ GLboolean (GLAPIENTRYP IsProgram)(GLuint program); /* 507 */
+ GLboolean (GLAPIENTRYP IsShader)(GLuint shader); /* 508 */
+ void (GLAPIENTRYP LinkProgram)(GLuint program); /* 509 */
+ void (GLAPIENTRYP ShaderSource)(GLuint shader, GLsizei count, const GLchar * const * string, const GLint * length); /* 510 */
+ void (GLAPIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); /* 511 */
+ void (GLAPIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); /* 512 */
+ void (GLAPIENTRYP StencilOpSeparate)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass); /* 513 */
+ void (GLAPIENTRYP Uniform1f)(GLint location, GLfloat v0); /* 514 */
+ void (GLAPIENTRYP Uniform1fv)(GLint location, GLsizei count, const GLfloat * value); /* 515 */
+ void (GLAPIENTRYP Uniform1i)(GLint location, GLint v0); /* 516 */
+ void (GLAPIENTRYP Uniform1iv)(GLint location, GLsizei count, const GLint * value); /* 517 */
+ void (GLAPIENTRYP Uniform2f)(GLint location, GLfloat v0, GLfloat v1); /* 518 */
+ void (GLAPIENTRYP Uniform2fv)(GLint location, GLsizei count, const GLfloat * value); /* 519 */
+ void (GLAPIENTRYP Uniform2i)(GLint location, GLint v0, GLint v1); /* 520 */
+ void (GLAPIENTRYP Uniform2iv)(GLint location, GLsizei count, const GLint * value); /* 521 */
+ void (GLAPIENTRYP Uniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); /* 522 */
+ void (GLAPIENTRYP Uniform3fv)(GLint location, GLsizei count, const GLfloat * value); /* 523 */
+ void (GLAPIENTRYP Uniform3i)(GLint location, GLint v0, GLint v1, GLint v2); /* 524 */
+ void (GLAPIENTRYP Uniform3iv)(GLint location, GLsizei count, const GLint * value); /* 525 */
+ void (GLAPIENTRYP Uniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); /* 526 */
+ void (GLAPIENTRYP Uniform4fv)(GLint location, GLsizei count, const GLfloat * value); /* 527 */
+ void (GLAPIENTRYP Uniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); /* 528 */
+ void (GLAPIENTRYP Uniform4iv)(GLint location, GLsizei count, const GLint * value); /* 529 */
+ void (GLAPIENTRYP UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 530 */
+ void (GLAPIENTRYP UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 531 */
+ void (GLAPIENTRYP UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 532 */
+ void (GLAPIENTRYP UseProgram)(GLuint program); /* 533 */
+ void (GLAPIENTRYP ValidateProgram)(GLuint program); /* 534 */
+ void (GLAPIENTRYP VertexAttrib1d)(GLuint index, GLdouble x); /* 535 */
+ void (GLAPIENTRYP VertexAttrib1dv)(GLuint index, const GLdouble * v); /* 536 */
+ void (GLAPIENTRYP VertexAttrib1s)(GLuint index, GLshort x); /* 537 */
+ void (GLAPIENTRYP VertexAttrib1sv)(GLuint index, const GLshort * v); /* 538 */
+ void (GLAPIENTRYP VertexAttrib2d)(GLuint index, GLdouble x, GLdouble y); /* 539 */
+ void (GLAPIENTRYP VertexAttrib2dv)(GLuint index, const GLdouble * v); /* 540 */
+ void (GLAPIENTRYP VertexAttrib2s)(GLuint index, GLshort x, GLshort y); /* 541 */
+ void (GLAPIENTRYP VertexAttrib2sv)(GLuint index, const GLshort * v); /* 542 */
+ void (GLAPIENTRYP VertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 543 */
+ void (GLAPIENTRYP VertexAttrib3dv)(GLuint index, const GLdouble * v); /* 544 */
+ void (GLAPIENTRYP VertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z); /* 545 */
+ void (GLAPIENTRYP VertexAttrib3sv)(GLuint index, const GLshort * v); /* 546 */
+ void (GLAPIENTRYP VertexAttrib4Nbv)(GLuint index, const GLbyte * v); /* 547 */
+ void (GLAPIENTRYP VertexAttrib4Niv)(GLuint index, const GLint * v); /* 548 */
+ void (GLAPIENTRYP VertexAttrib4Nsv)(GLuint index, const GLshort * v); /* 549 */
+ void (GLAPIENTRYP VertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 550 */
+ void (GLAPIENTRYP VertexAttrib4Nubv)(GLuint index, const GLubyte * v); /* 551 */
+ void (GLAPIENTRYP VertexAttrib4Nuiv)(GLuint index, const GLuint * v); /* 552 */
+ void (GLAPIENTRYP VertexAttrib4Nusv)(GLuint index, const GLushort * v); /* 553 */
+ void (GLAPIENTRYP VertexAttrib4bv)(GLuint index, const GLbyte * v); /* 554 */
+ void (GLAPIENTRYP VertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 555 */
+ void (GLAPIENTRYP VertexAttrib4dv)(GLuint index, const GLdouble * v); /* 556 */
+ void (GLAPIENTRYP VertexAttrib4iv)(GLuint index, const GLint * v); /* 557 */
+ void (GLAPIENTRYP VertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 558 */
+ void (GLAPIENTRYP VertexAttrib4sv)(GLuint index, const GLshort * v); /* 559 */
+ void (GLAPIENTRYP VertexAttrib4ubv)(GLuint index, const GLubyte * v); /* 560 */
+ void (GLAPIENTRYP VertexAttrib4uiv)(GLuint index, const GLuint * v); /* 561 */
+ void (GLAPIENTRYP VertexAttrib4usv)(GLuint index, const GLushort * v); /* 562 */
+ void (GLAPIENTRYP VertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); /* 563 */
+ void (GLAPIENTRYP UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 564 */
+ void (GLAPIENTRYP UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 565 */
+ void (GLAPIENTRYP UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 566 */
+ void (GLAPIENTRYP UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 567 */
+ void (GLAPIENTRYP UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 568 */
+ void (GLAPIENTRYP UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 569 */
+ void (GLAPIENTRYP BeginConditionalRender)(GLuint query, GLenum mode); /* 570 */
+ void (GLAPIENTRYP BeginTransformFeedback)(GLenum mode); /* 571 */
+ void (GLAPIENTRYP BindBufferBase)(GLenum target, GLuint index, GLuint buffer); /* 572 */
+ void (GLAPIENTRYP BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 573 */
+ void (GLAPIENTRYP BindFragDataLocation)(GLuint program, GLuint colorNumber, const GLchar * name); /* 574 */
+ void (GLAPIENTRYP ClampColor)(GLenum target, GLenum clamp); /* 575 */
+ void (GLAPIENTRYP ClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); /* 576 */
+ void (GLAPIENTRYP ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat * value); /* 577 */
+ void (GLAPIENTRYP ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint * value); /* 578 */
+ void (GLAPIENTRYP ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint * value); /* 579 */
+ void (GLAPIENTRYP ColorMaski)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 580 */
+ void (GLAPIENTRYP Disablei)(GLenum target, GLuint index); /* 581 */
+ void (GLAPIENTRYP Enablei)(GLenum target, GLuint index); /* 582 */
+ void (GLAPIENTRYP EndConditionalRender)(void); /* 583 */
+ void (GLAPIENTRYP EndTransformFeedback)(void); /* 584 */
+ void (GLAPIENTRYP GetBooleani_v)(GLenum value, GLuint index, GLboolean * data); /* 585 */
+ GLint (GLAPIENTRYP GetFragDataLocation)(GLuint program, const GLchar * name); /* 586 */
+ void (GLAPIENTRYP GetIntegeri_v)(GLenum value, GLuint index, GLint * data); /* 587 */
+ const GLubyte * (GLAPIENTRYP GetStringi)(GLenum name, GLuint index); /* 588 */
+ void (GLAPIENTRYP GetTexParameterIiv)(GLenum target, GLenum pname, GLint * params); /* 589 */
+ void (GLAPIENTRYP GetTexParameterIuiv)(GLenum target, GLenum pname, GLuint * params); /* 590 */
+ void (GLAPIENTRYP GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 591 */
+ void (GLAPIENTRYP GetUniformuiv)(GLuint program, GLint location, GLuint * params); /* 592 */
+ void (GLAPIENTRYP GetVertexAttribIiv)(GLuint index, GLenum pname, GLint * params); /* 593 */
+ void (GLAPIENTRYP GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint * params); /* 594 */
+ GLboolean (GLAPIENTRYP IsEnabledi)(GLenum target, GLuint index); /* 595 */
+ void (GLAPIENTRYP TexParameterIiv)(GLenum target, GLenum pname, const GLint * params); /* 596 */
+ void (GLAPIENTRYP TexParameterIuiv)(GLenum target, GLenum pname, const GLuint * params); /* 597 */
+ void (GLAPIENTRYP TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar * const * varyings, GLenum bufferMode); /* 598 */
+ void (GLAPIENTRYP Uniform1ui)(GLint location, GLuint x); /* 599 */
+ void (GLAPIENTRYP Uniform1uiv)(GLint location, GLsizei count, const GLuint * value); /* 600 */
+ void (GLAPIENTRYP Uniform2ui)(GLint location, GLuint x, GLuint y); /* 601 */
+ void (GLAPIENTRYP Uniform2uiv)(GLint location, GLsizei count, const GLuint * value); /* 602 */
+ void (GLAPIENTRYP Uniform3ui)(GLint location, GLuint x, GLuint y, GLuint z); /* 603 */
+ void (GLAPIENTRYP Uniform3uiv)(GLint location, GLsizei count, const GLuint * value); /* 604 */
+ void (GLAPIENTRYP Uniform4ui)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 605 */
+ void (GLAPIENTRYP Uniform4uiv)(GLint location, GLsizei count, const GLuint * value); /* 606 */
+ void (GLAPIENTRYP VertexAttribI1iv)(GLuint index, const GLint * v); /* 607 */
+ void (GLAPIENTRYP VertexAttribI1uiv)(GLuint index, const GLuint * v); /* 608 */
+ void (GLAPIENTRYP VertexAttribI4bv)(GLuint index, const GLbyte * v); /* 609 */
+ void (GLAPIENTRYP VertexAttribI4sv)(GLuint index, const GLshort * v); /* 610 */
+ void (GLAPIENTRYP VertexAttribI4ubv)(GLuint index, const GLubyte * v); /* 611 */
+ void (GLAPIENTRYP VertexAttribI4usv)(GLuint index, const GLushort * v); /* 612 */
+ void (GLAPIENTRYP VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 613 */
+ void (GLAPIENTRYP PrimitiveRestartIndex)(GLuint index); /* 614 */
+ void (GLAPIENTRYP TexBuffer)(GLenum target, GLenum internalFormat, GLuint buffer); /* 615 */
+ void (GLAPIENTRYP FramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level); /* 616 */
+ void (GLAPIENTRYP GetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 * params); /* 617 */
+ void (GLAPIENTRYP GetInteger64i_v)(GLenum cap, GLuint index, GLint64 * data); /* 618 */
+ void (GLAPIENTRYP VertexAttribDivisor)(GLuint index, GLuint divisor); /* 619 */
+ void (GLAPIENTRYP MinSampleShading)(GLfloat value); /* 620 */
+ void (GLAPIENTRYP BindProgramARB)(GLenum target, GLuint program); /* 621 */
+ void (GLAPIENTRYP DeleteProgramsARB)(GLsizei n, const GLuint * programs); /* 622 */
+ void (GLAPIENTRYP GenProgramsARB)(GLsizei n, GLuint * programs); /* 623 */
+ void (GLAPIENTRYP GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 624 */
+ void (GLAPIENTRYP GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 625 */
+ void (GLAPIENTRYP GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 626 */
+ void (GLAPIENTRYP GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 627 */
+ void (GLAPIENTRYP GetProgramStringARB)(GLenum target, GLenum pname, GLvoid * string); /* 628 */
+ void (GLAPIENTRYP GetProgramivARB)(GLenum target, GLenum pname, GLint * params); /* 629 */
+ GLboolean (GLAPIENTRYP IsProgramARB)(GLuint program); /* 630 */
+ void (GLAPIENTRYP ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 631 */
+ void (GLAPIENTRYP ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 632 */
+ void (GLAPIENTRYP ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 633 */
+ void (GLAPIENTRYP ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 634 */
+ void (GLAPIENTRYP ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 635 */
+ void (GLAPIENTRYP ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 636 */
+ void (GLAPIENTRYP ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 637 */
+ void (GLAPIENTRYP ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 638 */
+ void (GLAPIENTRYP ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid * string); /* 639 */
+ void (GLAPIENTRYP VertexAttrib1fARB)(GLuint index, GLfloat x); /* 640 */
+ void (GLAPIENTRYP VertexAttrib1fvARB)(GLuint index, const GLfloat * v); /* 641 */
+ void (GLAPIENTRYP VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y); /* 642 */
+ void (GLAPIENTRYP VertexAttrib2fvARB)(GLuint index, const GLfloat * v); /* 643 */
+ void (GLAPIENTRYP VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 644 */
+ void (GLAPIENTRYP VertexAttrib3fvARB)(GLuint index, const GLfloat * v); /* 645 */
+ void (GLAPIENTRYP VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 646 */
+ void (GLAPIENTRYP VertexAttrib4fvARB)(GLuint index, const GLfloat * v); /* 647 */
+ void (GLAPIENTRYP AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj); /* 648 */
+ GLhandleARB (GLAPIENTRYP CreateProgramObjectARB)(void); /* 649 */
+ GLhandleARB (GLAPIENTRYP CreateShaderObjectARB)(GLenum shaderType); /* 650 */
+ void (GLAPIENTRYP DeleteObjectARB)(GLhandleARB obj); /* 651 */
+ void (GLAPIENTRYP DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj); /* 652 */
+ void (GLAPIENTRYP GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog); /* 653 */
+ GLhandleARB (GLAPIENTRYP GetHandleARB)(GLenum pname); /* 654 */
+ void (GLAPIENTRYP GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); /* 655 */
+ void (GLAPIENTRYP GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params); /* 656 */
+ void (GLAPIENTRYP GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params); /* 657 */
+ void (GLAPIENTRYP DrawArraysInstancedARB)(GLenum mode, GLint first, GLsizei count, GLsizei primcount); /* 658 */
+ void (GLAPIENTRYP DrawElementsInstancedARB)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount); /* 659 */
+ void (GLAPIENTRYP BindFramebuffer)(GLenum target, GLuint framebuffer); /* 660 */
+ void (GLAPIENTRYP BindRenderbuffer)(GLenum target, GLuint renderbuffer); /* 661 */
+ void (GLAPIENTRYP BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 662 */
+ GLenum (GLAPIENTRYP CheckFramebufferStatus)(GLenum target); /* 663 */
+ void (GLAPIENTRYP DeleteFramebuffers)(GLsizei n, const GLuint * framebuffers); /* 664 */
+ void (GLAPIENTRYP DeleteRenderbuffers)(GLsizei n, const GLuint * renderbuffers); /* 665 */
+ void (GLAPIENTRYP FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 666 */
+ void (GLAPIENTRYP FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 667 */
+ void (GLAPIENTRYP FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 668 */
+ void (GLAPIENTRYP FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 669 */
+ void (GLAPIENTRYP FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 670 */
+ void (GLAPIENTRYP GenFramebuffers)(GLsizei n, GLuint * framebuffers); /* 671 */
+ void (GLAPIENTRYP GenRenderbuffers)(GLsizei n, GLuint * renderbuffers); /* 672 */
+ void (GLAPIENTRYP GenerateMipmap)(GLenum target); /* 673 */
+ void (GLAPIENTRYP GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 674 */
+ void (GLAPIENTRYP GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint * params); /* 675 */
+ GLboolean (GLAPIENTRYP IsFramebuffer)(GLuint framebuffer); /* 676 */
+ GLboolean (GLAPIENTRYP IsRenderbuffer)(GLuint renderbuffer); /* 677 */
+ void (GLAPIENTRYP RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 678 */
+ void (GLAPIENTRYP RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); /* 679 */
+ void (GLAPIENTRYP FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); /* 680 */
+ void (GLAPIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); /* 681 */
+ GLvoid * (GLAPIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); /* 682 */
+ void (GLAPIENTRYP BindVertexArray)(GLuint array); /* 683 */
+ void (GLAPIENTRYP DeleteVertexArrays)(GLsizei n, const GLuint * arrays); /* 684 */
+ void (GLAPIENTRYP GenVertexArrays)(GLsizei n, GLuint * arrays); /* 685 */
+ GLboolean (GLAPIENTRYP IsVertexArray)(GLuint array); /* 686 */
+ void (GLAPIENTRYP GetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName); /* 687 */
+ void (GLAPIENTRYP GetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params); /* 688 */
+ void (GLAPIENTRYP GetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName); /* 689 */
+ void (GLAPIENTRYP GetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params); /* 690 */
+ GLuint (GLAPIENTRYP GetUniformBlockIndex)(GLuint program, const GLchar * uniformBlockName); /* 691 */
+ void (GLAPIENTRYP GetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar * const * uniformNames, GLuint * uniformIndices); /* 692 */
+ void (GLAPIENTRYP UniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); /* 693 */
+ void (GLAPIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 694 */
+ GLenum (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 695 */
+ void (GLAPIENTRYP DeleteSync)(GLsync sync); /* 696 */
+ GLsync (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 697 */
+ void (GLAPIENTRYP GetInteger64v)(GLenum pname, GLint64 * params); /* 698 */
+ void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 699 */
+ GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 700 */
+ void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 701 */
+ void (GLAPIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 702 */
+ void (GLAPIENTRYP DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLint basevertex); /* 703 */
+ void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 704 */
+ void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, const GLint * basevertex); /* 705 */
+ void (GLAPIENTRYP ProvokingVertex)(GLenum mode); /* 706 */
+ void (GLAPIENTRYP GetMultisamplefv)(GLenum pname, GLuint index, GLfloat * val); /* 707 */
+ void (GLAPIENTRYP SampleMaski)(GLuint index, GLbitfield mask); /* 708 */
+ void (GLAPIENTRYP TexImage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); /* 709 */
+ void (GLAPIENTRYP TexImage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); /* 710 */
+ void (GLAPIENTRYP BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA); /* 711 */
+ void (GLAPIENTRYP BlendEquationiARB)(GLuint buf, GLenum mode); /* 712 */
+ void (GLAPIENTRYP BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA); /* 713 */
+ void (GLAPIENTRYP BlendFunciARB)(GLuint buf, GLenum src, GLenum dst); /* 714 */
+ void (GLAPIENTRYP BindFragDataLocationIndexed)(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name); /* 715 */
+ GLint (GLAPIENTRYP GetFragDataIndex)(GLuint program, const GLchar * name); /* 716 */
+ void (GLAPIENTRYP BindSampler)(GLuint unit, GLuint sampler); /* 717 */
+ void (GLAPIENTRYP DeleteSamplers)(GLsizei count, const GLuint * samplers); /* 718 */
+ void (GLAPIENTRYP GenSamplers)(GLsizei count, GLuint * samplers); /* 719 */
+ void (GLAPIENTRYP GetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint * params); /* 720 */
+ void (GLAPIENTRYP GetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint * params); /* 721 */
+ void (GLAPIENTRYP GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat * params); /* 722 */
+ void (GLAPIENTRYP GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint * params); /* 723 */
+ GLboolean (GLAPIENTRYP IsSampler)(GLuint sampler); /* 724 */
+ void (GLAPIENTRYP SamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint * params); /* 725 */
+ void (GLAPIENTRYP SamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint * params); /* 726 */
+ void (GLAPIENTRYP SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param); /* 727 */
+ void (GLAPIENTRYP SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat * params); /* 728 */
+ void (GLAPIENTRYP SamplerParameteri)(GLuint sampler, GLenum pname, GLint param); /* 729 */
+ void (GLAPIENTRYP SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint * params); /* 730 */
+ void (GLAPIENTRYP GetQueryObjecti64v)(GLuint id, GLenum pname, GLint64 * params); /* 731 */
+ void (GLAPIENTRYP GetQueryObjectui64v)(GLuint id, GLenum pname, GLuint64 * params); /* 732 */
+ void (GLAPIENTRYP QueryCounter)(GLuint id, GLenum target); /* 733 */
+ void (GLAPIENTRYP ColorP3ui)(GLenum type, GLuint color); /* 734 */
+ void (GLAPIENTRYP ColorP3uiv)(GLenum type, const GLuint * color); /* 735 */
+ void (GLAPIENTRYP ColorP4ui)(GLenum type, GLuint color); /* 736 */
+ void (GLAPIENTRYP ColorP4uiv)(GLenum type, const GLuint * color); /* 737 */
+ void (GLAPIENTRYP MultiTexCoordP1ui)(GLenum texture, GLenum type, GLuint coords); /* 738 */
+ void (GLAPIENTRYP MultiTexCoordP1uiv)(GLenum texture, GLenum type, const GLuint * coords); /* 739 */
+ void (GLAPIENTRYP MultiTexCoordP2ui)(GLenum texture, GLenum type, GLuint coords); /* 740 */
+ void (GLAPIENTRYP MultiTexCoordP2uiv)(GLenum texture, GLenum type, const GLuint * coords); /* 741 */
+ void (GLAPIENTRYP MultiTexCoordP3ui)(GLenum texture, GLenum type, GLuint coords); /* 742 */
+ void (GLAPIENTRYP MultiTexCoordP3uiv)(GLenum texture, GLenum type, const GLuint * coords); /* 743 */
+ void (GLAPIENTRYP MultiTexCoordP4ui)(GLenum texture, GLenum type, GLuint coords); /* 744 */
+ void (GLAPIENTRYP MultiTexCoordP4uiv)(GLenum texture, GLenum type, const GLuint * coords); /* 745 */
+ void (GLAPIENTRYP NormalP3ui)(GLenum type, GLuint coords); /* 746 */
+ void (GLAPIENTRYP NormalP3uiv)(GLenum type, const GLuint * coords); /* 747 */
+ void (GLAPIENTRYP SecondaryColorP3ui)(GLenum type, GLuint color); /* 748 */
+ void (GLAPIENTRYP SecondaryColorP3uiv)(GLenum type, const GLuint * color); /* 749 */
+ void (GLAPIENTRYP TexCoordP1ui)(GLenum type, GLuint coords); /* 750 */
+ void (GLAPIENTRYP TexCoordP1uiv)(GLenum type, const GLuint * coords); /* 751 */
+ void (GLAPIENTRYP TexCoordP2ui)(GLenum type, GLuint coords); /* 752 */
+ void (GLAPIENTRYP TexCoordP2uiv)(GLenum type, const GLuint * coords); /* 753 */
+ void (GLAPIENTRYP TexCoordP3ui)(GLenum type, GLuint coords); /* 754 */
+ void (GLAPIENTRYP TexCoordP3uiv)(GLenum type, const GLuint * coords); /* 755 */
+ void (GLAPIENTRYP TexCoordP4ui)(GLenum type, GLuint coords); /* 756 */
+ void (GLAPIENTRYP TexCoordP4uiv)(GLenum type, const GLuint * coords); /* 757 */
+ void (GLAPIENTRYP VertexAttribP1ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 758 */
+ void (GLAPIENTRYP VertexAttribP1uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 759 */
+ void (GLAPIENTRYP VertexAttribP2ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 760 */
+ void (GLAPIENTRYP VertexAttribP2uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 761 */
+ void (GLAPIENTRYP VertexAttribP3ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 762 */
+ void (GLAPIENTRYP VertexAttribP3uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 763 */
+ void (GLAPIENTRYP VertexAttribP4ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); /* 764 */
+ void (GLAPIENTRYP VertexAttribP4uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value); /* 765 */
+ void (GLAPIENTRYP VertexP2ui)(GLenum type, GLuint value); /* 766 */
+ void (GLAPIENTRYP VertexP2uiv)(GLenum type, const GLuint * value); /* 767 */
+ void (GLAPIENTRYP VertexP3ui)(GLenum type, GLuint value); /* 768 */
+ void (GLAPIENTRYP VertexP3uiv)(GLenum type, const GLuint * value); /* 769 */
+ void (GLAPIENTRYP VertexP4ui)(GLenum type, GLuint value); /* 770 */
+ void (GLAPIENTRYP VertexP4uiv)(GLenum type, const GLuint * value); /* 771 */
+ void (GLAPIENTRYP DrawArraysIndirect)(GLenum mode, const GLvoid * indirect); /* 772 */
+ void (GLAPIENTRYP DrawElementsIndirect)(GLenum mode, GLenum type, const GLvoid * indirect); /* 773 */
+ void (GLAPIENTRYP BindTransformFeedback)(GLenum target, GLuint id); /* 774 */
+ void (GLAPIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint * ids); /* 775 */
+ void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint id); /* 776 */
+ void (GLAPIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint * ids); /* 777 */
+ GLboolean (GLAPIENTRYP IsTransformFeedback)(GLuint id); /* 778 */
+ void (GLAPIENTRYP PauseTransformFeedback)(void); /* 779 */
+ void (GLAPIENTRYP ResumeTransformFeedback)(void); /* 780 */
+ void (GLAPIENTRYP BeginQueryIndexed)(GLenum target, GLuint index, GLuint id); /* 781 */
+ void (GLAPIENTRYP DrawTransformFeedbackStream)(GLenum mode, GLuint id, GLuint stream); /* 782 */
+ void (GLAPIENTRYP EndQueryIndexed)(GLenum target, GLuint index); /* 783 */
+ void (GLAPIENTRYP GetQueryIndexediv)(GLenum target, GLuint index, GLenum pname, GLint * params); /* 784 */
+ void (GLAPIENTRYP ClearDepthf)(GLclampf depth); /* 785 */
+ void (GLAPIENTRYP DepthRangef)(GLclampf zNear, GLclampf zFar); /* 786 */
+ void (GLAPIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); /* 787 */
+ void (GLAPIENTRYP ReleaseShaderCompiler)(void); /* 788 */
+ void (GLAPIENTRYP ShaderBinary)(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); /* 789 */
+ void (GLAPIENTRYP GetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, GLvoid * binary); /* 790 */
+ void (GLAPIENTRYP ProgramBinary)(GLuint program, GLenum binaryFormat, const GLvoid * binary, GLsizei length); /* 791 */
+ void (GLAPIENTRYP ProgramParameteri)(GLuint program, GLenum pname, GLint value); /* 792 */
+ void (GLAPIENTRYP DepthRangeArrayv)(GLuint first, GLsizei count, const GLclampd * v); /* 793 */
+ void (GLAPIENTRYP DepthRangeIndexed)(GLuint index, GLclampd n, GLclampd f); /* 794 */
+ void (GLAPIENTRYP GetDoublei_v)(GLenum target, GLuint index, GLdouble * data); /* 795 */
+ void (GLAPIENTRYP GetFloati_v)(GLenum target, GLuint index, GLfloat * data); /* 796 */
+ void (GLAPIENTRYP ScissorArrayv)(GLuint first, GLsizei count, const int * v); /* 797 */
+ void (GLAPIENTRYP ScissorIndexed)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); /* 798 */
+ void (GLAPIENTRYP ScissorIndexedv)(GLuint index, const GLint * v); /* 799 */
+ void (GLAPIENTRYP ViewportArrayv)(GLuint first, GLsizei count, const GLfloat * v); /* 800 */
+ void (GLAPIENTRYP ViewportIndexedf)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); /* 801 */
+ void (GLAPIENTRYP ViewportIndexedfv)(GLuint index, const GLfloat * v); /* 802 */
+ GLenum (GLAPIENTRYP GetGraphicsResetStatusARB)(void); /* 803 */
+ void (GLAPIENTRYP GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table); /* 804 */
+ void (GLAPIENTRYP GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, GLvoid * img); /* 805 */
+ void (GLAPIENTRYP GetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image); /* 806 */
+ void (GLAPIENTRYP GetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 807 */
+ void (GLAPIENTRYP GetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v); /* 808 */
+ void (GLAPIENTRYP GetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v); /* 809 */
+ void (GLAPIENTRYP GetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint * v); /* 810 */
+ void (GLAPIENTRYP GetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 811 */
+ void (GLAPIENTRYP GetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat * values); /* 812 */
+ void (GLAPIENTRYP GetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint * values); /* 813 */
+ void (GLAPIENTRYP GetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort * values); /* 814 */
+ void (GLAPIENTRYP GetnPolygonStippleARB)(GLsizei bufSize, GLubyte * pattern); /* 815 */
+ void (GLAPIENTRYP GetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span); /* 816 */
+ void (GLAPIENTRYP GetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img); /* 817 */
+ void (GLAPIENTRYP GetnUniformdvARB)(GLuint program, GLint location, GLsizei bufSize, GLdouble * params); /* 818 */
+ void (GLAPIENTRYP GetnUniformfvARB)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params); /* 819 */
+ void (GLAPIENTRYP GetnUniformivARB)(GLuint program, GLint location, GLsizei bufSize, GLint * params); /* 820 */
+ void (GLAPIENTRYP GetnUniformuivARB)(GLuint program, GLint location, GLsizei bufSize, GLuint * params); /* 821 */
+ void (GLAPIENTRYP ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); /* 822 */
+ void (GLAPIENTRYP DrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance); /* 823 */
+ void (GLAPIENTRYP DrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLuint baseinstance); /* 824 */
+ void (GLAPIENTRYP DrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLint basevertex, GLuint baseinstance); /* 825 */
+ void (GLAPIENTRYP DrawTransformFeedbackInstanced)(GLenum mode, GLuint id, GLsizei primcount); /* 826 */
+ void (GLAPIENTRYP DrawTransformFeedbackStreamInstanced)(GLenum mode, GLuint id, GLuint stream, GLsizei primcount); /* 827 */
+ void (GLAPIENTRYP GetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params); /* 828 */
+ void (GLAPIENTRYP GetActiveAtomicCounterBufferiv)(GLuint program, GLuint bufferIndex, GLenum pname, GLint * params); /* 829 */
+ void (GLAPIENTRYP BindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); /* 830 */
+ void (GLAPIENTRYP MemoryBarrier)(GLbitfield barriers); /* 831 */
+ void (GLAPIENTRYP TexStorage1D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 832 */
+ void (GLAPIENTRYP TexStorage2D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 833 */
+ void (GLAPIENTRYP TexStorage3D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 834 */
+ void (GLAPIENTRYP TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 835 */
+ void (GLAPIENTRYP TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 836 */
+ void (GLAPIENTRYP TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 837 */
+ void (GLAPIENTRYP ClearBufferData)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const GLvoid * data); /* 838 */
+ void (GLAPIENTRYP ClearBufferSubData)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid * data); /* 839 */
+ void (GLAPIENTRYP DispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); /* 840 */
+ void (GLAPIENTRYP DispatchComputeIndirect)(GLintptr indirect); /* 841 */
+ void (GLAPIENTRYP TextureView)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); /* 842 */
+ void (GLAPIENTRYP BindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); /* 843 */
+ void (GLAPIENTRYP VertexAttribBinding)(GLuint attribindex, GLuint bindingindex); /* 844 */
+ void (GLAPIENTRYP VertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); /* 845 */
+ void (GLAPIENTRYP VertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); /* 846 */
+ void (GLAPIENTRYP VertexAttribLFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); /* 847 */
+ void (GLAPIENTRYP VertexBindingDivisor)(GLuint attribindex, GLuint divisor); /* 848 */
+ void (GLAPIENTRYP MultiDrawArraysIndirect)(GLenum mode, const GLvoid * indirect, GLsizei primcount, GLsizei stride); /* 849 */
+ void (GLAPIENTRYP MultiDrawElementsIndirect)(GLenum mode, GLenum type, const GLvoid * indirect, GLsizei primcount, GLsizei stride); /* 850 */
+ void (GLAPIENTRYP TexBufferRange)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 851 */
+ void (GLAPIENTRYP TexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); /* 852 */
+ void (GLAPIENTRYP TexStorage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); /* 853 */
+ void (GLAPIENTRYP BufferStorage)(GLenum target, GLsizeiptr size, const GLvoid * data, GLbitfield flags); /* 854 */
+ void (GLAPIENTRYP BindBuffersBase)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers); /* 855 */
+ void (GLAPIENTRYP BindBuffersRange)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizeiptr * sizes); /* 856 */
+ void (GLAPIENTRYP BindImageTextures)(GLuint first, GLsizei count, const GLuint * textures); /* 857 */
+ void (GLAPIENTRYP BindSamplers)(GLuint first, GLsizei count, const GLuint * samplers); /* 858 */
+ void (GLAPIENTRYP BindTextures)(GLuint first, GLsizei count, const GLuint * textures); /* 859 */
+ void (GLAPIENTRYP BindVertexBuffers)(GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides); /* 860 */
+ void (GLAPIENTRYP InvalidateBufferData)(GLuint buffer); /* 861 */
+ void (GLAPIENTRYP InvalidateBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr length); /* 862 */
+ void (GLAPIENTRYP InvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum * attachments); /* 863 */
+ void (GLAPIENTRYP InvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height); /* 864 */
+ void (GLAPIENTRYP InvalidateTexImage)(GLuint texture, GLint level); /* 865 */
+ void (GLAPIENTRYP InvalidateTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); /* 866 */
+ void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 867 */
+ void (GLAPIENTRYP DrawTexfOES)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); /* 868 */
+ void (GLAPIENTRYP DrawTexfvOES)(const GLfloat * coords); /* 869 */
+ void (GLAPIENTRYP DrawTexiOES)(GLint x, GLint y, GLint z, GLint width, GLint height); /* 870 */
+ void (GLAPIENTRYP DrawTexivOES)(const GLint * coords); /* 871 */
+ void (GLAPIENTRYP DrawTexsOES)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); /* 872 */
+ void (GLAPIENTRYP DrawTexsvOES)(const GLshort * coords); /* 873 */
+ void (GLAPIENTRYP DrawTexxOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); /* 874 */
+ void (GLAPIENTRYP DrawTexxvOES)(const GLfixed * coords); /* 875 */
+ void (GLAPIENTRYP PointSizePointerOES)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 876 */
+ GLbitfield (GLAPIENTRYP QueryMatrixxOES)(GLfixed * mantissa, GLint * exponent); /* 877 */
+ void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 878 */
+ void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 879 */
+ void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 880 */
+ void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 881 */
+ void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 882 */
+ void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 883 */
+ void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 884 */
+ void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 885 */
+ void (GLAPIENTRYP DiscardFramebufferEXT)(GLenum target, GLsizei numAttachments, const GLenum * attachments); /* 886 */
+ void (GLAPIENTRYP ActiveShaderProgram)(GLuint pipeline, GLuint program); /* 887 */
+ void (GLAPIENTRYP BindProgramPipeline)(GLuint pipeline); /* 888 */
+ GLuint (GLAPIENTRYP CreateShaderProgramv)(GLenum type, GLsizei count, const GLchar * const * strings); /* 889 */
+ void (GLAPIENTRYP DeleteProgramPipelines)(GLsizei n, const GLuint * pipelines); /* 890 */
+ void (GLAPIENTRYP GenProgramPipelines)(GLsizei n, GLuint * pipelines); /* 891 */
+ void (GLAPIENTRYP GetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 892 */
+ void (GLAPIENTRYP GetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint * params); /* 893 */
+ GLboolean (GLAPIENTRYP IsProgramPipeline)(GLuint pipeline); /* 894 */
+ void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 895 */
+ void (GLAPIENTRYP ProgramUniform1f)(GLuint program, GLint location, GLfloat x); /* 896 */
+ void (GLAPIENTRYP ProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value); /* 897 */
+ void (GLAPIENTRYP ProgramUniform1i)(GLuint program, GLint location, GLint x); /* 898 */
+ void (GLAPIENTRYP ProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint * value); /* 899 */
+ void (GLAPIENTRYP ProgramUniform1ui)(GLuint program, GLint location, GLuint x); /* 900 */
+ void (GLAPIENTRYP ProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value); /* 901 */
+ void (GLAPIENTRYP ProgramUniform2f)(GLuint program, GLint location, GLfloat x, GLfloat y); /* 902 */
+ void (GLAPIENTRYP ProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value); /* 903 */
+ void (GLAPIENTRYP ProgramUniform2i)(GLuint program, GLint location, GLint x, GLint y); /* 904 */
+ void (GLAPIENTRYP ProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint * value); /* 905 */
+ void (GLAPIENTRYP ProgramUniform2ui)(GLuint program, GLint location, GLuint x, GLuint y); /* 906 */
+ void (GLAPIENTRYP ProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value); /* 907 */
+ void (GLAPIENTRYP ProgramUniform3f)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); /* 908 */
+ void (GLAPIENTRYP ProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value); /* 909 */
+ void (GLAPIENTRYP ProgramUniform3i)(GLuint program, GLint location, GLint x, GLint y, GLint z); /* 910 */
+ void (GLAPIENTRYP ProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint * value); /* 911 */
+ void (GLAPIENTRYP ProgramUniform3ui)(GLuint program, GLint location, GLuint x, GLuint y, GLuint z); /* 912 */
+ void (GLAPIENTRYP ProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value); /* 913 */
+ void (GLAPIENTRYP ProgramUniform4f)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 914 */
+ void (GLAPIENTRYP ProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value); /* 915 */
+ void (GLAPIENTRYP ProgramUniform4i)(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); /* 916 */
+ void (GLAPIENTRYP ProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint * value); /* 917 */
+ void (GLAPIENTRYP ProgramUniform4ui)(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 918 */
+ void (GLAPIENTRYP ProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value); /* 919 */
+ void (GLAPIENTRYP ProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 920 */
+ void (GLAPIENTRYP ProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 921 */
+ void (GLAPIENTRYP ProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 922 */
+ void (GLAPIENTRYP ProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 923 */
+ void (GLAPIENTRYP ProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 924 */
+ void (GLAPIENTRYP ProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 925 */
+ void (GLAPIENTRYP ProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 926 */
+ void (GLAPIENTRYP ProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 927 */
+ void (GLAPIENTRYP ProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 928 */
+ void (GLAPIENTRYP UnlockArraysEXT)(void); /* 929 */
+ void (GLAPIENTRYP UseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program); /* 930 */
+ void (GLAPIENTRYP ValidateProgramPipeline)(GLuint pipeline); /* 931 */
+ void (GLAPIENTRYP DebugMessageCallback)(GLDEBUGPROC callback, const GLvoid * userParam); /* 932 */
+ void (GLAPIENTRYP DebugMessageControl)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); /* 933 */
+ void (GLAPIENTRYP DebugMessageInsert)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf); /* 934 */
+ GLuint (GLAPIENTRYP GetDebugMessageLog)(GLuint count, GLsizei bufsize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog); /* 935 */
+ void (GLAPIENTRYP GetObjectLabel)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label); /* 936 */
+ void (GLAPIENTRYP GetObjectPtrLabel)(const GLvoid * ptr, GLsizei bufSize, GLsizei * length, GLchar * label); /* 937 */
+ void (GLAPIENTRYP ObjectLabel)(GLenum identifier, GLuint name, GLsizei length, const GLchar * label); /* 938 */
+ void (GLAPIENTRYP ObjectPtrLabel)(const GLvoid * ptr, GLsizei length, const GLchar * label); /* 939 */
+ void (GLAPIENTRYP PopDebugGroup)(void); /* 940 */
+ void (GLAPIENTRYP PushDebugGroup)(GLenum source, GLuint id, GLsizei length, const GLchar * message); /* 941 */
+ void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 942 */
+ void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 943 */
+ void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount); /* 944 */
+ void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 945 */
+ void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 946 */
+ void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 947 */
+ void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 948 */
+ void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 949 */
+ void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 950 */
+ void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 951 */
+ void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 952 */
+ void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 953 */
+ void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 954 */
+ void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 955 */
+ void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 956 */
+ void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 957 */
+ GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 958 */
+ void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 959 */
+ void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 960 */
+ void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 961 */
+ void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 962 */
+ void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 963 */
+ void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 964 */
+ void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 965 */
+ void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 966 */
+ void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 967 */
+ void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 968 */
+ void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 969 */
+ void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 970 */
+ void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 971 */
+ void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 972 */
+ void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 973 */
+ void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 974 */
+ void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 975 */
+ void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 976 */
+ void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 977 */
+ void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 978 */
+ void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 979 */
+ void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 980 */
+ void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 981 */
+ void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 982 */
+ void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 983 */
+ void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 984 */
+ void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 985 */
+ void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 986 */
+ void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 987 */
+ void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 988 */
+ void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 989 */
+ void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 990 */
+ void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 991 */
+ void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 992 */
+ void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 993 */
+ void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 994 */
+ void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 995 */
+ void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 996 */
+ void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 997 */
+ void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 998 */
+ void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 999 */
+ void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 1000 */
+ void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 1001 */
+ void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 1002 */
+ void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 1003 */
+ void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 1004 */
+ void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 1005 */
+ void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 1006 */
+ void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 1007 */
+ void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 1008 */
+ void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 1009 */
+ void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 1010 */
+ void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 1011 */
+ void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 1012 */
+ void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 1013 */
+ void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 1014 */
+ void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 1015 */
+ void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 1016 */
+ void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 1017 */
+ void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 1018 */
+ 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); /* 1019 */
+ void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 1020 */
+ void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 1021 */
+ void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 1022 */
+ void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 1023 */
+ 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); /* 1024 */
+ void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 1025 */
+ void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 1026 */
+ GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 1027 */
+ void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 1028 */
+ void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 1029 */
+ void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 1030 */
+ void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 1031 */
+ void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 1032 */
+ void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 1033 */
+ void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 1034 */
+ void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 1035 */
+ void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 1036 */
+ void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 1037 */
+ void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 1038 */
+ void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 1039 */
+ void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 1040 */
+ void (GLAPIENTRYP GetTexGenxvOES)(GLenum coord, GLenum pname, GLfixed * params); /* 1041 */
+ void (GLAPIENTRYP TexGenxOES)(GLenum coord, GLenum pname, GLint param); /* 1042 */
+ void (GLAPIENTRYP TexGenxvOES)(GLenum coord, GLenum pname, const GLfixed * params); /* 1043 */
+ void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 1044 */
+ void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 1045 */
+ void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 1046 */
+ void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 1047 */
+ void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 1048 */
+ void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 1049 */
+ void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 1050 */
+ void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 1051 */
+ void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 1052 */
+ void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 1053 */
+ void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 1054 */
+ void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 1055 */
+ void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 1056 */
+ void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 1057 */
+ void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 1058 */
+ void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 1059 */
+ void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 1060 */
+ void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 1061 */
+ void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 1062 */
+ void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 1063 */
+ void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 1064 */
+ void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 1065 */
+ void (GLAPIENTRYP BeginPerfMonitorAMD)(GLuint monitor); /* 1066 */
+ void (GLAPIENTRYP DeletePerfMonitorsAMD)(GLsizei n, GLuint * monitors); /* 1067 */
+ void (GLAPIENTRYP EndPerfMonitorAMD)(GLuint monitor); /* 1068 */
+ void (GLAPIENTRYP GenPerfMonitorsAMD)(GLsizei n, GLuint * monitors); /* 1069 */
+ void (GLAPIENTRYP GetPerfMonitorCounterDataAMD)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten); /* 1070 */
+ void (GLAPIENTRYP GetPerfMonitorCounterInfoAMD)(GLuint group, GLuint counter, GLenum pname, GLvoid * data); /* 1071 */
+ void (GLAPIENTRYP GetPerfMonitorCounterStringAMD)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString); /* 1072 */
+ void (GLAPIENTRYP GetPerfMonitorCountersAMD)(GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei countersSize, GLuint * counters); /* 1073 */
+ void (GLAPIENTRYP GetPerfMonitorGroupStringAMD)(GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString); /* 1074 */
+ void (GLAPIENTRYP GetPerfMonitorGroupsAMD)(GLint * numGroups, GLsizei groupsSize, GLuint * groups); /* 1075 */
+ void (GLAPIENTRYP SelectPerfMonitorCountersAMD)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList); /* 1076 */
+ void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 1077 */
+ GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 1078 */
+ GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 1079 */
+ void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 1080 */
+ GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 1081 */
+ void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 1082 */
+ void (GLAPIENTRYP TextureBarrierNV)(void); /* 1083 */
+ void (GLAPIENTRYP VDPAUFiniNV)(void); /* 1084 */
+ void (GLAPIENTRYP VDPAUGetSurfaceivNV)(GLintptr surface, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 1085 */
+ void (GLAPIENTRYP VDPAUInitNV)(const GLvoid * vdpDevice, const GLvoid * getProcAddress); /* 1086 */
+ GLboolean (GLAPIENTRYP VDPAUIsSurfaceNV)(GLintptr surface); /* 1087 */
+ void (GLAPIENTRYP VDPAUMapSurfacesNV)(GLsizei numSurfaces, const GLintptr * surfaces); /* 1088 */
+ GLintptr (GLAPIENTRYP VDPAURegisterOutputSurfaceNV)(const GLvoid * vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint * textureNames); /* 1089 */
+ GLintptr (GLAPIENTRYP VDPAURegisterVideoSurfaceNV)(const GLvoid * vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint * textureNames); /* 1090 */
+ void (GLAPIENTRYP VDPAUSurfaceAccessNV)(GLintptr surface, GLenum access); /* 1091 */
+ void (GLAPIENTRYP VDPAUUnmapSurfacesNV)(GLsizei numSurfaces, const GLintptr * surfaces); /* 1092 */
+ void (GLAPIENTRYP VDPAUUnregisterSurfaceNV)(GLintptr surface); /* 1093 */
+ void (GLAPIENTRYP BeginPerfQueryINTEL)(GLuint queryHandle); /* 1094 */
+ void (GLAPIENTRYP CreatePerfQueryINTEL)(GLuint queryId, GLuint * queryHandle); /* 1095 */
+ void (GLAPIENTRYP DeletePerfQueryINTEL)(GLuint queryHandle); /* 1096 */
+ void (GLAPIENTRYP EndPerfQueryINTEL)(GLuint queryHandle); /* 1097 */
+ void (GLAPIENTRYP GetFirstPerfQueryIdINTEL)(GLuint * queryId); /* 1098 */
+ void (GLAPIENTRYP GetNextPerfQueryIdINTEL)(GLuint queryId, GLuint * nextQueryId); /* 1099 */
+ void (GLAPIENTRYP GetPerfCounterInfoINTEL)(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar * counterName, GLuint counterDescLength, GLchar * counterDesc, GLuint * counterOffset, GLuint * counterDataSize, GLuint * counterTypeEnum, GLuint * counterDataTypeEnum, GLuint64 * rawCounterMaxValue); /* 1100 */
+ void (GLAPIENTRYP GetPerfQueryDataINTEL)(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid * data, GLuint * bytesWritten); /* 1101 */
+ void (GLAPIENTRYP GetPerfQueryIdByNameINTEL)(GLchar * queryName, GLuint * queryId); /* 1102 */
+ void (GLAPIENTRYP GetPerfQueryInfoINTEL)(GLuint queryId, GLuint queryNameLength, GLchar * queryName, GLuint * dataSize, GLuint * noCounters, GLuint * noInstances, GLuint * capsMask); /* 1103 */
+ void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 1104 */
+ void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 1105 */
+ void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 1106 */
+ void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 1107 */
+ void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 1108 */
+ void (GLAPIENTRYP AlphaFuncx)(GLenum func, GLclampx ref); /* 1109 */
+ void (GLAPIENTRYP ClearColorx)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); /* 1110 */
+ void (GLAPIENTRYP ClearDepthx)(GLclampx depth); /* 1111 */
+ void (GLAPIENTRYP Color4x)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); /* 1112 */
+ void (GLAPIENTRYP DepthRangex)(GLclampx zNear, GLclampx zFar); /* 1113 */
+ void (GLAPIENTRYP Fogx)(GLenum pname, GLfixed param); /* 1114 */
+ void (GLAPIENTRYP Fogxv)(GLenum pname, const GLfixed * params); /* 1115 */
+ void (GLAPIENTRYP Frustumf)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); /* 1116 */
+ void (GLAPIENTRYP Frustumx)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); /* 1117 */
+ void (GLAPIENTRYP LightModelx)(GLenum pname, GLfixed param); /* 1118 */
+ void (GLAPIENTRYP LightModelxv)(GLenum pname, const GLfixed * params); /* 1119 */
+ void (GLAPIENTRYP Lightx)(GLenum light, GLenum pname, GLfixed param); /* 1120 */
+ void (GLAPIENTRYP Lightxv)(GLenum light, GLenum pname, const GLfixed * params); /* 1121 */
+ void (GLAPIENTRYP LineWidthx)(GLfixed width); /* 1122 */
+ void (GLAPIENTRYP LoadMatrixx)(const GLfixed * m); /* 1123 */
+ void (GLAPIENTRYP Materialx)(GLenum face, GLenum pname, GLfixed param); /* 1124 */
+ void (GLAPIENTRYP Materialxv)(GLenum face, GLenum pname, const GLfixed * params); /* 1125 */
+ void (GLAPIENTRYP MultMatrixx)(const GLfixed * m); /* 1126 */
+ void (GLAPIENTRYP MultiTexCoord4x)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); /* 1127 */
+ void (GLAPIENTRYP Normal3x)(GLfixed nx, GLfixed ny, GLfixed nz); /* 1128 */
+ void (GLAPIENTRYP Orthof)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); /* 1129 */
+ void (GLAPIENTRYP Orthox)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); /* 1130 */
+ void (GLAPIENTRYP PointSizex)(GLfixed size); /* 1131 */
+ void (GLAPIENTRYP PolygonOffsetx)(GLfixed factor, GLfixed units); /* 1132 */
+ void (GLAPIENTRYP Rotatex)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); /* 1133 */
+ void (GLAPIENTRYP SampleCoveragex)(GLclampx value, GLboolean invert); /* 1134 */
+ void (GLAPIENTRYP Scalex)(GLfixed x, GLfixed y, GLfixed z); /* 1135 */
+ void (GLAPIENTRYP TexEnvx)(GLenum target, GLenum pname, GLfixed param); /* 1136 */
+ void (GLAPIENTRYP TexEnvxv)(GLenum target, GLenum pname, const GLfixed * params); /* 1137 */
+ void (GLAPIENTRYP TexParameterx)(GLenum target, GLenum pname, GLfixed param); /* 1138 */
+ void (GLAPIENTRYP Translatex)(GLfixed x, GLfixed y, GLfixed z); /* 1139 */
+ void (GLAPIENTRYP ClipPlanef)(GLenum plane, const GLfloat * equation); /* 1140 */
+ void (GLAPIENTRYP ClipPlanex)(GLenum plane, const GLfixed * equation); /* 1141 */
+ void (GLAPIENTRYP GetClipPlanef)(GLenum plane, GLfloat * equation); /* 1142 */
+ void (GLAPIENTRYP GetClipPlanex)(GLenum plane, GLfixed * equation); /* 1143 */
+ void (GLAPIENTRYP GetFixedv)(GLenum pname, GLfixed * params); /* 1144 */
+ void (GLAPIENTRYP GetLightxv)(GLenum light, GLenum pname, GLfixed * params); /* 1145 */
+ void (GLAPIENTRYP GetMaterialxv)(GLenum face, GLenum pname, GLfixed * params); /* 1146 */
+ void (GLAPIENTRYP GetTexEnvxv)(GLenum target, GLenum pname, GLfixed * params); /* 1147 */
+ void (GLAPIENTRYP GetTexParameterxv)(GLenum target, GLenum pname, GLfixed * params); /* 1148 */
+ void (GLAPIENTRYP PointParameterx)(GLenum pname, GLfixed param); /* 1149 */
+ void (GLAPIENTRYP PointParameterxv)(GLenum pname, const GLfixed * params); /* 1150 */
+ void (GLAPIENTRYP TexParameterxv)(GLenum target, GLenum pname, const GLfixed * params); /* 1151 */
+#endif /* !defined HAVE_SHARED_GLAPI */
+};
+
+#endif /* !defined( _GLAPI_TABLE_H_ ) */
diff --git a/xorg-server/glx/glfunctions.h b/xorg-server/glx/glfunctions.h
new file mode 100644
index 000000000..1c70a3535
--- /dev/null
+++ b/xorg-server/glx/glfunctions.h
@@ -0,0 +1,1190 @@
+/* DO NOT EDIT - This file generated automatically by gl_functions.py 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( __GLFUNCTIONS_H__ )
+# define __GLFUNCTIONS_H__
+
+
+#include "glapitable.h"
+#include "glapi.h"
+#include "u_thread.h"
+#include "dispatch.h"
+
+#define glNewList(a1, a2) CALL_NewList(GET_DISPATCH(), (a1, a2))
+#define glEndList() CALL_EndList(GET_DISPATCH(), ())
+#define glCallList(a1) CALL_CallList(GET_DISPATCH(), (a1))
+#define glCallLists(a1, a2, a3) CALL_CallLists(GET_DISPATCH(), (a1, a2, a3))
+#define glDeleteLists(a1, a2) CALL_DeleteLists(GET_DISPATCH(), (a1, a2))
+#define glGenLists(a1) CALL_GenLists(GET_DISPATCH(), (a1))
+#define glListBase(a1) CALL_ListBase(GET_DISPATCH(), (a1))
+#define glBegin(a1) CALL_Begin(GET_DISPATCH(), (a1))
+#define glBitmap(a1, a2, a3, a4, a5, a6, a7) CALL_Bitmap(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glColor3b(a1, a2, a3) CALL_Color3b(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3bv(a1) CALL_Color3bv(GET_DISPATCH(), (a1))
+#define glColor3d(a1, a2, a3) CALL_Color3d(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3dv(a1) CALL_Color3dv(GET_DISPATCH(), (a1))
+#define glColor3f(a1, a2, a3) CALL_Color3f(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3fv(a1) CALL_Color3fv(GET_DISPATCH(), (a1))
+#define glColor3i(a1, a2, a3) CALL_Color3i(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3iv(a1) CALL_Color3iv(GET_DISPATCH(), (a1))
+#define glColor3s(a1, a2, a3) CALL_Color3s(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3sv(a1) CALL_Color3sv(GET_DISPATCH(), (a1))
+#define glColor3ub(a1, a2, a3) CALL_Color3ub(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3ubv(a1) CALL_Color3ubv(GET_DISPATCH(), (a1))
+#define glColor3ui(a1, a2, a3) CALL_Color3ui(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3uiv(a1) CALL_Color3uiv(GET_DISPATCH(), (a1))
+#define glColor3us(a1, a2, a3) CALL_Color3us(GET_DISPATCH(), (a1, a2, a3))
+#define glColor3usv(a1) CALL_Color3usv(GET_DISPATCH(), (a1))
+#define glColor4b(a1, a2, a3, a4) CALL_Color4b(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4bv(a1) CALL_Color4bv(GET_DISPATCH(), (a1))
+#define glColor4d(a1, a2, a3, a4) CALL_Color4d(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4dv(a1) CALL_Color4dv(GET_DISPATCH(), (a1))
+#define glColor4f(a1, a2, a3, a4) CALL_Color4f(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4fv(a1) CALL_Color4fv(GET_DISPATCH(), (a1))
+#define glColor4i(a1, a2, a3, a4) CALL_Color4i(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4iv(a1) CALL_Color4iv(GET_DISPATCH(), (a1))
+#define glColor4s(a1, a2, a3, a4) CALL_Color4s(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4sv(a1) CALL_Color4sv(GET_DISPATCH(), (a1))
+#define glColor4ub(a1, a2, a3, a4) CALL_Color4ub(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4ubv(a1) CALL_Color4ubv(GET_DISPATCH(), (a1))
+#define glColor4ui(a1, a2, a3, a4) CALL_Color4ui(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4uiv(a1) CALL_Color4uiv(GET_DISPATCH(), (a1))
+#define glColor4us(a1, a2, a3, a4) CALL_Color4us(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glColor4usv(a1) CALL_Color4usv(GET_DISPATCH(), (a1))
+#define glEdgeFlag(a1) CALL_EdgeFlag(GET_DISPATCH(), (a1))
+#define glEdgeFlagv(a1) CALL_EdgeFlagv(GET_DISPATCH(), (a1))
+#define glEnd() CALL_End(GET_DISPATCH(), ())
+#define glIndexd(a1) CALL_Indexd(GET_DISPATCH(), (a1))
+#define glIndexdv(a1) CALL_Indexdv(GET_DISPATCH(), (a1))
+#define glIndexf(a1) CALL_Indexf(GET_DISPATCH(), (a1))
+#define glIndexfv(a1) CALL_Indexfv(GET_DISPATCH(), (a1))
+#define glIndexi(a1) CALL_Indexi(GET_DISPATCH(), (a1))
+#define glIndexiv(a1) CALL_Indexiv(GET_DISPATCH(), (a1))
+#define glIndexs(a1) CALL_Indexs(GET_DISPATCH(), (a1))
+#define glIndexsv(a1) CALL_Indexsv(GET_DISPATCH(), (a1))
+#define glNormal3b(a1, a2, a3) CALL_Normal3b(GET_DISPATCH(), (a1, a2, a3))
+#define glNormal3bv(a1) CALL_Normal3bv(GET_DISPATCH(), (a1))
+#define glNormal3d(a1, a2, a3) CALL_Normal3d(GET_DISPATCH(), (a1, a2, a3))
+#define glNormal3dv(a1) CALL_Normal3dv(GET_DISPATCH(), (a1))
+#define glNormal3f(a1, a2, a3) CALL_Normal3f(GET_DISPATCH(), (a1, a2, a3))
+#define glNormal3fv(a1) CALL_Normal3fv(GET_DISPATCH(), (a1))
+#define glNormal3i(a1, a2, a3) CALL_Normal3i(GET_DISPATCH(), (a1, a2, a3))
+#define glNormal3iv(a1) CALL_Normal3iv(GET_DISPATCH(), (a1))
+#define glNormal3s(a1, a2, a3) CALL_Normal3s(GET_DISPATCH(), (a1, a2, a3))
+#define glNormal3sv(a1) CALL_Normal3sv(GET_DISPATCH(), (a1))
+#define glRasterPos2d(a1, a2) CALL_RasterPos2d(GET_DISPATCH(), (a1, a2))
+#define glRasterPos2dv(a1) CALL_RasterPos2dv(GET_DISPATCH(), (a1))
+#define glRasterPos2f(a1, a2) CALL_RasterPos2f(GET_DISPATCH(), (a1, a2))
+#define glRasterPos2fv(a1) CALL_RasterPos2fv(GET_DISPATCH(), (a1))
+#define glRasterPos2i(a1, a2) CALL_RasterPos2i(GET_DISPATCH(), (a1, a2))
+#define glRasterPos2iv(a1) CALL_RasterPos2iv(GET_DISPATCH(), (a1))
+#define glRasterPos2s(a1, a2) CALL_RasterPos2s(GET_DISPATCH(), (a1, a2))
+#define glRasterPos2sv(a1) CALL_RasterPos2sv(GET_DISPATCH(), (a1))
+#define glRasterPos3d(a1, a2, a3) CALL_RasterPos3d(GET_DISPATCH(), (a1, a2, a3))
+#define glRasterPos3dv(a1) CALL_RasterPos3dv(GET_DISPATCH(), (a1))
+#define glRasterPos3f(a1, a2, a3) CALL_RasterPos3f(GET_DISPATCH(), (a1, a2, a3))
+#define glRasterPos3fv(a1) CALL_RasterPos3fv(GET_DISPATCH(), (a1))
+#define glRasterPos3i(a1, a2, a3) CALL_RasterPos3i(GET_DISPATCH(), (a1, a2, a3))
+#define glRasterPos3iv(a1) CALL_RasterPos3iv(GET_DISPATCH(), (a1))
+#define glRasterPos3s(a1, a2, a3) CALL_RasterPos3s(GET_DISPATCH(), (a1, a2, a3))
+#define glRasterPos3sv(a1) CALL_RasterPos3sv(GET_DISPATCH(), (a1))
+#define glRasterPos4d(a1, a2, a3, a4) CALL_RasterPos4d(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRasterPos4dv(a1) CALL_RasterPos4dv(GET_DISPATCH(), (a1))
+#define glRasterPos4f(a1, a2, a3, a4) CALL_RasterPos4f(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRasterPos4fv(a1) CALL_RasterPos4fv(GET_DISPATCH(), (a1))
+#define glRasterPos4i(a1, a2, a3, a4) CALL_RasterPos4i(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRasterPos4iv(a1) CALL_RasterPos4iv(GET_DISPATCH(), (a1))
+#define glRasterPos4s(a1, a2, a3, a4) CALL_RasterPos4s(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRasterPos4sv(a1) CALL_RasterPos4sv(GET_DISPATCH(), (a1))
+#define glRectd(a1, a2, a3, a4) CALL_Rectd(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRectdv(a1, a2) CALL_Rectdv(GET_DISPATCH(), (a1, a2))
+#define glRectf(a1, a2, a3, a4) CALL_Rectf(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRectfv(a1, a2) CALL_Rectfv(GET_DISPATCH(), (a1, a2))
+#define glRecti(a1, a2, a3, a4) CALL_Recti(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRectiv(a1, a2) CALL_Rectiv(GET_DISPATCH(), (a1, a2))
+#define glRects(a1, a2, a3, a4) CALL_Rects(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRectsv(a1, a2) CALL_Rectsv(GET_DISPATCH(), (a1, a2))
+#define glTexCoord1d(a1) CALL_TexCoord1d(GET_DISPATCH(), (a1))
+#define glTexCoord1dv(a1) CALL_TexCoord1dv(GET_DISPATCH(), (a1))
+#define glTexCoord1f(a1) CALL_TexCoord1f(GET_DISPATCH(), (a1))
+#define glTexCoord1fv(a1) CALL_TexCoord1fv(GET_DISPATCH(), (a1))
+#define glTexCoord1i(a1) CALL_TexCoord1i(GET_DISPATCH(), (a1))
+#define glTexCoord1iv(a1) CALL_TexCoord1iv(GET_DISPATCH(), (a1))
+#define glTexCoord1s(a1) CALL_TexCoord1s(GET_DISPATCH(), (a1))
+#define glTexCoord1sv(a1) CALL_TexCoord1sv(GET_DISPATCH(), (a1))
+#define glTexCoord2d(a1, a2) CALL_TexCoord2d(GET_DISPATCH(), (a1, a2))
+#define glTexCoord2dv(a1) CALL_TexCoord2dv(GET_DISPATCH(), (a1))
+#define glTexCoord2f(a1, a2) CALL_TexCoord2f(GET_DISPATCH(), (a1, a2))
+#define glTexCoord2fv(a1) CALL_TexCoord2fv(GET_DISPATCH(), (a1))
+#define glTexCoord2i(a1, a2) CALL_TexCoord2i(GET_DISPATCH(), (a1, a2))
+#define glTexCoord2iv(a1) CALL_TexCoord2iv(GET_DISPATCH(), (a1))
+#define glTexCoord2s(a1, a2) CALL_TexCoord2s(GET_DISPATCH(), (a1, a2))
+#define glTexCoord2sv(a1) CALL_TexCoord2sv(GET_DISPATCH(), (a1))
+#define glTexCoord3d(a1, a2, a3) CALL_TexCoord3d(GET_DISPATCH(), (a1, a2, a3))
+#define glTexCoord3dv(a1) CALL_TexCoord3dv(GET_DISPATCH(), (a1))
+#define glTexCoord3f(a1, a2, a3) CALL_TexCoord3f(GET_DISPATCH(), (a1, a2, a3))
+#define glTexCoord3fv(a1) CALL_TexCoord3fv(GET_DISPATCH(), (a1))
+#define glTexCoord3i(a1, a2, a3) CALL_TexCoord3i(GET_DISPATCH(), (a1, a2, a3))
+#define glTexCoord3iv(a1) CALL_TexCoord3iv(GET_DISPATCH(), (a1))
+#define glTexCoord3s(a1, a2, a3) CALL_TexCoord3s(GET_DISPATCH(), (a1, a2, a3))
+#define glTexCoord3sv(a1) CALL_TexCoord3sv(GET_DISPATCH(), (a1))
+#define glTexCoord4d(a1, a2, a3, a4) CALL_TexCoord4d(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glTexCoord4dv(a1) CALL_TexCoord4dv(GET_DISPATCH(), (a1))
+#define glTexCoord4f(a1, a2, a3, a4) CALL_TexCoord4f(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glTexCoord4fv(a1) CALL_TexCoord4fv(GET_DISPATCH(), (a1))
+#define glTexCoord4i(a1, a2, a3, a4) CALL_TexCoord4i(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glTexCoord4iv(a1) CALL_TexCoord4iv(GET_DISPATCH(), (a1))
+#define glTexCoord4s(a1, a2, a3, a4) CALL_TexCoord4s(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glTexCoord4sv(a1) CALL_TexCoord4sv(GET_DISPATCH(), (a1))
+#define glVertex2d(a1, a2) CALL_Vertex2d(GET_DISPATCH(), (a1, a2))
+#define glVertex2dv(a1) CALL_Vertex2dv(GET_DISPATCH(), (a1))
+#define glVertex2f(a1, a2) CALL_Vertex2f(GET_DISPATCH(), (a1, a2))
+#define glVertex2fv(a1) CALL_Vertex2fv(GET_DISPATCH(), (a1))
+#define glVertex2i(a1, a2) CALL_Vertex2i(GET_DISPATCH(), (a1, a2))
+#define glVertex2iv(a1) CALL_Vertex2iv(GET_DISPATCH(), (a1))
+#define glVertex2s(a1, a2) CALL_Vertex2s(GET_DISPATCH(), (a1, a2))
+#define glVertex2sv(a1) CALL_Vertex2sv(GET_DISPATCH(), (a1))
+#define glVertex3d(a1, a2, a3) CALL_Vertex3d(GET_DISPATCH(), (a1, a2, a3))
+#define glVertex3dv(a1) CALL_Vertex3dv(GET_DISPATCH(), (a1))
+#define glVertex3f(a1, a2, a3) CALL_Vertex3f(GET_DISPATCH(), (a1, a2, a3))
+#define glVertex3fv(a1) CALL_Vertex3fv(GET_DISPATCH(), (a1))
+#define glVertex3i(a1, a2, a3) CALL_Vertex3i(GET_DISPATCH(), (a1, a2, a3))
+#define glVertex3iv(a1) CALL_Vertex3iv(GET_DISPATCH(), (a1))
+#define glVertex3s(a1, a2, a3) CALL_Vertex3s(GET_DISPATCH(), (a1, a2, a3))
+#define glVertex3sv(a1) CALL_Vertex3sv(GET_DISPATCH(), (a1))
+#define glVertex4d(a1, a2, a3, a4) CALL_Vertex4d(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertex4dv(a1) CALL_Vertex4dv(GET_DISPATCH(), (a1))
+#define glVertex4f(a1, a2, a3, a4) CALL_Vertex4f(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertex4fv(a1) CALL_Vertex4fv(GET_DISPATCH(), (a1))
+#define glVertex4i(a1, a2, a3, a4) CALL_Vertex4i(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertex4iv(a1) CALL_Vertex4iv(GET_DISPATCH(), (a1))
+#define glVertex4s(a1, a2, a3, a4) CALL_Vertex4s(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertex4sv(a1) CALL_Vertex4sv(GET_DISPATCH(), (a1))
+#define glClipPlane(a1, a2) CALL_ClipPlane(GET_DISPATCH(), (a1, a2))
+#define glColorMaterial(a1, a2) CALL_ColorMaterial(GET_DISPATCH(), (a1, a2))
+#define glCullFace(a1) CALL_CullFace(GET_DISPATCH(), (a1))
+#define glFogf(a1, a2) CALL_Fogf(GET_DISPATCH(), (a1, a2))
+#define glFogfv(a1, a2) CALL_Fogfv(GET_DISPATCH(), (a1, a2))
+#define glFogi(a1, a2) CALL_Fogi(GET_DISPATCH(), (a1, a2))
+#define glFogiv(a1, a2) CALL_Fogiv(GET_DISPATCH(), (a1, a2))
+#define glFrontFace(a1) CALL_FrontFace(GET_DISPATCH(), (a1))
+#define glHint(a1, a2) CALL_Hint(GET_DISPATCH(), (a1, a2))
+#define glLightf(a1, a2, a3) CALL_Lightf(GET_DISPATCH(), (a1, a2, a3))
+#define glLightfv(a1, a2, a3) CALL_Lightfv(GET_DISPATCH(), (a1, a2, a3))
+#define glLighti(a1, a2, a3) CALL_Lighti(GET_DISPATCH(), (a1, a2, a3))
+#define glLightiv(a1, a2, a3) CALL_Lightiv(GET_DISPATCH(), (a1, a2, a3))
+#define glLightModelf(a1, a2) CALL_LightModelf(GET_DISPATCH(), (a1, a2))
+#define glLightModelfv(a1, a2) CALL_LightModelfv(GET_DISPATCH(), (a1, a2))
+#define glLightModeli(a1, a2) CALL_LightModeli(GET_DISPATCH(), (a1, a2))
+#define glLightModeliv(a1, a2) CALL_LightModeliv(GET_DISPATCH(), (a1, a2))
+#define glLineStipple(a1, a2) CALL_LineStipple(GET_DISPATCH(), (a1, a2))
+#define glLineWidth(a1) CALL_LineWidth(GET_DISPATCH(), (a1))
+#define glMaterialf(a1, a2, a3) CALL_Materialf(GET_DISPATCH(), (a1, a2, a3))
+#define glMaterialfv(a1, a2, a3) CALL_Materialfv(GET_DISPATCH(), (a1, a2, a3))
+#define glMateriali(a1, a2, a3) CALL_Materiali(GET_DISPATCH(), (a1, a2, a3))
+#define glMaterialiv(a1, a2, a3) CALL_Materialiv(GET_DISPATCH(), (a1, a2, a3))
+#define glPointSize(a1) CALL_PointSize(GET_DISPATCH(), (a1))
+#define glPolygonMode(a1, a2) CALL_PolygonMode(GET_DISPATCH(), (a1, a2))
+#define glPolygonStipple(a1) CALL_PolygonStipple(GET_DISPATCH(), (a1))
+#define glScissor(a1, a2, a3, a4) CALL_Scissor(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glShadeModel(a1) CALL_ShadeModel(GET_DISPATCH(), (a1))
+#define glTexParameterf(a1, a2, a3) CALL_TexParameterf(GET_DISPATCH(), (a1, a2, a3))
+#define glTexParameterfv(a1, a2, a3) CALL_TexParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexParameteri(a1, a2, a3) CALL_TexParameteri(GET_DISPATCH(), (a1, a2, a3))
+#define glTexParameteriv(a1, a2, a3) CALL_TexParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexImage1D(a1, a2, a3, a4, a5, a6, a7, a8) CALL_TexImage1D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glTexImage2D(a1, a2, a3, a4, a5, a6, a7, a8, a9) CALL_TexImage2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9))
+#define glTexEnvf(a1, a2, a3) CALL_TexEnvf(GET_DISPATCH(), (a1, a2, a3))
+#define glTexEnvfv(a1, a2, a3) CALL_TexEnvfv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexEnvi(a1, a2, a3) CALL_TexEnvi(GET_DISPATCH(), (a1, a2, a3))
+#define glTexEnviv(a1, a2, a3) CALL_TexEnviv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGend(a1, a2, a3) CALL_TexGend(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGendv(a1, a2, a3) CALL_TexGendv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGenf(a1, a2, a3) CALL_TexGenf(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGenfv(a1, a2, a3) CALL_TexGenfv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGeni(a1, a2, a3) CALL_TexGeni(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGeniv(a1, a2, a3) CALL_TexGeniv(GET_DISPATCH(), (a1, a2, a3))
+#define glFeedbackBuffer(a1, a2, a3) CALL_FeedbackBuffer(GET_DISPATCH(), (a1, a2, a3))
+#define glSelectBuffer(a1, a2) CALL_SelectBuffer(GET_DISPATCH(), (a1, a2))
+#define glRenderMode(a1) CALL_RenderMode(GET_DISPATCH(), (a1))
+#define glInitNames() CALL_InitNames(GET_DISPATCH(), ())
+#define glLoadName(a1) CALL_LoadName(GET_DISPATCH(), (a1))
+#define glPassThrough(a1) CALL_PassThrough(GET_DISPATCH(), (a1))
+#define glPopName() CALL_PopName(GET_DISPATCH(), ())
+#define glPushName(a1) CALL_PushName(GET_DISPATCH(), (a1))
+#define glDrawBuffer(a1) CALL_DrawBuffer(GET_DISPATCH(), (a1))
+#define glClear(a1) CALL_Clear(GET_DISPATCH(), (a1))
+#define glClearAccum(a1, a2, a3, a4) CALL_ClearAccum(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glClearIndex(a1) CALL_ClearIndex(GET_DISPATCH(), (a1))
+#define glClearColor(a1, a2, a3, a4) CALL_ClearColor(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glClearStencil(a1) CALL_ClearStencil(GET_DISPATCH(), (a1))
+#define glClearDepth(a1) CALL_ClearDepth(GET_DISPATCH(), (a1))
+#define glStencilMask(a1) CALL_StencilMask(GET_DISPATCH(), (a1))
+#define glColorMask(a1, a2, a3, a4) CALL_ColorMask(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glDepthMask(a1) CALL_DepthMask(GET_DISPATCH(), (a1))
+#define glIndexMask(a1) CALL_IndexMask(GET_DISPATCH(), (a1))
+#define glAccum(a1, a2) CALL_Accum(GET_DISPATCH(), (a1, a2))
+#define glDisable(a1) CALL_Disable(GET_DISPATCH(), (a1))
+#define glEnable(a1) CALL_Enable(GET_DISPATCH(), (a1))
+#define glFinish() CALL_Finish(GET_DISPATCH(), ())
+#define glFlush() CALL_Flush(GET_DISPATCH(), ())
+#define glPopAttrib() CALL_PopAttrib(GET_DISPATCH(), ())
+#define glPushAttrib(a1) CALL_PushAttrib(GET_DISPATCH(), (a1))
+#define glMap1d(a1, a2, a3, a4, a5, a6) CALL_Map1d(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glMap1f(a1, a2, a3, a4, a5, a6) CALL_Map1f(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glMap2d(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) CALL_Map2d(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10))
+#define glMap2f(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) CALL_Map2f(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10))
+#define glMapGrid1d(a1, a2, a3) CALL_MapGrid1d(GET_DISPATCH(), (a1, a2, a3))
+#define glMapGrid1f(a1, a2, a3) CALL_MapGrid1f(GET_DISPATCH(), (a1, a2, a3))
+#define glMapGrid2d(a1, a2, a3, a4, a5, a6) CALL_MapGrid2d(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glMapGrid2f(a1, a2, a3, a4, a5, a6) CALL_MapGrid2f(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glEvalCoord1d(a1) CALL_EvalCoord1d(GET_DISPATCH(), (a1))
+#define glEvalCoord1dv(a1) CALL_EvalCoord1dv(GET_DISPATCH(), (a1))
+#define glEvalCoord1f(a1) CALL_EvalCoord1f(GET_DISPATCH(), (a1))
+#define glEvalCoord1fv(a1) CALL_EvalCoord1fv(GET_DISPATCH(), (a1))
+#define glEvalCoord2d(a1, a2) CALL_EvalCoord2d(GET_DISPATCH(), (a1, a2))
+#define glEvalCoord2dv(a1) CALL_EvalCoord2dv(GET_DISPATCH(), (a1))
+#define glEvalCoord2f(a1, a2) CALL_EvalCoord2f(GET_DISPATCH(), (a1, a2))
+#define glEvalCoord2fv(a1) CALL_EvalCoord2fv(GET_DISPATCH(), (a1))
+#define glEvalMesh1(a1, a2, a3) CALL_EvalMesh1(GET_DISPATCH(), (a1, a2, a3))
+#define glEvalPoint1(a1) CALL_EvalPoint1(GET_DISPATCH(), (a1))
+#define glEvalMesh2(a1, a2, a3, a4, a5) CALL_EvalMesh2(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glEvalPoint2(a1, a2) CALL_EvalPoint2(GET_DISPATCH(), (a1, a2))
+#define glAlphaFunc(a1, a2) CALL_AlphaFunc(GET_DISPATCH(), (a1, a2))
+#define glBlendFunc(a1, a2) CALL_BlendFunc(GET_DISPATCH(), (a1, a2))
+#define glLogicOp(a1) CALL_LogicOp(GET_DISPATCH(), (a1))
+#define glStencilFunc(a1, a2, a3) CALL_StencilFunc(GET_DISPATCH(), (a1, a2, a3))
+#define glStencilOp(a1, a2, a3) CALL_StencilOp(GET_DISPATCH(), (a1, a2, a3))
+#define glDepthFunc(a1) CALL_DepthFunc(GET_DISPATCH(), (a1))
+#define glPixelZoom(a1, a2) CALL_PixelZoom(GET_DISPATCH(), (a1, a2))
+#define glPixelTransferf(a1, a2) CALL_PixelTransferf(GET_DISPATCH(), (a1, a2))
+#define glPixelTransferi(a1, a2) CALL_PixelTransferi(GET_DISPATCH(), (a1, a2))
+#define glPixelStoref(a1, a2) CALL_PixelStoref(GET_DISPATCH(), (a1, a2))
+#define glPixelStorei(a1, a2) CALL_PixelStorei(GET_DISPATCH(), (a1, a2))
+#define glPixelMapfv(a1, a2, a3) CALL_PixelMapfv(GET_DISPATCH(), (a1, a2, a3))
+#define glPixelMapuiv(a1, a2, a3) CALL_PixelMapuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glPixelMapusv(a1, a2, a3) CALL_PixelMapusv(GET_DISPATCH(), (a1, a2, a3))
+#define glReadBuffer(a1) CALL_ReadBuffer(GET_DISPATCH(), (a1))
+#define glCopyPixels(a1, a2, a3, a4, a5) CALL_CopyPixels(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glReadPixels(a1, a2, a3, a4, a5, a6, a7) CALL_ReadPixels(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glDrawPixels(a1, a2, a3, a4, a5) CALL_DrawPixels(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetBooleanv(a1, a2) CALL_GetBooleanv(GET_DISPATCH(), (a1, a2))
+#define glGetClipPlane(a1, a2) CALL_GetClipPlane(GET_DISPATCH(), (a1, a2))
+#define glGetDoublev(a1, a2) CALL_GetDoublev(GET_DISPATCH(), (a1, a2))
+#define glGetError() CALL_GetError(GET_DISPATCH(), ())
+#define glGetFloatv(a1, a2) CALL_GetFloatv(GET_DISPATCH(), (a1, a2))
+#define glGetIntegerv(a1, a2) CALL_GetIntegerv(GET_DISPATCH(), (a1, a2))
+#define glGetLightfv(a1, a2, a3) CALL_GetLightfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetLightiv(a1, a2, a3) CALL_GetLightiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMapdv(a1, a2, a3) CALL_GetMapdv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMapfv(a1, a2, a3) CALL_GetMapfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMapiv(a1, a2, a3) CALL_GetMapiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMaterialfv(a1, a2, a3) CALL_GetMaterialfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMaterialiv(a1, a2, a3) CALL_GetMaterialiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetPixelMapfv(a1, a2) CALL_GetPixelMapfv(GET_DISPATCH(), (a1, a2))
+#define glGetPixelMapuiv(a1, a2) CALL_GetPixelMapuiv(GET_DISPATCH(), (a1, a2))
+#define glGetPixelMapusv(a1, a2) CALL_GetPixelMapusv(GET_DISPATCH(), (a1, a2))
+#define glGetPolygonStipple(a1) CALL_GetPolygonStipple(GET_DISPATCH(), (a1))
+#define glGetString(a1) CALL_GetString(GET_DISPATCH(), (a1))
+#define glGetTexEnvfv(a1, a2, a3) CALL_GetTexEnvfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexEnviv(a1, a2, a3) CALL_GetTexEnviv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexGendv(a1, a2, a3) CALL_GetTexGendv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexGenfv(a1, a2, a3) CALL_GetTexGenfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexGeniv(a1, a2, a3) CALL_GetTexGeniv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexImage(a1, a2, a3, a4, a5) CALL_GetTexImage(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetTexParameterfv(a1, a2, a3) CALL_GetTexParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexParameteriv(a1, a2, a3) CALL_GetTexParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexLevelParameterfv(a1, a2, a3, a4) CALL_GetTexLevelParameterfv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetTexLevelParameteriv(a1, a2, a3, a4) CALL_GetTexLevelParameteriv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glIsEnabled(a1) CALL_IsEnabled(GET_DISPATCH(), (a1))
+#define glIsList(a1) CALL_IsList(GET_DISPATCH(), (a1))
+#define glDepthRange(a1, a2) CALL_DepthRange(GET_DISPATCH(), (a1, a2))
+#define glFrustum(a1, a2, a3, a4, a5, a6) CALL_Frustum(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glLoadIdentity() CALL_LoadIdentity(GET_DISPATCH(), ())
+#define glLoadMatrixf(a1) CALL_LoadMatrixf(GET_DISPATCH(), (a1))
+#define glLoadMatrixd(a1) CALL_LoadMatrixd(GET_DISPATCH(), (a1))
+#define glMatrixMode(a1) CALL_MatrixMode(GET_DISPATCH(), (a1))
+#define glMultMatrixf(a1) CALL_MultMatrixf(GET_DISPATCH(), (a1))
+#define glMultMatrixd(a1) CALL_MultMatrixd(GET_DISPATCH(), (a1))
+#define glOrtho(a1, a2, a3, a4, a5, a6) CALL_Ortho(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glPopMatrix() CALL_PopMatrix(GET_DISPATCH(), ())
+#define glPushMatrix() CALL_PushMatrix(GET_DISPATCH(), ())
+#define glRotated(a1, a2, a3, a4) CALL_Rotated(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRotatef(a1, a2, a3, a4) CALL_Rotatef(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glScaled(a1, a2, a3) CALL_Scaled(GET_DISPATCH(), (a1, a2, a3))
+#define glScalef(a1, a2, a3) CALL_Scalef(GET_DISPATCH(), (a1, a2, a3))
+#define glTranslated(a1, a2, a3) CALL_Translated(GET_DISPATCH(), (a1, a2, a3))
+#define glTranslatef(a1, a2, a3) CALL_Translatef(GET_DISPATCH(), (a1, a2, a3))
+#define glViewport(a1, a2, a3, a4) CALL_Viewport(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glArrayElement(a1) CALL_ArrayElement(GET_DISPATCH(), (a1))
+#define glBindTexture(a1, a2) CALL_BindTexture(GET_DISPATCH(), (a1, a2))
+#define glColorPointer(a1, a2, a3, a4) CALL_ColorPointer(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glDisableClientState(a1) CALL_DisableClientState(GET_DISPATCH(), (a1))
+#define glDrawArrays(a1, a2, a3) CALL_DrawArrays(GET_DISPATCH(), (a1, a2, a3))
+#define glDrawElements(a1, a2, a3, a4) CALL_DrawElements(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glEdgeFlagPointer(a1, a2) CALL_EdgeFlagPointer(GET_DISPATCH(), (a1, a2))
+#define glEnableClientState(a1) CALL_EnableClientState(GET_DISPATCH(), (a1))
+#define glIndexPointer(a1, a2, a3) CALL_IndexPointer(GET_DISPATCH(), (a1, a2, a3))
+#define glIndexub(a1) CALL_Indexub(GET_DISPATCH(), (a1))
+#define glIndexubv(a1) CALL_Indexubv(GET_DISPATCH(), (a1))
+#define glInterleavedArrays(a1, a2, a3) CALL_InterleavedArrays(GET_DISPATCH(), (a1, a2, a3))
+#define glNormalPointer(a1, a2, a3) CALL_NormalPointer(GET_DISPATCH(), (a1, a2, a3))
+#define glPolygonOffset(a1, a2) CALL_PolygonOffset(GET_DISPATCH(), (a1, a2))
+#define glTexCoordPointer(a1, a2, a3, a4) CALL_TexCoordPointer(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexPointer(a1, a2, a3, a4) CALL_VertexPointer(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glAreTexturesResident(a1, a2, a3) CALL_AreTexturesResident(GET_DISPATCH(), (a1, a2, a3))
+#define glCopyTexImage1D(a1, a2, a3, a4, a5, a6, a7) CALL_CopyTexImage1D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glCopyTexImage2D(a1, a2, a3, a4, a5, a6, a7, a8) CALL_CopyTexImage2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glCopyTexSubImage1D(a1, a2, a3, a4, a5, a6) CALL_CopyTexSubImage1D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glCopyTexSubImage2D(a1, a2, a3, a4, a5, a6, a7, a8) CALL_CopyTexSubImage2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glDeleteTextures(a1, a2) CALL_DeleteTextures(GET_DISPATCH(), (a1, a2))
+#define glGenTextures(a1, a2) CALL_GenTextures(GET_DISPATCH(), (a1, a2))
+#define glGetPointerv(a1, a2) CALL_GetPointerv(GET_DISPATCH(), (a1, a2))
+#define glIsTexture(a1) CALL_IsTexture(GET_DISPATCH(), (a1))
+#define glPrioritizeTextures(a1, a2, a3) CALL_PrioritizeTextures(GET_DISPATCH(), (a1, a2, a3))
+#define glTexSubImage1D(a1, a2, a3, a4, a5, a6, a7) CALL_TexSubImage1D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glTexSubImage2D(a1, a2, a3, a4, a5, a6, a7, a8, a9) CALL_TexSubImage2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9))
+#define glPopClientAttrib() CALL_PopClientAttrib(GET_DISPATCH(), ())
+#define glPushClientAttrib(a1) CALL_PushClientAttrib(GET_DISPATCH(), (a1))
+#define glBlendColor(a1, a2, a3, a4) CALL_BlendColor(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBlendEquation(a1) CALL_BlendEquation(GET_DISPATCH(), (a1))
+#define glDrawRangeElements(a1, a2, a3, a4, a5, a6) CALL_DrawRangeElements(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glColorTable(a1, a2, a3, a4, a5, a6) CALL_ColorTable(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glColorTableParameterfv(a1, a2, a3) CALL_ColorTableParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glColorTableParameteriv(a1, a2, a3) CALL_ColorTableParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glCopyColorTable(a1, a2, a3, a4, a5) CALL_CopyColorTable(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetColorTable(a1, a2, a3, a4) CALL_GetColorTable(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetColorTableParameterfv(a1, a2, a3) CALL_GetColorTableParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetColorTableParameteriv(a1, a2, a3) CALL_GetColorTableParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glColorSubTable(a1, a2, a3, a4, a5, a6) CALL_ColorSubTable(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glCopyColorSubTable(a1, a2, a3, a4, a5) CALL_CopyColorSubTable(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glConvolutionFilter1D(a1, a2, a3, a4, a5, a6) CALL_ConvolutionFilter1D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glConvolutionFilter2D(a1, a2, a3, a4, a5, a6, a7) CALL_ConvolutionFilter2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glConvolutionParameterf(a1, a2, a3) CALL_ConvolutionParameterf(GET_DISPATCH(), (a1, a2, a3))
+#define glConvolutionParameterfv(a1, a2, a3) CALL_ConvolutionParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glConvolutionParameteri(a1, a2, a3) CALL_ConvolutionParameteri(GET_DISPATCH(), (a1, a2, a3))
+#define glConvolutionParameteriv(a1, a2, a3) CALL_ConvolutionParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glCopyConvolutionFilter1D(a1, a2, a3, a4, a5) CALL_CopyConvolutionFilter1D(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glCopyConvolutionFilter2D(a1, a2, a3, a4, a5, a6) CALL_CopyConvolutionFilter2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glGetConvolutionFilter(a1, a2, a3, a4) CALL_GetConvolutionFilter(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetConvolutionParameterfv(a1, a2, a3) CALL_GetConvolutionParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetConvolutionParameteriv(a1, a2, a3) CALL_GetConvolutionParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetSeparableFilter(a1, a2, a3, a4, a5, a6) CALL_GetSeparableFilter(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glSeparableFilter2D(a1, a2, a3, a4, a5, a6, a7, a8) CALL_SeparableFilter2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glGetHistogram(a1, a2, a3, a4, a5) CALL_GetHistogram(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetHistogramParameterfv(a1, a2, a3) CALL_GetHistogramParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetHistogramParameteriv(a1, a2, a3) CALL_GetHistogramParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMinmax(a1, a2, a3, a4, a5) CALL_GetMinmax(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetMinmaxParameterfv(a1, a2, a3) CALL_GetMinmaxParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMinmaxParameteriv(a1, a2, a3) CALL_GetMinmaxParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glHistogram(a1, a2, a3, a4) CALL_Histogram(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glMinmax(a1, a2, a3) CALL_Minmax(GET_DISPATCH(), (a1, a2, a3))
+#define glResetHistogram(a1) CALL_ResetHistogram(GET_DISPATCH(), (a1))
+#define glResetMinmax(a1) CALL_ResetMinmax(GET_DISPATCH(), (a1))
+#define glTexImage3D(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) CALL_TexImage3D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10))
+#define glTexSubImage3D(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) CALL_TexSubImage3D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11))
+#define glCopyTexSubImage3D(a1, a2, a3, a4, a5, a6, a7, a8, a9) CALL_CopyTexSubImage3D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9))
+#define glActiveTexture(a1) CALL_ActiveTexture(GET_DISPATCH(), (a1))
+#define glClientActiveTexture(a1) CALL_ClientActiveTexture(GET_DISPATCH(), (a1))
+#define glMultiTexCoord1d(a1, a2) CALL_MultiTexCoord1d(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord1dv(a1, a2) CALL_MultiTexCoord1dv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord1fARB(a1, a2) CALL_MultiTexCoord1fARB(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord1fvARB(a1, a2) CALL_MultiTexCoord1fvARB(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord1i(a1, a2) CALL_MultiTexCoord1i(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord1iv(a1, a2) CALL_MultiTexCoord1iv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord1s(a1, a2) CALL_MultiTexCoord1s(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord1sv(a1, a2) CALL_MultiTexCoord1sv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord2d(a1, a2, a3) CALL_MultiTexCoord2d(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoord2dv(a1, a2) CALL_MultiTexCoord2dv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord2fARB(a1, a2, a3) CALL_MultiTexCoord2fARB(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoord2fvARB(a1, a2) CALL_MultiTexCoord2fvARB(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord2i(a1, a2, a3) CALL_MultiTexCoord2i(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoord2iv(a1, a2) CALL_MultiTexCoord2iv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord2s(a1, a2, a3) CALL_MultiTexCoord2s(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoord2sv(a1, a2) CALL_MultiTexCoord2sv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord3d(a1, a2, a3, a4) CALL_MultiTexCoord3d(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glMultiTexCoord3dv(a1, a2) CALL_MultiTexCoord3dv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord3fARB(a1, a2, a3, a4) CALL_MultiTexCoord3fARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glMultiTexCoord3fvARB(a1, a2) CALL_MultiTexCoord3fvARB(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord3i(a1, a2, a3, a4) CALL_MultiTexCoord3i(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glMultiTexCoord3iv(a1, a2) CALL_MultiTexCoord3iv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord3s(a1, a2, a3, a4) CALL_MultiTexCoord3s(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glMultiTexCoord3sv(a1, a2) CALL_MultiTexCoord3sv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord4d(a1, a2, a3, a4, a5) CALL_MultiTexCoord4d(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glMultiTexCoord4dv(a1, a2) CALL_MultiTexCoord4dv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord4fARB(a1, a2, a3, a4, a5) CALL_MultiTexCoord4fARB(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glMultiTexCoord4fvARB(a1, a2) CALL_MultiTexCoord4fvARB(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord4i(a1, a2, a3, a4, a5) CALL_MultiTexCoord4i(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glMultiTexCoord4iv(a1, a2) CALL_MultiTexCoord4iv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoord4s(a1, a2, a3, a4, a5) CALL_MultiTexCoord4s(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glMultiTexCoord4sv(a1, a2) CALL_MultiTexCoord4sv(GET_DISPATCH(), (a1, a2))
+#define glCompressedTexImage1D(a1, a2, a3, a4, a5, a6, a7) CALL_CompressedTexImage1D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glCompressedTexImage2D(a1, a2, a3, a4, a5, a6, a7, a8) CALL_CompressedTexImage2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glCompressedTexImage3D(a1, a2, a3, a4, a5, a6, a7, a8, a9) CALL_CompressedTexImage3D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9))
+#define glCompressedTexSubImage1D(a1, a2, a3, a4, a5, a6, a7) CALL_CompressedTexSubImage1D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glCompressedTexSubImage2D(a1, a2, a3, a4, a5, a6, a7, a8, a9) CALL_CompressedTexSubImage2D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9))
+#define glCompressedTexSubImage3D(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) CALL_CompressedTexSubImage3D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11))
+#define glGetCompressedTexImage(a1, a2, a3) CALL_GetCompressedTexImage(GET_DISPATCH(), (a1, a2, a3))
+#define glLoadTransposeMatrixd(a1) CALL_LoadTransposeMatrixd(GET_DISPATCH(), (a1))
+#define glLoadTransposeMatrixf(a1) CALL_LoadTransposeMatrixf(GET_DISPATCH(), (a1))
+#define glMultTransposeMatrixd(a1) CALL_MultTransposeMatrixd(GET_DISPATCH(), (a1))
+#define glMultTransposeMatrixf(a1) CALL_MultTransposeMatrixf(GET_DISPATCH(), (a1))
+#define glSampleCoverage(a1, a2) CALL_SampleCoverage(GET_DISPATCH(), (a1, a2))
+#define glBlendFuncSeparate(a1, a2, a3, a4) CALL_BlendFuncSeparate(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glFogCoordPointer(a1, a2, a3) CALL_FogCoordPointer(GET_DISPATCH(), (a1, a2, a3))
+#define glFogCoordd(a1) CALL_FogCoordd(GET_DISPATCH(), (a1))
+#define glFogCoorddv(a1) CALL_FogCoorddv(GET_DISPATCH(), (a1))
+#define glMultiDrawArrays(a1, a2, a3, a4) CALL_MultiDrawArrays(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glPointParameterf(a1, a2) CALL_PointParameterf(GET_DISPATCH(), (a1, a2))
+#define glPointParameterfv(a1, a2) CALL_PointParameterfv(GET_DISPATCH(), (a1, a2))
+#define glPointParameteri(a1, a2) CALL_PointParameteri(GET_DISPATCH(), (a1, a2))
+#define glPointParameteriv(a1, a2) CALL_PointParameteriv(GET_DISPATCH(), (a1, a2))
+#define glSecondaryColor3b(a1, a2, a3) CALL_SecondaryColor3b(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3bv(a1) CALL_SecondaryColor3bv(GET_DISPATCH(), (a1))
+#define glSecondaryColor3d(a1, a2, a3) CALL_SecondaryColor3d(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3dv(a1) CALL_SecondaryColor3dv(GET_DISPATCH(), (a1))
+#define glSecondaryColor3i(a1, a2, a3) CALL_SecondaryColor3i(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3iv(a1) CALL_SecondaryColor3iv(GET_DISPATCH(), (a1))
+#define glSecondaryColor3s(a1, a2, a3) CALL_SecondaryColor3s(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3sv(a1) CALL_SecondaryColor3sv(GET_DISPATCH(), (a1))
+#define glSecondaryColor3ub(a1, a2, a3) CALL_SecondaryColor3ub(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3ubv(a1) CALL_SecondaryColor3ubv(GET_DISPATCH(), (a1))
+#define glSecondaryColor3ui(a1, a2, a3) CALL_SecondaryColor3ui(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3uiv(a1) CALL_SecondaryColor3uiv(GET_DISPATCH(), (a1))
+#define glSecondaryColor3us(a1, a2, a3) CALL_SecondaryColor3us(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3usv(a1) CALL_SecondaryColor3usv(GET_DISPATCH(), (a1))
+#define glSecondaryColorPointer(a1, a2, a3, a4) CALL_SecondaryColorPointer(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glWindowPos2d(a1, a2) CALL_WindowPos2d(GET_DISPATCH(), (a1, a2))
+#define glWindowPos2dv(a1) CALL_WindowPos2dv(GET_DISPATCH(), (a1))
+#define glWindowPos2f(a1, a2) CALL_WindowPos2f(GET_DISPATCH(), (a1, a2))
+#define glWindowPos2fv(a1) CALL_WindowPos2fv(GET_DISPATCH(), (a1))
+#define glWindowPos2i(a1, a2) CALL_WindowPos2i(GET_DISPATCH(), (a1, a2))
+#define glWindowPos2iv(a1) CALL_WindowPos2iv(GET_DISPATCH(), (a1))
+#define glWindowPos2s(a1, a2) CALL_WindowPos2s(GET_DISPATCH(), (a1, a2))
+#define glWindowPos2sv(a1) CALL_WindowPos2sv(GET_DISPATCH(), (a1))
+#define glWindowPos3d(a1, a2, a3) CALL_WindowPos3d(GET_DISPATCH(), (a1, a2, a3))
+#define glWindowPos3dv(a1) CALL_WindowPos3dv(GET_DISPATCH(), (a1))
+#define glWindowPos3f(a1, a2, a3) CALL_WindowPos3f(GET_DISPATCH(), (a1, a2, a3))
+#define glWindowPos3fv(a1) CALL_WindowPos3fv(GET_DISPATCH(), (a1))
+#define glWindowPos3i(a1, a2, a3) CALL_WindowPos3i(GET_DISPATCH(), (a1, a2, a3))
+#define glWindowPos3iv(a1) CALL_WindowPos3iv(GET_DISPATCH(), (a1))
+#define glWindowPos3s(a1, a2, a3) CALL_WindowPos3s(GET_DISPATCH(), (a1, a2, a3))
+#define glWindowPos3sv(a1) CALL_WindowPos3sv(GET_DISPATCH(), (a1))
+#define glBeginQuery(a1, a2) CALL_BeginQuery(GET_DISPATCH(), (a1, a2))
+#define glBindBuffer(a1, a2) CALL_BindBuffer(GET_DISPATCH(), (a1, a2))
+#define glBufferData(a1, a2, a3, a4) CALL_BufferData(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBufferSubData(a1, a2, a3, a4) CALL_BufferSubData(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glDeleteBuffers(a1, a2) CALL_DeleteBuffers(GET_DISPATCH(), (a1, a2))
+#define glDeleteQueries(a1, a2) CALL_DeleteQueries(GET_DISPATCH(), (a1, a2))
+#define glEndQuery(a1) CALL_EndQuery(GET_DISPATCH(), (a1))
+#define glGenBuffers(a1, a2) CALL_GenBuffers(GET_DISPATCH(), (a1, a2))
+#define glGenQueries(a1, a2) CALL_GenQueries(GET_DISPATCH(), (a1, a2))
+#define glGetBufferParameteriv(a1, a2, a3) CALL_GetBufferParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetBufferPointerv(a1, a2, a3) CALL_GetBufferPointerv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetBufferSubData(a1, a2, a3, a4) CALL_GetBufferSubData(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetQueryObjectiv(a1, a2, a3) CALL_GetQueryObjectiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetQueryObjectuiv(a1, a2, a3) CALL_GetQueryObjectuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetQueryiv(a1, a2, a3) CALL_GetQueryiv(GET_DISPATCH(), (a1, a2, a3))
+#define glIsBuffer(a1) CALL_IsBuffer(GET_DISPATCH(), (a1))
+#define glIsQuery(a1) CALL_IsQuery(GET_DISPATCH(), (a1))
+#define glMapBuffer(a1, a2) CALL_MapBuffer(GET_DISPATCH(), (a1, a2))
+#define glUnmapBuffer(a1) CALL_UnmapBuffer(GET_DISPATCH(), (a1))
+#define glAttachShader(a1, a2) CALL_AttachShader(GET_DISPATCH(), (a1, a2))
+#define glBindAttribLocation(a1, a2, a3) CALL_BindAttribLocation(GET_DISPATCH(), (a1, a2, a3))
+#define glBlendEquationSeparate(a1, a2) CALL_BlendEquationSeparate(GET_DISPATCH(), (a1, a2))
+#define glCompileShader(a1) CALL_CompileShader(GET_DISPATCH(), (a1))
+#define glCreateProgram() CALL_CreateProgram(GET_DISPATCH(), ())
+#define glCreateShader(a1) CALL_CreateShader(GET_DISPATCH(), (a1))
+#define glDeleteProgram(a1) CALL_DeleteProgram(GET_DISPATCH(), (a1))
+#define glDeleteShader(a1) CALL_DeleteShader(GET_DISPATCH(), (a1))
+#define glDetachShader(a1, a2) CALL_DetachShader(GET_DISPATCH(), (a1, a2))
+#define glDisableVertexAttribArray(a1) CALL_DisableVertexAttribArray(GET_DISPATCH(), (a1))
+#define glDrawBuffers(a1, a2) CALL_DrawBuffers(GET_DISPATCH(), (a1, a2))
+#define glEnableVertexAttribArray(a1) CALL_EnableVertexAttribArray(GET_DISPATCH(), (a1))
+#define glGetActiveAttrib(a1, a2, a3, a4, a5, a6, a7) CALL_GetActiveAttrib(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glGetActiveUniform(a1, a2, a3, a4, a5, a6, a7) CALL_GetActiveUniform(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glGetAttachedShaders(a1, a2, a3, a4) CALL_GetAttachedShaders(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetAttribLocation(a1, a2) CALL_GetAttribLocation(GET_DISPATCH(), (a1, a2))
+#define glGetProgramInfoLog(a1, a2, a3, a4) CALL_GetProgramInfoLog(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetProgramiv(a1, a2, a3) CALL_GetProgramiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetShaderInfoLog(a1, a2, a3, a4) CALL_GetShaderInfoLog(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetShaderSource(a1, a2, a3, a4) CALL_GetShaderSource(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetShaderiv(a1, a2, a3) CALL_GetShaderiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetUniformLocation(a1, a2) CALL_GetUniformLocation(GET_DISPATCH(), (a1, a2))
+#define glGetUniformfv(a1, a2, a3) CALL_GetUniformfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetUniformiv(a1, a2, a3) CALL_GetUniformiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribPointerv(a1, a2, a3) CALL_GetVertexAttribPointerv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribdv(a1, a2, a3) CALL_GetVertexAttribdv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribfv(a1, a2, a3) CALL_GetVertexAttribfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribiv(a1, a2, a3) CALL_GetVertexAttribiv(GET_DISPATCH(), (a1, a2, a3))
+#define glIsProgram(a1) CALL_IsProgram(GET_DISPATCH(), (a1))
+#define glIsShader(a1) CALL_IsShader(GET_DISPATCH(), (a1))
+#define glLinkProgram(a1) CALL_LinkProgram(GET_DISPATCH(), (a1))
+#define glShaderSource(a1, a2, a3, a4) CALL_ShaderSource(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glStencilFuncSeparate(a1, a2, a3, a4) CALL_StencilFuncSeparate(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glStencilMaskSeparate(a1, a2) CALL_StencilMaskSeparate(GET_DISPATCH(), (a1, a2))
+#define glStencilOpSeparate(a1, a2, a3, a4) CALL_StencilOpSeparate(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniform1f(a1, a2) CALL_Uniform1f(GET_DISPATCH(), (a1, a2))
+#define glUniform1fv(a1, a2, a3) CALL_Uniform1fv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform1i(a1, a2) CALL_Uniform1i(GET_DISPATCH(), (a1, a2))
+#define glUniform1iv(a1, a2, a3) CALL_Uniform1iv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform2f(a1, a2, a3) CALL_Uniform2f(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform2fv(a1, a2, a3) CALL_Uniform2fv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform2i(a1, a2, a3) CALL_Uniform2i(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform2iv(a1, a2, a3) CALL_Uniform2iv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform3f(a1, a2, a3, a4) CALL_Uniform3f(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniform3fv(a1, a2, a3) CALL_Uniform3fv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform3i(a1, a2, a3, a4) CALL_Uniform3i(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniform3iv(a1, a2, a3) CALL_Uniform3iv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform4f(a1, a2, a3, a4, a5) CALL_Uniform4f(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glUniform4fv(a1, a2, a3) CALL_Uniform4fv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform4i(a1, a2, a3, a4, a5) CALL_Uniform4i(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glUniform4iv(a1, a2, a3) CALL_Uniform4iv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniformMatrix2fv(a1, a2, a3, a4) CALL_UniformMatrix2fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformMatrix3fv(a1, a2, a3, a4) CALL_UniformMatrix3fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformMatrix4fv(a1, a2, a3, a4) CALL_UniformMatrix4fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUseProgram(a1) CALL_UseProgram(GET_DISPATCH(), (a1))
+#define glValidateProgram(a1) CALL_ValidateProgram(GET_DISPATCH(), (a1))
+#define glVertexAttrib1d(a1, a2) CALL_VertexAttrib1d(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1dv(a1, a2) CALL_VertexAttrib1dv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1s(a1, a2) CALL_VertexAttrib1s(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1sv(a1, a2) CALL_VertexAttrib1sv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib2d(a1, a2, a3) CALL_VertexAttrib2d(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttrib2dv(a1, a2) CALL_VertexAttrib2dv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib2s(a1, a2, a3) CALL_VertexAttrib2s(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttrib2sv(a1, a2) CALL_VertexAttrib2sv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib3d(a1, a2, a3, a4) CALL_VertexAttrib3d(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib3dv(a1, a2) CALL_VertexAttrib3dv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib3s(a1, a2, a3, a4) CALL_VertexAttrib3s(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib3sv(a1, a2) CALL_VertexAttrib3sv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4Nbv(a1, a2) CALL_VertexAttrib4Nbv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4Niv(a1, a2) CALL_VertexAttrib4Niv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4Nsv(a1, a2) CALL_VertexAttrib4Nsv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4Nub(a1, a2, a3, a4, a5) CALL_VertexAttrib4Nub(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4Nubv(a1, a2) CALL_VertexAttrib4Nubv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4Nuiv(a1, a2) CALL_VertexAttrib4Nuiv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4Nusv(a1, a2) CALL_VertexAttrib4Nusv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4bv(a1, a2) CALL_VertexAttrib4bv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4d(a1, a2, a3, a4, a5) CALL_VertexAttrib4d(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4dv(a1, a2) CALL_VertexAttrib4dv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4iv(a1, a2) CALL_VertexAttrib4iv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4s(a1, a2, a3, a4, a5) CALL_VertexAttrib4s(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4sv(a1, a2) CALL_VertexAttrib4sv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4ubv(a1, a2) CALL_VertexAttrib4ubv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4uiv(a1, a2) CALL_VertexAttrib4uiv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4usv(a1, a2) CALL_VertexAttrib4usv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribPointer(a1, a2, a3, a4, a5, a6) CALL_VertexAttribPointer(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glUniformMatrix2x3fv(a1, a2, a3, a4) CALL_UniformMatrix2x3fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformMatrix2x4fv(a1, a2, a3, a4) CALL_UniformMatrix2x4fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformMatrix3x2fv(a1, a2, a3, a4) CALL_UniformMatrix3x2fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformMatrix3x4fv(a1, a2, a3, a4) CALL_UniformMatrix3x4fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformMatrix4x2fv(a1, a2, a3, a4) CALL_UniformMatrix4x2fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformMatrix4x3fv(a1, a2, a3, a4) CALL_UniformMatrix4x3fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBeginConditionalRender(a1, a2) CALL_BeginConditionalRender(GET_DISPATCH(), (a1, a2))
+#define glBeginTransformFeedback(a1) CALL_BeginTransformFeedback(GET_DISPATCH(), (a1))
+#define glBindBufferBase(a1, a2, a3) CALL_BindBufferBase(GET_DISPATCH(), (a1, a2, a3))
+#define glBindBufferRange(a1, a2, a3, a4, a5) CALL_BindBufferRange(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glBindFragDataLocation(a1, a2, a3) CALL_BindFragDataLocation(GET_DISPATCH(), (a1, a2, a3))
+#define glClampColor(a1, a2) CALL_ClampColor(GET_DISPATCH(), (a1, a2))
+#define glClearBufferfi(a1, a2, a3, a4) CALL_ClearBufferfi(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glClearBufferfv(a1, a2, a3) CALL_ClearBufferfv(GET_DISPATCH(), (a1, a2, a3))
+#define glClearBufferiv(a1, a2, a3) CALL_ClearBufferiv(GET_DISPATCH(), (a1, a2, a3))
+#define glClearBufferuiv(a1, a2, a3) CALL_ClearBufferuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glColorMaski(a1, a2, a3, a4, a5) CALL_ColorMaski(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDisablei(a1, a2) CALL_Disablei(GET_DISPATCH(), (a1, a2))
+#define glEnablei(a1, a2) CALL_Enablei(GET_DISPATCH(), (a1, a2))
+#define glEndConditionalRender() CALL_EndConditionalRender(GET_DISPATCH(), ())
+#define glEndTransformFeedback() CALL_EndTransformFeedback(GET_DISPATCH(), ())
+#define glGetBooleani_v(a1, a2, a3) CALL_GetBooleani_v(GET_DISPATCH(), (a1, a2, a3))
+#define glGetFragDataLocation(a1, a2) CALL_GetFragDataLocation(GET_DISPATCH(), (a1, a2))
+#define glGetIntegeri_v(a1, a2, a3) CALL_GetIntegeri_v(GET_DISPATCH(), (a1, a2, a3))
+#define glGetStringi(a1, a2) CALL_GetStringi(GET_DISPATCH(), (a1, a2))
+#define glGetTexParameterIiv(a1, a2, a3) CALL_GetTexParameterIiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexParameterIuiv(a1, a2, a3) CALL_GetTexParameterIuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTransformFeedbackVarying(a1, a2, a3, a4, a5, a6, a7) CALL_GetTransformFeedbackVarying(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glGetUniformuiv(a1, a2, a3) CALL_GetUniformuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribIiv(a1, a2, a3) CALL_GetVertexAttribIiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribIuiv(a1, a2, a3) CALL_GetVertexAttribIuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glIsEnabledi(a1, a2) CALL_IsEnabledi(GET_DISPATCH(), (a1, a2))
+#define glTexParameterIiv(a1, a2, a3) CALL_TexParameterIiv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexParameterIuiv(a1, a2, a3) CALL_TexParameterIuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glTransformFeedbackVaryings(a1, a2, a3, a4) CALL_TransformFeedbackVaryings(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniform1ui(a1, a2) CALL_Uniform1ui(GET_DISPATCH(), (a1, a2))
+#define glUniform1uiv(a1, a2, a3) CALL_Uniform1uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform2ui(a1, a2, a3) CALL_Uniform2ui(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform2uiv(a1, a2, a3) CALL_Uniform2uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform3ui(a1, a2, a3, a4) CALL_Uniform3ui(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniform3uiv(a1, a2, a3) CALL_Uniform3uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glUniform4ui(a1, a2, a3, a4, a5) CALL_Uniform4ui(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glUniform4uiv(a1, a2, a3) CALL_Uniform4uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribI1iv(a1, a2) CALL_VertexAttribI1iv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI1uiv(a1, a2) CALL_VertexAttribI1uiv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI4bv(a1, a2) CALL_VertexAttribI4bv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI4sv(a1, a2) CALL_VertexAttribI4sv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI4ubv(a1, a2) CALL_VertexAttribI4ubv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI4usv(a1, a2) CALL_VertexAttribI4usv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribIPointer(a1, a2, a3, a4, a5) CALL_VertexAttribIPointer(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glPrimitiveRestartIndex(a1) CALL_PrimitiveRestartIndex(GET_DISPATCH(), (a1))
+#define glTexBuffer(a1, a2, a3) CALL_TexBuffer(GET_DISPATCH(), (a1, a2, a3))
+#define glFramebufferTexture(a1, a2, a3, a4) CALL_FramebufferTexture(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetBufferParameteri64v(a1, a2, a3) CALL_GetBufferParameteri64v(GET_DISPATCH(), (a1, a2, a3))
+#define glGetInteger64i_v(a1, a2, a3) CALL_GetInteger64i_v(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribDivisor(a1, a2) CALL_VertexAttribDivisor(GET_DISPATCH(), (a1, a2))
+#define glMinSampleShading(a1) CALL_MinSampleShading(GET_DISPATCH(), (a1))
+#define glBindProgramARB(a1, a2) CALL_BindProgramARB(GET_DISPATCH(), (a1, a2))
+#define glDeleteProgramsARB(a1, a2) CALL_DeleteProgramsARB(GET_DISPATCH(), (a1, a2))
+#define glGenProgramsARB(a1, a2) CALL_GenProgramsARB(GET_DISPATCH(), (a1, a2))
+#define glGetProgramEnvParameterdvARB(a1, a2, a3) CALL_GetProgramEnvParameterdvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetProgramEnvParameterfvARB(a1, a2, a3) CALL_GetProgramEnvParameterfvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetProgramLocalParameterdvARB(a1, a2, a3) CALL_GetProgramLocalParameterdvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetProgramLocalParameterfvARB(a1, a2, a3) CALL_GetProgramLocalParameterfvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetProgramStringARB(a1, a2, a3) CALL_GetProgramStringARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetProgramivARB(a1, a2, a3) CALL_GetProgramivARB(GET_DISPATCH(), (a1, a2, a3))
+#define glIsProgramARB(a1) CALL_IsProgramARB(GET_DISPATCH(), (a1))
+#define glProgramEnvParameter4dARB(a1, a2, a3, a4, a5, a6) CALL_ProgramEnvParameter4dARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProgramEnvParameter4dvARB(a1, a2, a3) CALL_ProgramEnvParameter4dvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glProgramEnvParameter4fARB(a1, a2, a3, a4, a5, a6) CALL_ProgramEnvParameter4fARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProgramEnvParameter4fvARB(a1, a2, a3) CALL_ProgramEnvParameter4fvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glProgramLocalParameter4dARB(a1, a2, a3, a4, a5, a6) CALL_ProgramLocalParameter4dARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProgramLocalParameter4dvARB(a1, a2, a3) CALL_ProgramLocalParameter4dvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glProgramLocalParameter4fARB(a1, a2, a3, a4, a5, a6) CALL_ProgramLocalParameter4fARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProgramLocalParameter4fvARB(a1, a2, a3) CALL_ProgramLocalParameter4fvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glProgramStringARB(a1, a2, a3, a4) CALL_ProgramStringARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib1fARB(a1, a2) CALL_VertexAttrib1fARB(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1fvARB(a1, a2) CALL_VertexAttrib1fvARB(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib2fARB(a1, a2, a3) CALL_VertexAttrib2fARB(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttrib2fvARB(a1, a2) CALL_VertexAttrib2fvARB(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib3fARB(a1, a2, a3, a4) CALL_VertexAttrib3fARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib3fvARB(a1, a2) CALL_VertexAttrib3fvARB(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4fARB(a1, a2, a3, a4, a5) CALL_VertexAttrib4fARB(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4fvARB(a1, a2) CALL_VertexAttrib4fvARB(GET_DISPATCH(), (a1, a2))
+#define glAttachObjectARB(a1, a2) CALL_AttachObjectARB(GET_DISPATCH(), (a1, a2))
+#define glCreateProgramObjectARB() CALL_CreateProgramObjectARB(GET_DISPATCH(), ())
+#define glCreateShaderObjectARB(a1) CALL_CreateShaderObjectARB(GET_DISPATCH(), (a1))
+#define glDeleteObjectARB(a1) CALL_DeleteObjectARB(GET_DISPATCH(), (a1))
+#define glDetachObjectARB(a1, a2) CALL_DetachObjectARB(GET_DISPATCH(), (a1, a2))
+#define glGetAttachedObjectsARB(a1, a2, a3, a4) CALL_GetAttachedObjectsARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetHandleARB(a1) CALL_GetHandleARB(GET_DISPATCH(), (a1))
+#define glGetInfoLogARB(a1, a2, a3, a4) CALL_GetInfoLogARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetObjectParameterfvARB(a1, a2, a3) CALL_GetObjectParameterfvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetObjectParameterivARB(a1, a2, a3) CALL_GetObjectParameterivARB(GET_DISPATCH(), (a1, a2, a3))
+#define glDrawArraysInstancedARB(a1, a2, a3, a4) CALL_DrawArraysInstancedARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glDrawElementsInstancedARB(a1, a2, a3, a4, a5) CALL_DrawElementsInstancedARB(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glBindFramebuffer(a1, a2) CALL_BindFramebuffer(GET_DISPATCH(), (a1, a2))
+#define glBindRenderbuffer(a1, a2) CALL_BindRenderbuffer(GET_DISPATCH(), (a1, a2))
+#define glBlitFramebuffer(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) CALL_BlitFramebuffer(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10))
+#define glCheckFramebufferStatus(a1) CALL_CheckFramebufferStatus(GET_DISPATCH(), (a1))
+#define glDeleteFramebuffers(a1, a2) CALL_DeleteFramebuffers(GET_DISPATCH(), (a1, a2))
+#define glDeleteRenderbuffers(a1, a2) CALL_DeleteRenderbuffers(GET_DISPATCH(), (a1, a2))
+#define glFramebufferRenderbuffer(a1, a2, a3, a4) CALL_FramebufferRenderbuffer(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glFramebufferTexture1D(a1, a2, a3, a4, a5) CALL_FramebufferTexture1D(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glFramebufferTexture2D(a1, a2, a3, a4, a5) CALL_FramebufferTexture2D(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glFramebufferTexture3D(a1, a2, a3, a4, a5, a6) CALL_FramebufferTexture3D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glFramebufferTextureLayer(a1, a2, a3, a4, a5) CALL_FramebufferTextureLayer(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGenFramebuffers(a1, a2) CALL_GenFramebuffers(GET_DISPATCH(), (a1, a2))
+#define glGenRenderbuffers(a1, a2) CALL_GenRenderbuffers(GET_DISPATCH(), (a1, a2))
+#define glGenerateMipmap(a1) CALL_GenerateMipmap(GET_DISPATCH(), (a1))
+#define glGetFramebufferAttachmentParameteriv(a1, a2, a3, a4) CALL_GetFramebufferAttachmentParameteriv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetRenderbufferParameteriv(a1, a2, a3) CALL_GetRenderbufferParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glIsFramebuffer(a1) CALL_IsFramebuffer(GET_DISPATCH(), (a1))
+#define glIsRenderbuffer(a1) CALL_IsRenderbuffer(GET_DISPATCH(), (a1))
+#define glRenderbufferStorage(a1, a2, a3, a4) CALL_RenderbufferStorage(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRenderbufferStorageMultisample(a1, a2, a3, a4, a5) CALL_RenderbufferStorageMultisample(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glFramebufferTextureFaceARB(a1, a2, a3, a4, a5) CALL_FramebufferTextureFaceARB(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glFlushMappedBufferRange(a1, a2, a3) CALL_FlushMappedBufferRange(GET_DISPATCH(), (a1, a2, a3))
+#define glMapBufferRange(a1, a2, a3, a4) CALL_MapBufferRange(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBindVertexArray(a1) CALL_BindVertexArray(GET_DISPATCH(), (a1))
+#define glDeleteVertexArrays(a1, a2) CALL_DeleteVertexArrays(GET_DISPATCH(), (a1, a2))
+#define glGenVertexArrays(a1, a2) CALL_GenVertexArrays(GET_DISPATCH(), (a1, a2))
+#define glIsVertexArray(a1) CALL_IsVertexArray(GET_DISPATCH(), (a1))
+#define glGetActiveUniformBlockName(a1, a2, a3, a4, a5) CALL_GetActiveUniformBlockName(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetActiveUniformBlockiv(a1, a2, a3, a4) CALL_GetActiveUniformBlockiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetActiveUniformName(a1, a2, a3, a4, a5) CALL_GetActiveUniformName(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetActiveUniformsiv(a1, a2, a3, a4, a5) CALL_GetActiveUniformsiv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetUniformBlockIndex(a1, a2) CALL_GetUniformBlockIndex(GET_DISPATCH(), (a1, a2))
+#define glGetUniformIndices(a1, a2, a3, a4) CALL_GetUniformIndices(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glUniformBlockBinding(a1, a2, a3) CALL_UniformBlockBinding(GET_DISPATCH(), (a1, a2, a3))
+#define glCopyBufferSubData(a1, a2, a3, a4, a5) CALL_CopyBufferSubData(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glClientWaitSync(a1, a2, a3) CALL_ClientWaitSync(GET_DISPATCH(), (a1, a2, a3))
+#define glDeleteSync(a1) CALL_DeleteSync(GET_DISPATCH(), (a1))
+#define glFenceSync(a1, a2) CALL_FenceSync(GET_DISPATCH(), (a1, a2))
+#define glGetInteger64v(a1, a2) CALL_GetInteger64v(GET_DISPATCH(), (a1, a2))
+#define glGetSynciv(a1, a2, a3, a4, a5) CALL_GetSynciv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glIsSync(a1) CALL_IsSync(GET_DISPATCH(), (a1))
+#define glWaitSync(a1, a2, a3) CALL_WaitSync(GET_DISPATCH(), (a1, a2, a3))
+#define glDrawElementsBaseVertex(a1, a2, a3, a4, a5) CALL_DrawElementsBaseVertex(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDrawElementsInstancedBaseVertex(a1, a2, a3, a4, a5, a6) CALL_DrawElementsInstancedBaseVertex(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glDrawRangeElementsBaseVertex(a1, a2, a3, a4, a5, a6, a7) CALL_DrawRangeElementsBaseVertex(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glMultiDrawElementsBaseVertex(a1, a2, a3, a4, a5, a6) CALL_MultiDrawElementsBaseVertex(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProvokingVertex(a1) CALL_ProvokingVertex(GET_DISPATCH(), (a1))
+#define glGetMultisamplefv(a1, a2, a3) CALL_GetMultisamplefv(GET_DISPATCH(), (a1, a2, a3))
+#define glSampleMaski(a1, a2) CALL_SampleMaski(GET_DISPATCH(), (a1, a2))
+#define glTexImage2DMultisample(a1, a2, a3, a4, a5, a6) CALL_TexImage2DMultisample(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glTexImage3DMultisample(a1, a2, a3, a4, a5, a6, a7) CALL_TexImage3DMultisample(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glBlendEquationSeparateiARB(a1, a2, a3) CALL_BlendEquationSeparateiARB(GET_DISPATCH(), (a1, a2, a3))
+#define glBlendEquationiARB(a1, a2) CALL_BlendEquationiARB(GET_DISPATCH(), (a1, a2))
+#define glBlendFuncSeparateiARB(a1, a2, a3, a4, a5) CALL_BlendFuncSeparateiARB(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glBlendFunciARB(a1, a2, a3) CALL_BlendFunciARB(GET_DISPATCH(), (a1, a2, a3))
+#define glBindFragDataLocationIndexed(a1, a2, a3, a4) CALL_BindFragDataLocationIndexed(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetFragDataIndex(a1, a2) CALL_GetFragDataIndex(GET_DISPATCH(), (a1, a2))
+#define glBindSampler(a1, a2) CALL_BindSampler(GET_DISPATCH(), (a1, a2))
+#define glDeleteSamplers(a1, a2) CALL_DeleteSamplers(GET_DISPATCH(), (a1, a2))
+#define glGenSamplers(a1, a2) CALL_GenSamplers(GET_DISPATCH(), (a1, a2))
+#define glGetSamplerParameterIiv(a1, a2, a3) CALL_GetSamplerParameterIiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetSamplerParameterIuiv(a1, a2, a3) CALL_GetSamplerParameterIuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetSamplerParameterfv(a1, a2, a3) CALL_GetSamplerParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetSamplerParameteriv(a1, a2, a3) CALL_GetSamplerParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glIsSampler(a1) CALL_IsSampler(GET_DISPATCH(), (a1))
+#define glSamplerParameterIiv(a1, a2, a3) CALL_SamplerParameterIiv(GET_DISPATCH(), (a1, a2, a3))
+#define glSamplerParameterIuiv(a1, a2, a3) CALL_SamplerParameterIuiv(GET_DISPATCH(), (a1, a2, a3))
+#define glSamplerParameterf(a1, a2, a3) CALL_SamplerParameterf(GET_DISPATCH(), (a1, a2, a3))
+#define glSamplerParameterfv(a1, a2, a3) CALL_SamplerParameterfv(GET_DISPATCH(), (a1, a2, a3))
+#define glSamplerParameteri(a1, a2, a3) CALL_SamplerParameteri(GET_DISPATCH(), (a1, a2, a3))
+#define glSamplerParameteriv(a1, a2, a3) CALL_SamplerParameteriv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetQueryObjecti64v(a1, a2, a3) CALL_GetQueryObjecti64v(GET_DISPATCH(), (a1, a2, a3))
+#define glGetQueryObjectui64v(a1, a2, a3) CALL_GetQueryObjectui64v(GET_DISPATCH(), (a1, a2, a3))
+#define glQueryCounter(a1, a2) CALL_QueryCounter(GET_DISPATCH(), (a1, a2))
+#define glColorP3ui(a1, a2) CALL_ColorP3ui(GET_DISPATCH(), (a1, a2))
+#define glColorP3uiv(a1, a2) CALL_ColorP3uiv(GET_DISPATCH(), (a1, a2))
+#define glColorP4ui(a1, a2) CALL_ColorP4ui(GET_DISPATCH(), (a1, a2))
+#define glColorP4uiv(a1, a2) CALL_ColorP4uiv(GET_DISPATCH(), (a1, a2))
+#define glMultiTexCoordP1ui(a1, a2, a3) CALL_MultiTexCoordP1ui(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoordP1uiv(a1, a2, a3) CALL_MultiTexCoordP1uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoordP2ui(a1, a2, a3) CALL_MultiTexCoordP2ui(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoordP2uiv(a1, a2, a3) CALL_MultiTexCoordP2uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoordP3ui(a1, a2, a3) CALL_MultiTexCoordP3ui(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoordP3uiv(a1, a2, a3) CALL_MultiTexCoordP3uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoordP4ui(a1, a2, a3) CALL_MultiTexCoordP4ui(GET_DISPATCH(), (a1, a2, a3))
+#define glMultiTexCoordP4uiv(a1, a2, a3) CALL_MultiTexCoordP4uiv(GET_DISPATCH(), (a1, a2, a3))
+#define glNormalP3ui(a1, a2) CALL_NormalP3ui(GET_DISPATCH(), (a1, a2))
+#define glNormalP3uiv(a1, a2) CALL_NormalP3uiv(GET_DISPATCH(), (a1, a2))
+#define glSecondaryColorP3ui(a1, a2) CALL_SecondaryColorP3ui(GET_DISPATCH(), (a1, a2))
+#define glSecondaryColorP3uiv(a1, a2) CALL_SecondaryColorP3uiv(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP1ui(a1, a2) CALL_TexCoordP1ui(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP1uiv(a1, a2) CALL_TexCoordP1uiv(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP2ui(a1, a2) CALL_TexCoordP2ui(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP2uiv(a1, a2) CALL_TexCoordP2uiv(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP3ui(a1, a2) CALL_TexCoordP3ui(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP3uiv(a1, a2) CALL_TexCoordP3uiv(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP4ui(a1, a2) CALL_TexCoordP4ui(GET_DISPATCH(), (a1, a2))
+#define glTexCoordP4uiv(a1, a2) CALL_TexCoordP4uiv(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribP1ui(a1, a2, a3, a4) CALL_VertexAttribP1ui(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribP1uiv(a1, a2, a3, a4) CALL_VertexAttribP1uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribP2ui(a1, a2, a3, a4) CALL_VertexAttribP2ui(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribP2uiv(a1, a2, a3, a4) CALL_VertexAttribP2uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribP3ui(a1, a2, a3, a4) CALL_VertexAttribP3ui(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribP3uiv(a1, a2, a3, a4) CALL_VertexAttribP3uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribP4ui(a1, a2, a3, a4) CALL_VertexAttribP4ui(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribP4uiv(a1, a2, a3, a4) CALL_VertexAttribP4uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexP2ui(a1, a2) CALL_VertexP2ui(GET_DISPATCH(), (a1, a2))
+#define glVertexP2uiv(a1, a2) CALL_VertexP2uiv(GET_DISPATCH(), (a1, a2))
+#define glVertexP3ui(a1, a2) CALL_VertexP3ui(GET_DISPATCH(), (a1, a2))
+#define glVertexP3uiv(a1, a2) CALL_VertexP3uiv(GET_DISPATCH(), (a1, a2))
+#define glVertexP4ui(a1, a2) CALL_VertexP4ui(GET_DISPATCH(), (a1, a2))
+#define glVertexP4uiv(a1, a2) CALL_VertexP4uiv(GET_DISPATCH(), (a1, a2))
+#define glDrawArraysIndirect(a1, a2) CALL_DrawArraysIndirect(GET_DISPATCH(), (a1, a2))
+#define glDrawElementsIndirect(a1, a2, a3) CALL_DrawElementsIndirect(GET_DISPATCH(), (a1, a2, a3))
+#define glBindTransformFeedback(a1, a2) CALL_BindTransformFeedback(GET_DISPATCH(), (a1, a2))
+#define glDeleteTransformFeedbacks(a1, a2) CALL_DeleteTransformFeedbacks(GET_DISPATCH(), (a1, a2))
+#define glDrawTransformFeedback(a1, a2) CALL_DrawTransformFeedback(GET_DISPATCH(), (a1, a2))
+#define glGenTransformFeedbacks(a1, a2) CALL_GenTransformFeedbacks(GET_DISPATCH(), (a1, a2))
+#define glIsTransformFeedback(a1) CALL_IsTransformFeedback(GET_DISPATCH(), (a1))
+#define glPauseTransformFeedback() CALL_PauseTransformFeedback(GET_DISPATCH(), ())
+#define glResumeTransformFeedback() CALL_ResumeTransformFeedback(GET_DISPATCH(), ())
+#define glBeginQueryIndexed(a1, a2, a3) CALL_BeginQueryIndexed(GET_DISPATCH(), (a1, a2, a3))
+#define glDrawTransformFeedbackStream(a1, a2, a3) CALL_DrawTransformFeedbackStream(GET_DISPATCH(), (a1, a2, a3))
+#define glEndQueryIndexed(a1, a2) CALL_EndQueryIndexed(GET_DISPATCH(), (a1, a2))
+#define glGetQueryIndexediv(a1, a2, a3, a4) CALL_GetQueryIndexediv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glClearDepthf(a1) CALL_ClearDepthf(GET_DISPATCH(), (a1))
+#define glDepthRangef(a1, a2) CALL_DepthRangef(GET_DISPATCH(), (a1, a2))
+#define glGetShaderPrecisionFormat(a1, a2, a3, a4) CALL_GetShaderPrecisionFormat(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glReleaseShaderCompiler() CALL_ReleaseShaderCompiler(GET_DISPATCH(), ())
+#define glShaderBinary(a1, a2, a3, a4, a5) CALL_ShaderBinary(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetProgramBinary(a1, a2, a3, a4, a5) CALL_GetProgramBinary(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramBinary(a1, a2, a3, a4) CALL_ProgramBinary(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramParameteri(a1, a2, a3) CALL_ProgramParameteri(GET_DISPATCH(), (a1, a2, a3))
+#define glDepthRangeArrayv(a1, a2, a3) CALL_DepthRangeArrayv(GET_DISPATCH(), (a1, a2, a3))
+#define glDepthRangeIndexed(a1, a2, a3) CALL_DepthRangeIndexed(GET_DISPATCH(), (a1, a2, a3))
+#define glGetDoublei_v(a1, a2, a3) CALL_GetDoublei_v(GET_DISPATCH(), (a1, a2, a3))
+#define glGetFloati_v(a1, a2, a3) CALL_GetFloati_v(GET_DISPATCH(), (a1, a2, a3))
+#define glScissorArrayv(a1, a2, a3) CALL_ScissorArrayv(GET_DISPATCH(), (a1, a2, a3))
+#define glScissorIndexed(a1, a2, a3, a4, a5) CALL_ScissorIndexed(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glScissorIndexedv(a1, a2) CALL_ScissorIndexedv(GET_DISPATCH(), (a1, a2))
+#define glViewportArrayv(a1, a2, a3) CALL_ViewportArrayv(GET_DISPATCH(), (a1, a2, a3))
+#define glViewportIndexedf(a1, a2, a3, a4, a5) CALL_ViewportIndexedf(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glViewportIndexedfv(a1, a2) CALL_ViewportIndexedfv(GET_DISPATCH(), (a1, a2))
+#define glGetGraphicsResetStatusARB() CALL_GetGraphicsResetStatusARB(GET_DISPATCH(), ())
+#define glGetnColorTableARB(a1, a2, a3, a4, a5) CALL_GetnColorTableARB(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetnCompressedTexImageARB(a1, a2, a3, a4) CALL_GetnCompressedTexImageARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetnConvolutionFilterARB(a1, a2, a3, a4, a5) CALL_GetnConvolutionFilterARB(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetnHistogramARB(a1, a2, a3, a4, a5, a6) CALL_GetnHistogramARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glGetnMapdvARB(a1, a2, a3, a4) CALL_GetnMapdvARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetnMapfvARB(a1, a2, a3, a4) CALL_GetnMapfvARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetnMapivARB(a1, a2, a3, a4) CALL_GetnMapivARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetnMinmaxARB(a1, a2, a3, a4, a5, a6) CALL_GetnMinmaxARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glGetnPixelMapfvARB(a1, a2, a3) CALL_GetnPixelMapfvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetnPixelMapuivARB(a1, a2, a3) CALL_GetnPixelMapuivARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetnPixelMapusvARB(a1, a2, a3) CALL_GetnPixelMapusvARB(GET_DISPATCH(), (a1, a2, a3))
+#define glGetnPolygonStippleARB(a1, a2) CALL_GetnPolygonStippleARB(GET_DISPATCH(), (a1, a2))
+#define glGetnSeparableFilterARB(a1, a2, a3, a4, a5, a6, a7, a8) CALL_GetnSeparableFilterARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glGetnTexImageARB(a1, a2, a3, a4, a5, a6) CALL_GetnTexImageARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glGetnUniformdvARB(a1, a2, a3, a4) CALL_GetnUniformdvARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetnUniformfvARB(a1, a2, a3, a4) CALL_GetnUniformfvARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetnUniformivARB(a1, a2, a3, a4) CALL_GetnUniformivARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetnUniformuivARB(a1, a2, a3, a4) CALL_GetnUniformuivARB(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glReadnPixelsARB(a1, a2, a3, a4, a5, a6, a7, a8) CALL_ReadnPixelsARB(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glDrawArraysInstancedBaseInstance(a1, a2, a3, a4, a5) CALL_DrawArraysInstancedBaseInstance(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDrawElementsInstancedBaseInstance(a1, a2, a3, a4, a5, a6) CALL_DrawElementsInstancedBaseInstance(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glDrawElementsInstancedBaseVertexBaseInstance(a1, a2, a3, a4, a5, a6, a7) CALL_DrawElementsInstancedBaseVertexBaseInstance(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glDrawTransformFeedbackInstanced(a1, a2, a3) CALL_DrawTransformFeedbackInstanced(GET_DISPATCH(), (a1, a2, a3))
+#define glDrawTransformFeedbackStreamInstanced(a1, a2, a3, a4) CALL_DrawTransformFeedbackStreamInstanced(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetInternalformativ(a1, a2, a3, a4, a5) CALL_GetInternalformativ(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetActiveAtomicCounterBufferiv(a1, a2, a3, a4) CALL_GetActiveAtomicCounterBufferiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBindImageTexture(a1, a2, a3, a4, a5, a6, a7) CALL_BindImageTexture(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glMemoryBarrier(a1) CALL_MemoryBarrier(GET_DISPATCH(), (a1))
+#define glTexStorage1D(a1, a2, a3, a4) CALL_TexStorage1D(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glTexStorage2D(a1, a2, a3, a4, a5) CALL_TexStorage2D(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glTexStorage3D(a1, a2, a3, a4, a5, a6) CALL_TexStorage3D(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glTextureStorage1DEXT(a1, a2, a3, a4, a5) CALL_TextureStorage1DEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glTextureStorage2DEXT(a1, a2, a3, a4, a5, a6) CALL_TextureStorage2DEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glTextureStorage3DEXT(a1, a2, a3, a4, a5, a6, a7) CALL_TextureStorage3DEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glClearBufferData(a1, a2, a3, a4, a5) CALL_ClearBufferData(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glClearBufferSubData(a1, a2, a3, a4, a5, a6, a7) CALL_ClearBufferSubData(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glDispatchCompute(a1, a2, a3) CALL_DispatchCompute(GET_DISPATCH(), (a1, a2, a3))
+#define glDispatchComputeIndirect(a1) CALL_DispatchComputeIndirect(GET_DISPATCH(), (a1))
+#define glTextureView(a1, a2, a3, a4, a5, a6, a7, a8) CALL_TextureView(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glBindVertexBuffer(a1, a2, a3, a4) CALL_BindVertexBuffer(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribBinding(a1, a2) CALL_VertexAttribBinding(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribFormat(a1, a2, a3, a4, a5) CALL_VertexAttribFormat(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttribIFormat(a1, a2, a3, a4) CALL_VertexAttribIFormat(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribLFormat(a1, a2, a3, a4) CALL_VertexAttribLFormat(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexBindingDivisor(a1, a2) CALL_VertexBindingDivisor(GET_DISPATCH(), (a1, a2))
+#define glMultiDrawArraysIndirect(a1, a2, a3, a4) CALL_MultiDrawArraysIndirect(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glMultiDrawElementsIndirect(a1, a2, a3, a4, a5) CALL_MultiDrawElementsIndirect(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glTexBufferRange(a1, a2, a3, a4, a5) CALL_TexBufferRange(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glTexStorage2DMultisample(a1, a2, a3, a4, a5, a6) CALL_TexStorage2DMultisample(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glTexStorage3DMultisample(a1, a2, a3, a4, a5, a6, a7) CALL_TexStorage3DMultisample(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glBufferStorage(a1, a2, a3, a4) CALL_BufferStorage(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBindBuffersBase(a1, a2, a3, a4) CALL_BindBuffersBase(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBindBuffersRange(a1, a2, a3, a4, a5, a6) CALL_BindBuffersRange(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glBindImageTextures(a1, a2, a3) CALL_BindImageTextures(GET_DISPATCH(), (a1, a2, a3))
+#define glBindSamplers(a1, a2, a3) CALL_BindSamplers(GET_DISPATCH(), (a1, a2, a3))
+#define glBindTextures(a1, a2, a3) CALL_BindTextures(GET_DISPATCH(), (a1, a2, a3))
+#define glBindVertexBuffers(a1, a2, a3, a4, a5) CALL_BindVertexBuffers(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glInvalidateBufferData(a1) CALL_InvalidateBufferData(GET_DISPATCH(), (a1))
+#define glInvalidateBufferSubData(a1, a2, a3) CALL_InvalidateBufferSubData(GET_DISPATCH(), (a1, a2, a3))
+#define glInvalidateFramebuffer(a1, a2, a3) CALL_InvalidateFramebuffer(GET_DISPATCH(), (a1, a2, a3))
+#define glInvalidateSubFramebuffer(a1, a2, a3, a4, a5, a6, a7) CALL_InvalidateSubFramebuffer(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glInvalidateTexImage(a1, a2) CALL_InvalidateTexImage(GET_DISPATCH(), (a1, a2))
+#define glInvalidateTexSubImage(a1, a2, a3, a4, a5, a6, a7, a8) CALL_InvalidateTexSubImage(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glPolygonOffsetEXT(a1, a2) CALL_PolygonOffsetEXT(GET_DISPATCH(), (a1, a2))
+#define glDrawTexfOES(a1, a2, a3, a4, a5) CALL_DrawTexfOES(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDrawTexfvOES(a1) CALL_DrawTexfvOES(GET_DISPATCH(), (a1))
+#define glDrawTexiOES(a1, a2, a3, a4, a5) CALL_DrawTexiOES(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDrawTexivOES(a1) CALL_DrawTexivOES(GET_DISPATCH(), (a1))
+#define glDrawTexsOES(a1, a2, a3, a4, a5) CALL_DrawTexsOES(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDrawTexsvOES(a1) CALL_DrawTexsvOES(GET_DISPATCH(), (a1))
+#define glDrawTexxOES(a1, a2, a3, a4, a5) CALL_DrawTexxOES(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDrawTexxvOES(a1) CALL_DrawTexxvOES(GET_DISPATCH(), (a1))
+#define glPointSizePointerOES(a1, a2, a3) CALL_PointSizePointerOES(GET_DISPATCH(), (a1, a2, a3))
+#define glQueryMatrixxOES(a1, a2) CALL_QueryMatrixxOES(GET_DISPATCH(), (a1, a2))
+#define glSampleMaskSGIS(a1, a2) CALL_SampleMaskSGIS(GET_DISPATCH(), (a1, a2))
+#define glSamplePatternSGIS(a1) CALL_SamplePatternSGIS(GET_DISPATCH(), (a1))
+#define glColorPointerEXT(a1, a2, a3, a4, a5) CALL_ColorPointerEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glEdgeFlagPointerEXT(a1, a2, a3) CALL_EdgeFlagPointerEXT(GET_DISPATCH(), (a1, a2, a3))
+#define glIndexPointerEXT(a1, a2, a3, a4) CALL_IndexPointerEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glNormalPointerEXT(a1, a2, a3, a4) CALL_NormalPointerEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glTexCoordPointerEXT(a1, a2, a3, a4, a5) CALL_TexCoordPointerEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexPointerEXT(a1, a2, a3, a4, a5) CALL_VertexPointerEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glDiscardFramebufferEXT(a1, a2, a3) CALL_DiscardFramebufferEXT(GET_DISPATCH(), (a1, a2, a3))
+#define glActiveShaderProgram(a1, a2) CALL_ActiveShaderProgram(GET_DISPATCH(), (a1, a2))
+#define glBindProgramPipeline(a1) CALL_BindProgramPipeline(GET_DISPATCH(), (a1))
+#define glCreateShaderProgramv(a1, a2, a3) CALL_CreateShaderProgramv(GET_DISPATCH(), (a1, a2, a3))
+#define glDeleteProgramPipelines(a1, a2) CALL_DeleteProgramPipelines(GET_DISPATCH(), (a1, a2))
+#define glGenProgramPipelines(a1, a2) CALL_GenProgramPipelines(GET_DISPATCH(), (a1, a2))
+#define glGetProgramPipelineInfoLog(a1, a2, a3, a4) CALL_GetProgramPipelineInfoLog(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetProgramPipelineiv(a1, a2, a3) CALL_GetProgramPipelineiv(GET_DISPATCH(), (a1, a2, a3))
+#define glIsProgramPipeline(a1) CALL_IsProgramPipeline(GET_DISPATCH(), (a1))
+#define glLockArraysEXT(a1, a2) CALL_LockArraysEXT(GET_DISPATCH(), (a1, a2))
+#define glProgramUniform1f(a1, a2, a3) CALL_ProgramUniform1f(GET_DISPATCH(), (a1, a2, a3))
+#define glProgramUniform1fv(a1, a2, a3, a4) CALL_ProgramUniform1fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform1i(a1, a2, a3) CALL_ProgramUniform1i(GET_DISPATCH(), (a1, a2, a3))
+#define glProgramUniform1iv(a1, a2, a3, a4) CALL_ProgramUniform1iv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform1ui(a1, a2, a3) CALL_ProgramUniform1ui(GET_DISPATCH(), (a1, a2, a3))
+#define glProgramUniform1uiv(a1, a2, a3, a4) CALL_ProgramUniform1uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform2f(a1, a2, a3, a4) CALL_ProgramUniform2f(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform2fv(a1, a2, a3, a4) CALL_ProgramUniform2fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform2i(a1, a2, a3, a4) CALL_ProgramUniform2i(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform2iv(a1, a2, a3, a4) CALL_ProgramUniform2iv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform2ui(a1, a2, a3, a4) CALL_ProgramUniform2ui(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform2uiv(a1, a2, a3, a4) CALL_ProgramUniform2uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform3f(a1, a2, a3, a4, a5) CALL_ProgramUniform3f(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniform3fv(a1, a2, a3, a4) CALL_ProgramUniform3fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform3i(a1, a2, a3, a4, a5) CALL_ProgramUniform3i(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniform3iv(a1, a2, a3, a4) CALL_ProgramUniform3iv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform3ui(a1, a2, a3, a4, a5) CALL_ProgramUniform3ui(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniform3uiv(a1, a2, a3, a4) CALL_ProgramUniform3uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform4f(a1, a2, a3, a4, a5, a6) CALL_ProgramUniform4f(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProgramUniform4fv(a1, a2, a3, a4) CALL_ProgramUniform4fv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform4i(a1, a2, a3, a4, a5, a6) CALL_ProgramUniform4i(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProgramUniform4iv(a1, a2, a3, a4) CALL_ProgramUniform4iv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniform4ui(a1, a2, a3, a4, a5, a6) CALL_ProgramUniform4ui(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glProgramUniform4uiv(a1, a2, a3, a4) CALL_ProgramUniform4uiv(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramUniformMatrix2fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix2fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix2x3fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix2x3fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix2x4fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix2x4fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix3fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix3fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix3x2fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix3x2fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix3x4fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix3x4fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix4fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix4fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix4x2fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix4x2fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glProgramUniformMatrix4x3fv(a1, a2, a3, a4, a5) CALL_ProgramUniformMatrix4x3fv(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glUnlockArraysEXT() CALL_UnlockArraysEXT(GET_DISPATCH(), ())
+#define glUseProgramStages(a1, a2, a3) CALL_UseProgramStages(GET_DISPATCH(), (a1, a2, a3))
+#define glValidateProgramPipeline(a1) CALL_ValidateProgramPipeline(GET_DISPATCH(), (a1))
+#define glDebugMessageCallback(a1, a2) CALL_DebugMessageCallback(GET_DISPATCH(), (a1, a2))
+#define glDebugMessageControl(a1, a2, a3, a4, a5, a6) CALL_DebugMessageControl(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glDebugMessageInsert(a1, a2, a3, a4, a5, a6) CALL_DebugMessageInsert(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glGetDebugMessageLog(a1, a2, a3, a4, a5, a6, a7, a8) CALL_GetDebugMessageLog(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8))
+#define glGetObjectLabel(a1, a2, a3, a4, a5) CALL_GetObjectLabel(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetObjectPtrLabel(a1, a2, a3, a4) CALL_GetObjectPtrLabel(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glObjectLabel(a1, a2, a3, a4) CALL_ObjectLabel(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glObjectPtrLabel(a1, a2, a3) CALL_ObjectPtrLabel(GET_DISPATCH(), (a1, a2, a3))
+#define glPopDebugGroup() CALL_PopDebugGroup(GET_DISPATCH(), ())
+#define glPushDebugGroup(a1, a2, a3, a4) CALL_PushDebugGroup(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glSecondaryColor3fEXT(a1, a2, a3) CALL_SecondaryColor3fEXT(GET_DISPATCH(), (a1, a2, a3))
+#define glSecondaryColor3fvEXT(a1) CALL_SecondaryColor3fvEXT(GET_DISPATCH(), (a1))
+#define glMultiDrawElementsEXT(a1, a2, a3, a4, a5) CALL_MultiDrawElementsEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glFogCoordfEXT(a1) CALL_FogCoordfEXT(GET_DISPATCH(), (a1))
+#define glFogCoordfvEXT(a1) CALL_FogCoordfvEXT(GET_DISPATCH(), (a1))
+#define glResizeBuffersMESA() CALL_ResizeBuffersMESA(GET_DISPATCH(), ())
+#define glWindowPos4dMESA(a1, a2, a3, a4) CALL_WindowPos4dMESA(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glWindowPos4dvMESA(a1) CALL_WindowPos4dvMESA(GET_DISPATCH(), (a1))
+#define glWindowPos4fMESA(a1, a2, a3, a4) CALL_WindowPos4fMESA(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glWindowPos4fvMESA(a1) CALL_WindowPos4fvMESA(GET_DISPATCH(), (a1))
+#define glWindowPos4iMESA(a1, a2, a3, a4) CALL_WindowPos4iMESA(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glWindowPos4ivMESA(a1) CALL_WindowPos4ivMESA(GET_DISPATCH(), (a1))
+#define glWindowPos4sMESA(a1, a2, a3, a4) CALL_WindowPos4sMESA(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glWindowPos4svMESA(a1) CALL_WindowPos4svMESA(GET_DISPATCH(), (a1))
+#define glMultiModeDrawArraysIBM(a1, a2, a3, a4, a5) CALL_MultiModeDrawArraysIBM(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glMultiModeDrawElementsIBM(a1, a2, a3, a4, a5, a6) CALL_MultiModeDrawElementsIBM(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glAreProgramsResidentNV(a1, a2, a3) CALL_AreProgramsResidentNV(GET_DISPATCH(), (a1, a2, a3))
+#define glExecuteProgramNV(a1, a2, a3) CALL_ExecuteProgramNV(GET_DISPATCH(), (a1, a2, a3))
+#define glGetProgramParameterdvNV(a1, a2, a3, a4) CALL_GetProgramParameterdvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetProgramParameterfvNV(a1, a2, a3, a4) CALL_GetProgramParameterfvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetProgramStringNV(a1, a2, a3) CALL_GetProgramStringNV(GET_DISPATCH(), (a1, a2, a3))
+#define glGetProgramivNV(a1, a2, a3) CALL_GetProgramivNV(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTrackMatrixivNV(a1, a2, a3, a4) CALL_GetTrackMatrixivNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetVertexAttribdvNV(a1, a2, a3) CALL_GetVertexAttribdvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribfvNV(a1, a2, a3) CALL_GetVertexAttribfvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glGetVertexAttribivNV(a1, a2, a3) CALL_GetVertexAttribivNV(GET_DISPATCH(), (a1, a2, a3))
+#define glLoadProgramNV(a1, a2, a3, a4) CALL_LoadProgramNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramParameters4dvNV(a1, a2, a3, a4) CALL_ProgramParameters4dvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramParameters4fvNV(a1, a2, a3, a4) CALL_ProgramParameters4fvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glRequestResidentProgramsNV(a1, a2) CALL_RequestResidentProgramsNV(GET_DISPATCH(), (a1, a2))
+#define glTrackMatrixNV(a1, a2, a3, a4) CALL_TrackMatrixNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib1dNV(a1, a2) CALL_VertexAttrib1dNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1dvNV(a1, a2) CALL_VertexAttrib1dvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1fNV(a1, a2) CALL_VertexAttrib1fNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1fvNV(a1, a2) CALL_VertexAttrib1fvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1sNV(a1, a2) CALL_VertexAttrib1sNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib1svNV(a1, a2) CALL_VertexAttrib1svNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib2dNV(a1, a2, a3) CALL_VertexAttrib2dNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttrib2dvNV(a1, a2) CALL_VertexAttrib2dvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib2fNV(a1, a2, a3) CALL_VertexAttrib2fNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttrib2fvNV(a1, a2) CALL_VertexAttrib2fvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib2sNV(a1, a2, a3) CALL_VertexAttrib2sNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttrib2svNV(a1, a2) CALL_VertexAttrib2svNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib3dNV(a1, a2, a3, a4) CALL_VertexAttrib3dNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib3dvNV(a1, a2) CALL_VertexAttrib3dvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib3fNV(a1, a2, a3, a4) CALL_VertexAttrib3fNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib3fvNV(a1, a2) CALL_VertexAttrib3fvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib3sNV(a1, a2, a3, a4) CALL_VertexAttrib3sNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttrib3svNV(a1, a2) CALL_VertexAttrib3svNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4dNV(a1, a2, a3, a4, a5) CALL_VertexAttrib4dNV(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4dvNV(a1, a2) CALL_VertexAttrib4dvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4fNV(a1, a2, a3, a4, a5) CALL_VertexAttrib4fNV(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4fvNV(a1, a2) CALL_VertexAttrib4fvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4sNV(a1, a2, a3, a4, a5) CALL_VertexAttrib4sNV(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4svNV(a1, a2) CALL_VertexAttrib4svNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttrib4ubNV(a1, a2, a3, a4, a5) CALL_VertexAttrib4ubNV(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttrib4ubvNV(a1, a2) CALL_VertexAttrib4ubvNV(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribPointerNV(a1, a2, a3, a4, a5) CALL_VertexAttribPointerNV(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttribs1dvNV(a1, a2, a3) CALL_VertexAttribs1dvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs1fvNV(a1, a2, a3) CALL_VertexAttribs1fvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs1svNV(a1, a2, a3) CALL_VertexAttribs1svNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs2dvNV(a1, a2, a3) CALL_VertexAttribs2dvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs2fvNV(a1, a2, a3) CALL_VertexAttribs2fvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs2svNV(a1, a2, a3) CALL_VertexAttribs2svNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs3dvNV(a1, a2, a3) CALL_VertexAttribs3dvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs3fvNV(a1, a2, a3) CALL_VertexAttribs3fvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs3svNV(a1, a2, a3) CALL_VertexAttribs3svNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs4dvNV(a1, a2, a3) CALL_VertexAttribs4dvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs4fvNV(a1, a2, a3) CALL_VertexAttribs4fvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs4svNV(a1, a2, a3) CALL_VertexAttribs4svNV(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribs4ubvNV(a1, a2, a3) CALL_VertexAttribs4ubvNV(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexBumpParameterfvATI(a1, a2) CALL_GetTexBumpParameterfvATI(GET_DISPATCH(), (a1, a2))
+#define glGetTexBumpParameterivATI(a1, a2) CALL_GetTexBumpParameterivATI(GET_DISPATCH(), (a1, a2))
+#define glTexBumpParameterfvATI(a1, a2) CALL_TexBumpParameterfvATI(GET_DISPATCH(), (a1, a2))
+#define glTexBumpParameterivATI(a1, a2) CALL_TexBumpParameterivATI(GET_DISPATCH(), (a1, a2))
+#define glAlphaFragmentOp1ATI(a1, a2, a3, a4, a5, a6) CALL_AlphaFragmentOp1ATI(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glAlphaFragmentOp2ATI(a1, a2, a3, a4, a5, a6, a7, a8, a9) CALL_AlphaFragmentOp2ATI(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9))
+#define glAlphaFragmentOp3ATI(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) CALL_AlphaFragmentOp3ATI(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12))
+#define glBeginFragmentShaderATI() CALL_BeginFragmentShaderATI(GET_DISPATCH(), ())
+#define glBindFragmentShaderATI(a1) CALL_BindFragmentShaderATI(GET_DISPATCH(), (a1))
+#define glColorFragmentOp1ATI(a1, a2, a3, a4, a5, a6, a7) CALL_ColorFragmentOp1ATI(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glColorFragmentOp2ATI(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) CALL_ColorFragmentOp2ATI(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10))
+#define glColorFragmentOp3ATI(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) CALL_ColorFragmentOp3ATI(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13))
+#define glDeleteFragmentShaderATI(a1) CALL_DeleteFragmentShaderATI(GET_DISPATCH(), (a1))
+#define glEndFragmentShaderATI() CALL_EndFragmentShaderATI(GET_DISPATCH(), ())
+#define glGenFragmentShadersATI(a1) CALL_GenFragmentShadersATI(GET_DISPATCH(), (a1))
+#define glPassTexCoordATI(a1, a2, a3) CALL_PassTexCoordATI(GET_DISPATCH(), (a1, a2, a3))
+#define glSampleMapATI(a1, a2, a3) CALL_SampleMapATI(GET_DISPATCH(), (a1, a2, a3))
+#define glSetFragmentShaderConstantATI(a1, a2) CALL_SetFragmentShaderConstantATI(GET_DISPATCH(), (a1, a2))
+#define glActiveStencilFaceEXT(a1) CALL_ActiveStencilFaceEXT(GET_DISPATCH(), (a1))
+#define glBindVertexArrayAPPLE(a1) CALL_BindVertexArrayAPPLE(GET_DISPATCH(), (a1))
+#define glGenVertexArraysAPPLE(a1, a2) CALL_GenVertexArraysAPPLE(GET_DISPATCH(), (a1, a2))
+#define glGetProgramNamedParameterdvNV(a1, a2, a3, a4) CALL_GetProgramNamedParameterdvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetProgramNamedParameterfvNV(a1, a2, a3, a4) CALL_GetProgramNamedParameterfvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramNamedParameter4dNV(a1, a2, a3, a4, a5, a6, a7) CALL_ProgramNamedParameter4dNV(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glProgramNamedParameter4dvNV(a1, a2, a3, a4) CALL_ProgramNamedParameter4dvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramNamedParameter4fNV(a1, a2, a3, a4, a5, a6, a7) CALL_ProgramNamedParameter4fNV(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glProgramNamedParameter4fvNV(a1, a2, a3, a4) CALL_ProgramNamedParameter4fvNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glPrimitiveRestartNV() CALL_PrimitiveRestartNV(GET_DISPATCH(), ())
+#define glGetTexGenxvOES(a1, a2, a3) CALL_GetTexGenxvOES(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGenxOES(a1, a2, a3) CALL_TexGenxOES(GET_DISPATCH(), (a1, a2, a3))
+#define glTexGenxvOES(a1, a2, a3) CALL_TexGenxvOES(GET_DISPATCH(), (a1, a2, a3))
+#define glDepthBoundsEXT(a1, a2) CALL_DepthBoundsEXT(GET_DISPATCH(), (a1, a2))
+#define glBindFramebufferEXT(a1, a2) CALL_BindFramebufferEXT(GET_DISPATCH(), (a1, a2))
+#define glBindRenderbufferEXT(a1, a2) CALL_BindRenderbufferEXT(GET_DISPATCH(), (a1, a2))
+#define glBufferParameteriAPPLE(a1, a2, a3) CALL_BufferParameteriAPPLE(GET_DISPATCH(), (a1, a2, a3))
+#define glFlushMappedBufferRangeAPPLE(a1, a2, a3) CALL_FlushMappedBufferRangeAPPLE(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribI1iEXT(a1, a2) CALL_VertexAttribI1iEXT(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI1uiEXT(a1, a2) CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI2iEXT(a1, a2, a3) CALL_VertexAttribI2iEXT(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribI2ivEXT(a1, a2) CALL_VertexAttribI2ivEXT(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI2uiEXT(a1, a2, a3) CALL_VertexAttribI2uiEXT(GET_DISPATCH(), (a1, a2, a3))
+#define glVertexAttribI2uivEXT(a1, a2) CALL_VertexAttribI2uivEXT(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI3iEXT(a1, a2, a3, a4) CALL_VertexAttribI3iEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribI3ivEXT(a1, a2) CALL_VertexAttribI3ivEXT(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI3uiEXT(a1, a2, a3, a4) CALL_VertexAttribI3uiEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVertexAttribI3uivEXT(a1, a2) CALL_VertexAttribI3uivEXT(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI4iEXT(a1, a2, a3, a4, a5) CALL_VertexAttribI4iEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttribI4ivEXT(a1, a2) CALL_VertexAttribI4ivEXT(GET_DISPATCH(), (a1, a2))
+#define glVertexAttribI4uiEXT(a1, a2, a3, a4, a5) CALL_VertexAttribI4uiEXT(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVertexAttribI4uivEXT(a1, a2) CALL_VertexAttribI4uivEXT(GET_DISPATCH(), (a1, a2))
+#define glClearColorIiEXT(a1, a2, a3, a4) CALL_ClearColorIiEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glClearColorIuiEXT(a1, a2, a3, a4) CALL_ClearColorIuiEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBindBufferOffsetEXT(a1, a2, a3, a4) CALL_BindBufferOffsetEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glBeginPerfMonitorAMD(a1) CALL_BeginPerfMonitorAMD(GET_DISPATCH(), (a1))
+#define glDeletePerfMonitorsAMD(a1, a2) CALL_DeletePerfMonitorsAMD(GET_DISPATCH(), (a1, a2))
+#define glEndPerfMonitorAMD(a1) CALL_EndPerfMonitorAMD(GET_DISPATCH(), (a1))
+#define glGenPerfMonitorsAMD(a1, a2) CALL_GenPerfMonitorsAMD(GET_DISPATCH(), (a1, a2))
+#define glGetPerfMonitorCounterDataAMD(a1, a2, a3, a4, a5) CALL_GetPerfMonitorCounterDataAMD(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetPerfMonitorCounterInfoAMD(a1, a2, a3, a4) CALL_GetPerfMonitorCounterInfoAMD(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetPerfMonitorCounterStringAMD(a1, a2, a3, a4, a5) CALL_GetPerfMonitorCounterStringAMD(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetPerfMonitorCountersAMD(a1, a2, a3, a4, a5) CALL_GetPerfMonitorCountersAMD(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetPerfMonitorGroupStringAMD(a1, a2, a3, a4) CALL_GetPerfMonitorGroupStringAMD(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glGetPerfMonitorGroupsAMD(a1, a2, a3) CALL_GetPerfMonitorGroupsAMD(GET_DISPATCH(), (a1, a2, a3))
+#define glSelectPerfMonitorCountersAMD(a1, a2, a3, a4, a5) CALL_SelectPerfMonitorCountersAMD(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetObjectParameterivAPPLE(a1, a2, a3, a4) CALL_GetObjectParameterivAPPLE(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glObjectPurgeableAPPLE(a1, a2, a3) CALL_ObjectPurgeableAPPLE(GET_DISPATCH(), (a1, a2, a3))
+#define glObjectUnpurgeableAPPLE(a1, a2, a3) CALL_ObjectUnpurgeableAPPLE(GET_DISPATCH(), (a1, a2, a3))
+#define glActiveProgramEXT(a1) CALL_ActiveProgramEXT(GET_DISPATCH(), (a1))
+#define glCreateShaderProgramEXT(a1, a2) CALL_CreateShaderProgramEXT(GET_DISPATCH(), (a1, a2))
+#define glUseShaderProgramEXT(a1, a2) CALL_UseShaderProgramEXT(GET_DISPATCH(), (a1, a2))
+#define glTextureBarrierNV() CALL_TextureBarrierNV(GET_DISPATCH(), ())
+#define glVDPAUFiniNV() CALL_VDPAUFiniNV(GET_DISPATCH(), ())
+#define glVDPAUGetSurfaceivNV(a1, a2, a3, a4, a5) CALL_VDPAUGetSurfaceivNV(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glVDPAUInitNV(a1, a2) CALL_VDPAUInitNV(GET_DISPATCH(), (a1, a2))
+#define glVDPAUIsSurfaceNV(a1) CALL_VDPAUIsSurfaceNV(GET_DISPATCH(), (a1))
+#define glVDPAUMapSurfacesNV(a1, a2) CALL_VDPAUMapSurfacesNV(GET_DISPATCH(), (a1, a2))
+#define glVDPAURegisterOutputSurfaceNV(a1, a2, a3, a4) CALL_VDPAURegisterOutputSurfaceNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVDPAURegisterVideoSurfaceNV(a1, a2, a3, a4) CALL_VDPAURegisterVideoSurfaceNV(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glVDPAUSurfaceAccessNV(a1, a2) CALL_VDPAUSurfaceAccessNV(GET_DISPATCH(), (a1, a2))
+#define glVDPAUUnmapSurfacesNV(a1, a2) CALL_VDPAUUnmapSurfacesNV(GET_DISPATCH(), (a1, a2))
+#define glVDPAUUnregisterSurfaceNV(a1) CALL_VDPAUUnregisterSurfaceNV(GET_DISPATCH(), (a1))
+#define glBeginPerfQueryINTEL(a1) CALL_BeginPerfQueryINTEL(GET_DISPATCH(), (a1))
+#define glCreatePerfQueryINTEL(a1, a2) CALL_CreatePerfQueryINTEL(GET_DISPATCH(), (a1, a2))
+#define glDeletePerfQueryINTEL(a1) CALL_DeletePerfQueryINTEL(GET_DISPATCH(), (a1))
+#define glEndPerfQueryINTEL(a1) CALL_EndPerfQueryINTEL(GET_DISPATCH(), (a1))
+#define glGetFirstPerfQueryIdINTEL(a1) CALL_GetFirstPerfQueryIdINTEL(GET_DISPATCH(), (a1))
+#define glGetNextPerfQueryIdINTEL(a1, a2) CALL_GetNextPerfQueryIdINTEL(GET_DISPATCH(), (a1, a2))
+#define glGetPerfCounterInfoINTEL(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) CALL_GetPerfCounterInfoINTEL(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11))
+#define glGetPerfQueryDataINTEL(a1, a2, a3, a4, a5) CALL_GetPerfQueryDataINTEL(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glGetPerfQueryIdByNameINTEL(a1, a2) CALL_GetPerfQueryIdByNameINTEL(GET_DISPATCH(), (a1, a2))
+#define glGetPerfQueryInfoINTEL(a1, a2, a3, a4, a5, a6, a7) CALL_GetPerfQueryInfoINTEL(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6, a7))
+#define glStencilFuncSeparateATI(a1, a2, a3, a4) CALL_StencilFuncSeparateATI(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramEnvParameters4fvEXT(a1, a2, a3, a4) CALL_ProgramEnvParameters4fvEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glProgramLocalParameters4fvEXT(a1, a2, a3, a4) CALL_ProgramLocalParameters4fvEXT(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glEGLImageTargetRenderbufferStorageOES(a1, a2) CALL_EGLImageTargetRenderbufferStorageOES(GET_DISPATCH(), (a1, a2))
+#define glEGLImageTargetTexture2DOES(a1, a2) CALL_EGLImageTargetTexture2DOES(GET_DISPATCH(), (a1, a2))
+#define glAlphaFuncx(a1, a2) CALL_AlphaFuncx(GET_DISPATCH(), (a1, a2))
+#define glClearColorx(a1, a2, a3, a4) CALL_ClearColorx(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glClearDepthx(a1) CALL_ClearDepthx(GET_DISPATCH(), (a1))
+#define glColor4x(a1, a2, a3, a4) CALL_Color4x(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glDepthRangex(a1, a2) CALL_DepthRangex(GET_DISPATCH(), (a1, a2))
+#define glFogx(a1, a2) CALL_Fogx(GET_DISPATCH(), (a1, a2))
+#define glFogxv(a1, a2) CALL_Fogxv(GET_DISPATCH(), (a1, a2))
+#define glFrustumf(a1, a2, a3, a4, a5, a6) CALL_Frustumf(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glFrustumx(a1, a2, a3, a4, a5, a6) CALL_Frustumx(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glLightModelx(a1, a2) CALL_LightModelx(GET_DISPATCH(), (a1, a2))
+#define glLightModelxv(a1, a2) CALL_LightModelxv(GET_DISPATCH(), (a1, a2))
+#define glLightx(a1, a2, a3) CALL_Lightx(GET_DISPATCH(), (a1, a2, a3))
+#define glLightxv(a1, a2, a3) CALL_Lightxv(GET_DISPATCH(), (a1, a2, a3))
+#define glLineWidthx(a1) CALL_LineWidthx(GET_DISPATCH(), (a1))
+#define glLoadMatrixx(a1) CALL_LoadMatrixx(GET_DISPATCH(), (a1))
+#define glMaterialx(a1, a2, a3) CALL_Materialx(GET_DISPATCH(), (a1, a2, a3))
+#define glMaterialxv(a1, a2, a3) CALL_Materialxv(GET_DISPATCH(), (a1, a2, a3))
+#define glMultMatrixx(a1) CALL_MultMatrixx(GET_DISPATCH(), (a1))
+#define glMultiTexCoord4x(a1, a2, a3, a4, a5) CALL_MultiTexCoord4x(GET_DISPATCH(), (a1, a2, a3, a4, a5))
+#define glNormal3x(a1, a2, a3) CALL_Normal3x(GET_DISPATCH(), (a1, a2, a3))
+#define glOrthof(a1, a2, a3, a4, a5, a6) CALL_Orthof(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glOrthox(a1, a2, a3, a4, a5, a6) CALL_Orthox(GET_DISPATCH(), (a1, a2, a3, a4, a5, a6))
+#define glPointSizex(a1) CALL_PointSizex(GET_DISPATCH(), (a1))
+#define glPolygonOffsetx(a1, a2) CALL_PolygonOffsetx(GET_DISPATCH(), (a1, a2))
+#define glRotatex(a1, a2, a3, a4) CALL_Rotatex(GET_DISPATCH(), (a1, a2, a3, a4))
+#define glSampleCoveragex(a1, a2) CALL_SampleCoveragex(GET_DISPATCH(), (a1, a2))
+#define glScalex(a1, a2, a3) CALL_Scalex(GET_DISPATCH(), (a1, a2, a3))
+#define glTexEnvx(a1, a2, a3) CALL_TexEnvx(GET_DISPATCH(), (a1, a2, a3))
+#define glTexEnvxv(a1, a2, a3) CALL_TexEnvxv(GET_DISPATCH(), (a1, a2, a3))
+#define glTexParameterx(a1, a2, a3) CALL_TexParameterx(GET_DISPATCH(), (a1, a2, a3))
+#define glTranslatex(a1, a2, a3) CALL_Translatex(GET_DISPATCH(), (a1, a2, a3))
+#define glClipPlanef(a1, a2) CALL_ClipPlanef(GET_DISPATCH(), (a1, a2))
+#define glClipPlanex(a1, a2) CALL_ClipPlanex(GET_DISPATCH(), (a1, a2))
+#define glGetClipPlanef(a1, a2) CALL_GetClipPlanef(GET_DISPATCH(), (a1, a2))
+#define glGetClipPlanex(a1, a2) CALL_GetClipPlanex(GET_DISPATCH(), (a1, a2))
+#define glGetFixedv(a1, a2) CALL_GetFixedv(GET_DISPATCH(), (a1, a2))
+#define glGetLightxv(a1, a2, a3) CALL_GetLightxv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetMaterialxv(a1, a2, a3) CALL_GetMaterialxv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexEnvxv(a1, a2, a3) CALL_GetTexEnvxv(GET_DISPATCH(), (a1, a2, a3))
+#define glGetTexParameterxv(a1, a2, a3) CALL_GetTexParameterxv(GET_DISPATCH(), (a1, a2, a3))
+#define glPointParameterx(a1, a2) CALL_PointParameterx(GET_DISPATCH(), (a1, a2))
+#define glPointParameterxv(a1, a2) CALL_PointParameterxv(GET_DISPATCH(), (a1, a2))
+#define glTexParameterxv(a1, a2, a3) CALL_TexParameterxv(GET_DISPATCH(), (a1, a2, a3))
+
+#endif /* !defined( __GLFUNCTIONS_H__ ) */
diff --git a/xorg-server/glx/glheader.h b/xorg-server/glx/glheader.h
new file mode 100644
index 000000000..c87193291
--- /dev/null
+++ b/xorg-server/glx/glheader.h
@@ -0,0 +1,37 @@
+#ifndef __GLHEADER_H__
+#define __GLHEADER_H__
+
+#define STDC_HEADERS 1
+
+#include <X11/Xwinsock.h>
+#include <X11/Xwindows.h>
+#include <assert.h>
+#define strcasecmp _stricmp
+
+#undef MINSHORT
+#undef MAXSHORT
+
+#define MINSHORT -32768
+#define MAXSHORT 32767
+
+#ifndef PUBLIC
+#define PUBLIC
+#endif
+
+#define GL_GLEXT_PROTOTYPES
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/**
+ * GL_FIXED is defined in glext.h version 64 but these typedefs aren't (yet).
+ */
+typedef int GLclampx;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/xorg-server/glx/glprocs.h b/xorg-server/glx/glprocs.h
new file mode 100644
index 000000000..d5d284e67
--- /dev/null
+++ b/xorg-server/glx/glprocs.h
@@ -0,0 +1,3577 @@
+/* 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"
+ "glActiveTexture\0"
+ "glClientActiveTexture\0"
+ "glMultiTexCoord1d\0"
+ "glMultiTexCoord1dv\0"
+ "glMultiTexCoord1fARB\0"
+ "glMultiTexCoord1fvARB\0"
+ "glMultiTexCoord1i\0"
+ "glMultiTexCoord1iv\0"
+ "glMultiTexCoord1s\0"
+ "glMultiTexCoord1sv\0"
+ "glMultiTexCoord2d\0"
+ "glMultiTexCoord2dv\0"
+ "glMultiTexCoord2fARB\0"
+ "glMultiTexCoord2fvARB\0"
+ "glMultiTexCoord2i\0"
+ "glMultiTexCoord2iv\0"
+ "glMultiTexCoord2s\0"
+ "glMultiTexCoord2sv\0"
+ "glMultiTexCoord3d\0"
+ "glMultiTexCoord3dv\0"
+ "glMultiTexCoord3fARB\0"
+ "glMultiTexCoord3fvARB\0"
+ "glMultiTexCoord3i\0"
+ "glMultiTexCoord3iv\0"
+ "glMultiTexCoord3s\0"
+ "glMultiTexCoord3sv\0"
+ "glMultiTexCoord4d\0"
+ "glMultiTexCoord4dv\0"
+ "glMultiTexCoord4fARB\0"
+ "glMultiTexCoord4fvARB\0"
+ "glMultiTexCoord4i\0"
+ "glMultiTexCoord4iv\0"
+ "glMultiTexCoord4s\0"
+ "glMultiTexCoord4sv\0"
+ "glCompressedTexImage1D\0"
+ "glCompressedTexImage2D\0"
+ "glCompressedTexImage3D\0"
+ "glCompressedTexSubImage1D\0"
+ "glCompressedTexSubImage2D\0"
+ "glCompressedTexSubImage3D\0"
+ "glGetCompressedTexImage\0"
+ "glLoadTransposeMatrixd\0"
+ "glLoadTransposeMatrixf\0"
+ "glMultTransposeMatrixd\0"
+ "glMultTransposeMatrixf\0"
+ "glSampleCoverage\0"
+ "glBlendFuncSeparate\0"
+ "glFogCoordPointer\0"
+ "glFogCoordd\0"
+ "glFogCoorddv\0"
+ "glMultiDrawArrays\0"
+ "glPointParameterf\0"
+ "glPointParameterfv\0"
+ "glPointParameteri\0"
+ "glPointParameteriv\0"
+ "glSecondaryColor3b\0"
+ "glSecondaryColor3bv\0"
+ "glSecondaryColor3d\0"
+ "glSecondaryColor3dv\0"
+ "glSecondaryColor3i\0"
+ "glSecondaryColor3iv\0"
+ "glSecondaryColor3s\0"
+ "glSecondaryColor3sv\0"
+ "glSecondaryColor3ub\0"
+ "glSecondaryColor3ubv\0"
+ "glSecondaryColor3ui\0"
+ "glSecondaryColor3uiv\0"
+ "glSecondaryColor3us\0"
+ "glSecondaryColor3usv\0"
+ "glSecondaryColorPointer\0"
+ "glWindowPos2d\0"
+ "glWindowPos2dv\0"
+ "glWindowPos2f\0"
+ "glWindowPos2fv\0"
+ "glWindowPos2i\0"
+ "glWindowPos2iv\0"
+ "glWindowPos2s\0"
+ "glWindowPos2sv\0"
+ "glWindowPos3d\0"
+ "glWindowPos3dv\0"
+ "glWindowPos3f\0"
+ "glWindowPos3fv\0"
+ "glWindowPos3i\0"
+ "glWindowPos3iv\0"
+ "glWindowPos3s\0"
+ "glWindowPos3sv\0"
+ "glBeginQuery\0"
+ "glBindBuffer\0"
+ "glBufferData\0"
+ "glBufferSubData\0"
+ "glDeleteBuffers\0"
+ "glDeleteQueries\0"
+ "glEndQuery\0"
+ "glGenBuffers\0"
+ "glGenQueries\0"
+ "glGetBufferParameteriv\0"
+ "glGetBufferPointerv\0"
+ "glGetBufferSubData\0"
+ "glGetQueryObjectiv\0"
+ "glGetQueryObjectuiv\0"
+ "glGetQueryiv\0"
+ "glIsBuffer\0"
+ "glIsQuery\0"
+ "glMapBuffer\0"
+ "glUnmapBuffer\0"
+ "glAttachShader\0"
+ "glBindAttribLocation\0"
+ "glBlendEquationSeparate\0"
+ "glCompileShader\0"
+ "glCreateProgram\0"
+ "glCreateShader\0"
+ "glDeleteProgram\0"
+ "glDeleteShader\0"
+ "glDetachShader\0"
+ "glDisableVertexAttribArray\0"
+ "glDrawBuffers\0"
+ "glEnableVertexAttribArray\0"
+ "glGetActiveAttrib\0"
+ "glGetActiveUniform\0"
+ "glGetAttachedShaders\0"
+ "glGetAttribLocation\0"
+ "glGetProgramInfoLog\0"
+ "glGetProgramiv\0"
+ "glGetShaderInfoLog\0"
+ "glGetShaderSource\0"
+ "glGetShaderiv\0"
+ "glGetUniformLocation\0"
+ "glGetUniformfv\0"
+ "glGetUniformiv\0"
+ "glGetVertexAttribPointerv\0"
+ "glGetVertexAttribdv\0"
+ "glGetVertexAttribfv\0"
+ "glGetVertexAttribiv\0"
+ "glIsProgram\0"
+ "glIsShader\0"
+ "glLinkProgram\0"
+ "glShaderSource\0"
+ "glStencilFuncSeparate\0"
+ "glStencilMaskSeparate\0"
+ "glStencilOpSeparate\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"
+ "glVertexAttrib1d\0"
+ "glVertexAttrib1dv\0"
+ "glVertexAttrib1s\0"
+ "glVertexAttrib1sv\0"
+ "glVertexAttrib2d\0"
+ "glVertexAttrib2dv\0"
+ "glVertexAttrib2s\0"
+ "glVertexAttrib2sv\0"
+ "glVertexAttrib3d\0"
+ "glVertexAttrib3dv\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"
+ "glVertexAttrib4iv\0"
+ "glVertexAttrib4s\0"
+ "glVertexAttrib4sv\0"
+ "glVertexAttrib4ubv\0"
+ "glVertexAttrib4uiv\0"
+ "glVertexAttrib4usv\0"
+ "glVertexAttribPointer\0"
+ "glUniformMatrix2x3fv\0"
+ "glUniformMatrix2x4fv\0"
+ "glUniformMatrix3x2fv\0"
+ "glUniformMatrix3x4fv\0"
+ "glUniformMatrix4x2fv\0"
+ "glUniformMatrix4x3fv\0"
+ "glBeginConditionalRender\0"
+ "glBeginTransformFeedback\0"
+ "glBindBufferBase\0"
+ "glBindBufferRange\0"
+ "glBindFragDataLocation\0"
+ "glClampColor\0"
+ "glClearBufferfi\0"
+ "glClearBufferfv\0"
+ "glClearBufferiv\0"
+ "glClearBufferuiv\0"
+ "glColorMaski\0"
+ "glDisablei\0"
+ "glEnablei\0"
+ "glEndConditionalRender\0"
+ "glEndTransformFeedback\0"
+ "glGetBooleani_v\0"
+ "glGetFragDataLocation\0"
+ "glGetIntegeri_v\0"
+ "glGetStringi\0"
+ "glGetTexParameterIiv\0"
+ "glGetTexParameterIuiv\0"
+ "glGetTransformFeedbackVarying\0"
+ "glGetUniformuiv\0"
+ "glGetVertexAttribIiv\0"
+ "glGetVertexAttribIuiv\0"
+ "glIsEnabledi\0"
+ "glTexParameterIiv\0"
+ "glTexParameterIuiv\0"
+ "glTransformFeedbackVaryings\0"
+ "glUniform1ui\0"
+ "glUniform1uiv\0"
+ "glUniform2ui\0"
+ "glUniform2uiv\0"
+ "glUniform3ui\0"
+ "glUniform3uiv\0"
+ "glUniform4ui\0"
+ "glUniform4uiv\0"
+ "glVertexAttribI1iv\0"
+ "glVertexAttribI1uiv\0"
+ "glVertexAttribI4bv\0"
+ "glVertexAttribI4sv\0"
+ "glVertexAttribI4ubv\0"
+ "glVertexAttribI4usv\0"
+ "glVertexAttribIPointer\0"
+ "glPrimitiveRestartIndex\0"
+ "glTexBuffer\0"
+ "glFramebufferTexture\0"
+ "glGetBufferParameteri64v\0"
+ "glGetInteger64i_v\0"
+ "glVertexAttribDivisor\0"
+ "glMinSampleShading\0"
+ "glBindProgramARB\0"
+ "glDeleteProgramsARB\0"
+ "glGenProgramsARB\0"
+ "glGetProgramEnvParameterdvARB\0"
+ "glGetProgramEnvParameterfvARB\0"
+ "glGetProgramLocalParameterdvARB\0"
+ "glGetProgramLocalParameterfvARB\0"
+ "glGetProgramStringARB\0"
+ "glGetProgramivARB\0"
+ "glIsProgramARB\0"
+ "glProgramEnvParameter4dARB\0"
+ "glProgramEnvParameter4dvARB\0"
+ "glProgramEnvParameter4fARB\0"
+ "glProgramEnvParameter4fvARB\0"
+ "glProgramLocalParameter4dARB\0"
+ "glProgramLocalParameter4dvARB\0"
+ "glProgramLocalParameter4fARB\0"
+ "glProgramLocalParameter4fvARB\0"
+ "glProgramStringARB\0"
+ "glVertexAttrib1fARB\0"
+ "glVertexAttrib1fvARB\0"
+ "glVertexAttrib2fARB\0"
+ "glVertexAttrib2fvARB\0"
+ "glVertexAttrib3fARB\0"
+ "glVertexAttrib3fvARB\0"
+ "glVertexAttrib4fARB\0"
+ "glVertexAttrib4fvARB\0"
+ "glAttachObjectARB\0"
+ "glCreateProgramObjectARB\0"
+ "glCreateShaderObjectARB\0"
+ "glDeleteObjectARB\0"
+ "glDetachObjectARB\0"
+ "glGetAttachedObjectsARB\0"
+ "glGetHandleARB\0"
+ "glGetInfoLogARB\0"
+ "glGetObjectParameterfvARB\0"
+ "glGetObjectParameterivARB\0"
+ "glDrawArraysInstancedARB\0"
+ "glDrawElementsInstancedARB\0"
+ "glBindFramebuffer\0"
+ "glBindRenderbuffer\0"
+ "glBlitFramebuffer\0"
+ "glCheckFramebufferStatus\0"
+ "glDeleteFramebuffers\0"
+ "glDeleteRenderbuffers\0"
+ "glFramebufferRenderbuffer\0"
+ "glFramebufferTexture1D\0"
+ "glFramebufferTexture2D\0"
+ "glFramebufferTexture3D\0"
+ "glFramebufferTextureLayer\0"
+ "glGenFramebuffers\0"
+ "glGenRenderbuffers\0"
+ "glGenerateMipmap\0"
+ "glGetFramebufferAttachmentParameteriv\0"
+ "glGetRenderbufferParameteriv\0"
+ "glIsFramebuffer\0"
+ "glIsRenderbuffer\0"
+ "glRenderbufferStorage\0"
+ "glRenderbufferStorageMultisample\0"
+ "glFramebufferTextureFaceARB\0"
+ "glFlushMappedBufferRange\0"
+ "glMapBufferRange\0"
+ "glBindVertexArray\0"
+ "glDeleteVertexArrays\0"
+ "glGenVertexArrays\0"
+ "glIsVertexArray\0"
+ "glGetActiveUniformBlockName\0"
+ "glGetActiveUniformBlockiv\0"
+ "glGetActiveUniformName\0"
+ "glGetActiveUniformsiv\0"
+ "glGetUniformBlockIndex\0"
+ "glGetUniformIndices\0"
+ "glUniformBlockBinding\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"
+ "glProvokingVertex\0"
+ "glGetMultisamplefv\0"
+ "glSampleMaski\0"
+ "glTexImage2DMultisample\0"
+ "glTexImage3DMultisample\0"
+ "glBlendEquationSeparateiARB\0"
+ "glBlendEquationiARB\0"
+ "glBlendFuncSeparateiARB\0"
+ "glBlendFunciARB\0"
+ "glBindFragDataLocationIndexed\0"
+ "glGetFragDataIndex\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"
+ "glGetQueryObjecti64v\0"
+ "glGetQueryObjectui64v\0"
+ "glQueryCounter\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"
+ "glDrawArraysIndirect\0"
+ "glDrawElementsIndirect\0"
+ "glBindTransformFeedback\0"
+ "glDeleteTransformFeedbacks\0"
+ "glDrawTransformFeedback\0"
+ "glGenTransformFeedbacks\0"
+ "glIsTransformFeedback\0"
+ "glPauseTransformFeedback\0"
+ "glResumeTransformFeedback\0"
+ "glBeginQueryIndexed\0"
+ "glDrawTransformFeedbackStream\0"
+ "glEndQueryIndexed\0"
+ "glGetQueryIndexediv\0"
+ "glClearDepthf\0"
+ "glDepthRangef\0"
+ "glGetShaderPrecisionFormat\0"
+ "glReleaseShaderCompiler\0"
+ "glShaderBinary\0"
+ "glGetProgramBinary\0"
+ "glProgramBinary\0"
+ "glProgramParameteri\0"
+ "glDepthRangeArrayv\0"
+ "glDepthRangeIndexed\0"
+ "glGetDoublei_v\0"
+ "glGetFloati_v\0"
+ "glScissorArrayv\0"
+ "glScissorIndexed\0"
+ "glScissorIndexedv\0"
+ "glViewportArrayv\0"
+ "glViewportIndexedf\0"
+ "glViewportIndexedfv\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"
+ "glDrawArraysInstancedBaseInstance\0"
+ "glDrawElementsInstancedBaseInstance\0"
+ "glDrawElementsInstancedBaseVertexBaseInstance\0"
+ "glDrawTransformFeedbackInstanced\0"
+ "glDrawTransformFeedbackStreamInstanced\0"
+ "glGetInternalformativ\0"
+ "glGetActiveAtomicCounterBufferiv\0"
+ "glBindImageTexture\0"
+ "glMemoryBarrier\0"
+ "glTexStorage1D\0"
+ "glTexStorage2D\0"
+ "glTexStorage3D\0"
+ "glTextureStorage1DEXT\0"
+ "glTextureStorage2DEXT\0"
+ "glTextureStorage3DEXT\0"
+ "glClearBufferData\0"
+ "glClearBufferSubData\0"
+ "glDispatchCompute\0"
+ "glDispatchComputeIndirect\0"
+ "glTextureView\0"
+ "glBindVertexBuffer\0"
+ "glVertexAttribBinding\0"
+ "glVertexAttribFormat\0"
+ "glVertexAttribIFormat\0"
+ "glVertexAttribLFormat\0"
+ "glVertexBindingDivisor\0"
+ "glMultiDrawArraysIndirect\0"
+ "glMultiDrawElementsIndirect\0"
+ "glTexBufferRange\0"
+ "glTexStorage2DMultisample\0"
+ "glTexStorage3DMultisample\0"
+ "glBufferStorage\0"
+ "glBindBuffersBase\0"
+ "glBindBuffersRange\0"
+ "glBindImageTextures\0"
+ "glBindSamplers\0"
+ "glBindTextures\0"
+ "glBindVertexBuffers\0"
+ "glInvalidateBufferData\0"
+ "glInvalidateBufferSubData\0"
+ "glInvalidateFramebuffer\0"
+ "glInvalidateSubFramebuffer\0"
+ "glInvalidateTexImage\0"
+ "glInvalidateTexSubImage\0"
+ "glPolygonOffsetEXT\0"
+ "glDrawTexfOES\0"
+ "glDrawTexfvOES\0"
+ "glDrawTexiOES\0"
+ "glDrawTexivOES\0"
+ "glDrawTexsOES\0"
+ "glDrawTexsvOES\0"
+ "glDrawTexxOES\0"
+ "glDrawTexxvOES\0"
+ "glPointSizePointerOES\0"
+ "glQueryMatrixxOES\0"
+ "glSampleMaskSGIS\0"
+ "glSamplePatternSGIS\0"
+ "glColorPointerEXT\0"
+ "glEdgeFlagPointerEXT\0"
+ "glIndexPointerEXT\0"
+ "glNormalPointerEXT\0"
+ "glTexCoordPointerEXT\0"
+ "glVertexPointerEXT\0"
+ "glDiscardFramebufferEXT\0"
+ "glActiveShaderProgram\0"
+ "glBindProgramPipeline\0"
+ "glCreateShaderProgramv\0"
+ "glDeleteProgramPipelines\0"
+ "glGenProgramPipelines\0"
+ "glGetProgramPipelineInfoLog\0"
+ "glGetProgramPipelineiv\0"
+ "glIsProgramPipeline\0"
+ "glLockArraysEXT\0"
+ "glProgramUniform1f\0"
+ "glProgramUniform1fv\0"
+ "glProgramUniform1i\0"
+ "glProgramUniform1iv\0"
+ "glProgramUniform1ui\0"
+ "glProgramUniform1uiv\0"
+ "glProgramUniform2f\0"
+ "glProgramUniform2fv\0"
+ "glProgramUniform2i\0"
+ "glProgramUniform2iv\0"
+ "glProgramUniform2ui\0"
+ "glProgramUniform2uiv\0"
+ "glProgramUniform3f\0"
+ "glProgramUniform3fv\0"
+ "glProgramUniform3i\0"
+ "glProgramUniform3iv\0"
+ "glProgramUniform3ui\0"
+ "glProgramUniform3uiv\0"
+ "glProgramUniform4f\0"
+ "glProgramUniform4fv\0"
+ "glProgramUniform4i\0"
+ "glProgramUniform4iv\0"
+ "glProgramUniform4ui\0"
+ "glProgramUniform4uiv\0"
+ "glProgramUniformMatrix2fv\0"
+ "glProgramUniformMatrix2x3fv\0"
+ "glProgramUniformMatrix2x4fv\0"
+ "glProgramUniformMatrix3fv\0"
+ "glProgramUniformMatrix3x2fv\0"
+ "glProgramUniformMatrix3x4fv\0"
+ "glProgramUniformMatrix4fv\0"
+ "glProgramUniformMatrix4x2fv\0"
+ "glProgramUniformMatrix4x3fv\0"
+ "glUnlockArraysEXT\0"
+ "glUseProgramStages\0"
+ "glValidateProgramPipeline\0"
+ "glDebugMessageCallback\0"
+ "glDebugMessageControl\0"
+ "glDebugMessageInsert\0"
+ "glGetDebugMessageLog\0"
+ "glGetObjectLabel\0"
+ "glGetObjectPtrLabel\0"
+ "glObjectLabel\0"
+ "glObjectPtrLabel\0"
+ "glPopDebugGroup\0"
+ "glPushDebugGroup\0"
+ "glSecondaryColor3fEXT\0"
+ "glSecondaryColor3fvEXT\0"
+ "glMultiDrawElementsEXT\0"
+ "glFogCoordfEXT\0"
+ "glFogCoordfvEXT\0"
+ "glResizeBuffersMESA\0"
+ "glWindowPos4dMESA\0"
+ "glWindowPos4dvMESA\0"
+ "glWindowPos4fMESA\0"
+ "glWindowPos4fvMESA\0"
+ "glWindowPos4iMESA\0"
+ "glWindowPos4ivMESA\0"
+ "glWindowPos4sMESA\0"
+ "glWindowPos4svMESA\0"
+ "glMultiModeDrawArraysIBM\0"
+ "glMultiModeDrawElementsIBM\0"
+ "glAreProgramsResidentNV\0"
+ "glExecuteProgramNV\0"
+ "glGetProgramParameterdvNV\0"
+ "glGetProgramParameterfvNV\0"
+ "glGetProgramStringNV\0"
+ "glGetProgramivNV\0"
+ "glGetTrackMatrixivNV\0"
+ "glGetVertexAttribdvNV\0"
+ "glGetVertexAttribfvNV\0"
+ "glGetVertexAttribivNV\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"
+ "glActiveStencilFaceEXT\0"
+ "glBindVertexArrayAPPLE\0"
+ "glGenVertexArraysAPPLE\0"
+ "glGetProgramNamedParameterdvNV\0"
+ "glGetProgramNamedParameterfvNV\0"
+ "glProgramNamedParameter4dNV\0"
+ "glProgramNamedParameter4dvNV\0"
+ "glProgramNamedParameter4fNV\0"
+ "glProgramNamedParameter4fvNV\0"
+ "glPrimitiveRestartNV\0"
+ "glGetTexGenxvOES\0"
+ "glTexGenxOES\0"
+ "glTexGenxvOES\0"
+ "glDepthBoundsEXT\0"
+ "glBindFramebufferEXT\0"
+ "glBindRenderbufferEXT\0"
+ "glBufferParameteriAPPLE\0"
+ "glFlushMappedBufferRangeAPPLE\0"
+ "glVertexAttribI1iEXT\0"
+ "glVertexAttribI1uiEXT\0"
+ "glVertexAttribI2iEXT\0"
+ "glVertexAttribI2ivEXT\0"
+ "glVertexAttribI2uiEXT\0"
+ "glVertexAttribI2uivEXT\0"
+ "glVertexAttribI3iEXT\0"
+ "glVertexAttribI3ivEXT\0"
+ "glVertexAttribI3uiEXT\0"
+ "glVertexAttribI3uivEXT\0"
+ "glVertexAttribI4iEXT\0"
+ "glVertexAttribI4ivEXT\0"
+ "glVertexAttribI4uiEXT\0"
+ "glVertexAttribI4uivEXT\0"
+ "glClearColorIiEXT\0"
+ "glClearColorIuiEXT\0"
+ "glBindBufferOffsetEXT\0"
+ "glBeginPerfMonitorAMD\0"
+ "glDeletePerfMonitorsAMD\0"
+ "glEndPerfMonitorAMD\0"
+ "glGenPerfMonitorsAMD\0"
+ "glGetPerfMonitorCounterDataAMD\0"
+ "glGetPerfMonitorCounterInfoAMD\0"
+ "glGetPerfMonitorCounterStringAMD\0"
+ "glGetPerfMonitorCountersAMD\0"
+ "glGetPerfMonitorGroupStringAMD\0"
+ "glGetPerfMonitorGroupsAMD\0"
+ "glSelectPerfMonitorCountersAMD\0"
+ "glGetObjectParameterivAPPLE\0"
+ "glObjectPurgeableAPPLE\0"
+ "glObjectUnpurgeableAPPLE\0"
+ "glActiveProgramEXT\0"
+ "glCreateShaderProgramEXT\0"
+ "glUseShaderProgramEXT\0"
+ "glTextureBarrierNV\0"
+ "glVDPAUFiniNV\0"
+ "glVDPAUGetSurfaceivNV\0"
+ "glVDPAUInitNV\0"
+ "glVDPAUIsSurfaceNV\0"
+ "glVDPAUMapSurfacesNV\0"
+ "glVDPAURegisterOutputSurfaceNV\0"
+ "glVDPAURegisterVideoSurfaceNV\0"
+ "glVDPAUSurfaceAccessNV\0"
+ "glVDPAUUnmapSurfacesNV\0"
+ "glVDPAUUnregisterSurfaceNV\0"
+ "glBeginPerfQueryINTEL\0"
+ "glCreatePerfQueryINTEL\0"
+ "glDeletePerfQueryINTEL\0"
+ "glEndPerfQueryINTEL\0"
+ "glGetFirstPerfQueryIdINTEL\0"
+ "glGetNextPerfQueryIdINTEL\0"
+ "glGetPerfCounterInfoINTEL\0"
+ "glGetPerfQueryDataINTEL\0"
+ "glGetPerfQueryIdByNameINTEL\0"
+ "glGetPerfQueryInfoINTEL\0"
+ "glStencilFuncSeparateATI\0"
+ "glProgramEnvParameters4fvEXT\0"
+ "glProgramLocalParameters4fvEXT\0"
+ "glEGLImageTargetRenderbufferStorageOES\0"
+ "glEGLImageTargetTexture2DOES\0"
+ "glAlphaFuncx\0"
+ "glClearColorx\0"
+ "glClearDepthx\0"
+ "glColor4x\0"
+ "glDepthRangex\0"
+ "glFogx\0"
+ "glFogxv\0"
+ "glFrustumf\0"
+ "glFrustumx\0"
+ "glLightModelx\0"
+ "glLightModelxv\0"
+ "glLightx\0"
+ "glLightxv\0"
+ "glLineWidthx\0"
+ "glLoadMatrixx\0"
+ "glMaterialx\0"
+ "glMaterialxv\0"
+ "glMultMatrixx\0"
+ "glMultiTexCoord4x\0"
+ "glNormal3x\0"
+ "glOrthof\0"
+ "glOrthox\0"
+ "glPointSizex\0"
+ "glPolygonOffsetx\0"
+ "glRotatex\0"
+ "glSampleCoveragex\0"
+ "glScalex\0"
+ "glTexEnvx\0"
+ "glTexEnvxv\0"
+ "glTexParameterx\0"
+ "glTranslatex\0"
+ "glClipPlanef\0"
+ "glClipPlanex\0"
+ "glGetClipPlanef\0"
+ "glGetClipPlanex\0"
+ "glGetFixedv\0"
+ "glGetLightxv\0"
+ "glGetMaterialxv\0"
+ "glGetTexEnvxv\0"
+ "glGetTexParameterxv\0"
+ "glPointParameterx\0"
+ "glPointParameterxv\0"
+ "glTexParameterxv\0"
+ "glTexGenfOES\0"
+ "glTexGenfvOES\0"
+ "glTexGeniOES\0"
+ "glTexGenivOES\0"
+ "glReadBufferNV\0"
+ "glGetTexGenfvOES\0"
+ "glGetTexGenivOES\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"
+ "glBlendEquationOES\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"
+ "glTexImage3DOES\0"
+ "glTexSubImage3DEXT\0"
+ "glTexSubImage3DOES\0"
+ "glCopyTexSubImage3DEXT\0"
+ "glCopyTexSubImage3DOES\0"
+ "glActiveTextureARB\0"
+ "glClientActiveTextureARB\0"
+ "glMultiTexCoord1dARB\0"
+ "glMultiTexCoord1dvARB\0"
+ "glMultiTexCoord1f\0"
+ "glMultiTexCoord1fv\0"
+ "glMultiTexCoord1iARB\0"
+ "glMultiTexCoord1ivARB\0"
+ "glMultiTexCoord1sARB\0"
+ "glMultiTexCoord1svARB\0"
+ "glMultiTexCoord2dARB\0"
+ "glMultiTexCoord2dvARB\0"
+ "glMultiTexCoord2f\0"
+ "glMultiTexCoord2fv\0"
+ "glMultiTexCoord2iARB\0"
+ "glMultiTexCoord2ivARB\0"
+ "glMultiTexCoord2sARB\0"
+ "glMultiTexCoord2svARB\0"
+ "glMultiTexCoord3dARB\0"
+ "glMultiTexCoord3dvARB\0"
+ "glMultiTexCoord3f\0"
+ "glMultiTexCoord3fv\0"
+ "glMultiTexCoord3iARB\0"
+ "glMultiTexCoord3ivARB\0"
+ "glMultiTexCoord3sARB\0"
+ "glMultiTexCoord3svARB\0"
+ "glMultiTexCoord4dARB\0"
+ "glMultiTexCoord4dvARB\0"
+ "glMultiTexCoord4f\0"
+ "glMultiTexCoord4fv\0"
+ "glMultiTexCoord4iARB\0"
+ "glMultiTexCoord4ivARB\0"
+ "glMultiTexCoord4sARB\0"
+ "glMultiTexCoord4svARB\0"
+ "glCompressedTexImage1DARB\0"
+ "glCompressedTexImage2DARB\0"
+ "glCompressedTexImage3DARB\0"
+ "glCompressedTexImage3DOES\0"
+ "glCompressedTexSubImage1DARB\0"
+ "glCompressedTexSubImage2DARB\0"
+ "glCompressedTexSubImage3DARB\0"
+ "glCompressedTexSubImage3DOES\0"
+ "glGetCompressedTexImageARB\0"
+ "glLoadTransposeMatrixdARB\0"
+ "glLoadTransposeMatrixfARB\0"
+ "glMultTransposeMatrixdARB\0"
+ "glMultTransposeMatrixfARB\0"
+ "glSampleCoverageARB\0"
+ "glBlendFuncSeparateEXT\0"
+ "glBlendFuncSeparateINGR\0"
+ "glBlendFuncSeparateOES\0"
+ "glFogCoordPointerEXT\0"
+ "glFogCoorddEXT\0"
+ "glFogCoorddvEXT\0"
+ "glMultiDrawArraysEXT\0"
+ "glPointParameterfARB\0"
+ "glPointParameterfEXT\0"
+ "glPointParameterfSGIS\0"
+ "glPointParameterfvARB\0"
+ "glPointParameterfvEXT\0"
+ "glPointParameterfvSGIS\0"
+ "glPointParameteriNV\0"
+ "glPointParameterivNV\0"
+ "glSecondaryColor3bEXT\0"
+ "glSecondaryColor3bvEXT\0"
+ "glSecondaryColor3dEXT\0"
+ "glSecondaryColor3dvEXT\0"
+ "glSecondaryColor3iEXT\0"
+ "glSecondaryColor3ivEXT\0"
+ "glSecondaryColor3sEXT\0"
+ "glSecondaryColor3svEXT\0"
+ "glSecondaryColor3ubEXT\0"
+ "glSecondaryColor3ubvEXT\0"
+ "glSecondaryColor3uiEXT\0"
+ "glSecondaryColor3uivEXT\0"
+ "glSecondaryColor3usEXT\0"
+ "glSecondaryColor3usvEXT\0"
+ "glSecondaryColorPointerEXT\0"
+ "glWindowPos2dARB\0"
+ "glWindowPos2dMESA\0"
+ "glWindowPos2dvARB\0"
+ "glWindowPos2dvMESA\0"
+ "glWindowPos2fARB\0"
+ "glWindowPos2fMESA\0"
+ "glWindowPos2fvARB\0"
+ "glWindowPos2fvMESA\0"
+ "glWindowPos2iARB\0"
+ "glWindowPos2iMESA\0"
+ "glWindowPos2ivARB\0"
+ "glWindowPos2ivMESA\0"
+ "glWindowPos2sARB\0"
+ "glWindowPos2sMESA\0"
+ "glWindowPos2svARB\0"
+ "glWindowPos2svMESA\0"
+ "glWindowPos3dARB\0"
+ "glWindowPos3dMESA\0"
+ "glWindowPos3dvARB\0"
+ "glWindowPos3dvMESA\0"
+ "glWindowPos3fARB\0"
+ "glWindowPos3fMESA\0"
+ "glWindowPos3fvARB\0"
+ "glWindowPos3fvMESA\0"
+ "glWindowPos3iARB\0"
+ "glWindowPos3iMESA\0"
+ "glWindowPos3ivARB\0"
+ "glWindowPos3ivMESA\0"
+ "glWindowPos3sARB\0"
+ "glWindowPos3sMESA\0"
+ "glWindowPos3svARB\0"
+ "glWindowPos3svMESA\0"
+ "glBeginQueryARB\0"
+ "glBindBufferARB\0"
+ "glBufferDataARB\0"
+ "glBufferSubDataARB\0"
+ "glDeleteBuffersARB\0"
+ "glDeleteQueriesARB\0"
+ "glEndQueryARB\0"
+ "glGenBuffersARB\0"
+ "glGenQueriesARB\0"
+ "glGetBufferParameterivARB\0"
+ "glGetBufferPointervARB\0"
+ "glGetBufferPointervOES\0"
+ "glGetBufferSubDataARB\0"
+ "glGetQueryObjectivARB\0"
+ "glGetQueryObjectuivARB\0"
+ "glGetQueryivARB\0"
+ "glIsBufferARB\0"
+ "glIsQueryARB\0"
+ "glMapBufferARB\0"
+ "glMapBufferOES\0"
+ "glUnmapBufferARB\0"
+ "glUnmapBufferOES\0"
+ "glBindAttribLocationARB\0"
+ "glBlendEquationSeparateEXT\0"
+ "glBlendEquationSeparateATI\0"
+ "glBlendEquationSeparateOES\0"
+ "glCompileShaderARB\0"
+ "glDisableVertexAttribArrayARB\0"
+ "glDrawBuffersARB\0"
+ "glDrawBuffersATI\0"
+ "glDrawBuffersNV\0"
+ "glEnableVertexAttribArrayARB\0"
+ "glGetActiveAttribARB\0"
+ "glGetActiveUniformARB\0"
+ "glGetAttribLocationARB\0"
+ "glGetShaderSourceARB\0"
+ "glGetUniformLocationARB\0"
+ "glGetUniformfvARB\0"
+ "glGetUniformivARB\0"
+ "glGetVertexAttribPointervARB\0"
+ "glGetVertexAttribPointervNV\0"
+ "glGetVertexAttribdvARB\0"
+ "glGetVertexAttribfvARB\0"
+ "glGetVertexAttribivARB\0"
+ "glLinkProgramARB\0"
+ "glShaderSourceARB\0"
+ "glStencilOpSeparateATI\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"
+ "glVertexAttrib1dARB\0"
+ "glVertexAttrib1dvARB\0"
+ "glVertexAttrib1sARB\0"
+ "glVertexAttrib1svARB\0"
+ "glVertexAttrib2dARB\0"
+ "glVertexAttrib2dvARB\0"
+ "glVertexAttrib2sARB\0"
+ "glVertexAttrib2svARB\0"
+ "glVertexAttrib3dARB\0"
+ "glVertexAttrib3dvARB\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"
+ "glVertexAttrib4ivARB\0"
+ "glVertexAttrib4sARB\0"
+ "glVertexAttrib4svARB\0"
+ "glVertexAttrib4ubvARB\0"
+ "glVertexAttrib4uivARB\0"
+ "glVertexAttrib4usvARB\0"
+ "glVertexAttribPointerARB\0"
+ "glBeginConditionalRenderNV\0"
+ "glBeginTransformFeedbackEXT\0"
+ "glBindBufferBaseEXT\0"
+ "glBindBufferRangeEXT\0"
+ "glBindFragDataLocationEXT\0"
+ "glClampColorARB\0"
+ "glColorMaskIndexedEXT\0"
+ "glDisableIndexedEXT\0"
+ "glEnableIndexedEXT\0"
+ "glEndConditionalRenderNV\0"
+ "glEndTransformFeedbackEXT\0"
+ "glGetBooleanIndexedvEXT\0"
+ "glGetFragDataLocationEXT\0"
+ "glGetIntegerIndexedvEXT\0"
+ "glGetTexParameterIivEXT\0"
+ "glGetTexParameterIuivEXT\0"
+ "glGetTransformFeedbackVaryingEXT\0"
+ "glGetUniformuivEXT\0"
+ "glGetVertexAttribIivEXT\0"
+ "glGetVertexAttribIuivEXT\0"
+ "glIsEnabledIndexedEXT\0"
+ "glTexParameterIivEXT\0"
+ "glTexParameterIuivEXT\0"
+ "glTransformFeedbackVaryingsEXT\0"
+ "glUniform1uiEXT\0"
+ "glUniform1uivEXT\0"
+ "glUniform2uiEXT\0"
+ "glUniform2uivEXT\0"
+ "glUniform3uiEXT\0"
+ "glUniform3uivEXT\0"
+ "glUniform4uiEXT\0"
+ "glUniform4uivEXT\0"
+ "glVertexAttribI1ivEXT\0"
+ "glVertexAttribI1uivEXT\0"
+ "glVertexAttribI4bvEXT\0"
+ "glVertexAttribI4svEXT\0"
+ "glVertexAttribI4ubvEXT\0"
+ "glVertexAttribI4usvEXT\0"
+ "glVertexAttribIPointerEXT\0"
+ "glPrimitiveRestartIndexNV\0"
+ "glTexBufferARB\0"
+ "glFramebufferTextureARB\0"
+ "glVertexAttribDivisorARB\0"
+ "glMinSampleShadingARB\0"
+ "glBindProgramNV\0"
+ "glDeleteProgramsNV\0"
+ "glGenProgramsNV\0"
+ "glIsProgramNV\0"
+ "glProgramParameter4dNV\0"
+ "glProgramParameter4dvNV\0"
+ "glProgramParameter4fNV\0"
+ "glProgramParameter4fvNV\0"
+ "glVertexAttrib1f\0"
+ "glVertexAttrib1fv\0"
+ "glVertexAttrib2f\0"
+ "glVertexAttrib2fv\0"
+ "glVertexAttrib3f\0"
+ "glVertexAttrib3fv\0"
+ "glVertexAttrib4f\0"
+ "glVertexAttrib4fv\0"
+ "glDrawArraysInstancedEXT\0"
+ "glDrawArraysInstanced\0"
+ "glDrawElementsInstancedEXT\0"
+ "glDrawElementsInstanced\0"
+ "glBindFramebufferOES\0"
+ "glBindRenderbufferOES\0"
+ "glBlitFramebufferEXT\0"
+ "glCheckFramebufferStatusEXT\0"
+ "glCheckFramebufferStatusOES\0"
+ "glDeleteFramebuffersEXT\0"
+ "glDeleteFramebuffersOES\0"
+ "glDeleteRenderbuffersEXT\0"
+ "glDeleteRenderbuffersOES\0"
+ "glFramebufferRenderbufferEXT\0"
+ "glFramebufferRenderbufferOES\0"
+ "glFramebufferTexture1DEXT\0"
+ "glFramebufferTexture2DEXT\0"
+ "glFramebufferTexture2DOES\0"
+ "glFramebufferTexture3DEXT\0"
+ "glFramebufferTexture3DOES\0"
+ "glFramebufferTextureLayerARB\0"
+ "glFramebufferTextureLayerEXT\0"
+ "glGenFramebuffersEXT\0"
+ "glGenFramebuffersOES\0"
+ "glGenRenderbuffersEXT\0"
+ "glGenRenderbuffersOES\0"
+ "glGenerateMipmapEXT\0"
+ "glGenerateMipmapOES\0"
+ "glGetFramebufferAttachmentParameterivEXT\0"
+ "glGetFramebufferAttachmentParameterivOES\0"
+ "glGetRenderbufferParameterivEXT\0"
+ "glGetRenderbufferParameterivOES\0"
+ "glIsFramebufferEXT\0"
+ "glIsFramebufferOES\0"
+ "glIsRenderbufferEXT\0"
+ "glIsRenderbufferOES\0"
+ "glRenderbufferStorageEXT\0"
+ "glRenderbufferStorageOES\0"
+ "glRenderbufferStorageMultisampleEXT\0"
+ "glFlushMappedBufferRangeEXT\0"
+ "glMapBufferRangeEXT\0"
+ "glBindVertexArrayOES\0"
+ "glDeleteVertexArraysAPPLE\0"
+ "glDeleteVertexArraysOES\0"
+ "glGenVertexArraysOES\0"
+ "glIsVertexArrayAPPLE\0"
+ "glIsVertexArrayOES\0"
+ "glProvokingVertexEXT\0"
+ "glBlendEquationSeparateIndexedAMD\0"
+ "glBlendEquationIndexedAMD\0"
+ "glBlendFuncSeparateIndexedAMD\0"
+ "glBlendFuncIndexedAMD\0"
+ "glGetQueryObjecti64vEXT\0"
+ "glGetQueryObjectui64vEXT\0"
+ "glClearDepthfOES\0"
+ "glDepthRangefOES\0"
+ "glGetProgramBinaryOES\0"
+ "glProgramBinaryOES\0"
+ "glProgramParameteriARB\0"
+ "glProgramParameteriEXT\0"
+ "glSampleMaskEXT\0"
+ "glSamplePatternEXT\0"
+ "glActiveShaderProgramEXT\0"
+ "glBindProgramPipelineEXT\0"
+ "glCreateShaderProgramvEXT\0"
+ "glDeleteProgramPipelinesEXT\0"
+ "glGenProgramPipelinesEXT\0"
+ "glGetProgramPipelineInfoLogEXT\0"
+ "glGetProgramPipelineivEXT\0"
+ "glIsProgramPipelineEXT\0"
+ "glProgramUniform1fEXT\0"
+ "glProgramUniform1fvEXT\0"
+ "glProgramUniform1iEXT\0"
+ "glProgramUniform1ivEXT\0"
+ "glProgramUniform1uiEXT\0"
+ "glProgramUniform1uivEXT\0"
+ "glProgramUniform2fEXT\0"
+ "glProgramUniform2fvEXT\0"
+ "glProgramUniform2iEXT\0"
+ "glProgramUniform2ivEXT\0"
+ "glProgramUniform2uiEXT\0"
+ "glProgramUniform2uivEXT\0"
+ "glProgramUniform3fEXT\0"
+ "glProgramUniform3fvEXT\0"
+ "glProgramUniform3iEXT\0"
+ "glProgramUniform3ivEXT\0"
+ "glProgramUniform3uiEXT\0"
+ "glProgramUniform3uivEXT\0"
+ "glProgramUniform4fEXT\0"
+ "glProgramUniform4fvEXT\0"
+ "glProgramUniform4iEXT\0"
+ "glProgramUniform4ivEXT\0"
+ "glProgramUniform4uiEXT\0"
+ "glProgramUniform4uivEXT\0"
+ "glProgramUniformMatrix2fvEXT\0"
+ "glProgramUniformMatrix2x3fvEXT\0"
+ "glProgramUniformMatrix2x4fvEXT\0"
+ "glProgramUniformMatrix3fvEXT\0"
+ "glProgramUniformMatrix3x2fvEXT\0"
+ "glProgramUniformMatrix3x4fvEXT\0"
+ "glProgramUniformMatrix4fvEXT\0"
+ "glProgramUniformMatrix4x2fvEXT\0"
+ "glProgramUniformMatrix4x3fvEXT\0"
+ "glUseProgramStagesEXT\0"
+ "glValidateProgramPipelineEXT\0"
+ "glDebugMessageCallbackARB\0"
+ "glDebugMessageControlARB\0"
+ "glDebugMessageInsertARB\0"
+ "glGetDebugMessageLogARB\0"
+ "glSecondaryColor3f\0"
+ "glSecondaryColor3fv\0"
+ "glMultiDrawElements\0"
+ "glFogCoordf\0"
+ "glFogCoordfv\0"
+ "glVertexAttribI1i\0"
+ "glVertexAttribI1ui\0"
+ "glVertexAttribI2i\0"
+ "glVertexAttribI2iv\0"
+ "glVertexAttribI2ui\0"
+ "glVertexAttribI2uiv\0"
+ "glVertexAttribI3i\0"
+ "glVertexAttribI3iv\0"
+ "glVertexAttribI3ui\0"
+ "glVertexAttribI3uiv\0"
+ "glVertexAttribI4i\0"
+ "glVertexAttribI4iv\0"
+ "glVertexAttribI4ui\0"
+ "glVertexAttribI4uiv\0"
+ "glAlphaFuncxOES\0"
+ "glClearColorxOES\0"
+ "glClearDepthxOES\0"
+ "glColor4xOES\0"
+ "glDepthRangexOES\0"
+ "glFogxOES\0"
+ "glFogxvOES\0"
+ "glFrustumfOES\0"
+ "glFrustumxOES\0"
+ "glLightModelxOES\0"
+ "glLightModelxvOES\0"
+ "glLightxOES\0"
+ "glLightxvOES\0"
+ "glLineWidthxOES\0"
+ "glLoadMatrixxOES\0"
+ "glMaterialxOES\0"
+ "glMaterialxvOES\0"
+ "glMultMatrixxOES\0"
+ "glMultiTexCoord4xOES\0"
+ "glNormal3xOES\0"
+ "glOrthofOES\0"
+ "glOrthoxOES\0"
+ "glPointSizexOES\0"
+ "glPolygonOffsetxOES\0"
+ "glRotatexOES\0"
+ "glSampleCoveragexOES\0"
+ "glScalexOES\0"
+ "glTexEnvxOES\0"
+ "glTexEnvxvOES\0"
+ "glTexParameterxOES\0"
+ "glTranslatexOES\0"
+ "glClipPlanefOES\0"
+ "glClipPlanexOES\0"
+ "glGetClipPlanefOES\0"
+ "glGetClipPlanexOES\0"
+ "glGetFixedvOES\0"
+ "glGetLightxvOES\0"
+ "glGetMaterialxvOES\0"
+ "glGetTexEnvxvOES\0"
+ "glGetTexParameterxvOES\0"
+ "glPointParameterxOES\0"
+ "glPointParameterxvOES\0"
+ "glTexParameterxvOES\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_731 mgl_dispatch_stub_731
+#define gl_dispatch_stub_732 mgl_dispatch_stub_732
+#define gl_dispatch_stub_733 mgl_dispatch_stub_733
+#define gl_dispatch_stub_828 mgl_dispatch_stub_828
+#define gl_dispatch_stub_868 mgl_dispatch_stub_868
+#define gl_dispatch_stub_869 mgl_dispatch_stub_869
+#define gl_dispatch_stub_870 mgl_dispatch_stub_870
+#define gl_dispatch_stub_871 mgl_dispatch_stub_871
+#define gl_dispatch_stub_872 mgl_dispatch_stub_872
+#define gl_dispatch_stub_873 mgl_dispatch_stub_873
+#define gl_dispatch_stub_874 mgl_dispatch_stub_874
+#define gl_dispatch_stub_875 mgl_dispatch_stub_875
+#define gl_dispatch_stub_877 mgl_dispatch_stub_877
+#define gl_dispatch_stub_878 mgl_dispatch_stub_878
+#define gl_dispatch_stub_879 mgl_dispatch_stub_879
+#define gl_dispatch_stub_886 mgl_dispatch_stub_886
+#define gl_dispatch_stub_887 mgl_dispatch_stub_887
+#define gl_dispatch_stub_888 mgl_dispatch_stub_888
+#define gl_dispatch_stub_889 mgl_dispatch_stub_889
+#define gl_dispatch_stub_890 mgl_dispatch_stub_890
+#define gl_dispatch_stub_891 mgl_dispatch_stub_891
+#define gl_dispatch_stub_892 mgl_dispatch_stub_892
+#define gl_dispatch_stub_893 mgl_dispatch_stub_893
+#define gl_dispatch_stub_894 mgl_dispatch_stub_894
+#define gl_dispatch_stub_896 mgl_dispatch_stub_896
+#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_900 mgl_dispatch_stub_900
+#define gl_dispatch_stub_901 mgl_dispatch_stub_901
+#define gl_dispatch_stub_902 mgl_dispatch_stub_902
+#define gl_dispatch_stub_903 mgl_dispatch_stub_903
+#define gl_dispatch_stub_904 mgl_dispatch_stub_904
+#define gl_dispatch_stub_905 mgl_dispatch_stub_905
+#define gl_dispatch_stub_906 mgl_dispatch_stub_906
+#define gl_dispatch_stub_907 mgl_dispatch_stub_907
+#define gl_dispatch_stub_908 mgl_dispatch_stub_908
+#define gl_dispatch_stub_909 mgl_dispatch_stub_909
+#define gl_dispatch_stub_910 mgl_dispatch_stub_910
+#define gl_dispatch_stub_911 mgl_dispatch_stub_911
+#define gl_dispatch_stub_912 mgl_dispatch_stub_912
+#define gl_dispatch_stub_913 mgl_dispatch_stub_913
+#define gl_dispatch_stub_914 mgl_dispatch_stub_914
+#define gl_dispatch_stub_915 mgl_dispatch_stub_915
+#define gl_dispatch_stub_916 mgl_dispatch_stub_916
+#define gl_dispatch_stub_917 mgl_dispatch_stub_917
+#define gl_dispatch_stub_918 mgl_dispatch_stub_918
+#define gl_dispatch_stub_919 mgl_dispatch_stub_919
+#define gl_dispatch_stub_920 mgl_dispatch_stub_920
+#define gl_dispatch_stub_921 mgl_dispatch_stub_921
+#define gl_dispatch_stub_922 mgl_dispatch_stub_922
+#define gl_dispatch_stub_923 mgl_dispatch_stub_923
+#define gl_dispatch_stub_924 mgl_dispatch_stub_924
+#define gl_dispatch_stub_925 mgl_dispatch_stub_925
+#define gl_dispatch_stub_926 mgl_dispatch_stub_926
+#define gl_dispatch_stub_927 mgl_dispatch_stub_927
+#define gl_dispatch_stub_928 mgl_dispatch_stub_928
+#define gl_dispatch_stub_930 mgl_dispatch_stub_930
+#define gl_dispatch_stub_931 mgl_dispatch_stub_931
+#define gl_dispatch_stub_956 mgl_dispatch_stub_956
+#define gl_dispatch_stub_957 mgl_dispatch_stub_957
+#define gl_dispatch_stub_1031 mgl_dispatch_stub_1031
+#define gl_dispatch_stub_1032 mgl_dispatch_stub_1032
+#define gl_dispatch_stub_1033 mgl_dispatch_stub_1033
+#define gl_dispatch_stub_1041 mgl_dispatch_stub_1041
+#define gl_dispatch_stub_1042 mgl_dispatch_stub_1042
+#define gl_dispatch_stub_1043 mgl_dispatch_stub_1043
+#define gl_dispatch_stub_1044 mgl_dispatch_stub_1044
+#define gl_dispatch_stub_1047 mgl_dispatch_stub_1047
+#define gl_dispatch_stub_1048 mgl_dispatch_stub_1048
+#define gl_dispatch_stub_1094 mgl_dispatch_stub_1094
+#define gl_dispatch_stub_1095 mgl_dispatch_stub_1095
+#define gl_dispatch_stub_1096 mgl_dispatch_stub_1096
+#define gl_dispatch_stub_1097 mgl_dispatch_stub_1097
+#define gl_dispatch_stub_1098 mgl_dispatch_stub_1098
+#define gl_dispatch_stub_1099 mgl_dispatch_stub_1099
+#define gl_dispatch_stub_1100 mgl_dispatch_stub_1100
+#define gl_dispatch_stub_1101 mgl_dispatch_stub_1101
+#define gl_dispatch_stub_1102 mgl_dispatch_stub_1102
+#define gl_dispatch_stub_1103 mgl_dispatch_stub_1103
+#define gl_dispatch_stub_1104 mgl_dispatch_stub_1104
+#define gl_dispatch_stub_1105 mgl_dispatch_stub_1105
+#define gl_dispatch_stub_1106 mgl_dispatch_stub_1106
+#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_731(GLuint id, GLenum pname, GLint64 * params);
+void GLAPIENTRY gl_dispatch_stub_732(GLuint id, GLenum pname, GLuint64 * params);
+void GLAPIENTRY gl_dispatch_stub_733(GLuint id, GLenum target);
+void GLAPIENTRY gl_dispatch_stub_828(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params);
+void GLAPIENTRY gl_dispatch_stub_868(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
+void GLAPIENTRY gl_dispatch_stub_869(const GLfloat * coords);
+void GLAPIENTRY gl_dispatch_stub_870(GLint x, GLint y, GLint z, GLint width, GLint height);
+void GLAPIENTRY gl_dispatch_stub_871(const GLint * coords);
+void GLAPIENTRY gl_dispatch_stub_872(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
+void GLAPIENTRY gl_dispatch_stub_873(const GLshort * coords);
+void GLAPIENTRY gl_dispatch_stub_874(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
+void GLAPIENTRY gl_dispatch_stub_875(const GLfixed * coords);
+GLbitfield GLAPIENTRY gl_dispatch_stub_877(GLfixed * mantissa, GLint * exponent);
+void GLAPIENTRY gl_dispatch_stub_878(GLclampf value, GLboolean invert);
+void GLAPIENTRY gl_dispatch_stub_879(GLenum pattern);
+void GLAPIENTRY gl_dispatch_stub_886(GLenum target, GLsizei numAttachments, const GLenum * attachments);
+void GLAPIENTRY gl_dispatch_stub_887(GLuint pipeline, GLuint program);
+void GLAPIENTRY gl_dispatch_stub_888(GLuint pipeline);
+GLuint GLAPIENTRY gl_dispatch_stub_889(GLenum type, GLsizei count, const GLchar * const * strings);
+void GLAPIENTRY gl_dispatch_stub_890(GLsizei n, const GLuint * pipelines);
+void GLAPIENTRY gl_dispatch_stub_891(GLsizei n, GLuint * pipelines);
+void GLAPIENTRY gl_dispatch_stub_892(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
+void GLAPIENTRY gl_dispatch_stub_893(GLuint pipeline, GLenum pname, GLint * params);
+GLboolean GLAPIENTRY gl_dispatch_stub_894(GLuint pipeline);
+void GLAPIENTRY gl_dispatch_stub_896(GLuint program, GLint location, GLfloat x);
+void GLAPIENTRY gl_dispatch_stub_897(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_898(GLuint program, GLint location, GLint x);
+void GLAPIENTRY gl_dispatch_stub_899(GLuint program, GLint location, GLsizei count, const GLint * value);
+void GLAPIENTRY gl_dispatch_stub_900(GLuint program, GLint location, GLuint x);
+void GLAPIENTRY gl_dispatch_stub_901(GLuint program, GLint location, GLsizei count, const GLuint * value);
+void GLAPIENTRY gl_dispatch_stub_902(GLuint program, GLint location, GLfloat x, GLfloat y);
+void GLAPIENTRY gl_dispatch_stub_903(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_904(GLuint program, GLint location, GLint x, GLint y);
+void GLAPIENTRY gl_dispatch_stub_905(GLuint program, GLint location, GLsizei count, const GLint * value);
+void GLAPIENTRY gl_dispatch_stub_906(GLuint program, GLint location, GLuint x, GLuint y);
+void GLAPIENTRY gl_dispatch_stub_907(GLuint program, GLint location, GLsizei count, const GLuint * value);
+void GLAPIENTRY gl_dispatch_stub_908(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
+void GLAPIENTRY gl_dispatch_stub_909(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_910(GLuint program, GLint location, GLint x, GLint y, GLint z);
+void GLAPIENTRY gl_dispatch_stub_911(GLuint program, GLint location, GLsizei count, const GLint * value);
+void GLAPIENTRY gl_dispatch_stub_912(GLuint program, GLint location, GLuint x, GLuint y, GLuint z);
+void GLAPIENTRY gl_dispatch_stub_913(GLuint program, GLint location, GLsizei count, const GLuint * value);
+void GLAPIENTRY gl_dispatch_stub_914(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+void GLAPIENTRY gl_dispatch_stub_915(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_916(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
+void GLAPIENTRY gl_dispatch_stub_917(GLuint program, GLint location, GLsizei count, const GLint * value);
+void GLAPIENTRY gl_dispatch_stub_918(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w);
+void GLAPIENTRY gl_dispatch_stub_919(GLuint program, GLint location, GLsizei count, const GLuint * value);
+void GLAPIENTRY gl_dispatch_stub_920(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_921(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_922(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_923(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_924(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_925(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_926(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_927(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_928(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+void GLAPIENTRY gl_dispatch_stub_930(GLuint pipeline, GLbitfield stages, GLuint program);
+void GLAPIENTRY gl_dispatch_stub_931(GLuint pipeline);
+void GLAPIENTRY gl_dispatch_stub_956(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride);
+void GLAPIENTRY gl_dispatch_stub_957(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride);
+void GLAPIENTRY gl_dispatch_stub_1031(GLenum face);
+void GLAPIENTRY gl_dispatch_stub_1032(GLuint array);
+void GLAPIENTRY gl_dispatch_stub_1033(GLsizei n, GLuint * arrays);
+void GLAPIENTRY gl_dispatch_stub_1041(GLenum coord, GLenum pname, GLfixed * params);
+void GLAPIENTRY gl_dispatch_stub_1042(GLenum coord, GLenum pname, GLint param);
+void GLAPIENTRY gl_dispatch_stub_1043(GLenum coord, GLenum pname, const GLfixed * params);
+void GLAPIENTRY gl_dispatch_stub_1044(GLclampd zmin, GLclampd zmax);
+void GLAPIENTRY gl_dispatch_stub_1047(GLenum target, GLenum pname, GLint param);
+void GLAPIENTRY gl_dispatch_stub_1048(GLenum target, GLintptr offset, GLsizeiptr size);
+void GLAPIENTRY gl_dispatch_stub_1094(GLuint queryHandle);
+void GLAPIENTRY gl_dispatch_stub_1095(GLuint queryId, GLuint * queryHandle);
+void GLAPIENTRY gl_dispatch_stub_1096(GLuint queryHandle);
+void GLAPIENTRY gl_dispatch_stub_1097(GLuint queryHandle);
+void GLAPIENTRY gl_dispatch_stub_1098(GLuint * queryId);
+void GLAPIENTRY gl_dispatch_stub_1099(GLuint queryId, GLuint * nextQueryId);
+void GLAPIENTRY gl_dispatch_stub_1100(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar * counterName, GLuint counterDescLength, GLchar * counterDesc, GLuint * counterOffset, GLuint * counterDataSize, GLuint * counterTypeEnum, GLuint * counterDataTypeEnum, GLuint64 * rawCounterMaxValue);
+void GLAPIENTRY gl_dispatch_stub_1101(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid * data, GLuint * bytesWritten);
+void GLAPIENTRY gl_dispatch_stub_1102(GLchar * queryName, GLuint * queryId);
+void GLAPIENTRY gl_dispatch_stub_1103(GLuint queryId, GLuint queryNameLength, GLchar * queryName, GLuint * dataSize, GLuint * noCounters, GLuint * noInstances, GLuint * capsMask);
+void GLAPIENTRY gl_dispatch_stub_1104(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+void GLAPIENTRY gl_dispatch_stub_1105(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+void GLAPIENTRY gl_dispatch_stub_1106(GLenum target, GLuint index, GLsizei count, const GLfloat * 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, glActiveTexture, glActiveTexture, NULL, 374),
+ NAME_FUNC_OFFSET( 5053, glClientActiveTexture, glClientActiveTexture, NULL, 375),
+ NAME_FUNC_OFFSET( 5075, glMultiTexCoord1d, glMultiTexCoord1d, NULL, 376),
+ NAME_FUNC_OFFSET( 5093, glMultiTexCoord1dv, glMultiTexCoord1dv, NULL, 377),
+ NAME_FUNC_OFFSET( 5112, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378),
+ NAME_FUNC_OFFSET( 5133, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379),
+ NAME_FUNC_OFFSET( 5155, glMultiTexCoord1i, glMultiTexCoord1i, NULL, 380),
+ NAME_FUNC_OFFSET( 5173, glMultiTexCoord1iv, glMultiTexCoord1iv, NULL, 381),
+ NAME_FUNC_OFFSET( 5192, glMultiTexCoord1s, glMultiTexCoord1s, NULL, 382),
+ NAME_FUNC_OFFSET( 5210, glMultiTexCoord1sv, glMultiTexCoord1sv, NULL, 383),
+ NAME_FUNC_OFFSET( 5229, glMultiTexCoord2d, glMultiTexCoord2d, NULL, 384),
+ NAME_FUNC_OFFSET( 5247, glMultiTexCoord2dv, glMultiTexCoord2dv, NULL, 385),
+ NAME_FUNC_OFFSET( 5266, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386),
+ NAME_FUNC_OFFSET( 5287, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387),
+ NAME_FUNC_OFFSET( 5309, glMultiTexCoord2i, glMultiTexCoord2i, NULL, 388),
+ NAME_FUNC_OFFSET( 5327, glMultiTexCoord2iv, glMultiTexCoord2iv, NULL, 389),
+ NAME_FUNC_OFFSET( 5346, glMultiTexCoord2s, glMultiTexCoord2s, NULL, 390),
+ NAME_FUNC_OFFSET( 5364, glMultiTexCoord2sv, glMultiTexCoord2sv, NULL, 391),
+ NAME_FUNC_OFFSET( 5383, glMultiTexCoord3d, glMultiTexCoord3d, NULL, 392),
+ NAME_FUNC_OFFSET( 5401, glMultiTexCoord3dv, glMultiTexCoord3dv, NULL, 393),
+ NAME_FUNC_OFFSET( 5420, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394),
+ NAME_FUNC_OFFSET( 5441, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395),
+ NAME_FUNC_OFFSET( 5463, glMultiTexCoord3i, glMultiTexCoord3i, NULL, 396),
+ NAME_FUNC_OFFSET( 5481, glMultiTexCoord3iv, glMultiTexCoord3iv, NULL, 397),
+ NAME_FUNC_OFFSET( 5500, glMultiTexCoord3s, glMultiTexCoord3s, NULL, 398),
+ NAME_FUNC_OFFSET( 5518, glMultiTexCoord3sv, glMultiTexCoord3sv, NULL, 399),
+ NAME_FUNC_OFFSET( 5537, glMultiTexCoord4d, glMultiTexCoord4d, NULL, 400),
+ NAME_FUNC_OFFSET( 5555, glMultiTexCoord4dv, glMultiTexCoord4dv, NULL, 401),
+ NAME_FUNC_OFFSET( 5574, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402),
+ NAME_FUNC_OFFSET( 5595, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403),
+ NAME_FUNC_OFFSET( 5617, glMultiTexCoord4i, glMultiTexCoord4i, NULL, 404),
+ NAME_FUNC_OFFSET( 5635, glMultiTexCoord4iv, glMultiTexCoord4iv, NULL, 405),
+ NAME_FUNC_OFFSET( 5654, glMultiTexCoord4s, glMultiTexCoord4s, NULL, 406),
+ NAME_FUNC_OFFSET( 5672, glMultiTexCoord4sv, glMultiTexCoord4sv, NULL, 407),
+ NAME_FUNC_OFFSET( 5691, glCompressedTexImage1D, glCompressedTexImage1D, NULL, 408),
+ NAME_FUNC_OFFSET( 5714, glCompressedTexImage2D, glCompressedTexImage2D, NULL, 409),
+ NAME_FUNC_OFFSET( 5737, glCompressedTexImage3D, glCompressedTexImage3D, NULL, 410),
+ NAME_FUNC_OFFSET( 5760, glCompressedTexSubImage1D, glCompressedTexSubImage1D, NULL, 411),
+ NAME_FUNC_OFFSET( 5786, glCompressedTexSubImage2D, glCompressedTexSubImage2D, NULL, 412),
+ NAME_FUNC_OFFSET( 5812, glCompressedTexSubImage3D, glCompressedTexSubImage3D, NULL, 413),
+ NAME_FUNC_OFFSET( 5838, glGetCompressedTexImage, glGetCompressedTexImage, NULL, 414),
+ NAME_FUNC_OFFSET( 5862, glLoadTransposeMatrixd, glLoadTransposeMatrixd, NULL, 415),
+ NAME_FUNC_OFFSET( 5885, glLoadTransposeMatrixf, glLoadTransposeMatrixf, NULL, 416),
+ NAME_FUNC_OFFSET( 5908, glMultTransposeMatrixd, glMultTransposeMatrixd, NULL, 417),
+ NAME_FUNC_OFFSET( 5931, glMultTransposeMatrixf, glMultTransposeMatrixf, NULL, 418),
+ NAME_FUNC_OFFSET( 5954, glSampleCoverage, glSampleCoverage, NULL, 419),
+ NAME_FUNC_OFFSET( 5971, glBlendFuncSeparate, glBlendFuncSeparate, NULL, 420),
+ NAME_FUNC_OFFSET( 5991, glFogCoordPointer, glFogCoordPointer, NULL, 421),
+ NAME_FUNC_OFFSET( 6009, glFogCoordd, glFogCoordd, NULL, 422),
+ NAME_FUNC_OFFSET( 6021, glFogCoorddv, glFogCoorddv, NULL, 423),
+ NAME_FUNC_OFFSET( 6034, glMultiDrawArrays, glMultiDrawArrays, NULL, 424),
+ NAME_FUNC_OFFSET( 6052, glPointParameterf, glPointParameterf, NULL, 425),
+ NAME_FUNC_OFFSET( 6070, glPointParameterfv, glPointParameterfv, NULL, 426),
+ NAME_FUNC_OFFSET( 6089, glPointParameteri, glPointParameteri, NULL, 427),
+ NAME_FUNC_OFFSET( 6107, glPointParameteriv, glPointParameteriv, NULL, 428),
+ NAME_FUNC_OFFSET( 6126, glSecondaryColor3b, glSecondaryColor3b, NULL, 429),
+ NAME_FUNC_OFFSET( 6145, glSecondaryColor3bv, glSecondaryColor3bv, NULL, 430),
+ NAME_FUNC_OFFSET( 6165, glSecondaryColor3d, glSecondaryColor3d, NULL, 431),
+ NAME_FUNC_OFFSET( 6184, glSecondaryColor3dv, glSecondaryColor3dv, NULL, 432),
+ NAME_FUNC_OFFSET( 6204, glSecondaryColor3i, glSecondaryColor3i, NULL, 433),
+ NAME_FUNC_OFFSET( 6223, glSecondaryColor3iv, glSecondaryColor3iv, NULL, 434),
+ NAME_FUNC_OFFSET( 6243, glSecondaryColor3s, glSecondaryColor3s, NULL, 435),
+ NAME_FUNC_OFFSET( 6262, glSecondaryColor3sv, glSecondaryColor3sv, NULL, 436),
+ NAME_FUNC_OFFSET( 6282, glSecondaryColor3ub, glSecondaryColor3ub, NULL, 437),
+ NAME_FUNC_OFFSET( 6302, glSecondaryColor3ubv, glSecondaryColor3ubv, NULL, 438),
+ NAME_FUNC_OFFSET( 6323, glSecondaryColor3ui, glSecondaryColor3ui, NULL, 439),
+ NAME_FUNC_OFFSET( 6343, glSecondaryColor3uiv, glSecondaryColor3uiv, NULL, 440),
+ NAME_FUNC_OFFSET( 6364, glSecondaryColor3us, glSecondaryColor3us, NULL, 441),
+ NAME_FUNC_OFFSET( 6384, glSecondaryColor3usv, glSecondaryColor3usv, NULL, 442),
+ NAME_FUNC_OFFSET( 6405, glSecondaryColorPointer, glSecondaryColorPointer, NULL, 443),
+ NAME_FUNC_OFFSET( 6429, glWindowPos2d, glWindowPos2d, NULL, 444),
+ NAME_FUNC_OFFSET( 6443, glWindowPos2dv, glWindowPos2dv, NULL, 445),
+ NAME_FUNC_OFFSET( 6458, glWindowPos2f, glWindowPos2f, NULL, 446),
+ NAME_FUNC_OFFSET( 6472, glWindowPos2fv, glWindowPos2fv, NULL, 447),
+ NAME_FUNC_OFFSET( 6487, glWindowPos2i, glWindowPos2i, NULL, 448),
+ NAME_FUNC_OFFSET( 6501, glWindowPos2iv, glWindowPos2iv, NULL, 449),
+ NAME_FUNC_OFFSET( 6516, glWindowPos2s, glWindowPos2s, NULL, 450),
+ NAME_FUNC_OFFSET( 6530, glWindowPos2sv, glWindowPos2sv, NULL, 451),
+ NAME_FUNC_OFFSET( 6545, glWindowPos3d, glWindowPos3d, NULL, 452),
+ NAME_FUNC_OFFSET( 6559, glWindowPos3dv, glWindowPos3dv, NULL, 453),
+ NAME_FUNC_OFFSET( 6574, glWindowPos3f, glWindowPos3f, NULL, 454),
+ NAME_FUNC_OFFSET( 6588, glWindowPos3fv, glWindowPos3fv, NULL, 455),
+ NAME_FUNC_OFFSET( 6603, glWindowPos3i, glWindowPos3i, NULL, 456),
+ NAME_FUNC_OFFSET( 6617, glWindowPos3iv, glWindowPos3iv, NULL, 457),
+ NAME_FUNC_OFFSET( 6632, glWindowPos3s, glWindowPos3s, NULL, 458),
+ NAME_FUNC_OFFSET( 6646, glWindowPos3sv, glWindowPos3sv, NULL, 459),
+ NAME_FUNC_OFFSET( 6661, glBeginQuery, glBeginQuery, NULL, 460),
+ NAME_FUNC_OFFSET( 6674, glBindBuffer, glBindBuffer, NULL, 461),
+ NAME_FUNC_OFFSET( 6687, glBufferData, glBufferData, NULL, 462),
+ NAME_FUNC_OFFSET( 6700, glBufferSubData, glBufferSubData, NULL, 463),
+ NAME_FUNC_OFFSET( 6716, glDeleteBuffers, glDeleteBuffers, NULL, 464),
+ NAME_FUNC_OFFSET( 6732, glDeleteQueries, glDeleteQueries, NULL, 465),
+ NAME_FUNC_OFFSET( 6748, glEndQuery, glEndQuery, NULL, 466),
+ NAME_FUNC_OFFSET( 6759, glGenBuffers, glGenBuffers, NULL, 467),
+ NAME_FUNC_OFFSET( 6772, glGenQueries, glGenQueries, NULL, 468),
+ NAME_FUNC_OFFSET( 6785, glGetBufferParameteriv, glGetBufferParameteriv, NULL, 469),
+ NAME_FUNC_OFFSET( 6808, glGetBufferPointerv, glGetBufferPointerv, NULL, 470),
+ NAME_FUNC_OFFSET( 6828, glGetBufferSubData, glGetBufferSubData, NULL, 471),
+ NAME_FUNC_OFFSET( 6847, glGetQueryObjectiv, glGetQueryObjectiv, NULL, 472),
+ NAME_FUNC_OFFSET( 6866, glGetQueryObjectuiv, glGetQueryObjectuiv, NULL, 473),
+ NAME_FUNC_OFFSET( 6886, glGetQueryiv, glGetQueryiv, NULL, 474),
+ NAME_FUNC_OFFSET( 6899, glIsBuffer, glIsBuffer, NULL, 475),
+ NAME_FUNC_OFFSET( 6910, glIsQuery, glIsQuery, NULL, 476),
+ NAME_FUNC_OFFSET( 6920, glMapBuffer, glMapBuffer, NULL, 477),
+ NAME_FUNC_OFFSET( 6932, glUnmapBuffer, glUnmapBuffer, NULL, 478),
+ NAME_FUNC_OFFSET( 6946, glAttachShader, glAttachShader, NULL, 479),
+ NAME_FUNC_OFFSET( 6961, glBindAttribLocation, glBindAttribLocation, NULL, 480),
+ NAME_FUNC_OFFSET( 6982, glBlendEquationSeparate, glBlendEquationSeparate, NULL, 481),
+ NAME_FUNC_OFFSET( 7006, glCompileShader, glCompileShader, NULL, 482),
+ NAME_FUNC_OFFSET( 7022, glCreateProgram, glCreateProgram, NULL, 483),
+ NAME_FUNC_OFFSET( 7038, glCreateShader, glCreateShader, NULL, 484),
+ NAME_FUNC_OFFSET( 7053, glDeleteProgram, glDeleteProgram, NULL, 485),
+ NAME_FUNC_OFFSET( 7069, glDeleteShader, glDeleteShader, NULL, 486),
+ NAME_FUNC_OFFSET( 7084, glDetachShader, glDetachShader, NULL, 487),
+ NAME_FUNC_OFFSET( 7099, glDisableVertexAttribArray, glDisableVertexAttribArray, NULL, 488),
+ NAME_FUNC_OFFSET( 7126, glDrawBuffers, glDrawBuffers, NULL, 489),
+ NAME_FUNC_OFFSET( 7140, glEnableVertexAttribArray, glEnableVertexAttribArray, NULL, 490),
+ NAME_FUNC_OFFSET( 7166, glGetActiveAttrib, glGetActiveAttrib, NULL, 491),
+ NAME_FUNC_OFFSET( 7184, glGetActiveUniform, glGetActiveUniform, NULL, 492),
+ NAME_FUNC_OFFSET( 7203, glGetAttachedShaders, glGetAttachedShaders, NULL, 493),
+ NAME_FUNC_OFFSET( 7224, glGetAttribLocation, glGetAttribLocation, NULL, 494),
+ NAME_FUNC_OFFSET( 7244, glGetProgramInfoLog, glGetProgramInfoLog, NULL, 495),
+ NAME_FUNC_OFFSET( 7264, glGetProgramiv, glGetProgramiv, NULL, 496),
+ NAME_FUNC_OFFSET( 7279, glGetShaderInfoLog, glGetShaderInfoLog, NULL, 497),
+ NAME_FUNC_OFFSET( 7298, glGetShaderSource, glGetShaderSource, NULL, 498),
+ NAME_FUNC_OFFSET( 7316, glGetShaderiv, glGetShaderiv, NULL, 499),
+ NAME_FUNC_OFFSET( 7330, glGetUniformLocation, glGetUniformLocation, NULL, 500),
+ NAME_FUNC_OFFSET( 7351, glGetUniformfv, glGetUniformfv, NULL, 501),
+ NAME_FUNC_OFFSET( 7366, glGetUniformiv, glGetUniformiv, NULL, 502),
+ NAME_FUNC_OFFSET( 7381, glGetVertexAttribPointerv, glGetVertexAttribPointerv, NULL, 503),
+ NAME_FUNC_OFFSET( 7407, glGetVertexAttribdv, glGetVertexAttribdv, NULL, 504),
+ NAME_FUNC_OFFSET( 7427, glGetVertexAttribfv, glGetVertexAttribfv, NULL, 505),
+ NAME_FUNC_OFFSET( 7447, glGetVertexAttribiv, glGetVertexAttribiv, NULL, 506),
+ NAME_FUNC_OFFSET( 7467, glIsProgram, glIsProgram, NULL, 507),
+ NAME_FUNC_OFFSET( 7479, glIsShader, glIsShader, NULL, 508),
+ NAME_FUNC_OFFSET( 7490, glLinkProgram, glLinkProgram, NULL, 509),
+ NAME_FUNC_OFFSET( 7504, glShaderSource, glShaderSource, NULL, 510),
+ NAME_FUNC_OFFSET( 7519, glStencilFuncSeparate, glStencilFuncSeparate, NULL, 511),
+ NAME_FUNC_OFFSET( 7541, glStencilMaskSeparate, glStencilMaskSeparate, NULL, 512),
+ NAME_FUNC_OFFSET( 7563, glStencilOpSeparate, glStencilOpSeparate, NULL, 513),
+ NAME_FUNC_OFFSET( 7583, glUniform1f, glUniform1f, NULL, 514),
+ NAME_FUNC_OFFSET( 7595, glUniform1fv, glUniform1fv, NULL, 515),
+ NAME_FUNC_OFFSET( 7608, glUniform1i, glUniform1i, NULL, 516),
+ NAME_FUNC_OFFSET( 7620, glUniform1iv, glUniform1iv, NULL, 517),
+ NAME_FUNC_OFFSET( 7633, glUniform2f, glUniform2f, NULL, 518),
+ NAME_FUNC_OFFSET( 7645, glUniform2fv, glUniform2fv, NULL, 519),
+ NAME_FUNC_OFFSET( 7658, glUniform2i, glUniform2i, NULL, 520),
+ NAME_FUNC_OFFSET( 7670, glUniform2iv, glUniform2iv, NULL, 521),
+ NAME_FUNC_OFFSET( 7683, glUniform3f, glUniform3f, NULL, 522),
+ NAME_FUNC_OFFSET( 7695, glUniform3fv, glUniform3fv, NULL, 523),
+ NAME_FUNC_OFFSET( 7708, glUniform3i, glUniform3i, NULL, 524),
+ NAME_FUNC_OFFSET( 7720, glUniform3iv, glUniform3iv, NULL, 525),
+ NAME_FUNC_OFFSET( 7733, glUniform4f, glUniform4f, NULL, 526),
+ NAME_FUNC_OFFSET( 7745, glUniform4fv, glUniform4fv, NULL, 527),
+ NAME_FUNC_OFFSET( 7758, glUniform4i, glUniform4i, NULL, 528),
+ NAME_FUNC_OFFSET( 7770, glUniform4iv, glUniform4iv, NULL, 529),
+ NAME_FUNC_OFFSET( 7783, glUniformMatrix2fv, glUniformMatrix2fv, NULL, 530),
+ NAME_FUNC_OFFSET( 7802, glUniformMatrix3fv, glUniformMatrix3fv, NULL, 531),
+ NAME_FUNC_OFFSET( 7821, glUniformMatrix4fv, glUniformMatrix4fv, NULL, 532),
+ NAME_FUNC_OFFSET( 7840, glUseProgram, glUseProgram, NULL, 533),
+ NAME_FUNC_OFFSET( 7853, glValidateProgram, glValidateProgram, NULL, 534),
+ NAME_FUNC_OFFSET( 7871, glVertexAttrib1d, glVertexAttrib1d, NULL, 535),
+ NAME_FUNC_OFFSET( 7888, glVertexAttrib1dv, glVertexAttrib1dv, NULL, 536),
+ NAME_FUNC_OFFSET( 7906, glVertexAttrib1s, glVertexAttrib1s, NULL, 537),
+ NAME_FUNC_OFFSET( 7923, glVertexAttrib1sv, glVertexAttrib1sv, NULL, 538),
+ NAME_FUNC_OFFSET( 7941, glVertexAttrib2d, glVertexAttrib2d, NULL, 539),
+ NAME_FUNC_OFFSET( 7958, glVertexAttrib2dv, glVertexAttrib2dv, NULL, 540),
+ NAME_FUNC_OFFSET( 7976, glVertexAttrib2s, glVertexAttrib2s, NULL, 541),
+ NAME_FUNC_OFFSET( 7993, glVertexAttrib2sv, glVertexAttrib2sv, NULL, 542),
+ NAME_FUNC_OFFSET( 8011, glVertexAttrib3d, glVertexAttrib3d, NULL, 543),
+ NAME_FUNC_OFFSET( 8028, glVertexAttrib3dv, glVertexAttrib3dv, NULL, 544),
+ NAME_FUNC_OFFSET( 8046, glVertexAttrib3s, glVertexAttrib3s, NULL, 545),
+ NAME_FUNC_OFFSET( 8063, glVertexAttrib3sv, glVertexAttrib3sv, NULL, 546),
+ NAME_FUNC_OFFSET( 8081, glVertexAttrib4Nbv, glVertexAttrib4Nbv, NULL, 547),
+ NAME_FUNC_OFFSET( 8100, glVertexAttrib4Niv, glVertexAttrib4Niv, NULL, 548),
+ NAME_FUNC_OFFSET( 8119, glVertexAttrib4Nsv, glVertexAttrib4Nsv, NULL, 549),
+ NAME_FUNC_OFFSET( 8138, glVertexAttrib4Nub, glVertexAttrib4Nub, NULL, 550),
+ NAME_FUNC_OFFSET( 8157, glVertexAttrib4Nubv, glVertexAttrib4Nubv, NULL, 551),
+ NAME_FUNC_OFFSET( 8177, glVertexAttrib4Nuiv, glVertexAttrib4Nuiv, NULL, 552),
+ NAME_FUNC_OFFSET( 8197, glVertexAttrib4Nusv, glVertexAttrib4Nusv, NULL, 553),
+ NAME_FUNC_OFFSET( 8217, glVertexAttrib4bv, glVertexAttrib4bv, NULL, 554),
+ NAME_FUNC_OFFSET( 8235, glVertexAttrib4d, glVertexAttrib4d, NULL, 555),
+ NAME_FUNC_OFFSET( 8252, glVertexAttrib4dv, glVertexAttrib4dv, NULL, 556),
+ NAME_FUNC_OFFSET( 8270, glVertexAttrib4iv, glVertexAttrib4iv, NULL, 557),
+ NAME_FUNC_OFFSET( 8288, glVertexAttrib4s, glVertexAttrib4s, NULL, 558),
+ NAME_FUNC_OFFSET( 8305, glVertexAttrib4sv, glVertexAttrib4sv, NULL, 559),
+ NAME_FUNC_OFFSET( 8323, glVertexAttrib4ubv, glVertexAttrib4ubv, NULL, 560),
+ NAME_FUNC_OFFSET( 8342, glVertexAttrib4uiv, glVertexAttrib4uiv, NULL, 561),
+ NAME_FUNC_OFFSET( 8361, glVertexAttrib4usv, glVertexAttrib4usv, NULL, 562),
+ NAME_FUNC_OFFSET( 8380, glVertexAttribPointer, glVertexAttribPointer, NULL, 563),
+ NAME_FUNC_OFFSET( 8402, glUniformMatrix2x3fv, glUniformMatrix2x3fv, NULL, 564),
+ NAME_FUNC_OFFSET( 8423, glUniformMatrix2x4fv, glUniformMatrix2x4fv, NULL, 565),
+ NAME_FUNC_OFFSET( 8444, glUniformMatrix3x2fv, glUniformMatrix3x2fv, NULL, 566),
+ NAME_FUNC_OFFSET( 8465, glUniformMatrix3x4fv, glUniformMatrix3x4fv, NULL, 567),
+ NAME_FUNC_OFFSET( 8486, glUniformMatrix4x2fv, glUniformMatrix4x2fv, NULL, 568),
+ NAME_FUNC_OFFSET( 8507, glUniformMatrix4x3fv, glUniformMatrix4x3fv, NULL, 569),
+ NAME_FUNC_OFFSET( 8528, glBeginConditionalRender, glBeginConditionalRender, NULL, 570),
+ NAME_FUNC_OFFSET( 8553, glBeginTransformFeedback, glBeginTransformFeedback, NULL, 571),
+ NAME_FUNC_OFFSET( 8578, glBindBufferBase, glBindBufferBase, NULL, 572),
+ NAME_FUNC_OFFSET( 8595, glBindBufferRange, glBindBufferRange, NULL, 573),
+ NAME_FUNC_OFFSET( 8613, glBindFragDataLocation, glBindFragDataLocation, NULL, 574),
+ NAME_FUNC_OFFSET( 8636, glClampColor, glClampColor, NULL, 575),
+ NAME_FUNC_OFFSET( 8649, glClearBufferfi, glClearBufferfi, NULL, 576),
+ NAME_FUNC_OFFSET( 8665, glClearBufferfv, glClearBufferfv, NULL, 577),
+ NAME_FUNC_OFFSET( 8681, glClearBufferiv, glClearBufferiv, NULL, 578),
+ NAME_FUNC_OFFSET( 8697, glClearBufferuiv, glClearBufferuiv, NULL, 579),
+ NAME_FUNC_OFFSET( 8714, glColorMaski, glColorMaski, NULL, 580),
+ NAME_FUNC_OFFSET( 8727, glDisablei, glDisablei, NULL, 581),
+ NAME_FUNC_OFFSET( 8738, glEnablei, glEnablei, NULL, 582),
+ NAME_FUNC_OFFSET( 8748, glEndConditionalRender, glEndConditionalRender, NULL, 583),
+ NAME_FUNC_OFFSET( 8771, glEndTransformFeedback, glEndTransformFeedback, NULL, 584),
+ NAME_FUNC_OFFSET( 8794, glGetBooleani_v, glGetBooleani_v, NULL, 585),
+ NAME_FUNC_OFFSET( 8810, glGetFragDataLocation, glGetFragDataLocation, NULL, 586),
+ NAME_FUNC_OFFSET( 8832, glGetIntegeri_v, glGetIntegeri_v, NULL, 587),
+ NAME_FUNC_OFFSET( 8848, glGetStringi, glGetStringi, NULL, 588),
+ NAME_FUNC_OFFSET( 8861, glGetTexParameterIiv, glGetTexParameterIiv, NULL, 589),
+ NAME_FUNC_OFFSET( 8882, glGetTexParameterIuiv, glGetTexParameterIuiv, NULL, 590),
+ NAME_FUNC_OFFSET( 8904, glGetTransformFeedbackVarying, glGetTransformFeedbackVarying, NULL, 591),
+ NAME_FUNC_OFFSET( 8934, glGetUniformuiv, glGetUniformuiv, NULL, 592),
+ NAME_FUNC_OFFSET( 8950, glGetVertexAttribIiv, glGetVertexAttribIiv, NULL, 593),
+ NAME_FUNC_OFFSET( 8971, glGetVertexAttribIuiv, glGetVertexAttribIuiv, NULL, 594),
+ NAME_FUNC_OFFSET( 8993, glIsEnabledi, glIsEnabledi, NULL, 595),
+ NAME_FUNC_OFFSET( 9006, glTexParameterIiv, glTexParameterIiv, NULL, 596),
+ NAME_FUNC_OFFSET( 9024, glTexParameterIuiv, glTexParameterIuiv, NULL, 597),
+ NAME_FUNC_OFFSET( 9043, glTransformFeedbackVaryings, glTransformFeedbackVaryings, NULL, 598),
+ NAME_FUNC_OFFSET( 9071, glUniform1ui, glUniform1ui, NULL, 599),
+ NAME_FUNC_OFFSET( 9084, glUniform1uiv, glUniform1uiv, NULL, 600),
+ NAME_FUNC_OFFSET( 9098, glUniform2ui, glUniform2ui, NULL, 601),
+ NAME_FUNC_OFFSET( 9111, glUniform2uiv, glUniform2uiv, NULL, 602),
+ NAME_FUNC_OFFSET( 9125, glUniform3ui, glUniform3ui, NULL, 603),
+ NAME_FUNC_OFFSET( 9138, glUniform3uiv, glUniform3uiv, NULL, 604),
+ NAME_FUNC_OFFSET( 9152, glUniform4ui, glUniform4ui, NULL, 605),
+ NAME_FUNC_OFFSET( 9165, glUniform4uiv, glUniform4uiv, NULL, 606),
+ NAME_FUNC_OFFSET( 9179, glVertexAttribI1iv, glVertexAttribI1iv, NULL, 607),
+ NAME_FUNC_OFFSET( 9198, glVertexAttribI1uiv, glVertexAttribI1uiv, NULL, 608),
+ NAME_FUNC_OFFSET( 9218, glVertexAttribI4bv, glVertexAttribI4bv, NULL, 609),
+ NAME_FUNC_OFFSET( 9237, glVertexAttribI4sv, glVertexAttribI4sv, NULL, 610),
+ NAME_FUNC_OFFSET( 9256, glVertexAttribI4ubv, glVertexAttribI4ubv, NULL, 611),
+ NAME_FUNC_OFFSET( 9276, glVertexAttribI4usv, glVertexAttribI4usv, NULL, 612),
+ NAME_FUNC_OFFSET( 9296, glVertexAttribIPointer, glVertexAttribIPointer, NULL, 613),
+ NAME_FUNC_OFFSET( 9319, glPrimitiveRestartIndex, glPrimitiveRestartIndex, NULL, 614),
+ NAME_FUNC_OFFSET( 9343, glTexBuffer, glTexBuffer, NULL, 615),
+ NAME_FUNC_OFFSET( 9355, glFramebufferTexture, glFramebufferTexture, NULL, 616),
+ NAME_FUNC_OFFSET( 9376, glGetBufferParameteri64v, glGetBufferParameteri64v, NULL, 617),
+ NAME_FUNC_OFFSET( 9401, glGetInteger64i_v, glGetInteger64i_v, NULL, 618),
+ NAME_FUNC_OFFSET( 9419, glVertexAttribDivisor, glVertexAttribDivisor, NULL, 619),
+ NAME_FUNC_OFFSET( 9441, glMinSampleShading, glMinSampleShading, NULL, 620),
+ NAME_FUNC_OFFSET( 9460, glBindProgramARB, glBindProgramARB, NULL, 621),
+ NAME_FUNC_OFFSET( 9477, glDeleteProgramsARB, glDeleteProgramsARB, NULL, 622),
+ NAME_FUNC_OFFSET( 9497, glGenProgramsARB, glGenProgramsARB, NULL, 623),
+ NAME_FUNC_OFFSET( 9514, glGetProgramEnvParameterdvARB, glGetProgramEnvParameterdvARB, NULL, 624),
+ NAME_FUNC_OFFSET( 9544, glGetProgramEnvParameterfvARB, glGetProgramEnvParameterfvARB, NULL, 625),
+ NAME_FUNC_OFFSET( 9574, glGetProgramLocalParameterdvARB, glGetProgramLocalParameterdvARB, NULL, 626),
+ NAME_FUNC_OFFSET( 9606, glGetProgramLocalParameterfvARB, glGetProgramLocalParameterfvARB, NULL, 627),
+ NAME_FUNC_OFFSET( 9638, glGetProgramStringARB, glGetProgramStringARB, NULL, 628),
+ NAME_FUNC_OFFSET( 9660, glGetProgramivARB, glGetProgramivARB, NULL, 629),
+ NAME_FUNC_OFFSET( 9678, glIsProgramARB, glIsProgramARB, NULL, 630),
+ NAME_FUNC_OFFSET( 9693, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 631),
+ NAME_FUNC_OFFSET( 9720, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 632),
+ NAME_FUNC_OFFSET( 9748, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 633),
+ NAME_FUNC_OFFSET( 9775, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 634),
+ NAME_FUNC_OFFSET( 9803, glProgramLocalParameter4dARB, glProgramLocalParameter4dARB, NULL, 635),
+ NAME_FUNC_OFFSET( 9832, glProgramLocalParameter4dvARB, glProgramLocalParameter4dvARB, NULL, 636),
+ NAME_FUNC_OFFSET( 9862, glProgramLocalParameter4fARB, glProgramLocalParameter4fARB, NULL, 637),
+ NAME_FUNC_OFFSET( 9891, glProgramLocalParameter4fvARB, glProgramLocalParameter4fvARB, NULL, 638),
+ NAME_FUNC_OFFSET( 9921, glProgramStringARB, glProgramStringARB, NULL, 639),
+ NAME_FUNC_OFFSET( 9940, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 640),
+ NAME_FUNC_OFFSET( 9960, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 641),
+ NAME_FUNC_OFFSET( 9981, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 642),
+ NAME_FUNC_OFFSET(10001, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 643),
+ NAME_FUNC_OFFSET(10022, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 644),
+ NAME_FUNC_OFFSET(10042, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 645),
+ NAME_FUNC_OFFSET(10063, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 646),
+ NAME_FUNC_OFFSET(10083, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 647),
+ NAME_FUNC_OFFSET(10104, glAttachObjectARB, glAttachObjectARB, NULL, 648),
+ NAME_FUNC_OFFSET(10122, glCreateProgramObjectARB, glCreateProgramObjectARB, NULL, 649),
+ NAME_FUNC_OFFSET(10147, glCreateShaderObjectARB, glCreateShaderObjectARB, NULL, 650),
+ NAME_FUNC_OFFSET(10171, glDeleteObjectARB, glDeleteObjectARB, NULL, 651),
+ NAME_FUNC_OFFSET(10189, glDetachObjectARB, glDetachObjectARB, NULL, 652),
+ NAME_FUNC_OFFSET(10207, glGetAttachedObjectsARB, glGetAttachedObjectsARB, NULL, 653),
+ NAME_FUNC_OFFSET(10231, glGetHandleARB, glGetHandleARB, NULL, 654),
+ NAME_FUNC_OFFSET(10246, glGetInfoLogARB, glGetInfoLogARB, NULL, 655),
+ NAME_FUNC_OFFSET(10262, glGetObjectParameterfvARB, glGetObjectParameterfvARB, NULL, 656),
+ NAME_FUNC_OFFSET(10288, glGetObjectParameterivARB, glGetObjectParameterivARB, NULL, 657),
+ NAME_FUNC_OFFSET(10314, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 658),
+ NAME_FUNC_OFFSET(10339, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 659),
+ NAME_FUNC_OFFSET(10366, glBindFramebuffer, glBindFramebuffer, NULL, 660),
+ NAME_FUNC_OFFSET(10384, glBindRenderbuffer, glBindRenderbuffer, NULL, 661),
+ NAME_FUNC_OFFSET(10403, glBlitFramebuffer, glBlitFramebuffer, NULL, 662),
+ NAME_FUNC_OFFSET(10421, glCheckFramebufferStatus, glCheckFramebufferStatus, NULL, 663),
+ NAME_FUNC_OFFSET(10446, glDeleteFramebuffers, glDeleteFramebuffers, NULL, 664),
+ NAME_FUNC_OFFSET(10467, glDeleteRenderbuffers, glDeleteRenderbuffers, NULL, 665),
+ NAME_FUNC_OFFSET(10489, glFramebufferRenderbuffer, glFramebufferRenderbuffer, NULL, 666),
+ NAME_FUNC_OFFSET(10515, glFramebufferTexture1D, glFramebufferTexture1D, NULL, 667),
+ NAME_FUNC_OFFSET(10538, glFramebufferTexture2D, glFramebufferTexture2D, NULL, 668),
+ NAME_FUNC_OFFSET(10561, glFramebufferTexture3D, glFramebufferTexture3D, NULL, 669),
+ NAME_FUNC_OFFSET(10584, glFramebufferTextureLayer, glFramebufferTextureLayer, NULL, 670),
+ NAME_FUNC_OFFSET(10610, glGenFramebuffers, glGenFramebuffers, NULL, 671),
+ NAME_FUNC_OFFSET(10628, glGenRenderbuffers, glGenRenderbuffers, NULL, 672),
+ NAME_FUNC_OFFSET(10647, glGenerateMipmap, glGenerateMipmap, NULL, 673),
+ NAME_FUNC_OFFSET(10664, glGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameteriv, NULL, 674),
+ NAME_FUNC_OFFSET(10702, glGetRenderbufferParameteriv, glGetRenderbufferParameteriv, NULL, 675),
+ NAME_FUNC_OFFSET(10731, glIsFramebuffer, glIsFramebuffer, NULL, 676),
+ NAME_FUNC_OFFSET(10747, glIsRenderbuffer, glIsRenderbuffer, NULL, 677),
+ NAME_FUNC_OFFSET(10764, glRenderbufferStorage, glRenderbufferStorage, NULL, 678),
+ NAME_FUNC_OFFSET(10786, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 679),
+ NAME_FUNC_OFFSET(10819, glFramebufferTextureFaceARB, glFramebufferTextureFaceARB, NULL, 680),
+ NAME_FUNC_OFFSET(10847, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, 681),
+ NAME_FUNC_OFFSET(10872, glMapBufferRange, glMapBufferRange, NULL, 682),
+ NAME_FUNC_OFFSET(10889, glBindVertexArray, glBindVertexArray, NULL, 683),
+ NAME_FUNC_OFFSET(10907, glDeleteVertexArrays, glDeleteVertexArrays, NULL, 684),
+ NAME_FUNC_OFFSET(10928, glGenVertexArrays, glGenVertexArrays, NULL, 685),
+ NAME_FUNC_OFFSET(10946, glIsVertexArray, glIsVertexArray, NULL, 686),
+ NAME_FUNC_OFFSET(10962, glGetActiveUniformBlockName, glGetActiveUniformBlockName, NULL, 687),
+ NAME_FUNC_OFFSET(10990, glGetActiveUniformBlockiv, glGetActiveUniformBlockiv, NULL, 688),
+ NAME_FUNC_OFFSET(11016, glGetActiveUniformName, glGetActiveUniformName, NULL, 689),
+ NAME_FUNC_OFFSET(11039, glGetActiveUniformsiv, glGetActiveUniformsiv, NULL, 690),
+ NAME_FUNC_OFFSET(11061, glGetUniformBlockIndex, glGetUniformBlockIndex, NULL, 691),
+ NAME_FUNC_OFFSET(11084, glGetUniformIndices, glGetUniformIndices, NULL, 692),
+ NAME_FUNC_OFFSET(11104, glUniformBlockBinding, glUniformBlockBinding, NULL, 693),
+ NAME_FUNC_OFFSET(11126, glCopyBufferSubData, glCopyBufferSubData, NULL, 694),
+ NAME_FUNC_OFFSET(11146, glClientWaitSync, glClientWaitSync, NULL, 695),
+ NAME_FUNC_OFFSET(11163, glDeleteSync, glDeleteSync, NULL, 696),
+ NAME_FUNC_OFFSET(11176, glFenceSync, glFenceSync, NULL, 697),
+ NAME_FUNC_OFFSET(11188, glGetInteger64v, glGetInteger64v, NULL, 698),
+ NAME_FUNC_OFFSET(11204, glGetSynciv, glGetSynciv, NULL, 699),
+ NAME_FUNC_OFFSET(11216, glIsSync, glIsSync, NULL, 700),
+ NAME_FUNC_OFFSET(11225, glWaitSync, glWaitSync, NULL, 701),
+ NAME_FUNC_OFFSET(11236, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, 702),
+ NAME_FUNC_OFFSET(11261, glDrawElementsInstancedBaseVertex, glDrawElementsInstancedBaseVertex, NULL, 703),
+ NAME_FUNC_OFFSET(11295, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, 704),
+ NAME_FUNC_OFFSET(11325, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, 705),
+ NAME_FUNC_OFFSET(11355, glProvokingVertex, glProvokingVertex, NULL, 706),
+ NAME_FUNC_OFFSET(11373, glGetMultisamplefv, glGetMultisamplefv, NULL, 707),
+ NAME_FUNC_OFFSET(11392, glSampleMaski, glSampleMaski, NULL, 708),
+ NAME_FUNC_OFFSET(11406, glTexImage2DMultisample, glTexImage2DMultisample, NULL, 709),
+ NAME_FUNC_OFFSET(11430, glTexImage3DMultisample, glTexImage3DMultisample, NULL, 710),
+ NAME_FUNC_OFFSET(11454, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 711),
+ NAME_FUNC_OFFSET(11482, glBlendEquationiARB, glBlendEquationiARB, NULL, 712),
+ NAME_FUNC_OFFSET(11502, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 713),
+ NAME_FUNC_OFFSET(11526, glBlendFunciARB, glBlendFunciARB, NULL, 714),
+ NAME_FUNC_OFFSET(11542, glBindFragDataLocationIndexed, glBindFragDataLocationIndexed, NULL, 715),
+ NAME_FUNC_OFFSET(11572, glGetFragDataIndex, glGetFragDataIndex, NULL, 716),
+ NAME_FUNC_OFFSET(11591, glBindSampler, glBindSampler, NULL, 717),
+ NAME_FUNC_OFFSET(11605, glDeleteSamplers, glDeleteSamplers, NULL, 718),
+ NAME_FUNC_OFFSET(11622, glGenSamplers, glGenSamplers, NULL, 719),
+ NAME_FUNC_OFFSET(11636, glGetSamplerParameterIiv, glGetSamplerParameterIiv, NULL, 720),
+ NAME_FUNC_OFFSET(11661, glGetSamplerParameterIuiv, glGetSamplerParameterIuiv, NULL, 721),
+ NAME_FUNC_OFFSET(11687, glGetSamplerParameterfv, glGetSamplerParameterfv, NULL, 722),
+ NAME_FUNC_OFFSET(11711, glGetSamplerParameteriv, glGetSamplerParameteriv, NULL, 723),
+ NAME_FUNC_OFFSET(11735, glIsSampler, glIsSampler, NULL, 724),
+ NAME_FUNC_OFFSET(11747, glSamplerParameterIiv, glSamplerParameterIiv, NULL, 725),
+ NAME_FUNC_OFFSET(11769, glSamplerParameterIuiv, glSamplerParameterIuiv, NULL, 726),
+ NAME_FUNC_OFFSET(11792, glSamplerParameterf, glSamplerParameterf, NULL, 727),
+ NAME_FUNC_OFFSET(11812, glSamplerParameterfv, glSamplerParameterfv, NULL, 728),
+ NAME_FUNC_OFFSET(11833, glSamplerParameteri, glSamplerParameteri, NULL, 729),
+ NAME_FUNC_OFFSET(11853, glSamplerParameteriv, glSamplerParameteriv, NULL, 730),
+ NAME_FUNC_OFFSET(11874, gl_dispatch_stub_731, gl_dispatch_stub_731, NULL, 731),
+ NAME_FUNC_OFFSET(11895, gl_dispatch_stub_732, gl_dispatch_stub_732, NULL, 732),
+ NAME_FUNC_OFFSET(11917, gl_dispatch_stub_733, gl_dispatch_stub_733, NULL, 733),
+ NAME_FUNC_OFFSET(11932, glColorP3ui, glColorP3ui, NULL, 734),
+ NAME_FUNC_OFFSET(11944, glColorP3uiv, glColorP3uiv, NULL, 735),
+ NAME_FUNC_OFFSET(11957, glColorP4ui, glColorP4ui, NULL, 736),
+ NAME_FUNC_OFFSET(11969, glColorP4uiv, glColorP4uiv, NULL, 737),
+ NAME_FUNC_OFFSET(11982, glMultiTexCoordP1ui, glMultiTexCoordP1ui, NULL, 738),
+ NAME_FUNC_OFFSET(12002, glMultiTexCoordP1uiv, glMultiTexCoordP1uiv, NULL, 739),
+ NAME_FUNC_OFFSET(12023, glMultiTexCoordP2ui, glMultiTexCoordP2ui, NULL, 740),
+ NAME_FUNC_OFFSET(12043, glMultiTexCoordP2uiv, glMultiTexCoordP2uiv, NULL, 741),
+ NAME_FUNC_OFFSET(12064, glMultiTexCoordP3ui, glMultiTexCoordP3ui, NULL, 742),
+ NAME_FUNC_OFFSET(12084, glMultiTexCoordP3uiv, glMultiTexCoordP3uiv, NULL, 743),
+ NAME_FUNC_OFFSET(12105, glMultiTexCoordP4ui, glMultiTexCoordP4ui, NULL, 744),
+ NAME_FUNC_OFFSET(12125, glMultiTexCoordP4uiv, glMultiTexCoordP4uiv, NULL, 745),
+ NAME_FUNC_OFFSET(12146, glNormalP3ui, glNormalP3ui, NULL, 746),
+ NAME_FUNC_OFFSET(12159, glNormalP3uiv, glNormalP3uiv, NULL, 747),
+ NAME_FUNC_OFFSET(12173, glSecondaryColorP3ui, glSecondaryColorP3ui, NULL, 748),
+ NAME_FUNC_OFFSET(12194, glSecondaryColorP3uiv, glSecondaryColorP3uiv, NULL, 749),
+ NAME_FUNC_OFFSET(12216, glTexCoordP1ui, glTexCoordP1ui, NULL, 750),
+ NAME_FUNC_OFFSET(12231, glTexCoordP1uiv, glTexCoordP1uiv, NULL, 751),
+ NAME_FUNC_OFFSET(12247, glTexCoordP2ui, glTexCoordP2ui, NULL, 752),
+ NAME_FUNC_OFFSET(12262, glTexCoordP2uiv, glTexCoordP2uiv, NULL, 753),
+ NAME_FUNC_OFFSET(12278, glTexCoordP3ui, glTexCoordP3ui, NULL, 754),
+ NAME_FUNC_OFFSET(12293, glTexCoordP3uiv, glTexCoordP3uiv, NULL, 755),
+ NAME_FUNC_OFFSET(12309, glTexCoordP4ui, glTexCoordP4ui, NULL, 756),
+ NAME_FUNC_OFFSET(12324, glTexCoordP4uiv, glTexCoordP4uiv, NULL, 757),
+ NAME_FUNC_OFFSET(12340, glVertexAttribP1ui, glVertexAttribP1ui, NULL, 758),
+ NAME_FUNC_OFFSET(12359, glVertexAttribP1uiv, glVertexAttribP1uiv, NULL, 759),
+ NAME_FUNC_OFFSET(12379, glVertexAttribP2ui, glVertexAttribP2ui, NULL, 760),
+ NAME_FUNC_OFFSET(12398, glVertexAttribP2uiv, glVertexAttribP2uiv, NULL, 761),
+ NAME_FUNC_OFFSET(12418, glVertexAttribP3ui, glVertexAttribP3ui, NULL, 762),
+ NAME_FUNC_OFFSET(12437, glVertexAttribP3uiv, glVertexAttribP3uiv, NULL, 763),
+ NAME_FUNC_OFFSET(12457, glVertexAttribP4ui, glVertexAttribP4ui, NULL, 764),
+ NAME_FUNC_OFFSET(12476, glVertexAttribP4uiv, glVertexAttribP4uiv, NULL, 765),
+ NAME_FUNC_OFFSET(12496, glVertexP2ui, glVertexP2ui, NULL, 766),
+ NAME_FUNC_OFFSET(12509, glVertexP2uiv, glVertexP2uiv, NULL, 767),
+ NAME_FUNC_OFFSET(12523, glVertexP3ui, glVertexP3ui, NULL, 768),
+ NAME_FUNC_OFFSET(12536, glVertexP3uiv, glVertexP3uiv, NULL, 769),
+ NAME_FUNC_OFFSET(12550, glVertexP4ui, glVertexP4ui, NULL, 770),
+ NAME_FUNC_OFFSET(12563, glVertexP4uiv, glVertexP4uiv, NULL, 771),
+ NAME_FUNC_OFFSET(12577, glDrawArraysIndirect, glDrawArraysIndirect, NULL, 772),
+ NAME_FUNC_OFFSET(12598, glDrawElementsIndirect, glDrawElementsIndirect, NULL, 773),
+ NAME_FUNC_OFFSET(12621, glBindTransformFeedback, glBindTransformFeedback, NULL, 774),
+ NAME_FUNC_OFFSET(12645, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, 775),
+ NAME_FUNC_OFFSET(12672, glDrawTransformFeedback, glDrawTransformFeedback, NULL, 776),
+ NAME_FUNC_OFFSET(12696, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, 777),
+ NAME_FUNC_OFFSET(12720, glIsTransformFeedback, glIsTransformFeedback, NULL, 778),
+ NAME_FUNC_OFFSET(12742, glPauseTransformFeedback, glPauseTransformFeedback, NULL, 779),
+ NAME_FUNC_OFFSET(12767, glResumeTransformFeedback, glResumeTransformFeedback, NULL, 780),
+ NAME_FUNC_OFFSET(12793, glBeginQueryIndexed, glBeginQueryIndexed, NULL, 781),
+ NAME_FUNC_OFFSET(12813, glDrawTransformFeedbackStream, glDrawTransformFeedbackStream, NULL, 782),
+ NAME_FUNC_OFFSET(12843, glEndQueryIndexed, glEndQueryIndexed, NULL, 783),
+ NAME_FUNC_OFFSET(12861, glGetQueryIndexediv, glGetQueryIndexediv, NULL, 784),
+ NAME_FUNC_OFFSET(12881, glClearDepthf, glClearDepthf, NULL, 785),
+ NAME_FUNC_OFFSET(12895, glDepthRangef, glDepthRangef, NULL, 786),
+ NAME_FUNC_OFFSET(12909, glGetShaderPrecisionFormat, glGetShaderPrecisionFormat, NULL, 787),
+ NAME_FUNC_OFFSET(12936, glReleaseShaderCompiler, glReleaseShaderCompiler, NULL, 788),
+ NAME_FUNC_OFFSET(12960, glShaderBinary, glShaderBinary, NULL, 789),
+ NAME_FUNC_OFFSET(12975, glGetProgramBinary, glGetProgramBinary, NULL, 790),
+ NAME_FUNC_OFFSET(12994, glProgramBinary, glProgramBinary, NULL, 791),
+ NAME_FUNC_OFFSET(13010, glProgramParameteri, glProgramParameteri, NULL, 792),
+ NAME_FUNC_OFFSET(13030, glDepthRangeArrayv, glDepthRangeArrayv, NULL, 793),
+ NAME_FUNC_OFFSET(13049, glDepthRangeIndexed, glDepthRangeIndexed, NULL, 794),
+ NAME_FUNC_OFFSET(13069, glGetDoublei_v, glGetDoublei_v, NULL, 795),
+ NAME_FUNC_OFFSET(13084, glGetFloati_v, glGetFloati_v, NULL, 796),
+ NAME_FUNC_OFFSET(13098, glScissorArrayv, glScissorArrayv, NULL, 797),
+ NAME_FUNC_OFFSET(13114, glScissorIndexed, glScissorIndexed, NULL, 798),
+ NAME_FUNC_OFFSET(13131, glScissorIndexedv, glScissorIndexedv, NULL, 799),
+ NAME_FUNC_OFFSET(13149, glViewportArrayv, glViewportArrayv, NULL, 800),
+ NAME_FUNC_OFFSET(13166, glViewportIndexedf, glViewportIndexedf, NULL, 801),
+ NAME_FUNC_OFFSET(13185, glViewportIndexedfv, glViewportIndexedfv, NULL, 802),
+ NAME_FUNC_OFFSET(13205, glGetGraphicsResetStatusARB, glGetGraphicsResetStatusARB, NULL, 803),
+ NAME_FUNC_OFFSET(13233, glGetnColorTableARB, glGetnColorTableARB, NULL, 804),
+ NAME_FUNC_OFFSET(13253, glGetnCompressedTexImageARB, glGetnCompressedTexImageARB, NULL, 805),
+ NAME_FUNC_OFFSET(13281, glGetnConvolutionFilterARB, glGetnConvolutionFilterARB, NULL, 806),
+ NAME_FUNC_OFFSET(13308, glGetnHistogramARB, glGetnHistogramARB, NULL, 807),
+ NAME_FUNC_OFFSET(13327, glGetnMapdvARB, glGetnMapdvARB, NULL, 808),
+ NAME_FUNC_OFFSET(13342, glGetnMapfvARB, glGetnMapfvARB, NULL, 809),
+ NAME_FUNC_OFFSET(13357, glGetnMapivARB, glGetnMapivARB, NULL, 810),
+ NAME_FUNC_OFFSET(13372, glGetnMinmaxARB, glGetnMinmaxARB, NULL, 811),
+ NAME_FUNC_OFFSET(13388, glGetnPixelMapfvARB, glGetnPixelMapfvARB, NULL, 812),
+ NAME_FUNC_OFFSET(13408, glGetnPixelMapuivARB, glGetnPixelMapuivARB, NULL, 813),
+ NAME_FUNC_OFFSET(13429, glGetnPixelMapusvARB, glGetnPixelMapusvARB, NULL, 814),
+ NAME_FUNC_OFFSET(13450, glGetnPolygonStippleARB, glGetnPolygonStippleARB, NULL, 815),
+ NAME_FUNC_OFFSET(13474, glGetnSeparableFilterARB, glGetnSeparableFilterARB, NULL, 816),
+ NAME_FUNC_OFFSET(13499, glGetnTexImageARB, glGetnTexImageARB, NULL, 817),
+ NAME_FUNC_OFFSET(13517, glGetnUniformdvARB, glGetnUniformdvARB, NULL, 818),
+ NAME_FUNC_OFFSET(13536, glGetnUniformfvARB, glGetnUniformfvARB, NULL, 819),
+ NAME_FUNC_OFFSET(13555, glGetnUniformivARB, glGetnUniformivARB, NULL, 820),
+ NAME_FUNC_OFFSET(13574, glGetnUniformuivARB, glGetnUniformuivARB, NULL, 821),
+ NAME_FUNC_OFFSET(13594, glReadnPixelsARB, glReadnPixelsARB, NULL, 822),
+ NAME_FUNC_OFFSET(13611, glDrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstance, NULL, 823),
+ NAME_FUNC_OFFSET(13645, glDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstance, NULL, 824),
+ NAME_FUNC_OFFSET(13681, glDrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstance, NULL, 825),
+ NAME_FUNC_OFFSET(13727, glDrawTransformFeedbackInstanced, glDrawTransformFeedbackInstanced, NULL, 826),
+ NAME_FUNC_OFFSET(13760, glDrawTransformFeedbackStreamInstanced, glDrawTransformFeedbackStreamInstanced, NULL, 827),
+ NAME_FUNC_OFFSET(13799, gl_dispatch_stub_828, gl_dispatch_stub_828, NULL, 828),
+ NAME_FUNC_OFFSET(13821, glGetActiveAtomicCounterBufferiv, glGetActiveAtomicCounterBufferiv, NULL, 829),
+ NAME_FUNC_OFFSET(13854, glBindImageTexture, glBindImageTexture, NULL, 830),
+ NAME_FUNC_OFFSET(13873, glMemoryBarrier, glMemoryBarrier, NULL, 831),
+ NAME_FUNC_OFFSET(13889, glTexStorage1D, glTexStorage1D, NULL, 832),
+ NAME_FUNC_OFFSET(13904, glTexStorage2D, glTexStorage2D, NULL, 833),
+ NAME_FUNC_OFFSET(13919, glTexStorage3D, glTexStorage3D, NULL, 834),
+ NAME_FUNC_OFFSET(13934, glTextureStorage1DEXT, glTextureStorage1DEXT, NULL, 835),
+ NAME_FUNC_OFFSET(13956, glTextureStorage2DEXT, glTextureStorage2DEXT, NULL, 836),
+ NAME_FUNC_OFFSET(13978, glTextureStorage3DEXT, glTextureStorage3DEXT, NULL, 837),
+ NAME_FUNC_OFFSET(14000, glClearBufferData, glClearBufferData, NULL, 838),
+ NAME_FUNC_OFFSET(14018, glClearBufferSubData, glClearBufferSubData, NULL, 839),
+ NAME_FUNC_OFFSET(14039, glDispatchCompute, glDispatchCompute, NULL, 840),
+ NAME_FUNC_OFFSET(14057, glDispatchComputeIndirect, glDispatchComputeIndirect, NULL, 841),
+ NAME_FUNC_OFFSET(14083, glTextureView, glTextureView, NULL, 842),
+ NAME_FUNC_OFFSET(14097, glBindVertexBuffer, glBindVertexBuffer, NULL, 843),
+ NAME_FUNC_OFFSET(14116, glVertexAttribBinding, glVertexAttribBinding, NULL, 844),
+ NAME_FUNC_OFFSET(14138, glVertexAttribFormat, glVertexAttribFormat, NULL, 845),
+ NAME_FUNC_OFFSET(14159, glVertexAttribIFormat, glVertexAttribIFormat, NULL, 846),
+ NAME_FUNC_OFFSET(14181, glVertexAttribLFormat, glVertexAttribLFormat, NULL, 847),
+ NAME_FUNC_OFFSET(14203, glVertexBindingDivisor, glVertexBindingDivisor, NULL, 848),
+ NAME_FUNC_OFFSET(14226, glMultiDrawArraysIndirect, glMultiDrawArraysIndirect, NULL, 849),
+ NAME_FUNC_OFFSET(14252, glMultiDrawElementsIndirect, glMultiDrawElementsIndirect, NULL, 850),
+ NAME_FUNC_OFFSET(14280, glTexBufferRange, glTexBufferRange, NULL, 851),
+ NAME_FUNC_OFFSET(14297, glTexStorage2DMultisample, glTexStorage2DMultisample, NULL, 852),
+ NAME_FUNC_OFFSET(14323, glTexStorage3DMultisample, glTexStorage3DMultisample, NULL, 853),
+ NAME_FUNC_OFFSET(14349, glBufferStorage, glBufferStorage, NULL, 854),
+ NAME_FUNC_OFFSET(14365, glBindBuffersBase, glBindBuffersBase, NULL, 855),
+ NAME_FUNC_OFFSET(14383, glBindBuffersRange, glBindBuffersRange, NULL, 856),
+ NAME_FUNC_OFFSET(14402, glBindImageTextures, glBindImageTextures, NULL, 857),
+ NAME_FUNC_OFFSET(14422, glBindSamplers, glBindSamplers, NULL, 858),
+ NAME_FUNC_OFFSET(14437, glBindTextures, glBindTextures, NULL, 859),
+ NAME_FUNC_OFFSET(14452, glBindVertexBuffers, glBindVertexBuffers, NULL, 860),
+ NAME_FUNC_OFFSET(14472, glInvalidateBufferData, glInvalidateBufferData, NULL, 861),
+ NAME_FUNC_OFFSET(14495, glInvalidateBufferSubData, glInvalidateBufferSubData, NULL, 862),
+ NAME_FUNC_OFFSET(14521, glInvalidateFramebuffer, glInvalidateFramebuffer, NULL, 863),
+ NAME_FUNC_OFFSET(14545, glInvalidateSubFramebuffer, glInvalidateSubFramebuffer, NULL, 864),
+ NAME_FUNC_OFFSET(14572, glInvalidateTexImage, glInvalidateTexImage, NULL, 865),
+ NAME_FUNC_OFFSET(14593, glInvalidateTexSubImage, glInvalidateTexSubImage, NULL, 866),
+ NAME_FUNC_OFFSET(14617, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 867),
+ NAME_FUNC_OFFSET(14636, gl_dispatch_stub_868, gl_dispatch_stub_868, NULL, 868),
+ NAME_FUNC_OFFSET(14650, gl_dispatch_stub_869, gl_dispatch_stub_869, NULL, 869),
+ NAME_FUNC_OFFSET(14665, gl_dispatch_stub_870, gl_dispatch_stub_870, NULL, 870),
+ NAME_FUNC_OFFSET(14679, gl_dispatch_stub_871, gl_dispatch_stub_871, NULL, 871),
+ NAME_FUNC_OFFSET(14694, gl_dispatch_stub_872, gl_dispatch_stub_872, NULL, 872),
+ NAME_FUNC_OFFSET(14708, gl_dispatch_stub_873, gl_dispatch_stub_873, NULL, 873),
+ NAME_FUNC_OFFSET(14723, gl_dispatch_stub_874, gl_dispatch_stub_874, NULL, 874),
+ NAME_FUNC_OFFSET(14737, gl_dispatch_stub_875, gl_dispatch_stub_875, NULL, 875),
+ NAME_FUNC_OFFSET(14752, glPointSizePointerOES, glPointSizePointerOES, NULL, 876),
+ NAME_FUNC_OFFSET(14774, gl_dispatch_stub_877, gl_dispatch_stub_877, NULL, 877),
+ NAME_FUNC_OFFSET(14792, gl_dispatch_stub_878, gl_dispatch_stub_878, NULL, 878),
+ NAME_FUNC_OFFSET(14809, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, 879),
+ NAME_FUNC_OFFSET(14829, glColorPointerEXT, glColorPointerEXT, NULL, 880),
+ NAME_FUNC_OFFSET(14847, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 881),
+ NAME_FUNC_OFFSET(14868, glIndexPointerEXT, glIndexPointerEXT, NULL, 882),
+ NAME_FUNC_OFFSET(14886, glNormalPointerEXT, glNormalPointerEXT, NULL, 883),
+ NAME_FUNC_OFFSET(14905, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 884),
+ NAME_FUNC_OFFSET(14926, glVertexPointerEXT, glVertexPointerEXT, NULL, 885),
+ NAME_FUNC_OFFSET(14945, gl_dispatch_stub_886, gl_dispatch_stub_886, NULL, 886),
+ NAME_FUNC_OFFSET(14969, gl_dispatch_stub_887, gl_dispatch_stub_887, NULL, 887),
+ NAME_FUNC_OFFSET(14991, gl_dispatch_stub_888, gl_dispatch_stub_888, NULL, 888),
+ NAME_FUNC_OFFSET(15013, gl_dispatch_stub_889, gl_dispatch_stub_889, NULL, 889),
+ NAME_FUNC_OFFSET(15036, gl_dispatch_stub_890, gl_dispatch_stub_890, NULL, 890),
+ NAME_FUNC_OFFSET(15061, gl_dispatch_stub_891, gl_dispatch_stub_891, NULL, 891),
+ NAME_FUNC_OFFSET(15083, gl_dispatch_stub_892, gl_dispatch_stub_892, NULL, 892),
+ NAME_FUNC_OFFSET(15111, gl_dispatch_stub_893, gl_dispatch_stub_893, NULL, 893),
+ NAME_FUNC_OFFSET(15134, gl_dispatch_stub_894, gl_dispatch_stub_894, NULL, 894),
+ NAME_FUNC_OFFSET(15154, glLockArraysEXT, glLockArraysEXT, NULL, 895),
+ NAME_FUNC_OFFSET(15170, gl_dispatch_stub_896, gl_dispatch_stub_896, NULL, 896),
+ NAME_FUNC_OFFSET(15189, gl_dispatch_stub_897, gl_dispatch_stub_897, NULL, 897),
+ NAME_FUNC_OFFSET(15209, gl_dispatch_stub_898, gl_dispatch_stub_898, NULL, 898),
+ NAME_FUNC_OFFSET(15228, gl_dispatch_stub_899, gl_dispatch_stub_899, NULL, 899),
+ NAME_FUNC_OFFSET(15248, gl_dispatch_stub_900, gl_dispatch_stub_900, NULL, 900),
+ NAME_FUNC_OFFSET(15268, gl_dispatch_stub_901, gl_dispatch_stub_901, NULL, 901),
+ NAME_FUNC_OFFSET(15289, gl_dispatch_stub_902, gl_dispatch_stub_902, NULL, 902),
+ NAME_FUNC_OFFSET(15308, gl_dispatch_stub_903, gl_dispatch_stub_903, NULL, 903),
+ NAME_FUNC_OFFSET(15328, gl_dispatch_stub_904, gl_dispatch_stub_904, NULL, 904),
+ NAME_FUNC_OFFSET(15347, gl_dispatch_stub_905, gl_dispatch_stub_905, NULL, 905),
+ NAME_FUNC_OFFSET(15367, gl_dispatch_stub_906, gl_dispatch_stub_906, NULL, 906),
+ NAME_FUNC_OFFSET(15387, gl_dispatch_stub_907, gl_dispatch_stub_907, NULL, 907),
+ NAME_FUNC_OFFSET(15408, gl_dispatch_stub_908, gl_dispatch_stub_908, NULL, 908),
+ NAME_FUNC_OFFSET(15427, gl_dispatch_stub_909, gl_dispatch_stub_909, NULL, 909),
+ NAME_FUNC_OFFSET(15447, gl_dispatch_stub_910, gl_dispatch_stub_910, NULL, 910),
+ NAME_FUNC_OFFSET(15466, gl_dispatch_stub_911, gl_dispatch_stub_911, NULL, 911),
+ NAME_FUNC_OFFSET(15486, gl_dispatch_stub_912, gl_dispatch_stub_912, NULL, 912),
+ NAME_FUNC_OFFSET(15506, gl_dispatch_stub_913, gl_dispatch_stub_913, NULL, 913),
+ NAME_FUNC_OFFSET(15527, gl_dispatch_stub_914, gl_dispatch_stub_914, NULL, 914),
+ NAME_FUNC_OFFSET(15546, gl_dispatch_stub_915, gl_dispatch_stub_915, NULL, 915),
+ NAME_FUNC_OFFSET(15566, gl_dispatch_stub_916, gl_dispatch_stub_916, NULL, 916),
+ NAME_FUNC_OFFSET(15585, gl_dispatch_stub_917, gl_dispatch_stub_917, NULL, 917),
+ NAME_FUNC_OFFSET(15605, gl_dispatch_stub_918, gl_dispatch_stub_918, NULL, 918),
+ NAME_FUNC_OFFSET(15625, gl_dispatch_stub_919, gl_dispatch_stub_919, NULL, 919),
+ NAME_FUNC_OFFSET(15646, gl_dispatch_stub_920, gl_dispatch_stub_920, NULL, 920),
+ NAME_FUNC_OFFSET(15672, gl_dispatch_stub_921, gl_dispatch_stub_921, NULL, 921),
+ NAME_FUNC_OFFSET(15700, gl_dispatch_stub_922, gl_dispatch_stub_922, NULL, 922),
+ NAME_FUNC_OFFSET(15728, gl_dispatch_stub_923, gl_dispatch_stub_923, NULL, 923),
+ NAME_FUNC_OFFSET(15754, gl_dispatch_stub_924, gl_dispatch_stub_924, NULL, 924),
+ NAME_FUNC_OFFSET(15782, gl_dispatch_stub_925, gl_dispatch_stub_925, NULL, 925),
+ NAME_FUNC_OFFSET(15810, gl_dispatch_stub_926, gl_dispatch_stub_926, NULL, 926),
+ NAME_FUNC_OFFSET(15836, gl_dispatch_stub_927, gl_dispatch_stub_927, NULL, 927),
+ NAME_FUNC_OFFSET(15864, gl_dispatch_stub_928, gl_dispatch_stub_928, NULL, 928),
+ NAME_FUNC_OFFSET(15892, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 929),
+ NAME_FUNC_OFFSET(15910, gl_dispatch_stub_930, gl_dispatch_stub_930, NULL, 930),
+ NAME_FUNC_OFFSET(15929, gl_dispatch_stub_931, gl_dispatch_stub_931, NULL, 931),
+ NAME_FUNC_OFFSET(15955, glDebugMessageCallback, glDebugMessageCallback, NULL, 932),
+ NAME_FUNC_OFFSET(15978, glDebugMessageControl, glDebugMessageControl, NULL, 933),
+ NAME_FUNC_OFFSET(16000, glDebugMessageInsert, glDebugMessageInsert, NULL, 934),
+ NAME_FUNC_OFFSET(16021, glGetDebugMessageLog, glGetDebugMessageLog, NULL, 935),
+ NAME_FUNC_OFFSET(16042, glGetObjectLabel, glGetObjectLabel, NULL, 936),
+ NAME_FUNC_OFFSET(16059, glGetObjectPtrLabel, glGetObjectPtrLabel, NULL, 937),
+ NAME_FUNC_OFFSET(16079, glObjectLabel, glObjectLabel, NULL, 938),
+ NAME_FUNC_OFFSET(16093, glObjectPtrLabel, glObjectPtrLabel, NULL, 939),
+ NAME_FUNC_OFFSET(16110, glPopDebugGroup, glPopDebugGroup, NULL, 940),
+ NAME_FUNC_OFFSET(16126, glPushDebugGroup, glPushDebugGroup, NULL, 941),
+ NAME_FUNC_OFFSET(16143, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 942),
+ NAME_FUNC_OFFSET(16165, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 943),
+ NAME_FUNC_OFFSET(16188, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 944),
+ NAME_FUNC_OFFSET(16211, glFogCoordfEXT, glFogCoordfEXT, NULL, 945),
+ NAME_FUNC_OFFSET(16226, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 946),
+ NAME_FUNC_OFFSET(16242, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 947),
+ NAME_FUNC_OFFSET(16262, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 948),
+ NAME_FUNC_OFFSET(16280, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 949),
+ NAME_FUNC_OFFSET(16299, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 950),
+ NAME_FUNC_OFFSET(16317, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 951),
+ NAME_FUNC_OFFSET(16336, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 952),
+ NAME_FUNC_OFFSET(16354, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 953),
+ NAME_FUNC_OFFSET(16373, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 954),
+ NAME_FUNC_OFFSET(16391, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 955),
+ NAME_FUNC_OFFSET(16410, gl_dispatch_stub_956, gl_dispatch_stub_956, NULL, 956),
+ NAME_FUNC_OFFSET(16435, gl_dispatch_stub_957, gl_dispatch_stub_957, NULL, 957),
+ NAME_FUNC_OFFSET(16462, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 958),
+ NAME_FUNC_OFFSET(16486, glExecuteProgramNV, glExecuteProgramNV, NULL, 959),
+ NAME_FUNC_OFFSET(16505, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 960),
+ NAME_FUNC_OFFSET(16531, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 961),
+ NAME_FUNC_OFFSET(16557, glGetProgramStringNV, glGetProgramStringNV, NULL, 962),
+ NAME_FUNC_OFFSET(16578, glGetProgramivNV, glGetProgramivNV, NULL, 963),
+ NAME_FUNC_OFFSET(16595, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 964),
+ NAME_FUNC_OFFSET(16616, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 965),
+ NAME_FUNC_OFFSET(16638, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 966),
+ NAME_FUNC_OFFSET(16660, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 967),
+ NAME_FUNC_OFFSET(16682, glLoadProgramNV, glLoadProgramNV, NULL, 968),
+ NAME_FUNC_OFFSET(16698, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 969),
+ NAME_FUNC_OFFSET(16723, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 970),
+ NAME_FUNC_OFFSET(16748, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 971),
+ NAME_FUNC_OFFSET(16776, glTrackMatrixNV, glTrackMatrixNV, NULL, 972),
+ NAME_FUNC_OFFSET(16792, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 973),
+ NAME_FUNC_OFFSET(16811, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 974),
+ NAME_FUNC_OFFSET(16831, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 975),
+ NAME_FUNC_OFFSET(16850, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 976),
+ NAME_FUNC_OFFSET(16870, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 977),
+ NAME_FUNC_OFFSET(16889, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 978),
+ NAME_FUNC_OFFSET(16909, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 979),
+ NAME_FUNC_OFFSET(16928, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 980),
+ NAME_FUNC_OFFSET(16948, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 981),
+ NAME_FUNC_OFFSET(16967, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 982),
+ NAME_FUNC_OFFSET(16987, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 983),
+ NAME_FUNC_OFFSET(17006, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 984),
+ NAME_FUNC_OFFSET(17026, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 985),
+ NAME_FUNC_OFFSET(17045, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 986),
+ NAME_FUNC_OFFSET(17065, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 987),
+ NAME_FUNC_OFFSET(17084, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 988),
+ NAME_FUNC_OFFSET(17104, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 989),
+ NAME_FUNC_OFFSET(17123, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 990),
+ NAME_FUNC_OFFSET(17143, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 991),
+ NAME_FUNC_OFFSET(17162, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 992),
+ NAME_FUNC_OFFSET(17182, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 993),
+ NAME_FUNC_OFFSET(17201, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 994),
+ NAME_FUNC_OFFSET(17221, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 995),
+ NAME_FUNC_OFFSET(17240, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 996),
+ NAME_FUNC_OFFSET(17260, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 997),
+ NAME_FUNC_OFFSET(17280, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 998),
+ NAME_FUNC_OFFSET(17301, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 999),
+ NAME_FUNC_OFFSET(17325, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 1000),
+ NAME_FUNC_OFFSET(17346, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 1001),
+ NAME_FUNC_OFFSET(17367, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 1002),
+ NAME_FUNC_OFFSET(17388, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 1003),
+ NAME_FUNC_OFFSET(17409, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 1004),
+ NAME_FUNC_OFFSET(17430, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 1005),
+ NAME_FUNC_OFFSET(17451, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 1006),
+ NAME_FUNC_OFFSET(17472, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 1007),
+ NAME_FUNC_OFFSET(17493, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 1008),
+ NAME_FUNC_OFFSET(17514, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 1009),
+ NAME_FUNC_OFFSET(17535, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 1010),
+ NAME_FUNC_OFFSET(17556, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 1011),
+ NAME_FUNC_OFFSET(17577, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 1012),
+ NAME_FUNC_OFFSET(17599, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 1013),
+ NAME_FUNC_OFFSET(17626, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 1014),
+ NAME_FUNC_OFFSET(17653, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 1015),
+ NAME_FUNC_OFFSET(17677, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 1016),
+ NAME_FUNC_OFFSET(17701, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 1017),
+ NAME_FUNC_OFFSET(17723, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 1018),
+ NAME_FUNC_OFFSET(17745, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 1019),
+ NAME_FUNC_OFFSET(17767, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 1020),
+ NAME_FUNC_OFFSET(17792, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 1021),
+ NAME_FUNC_OFFSET(17816, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 1022),
+ NAME_FUNC_OFFSET(17838, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 1023),
+ NAME_FUNC_OFFSET(17860, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 1024),
+ NAME_FUNC_OFFSET(17882, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 1025),
+ NAME_FUNC_OFFSET(17908, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 1026),
+ NAME_FUNC_OFFSET(17931, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 1027),
+ NAME_FUNC_OFFSET(17955, glPassTexCoordATI, glPassTexCoordATI, NULL, 1028),
+ NAME_FUNC_OFFSET(17973, glSampleMapATI, glSampleMapATI, NULL, 1029),
+ NAME_FUNC_OFFSET(17988, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 1030),
+ NAME_FUNC_OFFSET(18019, gl_dispatch_stub_1031, gl_dispatch_stub_1031, NULL, 1031),
+ NAME_FUNC_OFFSET(18042, gl_dispatch_stub_1032, gl_dispatch_stub_1032, NULL, 1032),
+ NAME_FUNC_OFFSET(18065, gl_dispatch_stub_1033, gl_dispatch_stub_1033, NULL, 1033),
+ NAME_FUNC_OFFSET(18088, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 1034),
+ NAME_FUNC_OFFSET(18119, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 1035),
+ NAME_FUNC_OFFSET(18150, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 1036),
+ NAME_FUNC_OFFSET(18178, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 1037),
+ NAME_FUNC_OFFSET(18207, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 1038),
+ NAME_FUNC_OFFSET(18235, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 1039),
+ NAME_FUNC_OFFSET(18264, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 1040),
+ NAME_FUNC_OFFSET(18285, gl_dispatch_stub_1041, gl_dispatch_stub_1041, NULL, 1041),
+ NAME_FUNC_OFFSET(18302, gl_dispatch_stub_1042, gl_dispatch_stub_1042, NULL, 1042),
+ NAME_FUNC_OFFSET(18315, gl_dispatch_stub_1043, gl_dispatch_stub_1043, NULL, 1043),
+ NAME_FUNC_OFFSET(18329, gl_dispatch_stub_1044, gl_dispatch_stub_1044, NULL, 1044),
+ NAME_FUNC_OFFSET(18346, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 1045),
+ NAME_FUNC_OFFSET(18367, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 1046),
+ NAME_FUNC_OFFSET(18389, gl_dispatch_stub_1047, gl_dispatch_stub_1047, NULL, 1047),
+ NAME_FUNC_OFFSET(18413, gl_dispatch_stub_1048, gl_dispatch_stub_1048, NULL, 1048),
+ NAME_FUNC_OFFSET(18443, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 1049),
+ NAME_FUNC_OFFSET(18464, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 1050),
+ NAME_FUNC_OFFSET(18486, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 1051),
+ NAME_FUNC_OFFSET(18507, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 1052),
+ NAME_FUNC_OFFSET(18529, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 1053),
+ NAME_FUNC_OFFSET(18551, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 1054),
+ NAME_FUNC_OFFSET(18574, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 1055),
+ NAME_FUNC_OFFSET(18595, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 1056),
+ NAME_FUNC_OFFSET(18617, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 1057),
+ NAME_FUNC_OFFSET(18639, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 1058),
+ NAME_FUNC_OFFSET(18662, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 1059),
+ NAME_FUNC_OFFSET(18683, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 1060),
+ NAME_FUNC_OFFSET(18705, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 1061),
+ NAME_FUNC_OFFSET(18727, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 1062),
+ NAME_FUNC_OFFSET(18750, glClearColorIiEXT, glClearColorIiEXT, NULL, 1063),
+ NAME_FUNC_OFFSET(18768, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 1064),
+ NAME_FUNC_OFFSET(18787, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 1065),
+ NAME_FUNC_OFFSET(18809, glBeginPerfMonitorAMD, glBeginPerfMonitorAMD, NULL, 1066),
+ NAME_FUNC_OFFSET(18831, glDeletePerfMonitorsAMD, glDeletePerfMonitorsAMD, NULL, 1067),
+ NAME_FUNC_OFFSET(18855, glEndPerfMonitorAMD, glEndPerfMonitorAMD, NULL, 1068),
+ NAME_FUNC_OFFSET(18875, glGenPerfMonitorsAMD, glGenPerfMonitorsAMD, NULL, 1069),
+ NAME_FUNC_OFFSET(18896, glGetPerfMonitorCounterDataAMD, glGetPerfMonitorCounterDataAMD, NULL, 1070),
+ NAME_FUNC_OFFSET(18927, glGetPerfMonitorCounterInfoAMD, glGetPerfMonitorCounterInfoAMD, NULL, 1071),
+ NAME_FUNC_OFFSET(18958, glGetPerfMonitorCounterStringAMD, glGetPerfMonitorCounterStringAMD, NULL, 1072),
+ NAME_FUNC_OFFSET(18991, glGetPerfMonitorCountersAMD, glGetPerfMonitorCountersAMD, NULL, 1073),
+ NAME_FUNC_OFFSET(19019, glGetPerfMonitorGroupStringAMD, glGetPerfMonitorGroupStringAMD, NULL, 1074),
+ NAME_FUNC_OFFSET(19050, glGetPerfMonitorGroupsAMD, glGetPerfMonitorGroupsAMD, NULL, 1075),
+ NAME_FUNC_OFFSET(19076, glSelectPerfMonitorCountersAMD, glSelectPerfMonitorCountersAMD, NULL, 1076),
+ NAME_FUNC_OFFSET(19107, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 1077),
+ NAME_FUNC_OFFSET(19135, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 1078),
+ NAME_FUNC_OFFSET(19158, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 1079),
+ NAME_FUNC_OFFSET(19183, glActiveProgramEXT, glActiveProgramEXT, NULL, 1080),
+ NAME_FUNC_OFFSET(19202, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 1081),
+ NAME_FUNC_OFFSET(19227, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 1082),
+ NAME_FUNC_OFFSET(19249, glTextureBarrierNV, glTextureBarrierNV, NULL, 1083),
+ NAME_FUNC_OFFSET(19268, glVDPAUFiniNV, glVDPAUFiniNV, NULL, 1084),
+ NAME_FUNC_OFFSET(19282, glVDPAUGetSurfaceivNV, glVDPAUGetSurfaceivNV, NULL, 1085),
+ NAME_FUNC_OFFSET(19304, glVDPAUInitNV, glVDPAUInitNV, NULL, 1086),
+ NAME_FUNC_OFFSET(19318, glVDPAUIsSurfaceNV, glVDPAUIsSurfaceNV, NULL, 1087),
+ NAME_FUNC_OFFSET(19337, glVDPAUMapSurfacesNV, glVDPAUMapSurfacesNV, NULL, 1088),
+ NAME_FUNC_OFFSET(19358, glVDPAURegisterOutputSurfaceNV, glVDPAURegisterOutputSurfaceNV, NULL, 1089),
+ NAME_FUNC_OFFSET(19389, glVDPAURegisterVideoSurfaceNV, glVDPAURegisterVideoSurfaceNV, NULL, 1090),
+ NAME_FUNC_OFFSET(19419, glVDPAUSurfaceAccessNV, glVDPAUSurfaceAccessNV, NULL, 1091),
+ NAME_FUNC_OFFSET(19442, glVDPAUUnmapSurfacesNV, glVDPAUUnmapSurfacesNV, NULL, 1092),
+ NAME_FUNC_OFFSET(19465, glVDPAUUnregisterSurfaceNV, glVDPAUUnregisterSurfaceNV, NULL, 1093),
+ NAME_FUNC_OFFSET(19492, gl_dispatch_stub_1094, gl_dispatch_stub_1094, NULL, 1094),
+ NAME_FUNC_OFFSET(19514, gl_dispatch_stub_1095, gl_dispatch_stub_1095, NULL, 1095),
+ NAME_FUNC_OFFSET(19537, gl_dispatch_stub_1096, gl_dispatch_stub_1096, NULL, 1096),
+ NAME_FUNC_OFFSET(19560, gl_dispatch_stub_1097, gl_dispatch_stub_1097, NULL, 1097),
+ NAME_FUNC_OFFSET(19580, gl_dispatch_stub_1098, gl_dispatch_stub_1098, NULL, 1098),
+ NAME_FUNC_OFFSET(19607, gl_dispatch_stub_1099, gl_dispatch_stub_1099, NULL, 1099),
+ NAME_FUNC_OFFSET(19633, gl_dispatch_stub_1100, gl_dispatch_stub_1100, NULL, 1100),
+ NAME_FUNC_OFFSET(19659, gl_dispatch_stub_1101, gl_dispatch_stub_1101, NULL, 1101),
+ NAME_FUNC_OFFSET(19683, gl_dispatch_stub_1102, gl_dispatch_stub_1102, NULL, 1102),
+ NAME_FUNC_OFFSET(19711, gl_dispatch_stub_1103, gl_dispatch_stub_1103, NULL, 1103),
+ NAME_FUNC_OFFSET(19735, gl_dispatch_stub_1104, gl_dispatch_stub_1104, NULL, 1104),
+ NAME_FUNC_OFFSET(19760, gl_dispatch_stub_1105, gl_dispatch_stub_1105, NULL, 1105),
+ NAME_FUNC_OFFSET(19789, gl_dispatch_stub_1106, gl_dispatch_stub_1106, NULL, 1106),
+ NAME_FUNC_OFFSET(19820, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 1107),
+ NAME_FUNC_OFFSET(19859, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 1108),
+ NAME_FUNC_OFFSET(19888, glAlphaFuncx, glAlphaFuncx, NULL, 1109),
+ NAME_FUNC_OFFSET(19901, glClearColorx, glClearColorx, NULL, 1110),
+ NAME_FUNC_OFFSET(19915, glClearDepthx, glClearDepthx, NULL, 1111),
+ NAME_FUNC_OFFSET(19929, glColor4x, glColor4x, NULL, 1112),
+ NAME_FUNC_OFFSET(19939, glDepthRangex, glDepthRangex, NULL, 1113),
+ NAME_FUNC_OFFSET(19953, glFogx, glFogx, NULL, 1114),
+ NAME_FUNC_OFFSET(19960, glFogxv, glFogxv, NULL, 1115),
+ NAME_FUNC_OFFSET(19968, glFrustumf, glFrustumf, NULL, 1116),
+ NAME_FUNC_OFFSET(19979, glFrustumx, glFrustumx, NULL, 1117),
+ NAME_FUNC_OFFSET(19990, glLightModelx, glLightModelx, NULL, 1118),
+ NAME_FUNC_OFFSET(20004, glLightModelxv, glLightModelxv, NULL, 1119),
+ NAME_FUNC_OFFSET(20019, glLightx, glLightx, NULL, 1120),
+ NAME_FUNC_OFFSET(20028, glLightxv, glLightxv, NULL, 1121),
+ NAME_FUNC_OFFSET(20038, glLineWidthx, glLineWidthx, NULL, 1122),
+ NAME_FUNC_OFFSET(20051, glLoadMatrixx, glLoadMatrixx, NULL, 1123),
+ NAME_FUNC_OFFSET(20065, glMaterialx, glMaterialx, NULL, 1124),
+ NAME_FUNC_OFFSET(20077, glMaterialxv, glMaterialxv, NULL, 1125),
+ NAME_FUNC_OFFSET(20090, glMultMatrixx, glMultMatrixx, NULL, 1126),
+ NAME_FUNC_OFFSET(20104, glMultiTexCoord4x, glMultiTexCoord4x, NULL, 1127),
+ NAME_FUNC_OFFSET(20122, glNormal3x, glNormal3x, NULL, 1128),
+ NAME_FUNC_OFFSET(20133, glOrthof, glOrthof, NULL, 1129),
+ NAME_FUNC_OFFSET(20142, glOrthox, glOrthox, NULL, 1130),
+ NAME_FUNC_OFFSET(20151, glPointSizex, glPointSizex, NULL, 1131),
+ NAME_FUNC_OFFSET(20164, glPolygonOffsetx, glPolygonOffsetx, NULL, 1132),
+ NAME_FUNC_OFFSET(20181, glRotatex, glRotatex, NULL, 1133),
+ NAME_FUNC_OFFSET(20191, glSampleCoveragex, glSampleCoveragex, NULL, 1134),
+ NAME_FUNC_OFFSET(20209, glScalex, glScalex, NULL, 1135),
+ NAME_FUNC_OFFSET(20218, glTexEnvx, glTexEnvx, NULL, 1136),
+ NAME_FUNC_OFFSET(20228, glTexEnvxv, glTexEnvxv, NULL, 1137),
+ NAME_FUNC_OFFSET(20239, glTexParameterx, glTexParameterx, NULL, 1138),
+ NAME_FUNC_OFFSET(20255, glTranslatex, glTranslatex, NULL, 1139),
+ NAME_FUNC_OFFSET(20268, glClipPlanef, glClipPlanef, NULL, 1140),
+ NAME_FUNC_OFFSET(20281, glClipPlanex, glClipPlanex, NULL, 1141),
+ NAME_FUNC_OFFSET(20294, glGetClipPlanef, glGetClipPlanef, NULL, 1142),
+ NAME_FUNC_OFFSET(20310, glGetClipPlanex, glGetClipPlanex, NULL, 1143),
+ NAME_FUNC_OFFSET(20326, glGetFixedv, glGetFixedv, NULL, 1144),
+ NAME_FUNC_OFFSET(20338, glGetLightxv, glGetLightxv, NULL, 1145),
+ NAME_FUNC_OFFSET(20351, glGetMaterialxv, glGetMaterialxv, NULL, 1146),
+ NAME_FUNC_OFFSET(20367, glGetTexEnvxv, glGetTexEnvxv, NULL, 1147),
+ NAME_FUNC_OFFSET(20381, glGetTexParameterxv, glGetTexParameterxv, NULL, 1148),
+ NAME_FUNC_OFFSET(20401, glPointParameterx, glPointParameterx, NULL, 1149),
+ NAME_FUNC_OFFSET(20419, glPointParameterxv, glPointParameterxv, NULL, 1150),
+ NAME_FUNC_OFFSET(20438, glTexParameterxv, glTexParameterxv, NULL, 1151),
+ NAME_FUNC_OFFSET(20455, glTexGenf, glTexGenf, NULL, 190),
+ NAME_FUNC_OFFSET(20468, glTexGenfv, glTexGenfv, NULL, 191),
+ NAME_FUNC_OFFSET(20482, glTexGeni, glTexGeni, NULL, 192),
+ NAME_FUNC_OFFSET(20495, glTexGeniv, glTexGeniv, NULL, 193),
+ NAME_FUNC_OFFSET(20509, glReadBuffer, glReadBuffer, NULL, 254),
+ NAME_FUNC_OFFSET(20524, glGetTexGenfv, glGetTexGenfv, NULL, 279),
+ NAME_FUNC_OFFSET(20541, glGetTexGeniv, glGetTexGeniv, NULL, 280),
+ NAME_FUNC_OFFSET(20558, glArrayElement, glArrayElement, NULL, 306),
+ NAME_FUNC_OFFSET(20576, glBindTexture, glBindTexture, NULL, 307),
+ NAME_FUNC_OFFSET(20593, glDrawArrays, glDrawArrays, NULL, 310),
+ NAME_FUNC_OFFSET(20609, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322),
+ NAME_FUNC_OFFSET(20634, glCopyTexImage1D, glCopyTexImage1D, NULL, 323),
+ NAME_FUNC_OFFSET(20654, glCopyTexImage2D, glCopyTexImage2D, NULL, 324),
+ NAME_FUNC_OFFSET(20674, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325),
+ NAME_FUNC_OFFSET(20697, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326),
+ NAME_FUNC_OFFSET(20720, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327),
+ NAME_FUNC_OFFSET(20740, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328),
+ NAME_FUNC_OFFSET(20757, glGetPointerv, glGetPointerv, NULL, 329),
+ NAME_FUNC_OFFSET(20774, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330),
+ NAME_FUNC_OFFSET(20789, glPrioritizeTextures, glPrioritizeTextures, NULL, 331),
+ NAME_FUNC_OFFSET(20813, glTexSubImage1D, glTexSubImage1D, NULL, 332),
+ NAME_FUNC_OFFSET(20832, glTexSubImage2D, glTexSubImage2D, NULL, 333),
+ NAME_FUNC_OFFSET(20851, glBlendColor, glBlendColor, NULL, 336),
+ NAME_FUNC_OFFSET(20867, glBlendEquation, glBlendEquation, NULL, 337),
+ NAME_FUNC_OFFSET(20886, glBlendEquation, glBlendEquation, NULL, 337),
+ NAME_FUNC_OFFSET(20905, glDrawRangeElements, glDrawRangeElements, NULL, 338),
+ NAME_FUNC_OFFSET(20928, glColorTable, glColorTable, NULL, 339),
+ NAME_FUNC_OFFSET(20944, glColorTable, glColorTable, NULL, 339),
+ NAME_FUNC_OFFSET(20960, glColorTableParameterfv, glColorTableParameterfv, NULL, 340),
+ NAME_FUNC_OFFSET(20987, glColorTableParameteriv, glColorTableParameteriv, NULL, 341),
+ NAME_FUNC_OFFSET(21014, glCopyColorTable, glCopyColorTable, NULL, 342),
+ NAME_FUNC_OFFSET(21034, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343),
+ NAME_FUNC_OFFSET(21053, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343),
+ NAME_FUNC_OFFSET(21072, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344),
+ NAME_FUNC_OFFSET(21102, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344),
+ NAME_FUNC_OFFSET(21132, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345),
+ NAME_FUNC_OFFSET(21162, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345),
+ NAME_FUNC_OFFSET(21192, glColorSubTable, glColorSubTable, NULL, 346),
+ NAME_FUNC_OFFSET(21211, glCopyColorSubTable, glCopyColorSubTable, NULL, 347),
+ NAME_FUNC_OFFSET(21234, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348),
+ NAME_FUNC_OFFSET(21259, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349),
+ NAME_FUNC_OFFSET(21284, glConvolutionParameterf, glConvolutionParameterf, NULL, 350),
+ NAME_FUNC_OFFSET(21311, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351),
+ NAME_FUNC_OFFSET(21339, glConvolutionParameteri, glConvolutionParameteri, NULL, 352),
+ NAME_FUNC_OFFSET(21366, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353),
+ NAME_FUNC_OFFSET(21394, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354),
+ NAME_FUNC_OFFSET(21423, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355),
+ NAME_FUNC_OFFSET(21452, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356),
+ NAME_FUNC_OFFSET(21478, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357),
+ NAME_FUNC_OFFSET(21509, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358),
+ NAME_FUNC_OFFSET(21540, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359),
+ NAME_FUNC_OFFSET(21564, glSeparableFilter2D, glSeparableFilter2D, NULL, 360),
+ NAME_FUNC_OFFSET(21587, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361),
+ NAME_FUNC_OFFSET(21605, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362),
+ NAME_FUNC_OFFSET(21634, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363),
+ NAME_FUNC_OFFSET(21663, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364),
+ NAME_FUNC_OFFSET(21678, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365),
+ NAME_FUNC_OFFSET(21704, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366),
+ NAME_FUNC_OFFSET(21730, glHistogram, glHistogram, NULL, 367),
+ NAME_FUNC_OFFSET(21745, glMinmax, glMinmax, NULL, 368),
+ NAME_FUNC_OFFSET(21757, glResetHistogram, glResetHistogram, NULL, 369),
+ NAME_FUNC_OFFSET(21777, glResetMinmax, glResetMinmax, NULL, 370),
+ NAME_FUNC_OFFSET(21794, glTexImage3D, glTexImage3D, NULL, 371),
+ NAME_FUNC_OFFSET(21810, glTexImage3D, glTexImage3D, NULL, 371),
+ NAME_FUNC_OFFSET(21826, glTexSubImage3D, glTexSubImage3D, NULL, 372),
+ NAME_FUNC_OFFSET(21845, glTexSubImage3D, glTexSubImage3D, NULL, 372),
+ NAME_FUNC_OFFSET(21864, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373),
+ NAME_FUNC_OFFSET(21887, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373),
+ NAME_FUNC_OFFSET(21910, glActiveTexture, glActiveTexture, NULL, 374),
+ NAME_FUNC_OFFSET(21929, glClientActiveTexture, glClientActiveTexture, NULL, 375),
+ NAME_FUNC_OFFSET(21954, glMultiTexCoord1d, glMultiTexCoord1d, NULL, 376),
+ NAME_FUNC_OFFSET(21975, glMultiTexCoord1dv, glMultiTexCoord1dv, NULL, 377),
+ NAME_FUNC_OFFSET(21997, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378),
+ NAME_FUNC_OFFSET(22015, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379),
+ NAME_FUNC_OFFSET(22034, glMultiTexCoord1i, glMultiTexCoord1i, NULL, 380),
+ NAME_FUNC_OFFSET(22055, glMultiTexCoord1iv, glMultiTexCoord1iv, NULL, 381),
+ NAME_FUNC_OFFSET(22077, glMultiTexCoord1s, glMultiTexCoord1s, NULL, 382),
+ NAME_FUNC_OFFSET(22098, glMultiTexCoord1sv, glMultiTexCoord1sv, NULL, 383),
+ NAME_FUNC_OFFSET(22120, glMultiTexCoord2d, glMultiTexCoord2d, NULL, 384),
+ NAME_FUNC_OFFSET(22141, glMultiTexCoord2dv, glMultiTexCoord2dv, NULL, 385),
+ NAME_FUNC_OFFSET(22163, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386),
+ NAME_FUNC_OFFSET(22181, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387),
+ NAME_FUNC_OFFSET(22200, glMultiTexCoord2i, glMultiTexCoord2i, NULL, 388),
+ NAME_FUNC_OFFSET(22221, glMultiTexCoord2iv, glMultiTexCoord2iv, NULL, 389),
+ NAME_FUNC_OFFSET(22243, glMultiTexCoord2s, glMultiTexCoord2s, NULL, 390),
+ NAME_FUNC_OFFSET(22264, glMultiTexCoord2sv, glMultiTexCoord2sv, NULL, 391),
+ NAME_FUNC_OFFSET(22286, glMultiTexCoord3d, glMultiTexCoord3d, NULL, 392),
+ NAME_FUNC_OFFSET(22307, glMultiTexCoord3dv, glMultiTexCoord3dv, NULL, 393),
+ NAME_FUNC_OFFSET(22329, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394),
+ NAME_FUNC_OFFSET(22347, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395),
+ NAME_FUNC_OFFSET(22366, glMultiTexCoord3i, glMultiTexCoord3i, NULL, 396),
+ NAME_FUNC_OFFSET(22387, glMultiTexCoord3iv, glMultiTexCoord3iv, NULL, 397),
+ NAME_FUNC_OFFSET(22409, glMultiTexCoord3s, glMultiTexCoord3s, NULL, 398),
+ NAME_FUNC_OFFSET(22430, glMultiTexCoord3sv, glMultiTexCoord3sv, NULL, 399),
+ NAME_FUNC_OFFSET(22452, glMultiTexCoord4d, glMultiTexCoord4d, NULL, 400),
+ NAME_FUNC_OFFSET(22473, glMultiTexCoord4dv, glMultiTexCoord4dv, NULL, 401),
+ NAME_FUNC_OFFSET(22495, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402),
+ NAME_FUNC_OFFSET(22513, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403),
+ NAME_FUNC_OFFSET(22532, glMultiTexCoord4i, glMultiTexCoord4i, NULL, 404),
+ NAME_FUNC_OFFSET(22553, glMultiTexCoord4iv, glMultiTexCoord4iv, NULL, 405),
+ NAME_FUNC_OFFSET(22575, glMultiTexCoord4s, glMultiTexCoord4s, NULL, 406),
+ NAME_FUNC_OFFSET(22596, glMultiTexCoord4sv, glMultiTexCoord4sv, NULL, 407),
+ NAME_FUNC_OFFSET(22618, glCompressedTexImage1D, glCompressedTexImage1D, NULL, 408),
+ NAME_FUNC_OFFSET(22644, glCompressedTexImage2D, glCompressedTexImage2D, NULL, 409),
+ NAME_FUNC_OFFSET(22670, glCompressedTexImage3D, glCompressedTexImage3D, NULL, 410),
+ NAME_FUNC_OFFSET(22696, glCompressedTexImage3D, glCompressedTexImage3D, NULL, 410),
+ NAME_FUNC_OFFSET(22722, glCompressedTexSubImage1D, glCompressedTexSubImage1D, NULL, 411),
+ NAME_FUNC_OFFSET(22751, glCompressedTexSubImage2D, glCompressedTexSubImage2D, NULL, 412),
+ NAME_FUNC_OFFSET(22780, glCompressedTexSubImage3D, glCompressedTexSubImage3D, NULL, 413),
+ NAME_FUNC_OFFSET(22809, glCompressedTexSubImage3D, glCompressedTexSubImage3D, NULL, 413),
+ NAME_FUNC_OFFSET(22838, glGetCompressedTexImage, glGetCompressedTexImage, NULL, 414),
+ NAME_FUNC_OFFSET(22865, glLoadTransposeMatrixd, glLoadTransposeMatrixd, NULL, 415),
+ NAME_FUNC_OFFSET(22891, glLoadTransposeMatrixf, glLoadTransposeMatrixf, NULL, 416),
+ NAME_FUNC_OFFSET(22917, glMultTransposeMatrixd, glMultTransposeMatrixd, NULL, 417),
+ NAME_FUNC_OFFSET(22943, glMultTransposeMatrixf, glMultTransposeMatrixf, NULL, 418),
+ NAME_FUNC_OFFSET(22969, glSampleCoverage, glSampleCoverage, NULL, 419),
+ NAME_FUNC_OFFSET(22989, glBlendFuncSeparate, glBlendFuncSeparate, NULL, 420),
+ NAME_FUNC_OFFSET(23012, glBlendFuncSeparate, glBlendFuncSeparate, NULL, 420),
+ NAME_FUNC_OFFSET(23036, glBlendFuncSeparate, glBlendFuncSeparate, NULL, 420),
+ NAME_FUNC_OFFSET(23059, glFogCoordPointer, glFogCoordPointer, NULL, 421),
+ NAME_FUNC_OFFSET(23080, glFogCoordd, glFogCoordd, NULL, 422),
+ NAME_FUNC_OFFSET(23095, glFogCoorddv, glFogCoorddv, NULL, 423),
+ NAME_FUNC_OFFSET(23111, glMultiDrawArrays, glMultiDrawArrays, NULL, 424),
+ NAME_FUNC_OFFSET(23132, glPointParameterf, glPointParameterf, NULL, 425),
+ NAME_FUNC_OFFSET(23153, glPointParameterf, glPointParameterf, NULL, 425),
+ NAME_FUNC_OFFSET(23174, glPointParameterf, glPointParameterf, NULL, 425),
+ NAME_FUNC_OFFSET(23196, glPointParameterfv, glPointParameterfv, NULL, 426),
+ NAME_FUNC_OFFSET(23218, glPointParameterfv, glPointParameterfv, NULL, 426),
+ NAME_FUNC_OFFSET(23240, glPointParameterfv, glPointParameterfv, NULL, 426),
+ NAME_FUNC_OFFSET(23263, glPointParameteri, glPointParameteri, NULL, 427),
+ NAME_FUNC_OFFSET(23283, glPointParameteriv, glPointParameteriv, NULL, 428),
+ NAME_FUNC_OFFSET(23304, glSecondaryColor3b, glSecondaryColor3b, NULL, 429),
+ NAME_FUNC_OFFSET(23326, glSecondaryColor3bv, glSecondaryColor3bv, NULL, 430),
+ NAME_FUNC_OFFSET(23349, glSecondaryColor3d, glSecondaryColor3d, NULL, 431),
+ NAME_FUNC_OFFSET(23371, glSecondaryColor3dv, glSecondaryColor3dv, NULL, 432),
+ NAME_FUNC_OFFSET(23394, glSecondaryColor3i, glSecondaryColor3i, NULL, 433),
+ NAME_FUNC_OFFSET(23416, glSecondaryColor3iv, glSecondaryColor3iv, NULL, 434),
+ NAME_FUNC_OFFSET(23439, glSecondaryColor3s, glSecondaryColor3s, NULL, 435),
+ NAME_FUNC_OFFSET(23461, glSecondaryColor3sv, glSecondaryColor3sv, NULL, 436),
+ NAME_FUNC_OFFSET(23484, glSecondaryColor3ub, glSecondaryColor3ub, NULL, 437),
+ NAME_FUNC_OFFSET(23507, glSecondaryColor3ubv, glSecondaryColor3ubv, NULL, 438),
+ NAME_FUNC_OFFSET(23531, glSecondaryColor3ui, glSecondaryColor3ui, NULL, 439),
+ NAME_FUNC_OFFSET(23554, glSecondaryColor3uiv, glSecondaryColor3uiv, NULL, 440),
+ NAME_FUNC_OFFSET(23578, glSecondaryColor3us, glSecondaryColor3us, NULL, 441),
+ NAME_FUNC_OFFSET(23601, glSecondaryColor3usv, glSecondaryColor3usv, NULL, 442),
+ NAME_FUNC_OFFSET(23625, glSecondaryColorPointer, glSecondaryColorPointer, NULL, 443),
+ NAME_FUNC_OFFSET(23652, glWindowPos2d, glWindowPos2d, NULL, 444),
+ NAME_FUNC_OFFSET(23669, glWindowPos2d, glWindowPos2d, NULL, 444),
+ NAME_FUNC_OFFSET(23687, glWindowPos2dv, glWindowPos2dv, NULL, 445),
+ NAME_FUNC_OFFSET(23705, glWindowPos2dv, glWindowPos2dv, NULL, 445),
+ NAME_FUNC_OFFSET(23724, glWindowPos2f, glWindowPos2f, NULL, 446),
+ NAME_FUNC_OFFSET(23741, glWindowPos2f, glWindowPos2f, NULL, 446),
+ NAME_FUNC_OFFSET(23759, glWindowPos2fv, glWindowPos2fv, NULL, 447),
+ NAME_FUNC_OFFSET(23777, glWindowPos2fv, glWindowPos2fv, NULL, 447),
+ NAME_FUNC_OFFSET(23796, glWindowPos2i, glWindowPos2i, NULL, 448),
+ NAME_FUNC_OFFSET(23813, glWindowPos2i, glWindowPos2i, NULL, 448),
+ NAME_FUNC_OFFSET(23831, glWindowPos2iv, glWindowPos2iv, NULL, 449),
+ NAME_FUNC_OFFSET(23849, glWindowPos2iv, glWindowPos2iv, NULL, 449),
+ NAME_FUNC_OFFSET(23868, glWindowPos2s, glWindowPos2s, NULL, 450),
+ NAME_FUNC_OFFSET(23885, glWindowPos2s, glWindowPos2s, NULL, 450),
+ NAME_FUNC_OFFSET(23903, glWindowPos2sv, glWindowPos2sv, NULL, 451),
+ NAME_FUNC_OFFSET(23921, glWindowPos2sv, glWindowPos2sv, NULL, 451),
+ NAME_FUNC_OFFSET(23940, glWindowPos3d, glWindowPos3d, NULL, 452),
+ NAME_FUNC_OFFSET(23957, glWindowPos3d, glWindowPos3d, NULL, 452),
+ NAME_FUNC_OFFSET(23975, glWindowPos3dv, glWindowPos3dv, NULL, 453),
+ NAME_FUNC_OFFSET(23993, glWindowPos3dv, glWindowPos3dv, NULL, 453),
+ NAME_FUNC_OFFSET(24012, glWindowPos3f, glWindowPos3f, NULL, 454),
+ NAME_FUNC_OFFSET(24029, glWindowPos3f, glWindowPos3f, NULL, 454),
+ NAME_FUNC_OFFSET(24047, glWindowPos3fv, glWindowPos3fv, NULL, 455),
+ NAME_FUNC_OFFSET(24065, glWindowPos3fv, glWindowPos3fv, NULL, 455),
+ NAME_FUNC_OFFSET(24084, glWindowPos3i, glWindowPos3i, NULL, 456),
+ NAME_FUNC_OFFSET(24101, glWindowPos3i, glWindowPos3i, NULL, 456),
+ NAME_FUNC_OFFSET(24119, glWindowPos3iv, glWindowPos3iv, NULL, 457),
+ NAME_FUNC_OFFSET(24137, glWindowPos3iv, glWindowPos3iv, NULL, 457),
+ NAME_FUNC_OFFSET(24156, glWindowPos3s, glWindowPos3s, NULL, 458),
+ NAME_FUNC_OFFSET(24173, glWindowPos3s, glWindowPos3s, NULL, 458),
+ NAME_FUNC_OFFSET(24191, glWindowPos3sv, glWindowPos3sv, NULL, 459),
+ NAME_FUNC_OFFSET(24209, glWindowPos3sv, glWindowPos3sv, NULL, 459),
+ NAME_FUNC_OFFSET(24228, glBeginQuery, glBeginQuery, NULL, 460),
+ NAME_FUNC_OFFSET(24244, glBindBuffer, glBindBuffer, NULL, 461),
+ NAME_FUNC_OFFSET(24260, glBufferData, glBufferData, NULL, 462),
+ NAME_FUNC_OFFSET(24276, glBufferSubData, glBufferSubData, NULL, 463),
+ NAME_FUNC_OFFSET(24295, glDeleteBuffers, glDeleteBuffers, NULL, 464),
+ NAME_FUNC_OFFSET(24314, glDeleteQueries, glDeleteQueries, NULL, 465),
+ NAME_FUNC_OFFSET(24333, glEndQuery, glEndQuery, NULL, 466),
+ NAME_FUNC_OFFSET(24347, glGenBuffers, glGenBuffers, NULL, 467),
+ NAME_FUNC_OFFSET(24363, glGenQueries, glGenQueries, NULL, 468),
+ NAME_FUNC_OFFSET(24379, glGetBufferParameteriv, glGetBufferParameteriv, NULL, 469),
+ NAME_FUNC_OFFSET(24405, glGetBufferPointerv, glGetBufferPointerv, NULL, 470),
+ NAME_FUNC_OFFSET(24428, glGetBufferPointerv, glGetBufferPointerv, NULL, 470),
+ NAME_FUNC_OFFSET(24451, glGetBufferSubData, glGetBufferSubData, NULL, 471),
+ NAME_FUNC_OFFSET(24473, glGetQueryObjectiv, glGetQueryObjectiv, NULL, 472),
+ NAME_FUNC_OFFSET(24495, glGetQueryObjectuiv, glGetQueryObjectuiv, NULL, 473),
+ NAME_FUNC_OFFSET(24518, glGetQueryiv, glGetQueryiv, NULL, 474),
+ NAME_FUNC_OFFSET(24534, glIsBuffer, glIsBuffer, NULL, 475),
+ NAME_FUNC_OFFSET(24548, glIsQuery, glIsQuery, NULL, 476),
+ NAME_FUNC_OFFSET(24561, glMapBuffer, glMapBuffer, NULL, 477),
+ NAME_FUNC_OFFSET(24576, glMapBuffer, glMapBuffer, NULL, 477),
+ NAME_FUNC_OFFSET(24591, glUnmapBuffer, glUnmapBuffer, NULL, 478),
+ NAME_FUNC_OFFSET(24608, glUnmapBuffer, glUnmapBuffer, NULL, 478),
+ NAME_FUNC_OFFSET(24625, glBindAttribLocation, glBindAttribLocation, NULL, 480),
+ NAME_FUNC_OFFSET(24649, glBlendEquationSeparate, glBlendEquationSeparate, NULL, 481),
+ NAME_FUNC_OFFSET(24676, glBlendEquationSeparate, glBlendEquationSeparate, NULL, 481),
+ NAME_FUNC_OFFSET(24703, glBlendEquationSeparate, glBlendEquationSeparate, NULL, 481),
+ NAME_FUNC_OFFSET(24730, glCompileShader, glCompileShader, NULL, 482),
+ NAME_FUNC_OFFSET(24749, glDisableVertexAttribArray, glDisableVertexAttribArray, NULL, 488),
+ NAME_FUNC_OFFSET(24779, glDrawBuffers, glDrawBuffers, NULL, 489),
+ NAME_FUNC_OFFSET(24796, glDrawBuffers, glDrawBuffers, NULL, 489),
+ NAME_FUNC_OFFSET(24813, glDrawBuffers, glDrawBuffers, NULL, 489),
+ NAME_FUNC_OFFSET(24829, glEnableVertexAttribArray, glEnableVertexAttribArray, NULL, 490),
+ NAME_FUNC_OFFSET(24858, glGetActiveAttrib, glGetActiveAttrib, NULL, 491),
+ NAME_FUNC_OFFSET(24879, glGetActiveUniform, glGetActiveUniform, NULL, 492),
+ NAME_FUNC_OFFSET(24901, glGetAttribLocation, glGetAttribLocation, NULL, 494),
+ NAME_FUNC_OFFSET(24924, glGetShaderSource, glGetShaderSource, NULL, 498),
+ NAME_FUNC_OFFSET(24945, glGetUniformLocation, glGetUniformLocation, NULL, 500),
+ NAME_FUNC_OFFSET(24969, glGetUniformfv, glGetUniformfv, NULL, 501),
+ NAME_FUNC_OFFSET(24987, glGetUniformiv, glGetUniformiv, NULL, 502),
+ NAME_FUNC_OFFSET(25005, glGetVertexAttribPointerv, glGetVertexAttribPointerv, NULL, 503),
+ NAME_FUNC_OFFSET(25034, glGetVertexAttribPointerv, glGetVertexAttribPointerv, NULL, 503),
+ NAME_FUNC_OFFSET(25062, glGetVertexAttribdv, glGetVertexAttribdv, NULL, 504),
+ NAME_FUNC_OFFSET(25085, glGetVertexAttribfv, glGetVertexAttribfv, NULL, 505),
+ NAME_FUNC_OFFSET(25108, glGetVertexAttribiv, glGetVertexAttribiv, NULL, 506),
+ NAME_FUNC_OFFSET(25131, glLinkProgram, glLinkProgram, NULL, 509),
+ NAME_FUNC_OFFSET(25148, glShaderSource, glShaderSource, NULL, 510),
+ NAME_FUNC_OFFSET(25166, glStencilOpSeparate, glStencilOpSeparate, NULL, 513),
+ NAME_FUNC_OFFSET(25189, glUniform1f, glUniform1f, NULL, 514),
+ NAME_FUNC_OFFSET(25204, glUniform1fv, glUniform1fv, NULL, 515),
+ NAME_FUNC_OFFSET(25220, glUniform1i, glUniform1i, NULL, 516),
+ NAME_FUNC_OFFSET(25235, glUniform1iv, glUniform1iv, NULL, 517),
+ NAME_FUNC_OFFSET(25251, glUniform2f, glUniform2f, NULL, 518),
+ NAME_FUNC_OFFSET(25266, glUniform2fv, glUniform2fv, NULL, 519),
+ NAME_FUNC_OFFSET(25282, glUniform2i, glUniform2i, NULL, 520),
+ NAME_FUNC_OFFSET(25297, glUniform2iv, glUniform2iv, NULL, 521),
+ NAME_FUNC_OFFSET(25313, glUniform3f, glUniform3f, NULL, 522),
+ NAME_FUNC_OFFSET(25328, glUniform3fv, glUniform3fv, NULL, 523),
+ NAME_FUNC_OFFSET(25344, glUniform3i, glUniform3i, NULL, 524),
+ NAME_FUNC_OFFSET(25359, glUniform3iv, glUniform3iv, NULL, 525),
+ NAME_FUNC_OFFSET(25375, glUniform4f, glUniform4f, NULL, 526),
+ NAME_FUNC_OFFSET(25390, glUniform4fv, glUniform4fv, NULL, 527),
+ NAME_FUNC_OFFSET(25406, glUniform4i, glUniform4i, NULL, 528),
+ NAME_FUNC_OFFSET(25421, glUniform4iv, glUniform4iv, NULL, 529),
+ NAME_FUNC_OFFSET(25437, glUniformMatrix2fv, glUniformMatrix2fv, NULL, 530),
+ NAME_FUNC_OFFSET(25459, glUniformMatrix3fv, glUniformMatrix3fv, NULL, 531),
+ NAME_FUNC_OFFSET(25481, glUniformMatrix4fv, glUniformMatrix4fv, NULL, 532),
+ NAME_FUNC_OFFSET(25503, glUseProgram, glUseProgram, NULL, 533),
+ NAME_FUNC_OFFSET(25525, glValidateProgram, glValidateProgram, NULL, 534),
+ NAME_FUNC_OFFSET(25546, glVertexAttrib1d, glVertexAttrib1d, NULL, 535),
+ NAME_FUNC_OFFSET(25566, glVertexAttrib1dv, glVertexAttrib1dv, NULL, 536),
+ NAME_FUNC_OFFSET(25587, glVertexAttrib1s, glVertexAttrib1s, NULL, 537),
+ NAME_FUNC_OFFSET(25607, glVertexAttrib1sv, glVertexAttrib1sv, NULL, 538),
+ NAME_FUNC_OFFSET(25628, glVertexAttrib2d, glVertexAttrib2d, NULL, 539),
+ NAME_FUNC_OFFSET(25648, glVertexAttrib2dv, glVertexAttrib2dv, NULL, 540),
+ NAME_FUNC_OFFSET(25669, glVertexAttrib2s, glVertexAttrib2s, NULL, 541),
+ NAME_FUNC_OFFSET(25689, glVertexAttrib2sv, glVertexAttrib2sv, NULL, 542),
+ NAME_FUNC_OFFSET(25710, glVertexAttrib3d, glVertexAttrib3d, NULL, 543),
+ NAME_FUNC_OFFSET(25730, glVertexAttrib3dv, glVertexAttrib3dv, NULL, 544),
+ NAME_FUNC_OFFSET(25751, glVertexAttrib3s, glVertexAttrib3s, NULL, 545),
+ NAME_FUNC_OFFSET(25771, glVertexAttrib3sv, glVertexAttrib3sv, NULL, 546),
+ NAME_FUNC_OFFSET(25792, glVertexAttrib4Nbv, glVertexAttrib4Nbv, NULL, 547),
+ NAME_FUNC_OFFSET(25814, glVertexAttrib4Niv, glVertexAttrib4Niv, NULL, 548),
+ NAME_FUNC_OFFSET(25836, glVertexAttrib4Nsv, glVertexAttrib4Nsv, NULL, 549),
+ NAME_FUNC_OFFSET(25858, glVertexAttrib4Nub, glVertexAttrib4Nub, NULL, 550),
+ NAME_FUNC_OFFSET(25880, glVertexAttrib4Nubv, glVertexAttrib4Nubv, NULL, 551),
+ NAME_FUNC_OFFSET(25903, glVertexAttrib4Nuiv, glVertexAttrib4Nuiv, NULL, 552),
+ NAME_FUNC_OFFSET(25926, glVertexAttrib4Nusv, glVertexAttrib4Nusv, NULL, 553),
+ NAME_FUNC_OFFSET(25949, glVertexAttrib4bv, glVertexAttrib4bv, NULL, 554),
+ NAME_FUNC_OFFSET(25970, glVertexAttrib4d, glVertexAttrib4d, NULL, 555),
+ NAME_FUNC_OFFSET(25990, glVertexAttrib4dv, glVertexAttrib4dv, NULL, 556),
+ NAME_FUNC_OFFSET(26011, glVertexAttrib4iv, glVertexAttrib4iv, NULL, 557),
+ NAME_FUNC_OFFSET(26032, glVertexAttrib4s, glVertexAttrib4s, NULL, 558),
+ NAME_FUNC_OFFSET(26052, glVertexAttrib4sv, glVertexAttrib4sv, NULL, 559),
+ NAME_FUNC_OFFSET(26073, glVertexAttrib4ubv, glVertexAttrib4ubv, NULL, 560),
+ NAME_FUNC_OFFSET(26095, glVertexAttrib4uiv, glVertexAttrib4uiv, NULL, 561),
+ NAME_FUNC_OFFSET(26117, glVertexAttrib4usv, glVertexAttrib4usv, NULL, 562),
+ NAME_FUNC_OFFSET(26139, glVertexAttribPointer, glVertexAttribPointer, NULL, 563),
+ NAME_FUNC_OFFSET(26164, glBeginConditionalRender, glBeginConditionalRender, NULL, 570),
+ NAME_FUNC_OFFSET(26191, glBeginTransformFeedback, glBeginTransformFeedback, NULL, 571),
+ NAME_FUNC_OFFSET(26219, glBindBufferBase, glBindBufferBase, NULL, 572),
+ NAME_FUNC_OFFSET(26239, glBindBufferRange, glBindBufferRange, NULL, 573),
+ NAME_FUNC_OFFSET(26260, glBindFragDataLocation, glBindFragDataLocation, NULL, 574),
+ NAME_FUNC_OFFSET(26286, glClampColor, glClampColor, NULL, 575),
+ NAME_FUNC_OFFSET(26302, glColorMaski, glColorMaski, NULL, 580),
+ NAME_FUNC_OFFSET(26324, glDisablei, glDisablei, NULL, 581),
+ NAME_FUNC_OFFSET(26344, glEnablei, glEnablei, NULL, 582),
+ NAME_FUNC_OFFSET(26363, glEndConditionalRender, glEndConditionalRender, NULL, 583),
+ NAME_FUNC_OFFSET(26388, glEndTransformFeedback, glEndTransformFeedback, NULL, 584),
+ NAME_FUNC_OFFSET(26414, glGetBooleani_v, glGetBooleani_v, NULL, 585),
+ NAME_FUNC_OFFSET(26438, glGetFragDataLocation, glGetFragDataLocation, NULL, 586),
+ NAME_FUNC_OFFSET(26463, glGetIntegeri_v, glGetIntegeri_v, NULL, 587),
+ NAME_FUNC_OFFSET(26487, glGetTexParameterIiv, glGetTexParameterIiv, NULL, 589),
+ NAME_FUNC_OFFSET(26511, glGetTexParameterIuiv, glGetTexParameterIuiv, NULL, 590),
+ NAME_FUNC_OFFSET(26536, glGetTransformFeedbackVarying, glGetTransformFeedbackVarying, NULL, 591),
+ NAME_FUNC_OFFSET(26569, glGetUniformuiv, glGetUniformuiv, NULL, 592),
+ NAME_FUNC_OFFSET(26588, glGetVertexAttribIiv, glGetVertexAttribIiv, NULL, 593),
+ NAME_FUNC_OFFSET(26612, glGetVertexAttribIuiv, glGetVertexAttribIuiv, NULL, 594),
+ NAME_FUNC_OFFSET(26637, glIsEnabledi, glIsEnabledi, NULL, 595),
+ NAME_FUNC_OFFSET(26659, glTexParameterIiv, glTexParameterIiv, NULL, 596),
+ NAME_FUNC_OFFSET(26680, glTexParameterIuiv, glTexParameterIuiv, NULL, 597),
+ NAME_FUNC_OFFSET(26702, glTransformFeedbackVaryings, glTransformFeedbackVaryings, NULL, 598),
+ NAME_FUNC_OFFSET(26733, glUniform1ui, glUniform1ui, NULL, 599),
+ NAME_FUNC_OFFSET(26749, glUniform1uiv, glUniform1uiv, NULL, 600),
+ NAME_FUNC_OFFSET(26766, glUniform2ui, glUniform2ui, NULL, 601),
+ NAME_FUNC_OFFSET(26782, glUniform2uiv, glUniform2uiv, NULL, 602),
+ NAME_FUNC_OFFSET(26799, glUniform3ui, glUniform3ui, NULL, 603),
+ NAME_FUNC_OFFSET(26815, glUniform3uiv, glUniform3uiv, NULL, 604),
+ NAME_FUNC_OFFSET(26832, glUniform4ui, glUniform4ui, NULL, 605),
+ NAME_FUNC_OFFSET(26848, glUniform4uiv, glUniform4uiv, NULL, 606),
+ NAME_FUNC_OFFSET(26865, glVertexAttribI1iv, glVertexAttribI1iv, NULL, 607),
+ NAME_FUNC_OFFSET(26887, glVertexAttribI1uiv, glVertexAttribI1uiv, NULL, 608),
+ NAME_FUNC_OFFSET(26910, glVertexAttribI4bv, glVertexAttribI4bv, NULL, 609),
+ NAME_FUNC_OFFSET(26932, glVertexAttribI4sv, glVertexAttribI4sv, NULL, 610),
+ NAME_FUNC_OFFSET(26954, glVertexAttribI4ubv, glVertexAttribI4ubv, NULL, 611),
+ NAME_FUNC_OFFSET(26977, glVertexAttribI4usv, glVertexAttribI4usv, NULL, 612),
+ NAME_FUNC_OFFSET(27000, glVertexAttribIPointer, glVertexAttribIPointer, NULL, 613),
+ NAME_FUNC_OFFSET(27026, glPrimitiveRestartIndex, glPrimitiveRestartIndex, NULL, 614),
+ NAME_FUNC_OFFSET(27052, glTexBuffer, glTexBuffer, NULL, 615),
+ NAME_FUNC_OFFSET(27067, glFramebufferTexture, glFramebufferTexture, NULL, 616),
+ NAME_FUNC_OFFSET(27091, glVertexAttribDivisor, glVertexAttribDivisor, NULL, 619),
+ NAME_FUNC_OFFSET(27116, glMinSampleShading, glMinSampleShading, NULL, 620),
+ NAME_FUNC_OFFSET(27138, glBindProgramARB, glBindProgramARB, NULL, 621),
+ NAME_FUNC_OFFSET(27154, glDeleteProgramsARB, glDeleteProgramsARB, NULL, 622),
+ NAME_FUNC_OFFSET(27173, glGenProgramsARB, glGenProgramsARB, NULL, 623),
+ NAME_FUNC_OFFSET(27189, glIsProgramARB, glIsProgramARB, NULL, 630),
+ NAME_FUNC_OFFSET(27203, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 631),
+ NAME_FUNC_OFFSET(27226, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 632),
+ NAME_FUNC_OFFSET(27250, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 633),
+ NAME_FUNC_OFFSET(27273, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 634),
+ NAME_FUNC_OFFSET(27297, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 640),
+ NAME_FUNC_OFFSET(27314, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 641),
+ NAME_FUNC_OFFSET(27332, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 642),
+ NAME_FUNC_OFFSET(27349, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 643),
+ NAME_FUNC_OFFSET(27367, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 644),
+ NAME_FUNC_OFFSET(27384, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 645),
+ NAME_FUNC_OFFSET(27402, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 646),
+ NAME_FUNC_OFFSET(27419, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 647),
+ NAME_FUNC_OFFSET(27437, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 658),
+ NAME_FUNC_OFFSET(27462, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 658),
+ NAME_FUNC_OFFSET(27484, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 659),
+ NAME_FUNC_OFFSET(27511, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 659),
+ NAME_FUNC_OFFSET(27535, glBindFramebuffer, glBindFramebuffer, NULL, 660),
+ NAME_FUNC_OFFSET(27556, glBindRenderbuffer, glBindRenderbuffer, NULL, 661),
+ NAME_FUNC_OFFSET(27578, glBlitFramebuffer, glBlitFramebuffer, NULL, 662),
+ NAME_FUNC_OFFSET(27599, glCheckFramebufferStatus, glCheckFramebufferStatus, NULL, 663),
+ NAME_FUNC_OFFSET(27627, glCheckFramebufferStatus, glCheckFramebufferStatus, NULL, 663),
+ NAME_FUNC_OFFSET(27655, glDeleteFramebuffers, glDeleteFramebuffers, NULL, 664),
+ NAME_FUNC_OFFSET(27679, glDeleteFramebuffers, glDeleteFramebuffers, NULL, 664),
+ NAME_FUNC_OFFSET(27703, glDeleteRenderbuffers, glDeleteRenderbuffers, NULL, 665),
+ NAME_FUNC_OFFSET(27728, glDeleteRenderbuffers, glDeleteRenderbuffers, NULL, 665),
+ NAME_FUNC_OFFSET(27753, glFramebufferRenderbuffer, glFramebufferRenderbuffer, NULL, 666),
+ NAME_FUNC_OFFSET(27782, glFramebufferRenderbuffer, glFramebufferRenderbuffer, NULL, 666),
+ NAME_FUNC_OFFSET(27811, glFramebufferTexture1D, glFramebufferTexture1D, NULL, 667),
+ NAME_FUNC_OFFSET(27837, glFramebufferTexture2D, glFramebufferTexture2D, NULL, 668),
+ NAME_FUNC_OFFSET(27863, glFramebufferTexture2D, glFramebufferTexture2D, NULL, 668),
+ NAME_FUNC_OFFSET(27889, glFramebufferTexture3D, glFramebufferTexture3D, NULL, 669),
+ NAME_FUNC_OFFSET(27915, glFramebufferTexture3D, glFramebufferTexture3D, NULL, 669),
+ NAME_FUNC_OFFSET(27941, glFramebufferTextureLayer, glFramebufferTextureLayer, NULL, 670),
+ NAME_FUNC_OFFSET(27970, glFramebufferTextureLayer, glFramebufferTextureLayer, NULL, 670),
+ NAME_FUNC_OFFSET(27999, glGenFramebuffers, glGenFramebuffers, NULL, 671),
+ NAME_FUNC_OFFSET(28020, glGenFramebuffers, glGenFramebuffers, NULL, 671),
+ NAME_FUNC_OFFSET(28041, glGenRenderbuffers, glGenRenderbuffers, NULL, 672),
+ NAME_FUNC_OFFSET(28063, glGenRenderbuffers, glGenRenderbuffers, NULL, 672),
+ NAME_FUNC_OFFSET(28085, glGenerateMipmap, glGenerateMipmap, NULL, 673),
+ NAME_FUNC_OFFSET(28105, glGenerateMipmap, glGenerateMipmap, NULL, 673),
+ NAME_FUNC_OFFSET(28125, glGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameteriv, NULL, 674),
+ NAME_FUNC_OFFSET(28166, glGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameteriv, NULL, 674),
+ NAME_FUNC_OFFSET(28207, glGetRenderbufferParameteriv, glGetRenderbufferParameteriv, NULL, 675),
+ NAME_FUNC_OFFSET(28239, glGetRenderbufferParameteriv, glGetRenderbufferParameteriv, NULL, 675),
+ NAME_FUNC_OFFSET(28271, glIsFramebuffer, glIsFramebuffer, NULL, 676),
+ NAME_FUNC_OFFSET(28290, glIsFramebuffer, glIsFramebuffer, NULL, 676),
+ NAME_FUNC_OFFSET(28309, glIsRenderbuffer, glIsRenderbuffer, NULL, 677),
+ NAME_FUNC_OFFSET(28329, glIsRenderbuffer, glIsRenderbuffer, NULL, 677),
+ NAME_FUNC_OFFSET(28349, glRenderbufferStorage, glRenderbufferStorage, NULL, 678),
+ NAME_FUNC_OFFSET(28374, glRenderbufferStorage, glRenderbufferStorage, NULL, 678),
+ NAME_FUNC_OFFSET(28399, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 679),
+ NAME_FUNC_OFFSET(28435, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, 681),
+ NAME_FUNC_OFFSET(28463, glMapBufferRange, glMapBufferRange, NULL, 682),
+ NAME_FUNC_OFFSET(28483, glBindVertexArray, glBindVertexArray, NULL, 683),
+ NAME_FUNC_OFFSET(28504, glDeleteVertexArrays, glDeleteVertexArrays, NULL, 684),
+ NAME_FUNC_OFFSET(28530, glDeleteVertexArrays, glDeleteVertexArrays, NULL, 684),
+ NAME_FUNC_OFFSET(28554, glGenVertexArrays, glGenVertexArrays, NULL, 685),
+ NAME_FUNC_OFFSET(28575, glIsVertexArray, glIsVertexArray, NULL, 686),
+ NAME_FUNC_OFFSET(28596, glIsVertexArray, glIsVertexArray, NULL, 686),
+ NAME_FUNC_OFFSET(28615, glProvokingVertex, glProvokingVertex, NULL, 706),
+ NAME_FUNC_OFFSET(28636, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 711),
+ NAME_FUNC_OFFSET(28670, glBlendEquationiARB, glBlendEquationiARB, NULL, 712),
+ NAME_FUNC_OFFSET(28696, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 713),
+ NAME_FUNC_OFFSET(28726, glBlendFunciARB, glBlendFunciARB, NULL, 714),
+ NAME_FUNC_OFFSET(28748, gl_dispatch_stub_731, gl_dispatch_stub_731, NULL, 731),
+ NAME_FUNC_OFFSET(28772, gl_dispatch_stub_732, gl_dispatch_stub_732, NULL, 732),
+ NAME_FUNC_OFFSET(28797, glClearDepthf, glClearDepthf, NULL, 785),
+ NAME_FUNC_OFFSET(28814, glDepthRangef, glDepthRangef, NULL, 786),
+ NAME_FUNC_OFFSET(28831, glGetProgramBinary, glGetProgramBinary, NULL, 790),
+ NAME_FUNC_OFFSET(28853, glProgramBinary, glProgramBinary, NULL, 791),
+ NAME_FUNC_OFFSET(28872, glProgramParameteri, glProgramParameteri, NULL, 792),
+ NAME_FUNC_OFFSET(28895, glProgramParameteri, glProgramParameteri, NULL, 792),
+ NAME_FUNC_OFFSET(28918, gl_dispatch_stub_878, gl_dispatch_stub_878, NULL, 878),
+ NAME_FUNC_OFFSET(28934, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, 879),
+ NAME_FUNC_OFFSET(28953, gl_dispatch_stub_887, gl_dispatch_stub_887, NULL, 887),
+ NAME_FUNC_OFFSET(28978, gl_dispatch_stub_888, gl_dispatch_stub_888, NULL, 888),
+ NAME_FUNC_OFFSET(29003, gl_dispatch_stub_889, gl_dispatch_stub_889, NULL, 889),
+ NAME_FUNC_OFFSET(29029, gl_dispatch_stub_890, gl_dispatch_stub_890, NULL, 890),
+ NAME_FUNC_OFFSET(29057, gl_dispatch_stub_891, gl_dispatch_stub_891, NULL, 891),
+ NAME_FUNC_OFFSET(29082, gl_dispatch_stub_892, gl_dispatch_stub_892, NULL, 892),
+ NAME_FUNC_OFFSET(29113, gl_dispatch_stub_893, gl_dispatch_stub_893, NULL, 893),
+ NAME_FUNC_OFFSET(29139, gl_dispatch_stub_894, gl_dispatch_stub_894, NULL, 894),
+ NAME_FUNC_OFFSET(29162, gl_dispatch_stub_896, gl_dispatch_stub_896, NULL, 896),
+ NAME_FUNC_OFFSET(29184, gl_dispatch_stub_897, gl_dispatch_stub_897, NULL, 897),
+ NAME_FUNC_OFFSET(29207, gl_dispatch_stub_898, gl_dispatch_stub_898, NULL, 898),
+ NAME_FUNC_OFFSET(29229, gl_dispatch_stub_899, gl_dispatch_stub_899, NULL, 899),
+ NAME_FUNC_OFFSET(29252, gl_dispatch_stub_900, gl_dispatch_stub_900, NULL, 900),
+ NAME_FUNC_OFFSET(29275, gl_dispatch_stub_901, gl_dispatch_stub_901, NULL, 901),
+ NAME_FUNC_OFFSET(29299, gl_dispatch_stub_902, gl_dispatch_stub_902, NULL, 902),
+ NAME_FUNC_OFFSET(29321, gl_dispatch_stub_903, gl_dispatch_stub_903, NULL, 903),
+ NAME_FUNC_OFFSET(29344, gl_dispatch_stub_904, gl_dispatch_stub_904, NULL, 904),
+ NAME_FUNC_OFFSET(29366, gl_dispatch_stub_905, gl_dispatch_stub_905, NULL, 905),
+ NAME_FUNC_OFFSET(29389, gl_dispatch_stub_906, gl_dispatch_stub_906, NULL, 906),
+ NAME_FUNC_OFFSET(29412, gl_dispatch_stub_907, gl_dispatch_stub_907, NULL, 907),
+ NAME_FUNC_OFFSET(29436, gl_dispatch_stub_908, gl_dispatch_stub_908, NULL, 908),
+ NAME_FUNC_OFFSET(29458, gl_dispatch_stub_909, gl_dispatch_stub_909, NULL, 909),
+ NAME_FUNC_OFFSET(29481, gl_dispatch_stub_910, gl_dispatch_stub_910, NULL, 910),
+ NAME_FUNC_OFFSET(29503, gl_dispatch_stub_911, gl_dispatch_stub_911, NULL, 911),
+ NAME_FUNC_OFFSET(29526, gl_dispatch_stub_912, gl_dispatch_stub_912, NULL, 912),
+ NAME_FUNC_OFFSET(29549, gl_dispatch_stub_913, gl_dispatch_stub_913, NULL, 913),
+ NAME_FUNC_OFFSET(29573, gl_dispatch_stub_914, gl_dispatch_stub_914, NULL, 914),
+ NAME_FUNC_OFFSET(29595, gl_dispatch_stub_915, gl_dispatch_stub_915, NULL, 915),
+ NAME_FUNC_OFFSET(29618, gl_dispatch_stub_916, gl_dispatch_stub_916, NULL, 916),
+ NAME_FUNC_OFFSET(29640, gl_dispatch_stub_917, gl_dispatch_stub_917, NULL, 917),
+ NAME_FUNC_OFFSET(29663, gl_dispatch_stub_918, gl_dispatch_stub_918, NULL, 918),
+ NAME_FUNC_OFFSET(29686, gl_dispatch_stub_919, gl_dispatch_stub_919, NULL, 919),
+ NAME_FUNC_OFFSET(29710, gl_dispatch_stub_920, gl_dispatch_stub_920, NULL, 920),
+ NAME_FUNC_OFFSET(29739, gl_dispatch_stub_921, gl_dispatch_stub_921, NULL, 921),
+ NAME_FUNC_OFFSET(29770, gl_dispatch_stub_922, gl_dispatch_stub_922, NULL, 922),
+ NAME_FUNC_OFFSET(29801, gl_dispatch_stub_923, gl_dispatch_stub_923, NULL, 923),
+ NAME_FUNC_OFFSET(29830, gl_dispatch_stub_924, gl_dispatch_stub_924, NULL, 924),
+ NAME_FUNC_OFFSET(29861, gl_dispatch_stub_925, gl_dispatch_stub_925, NULL, 925),
+ NAME_FUNC_OFFSET(29892, gl_dispatch_stub_926, gl_dispatch_stub_926, NULL, 926),
+ NAME_FUNC_OFFSET(29921, gl_dispatch_stub_927, gl_dispatch_stub_927, NULL, 927),
+ NAME_FUNC_OFFSET(29952, gl_dispatch_stub_928, gl_dispatch_stub_928, NULL, 928),
+ NAME_FUNC_OFFSET(29983, gl_dispatch_stub_930, gl_dispatch_stub_930, NULL, 930),
+ NAME_FUNC_OFFSET(30005, gl_dispatch_stub_931, gl_dispatch_stub_931, NULL, 931),
+ NAME_FUNC_OFFSET(30034, glDebugMessageCallback, glDebugMessageCallback, NULL, 932),
+ NAME_FUNC_OFFSET(30060, glDebugMessageControl, glDebugMessageControl, NULL, 933),
+ NAME_FUNC_OFFSET(30085, glDebugMessageInsert, glDebugMessageInsert, NULL, 934),
+ NAME_FUNC_OFFSET(30109, glGetDebugMessageLog, glGetDebugMessageLog, NULL, 935),
+ NAME_FUNC_OFFSET(30133, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 942),
+ NAME_FUNC_OFFSET(30152, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 943),
+ NAME_FUNC_OFFSET(30172, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 944),
+ NAME_FUNC_OFFSET(30192, glFogCoordfEXT, glFogCoordfEXT, NULL, 945),
+ NAME_FUNC_OFFSET(30204, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 946),
+ NAME_FUNC_OFFSET(30217, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 1049),
+ NAME_FUNC_OFFSET(30235, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 1050),
+ NAME_FUNC_OFFSET(30254, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 1051),
+ NAME_FUNC_OFFSET(30272, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 1052),
+ NAME_FUNC_OFFSET(30291, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 1053),
+ NAME_FUNC_OFFSET(30310, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 1054),
+ NAME_FUNC_OFFSET(30330, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 1055),
+ NAME_FUNC_OFFSET(30348, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 1056),
+ NAME_FUNC_OFFSET(30367, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 1057),
+ NAME_FUNC_OFFSET(30386, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 1058),
+ NAME_FUNC_OFFSET(30406, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 1059),
+ NAME_FUNC_OFFSET(30424, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 1060),
+ NAME_FUNC_OFFSET(30443, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 1061),
+ NAME_FUNC_OFFSET(30462, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 1062),
+ NAME_FUNC_OFFSET(30482, glAlphaFuncx, glAlphaFuncx, NULL, 1109),
+ NAME_FUNC_OFFSET(30498, glClearColorx, glClearColorx, NULL, 1110),
+ NAME_FUNC_OFFSET(30515, glClearDepthx, glClearDepthx, NULL, 1111),
+ NAME_FUNC_OFFSET(30532, glColor4x, glColor4x, NULL, 1112),
+ NAME_FUNC_OFFSET(30545, glDepthRangex, glDepthRangex, NULL, 1113),
+ NAME_FUNC_OFFSET(30562, glFogx, glFogx, NULL, 1114),
+ NAME_FUNC_OFFSET(30572, glFogxv, glFogxv, NULL, 1115),
+ NAME_FUNC_OFFSET(30583, glFrustumf, glFrustumf, NULL, 1116),
+ NAME_FUNC_OFFSET(30597, glFrustumx, glFrustumx, NULL, 1117),
+ NAME_FUNC_OFFSET(30611, glLightModelx, glLightModelx, NULL, 1118),
+ NAME_FUNC_OFFSET(30628, glLightModelxv, glLightModelxv, NULL, 1119),
+ NAME_FUNC_OFFSET(30646, glLightx, glLightx, NULL, 1120),
+ NAME_FUNC_OFFSET(30658, glLightxv, glLightxv, NULL, 1121),
+ NAME_FUNC_OFFSET(30671, glLineWidthx, glLineWidthx, NULL, 1122),
+ NAME_FUNC_OFFSET(30687, glLoadMatrixx, glLoadMatrixx, NULL, 1123),
+ NAME_FUNC_OFFSET(30704, glMaterialx, glMaterialx, NULL, 1124),
+ NAME_FUNC_OFFSET(30719, glMaterialxv, glMaterialxv, NULL, 1125),
+ NAME_FUNC_OFFSET(30735, glMultMatrixx, glMultMatrixx, NULL, 1126),
+ NAME_FUNC_OFFSET(30752, glMultiTexCoord4x, glMultiTexCoord4x, NULL, 1127),
+ NAME_FUNC_OFFSET(30773, glNormal3x, glNormal3x, NULL, 1128),
+ NAME_FUNC_OFFSET(30787, glOrthof, glOrthof, NULL, 1129),
+ NAME_FUNC_OFFSET(30799, glOrthox, glOrthox, NULL, 1130),
+ NAME_FUNC_OFFSET(30811, glPointSizex, glPointSizex, NULL, 1131),
+ NAME_FUNC_OFFSET(30827, glPolygonOffsetx, glPolygonOffsetx, NULL, 1132),
+ NAME_FUNC_OFFSET(30847, glRotatex, glRotatex, NULL, 1133),
+ NAME_FUNC_OFFSET(30860, glSampleCoveragex, glSampleCoveragex, NULL, 1134),
+ NAME_FUNC_OFFSET(30881, glScalex, glScalex, NULL, 1135),
+ NAME_FUNC_OFFSET(30893, glTexEnvx, glTexEnvx, NULL, 1136),
+ NAME_FUNC_OFFSET(30906, glTexEnvxv, glTexEnvxv, NULL, 1137),
+ NAME_FUNC_OFFSET(30920, glTexParameterx, glTexParameterx, NULL, 1138),
+ NAME_FUNC_OFFSET(30939, glTranslatex, glTranslatex, NULL, 1139),
+ NAME_FUNC_OFFSET(30955, glClipPlanef, glClipPlanef, NULL, 1140),
+ NAME_FUNC_OFFSET(30971, glClipPlanex, glClipPlanex, NULL, 1141),
+ NAME_FUNC_OFFSET(30987, glGetClipPlanef, glGetClipPlanef, NULL, 1142),
+ NAME_FUNC_OFFSET(31006, glGetClipPlanex, glGetClipPlanex, NULL, 1143),
+ NAME_FUNC_OFFSET(31025, glGetFixedv, glGetFixedv, NULL, 1144),
+ NAME_FUNC_OFFSET(31040, glGetLightxv, glGetLightxv, NULL, 1145),
+ NAME_FUNC_OFFSET(31056, glGetMaterialxv, glGetMaterialxv, NULL, 1146),
+ NAME_FUNC_OFFSET(31075, glGetTexEnvxv, glGetTexEnvxv, NULL, 1147),
+ NAME_FUNC_OFFSET(31092, glGetTexParameterxv, glGetTexParameterxv, NULL, 1148),
+ NAME_FUNC_OFFSET(31115, glPointParameterx, glPointParameterx, NULL, 1149),
+ NAME_FUNC_OFFSET(31136, glPointParameterxv, glPointParameterxv, NULL, 1150),
+ NAME_FUNC_OFFSET(31158, glTexParameterxv, glTexParameterxv, NULL, 1151),
+ NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)
+};
+
+#undef NAME_FUNC_OFFSET
diff --git a/xorg-server/glx/glxcmds.c b/xorg-server/glx/glxcmds.c
index 2fc3f4cc8..c39a3f461 100644
--- a/xorg-server/glx/glxcmds.c
+++ b/xorg-server/glx/glxcmds.c
@@ -31,6 +31,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include <string.h>
#include <assert.h>
@@ -46,6 +47,8 @@
#include "indirect_table.h"
#include "indirect_util.h"
+#include "glfunctions.h"
+
static char GLXServerVendorName[] = "SGI";
_X_HIDDEN int
@@ -502,7 +505,7 @@ __glXGetDrawable(__GLXcontext * glxc, GLXDrawable drawId, ClientPtr client,
return NULL;
}
- if (pDraw->pScreen != glxc->pGlxScreen->pScreen) {
+ if (!glxc || pDraw->pScreen != glxc->pGlxScreen->pScreen) {
client->errorValue = pDraw->pScreen->myNum;
*error = BadMatch;
return NULL;
@@ -515,9 +518,11 @@ __glXGetDrawable(__GLXcontext * glxc, GLXDrawable drawId, ClientPtr client,
pDraw, drawId,
GLX_DRAWABLE_WINDOW,
drawId, glxc->config);
- if (!pGlxDraw) {
- *error = BadAlloc;
- return NULL;
+ if (!pGlxDraw)
+ {
+ client->errorValue = drawId;
+ *error = BadMatch;
+ return NULL;
}
/* since we are creating the drawablePrivate, drawId should be new */
@@ -659,12 +664,12 @@ DoMakeCurrent(__GLXclientState * cl,
StopUsingContext(prevglxc);
- reply = (xGLXMakeCurrentReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .contextTag = 0
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.contextTag = 0;
+
if (glxc) {
StartUsingContext(cl, glxc);
@@ -730,12 +735,12 @@ __glXDisp_IsDirect(__GLXclientState * cl, GLbyte * pc)
if (!validGlxContext(cl->client, req->context, DixReadAccess, &glxc, &err))
return err;
- reply = (xGLXIsDirectReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .isDirect = glxc->isDirect
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.isDirect = glxc->isDirect;
+
if (client->swapped) {
__glXSwapIsDirectReply(client, &reply);
@@ -767,13 +772,13 @@ __glXDisp_QueryVersion(__GLXclientState * cl, GLbyte * pc)
** client if it wants to work with older clients; however, in this
** implementation the server just returns its version number.
*/
- reply = (xGLXQueryVersionReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = glxMajorVersion,
- .minorVersion = glxMinorVersion
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.majorVersion = glxMajorVersion;
+ reply.minorVersion = glxMinorVersion;
+
if (client->swapped) {
__glXSwapQueryVersionReply(client, &reply);
@@ -947,14 +952,14 @@ __glXDisp_GetVisualConfigs(__GLXclientState * cl, GLbyte * pc)
if (!validGlxScreen(cl->client, req->screen, &pGlxScreen, &err))
return err;
- reply = (xGLXGetVisualConfigsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = (pGlxScreen->numVisuals *
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = (pGlxScreen->numVisuals *
__GLX_SIZE_CARD32 * GLX_VIS_CONFIG_TOTAL) >> 2,
- .numVisuals = pGlxScreen->numVisuals,
- .numProps = GLX_VIS_CONFIG_TOTAL
- };
+ reply.numVisuals = pGlxScreen->numVisuals;
+ reply.numProps = GLX_VIS_CONFIG_TOTAL;
+
if (client->swapped) {
__GLX_SWAP_SHORT(&reply.sequenceNumber);
@@ -1062,13 +1067,13 @@ DoGetFBConfigs(__GLXclientState * cl, unsigned screen)
if (!validGlxScreen(cl->client, screen, &pGlxScreen, &err))
return err;
- reply = (xGLXGetFBConfigsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = __GLX_FBCONFIG_ATTRIBS_LENGTH * pGlxScreen->numFBConfigs,
- .numFBConfigs = pGlxScreen->numFBConfigs,
- .numAttribs = __GLX_TOTAL_FBCONFIG_ATTRIBS
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = __GLX_FBCONFIG_ATTRIBS_LENGTH * pGlxScreen->numFBConfigs;
+ reply.numFBConfigs = pGlxScreen->numFBConfigs;
+ reply.numAttribs = __GLX_TOTAL_FBCONFIG_ATTRIBS;
+
if (client->swapped) {
__GLX_SWAP_SHORT(&reply.sequenceNumber);
@@ -1705,7 +1710,7 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId)
ClientPtr client = cl->client;
__GLXcontext *ctx;
xGLXQueryContextInfoEXTReply reply;
- int nProps = 3;
+ #define nProps 3
int sendBuf[nProps * 2];
int nReplyBytes;
int err;
@@ -1713,12 +1718,12 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId)
if (!validGlxContext(cl->client, gcId, DixReadAccess, &ctx, &err))
return err;
- reply = (xGLXQueryContextInfoEXTReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = nProps << 1,
- .n = nProps
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = nProps << 1;
+ reply.n = nProps;
+
nReplyBytes = reply.length << 2;
sendBuf[0] = GLX_SHARE_CONTEXT_EXT;
@@ -1940,12 +1945,12 @@ DoGetDrawableAttributes(__GLXclientState * cl, XID drawId)
numAttribs++;
}
- reply = (xGLXGetDrawableAttributesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = numAttribs << 1,
- .numAttribs = numAttribs
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = numAttribs << 1;
+ reply.numAttribs = numAttribs;
+
if (client->swapped) {
__glXSwapGetDrawableAttributesReply(client, &reply, attributes);
@@ -2370,12 +2375,12 @@ __glXDisp_QueryExtensionsString(__GLXclientState * cl, GLbyte * pc)
n = strlen(pGlxScreen->GLXextensions) + 1;
length = __GLX_PAD(n) >> 2;
- reply = (xGLXQueryExtensionsStringReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = length,
- .n = n
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = length;
+ reply.n = n;
+
/* Allocate buffer to make sure it's a multiple of 4 bytes big. */
buf = calloc(length, 4);
@@ -2433,12 +2438,12 @@ __glXDisp_QueryServerString(__GLXclientState * cl, GLbyte * pc)
n = strlen(ptr) + 1;
length = __GLX_PAD(n) >> 2;
- reply = (xGLXQueryServerStringReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = length,
- .n = n
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = length;
+ reply.n = n;
+
buf = calloc(length, 4);
if (buf == NULL) {
diff --git a/xorg-server/glx/glxcmdsswap.c b/xorg-server/glx/glxcmdsswap.c
index 5d179f317..fd1fd7006 100644
--- a/xorg-server/glx/glxcmdsswap.c
+++ b/xorg-server/glx/glxcmdsswap.c
@@ -31,6 +31,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include <string.h>
#include "glxserver.h"
@@ -40,6 +41,7 @@
#include <pixmapstr.h>
#include <windowstr.h>
#include "glxext.h"
+#include "GL/gl.h"
#include "indirect_dispatch.h"
#include "indirect_table.h"
#include "indirect_util.h"
diff --git a/xorg-server/glx/glxdricommon.c b/xorg-server/glx/glxdricommon.c
index 62cce131d..777c2d721 100644
--- a/xorg-server/glx/glxdricommon.c
+++ b/xorg-server/glx/glxdricommon.c
@@ -25,6 +25,10 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+
+#include "glheader.h"
+
#endif
#include <stdint.h>
@@ -41,6 +45,10 @@
#include "glxscreens.h"
#include "glxdricommon.h"
+#ifdef _MSC_VER
+#define dlerror() "Getting loadlibrary error string not implemented"
+#endif
+
static int
getUST(int64_t * ust)
{
@@ -49,6 +57,10 @@ getUST(int64_t * ust)
if (ust == NULL)
return -EFAULT;
+#ifdef _MSC_VER
+ DebugBreak();
+ return -EFAULT;
+#else
if (gettimeofday(&tv, NULL) == 0) {
ust[0] = (tv.tv_sec * 1000000) + tv.tv_usec;
return 0;
@@ -56,6 +68,7 @@ getUST(int64_t * ust)
else {
return -errno;
}
+#endif
}
const __DRIsystemTimeExtension systemTimeExtension = {
@@ -267,10 +280,18 @@ glxProbeDriver(const char *driverName,
char *get_extensions_name;
const __DRIextension **extensions = NULL;
+#ifdef _MSC_VER
+#define DLLNAME "%s%s_dri.dll"
+ snprintf(filename, sizeof filename, DLLNAME,
+ dri_driver_path, driverName);
+
+ driver = LoadLibrary(filename);
+#else
snprintf(filename, sizeof filename, "%s/%s_dri.so",
dri_driver_path, driverName);
driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
+#endif
if (driver == NULL) {
LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
filename, dlerror());
@@ -281,14 +302,22 @@ glxProbeDriver(const char *driverName,
__DRI_DRIVER_GET_EXTENSIONS, driverName) != -1) {
const __DRIextension **(*get_extensions)(void);
+#ifdef _MSC_VER
+ get_extensions = (const __DRIextension **(*)(void))GetProcAddress(driver, get_extensions_name);
+#else
get_extensions = dlsym(driver, get_extensions_name);
+#endif
if (get_extensions)
extensions = get_extensions();
free(get_extensions_name);
}
if (!extensions)
+#ifdef _MSC_VER
+ extensions = (const __DRIextension **)GetProcAddress(driver, __DRI_DRIVER_EXTENSIONS);
+#else
extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
+#endif
if (extensions == NULL) {
LogMessage(X_ERROR, "AIGLX error: %s exports no extensions (%s)\n",
driverName, dlerror());
@@ -317,7 +346,11 @@ glxProbeDriver(const char *driverName,
cleanup_failure:
if (driver)
+#ifdef _MSC_VER
+ FreeLibrary(driver);
+#else
dlclose(driver);
+#endif
*coreExt = *renderExt = NULL;
return NULL;
}
diff --git a/xorg-server/glx/glxdriswrast.c b/xorg-server/glx/glxdriswrast.c
index c30ce9aed..d4dcd9080 100644
--- a/xorg-server/glx/glxdriswrast.c
+++ b/xorg-server/glx/glxdriswrast.c
@@ -27,6 +27,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include <stdint.h>
#include <stdio.h>
@@ -217,14 +218,18 @@ __glXDRIscreenDestroy(__GLXscreen * baseScreen)
(*screen->core->destroyScreen) (screen->driScreen);
+#ifdef _MSC_VER
+ FreeLibrary(screen->driver);
+#else
dlclose(screen->driver);
+#endif
__glXScreenDestroy(baseScreen);
if (screen->driConfigs) {
for (i = 0; screen->driConfigs[i] != NULL; i++)
free((__DRIconfig **) screen->driConfigs[i]);
- free(screen->driConfigs);
+ free((void*)screen->driConfigs);
}
free(screen);
@@ -313,6 +318,13 @@ __glXDRIscreenCreateDrawable(ClientPtr client,
private->driDrawable =
(*driScreen->swrast->createNewDrawable) (driScreen->driScreen,
config->driConfig, private);
+ if (!private->driDrawable)
+ {
+ FreeGC(private->gc, (GContext)0);
+ FreeGC(private->swapgc, (GContext)0);
+ free(private);
+ return NULL;
+ }
return &private->base;
}
@@ -376,7 +388,7 @@ swrastGetImage(__DRIdrawable * draw,
}
static const __DRIswrastLoaderExtension swrastLoaderExtension = {
- {__DRI_SWRAST_LOADER, 1},
+ {__DRI_SWRAST_LOADER, __DRI_SWRAST_LOADER_VERSION},
swrastGetDrawableInfo,
swrastPutImage,
swrastGetImage
@@ -412,14 +424,18 @@ initializeExtensions(__GLXDRIscreen * screen)
}
}
-/* white lie */
-extern glx_func_ptr glXGetProcAddressARB(const char *);
+extern Bool g_fswrastwgl;
static __GLXscreen *
__glXDRIscreenProbe(ScreenPtr pScreen)
{
- const char *driverName = "swrast";
+ const char *driverName;
__GLXDRIscreen *screen;
+
+ if (g_fswrastwgl)
+ driverName = "swrastwgl";
+ else
+ driverName = "swrast";
screen = calloc(1, sizeof *screen);
if (screen == NULL)
@@ -433,9 +449,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
screen->driver = glxProbeDriver(driverName,
(void **) &screen->core,
- __DRI_CORE, 1,
+ __DRI_CORE, __DRI_CORE_VERSION,
(void **) &screen->swrast,
- __DRI_SWRAST, 1);
+ __DRI_SWRAST, __DRI_SWRAST_VERSION);
if (screen->driver == NULL) {
goto handle_error;
}
@@ -462,15 +478,17 @@ __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;
handle_error:
if (screen->driver)
+#ifdef _MSC_VER
+ FreeLibrary(screen->driver);
+#else
dlclose(screen->driver);
+#endif
free(screen);
diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c
index c2de3cedd..64fa0ba55 100644..100755
--- a/xorg-server/glx/glxext.c
+++ b/xorg-server/glx/glxext.c
@@ -30,6 +30,10 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+
+#include "glheader.h"
+
#endif
#include <string.h>
@@ -46,6 +50,7 @@
#include "glxext.h"
#include "indirect_table.h"
#include "indirect_util.h"
+#include "glapi.h"
/*
** X resources.
@@ -458,7 +463,7 @@ __glXForceCurrent(__GLXclientState * cl, GLXContextTag tag, int *error)
if (cx->wait && (*cx->wait) (cx, cl, error))
return NULL;
- if (cx == lastGLContext) {
+ if (cx == lastGLContext && GET_DISPATCH()) {
/* No need to re-bind */
return cx;
}
diff --git a/xorg-server/glx/glxext.h b/xorg-server/glx/glxext.h
index 3f2dee696..7dc0ed476 100644
--- a/xorg-server/glx/glxext.h
+++ b/xorg-server/glx/glxext.h
@@ -35,6 +35,12 @@
* Silicon Graphics, Inc.
*/
+#ifdef INSERVER
+#define SERVEXTERN _declspec(dllimport)
+#else
+#define SERVEXTERN _declspec(dllexport)
+#endif
+
/* doing #include <GL/glx.h> & #include <GL/glxext.h> could cause problems
* with overlapping definitions, so let's use the easy way
*/
@@ -55,7 +61,7 @@ extern GLboolean __glXFreeContext(__GLXcontext * glxc);
extern void __glXFlushContextCache(void);
extern Bool __glXAddContext(__GLXcontext * cx);
-extern void __glXErrorCallBack(GLenum code);
+SERVEXTERN void __glXErrorCallBack(GLenum code);
extern void __glXClearErrorOccured(void);
extern GLboolean __glXErrorOccured(void);
extern void __glXResetLargeCommandStatus(__GLXclientState *);
diff --git a/xorg-server/glx/glxscreens.c b/xorg-server/glx/glxscreens.c
index 78769f401..4ab84ef09 100644
--- a/xorg-server/glx/glxscreens.c
+++ b/xorg-server/glx/glxscreens.c
@@ -30,6 +30,10 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+
+#include "glheader.h"
+
#endif
#include <GL/glxtokens.h>
diff --git a/xorg-server/glx/indirect_dispatch.c b/xorg-server/glx/indirect_dispatch.c
index 329b2e61e..67e5280c3 100644
--- a/xorg-server/glx/indirect_dispatch.c
+++ b/xorg-server/glx/indirect_dispatch.c
@@ -25,14 +25,25 @@
* SOFTWARE.
*/
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+#include "glheader.h"
+
+#include <X11/Xmd.h>
+#include <GL/gl.h>
+#include <GL/glxproto.h>
#include <inttypes.h>
-#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 "dispatch.h"
#define __GLX_PAD(x) (((x) + 3) & ~3)
@@ -40,89 +51,94 @@ typedef struct {
__GLX_PIXEL_3D_HDR;
} __GLXpixel3DHeader;
-extern GLboolean __glXErrorOccured(void);
-extern void __glXClearErrorOccured(void);
+extern GLboolean __glXErrorOccured( void );
+extern void __glXClearErrorOccured( void );
-static const unsigned dummy_answer[2] = { 0, 0 };
+static const unsigned dummy_answer[2] = {0, 0};
-int
-__glXDisp_NewList(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_NewList(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glNewList(*(GLuint *) (pc + 0), *(GLenum *) (pc + 4));
+ if ( cx != NULL ) {
+ CALL_NewList( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ *(GLenum *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-int
-__glXDisp_EndList(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_EndList(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glEndList();
+ if ( cx != NULL ) {
+ CALL_EndList( GET_DISPATCH(), () );
error = Success;
}
return error;
}
-void
-__glXDisp_CallList(GLbyte * pc)
+void __glXDisp_CallList(GLbyte * pc)
{
- glCallList(*(GLuint *) (pc + 0));
+ CALL_CallList( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_CallLists(GLbyte * pc)
+void __glXDisp_CallLists(GLbyte * pc)
{
- const GLsizei n = *(GLsizei *) (pc + 0);
- const GLenum type = *(GLenum *) (pc + 4);
- const GLvoid *lists = (const GLvoid *) (pc + 8);
-
- lists = (const GLvoid *) (pc + 8);
+ const GLsizei n = *(GLsizei *)(pc + 0);
+ const GLenum type = *(GLenum *)(pc + 4);
+ const GLvoid * lists = (const GLvoid *)(pc + 8);
- glCallLists(n, type, lists);
+ CALL_CallLists( GET_DISPATCH(), (
+ n,
+ type,
+ lists
+ ) );
}
-int
-__glXDisp_DeleteLists(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_DeleteLists(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glDeleteLists(*(GLuint *) (pc + 0), *(GLsizei *) (pc + 4));
+ if ( cx != NULL ) {
+ CALL_DeleteLists( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ *(GLsizei *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-int
-__glXDisp_GenLists(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GenLists(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLuint retval;
-
- retval = glGenLists(*(GLsizei *) (pc + 0));
+ retval = CALL_GenLists( GET_DISPATCH(), (
+ *(GLsizei *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -130,1399 +146,1648 @@ __glXDisp_GenLists(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_ListBase(GLbyte * pc)
+void __glXDisp_ListBase(GLbyte * pc)
{
- glListBase(*(GLuint *) (pc + 0));
+ CALL_ListBase( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Begin(GLbyte * pc)
+void __glXDisp_Begin(GLbyte * pc)
{
- glBegin(*(GLenum *) (pc + 0));
+ CALL_Begin( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Bitmap(GLbyte * pc)
+void __glXDisp_Bitmap(GLbyte * pc)
{
- const GLubyte *const bitmap = (const GLubyte *) ((pc + 44));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLubyte * const bitmap = (const GLubyte *) (pc + 44);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glBitmap(*(GLsizei *) (pc + 20),
- *(GLsizei *) (pc + 24),
- *(GLfloat *) (pc + 28),
- *(GLfloat *) (pc + 32),
- *(GLfloat *) (pc + 36), *(GLfloat *) (pc + 40), bitmap);
+ CALL_Bitmap( GET_DISPATCH(), (
+ *(GLsizei *)(pc + 20),
+ *(GLsizei *)(pc + 24),
+ *(GLfloat *)(pc + 28),
+ *(GLfloat *)(pc + 32),
+ *(GLfloat *)(pc + 36),
+ *(GLfloat *)(pc + 40),
+ bitmap
+ ) );
}
-void
-__glXDisp_Color3bv(GLbyte * pc)
+void __glXDisp_Color3bv(GLbyte * pc)
{
- glColor3bv((const GLbyte *) (pc + 0));
+ CALL_Color3bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color3dv(GLbyte * pc)
+void __glXDisp_Color3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glColor3dv((const GLdouble *) (pc + 0));
+ CALL_Color3dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color3fv(GLbyte * pc)
+void __glXDisp_Color3fv(GLbyte * pc)
{
- glColor3fv((const GLfloat *) (pc + 0));
+ CALL_Color3fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color3iv(GLbyte * pc)
+void __glXDisp_Color3iv(GLbyte * pc)
{
- glColor3iv((const GLint *) (pc + 0));
+ CALL_Color3iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color3sv(GLbyte * pc)
+void __glXDisp_Color3sv(GLbyte * pc)
{
- glColor3sv((const GLshort *) (pc + 0));
+ CALL_Color3sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color3ubv(GLbyte * pc)
+void __glXDisp_Color3ubv(GLbyte * pc)
{
- glColor3ubv((const GLubyte *) (pc + 0));
+ CALL_Color3ubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color3uiv(GLbyte * pc)
+void __glXDisp_Color3uiv(GLbyte * pc)
{
- glColor3uiv((const GLuint *) (pc + 0));
+ CALL_Color3uiv( GET_DISPATCH(), (
+ (const GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color3usv(GLbyte * pc)
+void __glXDisp_Color3usv(GLbyte * pc)
{
- glColor3usv((const GLushort *) (pc + 0));
+ CALL_Color3usv( GET_DISPATCH(), (
+ (const GLushort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4bv(GLbyte * pc)
+void __glXDisp_Color4bv(GLbyte * pc)
{
- glColor4bv((const GLbyte *) (pc + 0));
+ CALL_Color4bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4dv(GLbyte * pc)
+void __glXDisp_Color4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glColor4dv((const GLdouble *) (pc + 0));
+ CALL_Color4dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4fv(GLbyte * pc)
+void __glXDisp_Color4fv(GLbyte * pc)
{
- glColor4fv((const GLfloat *) (pc + 0));
+ CALL_Color4fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4iv(GLbyte * pc)
+void __glXDisp_Color4iv(GLbyte * pc)
{
- glColor4iv((const GLint *) (pc + 0));
+ CALL_Color4iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4sv(GLbyte * pc)
+void __glXDisp_Color4sv(GLbyte * pc)
{
- glColor4sv((const GLshort *) (pc + 0));
+ CALL_Color4sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4ubv(GLbyte * pc)
+void __glXDisp_Color4ubv(GLbyte * pc)
{
- glColor4ubv((const GLubyte *) (pc + 0));
+ CALL_Color4ubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4uiv(GLbyte * pc)
+void __glXDisp_Color4uiv(GLbyte * pc)
{
- glColor4uiv((const GLuint *) (pc + 0));
+ CALL_Color4uiv( GET_DISPATCH(), (
+ (const GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Color4usv(GLbyte * pc)
+void __glXDisp_Color4usv(GLbyte * pc)
{
- glColor4usv((const GLushort *) (pc + 0));
+ CALL_Color4usv( GET_DISPATCH(), (
+ (const GLushort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_EdgeFlagv(GLbyte * pc)
+void __glXDisp_EdgeFlagv(GLbyte * pc)
{
- glEdgeFlagv((const GLboolean *) (pc + 0));
+ CALL_EdgeFlagv( GET_DISPATCH(), (
+ (const GLboolean *)(pc + 0)
+ ) );
}
-void
-__glXDisp_End(GLbyte * pc)
+void __glXDisp_End(GLbyte * pc)
{
- glEnd();
+ CALL_End( GET_DISPATCH(), () );
}
-void
-__glXDisp_Indexdv(GLbyte * pc)
+void __glXDisp_Indexdv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glIndexdv((const GLdouble *) (pc + 0));
+ CALL_Indexdv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Indexfv(GLbyte * pc)
+void __glXDisp_Indexfv(GLbyte * pc)
{
- glIndexfv((const GLfloat *) (pc + 0));
+ CALL_Indexfv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Indexiv(GLbyte * pc)
+void __glXDisp_Indexiv(GLbyte * pc)
{
- glIndexiv((const GLint *) (pc + 0));
+ CALL_Indexiv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Indexsv(GLbyte * pc)
+void __glXDisp_Indexsv(GLbyte * pc)
{
- glIndexsv((const GLshort *) (pc + 0));
+ CALL_Indexsv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Normal3bv(GLbyte * pc)
+void __glXDisp_Normal3bv(GLbyte * pc)
{
- glNormal3bv((const GLbyte *) (pc + 0));
+ CALL_Normal3bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Normal3dv(GLbyte * pc)
+void __glXDisp_Normal3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glNormal3dv((const GLdouble *) (pc + 0));
+ CALL_Normal3dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Normal3fv(GLbyte * pc)
+void __glXDisp_Normal3fv(GLbyte * pc)
{
- glNormal3fv((const GLfloat *) (pc + 0));
+ CALL_Normal3fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Normal3iv(GLbyte * pc)
+void __glXDisp_Normal3iv(GLbyte * pc)
{
- glNormal3iv((const GLint *) (pc + 0));
+ CALL_Normal3iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Normal3sv(GLbyte * pc)
+void __glXDisp_Normal3sv(GLbyte * pc)
{
- glNormal3sv((const GLshort *) (pc + 0));
+ CALL_Normal3sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos2dv(GLbyte * pc)
+void __glXDisp_RasterPos2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glRasterPos2dv((const GLdouble *) (pc + 0));
+ CALL_RasterPos2dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos2fv(GLbyte * pc)
+void __glXDisp_RasterPos2fv(GLbyte * pc)
{
- glRasterPos2fv((const GLfloat *) (pc + 0));
+ CALL_RasterPos2fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos2iv(GLbyte * pc)
+void __glXDisp_RasterPos2iv(GLbyte * pc)
{
- glRasterPos2iv((const GLint *) (pc + 0));
+ CALL_RasterPos2iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos2sv(GLbyte * pc)
+void __glXDisp_RasterPos2sv(GLbyte * pc)
{
- glRasterPos2sv((const GLshort *) (pc + 0));
+ CALL_RasterPos2sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos3dv(GLbyte * pc)
+void __glXDisp_RasterPos3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glRasterPos3dv((const GLdouble *) (pc + 0));
+ CALL_RasterPos3dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos3fv(GLbyte * pc)
+void __glXDisp_RasterPos3fv(GLbyte * pc)
{
- glRasterPos3fv((const GLfloat *) (pc + 0));
+ CALL_RasterPos3fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos3iv(GLbyte * pc)
+void __glXDisp_RasterPos3iv(GLbyte * pc)
{
- glRasterPos3iv((const GLint *) (pc + 0));
+ CALL_RasterPos3iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos3sv(GLbyte * pc)
+void __glXDisp_RasterPos3sv(GLbyte * pc)
{
- glRasterPos3sv((const GLshort *) (pc + 0));
+ CALL_RasterPos3sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos4dv(GLbyte * pc)
+void __glXDisp_RasterPos4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glRasterPos4dv((const GLdouble *) (pc + 0));
+ CALL_RasterPos4dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos4fv(GLbyte * pc)
+void __glXDisp_RasterPos4fv(GLbyte * pc)
{
- glRasterPos4fv((const GLfloat *) (pc + 0));
+ CALL_RasterPos4fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos4iv(GLbyte * pc)
+void __glXDisp_RasterPos4iv(GLbyte * pc)
{
- glRasterPos4iv((const GLint *) (pc + 0));
+ CALL_RasterPos4iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_RasterPos4sv(GLbyte * pc)
+void __glXDisp_RasterPos4sv(GLbyte * pc)
{
- glRasterPos4sv((const GLshort *) (pc + 0));
+ CALL_RasterPos4sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Rectdv(GLbyte * pc)
+void __glXDisp_Rectdv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glRectdv((const GLdouble *) (pc + 0), (const GLdouble *) (pc + 16));
+ CALL_Rectdv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0),
+ (const GLdouble *)(pc + 16)
+ ) );
}
-void
-__glXDisp_Rectfv(GLbyte * pc)
+void __glXDisp_Rectfv(GLbyte * pc)
{
- glRectfv((const GLfloat *) (pc + 0), (const GLfloat *) (pc + 8));
+ CALL_Rectfv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0),
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Rectiv(GLbyte * pc)
+void __glXDisp_Rectiv(GLbyte * pc)
{
- glRectiv((const GLint *) (pc + 0), (const GLint *) (pc + 8));
+ CALL_Rectiv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0),
+ (const GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Rectsv(GLbyte * pc)
+void __glXDisp_Rectsv(GLbyte * pc)
{
- glRectsv((const GLshort *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_Rectsv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_TexCoord1dv(GLbyte * pc)
+void __glXDisp_TexCoord1dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glTexCoord1dv((const GLdouble *) (pc + 0));
+ CALL_TexCoord1dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord1fv(GLbyte * pc)
+void __glXDisp_TexCoord1fv(GLbyte * pc)
{
- glTexCoord1fv((const GLfloat *) (pc + 0));
+ CALL_TexCoord1fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord1iv(GLbyte * pc)
+void __glXDisp_TexCoord1iv(GLbyte * pc)
{
- glTexCoord1iv((const GLint *) (pc + 0));
+ CALL_TexCoord1iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord1sv(GLbyte * pc)
+void __glXDisp_TexCoord1sv(GLbyte * pc)
{
- glTexCoord1sv((const GLshort *) (pc + 0));
+ CALL_TexCoord1sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord2dv(GLbyte * pc)
+void __glXDisp_TexCoord2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glTexCoord2dv((const GLdouble *) (pc + 0));
+ CALL_TexCoord2dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord2fv(GLbyte * pc)
+void __glXDisp_TexCoord2fv(GLbyte * pc)
{
- glTexCoord2fv((const GLfloat *) (pc + 0));
+ CALL_TexCoord2fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord2iv(GLbyte * pc)
+void __glXDisp_TexCoord2iv(GLbyte * pc)
{
- glTexCoord2iv((const GLint *) (pc + 0));
+ CALL_TexCoord2iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord2sv(GLbyte * pc)
+void __glXDisp_TexCoord2sv(GLbyte * pc)
{
- glTexCoord2sv((const GLshort *) (pc + 0));
+ CALL_TexCoord2sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord3dv(GLbyte * pc)
+void __glXDisp_TexCoord3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glTexCoord3dv((const GLdouble *) (pc + 0));
+ CALL_TexCoord3dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord3fv(GLbyte * pc)
+void __glXDisp_TexCoord3fv(GLbyte * pc)
{
- glTexCoord3fv((const GLfloat *) (pc + 0));
+ CALL_TexCoord3fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord3iv(GLbyte * pc)
+void __glXDisp_TexCoord3iv(GLbyte * pc)
{
- glTexCoord3iv((const GLint *) (pc + 0));
+ CALL_TexCoord3iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord3sv(GLbyte * pc)
+void __glXDisp_TexCoord3sv(GLbyte * pc)
{
- glTexCoord3sv((const GLshort *) (pc + 0));
+ CALL_TexCoord3sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord4dv(GLbyte * pc)
+void __glXDisp_TexCoord4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glTexCoord4dv((const GLdouble *) (pc + 0));
+ CALL_TexCoord4dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord4fv(GLbyte * pc)
+void __glXDisp_TexCoord4fv(GLbyte * pc)
{
- glTexCoord4fv((const GLfloat *) (pc + 0));
+ CALL_TexCoord4fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord4iv(GLbyte * pc)
+void __glXDisp_TexCoord4iv(GLbyte * pc)
{
- glTexCoord4iv((const GLint *) (pc + 0));
+ CALL_TexCoord4iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexCoord4sv(GLbyte * pc)
+void __glXDisp_TexCoord4sv(GLbyte * pc)
{
- glTexCoord4sv((const GLshort *) (pc + 0));
+ CALL_TexCoord4sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex2dv(GLbyte * pc)
+void __glXDisp_Vertex2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glVertex2dv((const GLdouble *) (pc + 0));
+ CALL_Vertex2dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex2fv(GLbyte * pc)
+void __glXDisp_Vertex2fv(GLbyte * pc)
{
- glVertex2fv((const GLfloat *) (pc + 0));
+ CALL_Vertex2fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex2iv(GLbyte * pc)
+void __glXDisp_Vertex2iv(GLbyte * pc)
{
- glVertex2iv((const GLint *) (pc + 0));
+ CALL_Vertex2iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex2sv(GLbyte * pc)
+void __glXDisp_Vertex2sv(GLbyte * pc)
{
- glVertex2sv((const GLshort *) (pc + 0));
+ CALL_Vertex2sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex3dv(GLbyte * pc)
+void __glXDisp_Vertex3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glVertex3dv((const GLdouble *) (pc + 0));
+ CALL_Vertex3dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex3fv(GLbyte * pc)
+void __glXDisp_Vertex3fv(GLbyte * pc)
{
- glVertex3fv((const GLfloat *) (pc + 0));
+ CALL_Vertex3fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex3iv(GLbyte * pc)
+void __glXDisp_Vertex3iv(GLbyte * pc)
{
- glVertex3iv((const GLint *) (pc + 0));
+ CALL_Vertex3iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex3sv(GLbyte * pc)
+void __glXDisp_Vertex3sv(GLbyte * pc)
{
- glVertex3sv((const GLshort *) (pc + 0));
+ CALL_Vertex3sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex4dv(GLbyte * pc)
+void __glXDisp_Vertex4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glVertex4dv((const GLdouble *) (pc + 0));
+ CALL_Vertex4dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex4fv(GLbyte * pc)
+void __glXDisp_Vertex4fv(GLbyte * pc)
{
- glVertex4fv((const GLfloat *) (pc + 0));
+ CALL_Vertex4fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex4iv(GLbyte * pc)
+void __glXDisp_Vertex4iv(GLbyte * pc)
{
- glVertex4iv((const GLint *) (pc + 0));
+ CALL_Vertex4iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Vertex4sv(GLbyte * pc)
+void __glXDisp_Vertex4sv(GLbyte * pc)
{
- glVertex4sv((const GLshort *) (pc + 0));
+ CALL_Vertex4sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ClipPlane(GLbyte * pc)
+void __glXDisp_ClipPlane(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 36);
pc -= 4;
}
#endif
- glClipPlane(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
+ CALL_ClipPlane( GET_DISPATCH(), (
+ *(GLenum *)(pc + 32),
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ColorMaterial(GLbyte * pc)
+void __glXDisp_ColorMaterial(GLbyte * pc)
{
- glColorMaterial(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ CALL_ColorMaterial( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4)
+ ) );
}
-void
-__glXDisp_CullFace(GLbyte * pc)
+void __glXDisp_CullFace(GLbyte * pc)
{
- glCullFace(*(GLenum *) (pc + 0));
+ CALL_CullFace( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Fogf(GLbyte * pc)
+void __glXDisp_Fogf(GLbyte * pc)
{
- glFogf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
+ CALL_Fogf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_Fogfv(GLbyte * pc)
+void __glXDisp_Fogfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 0);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 0);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 4);
- glFogfv(pname, params);
+ CALL_Fogfv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_Fogi(GLbyte * pc)
+void __glXDisp_Fogi(GLbyte * pc)
{
- glFogi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
+ CALL_Fogi( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_Fogiv(GLbyte * pc)
+void __glXDisp_Fogiv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 0);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 0);
+ const GLint * params;
params = (const GLint *) (pc + 4);
- glFogiv(pname, params);
+ CALL_Fogiv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_FrontFace(GLbyte * pc)
+void __glXDisp_FrontFace(GLbyte * pc)
{
- glFrontFace(*(GLenum *) (pc + 0));
+ CALL_FrontFace( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Hint(GLbyte * pc)
+void __glXDisp_Hint(GLbyte * pc)
{
- glHint(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ CALL_Hint( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4)
+ ) );
}
-void
-__glXDisp_Lightf(GLbyte * pc)
+void __glXDisp_Lightf(GLbyte * pc)
{
- glLightf(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_Lightf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Lightfv(GLbyte * pc)
+void __glXDisp_Lightfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 8);
- glLightfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_Lightfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_Lighti(GLbyte * pc)
+void __glXDisp_Lighti(GLbyte * pc)
{
- glLighti(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
+ CALL_Lighti( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Lightiv(GLbyte * pc)
+void __glXDisp_Lightiv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLint * params;
params = (const GLint *) (pc + 8);
- glLightiv(*(GLenum *) (pc + 0), pname, params);
+ CALL_Lightiv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_LightModelf(GLbyte * pc)
+void __glXDisp_LightModelf(GLbyte * pc)
{
- glLightModelf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
+ CALL_LightModelf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_LightModelfv(GLbyte * pc)
+void __glXDisp_LightModelfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 0);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 0);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 4);
- glLightModelfv(pname, params);
+ CALL_LightModelfv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_LightModeli(GLbyte * pc)
+void __glXDisp_LightModeli(GLbyte * pc)
{
- glLightModeli(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
+ CALL_LightModeli( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_LightModeliv(GLbyte * pc)
+void __glXDisp_LightModeliv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 0);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 0);
+ const GLint * params;
params = (const GLint *) (pc + 4);
- glLightModeliv(pname, params);
+ CALL_LightModeliv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_LineStipple(GLbyte * pc)
+void __glXDisp_LineStipple(GLbyte * pc)
{
- glLineStipple(*(GLint *) (pc + 0), *(GLushort *) (pc + 4));
+ CALL_LineStipple( GET_DISPATCH(), (
+ *(GLint *)(pc + 0),
+ *(GLushort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_LineWidth(GLbyte * pc)
+void __glXDisp_LineWidth(GLbyte * pc)
{
- glLineWidth(*(GLfloat *) (pc + 0));
+ CALL_LineWidth( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Materialf(GLbyte * pc)
+void __glXDisp_Materialf(GLbyte * pc)
{
- glMaterialf(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_Materialf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Materialfv(GLbyte * pc)
+void __glXDisp_Materialfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 8);
- glMaterialfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_Materialfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_Materiali(GLbyte * pc)
+void __glXDisp_Materiali(GLbyte * pc)
{
- glMateriali(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
+ CALL_Materiali( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Materialiv(GLbyte * pc)
+void __glXDisp_Materialiv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLint * params;
params = (const GLint *) (pc + 8);
- glMaterialiv(*(GLenum *) (pc + 0), pname, params);
+ CALL_Materialiv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_PointSize(GLbyte * pc)
+void __glXDisp_PointSize(GLbyte * pc)
{
- glPointSize(*(GLfloat *) (pc + 0));
+ CALL_PointSize( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_PolygonMode(GLbyte * pc)
+void __glXDisp_PolygonMode(GLbyte * pc)
{
- glPolygonMode(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ CALL_PolygonMode( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4)
+ ) );
}
-void
-__glXDisp_PolygonStipple(GLbyte * pc)
+void __glXDisp_PolygonStipple(GLbyte * pc)
{
- const GLubyte *const mask = (const GLubyte *) ((pc + 20));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLubyte * const mask = (const GLubyte *) (pc + 20);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glPolygonStipple(mask);
+ CALL_PolygonStipple( GET_DISPATCH(), (
+ mask
+ ) );
}
-void
-__glXDisp_Scissor(GLbyte * pc)
+void __glXDisp_Scissor(GLbyte * pc)
{
- glScissor(*(GLint *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
+ CALL_Scissor( GET_DISPATCH(), (
+ *(GLint *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLsizei *)(pc + 8),
+ *(GLsizei *)(pc + 12)
+ ) );
}
-void
-__glXDisp_ShadeModel(GLbyte * pc)
+void __glXDisp_ShadeModel(GLbyte * pc)
{
- glShadeModel(*(GLenum *) (pc + 0));
+ CALL_ShadeModel( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexParameterf(GLbyte * pc)
+void __glXDisp_TexParameterf(GLbyte * pc)
{
- glTexParameterf(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_TexParameterf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_TexParameterfv(GLbyte * pc)
+void __glXDisp_TexParameterfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 8);
- glTexParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_TexParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_TexParameteri(GLbyte * pc)
+void __glXDisp_TexParameteri(GLbyte * pc)
{
- glTexParameteri(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
+ CALL_TexParameteri( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_TexParameteriv(GLbyte * pc)
+void __glXDisp_TexParameteriv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLint * params;
params = (const GLint *) (pc + 8);
- glTexParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_TexParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_TexImage1D(GLbyte * pc)
+void __glXDisp_TexImage1D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 52);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glTexImage1D(*(GLenum *) (pc + 20),
- *(GLint *) (pc + 24),
- *(GLint *) (pc + 28),
- *(GLsizei *) (pc + 32),
- *(GLint *) (pc + 40),
- *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
+ 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
+ ) );
}
-void
-__glXDisp_TexImage2D(GLbyte * pc)
+void __glXDisp_TexImage2D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 52);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- 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);
+ 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
+ ) );
}
-void
-__glXDisp_TexEnvf(GLbyte * pc)
+void __glXDisp_TexEnvf(GLbyte * pc)
{
- glTexEnvf(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_TexEnvf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_TexEnvfv(GLbyte * pc)
+void __glXDisp_TexEnvfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 8);
- glTexEnvfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_TexEnvfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_TexEnvi(GLbyte * pc)
+void __glXDisp_TexEnvi(GLbyte * pc)
{
- glTexEnvi(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
+ CALL_TexEnvi( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_TexEnviv(GLbyte * pc)
+void __glXDisp_TexEnviv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLint * params;
params = (const GLint *) (pc + 8);
- glTexEnviv(*(GLenum *) (pc + 0), pname, params);
+ CALL_TexEnviv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_TexGend(GLbyte * pc)
+void __glXDisp_TexGend(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glTexGend(*(GLenum *) (pc + 8),
- *(GLenum *) (pc + 12), *(GLdouble *) (pc + 0));
+ CALL_TexGend( GET_DISPATCH(), (
+ *(GLenum *)(pc + 8),
+ *(GLenum *)(pc + 12),
+ *(GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexGendv(GLbyte * pc)
+void __glXDisp_TexGendv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLdouble *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLdouble * params;
#ifdef __GLX_ALIGN64
const GLuint compsize = __glTexGendv_size(pname);
const GLuint cmdlen = 12 + __GLX_PAD((compsize * 8)) - 4;
-
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, cmdlen);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
params = (const GLdouble *) (pc + 8);
- glTexGendv(*(GLenum *) (pc + 0), pname, params);
+ CALL_TexGendv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_TexGenf(GLbyte * pc)
+void __glXDisp_TexGenf(GLbyte * pc)
{
- glTexGenf(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_TexGenf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_TexGenfv(GLbyte * pc)
+void __glXDisp_TexGenfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 8);
- glTexGenfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_TexGenfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_TexGeni(GLbyte * pc)
+void __glXDisp_TexGeni(GLbyte * pc)
{
- glTexGeni(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
+ CALL_TexGeni( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_TexGeniv(GLbyte * pc)
+void __glXDisp_TexGeniv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLint * params;
params = (const GLint *) (pc + 8);
- glTexGeniv(*(GLenum *) (pc + 0), pname, params);
+ CALL_TexGeniv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_InitNames(GLbyte * pc)
+void __glXDisp_InitNames(GLbyte * pc)
{
- glInitNames();
+ CALL_InitNames( GET_DISPATCH(), () );
}
-void
-__glXDisp_LoadName(GLbyte * pc)
+void __glXDisp_LoadName(GLbyte * pc)
{
- glLoadName(*(GLuint *) (pc + 0));
+ CALL_LoadName( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_PassThrough(GLbyte * pc)
+void __glXDisp_PassThrough(GLbyte * pc)
{
- glPassThrough(*(GLfloat *) (pc + 0));
+ CALL_PassThrough( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_PopName(GLbyte * pc)
+void __glXDisp_PopName(GLbyte * pc)
{
- glPopName();
+ CALL_PopName( GET_DISPATCH(), () );
}
-void
-__glXDisp_PushName(GLbyte * pc)
+void __glXDisp_PushName(GLbyte * pc)
{
- glPushName(*(GLuint *) (pc + 0));
+ CALL_PushName( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_DrawBuffer(GLbyte * pc)
+void __glXDisp_DrawBuffer(GLbyte * pc)
{
- glDrawBuffer(*(GLenum *) (pc + 0));
+ CALL_DrawBuffer( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Clear(GLbyte * pc)
+void __glXDisp_Clear(GLbyte * pc)
{
- glClear(*(GLbitfield *) (pc + 0));
+ CALL_Clear( GET_DISPATCH(), (
+ *(GLbitfield *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ClearAccum(GLbyte * pc)
+void __glXDisp_ClearAccum(GLbyte * pc)
{
- glClearAccum(*(GLfloat *) (pc + 0),
- *(GLfloat *) (pc + 4),
- *(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12));
+ CALL_ClearAccum( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0),
+ *(GLfloat *)(pc + 4),
+ *(GLfloat *)(pc + 8),
+ *(GLfloat *)(pc + 12)
+ ) );
}
-void
-__glXDisp_ClearIndex(GLbyte * pc)
+void __glXDisp_ClearIndex(GLbyte * pc)
{
- glClearIndex(*(GLfloat *) (pc + 0));
+ CALL_ClearIndex( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ClearColor(GLbyte * pc)
+void __glXDisp_ClearColor(GLbyte * pc)
{
- glClearColor(*(GLclampf *) (pc + 0),
- *(GLclampf *) (pc + 4),
- *(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12));
+ CALL_ClearColor( GET_DISPATCH(), (
+ *(GLclampf *)(pc + 0),
+ *(GLclampf *)(pc + 4),
+ *(GLclampf *)(pc + 8),
+ *(GLclampf *)(pc + 12)
+ ) );
}
-void
-__glXDisp_ClearStencil(GLbyte * pc)
+void __glXDisp_ClearStencil(GLbyte * pc)
{
- glClearStencil(*(GLint *) (pc + 0));
+ CALL_ClearStencil( GET_DISPATCH(), (
+ *(GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ClearDepth(GLbyte * pc)
+void __glXDisp_ClearDepth(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glClearDepth(*(GLclampd *) (pc + 0));
+ CALL_ClearDepth( GET_DISPATCH(), (
+ *(GLclampd *)(pc + 0)
+ ) );
}
-void
-__glXDisp_StencilMask(GLbyte * pc)
+void __glXDisp_StencilMask(GLbyte * pc)
{
- glStencilMask(*(GLuint *) (pc + 0));
+ CALL_StencilMask( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ColorMask(GLbyte * pc)
+void __glXDisp_ColorMask(GLbyte * pc)
{
- glColorMask(*(GLboolean *) (pc + 0),
- *(GLboolean *) (pc + 1),
- *(GLboolean *) (pc + 2), *(GLboolean *) (pc + 3));
+ CALL_ColorMask( GET_DISPATCH(), (
+ *(GLboolean *)(pc + 0),
+ *(GLboolean *)(pc + 1),
+ *(GLboolean *)(pc + 2),
+ *(GLboolean *)(pc + 3)
+ ) );
}
-void
-__glXDisp_DepthMask(GLbyte * pc)
+void __glXDisp_DepthMask(GLbyte * pc)
{
- glDepthMask(*(GLboolean *) (pc + 0));
+ CALL_DepthMask( GET_DISPATCH(), (
+ *(GLboolean *)(pc + 0)
+ ) );
}
-void
-__glXDisp_IndexMask(GLbyte * pc)
+void __glXDisp_IndexMask(GLbyte * pc)
{
- glIndexMask(*(GLuint *) (pc + 0));
+ CALL_IndexMask( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Accum(GLbyte * pc)
+void __glXDisp_Accum(GLbyte * pc)
{
- glAccum(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
+ CALL_Accum( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_Disable(GLbyte * pc)
+void __glXDisp_Disable(GLbyte * pc)
{
- glDisable(*(GLenum *) (pc + 0));
+ CALL_Disable( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Enable(GLbyte * pc)
+void __glXDisp_Enable(GLbyte * pc)
{
- glEnable(*(GLenum *) (pc + 0));
+ CALL_Enable( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_PopAttrib(GLbyte * pc)
+void __glXDisp_PopAttrib(GLbyte * pc)
{
- glPopAttrib();
+ CALL_PopAttrib( GET_DISPATCH(), () );
}
-void
-__glXDisp_PushAttrib(GLbyte * pc)
+void __glXDisp_PushAttrib(GLbyte * pc)
{
- glPushAttrib(*(GLbitfield *) (pc + 0));
+ CALL_PushAttrib( GET_DISPATCH(), (
+ *(GLbitfield *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MapGrid1d(GLbyte * pc)
+void __glXDisp_MapGrid1d(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 20);
pc -= 4;
}
#endif
- glMapGrid1d(*(GLint *) (pc + 16),
- *(GLdouble *) (pc + 0), *(GLdouble *) (pc + 8));
+ CALL_MapGrid1d( GET_DISPATCH(), (
+ *(GLint *)(pc + 16),
+ *(GLdouble *)(pc + 0),
+ *(GLdouble *)(pc + 8)
+ ) );
}
-void
-__glXDisp_MapGrid1f(GLbyte * pc)
+void __glXDisp_MapGrid1f(GLbyte * pc)
{
- glMapGrid1f(*(GLint *) (pc + 0),
- *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_MapGrid1f( GET_DISPATCH(), (
+ *(GLint *)(pc + 0),
+ *(GLfloat *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_MapGrid2d(GLbyte * pc)
+void __glXDisp_MapGrid2d(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 40);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 40);
pc -= 4;
}
#endif
- glMapGrid2d(*(GLint *) (pc + 32),
- *(GLdouble *) (pc + 0),
- *(GLdouble *) (pc + 8),
- *(GLint *) (pc + 36),
- *(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24));
+ CALL_MapGrid2d( GET_DISPATCH(), (
+ *(GLint *)(pc + 32),
+ *(GLdouble *)(pc + 0),
+ *(GLdouble *)(pc + 8),
+ *(GLint *)(pc + 36),
+ *(GLdouble *)(pc + 16),
+ *(GLdouble *)(pc + 24)
+ ) );
}
-void
-__glXDisp_MapGrid2f(GLbyte * pc)
+void __glXDisp_MapGrid2f(GLbyte * pc)
{
- glMapGrid2f(*(GLint *) (pc + 0),
- *(GLfloat *) (pc + 4),
- *(GLfloat *) (pc + 8),
- *(GLint *) (pc + 12),
- *(GLfloat *) (pc + 16), *(GLfloat *) (pc + 20));
+ CALL_MapGrid2f( GET_DISPATCH(), (
+ *(GLint *)(pc + 0),
+ *(GLfloat *)(pc + 4),
+ *(GLfloat *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLfloat *)(pc + 16),
+ *(GLfloat *)(pc + 20)
+ ) );
}
-void
-__glXDisp_EvalCoord1dv(GLbyte * pc)
+void __glXDisp_EvalCoord1dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glEvalCoord1dv((const GLdouble *) (pc + 0));
+ CALL_EvalCoord1dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_EvalCoord1fv(GLbyte * pc)
+void __glXDisp_EvalCoord1fv(GLbyte * pc)
{
- glEvalCoord1fv((const GLfloat *) (pc + 0));
+ CALL_EvalCoord1fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_EvalCoord2dv(GLbyte * pc)
+void __glXDisp_EvalCoord2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glEvalCoord2dv((const GLdouble *) (pc + 0));
+ CALL_EvalCoord2dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_EvalCoord2fv(GLbyte * pc)
+void __glXDisp_EvalCoord2fv(GLbyte * pc)
{
- glEvalCoord2fv((const GLfloat *) (pc + 0));
+ CALL_EvalCoord2fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_EvalMesh1(GLbyte * pc)
+void __glXDisp_EvalMesh1(GLbyte * pc)
{
- glEvalMesh1(*(GLenum *) (pc + 0), *(GLint *) (pc + 4), *(GLint *) (pc + 8));
+ CALL_EvalMesh1( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_EvalPoint1(GLbyte * pc)
+void __glXDisp_EvalPoint1(GLbyte * pc)
{
- glEvalPoint1(*(GLint *) (pc + 0));
+ CALL_EvalPoint1( GET_DISPATCH(), (
+ *(GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_EvalMesh2(GLbyte * pc)
+void __glXDisp_EvalMesh2(GLbyte * pc)
{
- glEvalMesh2(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12), *(GLint *) (pc + 16));
+ CALL_EvalMesh2( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLint *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLint *)(pc + 16)
+ ) );
}
-void
-__glXDisp_EvalPoint2(GLbyte * pc)
+void __glXDisp_EvalPoint2(GLbyte * pc)
{
- glEvalPoint2(*(GLint *) (pc + 0), *(GLint *) (pc + 4));
+ CALL_EvalPoint2( GET_DISPATCH(), (
+ *(GLint *)(pc + 0),
+ *(GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_AlphaFunc(GLbyte * pc)
+void __glXDisp_AlphaFunc(GLbyte * pc)
{
- glAlphaFunc(*(GLenum *) (pc + 0), *(GLclampf *) (pc + 4));
+ CALL_AlphaFunc( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLclampf *)(pc + 4)
+ ) );
}
-void
-__glXDisp_BlendFunc(GLbyte * pc)
+void __glXDisp_BlendFunc(GLbyte * pc)
{
- glBlendFunc(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ CALL_BlendFunc( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4)
+ ) );
}
-void
-__glXDisp_LogicOp(GLbyte * pc)
+void __glXDisp_LogicOp(GLbyte * pc)
{
- glLogicOp(*(GLenum *) (pc + 0));
+ CALL_LogicOp( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_StencilFunc(GLbyte * pc)
+void __glXDisp_StencilFunc(GLbyte * pc)
{
- glStencilFunc(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4), *(GLuint *) (pc + 8));
+ CALL_StencilFunc( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLuint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_StencilOp(GLbyte * pc)
+void __glXDisp_StencilOp(GLbyte * pc)
{
- glStencilOp(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLenum *) (pc + 8));
+ CALL_StencilOp( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLenum *)(pc + 8)
+ ) );
}
-void
-__glXDisp_DepthFunc(GLbyte * pc)
+void __glXDisp_DepthFunc(GLbyte * pc)
{
- glDepthFunc(*(GLenum *) (pc + 0));
+ CALL_DepthFunc( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_PixelZoom(GLbyte * pc)
+void __glXDisp_PixelZoom(GLbyte * pc)
{
- glPixelZoom(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4));
+ CALL_PixelZoom( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_PixelTransferf(GLbyte * pc)
+void __glXDisp_PixelTransferf(GLbyte * pc)
{
- glPixelTransferf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
+ CALL_PixelTransferf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_PixelTransferi(GLbyte * pc)
+void __glXDisp_PixelTransferi(GLbyte * pc)
{
- glPixelTransferi(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
+ CALL_PixelTransferi( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4)
+ ) );
}
-int
-__glXDisp_PixelStoref(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_PixelStoref(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glPixelStoref(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
+ if ( cx != NULL ) {
+ CALL_PixelStoref( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-int
-__glXDisp_PixelStorei(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_PixelStorei(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glPixelStorei(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
+ if ( cx != NULL ) {
+ CALL_PixelStorei( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-void
-__glXDisp_PixelMapfv(GLbyte * pc)
+void __glXDisp_PixelMapfv(GLbyte * pc)
{
- const GLsizei mapsize = *(GLsizei *) (pc + 4);
+ const GLsizei mapsize = *(GLsizei *)(pc + 4);
- glPixelMapfv(*(GLenum *) (pc + 0), mapsize, (const GLfloat *) (pc + 8));
+ CALL_PixelMapfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ mapsize,
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_PixelMapuiv(GLbyte * pc)
+void __glXDisp_PixelMapuiv(GLbyte * pc)
{
- const GLsizei mapsize = *(GLsizei *) (pc + 4);
+ const GLsizei mapsize = *(GLsizei *)(pc + 4);
- glPixelMapuiv(*(GLenum *) (pc + 0), mapsize, (const GLuint *) (pc + 8));
+ CALL_PixelMapuiv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ mapsize,
+ (const GLuint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_PixelMapusv(GLbyte * pc)
+void __glXDisp_PixelMapusv(GLbyte * pc)
{
- const GLsizei mapsize = *(GLsizei *) (pc + 4);
+ const GLsizei mapsize = *(GLsizei *)(pc + 4);
- glPixelMapusv(*(GLenum *) (pc + 0), mapsize, (const GLushort *) (pc + 8));
+ CALL_PixelMapusv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ mapsize,
+ (const GLushort *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ReadBuffer(GLbyte * pc)
+void __glXDisp_ReadBuffer(GLbyte * pc)
{
- glReadBuffer(*(GLenum *) (pc + 0));
+ CALL_ReadBuffer( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_CopyPixels(GLbyte * pc)
+void __glXDisp_CopyPixels(GLbyte * pc)
{
- glCopyPixels(*(GLint *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLsizei *) (pc + 8),
- *(GLsizei *) (pc + 12), *(GLenum *) (pc + 16));
+ CALL_CopyPixels( GET_DISPATCH(), (
+ *(GLint *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLsizei *)(pc + 8),
+ *(GLsizei *)(pc + 12),
+ *(GLenum *)(pc + 16)
+ ) );
}
-void
-__glXDisp_DrawPixels(GLbyte * pc)
+void __glXDisp_DrawPixels(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 36));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 36);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glDrawPixels(*(GLsizei *) (pc + 20),
- *(GLsizei *) (pc + 24),
- *(GLenum *) (pc + 28), *(GLenum *) (pc + 32), pixels);
+ CALL_DrawPixels( GET_DISPATCH(), (
+ *(GLsizei *)(pc + 20),
+ *(GLsizei *)(pc + 24),
+ *(GLenum *)(pc + 28),
+ *(GLenum *)(pc + 32),
+ pixels
+ ) );
}
-int
-__glXDisp_GetBooleanv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetBooleanv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 0);
const GLuint compsize = __glGetBooleanv_size(pname);
GLboolean answerBuffer[200];
- GLboolean *params =
- __glXGetAnswerBuffer(cl, compsize, answerBuffer,
- sizeof(answerBuffer), 1);
+ GLboolean * params = __glXGetAnswerBuffer(cl, compsize, answerBuffer, sizeof(answerBuffer), 1);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetBooleanv(pname, params);
+ CALL_GetBooleanv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 1, GL_FALSE, 0);
error = Success;
}
@@ -1530,18 +1795,19 @@ __glXDisp_GetBooleanv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetClipPlane(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetClipPlane(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLdouble equation[4];
-
- glGetClipPlane(*(GLenum *) (pc + 0), equation);
+ CALL_GetClipPlane( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ equation
+ ) );
__glXSendReply(cl->client, equation, 4, 8, GL_TRUE, 0);
error = Success;
}
@@ -1549,28 +1815,27 @@ __glXDisp_GetClipPlane(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetDoublev(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetDoublev(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 0);
const GLuint compsize = __glGetDoublev_size(pname);
GLdouble answerBuffer[200];
- GLdouble *params =
- __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
- sizeof(answerBuffer), 8);
+ GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetDoublev(pname, params);
+ CALL_GetDoublev( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
error = Success;
}
@@ -1578,18 +1843,16 @@ __glXDisp_GetDoublev(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetError(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetError(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLenum retval;
-
- retval = glGetError();
+ retval = CALL_GetError( GET_DISPATCH(), () );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -1597,28 +1860,27 @@ __glXDisp_GetError(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetFloatv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetFloatv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 0);
const GLuint compsize = __glGetFloatv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetFloatv(pname, params);
+ CALL_GetFloatv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1626,28 +1888,27 @@ __glXDisp_GetFloatv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetIntegerv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetIntegerv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 0);
const GLuint compsize = __glGetIntegerv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetIntegerv(pname, params);
+ CALL_GetIntegerv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1655,28 +1916,28 @@ __glXDisp_GetIntegerv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetLightfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetLightfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetLightfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetLightfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetLightfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1684,28 +1945,28 @@ __glXDisp_GetLightfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetLightiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetLightiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetLightiv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetLightiv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetLightiv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1713,29 +1974,29 @@ __glXDisp_GetLightiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMapdv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMapdv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum target = *(GLenum *) (pc + 0);
- const GLenum query = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum target = *(GLenum *)(pc + 0);
+ const GLenum query = *(GLenum *)(pc + 4);
- const GLuint compsize = __glGetMapdv_size(target, query);
+ const GLuint compsize = __glGetMapdv_size(target,query);
GLdouble answerBuffer[200];
- GLdouble *v =
- __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
- sizeof(answerBuffer), 8);
+ GLdouble * v = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
- if (v == NULL)
- return BadAlloc;
+ if (v == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMapdv(target, query, v);
+ CALL_GetMapdv( GET_DISPATCH(), (
+ target,
+ query,
+ v
+ ) );
__glXSendReply(cl->client, v, compsize, 8, GL_FALSE, 0);
error = Success;
}
@@ -1743,29 +2004,29 @@ __glXDisp_GetMapdv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMapfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMapfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum target = *(GLenum *) (pc + 0);
- const GLenum query = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum target = *(GLenum *)(pc + 0);
+ const GLenum query = *(GLenum *)(pc + 4);
- const GLuint compsize = __glGetMapfv_size(target, query);
+ const GLuint compsize = __glGetMapfv_size(target,query);
GLfloat answerBuffer[200];
- GLfloat *v =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * v = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (v == NULL)
- return BadAlloc;
+ if (v == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMapfv(target, query, v);
+ CALL_GetMapfv( GET_DISPATCH(), (
+ target,
+ query,
+ v
+ ) );
__glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1773,29 +2034,29 @@ __glXDisp_GetMapfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMapiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMapiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum target = *(GLenum *) (pc + 0);
- const GLenum query = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum target = *(GLenum *)(pc + 0);
+ const GLenum query = *(GLenum *)(pc + 4);
- const GLuint compsize = __glGetMapiv_size(target, query);
+ const GLuint compsize = __glGetMapiv_size(target,query);
GLint answerBuffer[200];
- GLint *v =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * v = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (v == NULL)
- return BadAlloc;
+ if (v == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMapiv(target, query, v);
+ CALL_GetMapiv( GET_DISPATCH(), (
+ target,
+ query,
+ v
+ ) );
__glXSendReply(cl->client, v, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1803,28 +2064,28 @@ __glXDisp_GetMapiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMaterialfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMaterialfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetMaterialfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMaterialfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetMaterialfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1832,28 +2093,28 @@ __glXDisp_GetMaterialfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMaterialiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMaterialiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetMaterialiv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMaterialiv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetMaterialiv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1861,28 +2122,27 @@ __glXDisp_GetMaterialiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetPixelMapfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum map = *(GLenum *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLenum map = *(GLenum *)(pc + 0);
const GLuint compsize = __glGetPixelMapfv_size(map);
GLfloat answerBuffer[200];
- GLfloat *values =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * values = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (values == NULL)
- return BadAlloc;
+ if (values == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetPixelMapfv(map, values);
+ CALL_GetPixelMapfv( GET_DISPATCH(), (
+ map,
+ values
+ ) );
__glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1890,28 +2150,27 @@ __glXDisp_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetPixelMapuiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum map = *(GLenum *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLenum map = *(GLenum *)(pc + 0);
const GLuint compsize = __glGetPixelMapuiv_size(map);
GLuint answerBuffer[200];
- GLuint *values =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLuint * values = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (values == NULL)
- return BadAlloc;
+ if (values == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetPixelMapuiv(map, values);
+ CALL_GetPixelMapuiv( GET_DISPATCH(), (
+ map,
+ values
+ ) );
__glXSendReply(cl->client, values, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1919,28 +2178,27 @@ __glXDisp_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetPixelMapusv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum map = *(GLenum *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLenum map = *(GLenum *)(pc + 0);
const GLuint compsize = __glGetPixelMapusv_size(map);
GLushort answerBuffer[200];
- GLushort *values =
- __glXGetAnswerBuffer(cl, compsize * 2, answerBuffer,
- sizeof(answerBuffer), 2);
+ GLushort * values = __glXGetAnswerBuffer(cl, compsize * 2, answerBuffer, sizeof(answerBuffer), 2);
- if (values == NULL)
- return BadAlloc;
+ if (values == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetPixelMapusv(map, values);
+ CALL_GetPixelMapusv( GET_DISPATCH(), (
+ map,
+ values
+ ) );
__glXSendReply(cl->client, values, compsize, 2, GL_FALSE, 0);
error = Success;
}
@@ -1948,28 +2206,28 @@ __glXDisp_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexEnvfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetTexEnvfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexEnvfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetTexEnvfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1977,28 +2235,28 @@ __glXDisp_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexEnviv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexEnviv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetTexEnviv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexEnviv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetTexEnviv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2006,28 +2264,28 @@ __glXDisp_GetTexEnviv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexGendv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexGendv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetTexGendv_size(pname);
GLdouble answerBuffer[200];
- GLdouble *params =
- __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
- sizeof(answerBuffer), 8);
+ GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexGendv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetTexGendv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
error = Success;
}
@@ -2035,28 +2293,28 @@ __glXDisp_GetTexGendv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexGenfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexGenfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetTexGenfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexGenfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetTexGenfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2064,28 +2322,28 @@ __glXDisp_GetTexGenfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexGeniv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexGeniv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetTexGeniv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexGeniv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetTexGeniv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2093,28 +2351,28 @@ __glXDisp_GetTexGeniv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetTexParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetTexParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2122,28 +2380,28 @@ __glXDisp_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetTexParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetTexParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2151,29 +2409,29 @@ __glXDisp_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexLevelParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 8);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 8);
const GLuint compsize = __glGetTexLevelParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexLevelParameterfv(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4), pname, params);
+ CALL_GetTexLevelParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2181,29 +2439,29 @@ __glXDisp_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetTexLevelParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 8);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 8);
const GLuint compsize = __glGetTexLevelParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexLevelParameteriv(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4), pname, params);
+ CALL_GetTexLevelParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2211,18 +2469,18 @@ __glXDisp_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsEnabled(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_IsEnabled(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsEnabled(*(GLenum *) (pc + 0));
+ retval = CALL_IsEnabled( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2230,18 +2488,18 @@ __glXDisp_IsEnabled(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsList(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_IsList(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsList(*(GLuint *) (pc + 0));
+ retval = CALL_IsList( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2249,223 +2507,251 @@ __glXDisp_IsList(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_DepthRange(GLbyte * pc)
+void __glXDisp_DepthRange(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glDepthRange(*(GLclampd *) (pc + 0), *(GLclampd *) (pc + 8));
+ CALL_DepthRange( GET_DISPATCH(), (
+ *(GLclampd *)(pc + 0),
+ *(GLclampd *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Frustum(GLbyte * pc)
+void __glXDisp_Frustum(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 48);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 48);
pc -= 4;
}
#endif
- glFrustum(*(GLdouble *) (pc + 0),
- *(GLdouble *) (pc + 8),
- *(GLdouble *) (pc + 16),
- *(GLdouble *) (pc + 24),
- *(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40));
+ CALL_Frustum( GET_DISPATCH(), (
+ *(GLdouble *)(pc + 0),
+ *(GLdouble *)(pc + 8),
+ *(GLdouble *)(pc + 16),
+ *(GLdouble *)(pc + 24),
+ *(GLdouble *)(pc + 32),
+ *(GLdouble *)(pc + 40)
+ ) );
}
-void
-__glXDisp_LoadIdentity(GLbyte * pc)
+void __glXDisp_LoadIdentity(GLbyte * pc)
{
- glLoadIdentity();
+ CALL_LoadIdentity( GET_DISPATCH(), () );
}
-void
-__glXDisp_LoadMatrixf(GLbyte * pc)
+void __glXDisp_LoadMatrixf(GLbyte * pc)
{
- glLoadMatrixf((const GLfloat *) (pc + 0));
+ CALL_LoadMatrixf( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_LoadMatrixd(GLbyte * pc)
+void __glXDisp_LoadMatrixd(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 128);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 128);
pc -= 4;
}
#endif
- glLoadMatrixd((const GLdouble *) (pc + 0));
+ CALL_LoadMatrixd( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MatrixMode(GLbyte * pc)
+void __glXDisp_MatrixMode(GLbyte * pc)
{
- glMatrixMode(*(GLenum *) (pc + 0));
+ CALL_MatrixMode( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MultMatrixf(GLbyte * pc)
+void __glXDisp_MultMatrixf(GLbyte * pc)
{
- glMultMatrixf((const GLfloat *) (pc + 0));
+ CALL_MultMatrixf( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MultMatrixd(GLbyte * pc)
+void __glXDisp_MultMatrixd(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 128);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 128);
pc -= 4;
}
#endif
- glMultMatrixd((const GLdouble *) (pc + 0));
+ CALL_MultMatrixd( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_Ortho(GLbyte * pc)
+void __glXDisp_Ortho(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 48);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 48);
pc -= 4;
}
#endif
- glOrtho(*(GLdouble *) (pc + 0),
- *(GLdouble *) (pc + 8),
- *(GLdouble *) (pc + 16),
- *(GLdouble *) (pc + 24),
- *(GLdouble *) (pc + 32), *(GLdouble *) (pc + 40));
+ CALL_Ortho( GET_DISPATCH(), (
+ *(GLdouble *)(pc + 0),
+ *(GLdouble *)(pc + 8),
+ *(GLdouble *)(pc + 16),
+ *(GLdouble *)(pc + 24),
+ *(GLdouble *)(pc + 32),
+ *(GLdouble *)(pc + 40)
+ ) );
}
-void
-__glXDisp_PopMatrix(GLbyte * pc)
+void __glXDisp_PopMatrix(GLbyte * pc)
{
- glPopMatrix();
+ CALL_PopMatrix( GET_DISPATCH(), () );
}
-void
-__glXDisp_PushMatrix(GLbyte * pc)
+void __glXDisp_PushMatrix(GLbyte * pc)
{
- glPushMatrix();
+ CALL_PushMatrix( GET_DISPATCH(), () );
}
-void
-__glXDisp_Rotated(GLbyte * pc)
+void __glXDisp_Rotated(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glRotated(*(GLdouble *) (pc + 0),
- *(GLdouble *) (pc + 8),
- *(GLdouble *) (pc + 16), *(GLdouble *) (pc + 24));
+ CALL_Rotated( GET_DISPATCH(), (
+ *(GLdouble *)(pc + 0),
+ *(GLdouble *)(pc + 8),
+ *(GLdouble *)(pc + 16),
+ *(GLdouble *)(pc + 24)
+ ) );
}
-void
-__glXDisp_Rotatef(GLbyte * pc)
+void __glXDisp_Rotatef(GLbyte * pc)
{
- glRotatef(*(GLfloat *) (pc + 0),
- *(GLfloat *) (pc + 4),
- *(GLfloat *) (pc + 8), *(GLfloat *) (pc + 12));
+ CALL_Rotatef( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0),
+ *(GLfloat *)(pc + 4),
+ *(GLfloat *)(pc + 8),
+ *(GLfloat *)(pc + 12)
+ ) );
}
-void
-__glXDisp_Scaled(GLbyte * pc)
+void __glXDisp_Scaled(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glScaled(*(GLdouble *) (pc + 0),
- *(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16));
+ CALL_Scaled( GET_DISPATCH(), (
+ *(GLdouble *)(pc + 0),
+ *(GLdouble *)(pc + 8),
+ *(GLdouble *)(pc + 16)
+ ) );
}
-void
-__glXDisp_Scalef(GLbyte * pc)
+void __glXDisp_Scalef(GLbyte * pc)
{
- glScalef(*(GLfloat *) (pc + 0),
- *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_Scalef( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0),
+ *(GLfloat *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Translated(GLbyte * pc)
+void __glXDisp_Translated(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glTranslated(*(GLdouble *) (pc + 0),
- *(GLdouble *) (pc + 8), *(GLdouble *) (pc + 16));
+ CALL_Translated( GET_DISPATCH(), (
+ *(GLdouble *)(pc + 0),
+ *(GLdouble *)(pc + 8),
+ *(GLdouble *)(pc + 16)
+ ) );
}
-void
-__glXDisp_Translatef(GLbyte * pc)
+void __glXDisp_Translatef(GLbyte * pc)
{
- glTranslatef(*(GLfloat *) (pc + 0),
- *(GLfloat *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_Translatef( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0),
+ *(GLfloat *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_Viewport(GLbyte * pc)
+void __glXDisp_Viewport(GLbyte * pc)
{
- glViewport(*(GLint *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
+ CALL_Viewport( GET_DISPATCH(), (
+ *(GLint *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLsizei *)(pc + 8),
+ *(GLsizei *)(pc + 12)
+ ) );
}
-void
-__glXDisp_BindTexture(GLbyte * pc)
+void __glXDisp_BindTexture(GLbyte * pc)
{
- glBindTexture(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ CALL_BindTexture( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_Indexubv(GLbyte * pc)
+void __glXDisp_Indexubv(GLbyte * pc)
{
- glIndexubv((const GLubyte *) (pc + 0));
+ CALL_Indexubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_PolygonOffset(GLbyte * pc)
+void __glXDisp_PolygonOffset(GLbyte * pc)
{
- glPolygonOffset(*(GLfloat *) (pc + 0), *(GLfloat *) (pc + 4));
+ CALL_PolygonOffset( GET_DISPATCH(), (
+ *(GLfloat *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
}
-int
-__glXDisp_AreTexturesResident(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_AreTexturesResident(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
GLboolean retval;
GLboolean answerBuffer[200];
- GLboolean *residences =
- __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
- retval =
- glAreTexturesResident(n, (const GLuint *) (pc + 4), residences);
+ GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+ retval = CALL_AreTexturesResident( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4),
+ residences
+ ) );
__glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
error = Success;
}
@@ -2473,23 +2759,24 @@ __glXDisp_AreTexturesResident(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
GLboolean retval;
GLboolean answerBuffer[200];
- GLboolean *residences =
- __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
- retval =
- glAreTexturesResident(n, (const GLuint *) (pc + 4), residences);
+ GLboolean * residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1);
+ retval = CALL_AreTexturesResident( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4),
+ residences
+ ) );
__glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval);
error = Success;
}
@@ -2497,103 +2784,115 @@ __glXDisp_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_CopyTexImage1D(GLbyte * pc)
+void __glXDisp_CopyTexImage1D(GLbyte * pc)
{
- glCopyTexImage1D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLint *) (pc + 12),
- *(GLint *) (pc + 16),
- *(GLsizei *) (pc + 20), *(GLint *) (pc + 24));
+ 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)
+ ) );
}
-void
-__glXDisp_CopyTexImage2D(GLbyte * pc)
+void __glXDisp_CopyTexImage2D(GLbyte * pc)
{
- 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));
+ 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)
+ ) );
}
-void
-__glXDisp_CopyTexSubImage1D(GLbyte * pc)
+void __glXDisp_CopyTexSubImage1D(GLbyte * pc)
{
- glCopyTexSubImage1D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12),
- *(GLint *) (pc + 16), *(GLsizei *) (pc + 20));
+ CALL_CopyTexSubImage1D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLint *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLint *)(pc + 16),
+ *(GLsizei *)(pc + 20)
+ ) );
}
-void
-__glXDisp_CopyTexSubImage2D(GLbyte * pc)
+void __glXDisp_CopyTexSubImage2D(GLbyte * pc)
{
- 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));
+ 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)
+ ) );
}
-int
-__glXDisp_DeleteTextures(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_DeleteTextures(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
- glDeleteTextures(n, (const GLuint *) (pc + 4));
+ CALL_DeleteTextures( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-int
-__glXDisp_DeleteTexturesEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_DeleteTexturesEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
- glDeleteTextures(n, (const GLuint *) (pc + 4));
+ CALL_DeleteTextures( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-int
-__glXDisp_GenTextures(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GenTextures(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
GLuint answerBuffer[200];
- GLuint *textures =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- glGenTextures(n, textures);
+ GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenTextures( GET_DISPATCH(), (
+ n,
+ textures
+ ) );
__glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -2601,22 +2900,22 @@ __glXDisp_GenTextures(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GenTexturesEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
GLuint answerBuffer[200];
- GLuint *textures =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- glGenTextures(n, textures);
+ GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenTextures( GET_DISPATCH(), (
+ n,
+ textures
+ ) );
__glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -2624,18 +2923,18 @@ __glXDisp_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsTexture(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_IsTexture(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsTexture(*(GLuint *) (pc + 0));
+ retval = CALL_IsTexture( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2643,18 +2942,18 @@ __glXDisp_IsTexture(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsTextureEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_IsTextureEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsTexture(*(GLuint *) (pc + 0));
+ retval = CALL_IsTexture( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2662,144 +2961,165 @@ __glXDisp_IsTextureEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_PrioritizeTextures(GLbyte * pc)
+void __glXDisp_PrioritizeTextures(GLbyte * pc)
{
- const GLsizei n = *(GLsizei *) (pc + 0);
+ const GLsizei n = *(GLsizei *)(pc + 0);
- glPrioritizeTextures(n,
- (const GLuint *) (pc + 4),
- (const GLclampf *) (pc + 4));
+ CALL_PrioritizeTextures( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4),
+ (const GLclampf *)(pc + 4)
+ ) );
}
-void
-__glXDisp_TexSubImage1D(GLbyte * pc)
+void __glXDisp_TexSubImage1D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 56);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glTexSubImage1D(*(GLenum *) (pc + 20),
- *(GLint *) (pc + 24),
- *(GLint *) (pc + 28),
- *(GLsizei *) (pc + 36),
- *(GLenum *) (pc + 44), *(GLenum *) (pc + 48), pixels);
+ CALL_TexSubImage1D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 20),
+ *(GLint *)(pc + 24),
+ *(GLint *)(pc + 28),
+ *(GLsizei *)(pc + 36),
+ *(GLenum *)(pc + 44),
+ *(GLenum *)(pc + 48),
+ pixels
+ ) );
}
-void
-__glXDisp_TexSubImage2D(GLbyte * pc)
+void __glXDisp_TexSubImage2D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 56);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- 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);
+ 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
+ ) );
}
-void
-__glXDisp_BlendColor(GLbyte * pc)
+void __glXDisp_BlendColor(GLbyte * pc)
{
- glBlendColor(*(GLclampf *) (pc + 0),
- *(GLclampf *) (pc + 4),
- *(GLclampf *) (pc + 8), *(GLclampf *) (pc + 12));
+ CALL_BlendColor( GET_DISPATCH(), (
+ *(GLclampf *)(pc + 0),
+ *(GLclampf *)(pc + 4),
+ *(GLclampf *)(pc + 8),
+ *(GLclampf *)(pc + 12)
+ ) );
}
-void
-__glXDisp_BlendEquation(GLbyte * pc)
+void __glXDisp_BlendEquation(GLbyte * pc)
{
- glBlendEquation(*(GLenum *) (pc + 0));
+ CALL_BlendEquation( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ColorTable(GLbyte * pc)
+void __glXDisp_ColorTable(GLbyte * pc)
{
- const GLvoid *const table = (const GLvoid *) ((pc + 40));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const table = (const GLvoid *) (pc + 40);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glColorTable(*(GLenum *) (pc + 20),
- *(GLenum *) (pc + 24),
- *(GLsizei *) (pc + 28),
- *(GLenum *) (pc + 32), *(GLenum *) (pc + 36), table);
+ CALL_ColorTable( GET_DISPATCH(), (
+ *(GLenum *)(pc + 20),
+ *(GLenum *)(pc + 24),
+ *(GLsizei *)(pc + 28),
+ *(GLenum *)(pc + 32),
+ *(GLenum *)(pc + 36),
+ table
+ ) );
}
-void
-__glXDisp_ColorTableParameterfv(GLbyte * pc)
+void __glXDisp_ColorTableParameterfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 8);
- glColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_ColorTableParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_ColorTableParameteriv(GLbyte * pc)
+void __glXDisp_ColorTableParameteriv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLint * params;
params = (const GLint *) (pc + 8);
- glColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_ColorTableParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_CopyColorTable(GLbyte * pc)
+void __glXDisp_CopyColorTable(GLbyte * pc)
{
- glCopyColorTable(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
+ CALL_CopyColorTable( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLsizei *)(pc + 16)
+ ) );
}
-int
-__glXDisp_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetColorTableParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetColorTableParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetColorTableParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2807,28 +3127,28 @@ __glXDisp_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetColorTableParameterfvSGI(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetColorTableParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetColorTableParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2836,28 +3156,28 @@ __glXDisp_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetColorTableParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetColorTableParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetColorTableParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2865,28 +3185,28 @@ __glXDisp_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetColorTableParameterivSGI(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetColorTableParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetColorTableParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2894,150 +3214,175 @@ __glXDisp_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_ColorSubTable(GLbyte * pc)
+void __glXDisp_ColorSubTable(GLbyte * pc)
{
- const GLvoid *const data = (const GLvoid *) ((pc + 40));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const data = (const GLvoid *) (pc + 40);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glColorSubTable(*(GLenum *) (pc + 20),
- *(GLsizei *) (pc + 24),
- *(GLsizei *) (pc + 28),
- *(GLenum *) (pc + 32), *(GLenum *) (pc + 36), data);
+ CALL_ColorSubTable( GET_DISPATCH(), (
+ *(GLenum *)(pc + 20),
+ *(GLsizei *)(pc + 24),
+ *(GLsizei *)(pc + 28),
+ *(GLenum *)(pc + 32),
+ *(GLenum *)(pc + 36),
+ data
+ ) );
}
-void
-__glXDisp_CopyColorSubTable(GLbyte * pc)
+void __glXDisp_CopyColorSubTable(GLbyte * pc)
{
- glCopyColorSubTable(*(GLenum *) (pc + 0),
- *(GLsizei *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
+ CALL_CopyColorSubTable( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLsizei *)(pc + 4),
+ *(GLint *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLsizei *)(pc + 16)
+ ) );
}
-void
-__glXDisp_ConvolutionFilter1D(GLbyte * pc)
+void __glXDisp_ConvolutionFilter1D(GLbyte * pc)
{
- const GLvoid *const image = (const GLvoid *) ((pc + 44));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const image = (const GLvoid *) (pc + 44);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glConvolutionFilter1D(*(GLenum *) (pc + 20),
- *(GLenum *) (pc + 24),
- *(GLsizei *) (pc + 28),
- *(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image);
+ CALL_ConvolutionFilter1D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 20),
+ *(GLenum *)(pc + 24),
+ *(GLsizei *)(pc + 28),
+ *(GLenum *)(pc + 36),
+ *(GLenum *)(pc + 40),
+ image
+ ) );
}
-void
-__glXDisp_ConvolutionFilter2D(GLbyte * pc)
+void __glXDisp_ConvolutionFilter2D(GLbyte * pc)
{
- const GLvoid *const image = (const GLvoid *) ((pc + 44));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const image = (const GLvoid *) (pc + 44);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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) );
- glConvolutionFilter2D(*(GLenum *) (pc + 20),
- *(GLenum *) (pc + 24),
- *(GLsizei *) (pc + 28),
- *(GLsizei *) (pc + 32),
- *(GLenum *) (pc + 36), *(GLenum *) (pc + 40), image);
+ CALL_ConvolutionFilter2D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 20),
+ *(GLenum *)(pc + 24),
+ *(GLsizei *)(pc + 28),
+ *(GLsizei *)(pc + 32),
+ *(GLenum *)(pc + 36),
+ *(GLenum *)(pc + 40),
+ image
+ ) );
}
-void
-__glXDisp_ConvolutionParameterf(GLbyte * pc)
+void __glXDisp_ConvolutionParameterf(GLbyte * pc)
{
- glConvolutionParameterf(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLfloat *) (pc + 8));
+ CALL_ConvolutionParameterf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ConvolutionParameterfv(GLbyte * pc)
+void __glXDisp_ConvolutionParameterfv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 8);
- glConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_ConvolutionParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_ConvolutionParameteri(GLbyte * pc)
+void __glXDisp_ConvolutionParameteri(GLbyte * pc)
{
- glConvolutionParameteri(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLint *) (pc + 8));
+ CALL_ConvolutionParameteri( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ConvolutionParameteriv(GLbyte * pc)
+void __glXDisp_ConvolutionParameteriv(GLbyte * pc)
{
- const GLenum pname = *(GLenum *) (pc + 4);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 4);
+ const GLint * params;
params = (const GLint *) (pc + 8);
- glConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_ConvolutionParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_CopyConvolutionFilter1D(GLbyte * pc)
+void __glXDisp_CopyConvolutionFilter1D(GLbyte * pc)
{
- glCopyConvolutionFilter1D(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12), *(GLsizei *) (pc + 16));
+ CALL_CopyConvolutionFilter1D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLsizei *)(pc + 16)
+ ) );
}
-void
-__glXDisp_CopyConvolutionFilter2D(GLbyte * pc)
+void __glXDisp_CopyConvolutionFilter2D(GLbyte * pc)
{
- glCopyConvolutionFilter2D(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLint *) (pc + 12),
- *(GLsizei *) (pc + 16), *(GLsizei *) (pc + 20));
+ CALL_CopyConvolutionFilter2D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLint *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLsizei *)(pc + 16),
+ *(GLsizei *)(pc + 20)
+ ) );
}
-int
-__glXDisp_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetConvolutionParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetConvolutionParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetConvolutionParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3045,28 +3390,28 @@ __glXDisp_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetConvolutionParameterfvEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetConvolutionParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetConvolutionParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3074,28 +3419,28 @@ __glXDisp_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetConvolutionParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetConvolutionParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetConvolutionParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3103,28 +3448,28 @@ __glXDisp_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetConvolutionParameterivEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetConvolutionParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetConvolutionParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3132,28 +3477,28 @@ __glXDisp_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetHistogramParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetHistogramParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetHistogramParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3161,28 +3506,28 @@ __glXDisp_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetHistogramParameterfvEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetHistogramParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetHistogramParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3190,28 +3535,28 @@ __glXDisp_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetHistogramParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetHistogramParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetHistogramParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3219,28 +3564,28 @@ __glXDisp_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetHistogramParameterivEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetHistogramParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetHistogramParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3248,28 +3593,28 @@ __glXDisp_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMinmaxParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetMinmaxParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetMinmaxParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3277,28 +3622,28 @@ __glXDisp_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMinmaxParameterfvEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetMinmaxParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameterfv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetMinmaxParameterfv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3306,28 +3651,28 @@ __glXDisp_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMinmaxParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetMinmaxParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetMinmaxParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3335,28 +3680,28 @@ __glXDisp_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetMinmaxParameterivEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetMinmaxParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameteriv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetMinmaxParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3364,526 +3709,562 @@ __glXDisp_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_Histogram(GLbyte * pc)
-{
- glHistogram(*(GLenum *) (pc + 0),
- *(GLsizei *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLboolean *) (pc + 12));
+void __glXDisp_Histogram(GLbyte * pc)
+{
+ CALL_Histogram( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLsizei *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ *(GLboolean *)(pc + 12)
+ ) );
}
-void
-__glXDisp_Minmax(GLbyte * pc)
+void __glXDisp_Minmax(GLbyte * pc)
{
- glMinmax(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), *(GLboolean *) (pc + 8));
+ CALL_Minmax( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLboolean *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ResetHistogram(GLbyte * pc)
+void __glXDisp_ResetHistogram(GLbyte * pc)
{
- glResetHistogram(*(GLenum *) (pc + 0));
+ CALL_ResetHistogram( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_ResetMinmax(GLbyte * pc)
+void __glXDisp_ResetMinmax(GLbyte * pc)
{
- glResetMinmax(*(GLenum *) (pc + 0));
+ CALL_ResetMinmax( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_TexImage3D(GLbyte * pc)
+void __glXDisp_TexImage3D(GLbyte * pc)
{
- const CARD32 ptr_is_null = *(CARD32 *) (pc + 76);
- const GLvoid *const pixels =
- (const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80));
- __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
+ const CARD32 ptr_is_null = *(CARD32 *)(pc + 76);
+ const GLvoid * const pixels = (const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80));
+ __GLXpixel3DHeader * const hdr = (__GLXpixel3DHeader *)(pc);
- 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_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) );
- 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);
+ 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
+ ) );
}
-void
-__glXDisp_TexSubImage3D(GLbyte * pc)
+void __glXDisp_TexSubImage3D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 88));
- __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 88);
+ __GLXpixel3DHeader * const hdr = (__GLXpixel3DHeader *)(pc);
- 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_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) );
- 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);
+ 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
+ ) );
}
-void
-__glXDisp_CopyTexSubImage3D(GLbyte * pc)
+void __glXDisp_CopyTexSubImage3D(GLbyte * pc)
{
- 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));
+ 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)
+ ) );
}
-void
-__glXDisp_ActiveTexture(GLbyte * pc)
+void __glXDisp_ActiveTexture(GLbyte * pc)
{
- glActiveTextureARB(*(GLenum *) (pc + 0));
+ CALL_ActiveTexture( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MultiTexCoord1dv(GLbyte * pc)
+void __glXDisp_MultiTexCoord1dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 12);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 12);
pc -= 4;
}
#endif
- glMultiTexCoord1dvARB(*(GLenum *) (pc + 8), (const GLdouble *) (pc + 0));
+ CALL_MultiTexCoord1dv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 8),
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MultiTexCoord1fvARB(GLbyte * pc)
+void __glXDisp_MultiTexCoord1fvARB(GLbyte * pc)
{
- glMultiTexCoord1fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_MultiTexCoord1fvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord1iv(GLbyte * pc)
+void __glXDisp_MultiTexCoord1iv(GLbyte * pc)
{
- glMultiTexCoord1ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ CALL_MultiTexCoord1iv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord1sv(GLbyte * pc)
+void __glXDisp_MultiTexCoord1sv(GLbyte * pc)
{
- glMultiTexCoord1svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_MultiTexCoord1sv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord2dv(GLbyte * pc)
+void __glXDisp_MultiTexCoord2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 20);
pc -= 4;
}
#endif
- glMultiTexCoord2dvARB(*(GLenum *) (pc + 16), (const GLdouble *) (pc + 0));
+ CALL_MultiTexCoord2dv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 16),
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MultiTexCoord2fvARB(GLbyte * pc)
+void __glXDisp_MultiTexCoord2fvARB(GLbyte * pc)
{
- glMultiTexCoord2fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_MultiTexCoord2fvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord2iv(GLbyte * pc)
+void __glXDisp_MultiTexCoord2iv(GLbyte * pc)
{
- glMultiTexCoord2ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ CALL_MultiTexCoord2iv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord2sv(GLbyte * pc)
+void __glXDisp_MultiTexCoord2sv(GLbyte * pc)
{
- glMultiTexCoord2svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_MultiTexCoord2sv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord3dv(GLbyte * pc)
+void __glXDisp_MultiTexCoord3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 28);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 28);
pc -= 4;
}
#endif
- glMultiTexCoord3dvARB(*(GLenum *) (pc + 24), (const GLdouble *) (pc + 0));
+ CALL_MultiTexCoord3dv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 24),
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MultiTexCoord3fvARB(GLbyte * pc)
+void __glXDisp_MultiTexCoord3fvARB(GLbyte * pc)
{
- glMultiTexCoord3fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_MultiTexCoord3fvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord3iv(GLbyte * pc)
+void __glXDisp_MultiTexCoord3iv(GLbyte * pc)
{
- glMultiTexCoord3ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ CALL_MultiTexCoord3iv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord3sv(GLbyte * pc)
+void __glXDisp_MultiTexCoord3sv(GLbyte * pc)
{
- glMultiTexCoord3svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_MultiTexCoord3sv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord4dv(GLbyte * pc)
+void __glXDisp_MultiTexCoord4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 36);
pc -= 4;
}
#endif
- glMultiTexCoord4dvARB(*(GLenum *) (pc + 32), (const GLdouble *) (pc + 0));
+ CALL_MultiTexCoord4dv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 32),
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_MultiTexCoord4fvARB(GLbyte * pc)
+void __glXDisp_MultiTexCoord4fvARB(GLbyte * pc)
{
- glMultiTexCoord4fvARB(*(GLenum *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_MultiTexCoord4fvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord4iv(GLbyte * pc)
+void __glXDisp_MultiTexCoord4iv(GLbyte * pc)
{
- glMultiTexCoord4ivARB(*(GLenum *) (pc + 0), (const GLint *) (pc + 4));
+ CALL_MultiTexCoord4iv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_MultiTexCoord4sv(GLbyte * pc)
+void __glXDisp_MultiTexCoord4sv(GLbyte * pc)
{
- glMultiTexCoord4svARB(*(GLenum *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_MultiTexCoord4sv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_CompressedTexImage1D(GLbyte * pc)
+void __glXDisp_CompressedTexImage1D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D =
- __glGetProcAddress("glCompressedTexImage1D");
- const GLsizei imageSize = *(GLsizei *) (pc + 20);
+ const GLsizei imageSize = *(GLsizei *)(pc + 20);
- CompressedTexImage1D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLint *) (pc + 16),
- imageSize, (const GLvoid *) (pc + 24));
+ CALL_CompressedTexImage1D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ *(GLsizei *)(pc + 12),
+ *(GLint *)(pc + 16),
+ imageSize,
+ (const GLvoid *)(pc + 24)
+ ) );
}
-void
-__glXDisp_CompressedTexImage2D(GLbyte * pc)
+void __glXDisp_CompressedTexImage2D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D =
- __glGetProcAddress("glCompressedTexImage2D");
- const GLsizei imageSize = *(GLsizei *) (pc + 24);
+ const GLsizei imageSize = *(GLsizei *)(pc + 24);
- CompressedTexImage2D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLenum *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLsizei *) (pc + 16),
- *(GLint *) (pc + 20),
- imageSize, (const GLvoid *) (pc + 28));
+ CALL_CompressedTexImage2D( 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)
+ ) );
}
-void
-__glXDisp_CompressedTexImage3D(GLbyte * pc)
+void __glXDisp_CompressedTexImage3D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D =
- __glGetProcAddress("glCompressedTexImage3D");
- const GLsizei imageSize = *(GLsizei *) (pc + 28);
+ const GLsizei imageSize = *(GLsizei *)(pc + 28);
- 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));
+ CALL_CompressedTexImage3D( 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)
+ ) );
}
-void
-__glXDisp_CompressedTexSubImage1D(GLbyte * pc)
+void __glXDisp_CompressedTexSubImage1D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D =
- __glGetProcAddress("glCompressedTexSubImage1D");
- const GLsizei imageSize = *(GLsizei *) (pc + 20);
+ const GLsizei imageSize = *(GLsizei *)(pc + 20);
- CompressedTexSubImage1D(*(GLenum *) (pc + 0),
- *(GLint *) (pc + 4),
- *(GLint *) (pc + 8),
- *(GLsizei *) (pc + 12),
- *(GLenum *) (pc + 16),
- imageSize, (const GLvoid *) (pc + 24));
+ CALL_CompressedTexSubImage1D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4),
+ *(GLint *)(pc + 8),
+ *(GLsizei *)(pc + 12),
+ *(GLenum *)(pc + 16),
+ imageSize,
+ (const GLvoid *)(pc + 24)
+ ) );
}
-void
-__glXDisp_CompressedTexSubImage2D(GLbyte * pc)
+void __glXDisp_CompressedTexSubImage2D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D =
- __glGetProcAddress("glCompressedTexSubImage2D");
- const GLsizei imageSize = *(GLsizei *) (pc + 28);
+ const GLsizei imageSize = *(GLsizei *)(pc + 28);
- 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));
+ CALL_CompressedTexSubImage2D( 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)
+ ) );
}
-void
-__glXDisp_CompressedTexSubImage3D(GLbyte * pc)
+void __glXDisp_CompressedTexSubImage3D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D =
- __glGetProcAddress("glCompressedTexSubImage3D");
- const GLsizei imageSize = *(GLsizei *) (pc + 36);
+ const GLsizei imageSize = *(GLsizei *)(pc + 36);
- 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));
+ CALL_CompressedTexSubImage3D( 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)
+ ) );
}
-void
-__glXDisp_SampleCoverage(GLbyte * pc)
+void __glXDisp_SampleCoverage(GLbyte * pc)
{
- PFNGLSAMPLECOVERAGEPROC SampleCoverage =
- __glGetProcAddress("glSampleCoverage");
- SampleCoverage(*(GLclampf *) (pc + 0), *(GLboolean *) (pc + 4));
+ CALL_SampleCoverage( GET_DISPATCH(), (
+ *(GLclampf *)(pc + 0),
+ *(GLboolean *)(pc + 4)
+ ) );
}
-void
-__glXDisp_BlendFuncSeparate(GLbyte * pc)
+void __glXDisp_BlendFuncSeparate(GLbyte * pc)
{
- PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate =
- __glGetProcAddress("glBlendFuncSeparate");
- BlendFuncSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLenum *) (pc + 12));
+ CALL_BlendFuncSeparate( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ *(GLenum *)(pc + 12)
+ ) );
}
-void
-__glXDisp_FogCoorddv(GLbyte * pc)
+void __glXDisp_FogCoorddv(GLbyte * pc)
{
- PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv");
-
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- FogCoorddv((const GLdouble *) (pc + 0));
+ CALL_FogCoorddv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_PointParameterf(GLbyte * pc)
+void __glXDisp_PointParameterf(GLbyte * pc)
{
- PFNGLPOINTPARAMETERFPROC PointParameterf =
- __glGetProcAddress("glPointParameterf");
- PointParameterf(*(GLenum *) (pc + 0), *(GLfloat *) (pc + 4));
+ CALL_PointParameterf( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_PointParameterfv(GLbyte * pc)
+void __glXDisp_PointParameterfv(GLbyte * pc)
{
- PFNGLPOINTPARAMETERFVPROC PointParameterfv =
- __glGetProcAddress("glPointParameterfv");
- const GLenum pname = *(GLenum *) (pc + 0);
- const GLfloat *params;
+ const GLenum pname = *(GLenum *)(pc + 0);
+ const GLfloat * params;
params = (const GLfloat *) (pc + 4);
- PointParameterfv(pname, params);
+ CALL_PointParameterfv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_PointParameteri(GLbyte * pc)
+void __glXDisp_PointParameteri(GLbyte * pc)
{
- PFNGLPOINTPARAMETERIPROC PointParameteri =
- __glGetProcAddress("glPointParameteri");
- PointParameteri(*(GLenum *) (pc + 0), *(GLint *) (pc + 4));
+ CALL_PointParameteri( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_PointParameteriv(GLbyte * pc)
+void __glXDisp_PointParameteriv(GLbyte * pc)
{
- PFNGLPOINTPARAMETERIVPROC PointParameteriv =
- __glGetProcAddress("glPointParameteriv");
- const GLenum pname = *(GLenum *) (pc + 0);
- const GLint *params;
+ const GLenum pname = *(GLenum *)(pc + 0);
+ const GLint * params;
params = (const GLint *) (pc + 4);
- PointParameteriv(pname, params);
+ CALL_PointParameteriv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDisp_SecondaryColor3bv(GLbyte * pc)
+void __glXDisp_SecondaryColor3bv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv =
- __glGetProcAddress("glSecondaryColor3bv");
- SecondaryColor3bv((const GLbyte *) (pc + 0));
+ CALL_SecondaryColor3bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_SecondaryColor3dv(GLbyte * pc)
+void __glXDisp_SecondaryColor3dv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv =
- __glGetProcAddress("glSecondaryColor3dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- SecondaryColor3dv((const GLdouble *) (pc + 0));
+ CALL_SecondaryColor3dv( GET_DISPATCH(), (
+ (const GLdouble *)(pc + 0)
+ ) );
}
-void
-__glXDisp_SecondaryColor3iv(GLbyte * pc)
+void __glXDisp_SecondaryColor3iv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv =
- __glGetProcAddress("glSecondaryColor3iv");
- SecondaryColor3iv((const GLint *) (pc + 0));
+ CALL_SecondaryColor3iv( GET_DISPATCH(), (
+ (const GLint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_SecondaryColor3sv(GLbyte * pc)
+void __glXDisp_SecondaryColor3sv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv =
- __glGetProcAddress("glSecondaryColor3sv");
- SecondaryColor3sv((const GLshort *) (pc + 0));
+ CALL_SecondaryColor3sv( GET_DISPATCH(), (
+ (const GLshort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_SecondaryColor3ubv(GLbyte * pc)
+void __glXDisp_SecondaryColor3ubv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv =
- __glGetProcAddress("glSecondaryColor3ubv");
- SecondaryColor3ubv((const GLubyte *) (pc + 0));
+ CALL_SecondaryColor3ubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDisp_SecondaryColor3uiv(GLbyte * pc)
+void __glXDisp_SecondaryColor3uiv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv =
- __glGetProcAddress("glSecondaryColor3uiv");
- SecondaryColor3uiv((const GLuint *) (pc + 0));
+ CALL_SecondaryColor3uiv( GET_DISPATCH(), (
+ (const GLuint *)(pc + 0)
+ ) );
}
-void
-__glXDisp_SecondaryColor3usv(GLbyte * pc)
+void __glXDisp_SecondaryColor3usv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv =
- __glGetProcAddress("glSecondaryColor3usv");
- SecondaryColor3usv((const GLushort *) (pc + 0));
+ CALL_SecondaryColor3usv( GET_DISPATCH(), (
+ (const GLushort *)(pc + 0)
+ ) );
}
-void
-__glXDisp_WindowPos3fv(GLbyte * pc)
+void __glXDisp_WindowPos3fv(GLbyte * pc)
{
- PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv");
-
- WindowPos3fv((const GLfloat *) (pc + 0));
+ CALL_WindowPos3fv( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
}
-void
-__glXDisp_BeginQuery(GLbyte * pc)
+void __glXDisp_BeginQuery(GLbyte * pc)
{
- PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery");
-
- BeginQuery(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ CALL_BeginQuery( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4)
+ ) );
}
-int
-__glXDisp_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_DeleteQueries(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLDELETEQUERIESPROC DeleteQueries =
- __glGetProcAddress("glDeleteQueries");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
- DeleteQueries(n, (const GLuint *) (pc + 4));
+ CALL_DeleteQueries( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-void
-__glXDisp_EndQuery(GLbyte * pc)
+void __glXDisp_EndQuery(GLbyte * pc)
{
- PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery");
-
- EndQuery(*(GLenum *) (pc + 0));
+ CALL_EndQuery( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-int
-__glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GenQueries(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ 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);
+ GLuint * ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenQueries( GET_DISPATCH(), (
+ n,
+ ids
+ ) );
__glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -3891,30 +4272,28 @@ __glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetQueryObjectiv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv =
- __glGetProcAddress("glGetQueryObjectiv");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ 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);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetQueryObjectiv(*(GLuint *) (pc + 0), pname, params);
+ CALL_GetQueryObjectiv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3922,30 +4301,28 @@ __glXDisp_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetQueryObjectuiv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv =
- __glGetProcAddress("glGetQueryObjectuiv");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ 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);
+ GLuint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetQueryObjectuiv(*(GLuint *) (pc + 0), pname, params);
+ CALL_GetQueryObjectuiv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3953,29 +4330,28 @@ __glXDisp_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetQueryiv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ 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);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetQueryiv(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetQueryiv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -3983,19 +4359,18 @@ __glXDisp_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_IsQuery(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = IsQuery(*(GLuint *) (pc + 0));
+ retval = CALL_IsQuery( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4003,257 +4378,343 @@ __glXDisp_IsQuery(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_BlendEquationSeparate(GLbyte * pc)
+void __glXDisp_BlendEquationSeparate(GLbyte * pc)
+{
+ CALL_BlendEquationSeparate( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4)
+ ) );
+}
+
+void __glXDisp_DrawBuffers(GLbyte * pc)
+{
+ const GLsizei n = *(GLsizei *)(pc + 0);
+
+ CALL_DrawBuffers( GET_DISPATCH(), (
+ n,
+ (const GLenum *)(pc + 4)
+ ) );
+}
+
+int __glXDisp_GetVertexAttribdv(__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 = __glGetVertexAttribdv_size(pname);
+ GLdouble answerBuffer[200];
+ GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
+
+ if (params == NULL) return BadAlloc;
+ __glXClearErrorOccured();
+
+ CALL_GetVertexAttribdv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ pname,
+ params
+ ) );
+ __glXSendReply(cl->client, params, compsize, 8, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
+}
+
+int __glXDisp_GetVertexAttribfv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate =
- __glGetProcAddress("glBlendEquationSeparate");
- BlendEquationSeparate(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ 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 = __glGetVertexAttribfv_size(pname);
+ GLfloat answerBuffer[200];
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (params == NULL) return BadAlloc;
+ __glXClearErrorOccured();
+
+ CALL_GetVertexAttribfv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ pname,
+ params
+ ) );
+ __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
}
-void
-__glXDisp_DrawBuffers(GLbyte * pc)
+int __glXDisp_GetVertexAttribiv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers");
- const GLsizei n = *(GLsizei *) (pc + 0);
+ 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 = __glGetVertexAttribiv_size(pname);
+ GLint answerBuffer[200];
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- DrawBuffers(n, (const GLenum *) (pc + 4));
+ if (params == NULL) return BadAlloc;
+ __glXClearErrorOccured();
+
+ CALL_GetVertexAttribiv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ pname,
+ params
+ ) );
+ __glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
+ error = Success;
+ }
+
+ return error;
}
-void
-__glXDisp_VertexAttrib1dv(GLbyte * pc)
+void __glXDisp_VertexAttrib1dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv =
- __glGetProcAddress("glVertexAttrib1dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 12);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 12);
pc -= 4;
}
#endif
- VertexAttrib1dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_VertexAttrib1dv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLdouble *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib1sv(GLbyte * pc)
+void __glXDisp_VertexAttrib1sv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1SVPROC VertexAttrib1sv =
- __glGetProcAddress("glVertexAttrib1sv");
- VertexAttrib1sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib1sv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib2dv(GLbyte * pc)
+void __glXDisp_VertexAttrib2dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv =
- __glGetProcAddress("glVertexAttrib2dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 20);
pc -= 4;
}
#endif
- VertexAttrib2dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_VertexAttrib2dv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLdouble *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib2sv(GLbyte * pc)
+void __glXDisp_VertexAttrib2sv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2SVPROC VertexAttrib2sv =
- __glGetProcAddress("glVertexAttrib2sv");
- VertexAttrib2sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib2sv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib3dv(GLbyte * pc)
+void __glXDisp_VertexAttrib3dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv =
- __glGetProcAddress("glVertexAttrib3dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 28);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 28);
pc -= 4;
}
#endif
- VertexAttrib3dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_VertexAttrib3dv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLdouble *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib3sv(GLbyte * pc)
+void __glXDisp_VertexAttrib3sv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3SVPROC VertexAttrib3sv =
- __glGetProcAddress("glVertexAttrib3sv");
- VertexAttrib3sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib3sv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4Nbv(GLbyte * pc)
+void __glXDisp_VertexAttrib4Nbv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv =
- __glGetProcAddress("glVertexAttrib4Nbv");
- VertexAttrib4Nbv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
+ CALL_VertexAttrib4Nbv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLbyte *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4Niv(GLbyte * pc)
+void __glXDisp_VertexAttrib4Niv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NIVPROC VertexAttrib4Niv =
- __glGetProcAddress("glVertexAttrib4Niv");
- VertexAttrib4Niv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
+ CALL_VertexAttrib4Niv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4Nsv(GLbyte * pc)
+void __glXDisp_VertexAttrib4Nsv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NSVPROC VertexAttrib4Nsv =
- __glGetProcAddress("glVertexAttrib4Nsv");
- VertexAttrib4Nsv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib4Nsv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4Nubv(GLbyte * pc)
+void __glXDisp_VertexAttrib4Nubv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv =
- __glGetProcAddress("glVertexAttrib4Nubv");
- VertexAttrib4Nubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
+ CALL_VertexAttrib4Nubv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLubyte *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4Nuiv(GLbyte * pc)
+void __glXDisp_VertexAttrib4Nuiv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NUIVPROC VertexAttrib4Nuiv =
- __glGetProcAddress("glVertexAttrib4Nuiv");
- VertexAttrib4Nuiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
+ CALL_VertexAttrib4Nuiv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLuint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4Nusv(GLbyte * pc)
+void __glXDisp_VertexAttrib4Nusv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NUSVPROC VertexAttrib4Nusv =
- __glGetProcAddress("glVertexAttrib4Nusv");
- VertexAttrib4Nusv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
+ CALL_VertexAttrib4Nusv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLushort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4bv(GLbyte * pc)
+void __glXDisp_VertexAttrib4bv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv =
- __glGetProcAddress("glVertexAttrib4bv");
- VertexAttrib4bv(*(GLuint *) (pc + 0), (const GLbyte *) (pc + 4));
+ CALL_VertexAttrib4bv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLbyte *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4dv(GLbyte * pc)
+void __glXDisp_VertexAttrib4dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv =
- __glGetProcAddress("glVertexAttrib4dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 36);
pc -= 4;
}
#endif
- VertexAttrib4dv(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_VertexAttrib4dv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLdouble *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4iv(GLbyte * pc)
+void __glXDisp_VertexAttrib4iv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4IVPROC VertexAttrib4iv =
- __glGetProcAddress("glVertexAttrib4iv");
- VertexAttrib4iv(*(GLuint *) (pc + 0), (const GLint *) (pc + 4));
+ CALL_VertexAttrib4iv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4sv(GLbyte * pc)
+void __glXDisp_VertexAttrib4sv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4SVPROC VertexAttrib4sv =
- __glGetProcAddress("glVertexAttrib4sv");
- VertexAttrib4sv(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib4sv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4ubv(GLbyte * pc)
+void __glXDisp_VertexAttrib4ubv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv =
- __glGetProcAddress("glVertexAttrib4ubv");
- VertexAttrib4ubv(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
+ CALL_VertexAttrib4ubv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLubyte *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4uiv(GLbyte * pc)
+void __glXDisp_VertexAttrib4uiv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4UIVPROC VertexAttrib4uiv =
- __glGetProcAddress("glVertexAttrib4uiv");
- VertexAttrib4uiv(*(GLuint *) (pc + 0), (const GLuint *) (pc + 4));
+ CALL_VertexAttrib4uiv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLuint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4usv(GLbyte * pc)
+void __glXDisp_VertexAttrib4usv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4USVPROC VertexAttrib4usv =
- __glGetProcAddress("glVertexAttrib4usv");
- VertexAttrib4usv(*(GLuint *) (pc + 0), (const GLushort *) (pc + 4));
+ CALL_VertexAttrib4usv( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLushort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_ClampColor(GLbyte * pc)
+void __glXDisp_ClampColor(GLbyte * pc)
{
- PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor");
-
- ClampColor(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4));
+ CALL_ClampColor( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4)
+ ) );
}
-void
-__glXDisp_BindProgramARB(GLbyte * pc)
+void __glXDisp_BindProgramARB(GLbyte * pc)
{
- PFNGLBINDPROGRAMARBPROC BindProgramARB =
- __glGetProcAddress("glBindProgramARB");
- BindProgramARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ CALL_BindProgramARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4)
+ ) );
}
-int
-__glXDisp_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_DeleteProgramsARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB =
- __glGetProcAddress("glDeleteProgramsARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
- DeleteProgramsARB(n, (const GLuint *) (pc + 4));
+ CALL_DeleteProgramsARB( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4)
+ ) );
error = Success;
}
return error;
}
-int
-__glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GenProgramsARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENPROGRAMSARBPROC GenProgramsARB =
- __glGetProcAddress("glGenProgramsARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ 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);
+ GLuint * programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenProgramsARB( GET_DISPATCH(), (
+ n,
+ programs
+ ) );
__glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4261,21 +4722,20 @@ __glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB =
- __glGetProcAddress("glGetProgramEnvParameterdvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLdouble params[4];
-
- GetProgramEnvParameterdvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ CALL_GetProgramEnvParameterdvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ params
+ ) );
__glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
error = Success;
}
@@ -4283,21 +4743,20 @@ __glXDisp_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB =
- __glGetProcAddress("glGetProgramEnvParameterfvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLfloat params[4];
-
- GetProgramEnvParameterfvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ CALL_GetProgramEnvParameterfvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ params
+ ) );
__glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
error = Success;
}
@@ -4305,21 +4764,20 @@ __glXDisp_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB =
- __glGetProcAddress("glGetProgramLocalParameterdvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLdouble params[4];
-
- GetProgramLocalParameterdvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ CALL_GetProgramLocalParameterdvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ params
+ ) );
__glXSendReply(cl->client, params, 4, 8, GL_FALSE, 0);
error = Success;
}
@@ -4327,21 +4785,20 @@ __glXDisp_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB =
- __glGetProcAddress("glGetProgramLocalParameterfvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLfloat params[4];
-
- GetProgramLocalParameterfvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4), params);
+ CALL_GetProgramLocalParameterfvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ params
+ ) );
__glXSendReply(cl->client, params, 4, 4, GL_FALSE, 0);
error = Success;
}
@@ -4349,30 +4806,28 @@ __glXDisp_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetProgramivARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMIVARBPROC GetProgramivARB =
- __glGetProcAddress("glGetProgramivARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLenum pname = *(GLenum *) (pc + 4);
+ if ( cx != NULL ) {
+ const GLenum pname = *(GLenum *)(pc + 4);
const GLuint compsize = __glGetProgramivARB_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetProgramivARB(*(GLenum *) (pc + 0), pname, params);
+ CALL_GetProgramivARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ pname,
+ params
+ ) );
__glXSendReply(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -4380,19 +4835,18 @@ __glXDisp_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_IsProgramARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = IsProgramARB(*(GLuint *) (pc + 0));
+ retval = CALL_IsProgramARB( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4400,143 +4854,144 @@ __glXDisp_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_ProgramEnvParameter4dvARB(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);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 40);
pc -= 4;
}
#endif
- ProgramEnvParameter4dvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4),
- (const GLdouble *) (pc + 8));
+ CALL_ProgramEnvParameter4dvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ (const GLdouble *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc)
+void __glXDisp_ProgramEnvParameter4fvARB(GLbyte * pc)
{
- PFNGLPROGRAMENVPARAMETER4FVARBPROC ProgramEnvParameter4fvARB =
- __glGetProcAddress("glProgramEnvParameter4fvARB");
- ProgramEnvParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
- (const GLfloat *) (pc + 8));
+ CALL_ProgramEnvParameter4fvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
+void __glXDisp_ProgramLocalParameter4dvARB(GLbyte * pc)
{
- PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB =
- __glGetProcAddress("glProgramLocalParameter4dvARB");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 40);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 40);
pc -= 4;
}
#endif
- ProgramLocalParameter4dvARB(*(GLenum *) (pc + 0),
- *(GLuint *) (pc + 4),
- (const GLdouble *) (pc + 8));
+ CALL_ProgramLocalParameter4dvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ (const GLdouble *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc)
+void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc)
{
- PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ProgramLocalParameter4fvARB =
- __glGetProcAddress("glProgramLocalParameter4fvARB");
- ProgramLocalParameter4fvARB(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4),
- (const GLfloat *) (pc + 8));
+ CALL_ProgramLocalParameter4fvARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ProgramStringARB(GLbyte * pc)
+void __glXDisp_ProgramStringARB(GLbyte * pc)
{
- PFNGLPROGRAMSTRINGARBPROC ProgramStringARB =
- __glGetProcAddress("glProgramStringARB");
- const GLsizei len = *(GLsizei *) (pc + 8);
+ const GLsizei len = *(GLsizei *)(pc + 8);
- ProgramStringARB(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), len, (const GLvoid *) (pc + 12));
+ CALL_ProgramStringARB( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ len,
+ (const GLvoid *)(pc + 12)
+ ) );
}
-void
-__glXDisp_VertexAttrib1fvARB(GLbyte * pc)
+void __glXDisp_VertexAttrib1fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB =
- __glGetProcAddress("glVertexAttrib1fvARB");
- VertexAttrib1fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_VertexAttrib1fvARB( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib2fvARB(GLbyte * pc)
+void __glXDisp_VertexAttrib2fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB =
- __glGetProcAddress("glVertexAttrib2fvARB");
- VertexAttrib2fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_VertexAttrib2fvARB( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib3fvARB(GLbyte * pc)
+void __glXDisp_VertexAttrib3fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB =
- __glGetProcAddress("glVertexAttrib3fvARB");
- VertexAttrib3fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_VertexAttrib3fvARB( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4fvARB(GLbyte * pc)
+void __glXDisp_VertexAttrib4fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB =
- __glGetProcAddress("glVertexAttrib4fvARB");
- VertexAttrib4fvARB(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_VertexAttrib4fvARB( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_BindFramebuffer(GLbyte * pc)
+void __glXDisp_BindFramebuffer(GLbyte * pc)
{
- PFNGLBINDFRAMEBUFFERPROC BindFramebuffer =
- __glGetProcAddress("glBindFramebuffer");
- BindFramebuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ CALL_BindFramebuffer( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_BindRenderbuffer(GLbyte * pc)
+void __glXDisp_BindRenderbuffer(GLbyte * pc)
{
- PFNGLBINDRENDERBUFFERPROC BindRenderbuffer =
- __glGetProcAddress("glBindRenderbuffer");
- BindRenderbuffer(*(GLenum *) (pc + 0), *(GLuint *) (pc + 4));
+ CALL_BindRenderbuffer( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_BlitFramebuffer(GLbyte * pc)
+void __glXDisp_BlitFramebuffer(GLbyte * pc)
{
- 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));
+ CALL_BlitFramebuffer( 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)
+ ) );
}
-int
-__glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_CheckFramebufferStatus(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus =
- __glGetProcAddress("glCheckFramebufferStatus");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLenum retval;
-
- retval = CheckFramebufferStatus(*(GLenum *) (pc + 0));
+ retval = CALL_CheckFramebufferStatus( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4544,93 +4999,97 @@ __glXDisp_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_DeleteFramebuffers(GLbyte * pc)
+void __glXDisp_DeleteFramebuffers(GLbyte * pc)
{
- PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers =
- __glGetProcAddress("glDeleteFramebuffers");
- const GLsizei n = *(GLsizei *) (pc + 0);
+ const GLsizei n = *(GLsizei *)(pc + 0);
- DeleteFramebuffers(n, (const GLuint *) (pc + 4));
+ CALL_DeleteFramebuffers( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_DeleteRenderbuffers(GLbyte * pc)
+void __glXDisp_DeleteRenderbuffers(GLbyte * pc)
{
- PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers =
- __glGetProcAddress("glDeleteRenderbuffers");
- const GLsizei n = *(GLsizei *) (pc + 0);
+ const GLsizei n = *(GLsizei *)(pc + 0);
- DeleteRenderbuffers(n, (const GLuint *) (pc + 4));
+ CALL_DeleteRenderbuffers( GET_DISPATCH(), (
+ n,
+ (const GLuint *)(pc + 4)
+ ) );
}
-void
-__glXDisp_FramebufferRenderbuffer(GLbyte * pc)
+void __glXDisp_FramebufferRenderbuffer(GLbyte * pc)
{
- PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer =
- __glGetProcAddress("glFramebufferRenderbuffer");
- FramebufferRenderbuffer(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLuint *) (pc + 12));
+ CALL_FramebufferRenderbuffer( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ *(GLuint *)(pc + 12)
+ ) );
}
-void
-__glXDisp_FramebufferTexture1D(GLbyte * pc)
+void __glXDisp_FramebufferTexture1D(GLbyte * pc)
{
- PFNGLFRAMEBUFFERTEXTURE1DPROC FramebufferTexture1D =
- __glGetProcAddress("glFramebufferTexture1D");
- FramebufferTexture1D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
- *(GLint *) (pc + 16));
+ CALL_FramebufferTexture1D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ *(GLuint *)(pc + 12),
+ *(GLint *)(pc + 16)
+ ) );
}
-void
-__glXDisp_FramebufferTexture2D(GLbyte * pc)
+void __glXDisp_FramebufferTexture2D(GLbyte * pc)
{
- PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D =
- __glGetProcAddress("glFramebufferTexture2D");
- FramebufferTexture2D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
- *(GLint *) (pc + 16));
+ CALL_FramebufferTexture2D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ *(GLuint *)(pc + 12),
+ *(GLint *)(pc + 16)
+ ) );
}
-void
-__glXDisp_FramebufferTexture3D(GLbyte * pc)
+void __glXDisp_FramebufferTexture3D(GLbyte * pc)
{
- PFNGLFRAMEBUFFERTEXTURE3DPROC FramebufferTexture3D =
- __glGetProcAddress("glFramebufferTexture3D");
- FramebufferTexture3D(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLuint *) (pc + 12),
- *(GLint *) (pc + 16), *(GLint *) (pc + 20));
+ CALL_FramebufferTexture3D( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ *(GLuint *)(pc + 12),
+ *(GLint *)(pc + 16),
+ *(GLint *)(pc + 20)
+ ) );
}
-void
-__glXDisp_FramebufferTextureLayer(GLbyte * pc)
+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));
+ CALL_FramebufferTextureLayer( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLuint *)(pc + 8),
+ *(GLint *)(pc + 12),
+ *(GLint *)(pc + 16)
+ ) );
}
-int
-__glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GenFramebuffers(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENFRAMEBUFFERSPROC GenFramebuffers =
- __glGetProcAddress("glGenFramebuffers");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
GLuint answerBuffer[200];
- GLuint *framebuffers =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- GenFramebuffers(n, framebuffers);
+ GLuint * framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenFramebuffers( GET_DISPATCH(), (
+ n,
+ framebuffers
+ ) );
__glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4638,24 +5097,22 @@ __glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GenRenderbuffers(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENRENDERBUFFERSPROC GenRenderbuffers =
- __glGetProcAddress("glGenRenderbuffers");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
- const GLsizei n = *(GLsizei *) (pc + 0);
+ if ( cx != NULL ) {
+ const GLsizei n = *(GLsizei *)(pc + 0);
GLuint answerBuffer[200];
- GLuint *renderbuffers =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- GenRenderbuffers(n, renderbuffers);
+ GLuint * renderbuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenRenderbuffers( GET_DISPATCH(), (
+ n,
+ renderbuffers
+ ) );
__glXSendReply(cl->client, renderbuffers, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4663,32 +5120,28 @@ __glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDisp_GenerateMipmap(GLbyte * pc)
+void __glXDisp_GenerateMipmap(GLbyte * pc)
{
- PFNGLGENERATEMIPMAPPROC GenerateMipmap =
- __glGetProcAddress("glGenerateMipmap");
- GenerateMipmap(*(GLenum *) (pc + 0));
+ CALL_GenerateMipmap( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0)
+ ) );
}
-int
-__glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
- GLbyte * pc)
+int __glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
- GetFramebufferAttachmentParameteriv =
- __glGetProcAddress("glGetFramebufferAttachmentParameteriv");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLint params[1];
-
- GetFramebufferAttachmentParameteriv(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4),
- *(GLenum *) (pc + 8), params);
+ CALL_GetFramebufferAttachmentParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLenum *)(pc + 8),
+ params
+ ) );
__glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
error = Success;
}
@@ -4696,21 +5149,20 @@ __glXDisp_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
return error;
}
-int
-__glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_GetRenderbufferParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv =
- __glGetProcAddress("glGetRenderbufferParameteriv");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLint params[1];
-
- GetRenderbufferParameteriv(*(GLenum *) (pc + 0),
- *(GLenum *) (pc + 4), params);
+ CALL_GetRenderbufferParameteriv( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ params
+ ) );
__glXSendReply(cl->client, params, 1, 4, GL_FALSE, 0);
error = Success;
}
@@ -4718,20 +5170,37 @@ __glXDisp_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
+int __glXDisp_IsFramebuffer(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLISFRAMEBUFFERPROC IsFramebuffer =
- __glGetProcAddress("glIsFramebuffer");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
+ retval = CALL_IsFramebuffer( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
+ __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+ error = Success;
+ }
+
+ return error;
+}
+
+int __glXDisp_IsRenderbuffer(__GLXclientState *cl, GLbyte *pc)
+{
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
- retval = IsFramebuffer(*(GLuint *) (pc + 0));
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if ( cx != NULL ) {
+ GLboolean retval;
+ retval = CALL_IsRenderbuffer( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0)
+ ) );
__glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4739,364 +5208,743 @@ __glXDisp_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDisp_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
+void __glXDisp_RenderbufferStorage(GLbyte * pc)
+{
+ CALL_RenderbufferStorage( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLenum *)(pc + 4),
+ *(GLsizei *)(pc + 8),
+ *(GLsizei *)(pc + 12)
+ ) );
+}
+
+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_SecondaryColor3fvEXT(GLbyte * pc)
+{
+ CALL_SecondaryColor3fvEXT( GET_DISPATCH(), (
+ (const GLfloat *)(pc + 0)
+ ) );
+}
+
+void __glXDisp_FogCoordfvEXT(GLbyte * pc)
{
- PFNGLISRENDERBUFFERPROC IsRenderbuffer =
- __glGetProcAddress("glIsRenderbuffer");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ CALL_FogCoordfvEXT( 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);
+ __GLXcontext * const cx = __glXForceCurrent(cl, req->contextTag, &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ 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;
+ }
- retval = IsRenderbuffer(*(GLuint *) (pc + 0));
- __glXSendReply(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+ return error;
+}
+
+void __glXDisp_ExecuteProgramNV(GLbyte * pc)
+{
+ CALL_ExecuteProgramNV( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ (const GLfloat *)(pc + 8)
+ ) );
+}
+
+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;
}
-void
-__glXDisp_RenderbufferStorage(GLbyte * pc)
+int __glXDisp_GetVertexAttribdvNV(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage =
- __glGetProcAddress("glRenderbufferStorage");
- RenderbufferStorage(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
- *(GLsizei *) (pc + 8), *(GLsizei *) (pc + 12));
+ 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;
}
-void
-__glXDisp_RenderbufferStorageMultisample(GLbyte * pc)
+int __glXDisp_GetVertexAttribfvNV(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC RenderbufferStorageMultisample =
- __glGetProcAddress("glRenderbufferStorageMultisample");
- RenderbufferStorageMultisample(*(GLenum *) (pc + 0), *(GLsizei *) (pc + 4),
- *(GLenum *) (pc + 8), *(GLsizei *) (pc + 12),
- *(GLsizei *) (pc + 16));
+ 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;
}
-void
-__glXDisp_SecondaryColor3fvEXT(GLbyte * pc)
+int __glXDisp_GetVertexAttribivNV(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT =
- __glGetProcAddress("glSecondaryColor3fvEXT");
- SecondaryColor3fvEXT((const GLfloat *) (pc + 0));
+ 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;
}
-void
-__glXDisp_FogCoordfvEXT(GLbyte * pc)
+void __glXDisp_LoadProgramNV(GLbyte * pc)
{
- PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT =
- __glGetProcAddress("glFogCoordfvEXT");
- FogCoordfvEXT((const GLfloat *) (pc + 0));
+ const GLsizei len = *(GLsizei *)(pc + 8);
+
+ CALL_LoadProgramNV( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ len,
+ (const GLubyte *)(pc + 12)
+ ) );
}
-void
-__glXDisp_VertexAttrib1dvNV(GLbyte * pc)
+void __glXDisp_ProgramParameters4dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV =
- __glGetProcAddress("glVertexAttrib1dvNV");
+ const GLsizei num = *(GLsizei *)(pc + 8);
+
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 12);
+ const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4;
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
- VertexAttrib1dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_ProgramParameters4dvNV( GET_DISPATCH(), (
+ *(GLenum *)(pc + 0),
+ *(GLuint *)(pc + 4),
+ num,
+ (const GLdouble *)(pc + 12)
+ ) );
}
-void
-__glXDisp_VertexAttrib1fvNV(GLbyte * pc)
+void __glXDisp_ProgramParameters4fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV =
- __glGetProcAddress("glVertexAttrib1fvNV");
- VertexAttrib1fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ 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)
+void __glXDisp_VertexAttrib1svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV =
- __glGetProcAddress("glVertexAttrib1svNV");
- VertexAttrib1svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib1svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib2dvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib2dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV =
- __glGetProcAddress("glVertexAttrib2dvNV");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 20);
pc -= 4;
}
#endif
- VertexAttrib2dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_VertexAttrib2dvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLdouble *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib2fvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib2fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV =
- __glGetProcAddress("glVertexAttrib2fvNV");
- VertexAttrib2fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_VertexAttrib2fvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib2svNV(GLbyte * pc)
+void __glXDisp_VertexAttrib2svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV =
- __glGetProcAddress("glVertexAttrib2svNV");
- VertexAttrib2svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib2svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib3dvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib3dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV =
- __glGetProcAddress("glVertexAttrib3dvNV");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 28);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 28);
pc -= 4;
}
#endif
- VertexAttrib3dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_VertexAttrib3dvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLdouble *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib3fvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib3fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV =
- __glGetProcAddress("glVertexAttrib3fvNV");
- VertexAttrib3fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_VertexAttrib3fvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib3svNV(GLbyte * pc)
+void __glXDisp_VertexAttrib3svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV =
- __glGetProcAddress("glVertexAttrib3svNV");
- VertexAttrib3svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib3svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4dvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV =
- __glGetProcAddress("glVertexAttrib4dvNV");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 36);
pc -= 4;
}
#endif
- VertexAttrib4dvNV(*(GLuint *) (pc + 0), (const GLdouble *) (pc + 4));
+ CALL_VertexAttrib4dvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLdouble *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4fvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV =
- __glGetProcAddress("glVertexAttrib4fvNV");
- VertexAttrib4fvNV(*(GLuint *) (pc + 0), (const GLfloat *) (pc + 4));
+ CALL_VertexAttrib4fvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLfloat *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4svNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV =
- __glGetProcAddress("glVertexAttrib4svNV");
- VertexAttrib4svNV(*(GLuint *) (pc + 0), (const GLshort *) (pc + 4));
+ CALL_VertexAttrib4svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLshort *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttrib4ubvNV(GLbyte * pc)
+void __glXDisp_VertexAttrib4ubvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV =
- __glGetProcAddress("glVertexAttrib4ubvNV");
- VertexAttrib4ubvNV(*(GLuint *) (pc + 0), (const GLubyte *) (pc + 4));
+ CALL_VertexAttrib4ubvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ (const GLubyte *)(pc + 4)
+ ) );
}
-void
-__glXDisp_VertexAttribs1dvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs1dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV =
- __glGetProcAddress("glVertexAttribs1dvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ 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);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
- VertexAttribs1dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ CALL_VertexAttribs1dvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLdouble *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs1fvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs1fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV =
- __glGetProcAddress("glVertexAttribs1fvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs1fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ CALL_VertexAttribs1fvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs1svNV(GLbyte * pc)
+void __glXDisp_VertexAttribs1svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV =
- __glGetProcAddress("glVertexAttribs1svNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs1svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ CALL_VertexAttribs1svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLshort *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs2dvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs2dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV =
- __glGetProcAddress("glVertexAttribs2dvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ 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);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
- VertexAttribs2dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ CALL_VertexAttribs2dvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLdouble *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs2fvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs2fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV =
- __glGetProcAddress("glVertexAttribs2fvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs2fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ CALL_VertexAttribs2fvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs2svNV(GLbyte * pc)
+void __glXDisp_VertexAttribs2svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV =
- __glGetProcAddress("glVertexAttribs2svNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs2svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ CALL_VertexAttribs2svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLshort *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs3dvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs3dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV =
- __glGetProcAddress("glVertexAttribs3dvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ 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);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
- VertexAttribs3dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ CALL_VertexAttribs3dvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLdouble *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs3fvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs3fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV =
- __glGetProcAddress("glVertexAttribs3fvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs3fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ CALL_VertexAttribs3fvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs3svNV(GLbyte * pc)
+void __glXDisp_VertexAttribs3svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV =
- __glGetProcAddress("glVertexAttribs3svNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs3svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ CALL_VertexAttribs3svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLshort *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs4dvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs4dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV =
- __glGetProcAddress("glVertexAttribs4dvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ 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);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
- VertexAttribs4dvNV(*(GLuint *) (pc + 0), n, (const GLdouble *) (pc + 8));
+ CALL_VertexAttribs4dvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLdouble *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs4fvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs4fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV =
- __glGetProcAddress("glVertexAttribs4fvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs4fvNV(*(GLuint *) (pc + 0), n, (const GLfloat *) (pc + 8));
+ CALL_VertexAttribs4fvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLfloat *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs4svNV(GLbyte * pc)
+void __glXDisp_VertexAttribs4svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV =
- __glGetProcAddress("glVertexAttribs4svNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs4svNV(*(GLuint *) (pc + 0), n, (const GLshort *) (pc + 8));
+ CALL_VertexAttribs4svNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLshort *)(pc + 8)
+ ) );
}
-void
-__glXDisp_VertexAttribs4ubvNV(GLbyte * pc)
+void __glXDisp_VertexAttribs4ubvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV =
- __glGetProcAddress("glVertexAttribs4ubvNV");
- const GLsizei n = *(GLsizei *) (pc + 4);
+ const GLsizei n = *(GLsizei *)(pc + 4);
- VertexAttribs4ubvNV(*(GLuint *) (pc + 0), n, (const GLubyte *) (pc + 8));
+ CALL_VertexAttribs4ubvNV( GET_DISPATCH(), (
+ *(GLuint *)(pc + 0),
+ n,
+ (const GLubyte *)(pc + 8)
+ ) );
}
-void
-__glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
+void __glXDisp_ActiveStencilFaceEXT(GLbyte * pc)
{
- PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT =
- __glGetProcAddress("glActiveStencilFaceEXT");
- ActiveStencilFaceEXT(*(GLenum *) (pc + 0));
+ 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_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)
+ ) );
+}
+
diff --git a/xorg-server/glx/indirect_dispatch.h b/xorg-server/glx/indirect_dispatch.h
index e6e3fdacf..8a636c37c 100644
--- a/xorg-server/glx/indirect_dispatch.h
+++ b/xorg-server/glx/indirect_dispatch.h
@@ -26,9 +26,9 @@
*/
#if !defined( _INDIRECT_DISPATCH_H_ )
-#define _INDIRECT_DISPATCH_H_
+# define _INDIRECT_DISPATCH_H_
-#include <X11/Xfuncproto.h>
+# include <X11/Xfuncproto.h>
struct __GLXclientStateRec;
@@ -36,243 +36,44 @@ extern _X_HIDDEN void __glXDisp_MapGrid1d(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_MapGrid1d(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_MapGrid1f(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_MapGrid1f(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_NewList(struct __GLXclientStateRec *, GLbyte *);
-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_ConvolutionFilter1D(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_ConvolutionFilter1D(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_RasterPos3dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_RasterPos3dv(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_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 void __glXDisp_Histogram(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Histogram(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetMapfv(struct __GLXclientStateRec *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetMapfv(struct __GLXclientStateRec *,
- GLbyte *);
-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_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 *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_Color3uiv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Color3uiv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_IsEnabled(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_IsEnabled(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_VertexAttrib4svNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttrib4svNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_EvalCoord2fv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_EvalCoord2fv(GLbyte * pc);
-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 *);
-extern _X_HIDDEN int __glXDisp_SwapBuffers(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_SwapBuffers(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN int __glXDisp_IsEnabled(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_IsEnabled(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_Indexubv(GLbyte * pc);
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 void __glXDisp_TexImage3D(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_TexImage3D(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_MakeContextCurrent(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_MakeContextCurrent(struct __GLXclientStateRec
- *, GLbyte *);
-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 void __glXDisp_Vertex3dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Vertex3dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_LightModeliv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_LightModeliv(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);
-extern _X_HIDDEN void __glXDispSwap_Normal3bv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_VendorPrivate(struct __GLXclientStateRec *,
- GLbyte *);
-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_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_Viewport(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Viewport(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 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_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
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameteriv(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetConvolutionParameterivEXT(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameterivEXT(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN void __glXDisp_Vertex2dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Vertex2dv(GLbyte * pc);
-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);
-extern _X_HIDDEN void __glXDispSwap_TexCoord3iv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_CopyContext(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_CopyContext(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetConvolutionParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetConvolutionParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameterivEXT(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_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 *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_LineStipple(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_LineStipple(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_TexEnvi(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_TexEnvi(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetClipPlane(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetClipPlane(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetClipPlane(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetClipPlane(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_VertexAttribs3dvNV(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_VertexAttribs3dvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_VertexAttribs4fvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttribs4fvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Scaled(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Scaled(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_CallLists(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_CallLists(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_AlphaFunc(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_AlphaFunc(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_TexCoord2iv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_TexCoord2iv(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 *,
- GLbyte *);
-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);
extern _X_HIDDEN void __glXDispSwap_TexParameteri(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_DestroyContext(struct __GLXclientStateRec *,
- GLbyte *);
-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_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 *);
-extern _X_HIDDEN void __glXDisp_MapGrid2d(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_MapGrid2d(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_MapGrid2f(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_MapGrid2f(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Scissor(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Scissor(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Fogf(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Fogf(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_TexSubImage1D(GLbyte * pc);
@@ -281,1079 +82,973 @@ extern _X_HIDDEN void __glXDisp_Color4usv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Color4usv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Fogi(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Fogi(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DepthFunc(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DepthFunc(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ProgramEnvParameter4dvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ProgramEnvParameter4dvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ColorTableParameteriv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ColorTableParameteriv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord3iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3iv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_Finish(struct __GLXclientStateRec *, GLbyte *);
+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_LoadMatrixd(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LoadMatrixd(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BlendFuncSeparate(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BlendFuncSeparate(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Indexdv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Indexdv(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_DepthMask(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DepthMask(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_ProgramLocalParameter4dvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexCoord4fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord4fv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_WaitX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_WaitX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GenTextures(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GenTextures(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GenTexturesEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GenTexturesEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttribs2fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs2fvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_WaitGL(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_WaitGL(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_QueryExtensionsString(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_QueryExtensionsString(struct __GLXclientStateRec *, GLbyte *);
+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 *);
+extern _X_HIDDEN int __glXDispSwap_GetHistogramParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetHistogramParameterfvEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetHistogramParameterfvEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetString(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetString(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_MakeCurrentReadSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_MakeCurrentReadSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_QueryVersion(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_QueryVersion(struct __GLXclientStateRec *, GLbyte *);
+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_ColorSubTable(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ColorSubTable(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Rectdv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Rectdv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib2svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib2svNV(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_BindFramebufferEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BindFramebufferEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Color3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BeginQuery(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BeginQuery(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_PixelStoref(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_PixelStoref(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_PixelStorei(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_PixelStorei(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_DestroyGLXPbufferSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DestroyGLXPbufferSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttribs1svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs1svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_RequestResidentProgramsNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_RequestResidentProgramsNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_CheckFramebufferStatus(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CheckFramebufferStatus(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_GetDoublev(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetDoublev(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_IsDirect(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_IsDirect(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_SecondaryColor3ubv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SecondaryColor3ubv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BindProgramARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BindProgramARB(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_ListBase(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ListBase(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_GenerateMipmap(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_GenerateMipmap(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetQueryObjectiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetQueryObjectiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_SecondaryColor3fvEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_WindowPos3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_WindowPos3fv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetHistogramParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetHistogramParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetHistogramParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
+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 int __glXDisp_GetProgramivARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramivARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_BindRenderbuffer(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BindRenderbuffer(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_MakeCurrent(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_MakeCurrent(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_ActiveStencilFaceEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DepthRange(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DepthRange(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_CreateWindow(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CreateWindow(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Rectsv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Rectsv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CullFace(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CullFace(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BindTexture(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BindTexture(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_SecondaryColor3usv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SecondaryColor3usv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetPixelMapuiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetPixelMapuiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Indexfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Indexfv(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_Fogfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Fogfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Minmax(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Minmax(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Vertex4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Vertex4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Begin(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Begin(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LightModeli(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LightModeli(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LightModelf(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LightModelf(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetTexParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord2fvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4ubv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4ubv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ColorMask(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ColorMask(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4Nuiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nuiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord2sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LoadIdentity(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LoadIdentity(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4ubvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4ubvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetMapfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMapfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetPixelMapfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetPixelMapfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4svNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetFBConfigs(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetFBConfigs(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_VendorPrivate(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_VendorPrivate(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_CompressedTexImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CompressedTexImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_SecondaryColor3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SecondaryColor3dv(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_VertexAttrib4Nbv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nbv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetVisualConfigs(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVisualConfigs(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Color3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Scaled(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Scaled(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Scalef(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Scalef(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_ReadPixels(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_ReadPixels(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_RasterPos3iv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_RasterPos3iv(GLbyte * pc);
-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
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_AreTexturesResidentEXT(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_AreTexturesResidentEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_Color3bv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Color3bv(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_ColorTable(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ColorTable(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Accum(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Accum(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetTexImage(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexImage(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_ConvolutionFilter2D(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_ConvolutionFilter2D(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_Finish(struct __GLXclientStateRec *, GLbyte *);
-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_VertexAttribs4ubvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_ConvolutionParameteriv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_ConvolutionParameteriv(GLbyte * pc);
-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);
-extern _X_HIDDEN void __glXDispSwap_RasterPos4fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LoadName(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LoadName(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_CreatePbuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CreatePbuffer(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_ClearIndex(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ClearIndex(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_LoadMatrixd(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_LoadMatrixd(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_PushMatrix(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_PushMatrix(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_ConvolutionParameterfv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ConvolutionParameterfv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetTexGendv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexGendv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_EndList(struct __GLXclientStateRec *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_EndList(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_EvalCoord1fv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_EvalCoord1fv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetTexGendv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexGendv(struct __GLXclientStateRec *, GLbyte *);
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 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
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetMinmax(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetMinmax(struct __GLXclientStateRec *,
- GLbyte *);
-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_End(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_End(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetMinmax(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMinmax(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetMinmaxEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMinmaxEXT(struct __GLXclientStateRec *, GLbyte *);
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
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_CreateContextAttribsARB(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN void __glXDisp_BindTexture(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_BindTexture(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_QueryContextInfoEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_QueryContextInfoEXT(struct __GLXclientStateRec *, GLbyte *);
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_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 int __glXDisp_CopySubBufferMESA(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_CopySubBufferMESA(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN void __glXDisp_BlendEquation(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_BlendEquation(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_GetError(struct __GLXclientStateRec *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetError(struct __GLXclientStateRec *,
- GLbyte *);
-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_PushName(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_PushName(GLbyte * pc);
+extern _X_HIDDEN int __glXDispSwap_GetError(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_PassThrough(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PassThrough(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 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);
-extern _X_HIDDEN void __glXDispSwap_Color4iv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetMaterialiv(struct __GLXclientStateRec *,
- GLbyte *);
-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);
-extern _X_HIDDEN void __glXDispSwap_TexEnvfv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_QueryServerString(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_QueryServerString(struct __GLXclientStateRec
- *, GLbyte *);
-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 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);
-extern _X_HIDDEN void __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_DeleteLists(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_DeleteLists(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN void __glXDisp_SecondaryColor3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SecondaryColor3sv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_DeleteLists(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DeleteLists(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_LogicOp(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_LogicOp(GLbyte * pc);
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_VertexAttrib1dvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttrib1dvNV(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GenTextures(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GenTextures(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GenTexturesEXT(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GenTexturesEXT(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetDrawableAttributes(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetDrawableAttributes(struct
- __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN int __glXDisp_GenProgramsARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GenProgramsARB(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_RasterPos2sv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_RasterPos2sv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Color4ubv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Color4ubv(GLbyte * pc);
-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
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(struct
- __GLXclientStateRec
- *, GLbyte *);
-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_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_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_PushAttrib(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_PushAttrib(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_DestroyPbuffer(struct __GLXclientStateRec *,
- GLbyte *);
-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 int __glXDisp_QueryExtensionsString(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_QueryExtensionsString(struct
- __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN void __glXDisp_ClipPlane(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ClipPlane(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetProgramivNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramivNV(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_RasterPos3fv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_RasterPos3fv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_CopyTexSubImage3D(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_CopyTexSubImage3D(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetColorTable(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetColorTable(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetColorTableSGI(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetColorTableSGI(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN void __glXDisp_Indexiv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Indexiv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_CreateContext(struct __GLXclientStateRec *,
- GLbyte *);
-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 *);
-extern _X_HIDDEN int __glXDispSwap_GetHistogramParameterfv(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetHistogramParameterfvEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetHistogramParameterfvEXT(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN void __glXDisp_Frustum(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Frustum(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetString(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetString(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_CreateGLXPixmap(struct __GLXclientStateRec *,
- GLbyte *);
-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_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 *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_DeleteTexturesEXT(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_DeleteTexturesEXT(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetTexLevelParameteriv(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexLevelParameteriv(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_ClearAccum(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_ClearAccum(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_QueryVersion(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_QueryVersion(struct __GLXclientStateRec *,
- GLbyte *);
-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 *);
-extern _X_HIDDEN int __glXDispSwap_GetDrawableAttributesSGIX(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN void __glXDisp_ColorTableParameteriv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_ColorTableParameteriv(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 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_GetTexParameteriv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexParameteriv(struct __GLXclientStateRec
- *, GLbyte *);
-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_VertexAttrib4dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_CreateGLXPixmap(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CreateGLXPixmap(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetVertexAttribivNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribivNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CopyConvolutionFilter1D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CopyConvolutionFilter1D(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Materialiv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Materialiv(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_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_GetProgramStringARB(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);
extern _X_HIDDEN void __glXDispSwap_TexGenf(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_TexGend(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_TexGend(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetPolygonStipple(struct __GLXclientStateRec *,
- GLbyte *);
-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_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 int __glXDisp_GetVertexAttribfvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribfvNV(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_Color4sv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Color4sv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_PixelZoom(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_PixelZoom(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_ColorTableParameterfv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ColorTableParameterfv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_PixelMapuiv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_PixelMapuiv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Color3dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Color3dv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_IsTexture(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_IsTexture(struct __GLXclientStateRec *,
- GLbyte *);
-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_IsTexture(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_IsTexture(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_IsTextureEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_IsTextureEXT(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 int __glXDisp_PixelStoref(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_PixelStoref(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMapdv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_CompressedTexImage1D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CompressedTexImage1D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_FogCoordfvEXT(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_FogCoordfvEXT(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetColorTableParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetColorTableParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetColorTableParameterfvSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetColorTableParameterfvSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetTexLevelParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexLevelParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Vertex2sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Vertex2sv(GLbyte * pc);
+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 *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexEnviv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_VendorPrivateWithReply(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_VendorPrivateWithReply(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_SeparableFilter2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SeparableFilter2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexImage2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexImage2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_PushMatrix(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PushMatrix(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_TexCoord4dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord4dv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetVertexAttribdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_CopySubBufferMESA(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CopySubBufferMESA(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Ortho(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Ortho(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_ReleaseTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_ReleaseTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_SampleMaskSGIS(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SampleMaskSGIS(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ProgramLocalParameter4fvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ProgramLocalParameter4fvARB(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_VertexAttribs4dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CallList(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CallList(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Materialfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Materialfv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetConvolutionFilter(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetConvolutionFilter(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetConvolutionFilterEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetConvolutionFilterEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_ProgramParameters4dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ProgramParameters4dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DeleteFramebuffers(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DeleteFramebuffers(GLbyte * pc);
+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 int __glXDisp_GetTexGenfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexGenfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_LightModelfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LightModelfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Vertex4dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Vertex4dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ProgramParameters4fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ProgramParameters4fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_StencilMask(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_StencilMask(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_IsList(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_IsList(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttribs4svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs4svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_InitNames(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_InitNames(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Normal3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Normal3sv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_DeleteQueries(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DeleteQueries(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Hint(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Hint(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CopyColorSubTable(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CopyColorSubTable(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Disable(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Disable(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_SelectBuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_SelectBuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_RasterPos4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_RasterPos4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_RasterPos3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_RasterPos3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexCoord1iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord1iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CompressedTexSubImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Histogram(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Histogram(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DrawBuffers(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DrawBuffers(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Color3uiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color3uiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_EvalCoord2fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_EvalCoord2fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LightModeliv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LightModeliv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Normal3bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Normal3bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Vertex3iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Vertex3iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexCoord3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord3dv(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_PrioritizeTextures(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_PrioritizeTextures(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_PixelStorei(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_PixelStorei(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_DestroyGLXPbufferSGIX(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_DestroyGLXPbufferSGIX(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_EvalCoord2dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_EvalCoord2dv(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_SecondaryColor3uiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SecondaryColor3uiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Color3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord1fvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_CopyContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CopyContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_FramebufferTexture2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_FramebufferTexture2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib2dv(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 void __glXDisp_ConvolutionFilter1D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ConvolutionFilter1D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CallLists(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CallLists(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_AlphaFunc(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_AlphaFunc(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_EdgeFlagv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_EdgeFlagv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_DestroyContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DestroyContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Scissor(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Scissor(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Color3bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color3bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttribs4fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs4fvNV(GLbyte * pc);
+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_PixelTransferf(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PixelTransferf(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);
+extern _X_HIDDEN void __glXDispSwap_RasterPos4fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_RasterPos2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_RasterPos2dv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_EndList(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_EndList(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_CreateNewContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CreateNewContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_End(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_End(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Enable(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Enable(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_Clear(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Clear(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ProgramNamedParameter4fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ProgramNamedParameter4fvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_IsRenderbuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_IsRenderbuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetMaterialiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMaterialiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_QueryServerString(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_QueryServerString(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_ConvolutionFilter2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ConvolutionFilter2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Color4bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color4bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib2fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib2fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ActiveTexture(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ActiveTexture(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DrawBuffer(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DrawBuffer(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexGeniv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexGeniv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BlendFunc(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BlendFunc(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_ColorMaterial(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ColorMaterial(GLbyte * pc);
-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
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetSeparableFilterEXT(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetSeparableFilterEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_FeedbackBuffer(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_FeedbackBuffer(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN void __glXDisp_RasterPos3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_RasterPos3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexParameteriv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexParameteriv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib3fvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib3fvARB(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetColorTable(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetColorTable(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetColorTableSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetColorTableSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_CreateContext(struct __GLXclientStateRec *, GLbyte *);
+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_Frustum(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Frustum(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_DeleteTextures(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DeleteTextures(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_DeleteTexturesEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DeleteTexturesEXT(struct __GLXclientStateRec *, GLbyte *);
+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 void __glXDisp_CopyTexImage2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CopyTexImage2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Vertex3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Vertex3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttribs1dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs1dvNV(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_VertexAttribs2svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs2svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_PolygonMode(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PolygonMode(GLbyte * pc);
+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 void __glXDisp_VertexAttrib1dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib1dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_EvalCoord2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_EvalCoord2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CompressedTexSubImage1D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage1D(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetSeparableFilter(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetSeparableFilter(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetSeparableFilterEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetSeparableFilterEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_FeedbackBuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_FeedbackBuffer(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_RasterPos2iv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_RasterPos2iv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_TexImage1D(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_TexImage1D(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_FrontFace(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_FrontFace(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_RenderLarge(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_RenderLarge(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_PolygonOffset(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_PolygonOffset(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);
extern _X_HIDDEN void __glXDispSwap_Lightf(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_MatrixMode(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_MatrixMode(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetPixelMapusv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetPixelMapusv(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetPixelMapusv(struct __GLXclientStateRec *, GLbyte *);
+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_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_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 *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetDoublev(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetDoublev(struct __GLXclientStateRec *,
- GLbyte *);
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_VertexAttrib3fvARB(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttrib3fvARB(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_ClearColor(GLbyte * pc);
-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_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_TrackMatrixNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TrackMatrixNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DrawArrays(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DrawArrays(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 *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetColorTableParameterfv(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetColorTableParameterfv(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetColorTableParameterfvSGI(struct
- __GLXclientStateRec
- *, GLbyte *);
-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
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexLevelParameterfv(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_CheckFramebufferStatus(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 void __glXDisp_VertexAttrib3svNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttrib3svNV(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetTexEnviv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexEnviv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_VendorPrivateWithReply(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_VendorPrivateWithReply(struct
- __GLXclientStateRec *,
- 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_TexImage2D(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_TexImage2D(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_ChangeDrawableAttributes(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_ChangeDrawableAttributes(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetMinmaxParameteriv(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameteriv(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetMinmaxParameterivEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameterivEXT(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN void __glXDisp_PixelTransferf(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_PixelTransferf(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetProgramParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetProgramEnvParameterfvARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramEnvParameterfvARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetMinmaxParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetMinmaxParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_CopyTexImage1D(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_CopyTexImage1D(GLbyte * pc);
-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_VertexAttrib3fvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_VertexAttrib3fvNV(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Clear(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Clear(GLbyte * pc);
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);
-extern _X_HIDDEN void __glXDispSwap_ListBase(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_ConvolutionParameterf(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ConvolutionParameterf(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetColorTableParameteriv(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetColorTableParameteriv(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetColorTableParameterivSGI(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetColorTableParameterivSGI(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_ReleaseTexImageEXT(struct __GLXclientStateRec *,
- GLbyte *);
-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_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_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_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
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_BindTexImageEXT(struct __GLXclientStateRec *,
- GLbyte *);
-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 void __glXDisp_EvalMesh1(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_EvalMesh1(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_CompressedTexSubImage3D(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage3D(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetColorTableParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetColorTableParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetColorTableParameterivSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetColorTableParameterivSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_TexCoord3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord3fv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Vertex2iv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Vertex2iv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_LineWidth(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_LineWidth(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);
extern _X_HIDDEN void __glXDispSwap_ResetMinmax(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetConvolutionParameterfv(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameterfv(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetConvolutionParameterfvEXT(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameterfvEXT(struct
- __GLXclientStateRec
- *, GLbyte *);
-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 *);
+extern _X_HIDDEN int __glXDisp_DeleteProgramsARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DeleteProgramsARB(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_ShadeModel(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_ShadeModel(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Materialfv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Materialfv(GLbyte * pc);
-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_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 *);
-extern _X_HIDDEN int __glXDispSwap_GetProgramLocalParameterdvARB(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetHistogramParameteriv(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetHistogramParameteriv(struct
- __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetHistogramParameterivEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-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_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
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetTexGeniv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexGeniv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_MakeCurrent(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_MakeCurrent(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttribs1fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs1fvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetTexLevelParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexLevelParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetProgramLocalParameterdvARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramLocalParameterdvARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_ClearAccum(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ClearAccum(GLbyte * pc);
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 int __glXDisp_IsProgramARB(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_IsProgramARB(struct __GLXclientStateRec *, GLbyte *);
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
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetConvolutionFilterEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetConvolutionFilterEXT(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 *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetHistogram(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetHistogram(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetHistogramEXT(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetHistogramEXT(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_ActiveStencilFaceEXT(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Materialf(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Materialf(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Materiali(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Materiali(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_RasterPos4dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_RasterPos4dv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetHistogram(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetHistogram(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetHistogramEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetHistogramEXT(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_Indexsv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Indexsv(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 void __glXDisp_EvalCoord1dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_EvalCoord1dv(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Translated(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Translated(GLbyte * pc);
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 int __glXDisp_CreateWindow(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_CreateWindow(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetLightiv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetLightiv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_IsList(struct __GLXclientStateRec *, GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_IsList(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_RenderMode(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_RenderMode(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_LoadName(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_LoadName(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_RenderMode(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_RenderMode(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttribs4ubvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_CopyTexSubImage1D(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_CopyTexSubImage1D(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_CullFace(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_CullFace(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_QueryContextInfoEXT(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_QueryContextInfoEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-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);
extern _X_HIDDEN void __glXDispSwap_CopyPixels(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Rectsv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Rectsv(GLbyte * pc);
-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_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_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 *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_Indexfv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Indexfv(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_QueryContext(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_QueryContext(struct __GLXclientStateRec *,
- GLbyte *);
-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 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);
-extern _X_HIDDEN void __glXDispSwap_Fogfv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_InitNames(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_InitNames(GLbyte * pc);
-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 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 *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_Hint(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Hint(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_SamplePatternSGIS(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SamplePatternSGIS(GLbyte * pc);
extern _X_HIDDEN void __glXDisp_Color4dv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Color4dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_CopyColorSubTable(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_CopyColorSubTable(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_AreProgramsResidentNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_AreProgramsResidentNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetLightfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetLightfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_LineStipple(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LineStipple(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 __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetMinmaxParameterfvEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameterfvEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_NewList(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_NewList(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_TexCoord4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_BlitFramebuffer(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BlitFramebuffer(GLbyte * pc);
+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 *);
+extern _X_HIDDEN int __glXDisp_SwapBuffers(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_SwapBuffers(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_Render(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_Render(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_MakeContextCurrent(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_MakeContextCurrent(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttrib1sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib1sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Vertex3dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Vertex3dv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetVertexAttribfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_CreateGLXPixmapWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_BlendColor(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BlendColor(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Materiali(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Materiali(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib2dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ResetHistogram(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ResetHistogram(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CompressedTexSubImage2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CompressedTexSubImage2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexCoord2sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord2sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexCoord3iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord3iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4Nusv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4Nusv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetTexEnvfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexEnvfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetProgramNamedParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramNamedParameterdvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Vertex2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Vertex2dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord2iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord2iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DrawPixels(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DrawPixels(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttribs3fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs3fvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GenLists(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GenLists(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_MapGrid2d(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MapGrid2d(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MapGrid2f(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MapGrid2f(GLbyte * pc);
+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_Accum(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Accum(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetTexImage(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexImage(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_ConvolutionParameteriv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ConvolutionParameteriv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LoadProgramNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LoadProgramNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_EvalCoord1fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_EvalCoord1fv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetFBConfigsSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetFBConfigsSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Normal3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Normal3fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_MultiTexCoord3fvARB(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetProgramParameterfvNV(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetProgramParameterfvNV(struct __GLXclientStateRec *, GLbyte *);
+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 int __glXDisp_GetVertexAttribiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_BlendEquation(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BlendEquation(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_PushName(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PushName(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_DeleteRenderbuffers(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_DeleteRenderbuffers(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib1dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib1dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Rotated(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Rotated(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Color4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_FramebufferTextureLayer(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_FramebufferTextureLayer(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexEnvfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexEnvfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LoadMatrixf(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LoadMatrixf(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_SecondaryColor3bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_SecondaryColor3bv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexParameterfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexParameterfv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Color4ubv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color4ubv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexCoord2fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexCoord2fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_FogCoorddv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_FogCoorddv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ProgramNamedParameter4dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ProgramNamedParameter4dvNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_Flush(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_Flush(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_DestroyPbuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_DestroyPbuffer(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttrib1svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib1svNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4iv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CopyTexSubImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CopyTexSubImage3D(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Indexiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Indexiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexEnvi(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexEnvi(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_TexEnvf(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_TexEnvf(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_PolygonOffset(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PolygonOffset(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ClearDepth(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ClearDepth(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 void __glXDisp_TexCoord4dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_TexCoord4dv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_Begin(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_Begin(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_ClientInfo(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_ClientInfo(struct __GLXclientStateRec *,
- GLbyte *);
+extern _X_HIDDEN void __glXDisp_Color4fv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Color4fv(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_GetTexParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttrib3sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib3sv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetPolygonStipple(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetPolygonStipple(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_PixelMapuiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PixelMapuiv(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_ExecuteProgramNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ExecuteProgramNV(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetVertexAttribdv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetVertexAttribdv(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_ChangeDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_ChangeDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_BlendEquationSeparate(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_BlendEquationSeparate(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_RasterPos4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_RasterPos4sv(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_ClearColor(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_ClearColor(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 int __glXDisp_SwapIntervalSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_SwapIntervalSGI(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Bitmap(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Bitmap(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_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 int __glXDisp_AreTexturesResident(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_AreTexturesResident(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_AreTexturesResidentEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_AreTexturesResidentEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_ChangeDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_ChangeDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_PixelTransferi(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_PixelTransferi(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttrib3fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib3fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Rotatef(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Rotatef(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_ClientInfo(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_ClientInfo(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttrib4fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib4fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_Rectiv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Rectiv(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_BindTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_BindTexImageEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_EvalMesh1(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_EvalMesh1(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_LineWidth(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_LineWidth(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetConvolutionParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameterfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetConvolutionParameterfvEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetConvolutionParameterfvEXT(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetMaterialfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetMaterialfv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_UseXFont(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_UseXFont(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_VertexAttrib1fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_CopyTexSubImage2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CopyTexSubImage2D(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_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 int __glXDisp_GetTexGeniv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetTexGeniv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_Materialf(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_Materialf(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_VertexAttribs2dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_VertexAttribs2dvNV(GLbyte * pc);
+extern _X_HIDDEN void __glXDisp_EvalCoord1dv(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_EvalCoord1dv(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_GetLightiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetLightiv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN void __glXDisp_CopyConvolutionFilter2D(GLbyte * pc);
+extern _X_HIDDEN void __glXDispSwap_CopyConvolutionFilter2D(GLbyte * pc);
+extern _X_HIDDEN int __glXDisp_QueryContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_QueryContext(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_RenderLarge(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_RenderLarge(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDisp_GetBooleanv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetBooleanv(struct __GLXclientStateRec *, GLbyte *);
extern _X_HIDDEN void __glXDisp_Rectfv(GLbyte * pc);
extern _X_HIDDEN void __glXDispSwap_Rectfv(GLbyte * pc);
-extern _X_HIDDEN void __glXDisp_LightModelf(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_LightModelf(GLbyte * pc);
-extern _X_HIDDEN int __glXDisp_GetTexParameterfv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetTexParameterfv(struct __GLXclientStateRec
- *, GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetLightfv(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetLightfv(struct __GLXclientStateRec *,
- GLbyte *);
-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_SelectBuffer(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_SelectBuffer(struct __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN void __glXDisp_ColorMask(GLbyte * pc);
-extern _X_HIDDEN void __glXDispSwap_ColorMask(GLbyte * pc);
-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
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDisp_GetMinmaxParameterfvEXT(struct
- __GLXclientStateRec *,
- GLbyte *);
-extern _X_HIDDEN int __glXDispSwap_GetMinmaxParameterfvEXT(struct
- __GLXclientStateRec
- *, GLbyte *);
-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 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);
+extern _X_HIDDEN int __glXDisp_GetRenderbufferParameteriv(struct __GLXclientStateRec *, GLbyte *);
+extern _X_HIDDEN int __glXDispSwap_GetRenderbufferParameteriv(struct __GLXclientStateRec *, GLbyte *);
-#endif /* !defined( _INDIRECT_DISPATCH_H_ ) */
+#endif /* !defined( _INDIRECT_DISPATCH_H_ ) */
diff --git a/xorg-server/glx/indirect_dispatch_swap.c b/xorg-server/glx/indirect_dispatch_swap.c
index 647d0c985..4096023a7 100644
--- a/xorg-server/glx/indirect_dispatch_swap.c
+++ b/xorg-server/glx/indirect_dispatch_swap.c
@@ -25,14 +25,25 @@
* SOFTWARE.
*/
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+#include "glheader.h"
+
+#include <X11/Xmd.h>
+#include <GL/gl.h>
+#include <GL/glxproto.h>
#include <inttypes.h>
-#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 "dispatch.h"
#define __GLX_PAD(x) (((x) + 3) & ~3)
@@ -40,91 +51,66 @@ typedef struct {
__GLX_PIXEL_3D_HDR;
} __GLXpixel3DHeader;
-extern GLboolean __glXErrorOccured(void);
-extern void __glXClearErrorOccured(void);
+extern GLboolean __glXErrorOccured( void );
+extern void __glXClearErrorOccured( void );
-static const unsigned dummy_answer[2] = { 0, 0 };
+static const unsigned dummy_answer[2] = {0, 0};
static GLsizei
-bswap_CARD32(const void *src)
+bswap_CARD32( const void * src )
{
- union {
- uint32_t dst;
- GLsizei ret;
- } x;
-
- x.dst = bswap_32(*(uint32_t *) src);
+ union { uint32_t dst; GLsizei ret; } x;
+ x.dst = bswap_32( *(uint32_t *) src );
return x.ret;
}
static GLshort
-bswap_CARD16(const void *src)
+bswap_CARD16( const void * src )
{
- union {
- uint16_t dst;
- GLshort ret;
- } x;
-
- x.dst = bswap_16(*(uint16_t *) src);
+ union { uint16_t dst; GLshort ret; } x;
+ x.dst = bswap_16( *(uint16_t *) src );
return x.ret;
}
static GLenum
-bswap_ENUM(const void *src)
+bswap_ENUM( const void * src )
{
- union {
- uint32_t dst;
- GLenum ret;
- } x;
-
- x.dst = bswap_32(*(uint32_t *) src);
+ union { uint32_t dst; GLenum ret; } x;
+ x.dst = bswap_32( *(uint32_t *) src );
return x.ret;
}
static GLsync
-bswap_CARD64(const void *src)
+bswap_CARD64( const void * src )
{
- union {
- uint64_t dst;
- GLsync ret;
- } x;
-
- x.dst = bswap_64(*(uint64_t *) src);
+ union { uint64_t dst; GLsync ret; } x;
+ x.dst = bswap_64( *(uint64_t *) src );
return x.ret;
}
static GLdouble
-bswap_FLOAT64(const void *src)
+bswap_FLOAT64( const void * src )
{
- union {
- uint64_t dst;
- GLdouble ret;
- } x;
-
- x.dst = bswap_64(*(uint64_t *) src);
+ union { uint64_t dst; GLdouble ret; } x;
+ x.dst = bswap_64( *(uint64_t *) src );
return x.ret;
}
static GLfloat
-bswap_FLOAT32(const void *src)
+bswap_FLOAT32( const void * src )
{
- union {
- uint32_t dst;
- GLfloat ret;
- } x;
-
- x.dst = bswap_32(*(uint32_t *) src);
+ union { uint32_t dst; GLfloat ret; } x;
+ x.dst = bswap_32( *(uint32_t *) src );
return x.ret;
}
static void *
-bswap_16_array(uint16_t * src, unsigned count)
+bswap_16_array( uint16_t * src, unsigned count )
{
- unsigned i;
-
- for (i = 0; i < count; i++) {
- uint16_t temp = bswap_16(src[i]);
+ unsigned i;
+ for ( i = 0 ; i < count ; i++ ) {
+ uint16_t temp = bswap_16( src[i] );
src[i] = temp;
}
@@ -132,13 +118,12 @@ bswap_16_array(uint16_t * src, unsigned count)
}
static void *
-bswap_32_array(uint32_t * src, unsigned count)
+bswap_32_array( uint32_t * src, unsigned count )
{
- unsigned i;
-
- for (i = 0; i < count; i++) {
- uint32_t temp = bswap_32(src[i]);
+ unsigned i;
+ for ( i = 0 ; i < count ; i++ ) {
+ uint32_t temp = bswap_32( src[i] );
src[i] = temp;
}
@@ -146,121 +131,119 @@ bswap_32_array(uint32_t * src, unsigned count)
}
static void *
-bswap_64_array(uint64_t * src, unsigned count)
+bswap_64_array( uint64_t * src, unsigned count )
{
- unsigned i;
-
- for (i = 0; i < count; i++) {
- uint64_t temp = bswap_64(src[i]);
+ unsigned i;
+ for ( i = 0 ; i < count ; i++ ) {
+ uint64_t temp = bswap_64( src[i] );
src[i] = temp;
}
return src;
}
-int
-__glXDispSwap_NewList(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_NewList(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glNewList((GLuint) bswap_CARD32(pc + 0), (GLenum) bswap_ENUM(pc + 4));
+ if ( cx != NULL ) {
+ CALL_NewList( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 )
+ ) );
error = Success;
}
return error;
}
-int
-__glXDispSwap_EndList(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_EndList(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glEndList();
+ if ( cx != NULL ) {
+ CALL_EndList( GET_DISPATCH(), () );
error = Success;
}
return error;
}
-void
-__glXDispSwap_CallList(GLbyte * pc)
+void __glXDispSwap_CallList(GLbyte * pc)
{
- glCallList((GLuint) bswap_CARD32(pc + 0));
+ CALL_CallList( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_CallLists(GLbyte * pc)
+void __glXDispSwap_CallLists(GLbyte * pc)
{
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
- const GLenum type = (GLenum) bswap_ENUM(pc + 4);
- const GLvoid *lists;
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
+ const GLenum type = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLvoid * lists;
- switch (type) {
+ switch(type) {
case GL_BYTE:
case GL_UNSIGNED_BYTE:
case GL_2_BYTES:
case GL_3_BYTES:
case GL_4_BYTES:
- lists = (const GLvoid *) (pc + 8);
- break;
+ lists = (const GLvoid *) (pc + 8); break;
case GL_SHORT:
case GL_UNSIGNED_SHORT:
- lists = (const GLvoid *) bswap_16_array((uint16_t *) (pc + 8), n);
- break;
+ lists = (const GLvoid *) bswap_16_array( (uint16_t *) (pc + 8), n ); break;
case GL_INT:
case GL_UNSIGNED_INT:
case GL_FLOAT:
- lists = (const GLvoid *) bswap_32_array((uint32_t *) (pc + 8), n);
- break;
+ lists = (const GLvoid *) bswap_32_array( (uint32_t *) (pc + 8), n ); break;
default:
return;
}
- glCallLists(n, type, lists);
+ CALL_CallLists( GET_DISPATCH(), (
+ n,
+ type,
+ lists
+ ) );
}
-int
-__glXDispSwap_DeleteLists(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_DeleteLists(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glDeleteLists((GLuint) bswap_CARD32(pc + 0),
- (GLsizei) bswap_CARD32(pc + 4));
+ if ( cx != NULL ) {
+ CALL_DeleteLists( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (GLsizei )bswap_CARD32 ( pc + 4 )
+ ) );
error = Success;
}
return error;
}
-int
-__glXDispSwap_GenLists(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GenLists(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLuint retval;
-
- retval = glGenLists((GLsizei) bswap_CARD32(pc + 0));
+ retval = CALL_GenLists( GET_DISPATCH(), (
+ (GLsizei )bswap_CARD32 ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -268,1469 +251,1648 @@ __glXDispSwap_GenLists(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_ListBase(GLbyte * pc)
+void __glXDispSwap_ListBase(GLbyte * pc)
{
- glListBase((GLuint) bswap_CARD32(pc + 0));
+ CALL_ListBase( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Begin(GLbyte * pc)
+void __glXDispSwap_Begin(GLbyte * pc)
{
- glBegin((GLenum) bswap_ENUM(pc + 0));
+ CALL_Begin( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Bitmap(GLbyte * pc)
+void __glXDispSwap_Bitmap(GLbyte * pc)
{
- const GLubyte *const bitmap = (const GLubyte *) ((pc + 44));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLubyte * const bitmap = (const GLubyte *) (pc + 44);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_Color3bv(GLbyte * pc)
+void __glXDispSwap_Color3bv(GLbyte * pc)
{
- glColor3bv((const GLbyte *) (pc + 0));
+ CALL_Color3bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_Color3dv(GLbyte * pc)
+void __glXDispSwap_Color3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glColor3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3));
+ CALL_Color3dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Color3fv(GLbyte * pc)
+void __glXDispSwap_Color3fv(GLbyte * pc)
{
- glColor3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_Color3fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Color3iv(GLbyte * pc)
+void __glXDispSwap_Color3iv(GLbyte * pc)
{
- glColor3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_Color3iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Color3sv(GLbyte * pc)
+void __glXDispSwap_Color3sv(GLbyte * pc)
{
- glColor3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_Color3sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Color3ubv(GLbyte * pc)
+void __glXDispSwap_Color3ubv(GLbyte * pc)
{
- glColor3ubv((const GLubyte *) (pc + 0));
+ CALL_Color3ubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_Color3uiv(GLbyte * pc)
+void __glXDispSwap_Color3uiv(GLbyte * pc)
{
- glColor3uiv((const GLuint *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_Color3uiv( GET_DISPATCH(), (
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Color3usv(GLbyte * pc)
+void __glXDispSwap_Color3usv(GLbyte * pc)
{
- glColor3usv((const GLushort *) bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_Color3usv( GET_DISPATCH(), (
+ (const GLushort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Color4bv(GLbyte * pc)
+void __glXDispSwap_Color4bv(GLbyte * pc)
{
- glColor4bv((const GLbyte *) (pc + 0));
+ CALL_Color4bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_Color4dv(GLbyte * pc)
+void __glXDispSwap_Color4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glColor4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4));
+ CALL_Color4dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Color4fv(GLbyte * pc)
+void __glXDispSwap_Color4fv(GLbyte * pc)
{
- glColor4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_Color4fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Color4iv(GLbyte * pc)
+void __glXDispSwap_Color4iv(GLbyte * pc)
{
- glColor4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_Color4iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Color4sv(GLbyte * pc)
+void __glXDispSwap_Color4sv(GLbyte * pc)
{
- glColor4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4));
+ CALL_Color4sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Color4ubv(GLbyte * pc)
+void __glXDispSwap_Color4ubv(GLbyte * pc)
{
- glColor4ubv((const GLubyte *) (pc + 0));
+ CALL_Color4ubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_Color4uiv(GLbyte * pc)
+void __glXDispSwap_Color4uiv(GLbyte * pc)
{
- glColor4uiv((const GLuint *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_Color4uiv( GET_DISPATCH(), (
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Color4usv(GLbyte * pc)
+void __glXDispSwap_Color4usv(GLbyte * pc)
{
- glColor4usv((const GLushort *) bswap_16_array((uint16_t *) (pc + 0), 4));
+ CALL_Color4usv( GET_DISPATCH(), (
+ (const GLushort *)bswap_16_array( (uint16_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_EdgeFlagv(GLbyte * pc)
+void __glXDispSwap_EdgeFlagv(GLbyte * pc)
{
- glEdgeFlagv((const GLboolean *) (pc + 0));
+ CALL_EdgeFlagv( GET_DISPATCH(), (
+ (const GLboolean *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_End(GLbyte * pc)
+void __glXDispSwap_End(GLbyte * pc)
{
- glEnd();
+ CALL_End( GET_DISPATCH(), () );
}
-void
-__glXDispSwap_Indexdv(GLbyte * pc)
+void __glXDispSwap_Indexdv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glIndexdv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1));
+ CALL_Indexdv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_Indexfv(GLbyte * pc)
+void __glXDispSwap_Indexfv(GLbyte * pc)
{
- glIndexfv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1));
+ CALL_Indexfv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_Indexiv(GLbyte * pc)
+void __glXDispSwap_Indexiv(GLbyte * pc)
{
- glIndexiv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 1));
+ CALL_Indexiv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_Indexsv(GLbyte * pc)
+void __glXDispSwap_Indexsv(GLbyte * pc)
{
- glIndexsv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 1));
+ CALL_Indexsv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_Normal3bv(GLbyte * pc)
+void __glXDispSwap_Normal3bv(GLbyte * pc)
{
- glNormal3bv((const GLbyte *) (pc + 0));
+ CALL_Normal3bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_Normal3dv(GLbyte * pc)
+void __glXDispSwap_Normal3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glNormal3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3));
+ CALL_Normal3dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Normal3fv(GLbyte * pc)
+void __glXDispSwap_Normal3fv(GLbyte * pc)
{
- glNormal3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_Normal3fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Normal3iv(GLbyte * pc)
+void __glXDispSwap_Normal3iv(GLbyte * pc)
{
- glNormal3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_Normal3iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Normal3sv(GLbyte * pc)
+void __glXDispSwap_Normal3sv(GLbyte * pc)
{
- glNormal3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_Normal3sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_RasterPos2dv(GLbyte * pc)
+void __glXDispSwap_RasterPos2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glRasterPos2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2));
+ CALL_RasterPos2dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_RasterPos2fv(GLbyte * pc)
+void __glXDispSwap_RasterPos2fv(GLbyte * pc)
{
- glRasterPos2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2));
+ CALL_RasterPos2fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_RasterPos2iv(GLbyte * pc)
+void __glXDispSwap_RasterPos2iv(GLbyte * pc)
{
- glRasterPos2iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2));
+ CALL_RasterPos2iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_RasterPos2sv(GLbyte * pc)
+void __glXDispSwap_RasterPos2sv(GLbyte * pc)
{
- glRasterPos2sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2));
+ CALL_RasterPos2sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_RasterPos3dv(GLbyte * pc)
+void __glXDispSwap_RasterPos3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glRasterPos3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3));
+ CALL_RasterPos3dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_RasterPos3fv(GLbyte * pc)
+void __glXDispSwap_RasterPos3fv(GLbyte * pc)
{
- glRasterPos3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_RasterPos3fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_RasterPos3iv(GLbyte * pc)
+void __glXDispSwap_RasterPos3iv(GLbyte * pc)
{
- glRasterPos3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_RasterPos3iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_RasterPos3sv(GLbyte * pc)
+void __glXDispSwap_RasterPos3sv(GLbyte * pc)
{
- glRasterPos3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_RasterPos3sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_RasterPos4dv(GLbyte * pc)
+void __glXDispSwap_RasterPos4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glRasterPos4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4));
+ CALL_RasterPos4dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_RasterPos4fv(GLbyte * pc)
+void __glXDispSwap_RasterPos4fv(GLbyte * pc)
{
- glRasterPos4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_RasterPos4fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_RasterPos4iv(GLbyte * pc)
+void __glXDispSwap_RasterPos4iv(GLbyte * pc)
{
- glRasterPos4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_RasterPos4iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_RasterPos4sv(GLbyte * pc)
+void __glXDispSwap_RasterPos4sv(GLbyte * pc)
{
- glRasterPos4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4));
+ CALL_RasterPos4sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Rectdv(GLbyte * pc)
+void __glXDispSwap_Rectdv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glRectdv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 16), 2));
+ CALL_Rectdv( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_Rectfv(GLbyte * pc)
{
- glRectfv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), 2));
+ CALL_Rectfv( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_Rectiv(GLbyte * pc)
{
- glRectiv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8), 2));
+ CALL_Rectiv( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_Rectsv(GLbyte * pc)
{
- glRectsv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4), 2));
+ CALL_Rectsv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 2 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_TexCoord1dv(GLbyte * pc)
+void __glXDispSwap_TexCoord1dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glTexCoord1dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1));
+ CALL_TexCoord1dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_TexCoord1fv(GLbyte * pc)
+void __glXDispSwap_TexCoord1fv(GLbyte * pc)
{
- glTexCoord1fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1));
+ CALL_TexCoord1fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_TexCoord1iv(GLbyte * pc)
+void __glXDispSwap_TexCoord1iv(GLbyte * pc)
{
- glTexCoord1iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 1));
+ CALL_TexCoord1iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_TexCoord1sv(GLbyte * pc)
+void __glXDispSwap_TexCoord1sv(GLbyte * pc)
{
- glTexCoord1sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 1));
+ CALL_TexCoord1sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_TexCoord2dv(GLbyte * pc)
+void __glXDispSwap_TexCoord2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glTexCoord2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2));
+ CALL_TexCoord2dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_TexCoord2fv(GLbyte * pc)
+void __glXDispSwap_TexCoord2fv(GLbyte * pc)
{
- glTexCoord2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2));
+ CALL_TexCoord2fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_TexCoord2iv(GLbyte * pc)
+void __glXDispSwap_TexCoord2iv(GLbyte * pc)
{
- glTexCoord2iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2));
+ CALL_TexCoord2iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_TexCoord2sv(GLbyte * pc)
+void __glXDispSwap_TexCoord2sv(GLbyte * pc)
{
- glTexCoord2sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2));
+ CALL_TexCoord2sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_TexCoord3dv(GLbyte * pc)
+void __glXDispSwap_TexCoord3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glTexCoord3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3));
+ CALL_TexCoord3dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_TexCoord3fv(GLbyte * pc)
+void __glXDispSwap_TexCoord3fv(GLbyte * pc)
{
- glTexCoord3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_TexCoord3fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_TexCoord3iv(GLbyte * pc)
+void __glXDispSwap_TexCoord3iv(GLbyte * pc)
{
- glTexCoord3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_TexCoord3iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_TexCoord3sv(GLbyte * pc)
+void __glXDispSwap_TexCoord3sv(GLbyte * pc)
{
- glTexCoord3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_TexCoord3sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_TexCoord4dv(GLbyte * pc)
+void __glXDispSwap_TexCoord4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glTexCoord4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4));
+ CALL_TexCoord4dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_TexCoord4fv(GLbyte * pc)
+void __glXDispSwap_TexCoord4fv(GLbyte * pc)
{
- glTexCoord4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_TexCoord4fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_TexCoord4iv(GLbyte * pc)
+void __glXDispSwap_TexCoord4iv(GLbyte * pc)
{
- glTexCoord4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_TexCoord4iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_TexCoord4sv(GLbyte * pc)
+void __glXDispSwap_TexCoord4sv(GLbyte * pc)
{
- glTexCoord4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4));
+ CALL_TexCoord4sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Vertex2dv(GLbyte * pc)
+void __glXDispSwap_Vertex2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glVertex2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2));
+ CALL_Vertex2dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_Vertex2fv(GLbyte * pc)
+void __glXDispSwap_Vertex2fv(GLbyte * pc)
{
- glVertex2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2));
+ CALL_Vertex2fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_Vertex2iv(GLbyte * pc)
+void __glXDispSwap_Vertex2iv(GLbyte * pc)
{
- glVertex2iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 2));
+ CALL_Vertex2iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_Vertex2sv(GLbyte * pc)
+void __glXDispSwap_Vertex2sv(GLbyte * pc)
{
- glVertex2sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 2));
+ CALL_Vertex2sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_Vertex3dv(GLbyte * pc)
+void __glXDispSwap_Vertex3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glVertex3dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 3));
+ CALL_Vertex3dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Vertex3fv(GLbyte * pc)
+void __glXDispSwap_Vertex3fv(GLbyte * pc)
{
- glVertex3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_Vertex3fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Vertex3iv(GLbyte * pc)
+void __glXDispSwap_Vertex3iv(GLbyte * pc)
{
- glVertex3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_Vertex3iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Vertex3sv(GLbyte * pc)
+void __glXDispSwap_Vertex3sv(GLbyte * pc)
{
- glVertex3sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_Vertex3sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_Vertex4dv(GLbyte * pc)
+void __glXDispSwap_Vertex4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glVertex4dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4));
+ CALL_Vertex4dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Vertex4fv(GLbyte * pc)
+void __glXDispSwap_Vertex4fv(GLbyte * pc)
{
- glVertex4fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_Vertex4fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Vertex4iv(GLbyte * pc)
+void __glXDispSwap_Vertex4iv(GLbyte * pc)
{
- glVertex4iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 4));
+ CALL_Vertex4iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_Vertex4sv(GLbyte * pc)
+void __glXDispSwap_Vertex4sv(GLbyte * pc)
{
- glVertex4sv((const GLshort *) bswap_16_array((uint16_t *) (pc + 0), 4));
+ CALL_Vertex4sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_ClipPlane(GLbyte * pc)
+void __glXDispSwap_ClipPlane(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 36);
pc -= 4;
}
#endif
- glClipPlane((GLenum) bswap_ENUM(pc + 32),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 4));
+ CALL_ClipPlane( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 32 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_ColorMaterial(GLbyte * pc)
+void __glXDispSwap_ColorMaterial(GLbyte * pc)
{
- glColorMaterial((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4));
+ CALL_ColorMaterial( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_CullFace(GLbyte * pc)
+void __glXDispSwap_CullFace(GLbyte * pc)
{
- glCullFace((GLenum) bswap_ENUM(pc + 0));
+ CALL_CullFace( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Fogf(GLbyte * pc)
+void __glXDispSwap_Fogf(GLbyte * pc)
{
- glFogf((GLenum) bswap_ENUM(pc + 0), (GLfloat) bswap_FLOAT32(pc + 4));
+ CALL_Fogf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_Fogfv(GLbyte * pc)
+void __glXDispSwap_Fogfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- __glFogfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 4), __glFogfv_size(pname) );
- glFogfv(pname, params);
+ CALL_Fogfv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_Fogi(GLbyte * pc)
+void __glXDispSwap_Fogi(GLbyte * pc)
{
- glFogi((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4));
+ CALL_Fogi( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_Fogiv(GLbyte * pc)
+void __glXDispSwap_Fogiv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- __glFogiv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 4), __glFogiv_size(pname) );
- glFogiv(pname, params);
+ CALL_Fogiv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_FrontFace(GLbyte * pc)
+void __glXDispSwap_FrontFace(GLbyte * pc)
{
- glFrontFace((GLenum) bswap_ENUM(pc + 0));
+ CALL_FrontFace( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Hint(GLbyte * pc)
+void __glXDispSwap_Hint(GLbyte * pc)
{
- glHint((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4));
+ CALL_Hint( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_Lightf(GLbyte * pc)
+void __glXDispSwap_Lightf(GLbyte * pc)
{
- glLightf((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_Lightf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_Lightfv(GLbyte * pc)
+void __glXDispSwap_Lightfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- __glLightfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 8), __glLightfv_size(pname) );
- glLightfv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_Lightfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_Lighti(GLbyte * pc)
+void __glXDispSwap_Lighti(GLbyte * pc)
{
- glLighti((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8));
+ CALL_Lighti( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_Lightiv(GLbyte * pc)
+void __glXDispSwap_Lightiv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8),
- __glLightiv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 8), __glLightiv_size(pname) );
- glLightiv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_Lightiv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_LightModelf(GLbyte * pc)
+void __glXDispSwap_LightModelf(GLbyte * pc)
{
- glLightModelf((GLenum) bswap_ENUM(pc + 0), (GLfloat) bswap_FLOAT32(pc + 4));
+ CALL_LightModelf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_LightModelfv(GLbyte * pc)
+void __glXDispSwap_LightModelfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- __glLightModelfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 4), __glLightModelfv_size(pname) );
- glLightModelfv(pname, params);
+ CALL_LightModelfv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_LightModeli(GLbyte * pc)
+void __glXDispSwap_LightModeli(GLbyte * pc)
{
- glLightModeli((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4));
+ CALL_LightModeli( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_LightModeliv(GLbyte * pc)
+void __glXDispSwap_LightModeliv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- __glLightModeliv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 4), __glLightModeliv_size(pname) );
- glLightModeliv(pname, params);
+ CALL_LightModeliv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_LineStipple(GLbyte * pc)
+void __glXDispSwap_LineStipple(GLbyte * pc)
{
- glLineStipple((GLint) bswap_CARD32(pc + 0),
- (GLushort) bswap_CARD16(pc + 4));
+ CALL_LineStipple( GET_DISPATCH(), (
+ (GLint )bswap_CARD32 ( pc + 0 ),
+ (GLushort)bswap_CARD16 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_LineWidth(GLbyte * pc)
+void __glXDispSwap_LineWidth(GLbyte * pc)
{
- glLineWidth((GLfloat) bswap_FLOAT32(pc + 0));
+ CALL_LineWidth( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Materialf(GLbyte * pc)
+void __glXDispSwap_Materialf(GLbyte * pc)
{
- glMaterialf((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_Materialf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_Materialfv(GLbyte * pc)
+void __glXDispSwap_Materialfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- __glMaterialfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 8), __glMaterialfv_size(pname) );
- glMaterialfv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_Materialfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_Materiali(GLbyte * pc)
+void __glXDispSwap_Materiali(GLbyte * pc)
{
- glMateriali((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8));
+ CALL_Materiali( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_Materialiv(GLbyte * pc)
+void __glXDispSwap_Materialiv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8),
- __glMaterialiv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 8), __glMaterialiv_size(pname) );
- glMaterialiv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_Materialiv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_PointSize(GLbyte * pc)
+void __glXDispSwap_PointSize(GLbyte * pc)
{
- glPointSize((GLfloat) bswap_FLOAT32(pc + 0));
+ CALL_PointSize( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_PolygonMode(GLbyte * pc)
+void __glXDispSwap_PolygonMode(GLbyte * pc)
{
- glPolygonMode((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4));
+ CALL_PolygonMode( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_PolygonStipple(GLbyte * pc)
+void __glXDispSwap_PolygonStipple(GLbyte * pc)
{
- const GLubyte *const mask = (const GLubyte *) ((pc + 20));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLubyte * const mask = (const GLubyte *) (pc + 20);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- glPolygonStipple(mask);
+ CALL_PolygonStipple( GET_DISPATCH(), (
+ mask
+ ) );
}
-void
-__glXDispSwap_Scissor(GLbyte * pc)
+void __glXDispSwap_Scissor(GLbyte * pc)
{
- glScissor((GLint) bswap_CARD32(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLsizei) bswap_CARD32(pc + 8), (GLsizei) bswap_CARD32(pc + 12));
+ CALL_Scissor( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_ShadeModel(GLbyte * pc)
{
- glShadeModel((GLenum) bswap_ENUM(pc + 0));
+ CALL_ShadeModel( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_TexParameterf(GLbyte * pc)
+void __glXDispSwap_TexParameterf(GLbyte * pc)
{
- glTexParameterf((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_TexParameterf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_TexParameterfv(GLbyte * pc)
+void __glXDispSwap_TexParameterfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- __glTexParameterfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 8), __glTexParameterfv_size(pname) );
- glTexParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_TexParameterfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_TexParameteri(GLbyte * pc)
+void __glXDispSwap_TexParameteri(GLbyte * pc)
{
- glTexParameteri((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8));
+ CALL_TexParameteri( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_TexParameteriv(GLbyte * pc)
+void __glXDispSwap_TexParameteriv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8),
- __glTexParameteriv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 8), __glTexParameteriv_size(pname) );
- glTexParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_TexParameteriv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_TexImage1D(GLbyte * pc)
+void __glXDispSwap_TexImage1D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 52);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_TexImage2D(GLbyte * pc)
+void __glXDispSwap_TexImage2D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 52));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 52);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_TexEnvf(GLbyte * pc)
+void __glXDispSwap_TexEnvf(GLbyte * pc)
{
- glTexEnvf((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_TexEnvf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_TexEnvfv(GLbyte * pc)
+void __glXDispSwap_TexEnvfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- __glTexEnvfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 8), __glTexEnvfv_size(pname) );
- glTexEnvfv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_TexEnvfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_TexEnvi(GLbyte * pc)
+void __glXDispSwap_TexEnvi(GLbyte * pc)
{
- glTexEnvi((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8));
+ CALL_TexEnvi( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_TexEnviv(GLbyte * pc)
+void __glXDispSwap_TexEnviv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8),
- __glTexEnviv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 8), __glTexEnviv_size(pname) );
- glTexEnviv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_TexEnviv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_TexGend(GLbyte * pc)
+void __glXDispSwap_TexGend(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glTexGend((GLenum) bswap_ENUM(pc + 8),
- (GLenum) bswap_ENUM(pc + 12), (GLdouble) bswap_FLOAT64(pc + 0));
+ CALL_TexGend( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 8 ),
+ (GLenum )bswap_ENUM ( pc + 12 ),
+ (GLdouble)bswap_FLOAT64( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_TexGendv(GLbyte * pc)
+void __glXDispSwap_TexGendv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLdouble *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLdouble * params;
#ifdef __GLX_ALIGN64
const GLuint compsize = __glTexGendv_size(pname);
const GLuint cmdlen = 12 + __GLX_PAD((compsize * 8)) - 4;
-
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, cmdlen);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
- params =
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 8),
- __glTexGendv_size(pname));
+ params = (const GLdouble *) bswap_64_array( (uint64_t *) (pc + 8), __glTexGendv_size(pname) );
- glTexGendv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_TexGendv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_TexGenf(GLbyte * pc)
+void __glXDispSwap_TexGenf(GLbyte * pc)
{
- glTexGenf((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_TexGenf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_TexGenfv(GLbyte * pc)
+void __glXDispSwap_TexGenfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- __glTexGenfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 8), __glTexGenfv_size(pname) );
- glTexGenfv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_TexGenfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_TexGeni(GLbyte * pc)
+void __glXDispSwap_TexGeni(GLbyte * pc)
{
- glTexGeni((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLint) bswap_CARD32(pc + 8));
+ CALL_TexGeni( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_TexGeniv(GLbyte * pc)
+void __glXDispSwap_TexGeniv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8),
- __glTexGeniv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 8), __glTexGeniv_size(pname) );
- glTexGeniv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_TexGeniv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_InitNames(GLbyte * pc)
+void __glXDispSwap_InitNames(GLbyte * pc)
{
- glInitNames();
+ CALL_InitNames( GET_DISPATCH(), () );
}
-void
-__glXDispSwap_LoadName(GLbyte * pc)
+void __glXDispSwap_LoadName(GLbyte * pc)
{
- glLoadName((GLuint) bswap_CARD32(pc + 0));
+ CALL_LoadName( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_PassThrough(GLbyte * pc)
+void __glXDispSwap_PassThrough(GLbyte * pc)
{
- glPassThrough((GLfloat) bswap_FLOAT32(pc + 0));
+ CALL_PassThrough( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_PopName(GLbyte * pc)
+void __glXDispSwap_PopName(GLbyte * pc)
{
- glPopName();
+ CALL_PopName( GET_DISPATCH(), () );
}
-void
-__glXDispSwap_PushName(GLbyte * pc)
+void __glXDispSwap_PushName(GLbyte * pc)
{
- glPushName((GLuint) bswap_CARD32(pc + 0));
+ CALL_PushName( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_DrawBuffer(GLbyte * pc)
+void __glXDispSwap_DrawBuffer(GLbyte * pc)
{
- glDrawBuffer((GLenum) bswap_ENUM(pc + 0));
+ CALL_DrawBuffer( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Clear(GLbyte * pc)
+void __glXDispSwap_Clear(GLbyte * pc)
{
- glClear((GLbitfield) bswap_CARD32(pc + 0));
+ CALL_Clear( GET_DISPATCH(), (
+ (GLbitfield)bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_ClearAccum(GLbyte * pc)
+void __glXDispSwap_ClearAccum(GLbyte * pc)
{
- glClearAccum((GLfloat) bswap_FLOAT32(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4),
- (GLfloat) bswap_FLOAT32(pc + 8),
- (GLfloat) bswap_FLOAT32(pc + 12));
+ CALL_ClearAccum( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_ClearIndex(GLbyte * pc)
{
- glClearIndex((GLfloat) bswap_FLOAT32(pc + 0));
+ CALL_ClearIndex( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_ClearColor(GLbyte * pc)
+void __glXDispSwap_ClearColor(GLbyte * pc)
{
- glClearColor((GLclampf) bswap_FLOAT32(pc + 0),
- (GLclampf) bswap_FLOAT32(pc + 4),
- (GLclampf) bswap_FLOAT32(pc + 8),
- (GLclampf) bswap_FLOAT32(pc + 12));
+ CALL_ClearColor( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_ClearStencil(GLbyte * pc)
{
- glClearStencil((GLint) bswap_CARD32(pc + 0));
+ CALL_ClearStencil( GET_DISPATCH(), (
+ (GLint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_ClearDepth(GLbyte * pc)
+void __glXDispSwap_ClearDepth(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glClearDepth((GLclampd) bswap_FLOAT64(pc + 0));
+ CALL_ClearDepth( GET_DISPATCH(), (
+ (GLclampd)bswap_FLOAT64( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_StencilMask(GLbyte * pc)
+void __glXDispSwap_StencilMask(GLbyte * pc)
{
- glStencilMask((GLuint) bswap_CARD32(pc + 0));
+ CALL_StencilMask( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_ColorMask(GLbyte * pc)
+void __glXDispSwap_ColorMask(GLbyte * pc)
{
- glColorMask(*(GLboolean *) (pc + 0),
- *(GLboolean *) (pc + 1),
- *(GLboolean *) (pc + 2), *(GLboolean *) (pc + 3));
+ CALL_ColorMask( GET_DISPATCH(), (
+ *(GLboolean *)(pc + 0),
+ *(GLboolean *)(pc + 1),
+ *(GLboolean *)(pc + 2),
+ *(GLboolean *)(pc + 3)
+ ) );
}
-void
-__glXDispSwap_DepthMask(GLbyte * pc)
+void __glXDispSwap_DepthMask(GLbyte * pc)
{
- glDepthMask(*(GLboolean *) (pc + 0));
+ CALL_DepthMask( GET_DISPATCH(), (
+ *(GLboolean *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_IndexMask(GLbyte * pc)
+void __glXDispSwap_IndexMask(GLbyte * pc)
{
- glIndexMask((GLuint) bswap_CARD32(pc + 0));
+ CALL_IndexMask( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Accum(GLbyte * pc)
+void __glXDispSwap_Accum(GLbyte * pc)
{
- glAccum((GLenum) bswap_ENUM(pc + 0), (GLfloat) bswap_FLOAT32(pc + 4));
+ CALL_Accum( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_Disable(GLbyte * pc)
+void __glXDispSwap_Disable(GLbyte * pc)
{
- glDisable((GLenum) bswap_ENUM(pc + 0));
+ CALL_Disable( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_Enable(GLbyte * pc)
+void __glXDispSwap_Enable(GLbyte * pc)
{
- glEnable((GLenum) bswap_ENUM(pc + 0));
+ CALL_Enable( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_PopAttrib(GLbyte * pc)
+void __glXDispSwap_PopAttrib(GLbyte * pc)
{
- glPopAttrib();
+ CALL_PopAttrib( GET_DISPATCH(), () );
}
-void
-__glXDispSwap_PushAttrib(GLbyte * pc)
+void __glXDispSwap_PushAttrib(GLbyte * pc)
{
- glPushAttrib((GLbitfield) bswap_CARD32(pc + 0));
+ CALL_PushAttrib( GET_DISPATCH(), (
+ (GLbitfield)bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_MapGrid1d(GLbyte * pc)
+void __glXDispSwap_MapGrid1d(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 20);
pc -= 4;
}
#endif
- glMapGrid1d((GLint) bswap_CARD32(pc + 16),
- (GLdouble) bswap_FLOAT64(pc + 0),
- (GLdouble) bswap_FLOAT64(pc + 8));
+ CALL_MapGrid1d( GET_DISPATCH(), (
+ (GLint )bswap_CARD32 ( pc + 16 ),
+ (GLdouble)bswap_FLOAT64( pc + 0 ),
+ (GLdouble)bswap_FLOAT64( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_MapGrid1f(GLbyte * pc)
+void __glXDispSwap_MapGrid1f(GLbyte * pc)
{
- glMapGrid1f((GLint) bswap_CARD32(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4),
- (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_MapGrid1f( GET_DISPATCH(), (
+ (GLint )bswap_CARD32 ( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_MapGrid2d(GLbyte * pc)
+void __glXDispSwap_MapGrid2d(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 40);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 40);
pc -= 4;
}
#endif
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_MapGrid2f(GLbyte * pc)
+void __glXDispSwap_MapGrid2f(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_EvalCoord1dv(GLbyte * pc)
+void __glXDispSwap_EvalCoord1dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 8);
pc -= 4;
}
#endif
- glEvalCoord1dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 1));
+ CALL_EvalCoord1dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_EvalCoord1fv(GLbyte * pc)
+void __glXDispSwap_EvalCoord1fv(GLbyte * pc)
{
- glEvalCoord1fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1));
+ CALL_EvalCoord1fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_EvalCoord2dv(GLbyte * pc)
+void __glXDispSwap_EvalCoord2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glEvalCoord2dv((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 2));
+ CALL_EvalCoord2dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_EvalCoord2fv(GLbyte * pc)
+void __glXDispSwap_EvalCoord2fv(GLbyte * pc)
{
- glEvalCoord2fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 2));
+ CALL_EvalCoord2fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_EvalMesh1(GLbyte * pc)
+void __glXDispSwap_EvalMesh1(GLbyte * pc)
{
- glEvalMesh1((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4), (GLint) bswap_CARD32(pc + 8));
+ CALL_EvalMesh1( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 ),
+ (GLint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_EvalPoint1(GLbyte * pc)
+void __glXDispSwap_EvalPoint1(GLbyte * pc)
{
- glEvalPoint1((GLint) bswap_CARD32(pc + 0));
+ CALL_EvalPoint1( GET_DISPATCH(), (
+ (GLint )bswap_CARD32 ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_EvalMesh2(GLbyte * pc)
+void __glXDispSwap_EvalMesh2(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_EvalPoint2(GLbyte * pc)
+void __glXDispSwap_EvalPoint2(GLbyte * pc)
{
- glEvalPoint2((GLint) bswap_CARD32(pc + 0), (GLint) bswap_CARD32(pc + 4));
+ CALL_EvalPoint2( GET_DISPATCH(), (
+ (GLint )bswap_CARD32 ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_AlphaFunc(GLbyte * pc)
+void __glXDispSwap_AlphaFunc(GLbyte * pc)
{
- glAlphaFunc((GLenum) bswap_ENUM(pc + 0), (GLclampf) bswap_FLOAT32(pc + 4));
+ CALL_AlphaFunc( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLclampf)bswap_FLOAT32( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_BlendFunc(GLbyte * pc)
+void __glXDispSwap_BlendFunc(GLbyte * pc)
{
- glBlendFunc((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4));
+ CALL_BlendFunc( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_LogicOp(GLbyte * pc)
+void __glXDispSwap_LogicOp(GLbyte * pc)
{
- glLogicOp((GLenum) bswap_ENUM(pc + 0));
+ CALL_LogicOp( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_StencilFunc(GLbyte * pc)
+void __glXDispSwap_StencilFunc(GLbyte * pc)
{
- glStencilFunc((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4), (GLuint) bswap_CARD32(pc + 8));
+ CALL_StencilFunc( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 ),
+ (GLuint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_StencilOp(GLbyte * pc)
+void __glXDispSwap_StencilOp(GLbyte * pc)
{
- glStencilOp((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), (GLenum) bswap_ENUM(pc + 8));
+ CALL_StencilOp( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLenum )bswap_ENUM ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_DepthFunc(GLbyte * pc)
+void __glXDispSwap_DepthFunc(GLbyte * pc)
{
- glDepthFunc((GLenum) bswap_ENUM(pc + 0));
+ CALL_DepthFunc( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_PixelZoom(GLbyte * pc)
+void __glXDispSwap_PixelZoom(GLbyte * pc)
{
- glPixelZoom((GLfloat) bswap_FLOAT32(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4));
+ CALL_PixelZoom( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_PixelTransferf(GLbyte * pc)
+void __glXDispSwap_PixelTransferf(GLbyte * pc)
{
- glPixelTransferf((GLenum) bswap_ENUM(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4));
+ CALL_PixelTransferf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_PixelTransferi(GLbyte * pc)
+void __glXDispSwap_PixelTransferi(GLbyte * pc)
{
- glPixelTransferi((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4));
+ CALL_PixelTransferi( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-int
-__glXDispSwap_PixelStoref(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_PixelStoref(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glPixelStoref((GLenum) bswap_ENUM(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4));
+ if ( cx != NULL ) {
+ CALL_PixelStoref( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
error = Success;
}
return error;
}
-int
-__glXDispSwap_PixelStorei(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_PixelStorei(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- glPixelStorei((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4));
+ if ( cx != NULL ) {
+ CALL_PixelStorei( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 )
+ ) );
error = Success;
}
return error;
}
-void
-__glXDispSwap_PixelMapfv(GLbyte * pc)
+void __glXDispSwap_PixelMapfv(GLbyte * pc)
{
- const GLsizei mapsize = (GLsizei) bswap_CARD32(pc + 4);
+ const GLsizei mapsize = (GLsizei )bswap_CARD32 ( pc + 4 );
- glPixelMapfv((GLenum) bswap_ENUM(pc + 0),
- mapsize,
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8), 0));
+ CALL_PixelMapfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ mapsize,
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 8), 0 )
+ ) );
}
-void
-__glXDispSwap_PixelMapuiv(GLbyte * pc)
+void __glXDispSwap_PixelMapuiv(GLbyte * pc)
{
- const GLsizei mapsize = (GLsizei) bswap_CARD32(pc + 4);
+ const GLsizei mapsize = (GLsizei )bswap_CARD32 ( pc + 4 );
- glPixelMapuiv((GLenum) bswap_ENUM(pc + 0),
- mapsize,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 8), 0));
+ CALL_PixelMapuiv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ mapsize,
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 8), 0 )
+ ) );
}
-void
-__glXDispSwap_PixelMapusv(GLbyte * pc)
+void __glXDispSwap_PixelMapusv(GLbyte * pc)
{
- const GLsizei mapsize = (GLsizei) bswap_CARD32(pc + 4);
+ const GLsizei mapsize = (GLsizei )bswap_CARD32 ( pc + 4 );
- glPixelMapusv((GLenum) bswap_ENUM(pc + 0),
- mapsize,
- (const GLushort *) bswap_16_array((uint16_t *) (pc + 8), 0));
+ CALL_PixelMapusv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ mapsize,
+ (const GLushort *)bswap_16_array( (uint16_t *) (pc + 8), 0 )
+ ) );
}
-void
-__glXDispSwap_ReadBuffer(GLbyte * pc)
+void __glXDispSwap_ReadBuffer(GLbyte * pc)
{
- glReadBuffer((GLenum) bswap_ENUM(pc + 0));
+ CALL_ReadBuffer( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_CopyPixels(GLbyte * pc)
+void __glXDispSwap_CopyPixels(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_DrawPixels(GLbyte * pc)
+void __glXDispSwap_DrawPixels(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 36));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 36);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- glDrawPixels((GLsizei) bswap_CARD32(pc + 20),
- (GLsizei) bswap_CARD32(pc + 24),
- (GLenum) bswap_ENUM(pc + 28),
- (GLenum) bswap_ENUM(pc + 32), pixels);
+ 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
+ ) );
}
-int
-__glXDispSwap_GetBooleanv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetBooleanv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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 + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
const GLuint compsize = __glGetBooleanv_size(pname);
GLboolean answerBuffer[200];
- GLboolean *params =
- __glXGetAnswerBuffer(cl, compsize, answerBuffer,
- sizeof(answerBuffer), 1);
+ GLboolean * params = __glXGetAnswerBuffer(cl, compsize, answerBuffer, sizeof(answerBuffer), 1);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetBooleanv(pname, params);
+ CALL_GetBooleanv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
__glXSendReplySwap(cl->client, params, compsize, 1, GL_FALSE, 0);
error = Success;
}
@@ -1738,20 +1900,20 @@ __glXDispSwap_GetBooleanv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetClipPlane(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetClipPlane(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLdouble equation[4];
-
- glGetClipPlane((GLenum) bswap_ENUM(pc + 0), equation);
- (void) bswap_64_array((uint64_t *) equation, 4);
+ CALL_GetClipPlane( GET_DISPATCH(), (
+ (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;
}
@@ -1759,30 +1921,28 @@ __glXDispSwap_GetClipPlane(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetDoublev(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetDoublev(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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 + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
const GLuint compsize = __glGetDoublev_size(pname);
GLdouble answerBuffer[200];
- GLdouble *params =
- __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
- sizeof(answerBuffer), 8);
+ GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetDoublev(pname, params);
- (void) bswap_64_array((uint64_t *) params, compsize);
+ CALL_GetDoublev( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
+ (void) bswap_64_array( (uint64_t *) params, compsize );
__glXSendReplySwap(cl->client, params, compsize, 8, GL_FALSE, 0);
error = Success;
}
@@ -1790,19 +1950,16 @@ __glXDispSwap_GetDoublev(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetError(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetError(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLenum retval;
-
- retval = glGetError();
+ retval = CALL_GetError( GET_DISPATCH(), () );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -1810,30 +1967,28 @@ __glXDispSwap_GetError(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetFloatv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetFloatv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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 + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
const GLuint compsize = __glGetFloatv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetFloatv(pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetFloatv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
+ (void) bswap_32_array( (uint32_t *) params, compsize );
__glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1841,30 +1996,28 @@ __glXDispSwap_GetFloatv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetIntegerv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetIntegerv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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 + 0);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
const GLuint compsize = __glGetIntegerv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetIntegerv(pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetIntegerv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
+ (void) bswap_32_array( (uint32_t *) params, compsize );
__glXSendReplySwap(cl->client, params, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1872,30 +2025,29 @@ __glXDispSwap_GetIntegerv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetLightfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetLightfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetLightfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetLightfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetLightfv( 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;
}
@@ -1903,30 +2055,29 @@ __glXDispSwap_GetLightfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetLightiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetLightiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetLightiv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetLightiv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetLightiv( 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;
}
@@ -1934,31 +2085,30 @@ __glXDispSwap_GetLightiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMapdv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMapdv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum target = (GLenum) bswap_ENUM(pc + 0);
- const GLenum query = (GLenum) bswap_ENUM(pc + 4);
+ if ( cx != NULL ) {
+ const GLenum target = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLenum query = (GLenum )bswap_ENUM ( pc + 4 );
- const GLuint compsize = __glGetMapdv_size(target, query);
+ const GLuint compsize = __glGetMapdv_size(target,query);
GLdouble answerBuffer[200];
- GLdouble *v =
- __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
- sizeof(answerBuffer), 8);
+ GLdouble * v = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
- if (v == NULL)
- return BadAlloc;
+ if (v == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMapdv(target, query, v);
- (void) bswap_64_array((uint64_t *) v, compsize);
+ CALL_GetMapdv( GET_DISPATCH(), (
+ target,
+ query,
+ v
+ ) );
+ (void) bswap_64_array( (uint64_t *) v, compsize );
__glXSendReplySwap(cl->client, v, compsize, 8, GL_FALSE, 0);
error = Success;
}
@@ -1966,31 +2116,30 @@ __glXDispSwap_GetMapdv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMapfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMapfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum target = (GLenum) bswap_ENUM(pc + 0);
- const GLenum query = (GLenum) bswap_ENUM(pc + 4);
+ if ( cx != NULL ) {
+ const GLenum target = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLenum query = (GLenum )bswap_ENUM ( pc + 4 );
- const GLuint compsize = __glGetMapfv_size(target, query);
+ const GLuint compsize = __glGetMapfv_size(target,query);
GLfloat answerBuffer[200];
- GLfloat *v =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * v = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (v == NULL)
- return BadAlloc;
+ if (v == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMapfv(target, query, v);
- (void) bswap_32_array((uint32_t *) v, compsize);
+ CALL_GetMapfv( GET_DISPATCH(), (
+ target,
+ query,
+ v
+ ) );
+ (void) bswap_32_array( (uint32_t *) v, compsize );
__glXSendReplySwap(cl->client, v, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -1998,31 +2147,30 @@ __glXDispSwap_GetMapfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMapiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMapiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum target = (GLenum) bswap_ENUM(pc + 0);
- const GLenum query = (GLenum) bswap_ENUM(pc + 4);
+ if ( cx != NULL ) {
+ const GLenum target = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLenum query = (GLenum )bswap_ENUM ( pc + 4 );
- const GLuint compsize = __glGetMapiv_size(target, query);
+ const GLuint compsize = __glGetMapiv_size(target,query);
GLint answerBuffer[200];
- GLint *v =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * v = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (v == NULL)
- return BadAlloc;
+ if (v == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMapiv(target, query, v);
- (void) bswap_32_array((uint32_t *) v, compsize);
+ CALL_GetMapiv( GET_DISPATCH(), (
+ target,
+ query,
+ v
+ ) );
+ (void) bswap_32_array( (uint32_t *) v, compsize );
__glXSendReplySwap(cl->client, v, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2030,30 +2178,29 @@ __glXDispSwap_GetMapiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMaterialfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMaterialfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetMaterialfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMaterialfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetMaterialfv( 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;
}
@@ -2061,30 +2208,29 @@ __glXDispSwap_GetMaterialfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMaterialiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMaterialiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetMaterialiv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMaterialiv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetMaterialiv( 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;
}
@@ -2092,30 +2238,28 @@ __glXDispSwap_GetMaterialiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetPixelMapfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum map = (GLenum) bswap_ENUM(pc + 0);
+ if ( cx != NULL ) {
+ const GLenum map = (GLenum )bswap_ENUM ( pc + 0 );
const GLuint compsize = __glGetPixelMapfv_size(map);
GLfloat answerBuffer[200];
- GLfloat *values =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * values = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (values == NULL)
- return BadAlloc;
+ if (values == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetPixelMapfv(map, values);
- (void) bswap_32_array((uint32_t *) values, compsize);
+ CALL_GetPixelMapfv( GET_DISPATCH(), (
+ map,
+ values
+ ) );
+ (void) bswap_32_array( (uint32_t *) values, compsize );
__glXSendReplySwap(cl->client, values, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2123,30 +2267,28 @@ __glXDispSwap_GetPixelMapfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetPixelMapuiv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum map = (GLenum) bswap_ENUM(pc + 0);
+ if ( cx != NULL ) {
+ const GLenum map = (GLenum )bswap_ENUM ( pc + 0 );
const GLuint compsize = __glGetPixelMapuiv_size(map);
GLuint answerBuffer[200];
- GLuint *values =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLuint * values = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (values == NULL)
- return BadAlloc;
+ if (values == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetPixelMapuiv(map, values);
- (void) bswap_32_array((uint32_t *) values, compsize);
+ CALL_GetPixelMapuiv( GET_DISPATCH(), (
+ map,
+ values
+ ) );
+ (void) bswap_32_array( (uint32_t *) values, compsize );
__glXSendReplySwap(cl->client, values, compsize, 4, GL_FALSE, 0);
error = Success;
}
@@ -2154,30 +2296,28 @@ __glXDispSwap_GetPixelMapuiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetPixelMapusv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
- const GLenum map = (GLenum) bswap_ENUM(pc + 0);
+ if ( cx != NULL ) {
+ const GLenum map = (GLenum )bswap_ENUM ( pc + 0 );
const GLuint compsize = __glGetPixelMapusv_size(map);
GLushort answerBuffer[200];
- GLushort *values =
- __glXGetAnswerBuffer(cl, compsize * 2, answerBuffer,
- sizeof(answerBuffer), 2);
+ GLushort * values = __glXGetAnswerBuffer(cl, compsize * 2, answerBuffer, sizeof(answerBuffer), 2);
- if (values == NULL)
- return BadAlloc;
+ if (values == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetPixelMapusv(map, values);
- (void) bswap_16_array((uint16_t *) values, compsize);
+ CALL_GetPixelMapusv( GET_DISPATCH(), (
+ map,
+ values
+ ) );
+ (void) bswap_16_array( (uint16_t *) values, compsize );
__glXSendReplySwap(cl->client, values, compsize, 2, GL_FALSE, 0);
error = Success;
}
@@ -2185,30 +2325,29 @@ __glXDispSwap_GetPixelMapusv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexEnvfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetTexEnvfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexEnvfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexEnvfv( 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;
}
@@ -2216,30 +2355,29 @@ __glXDispSwap_GetTexEnvfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexEnviv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexEnviv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetTexEnviv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexEnviv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexEnviv( 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;
}
@@ -2247,30 +2385,29 @@ __glXDispSwap_GetTexEnviv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexGendv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexGendv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetTexGendv_size(pname);
GLdouble answerBuffer[200];
- GLdouble *params =
- __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer,
- sizeof(answerBuffer), 8);
+ GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexGendv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_64_array((uint64_t *) params, compsize);
+ CALL_GetTexGendv( GET_DISPATCH(), (
+ (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;
}
@@ -2278,30 +2415,29 @@ __glXDispSwap_GetTexGendv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexGenfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexGenfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetTexGenfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexGenfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexGenfv( 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;
}
@@ -2309,30 +2445,29 @@ __glXDispSwap_GetTexGenfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexGeniv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexGeniv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetTexGeniv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexGeniv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexGeniv( 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;
}
@@ -2340,30 +2475,29 @@ __glXDispSwap_GetTexGeniv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetTexParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexParameterfv( 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;
}
@@ -2371,30 +2505,29 @@ __glXDispSwap_GetTexParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetTexParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexParameteriv( 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;
}
@@ -2402,31 +2535,30 @@ __glXDispSwap_GetTexParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexLevelParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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 + 8);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 8 );
const GLuint compsize = __glGetTexLevelParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexLevelParameterfv((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexLevelParameterfv( GET_DISPATCH(), (
+ (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;
}
@@ -2434,31 +2566,30 @@ __glXDispSwap_GetTexLevelParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetTexLevelParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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 + 8);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 8 );
const GLuint compsize = __glGetTexLevelParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetTexLevelParameteriv((GLenum) bswap_ENUM(pc + 0),
- (GLint) bswap_CARD32(pc + 4), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetTexLevelParameteriv( GET_DISPATCH(), (
+ (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;
}
@@ -2466,19 +2597,18 @@ __glXDispSwap_GetTexLevelParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsEnabled(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_IsEnabled(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsEnabled((GLenum) bswap_ENUM(pc + 0));
+ retval = CALL_IsEnabled( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2486,19 +2616,18 @@ __glXDispSwap_IsEnabled(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsList(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_IsList(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsList((GLuint) bswap_CARD32(pc + 0));
+ retval = CALL_IsList( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2506,236 +2635,251 @@ __glXDispSwap_IsList(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_DepthRange(GLbyte * pc)
+void __glXDispSwap_DepthRange(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 16);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 16);
pc -= 4;
}
#endif
- glDepthRange((GLclampd) bswap_FLOAT64(pc + 0),
- (GLclampd) bswap_FLOAT64(pc + 8));
+ CALL_DepthRange( GET_DISPATCH(), (
+ (GLclampd)bswap_FLOAT64( pc + 0 ),
+ (GLclampd)bswap_FLOAT64( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_Frustum(GLbyte * pc)
+void __glXDispSwap_Frustum(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 48);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 48);
pc -= 4;
}
#endif
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_LoadIdentity(GLbyte * pc)
+void __glXDispSwap_LoadIdentity(GLbyte * pc)
{
- glLoadIdentity();
+ CALL_LoadIdentity( GET_DISPATCH(), () );
}
-void
-__glXDispSwap_LoadMatrixf(GLbyte * pc)
+void __glXDispSwap_LoadMatrixf(GLbyte * pc)
{
- glLoadMatrixf((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 16));
+ CALL_LoadMatrixf( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 16 )
+ ) );
}
-void
-__glXDispSwap_LoadMatrixd(GLbyte * pc)
+void __glXDispSwap_LoadMatrixd(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 128);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 128);
pc -= 4;
}
#endif
- glLoadMatrixd((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 16));
+ CALL_LoadMatrixd( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 16 )
+ ) );
}
-void
-__glXDispSwap_MatrixMode(GLbyte * pc)
+void __glXDispSwap_MatrixMode(GLbyte * pc)
{
- glMatrixMode((GLenum) bswap_ENUM(pc + 0));
+ CALL_MatrixMode( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_MultMatrixf(GLbyte * pc)
+void __glXDispSwap_MultMatrixf(GLbyte * pc)
{
- glMultMatrixf((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 16));
+ CALL_MultMatrixf( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 16 )
+ ) );
}
-void
-__glXDispSwap_MultMatrixd(GLbyte * pc)
+void __glXDispSwap_MultMatrixd(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 128);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 128);
pc -= 4;
}
#endif
- glMultMatrixd((const GLdouble *) bswap_64_array((uint64_t *) (pc + 0), 16));
+ CALL_MultMatrixd( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 16 )
+ ) );
}
-void
-__glXDispSwap_Ortho(GLbyte * pc)
+void __glXDispSwap_Ortho(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 48);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 48);
pc -= 4;
}
#endif
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_PopMatrix(GLbyte * pc)
+void __glXDispSwap_PopMatrix(GLbyte * pc)
{
- glPopMatrix();
+ CALL_PopMatrix( GET_DISPATCH(), () );
}
-void
-__glXDispSwap_PushMatrix(GLbyte * pc)
+void __glXDispSwap_PushMatrix(GLbyte * pc)
{
- glPushMatrix();
+ CALL_PushMatrix( GET_DISPATCH(), () );
}
-void
-__glXDispSwap_Rotated(GLbyte * pc)
+void __glXDispSwap_Rotated(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 32);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 32);
pc -= 4;
}
#endif
- glRotated((GLdouble) bswap_FLOAT64(pc + 0),
- (GLdouble) bswap_FLOAT64(pc + 8),
- (GLdouble) bswap_FLOAT64(pc + 16),
- (GLdouble) bswap_FLOAT64(pc + 24));
+ CALL_Rotated( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_Rotatef(GLbyte * pc)
{
- glRotatef((GLfloat) bswap_FLOAT32(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4),
- (GLfloat) bswap_FLOAT32(pc + 8),
- (GLfloat) bswap_FLOAT32(pc + 12));
+ CALL_Rotatef( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 ),
+ (GLfloat )bswap_FLOAT32( pc + 12 )
+ ) );
}
-void
-__glXDispSwap_Scaled(GLbyte * pc)
+void __glXDispSwap_Scaled(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glScaled((GLdouble) bswap_FLOAT64(pc + 0),
- (GLdouble) bswap_FLOAT64(pc + 8),
- (GLdouble) bswap_FLOAT64(pc + 16));
+ CALL_Scaled( GET_DISPATCH(), (
+ (GLdouble)bswap_FLOAT64( pc + 0 ),
+ (GLdouble)bswap_FLOAT64( pc + 8 ),
+ (GLdouble)bswap_FLOAT64( pc + 16 )
+ ) );
}
-void
-__glXDispSwap_Scalef(GLbyte * pc)
+void __glXDispSwap_Scalef(GLbyte * pc)
{
- glScalef((GLfloat) bswap_FLOAT32(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4), (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_Scalef( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_Translated(GLbyte * pc)
+void __glXDispSwap_Translated(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 24);
pc -= 4;
}
#endif
- glTranslated((GLdouble) bswap_FLOAT64(pc + 0),
- (GLdouble) bswap_FLOAT64(pc + 8),
- (GLdouble) bswap_FLOAT64(pc + 16));
+ CALL_Translated( GET_DISPATCH(), (
+ (GLdouble)bswap_FLOAT64( pc + 0 ),
+ (GLdouble)bswap_FLOAT64( pc + 8 ),
+ (GLdouble)bswap_FLOAT64( pc + 16 )
+ ) );
}
-void
-__glXDispSwap_Translatef(GLbyte * pc)
+void __glXDispSwap_Translatef(GLbyte * pc)
{
- glTranslatef((GLfloat) bswap_FLOAT32(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4),
- (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_Translatef( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_Viewport(GLbyte * pc)
+void __glXDispSwap_Viewport(GLbyte * pc)
{
- glViewport((GLint) bswap_CARD32(pc + 0),
- (GLint) bswap_CARD32(pc + 4),
- (GLsizei) bswap_CARD32(pc + 8), (GLsizei) bswap_CARD32(pc + 12));
+ CALL_Viewport( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_BindTexture(GLbyte * pc)
{
- glBindTexture((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
+ CALL_BindTexture( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLuint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_Indexubv(GLbyte * pc)
+void __glXDispSwap_Indexubv(GLbyte * pc)
{
- glIndexubv((const GLubyte *) (pc + 0));
+ CALL_Indexubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_PolygonOffset(GLbyte * pc)
+void __glXDispSwap_PolygonOffset(GLbyte * pc)
{
- glPolygonOffset((GLfloat) bswap_FLOAT32(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4));
+ CALL_PolygonOffset( GET_DISPATCH(), (
+ (GLfloat )bswap_FLOAT32( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
}
-int
-__glXDispSwap_AreTexturesResident(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_AreTexturesResident(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ 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 =
- glAreTexturesResident(n,
- (const GLuint *)
- bswap_32_array((uint32_t *) (pc + 4), 0),
- residences);
+ 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
+ ) );
__glXSendReplySwap(cl->client, residences, n, 1, GL_TRUE, retval);
error = Success;
}
@@ -2743,27 +2887,24 @@ __glXDispSwap_AreTexturesResident(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_AreTexturesResidentEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ 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 =
- glAreTexturesResident(n,
- (const GLuint *)
- bswap_32_array((uint32_t *) (pc + 4), 0),
- residences);
+ 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
+ ) );
__glXSendReplySwap(cl->client, residences, n, 1, GL_TRUE, retval);
error = Success;
}
@@ -2771,115 +2912,116 @@ __glXDispSwap_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_CopyTexImage1D(GLbyte * pc)
+void __glXDispSwap_CopyTexImage1D(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_CopyTexImage2D(GLbyte * pc)
+void __glXDispSwap_CopyTexImage2D(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_CopyTexSubImage1D(GLbyte * pc)
+void __glXDispSwap_CopyTexSubImage1D(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_CopyTexSubImage2D(GLbyte * pc)
+void __glXDispSwap_CopyTexSubImage2D(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-int
-__glXDispSwap_DeleteTextures(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_DeleteTextures(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
- glDeleteTextures(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ CALL_DeleteTextures( GET_DISPATCH(), (
+ n,
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 0 )
+ ) );
error = Success;
}
return error;
}
-int
-__glXDispSwap_DeleteTexturesEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_DeleteTexturesEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
- glDeleteTextures(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ CALL_DeleteTextures( GET_DISPATCH(), (
+ n,
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 0 )
+ ) );
error = Success;
}
return error;
}
-int
-__glXDispSwap_GenTextures(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GenTextures(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
GLuint answerBuffer[200];
- GLuint *textures =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- glGenTextures(n, textures);
- (void) bswap_32_array((uint32_t *) textures, n);
+ GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenTextures( GET_DISPATCH(), (
+ n,
+ textures
+ ) );
+ (void) bswap_32_array( (uint32_t *) textures, n );
__glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -2887,24 +3029,23 @@ __glXDispSwap_GenTextures(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GenTexturesEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
GLuint answerBuffer[200];
- GLuint *textures =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- glGenTextures(n, textures);
- (void) bswap_32_array((uint32_t *) textures, n);
+ GLuint * textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenTextures( GET_DISPATCH(), (
+ n,
+ textures
+ ) );
+ (void) bswap_32_array( (uint32_t *) textures, n );
__glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -2912,19 +3053,18 @@ __glXDispSwap_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsTexture(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_IsTexture(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsTexture((GLuint) bswap_CARD32(pc + 0));
+ retval = CALL_IsTexture( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2932,19 +3072,18 @@ __glXDispSwap_IsTexture(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsTextureEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_IsTextureEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = glIsTexture((GLuint) bswap_CARD32(pc + 0));
+ retval = CALL_IsTexture( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -2952,160 +3091,166 @@ __glXDispSwap_IsTextureEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_PrioritizeTextures(GLbyte * pc)
+void __glXDispSwap_PrioritizeTextures(GLbyte * pc)
{
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
- glPrioritizeTextures(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0),
- (const GLclampf *)
- bswap_32_array((uint32_t *) (pc + 4), 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 )
+ ) );
}
-void
-__glXDispSwap_TexSubImage1D(GLbyte * pc)
+void __glXDispSwap_TexSubImage1D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 56);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_TexSubImage2D(GLbyte * pc)
+void __glXDispSwap_TexSubImage2D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 56));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 56);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_BlendColor(GLbyte * pc)
+void __glXDispSwap_BlendColor(GLbyte * pc)
{
- glBlendColor((GLclampf) bswap_FLOAT32(pc + 0),
- (GLclampf) bswap_FLOAT32(pc + 4),
- (GLclampf) bswap_FLOAT32(pc + 8),
- (GLclampf) bswap_FLOAT32(pc + 12));
+ CALL_BlendColor( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_BlendEquation(GLbyte * pc)
{
- glBlendEquation((GLenum) bswap_ENUM(pc + 0));
+ CALL_BlendEquation( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_ColorTable(GLbyte * pc)
+void __glXDispSwap_ColorTable(GLbyte * pc)
{
- const GLvoid *const table = (const GLvoid *) ((pc + 40));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const table = (const GLvoid *) (pc + 40);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_ColorTableParameterfv(GLbyte * pc)
+void __glXDispSwap_ColorTableParameterfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- __glColorTableParameterfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 8), __glColorTableParameterfv_size(pname) );
- glColorTableParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_ColorTableParameterfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_ColorTableParameteriv(GLbyte * pc)
+void __glXDispSwap_ColorTableParameteriv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8),
- __glColorTableParameteriv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 8), __glColorTableParameteriv_size(pname) );
- glColorTableParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_ColorTableParameteriv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_CopyColorTable(GLbyte * pc)
+void __glXDispSwap_CopyColorTable(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-int
-__glXDispSwap_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetColorTableParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetColorTableParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetColorTableParameterfv( 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;
}
@@ -3113,30 +3258,29 @@ __glXDispSwap_GetColorTableParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetColorTableParameterfvSGI(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetColorTableParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetColorTableParameterfv( 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;
}
@@ -3144,30 +3288,29 @@ __glXDispSwap_GetColorTableParameterfvSGI(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetColorTableParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetColorTableParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetColorTableParameteriv( 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;
}
@@ -3175,30 +3318,29 @@ __glXDispSwap_GetColorTableParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetColorTableParameterivSGI(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetColorTableParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetColorTableParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetColorTableParameteriv( 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;
}
@@ -3206,168 +3348,176 @@ __glXDispSwap_GetColorTableParameterivSGI(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_ColorSubTable(GLbyte * pc)
+void __glXDispSwap_ColorSubTable(GLbyte * pc)
{
- const GLvoid *const data = (const GLvoid *) ((pc + 40));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const data = (const GLvoid *) (pc + 40);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_CopyColorSubTable(GLbyte * pc)
+void __glXDispSwap_CopyColorSubTable(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_ConvolutionFilter1D(GLbyte * pc)
+void __glXDispSwap_ConvolutionFilter1D(GLbyte * pc)
{
- const GLvoid *const image = (const GLvoid *) ((pc + 44));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const image = (const GLvoid *) (pc + 44);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_ConvolutionFilter2D(GLbyte * pc)
+void __glXDispSwap_ConvolutionFilter2D(GLbyte * pc)
{
- const GLvoid *const image = (const GLvoid *) ((pc + 44));
- __GLXpixelHeader *const hdr = (__GLXpixelHeader *) (pc);
+ const GLvoid * const image = (const GLvoid *) (pc + 44);
+ __GLXpixelHeader * const hdr = (__GLXpixelHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_ConvolutionParameterf(GLbyte * pc)
+void __glXDispSwap_ConvolutionParameterf(GLbyte * pc)
{
- glConvolutionParameterf((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLfloat) bswap_FLOAT32(pc + 8));
+ CALL_ConvolutionParameterf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLfloat )bswap_FLOAT32( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_ConvolutionParameterfv(GLbyte * pc)
+void __glXDispSwap_ConvolutionParameterfv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 8),
- __glConvolutionParameterfv_size
- (pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 8), __glConvolutionParameterfv_size(pname) );
- glConvolutionParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_ConvolutionParameterfv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_ConvolutionParameteri(GLbyte * pc)
+void __glXDispSwap_ConvolutionParameteri(GLbyte * pc)
{
- glConvolutionParameteri((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- (GLint) bswap_CARD32(pc + 8));
+ CALL_ConvolutionParameteri( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLint )bswap_CARD32 ( pc + 8 )
+ ) );
}
-void
-__glXDispSwap_ConvolutionParameteriv(GLbyte * pc)
+void __glXDispSwap_ConvolutionParameteriv(GLbyte * pc)
{
- const GLenum pname = (GLenum) bswap_ENUM(pc + 4);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 8),
- __glConvolutionParameteriv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 8), __glConvolutionParameteriv_size(pname) );
- glConvolutionParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
+ CALL_ConvolutionParameteriv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_CopyConvolutionFilter1D(GLbyte * pc)
+void __glXDispSwap_CopyConvolutionFilter1D(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_CopyConvolutionFilter2D(GLbyte * pc)
+void __glXDispSwap_CopyConvolutionFilter2D(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-int
-__glXDispSwap_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetConvolutionParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetConvolutionParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetConvolutionParameterfv( 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;
}
@@ -3375,30 +3525,29 @@ __glXDispSwap_GetConvolutionParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetConvolutionParameterfvEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetConvolutionParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetConvolutionParameterfv( 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;
}
@@ -3406,30 +3555,29 @@ __glXDispSwap_GetConvolutionParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetConvolutionParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetConvolutionParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetConvolutionParameteriv( 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;
}
@@ -3437,30 +3585,29 @@ __glXDispSwap_GetConvolutionParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetConvolutionParameterivEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetConvolutionParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetConvolutionParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetConvolutionParameteriv( 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;
}
@@ -3468,30 +3615,29 @@ __glXDispSwap_GetConvolutionParameterivEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetHistogramParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetHistogramParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetHistogramParameterfv( 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;
}
@@ -3499,30 +3645,29 @@ __glXDispSwap_GetHistogramParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetHistogramParameterfvEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetHistogramParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetHistogramParameterfv( 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;
}
@@ -3530,30 +3675,29 @@ __glXDispSwap_GetHistogramParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetHistogramParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetHistogramParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetHistogramParameteriv( 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;
}
@@ -3561,30 +3705,29 @@ __glXDispSwap_GetHistogramParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetHistogramParameterivEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetHistogramParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetHistogramParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetHistogramParameteriv( 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;
}
@@ -3592,30 +3735,29 @@ __glXDispSwap_GetHistogramParameterivEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMinmaxParameterfv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetMinmaxParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetMinmaxParameterfv( 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;
}
@@ -3623,30 +3765,29 @@ __glXDispSwap_GetMinmaxParameterfv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMinmaxParameterfvEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetMinmaxParameterfv_size(pname);
GLfloat answerBuffer[200];
- GLfloat *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameterfv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetMinmaxParameterfv( 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;
}
@@ -3654,30 +3795,29 @@ __glXDispSwap_GetMinmaxParameterfvEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMinmaxParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetMinmaxParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetMinmaxParameteriv( 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;
}
@@ -3685,30 +3825,29 @@ __glXDispSwap_GetMinmaxParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetMinmaxParameterivEXT(__GLXclientState *cl, GLbyte *pc)
{
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetMinmaxParameteriv_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- glGetMinmaxParameteriv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetMinmaxParameteriv( 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;
}
@@ -3716,582 +3855,563 @@ __glXDispSwap_GetMinmaxParameterivEXT(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_Histogram(GLbyte * pc)
-{
- glHistogram((GLenum) bswap_ENUM(pc + 0),
- (GLsizei) bswap_CARD32(pc + 4),
- (GLenum) bswap_ENUM(pc + 8), *(GLboolean *) (pc + 12));
+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)
+ ) );
}
-void
-__glXDispSwap_Minmax(GLbyte * pc)
+void __glXDispSwap_Minmax(GLbyte * pc)
{
- glMinmax((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), *(GLboolean *) (pc + 8));
+ CALL_Minmax( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ *(GLboolean *)(pc + 8)
+ ) );
}
-void
-__glXDispSwap_ResetHistogram(GLbyte * pc)
+void __glXDispSwap_ResetHistogram(GLbyte * pc)
{
- glResetHistogram((GLenum) bswap_ENUM(pc + 0));
+ CALL_ResetHistogram( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_ResetMinmax(GLbyte * pc)
+void __glXDispSwap_ResetMinmax(GLbyte * pc)
{
- glResetMinmax((GLenum) bswap_ENUM(pc + 0));
+ CALL_ResetMinmax( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_TexImage3D(GLbyte * pc)
+void __glXDispSwap_TexImage3D(GLbyte * pc)
{
- const CARD32 ptr_is_null = *(CARD32 *) (pc + 76);
- const GLvoid *const pixels =
- (const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80));
- __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
+ const CARD32 ptr_is_null = *(CARD32 *)(pc + 76);
+ const GLvoid * const pixels = (const GLvoid *) ((ptr_is_null != 0) ? NULL : (pc + 80));
+ __GLXpixel3DHeader * const hdr = (__GLXpixel3DHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_TexSubImage3D(GLbyte * pc)
+void __glXDispSwap_TexSubImage3D(GLbyte * pc)
{
- const GLvoid *const pixels = (const GLvoid *) ((pc + 88));
- __GLXpixel3DHeader *const hdr = (__GLXpixel3DHeader *) (pc);
+ const GLvoid * const pixels = (const GLvoid *) (pc + 88);
+ __GLXpixel3DHeader * const hdr = (__GLXpixel3DHeader *)(pc);
- 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_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 )) );
- 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);
+ 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
+ ) );
}
-void
-__glXDispSwap_CopyTexSubImage3D(GLbyte * pc)
+void __glXDispSwap_CopyTexSubImage3D(GLbyte * pc)
{
- 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));
+ 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 )
+ ) );
}
-void
-__glXDispSwap_ActiveTexture(GLbyte * pc)
+void __glXDispSwap_ActiveTexture(GLbyte * pc)
{
- glActiveTextureARB((GLenum) bswap_ENUM(pc + 0));
+ CALL_ActiveTexture( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord1dv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord1dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 12);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 12);
pc -= 4;
}
#endif
- glMultiTexCoord1dvARB((GLenum) bswap_ENUM(pc + 8),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 1));
+ CALL_MultiTexCoord1dv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 8 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord1fvARB(GLbyte * pc)
{
- glMultiTexCoord1fvARB((GLenum) bswap_ENUM(pc + 0),
- (const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 4), 1));
+ CALL_MultiTexCoord1fvARB( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord1iv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord1iv(GLbyte * pc)
{
- glMultiTexCoord1ivARB((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 1));
+ CALL_MultiTexCoord1iv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord1sv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord1sv(GLbyte * pc)
{
- glMultiTexCoord1svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 1));
+ CALL_MultiTexCoord1sv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord2dv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord2dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 20);
pc -= 4;
}
#endif
- glMultiTexCoord2dvARB((GLenum) bswap_ENUM(pc + 16),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 2));
+ CALL_MultiTexCoord2dv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 16 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 2 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord2fvARB(GLbyte * pc)
{
- glMultiTexCoord2fvARB((GLenum) bswap_ENUM(pc + 0),
- (const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 4), 2));
+ CALL_MultiTexCoord2fvARB( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord2iv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord2iv(GLbyte * pc)
{
- glMultiTexCoord2ivARB((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 2));
+ CALL_MultiTexCoord2iv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord2sv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord2sv(GLbyte * pc)
{
- glMultiTexCoord2svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 2));
+ CALL_MultiTexCoord2sv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord3dv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord3dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 28);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 28);
pc -= 4;
}
#endif
- glMultiTexCoord3dvARB((GLenum) bswap_ENUM(pc + 24),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 3));
+ CALL_MultiTexCoord3dv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 24 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord3fvARB(GLbyte * pc)
{
- glMultiTexCoord3fvARB((GLenum) bswap_ENUM(pc + 0),
- (const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 4), 3));
+ CALL_MultiTexCoord3fvARB( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 3 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord3iv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord3iv(GLbyte * pc)
{
- glMultiTexCoord3ivARB((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 3));
+ CALL_MultiTexCoord3iv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 4), 3 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord3sv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord3sv(GLbyte * pc)
{
- glMultiTexCoord3svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 3));
+ CALL_MultiTexCoord3sv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 3 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord4dv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord4dv(GLbyte * pc)
{
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 36);
pc -= 4;
}
#endif
- glMultiTexCoord4dvARB((GLenum) bswap_ENUM(pc + 32),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 0),
- 4));
+ CALL_MultiTexCoord4dv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 32 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 4 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord4fvARB(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord4fvARB(GLbyte * pc)
{
- glMultiTexCoord4fvARB((GLenum) bswap_ENUM(pc + 0),
- (const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 4), 4));
+ CALL_MultiTexCoord4fvARB( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord4iv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord4iv(GLbyte * pc)
{
- glMultiTexCoord4ivARB((GLenum) bswap_ENUM(pc + 0),
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ CALL_MultiTexCoord4iv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_MultiTexCoord4sv(GLbyte * pc)
+void __glXDispSwap_MultiTexCoord4sv(GLbyte * pc)
{
- glMultiTexCoord4svARB((GLenum) bswap_ENUM(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+ CALL_MultiTexCoord4sv( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_CompressedTexImage1D(GLbyte * pc)
+void __glXDispSwap_CompressedTexImage1D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXIMAGE1DPROC CompressedTexImage1D =
- __glGetProcAddress("glCompressedTexImage1D");
- const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 20);
+ const GLsizei imageSize = (GLsizei )bswap_CARD32 ( pc + 20 );
- 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));
+ CALL_CompressedTexImage1D( 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)
+ ) );
}
-void
-__glXDispSwap_CompressedTexImage2D(GLbyte * pc)
+void __glXDispSwap_CompressedTexImage2D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXIMAGE2DPROC CompressedTexImage2D =
- __glGetProcAddress("glCompressedTexImage2D");
- const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 24);
+ const GLsizei imageSize = (GLsizei )bswap_CARD32 ( pc + 24 );
- 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));
+ CALL_CompressedTexImage2D( 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)
+ ) );
}
-void
-__glXDispSwap_CompressedTexImage3D(GLbyte * pc)
+void __glXDispSwap_CompressedTexImage3D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXIMAGE3DPROC CompressedTexImage3D =
- __glGetProcAddress("glCompressedTexImage3D");
- const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 28);
+ const GLsizei imageSize = (GLsizei )bswap_CARD32 ( pc + 28 );
- 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));
+ CALL_CompressedTexImage3D( 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)
+ ) );
}
-void
-__glXDispSwap_CompressedTexSubImage1D(GLbyte * pc)
+void __glXDispSwap_CompressedTexSubImage1D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC CompressedTexSubImage1D =
- __glGetProcAddress("glCompressedTexSubImage1D");
- const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 20);
+ const GLsizei imageSize = (GLsizei )bswap_CARD32 ( pc + 20 );
- 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));
+ CALL_CompressedTexSubImage1D( 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)
+ ) );
}
-void
-__glXDispSwap_CompressedTexSubImage2D(GLbyte * pc)
+void __glXDispSwap_CompressedTexSubImage2D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D =
- __glGetProcAddress("glCompressedTexSubImage2D");
- const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 28);
+ const GLsizei imageSize = (GLsizei )bswap_CARD32 ( pc + 28 );
- 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));
+ CALL_CompressedTexSubImage2D( 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)
+ ) );
}
-void
-__glXDispSwap_CompressedTexSubImage3D(GLbyte * pc)
+void __glXDispSwap_CompressedTexSubImage3D(GLbyte * pc)
{
- PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC CompressedTexSubImage3D =
- __glGetProcAddress("glCompressedTexSubImage3D");
- const GLsizei imageSize = (GLsizei) bswap_CARD32(pc + 36);
+ const GLsizei imageSize = (GLsizei )bswap_CARD32 ( pc + 36 );
- 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));
+ CALL_CompressedTexSubImage3D( 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)
+ ) );
}
-void
-__glXDispSwap_SampleCoverage(GLbyte * pc)
+void __glXDispSwap_SampleCoverage(GLbyte * pc)
{
- PFNGLSAMPLECOVERAGEPROC SampleCoverage =
- __glGetProcAddress("glSampleCoverage");
- SampleCoverage((GLclampf) bswap_FLOAT32(pc + 0), *(GLboolean *) (pc + 4));
+ CALL_SampleCoverage( GET_DISPATCH(), (
+ (GLclampf)bswap_FLOAT32( pc + 0 ),
+ *(GLboolean *)(pc + 4)
+ ) );
}
-void
-__glXDispSwap_BlendFuncSeparate(GLbyte * pc)
+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));
+ CALL_BlendFuncSeparate( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_FogCoorddv(GLbyte * pc)
{
- PFNGLFOGCOORDDVPROC FogCoorddv = __glGetProcAddress("glFogCoorddv");
-
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 8);
+ 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));
+ CALL_FogCoorddv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 1 )
+ ) );
}
-void
-__glXDispSwap_PointParameterf(GLbyte * pc)
+void __glXDispSwap_PointParameterf(GLbyte * pc)
{
- PFNGLPOINTPARAMETERFPROC PointParameterf =
- __glGetProcAddress("glPointParameterf");
- PointParameterf((GLenum) bswap_ENUM(pc + 0),
- (GLfloat) bswap_FLOAT32(pc + 4));
+ CALL_PointParameterf( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLfloat )bswap_FLOAT32( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_PointParameterfv(GLbyte * pc)
+void __glXDispSwap_PointParameterfv(GLbyte * pc)
{
- PFNGLPOINTPARAMETERFVPROC PointParameterfv =
- __glGetProcAddress("glPointParameterfv");
- const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
- const GLfloat *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLfloat * params;
- params =
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- __glPointParameterfv_size(pname));
+ params = (const GLfloat *) bswap_32_array( (uint32_t *) (pc + 4), __glPointParameterfv_size(pname) );
- PointParameterfv(pname, params);
+ CALL_PointParameterfv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_PointParameteri(GLbyte * pc)
+void __glXDispSwap_PointParameteri(GLbyte * pc)
{
- PFNGLPOINTPARAMETERIPROC PointParameteri =
- __glGetProcAddress("glPointParameteri");
- PointParameteri((GLenum) bswap_ENUM(pc + 0), (GLint) bswap_CARD32(pc + 4));
+ CALL_PointParameteri( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_PointParameteriv(GLbyte * pc)
+void __glXDispSwap_PointParameteriv(GLbyte * pc)
{
- PFNGLPOINTPARAMETERIVPROC PointParameteriv =
- __glGetProcAddress("glPointParameteriv");
- const GLenum pname = (GLenum) bswap_ENUM(pc + 0);
- const GLint *params;
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 0 );
+ const GLint * params;
- params =
- (const GLint *) bswap_32_array((uint32_t *) (pc + 4),
- __glPointParameteriv_size(pname));
+ params = (const GLint *) bswap_32_array( (uint32_t *) (pc + 4), __glPointParameteriv_size(pname) );
- PointParameteriv(pname, params);
+ CALL_PointParameteriv( GET_DISPATCH(), (
+ pname,
+ params
+ ) );
}
-void
-__glXDispSwap_SecondaryColor3bv(GLbyte * pc)
+void __glXDispSwap_SecondaryColor3bv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3BVPROC SecondaryColor3bv =
- __glGetProcAddress("glSecondaryColor3bv");
- SecondaryColor3bv((const GLbyte *) (pc + 0));
+ CALL_SecondaryColor3bv( GET_DISPATCH(), (
+ (const GLbyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_SecondaryColor3dv(GLbyte * pc)
+void __glXDispSwap_SecondaryColor3dv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3DVPROC SecondaryColor3dv =
- __glGetProcAddress("glSecondaryColor3dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 24);
+ 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));
+ CALL_SecondaryColor3dv( GET_DISPATCH(), (
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_SecondaryColor3iv(GLbyte * pc)
+void __glXDispSwap_SecondaryColor3iv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3IVPROC SecondaryColor3iv =
- __glGetProcAddress("glSecondaryColor3iv");
- SecondaryColor3iv((const GLint *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_SecondaryColor3iv( GET_DISPATCH(), (
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_SecondaryColor3sv(GLbyte * pc)
+void __glXDispSwap_SecondaryColor3sv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3SVPROC SecondaryColor3sv =
- __glGetProcAddress("glSecondaryColor3sv");
- SecondaryColor3sv((const GLshort *)
- bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_SecondaryColor3sv( GET_DISPATCH(), (
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_SecondaryColor3ubv(GLbyte * pc)
+void __glXDispSwap_SecondaryColor3ubv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3UBVPROC SecondaryColor3ubv =
- __glGetProcAddress("glSecondaryColor3ubv");
- SecondaryColor3ubv((const GLubyte *) (pc + 0));
+ CALL_SecondaryColor3ubv( GET_DISPATCH(), (
+ (const GLubyte *)(pc + 0)
+ ) );
}
-void
-__glXDispSwap_SecondaryColor3uiv(GLbyte * pc)
+void __glXDispSwap_SecondaryColor3uiv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3UIVPROC SecondaryColor3uiv =
- __glGetProcAddress("glSecondaryColor3uiv");
- SecondaryColor3uiv((const GLuint *)
- bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_SecondaryColor3uiv( GET_DISPATCH(), (
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_SecondaryColor3usv(GLbyte * pc)
+void __glXDispSwap_SecondaryColor3usv(GLbyte * pc)
{
- PFNGLSECONDARYCOLOR3USVPROC SecondaryColor3usv =
- __glGetProcAddress("glSecondaryColor3usv");
- SecondaryColor3usv((const GLushort *)
- bswap_16_array((uint16_t *) (pc + 0), 3));
+ CALL_SecondaryColor3usv( GET_DISPATCH(), (
+ (const GLushort *)bswap_16_array( (uint16_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_WindowPos3fv(GLbyte * pc)
+void __glXDispSwap_WindowPos3fv(GLbyte * pc)
{
- PFNGLWINDOWPOS3FVPROC WindowPos3fv = __glGetProcAddress("glWindowPos3fv");
-
- WindowPos3fv((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 3));
+ CALL_WindowPos3fv( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
}
-void
-__glXDispSwap_BeginQuery(GLbyte * pc)
+void __glXDispSwap_BeginQuery(GLbyte * pc)
{
- PFNGLBEGINQUERYPROC BeginQuery = __glGetProcAddress("glBeginQuery");
-
- BeginQuery((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
+ CALL_BeginQuery( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLuint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-int
-__glXDispSwap_DeleteQueries(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_DeleteQueries(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLDELETEQUERIESPROC DeleteQueries =
- __glGetProcAddress("glDeleteQueries");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
- DeleteQueries(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ CALL_DeleteQueries( GET_DISPATCH(), (
+ n,
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 0 )
+ ) );
error = Success;
}
return error;
}
-void
-__glXDispSwap_EndQuery(GLbyte * pc)
+void __glXDispSwap_EndQuery(GLbyte * pc)
{
- PFNGLENDQUERYPROC EndQuery = __glGetProcAddress("glEndQuery");
-
- EndQuery((GLenum) bswap_ENUM(pc + 0));
+ CALL_EndQuery( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-int
-__glXDispSwap_GenQueries(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GenQueries(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENQUERIESPROC GenQueries = __glGetProcAddress("glGenQueries");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ 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);
+ GLuint * ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenQueries( GET_DISPATCH(), (
+ n,
+ ids
+ ) );
+ (void) bswap_32_array( (uint32_t *) ids, n );
__glXSendReplySwap(cl->client, ids, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4299,32 +4419,29 @@ __glXDispSwap_GenQueries(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetQueryObjectiv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETQUERYOBJECTIVPROC GetQueryObjectiv =
- __glGetProcAddress("glGetQueryObjectiv");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ 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);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetQueryObjectiv((GLuint) bswap_CARD32(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetQueryObjectiv( 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;
}
@@ -4332,32 +4449,29 @@ __glXDispSwap_GetQueryObjectiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetQueryObjectuiv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETQUERYOBJECTUIVPROC GetQueryObjectuiv =
- __glGetProcAddress("glGetQueryObjectuiv");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ 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);
+ GLuint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetQueryObjectuiv((GLuint) bswap_CARD32(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetQueryObjectuiv( 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;
}
@@ -4365,31 +4479,29 @@ __glXDispSwap_GetQueryObjectuiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetQueryiv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETQUERYIVPROC GetQueryiv = __glGetProcAddress("glGetQueryiv");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ 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);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetQueryiv((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetQueryiv( 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;
}
@@ -4397,20 +4509,18 @@ __glXDispSwap_GetQueryiv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsQuery(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_IsQuery(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLISQUERYPROC IsQuery = __glGetProcAddress("glIsQuery");
- xGLXSingleReq *const req = (xGLXSingleReq *) pc;
+ xGLXSingleReq * const req = (xGLXSingleReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_SINGLE_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = IsQuery((GLuint) bswap_CARD32(pc + 0));
+ retval = CALL_IsQuery( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4418,287 +4528,347 @@ __glXDispSwap_IsQuery(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_BlendEquationSeparate(GLbyte * pc)
+void __glXDispSwap_BlendEquationSeparate(GLbyte * pc)
{
- PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate =
- __glGetProcAddress("glBlendEquationSeparate");
- BlendEquationSeparate((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4));
+ CALL_BlendEquationSeparate( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 )
+ ) );
+}
+
+void __glXDispSwap_DrawBuffers(GLbyte * pc)
+{
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
+
+ CALL_DrawBuffers( GET_DISPATCH(), (
+ n,
+ (const GLenum *)bswap_32_array( (uint32_t *) (pc + 4), 0 )
+ ) );
+}
+
+int __glXDispSwap_GetVertexAttribdv(__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 = __glGetVertexAttribdv_size(pname);
+ GLdouble answerBuffer[200];
+ GLdouble * params = __glXGetAnswerBuffer(cl, compsize * 8, answerBuffer, sizeof(answerBuffer), 8);
+
+ if (params == NULL) return BadAlloc;
+ __glXClearErrorOccured();
+
+ CALL_GetVertexAttribdv( 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;
}
-void
-__glXDispSwap_DrawBuffers(GLbyte * pc)
+int __glXDispSwap_GetVertexAttribfv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLDRAWBUFFERSPROC DrawBuffers = __glGetProcAddress("glDrawBuffers");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
+ int error;
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
- DrawBuffers(n, (const GLenum *) bswap_32_array((uint32_t *) (pc + 4), 0));
+ pc += __GLX_VENDPRIV_HDR_SIZE;
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
+
+ const GLuint compsize = __glGetVertexAttribfv_size(pname);
+ GLfloat answerBuffer[200];
+ GLfloat * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (params == NULL) return BadAlloc;
+ __glXClearErrorOccured();
+
+ CALL_GetVertexAttribfv( 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;
}
-void
-__glXDispSwap_VertexAttrib1dv(GLbyte * pc)
+int __glXDispSwap_GetVertexAttribiv(__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 = __glGetVertexAttribiv_size(pname);
+ GLint answerBuffer[200];
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
+
+ if (params == NULL) return BadAlloc;
+ __glXClearErrorOccured();
+
+ CALL_GetVertexAttribiv( 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;
+}
+
+void __glXDispSwap_VertexAttrib1dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1DVPROC VertexAttrib1dv =
- __glGetProcAddress("glVertexAttrib1dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 12);
+ 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));
+ CALL_VertexAttrib1dv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib1sv(GLbyte * pc)
+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));
+ CALL_VertexAttrib1sv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib2dv(GLbyte * pc)
+void __glXDispSwap_VertexAttrib2dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2DVPROC VertexAttrib2dv =
- __glGetProcAddress("glVertexAttrib2dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ 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));
+ CALL_VertexAttrib2dv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib2sv(GLbyte * pc)
+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));
+ CALL_VertexAttrib2sv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib3dv(GLbyte * pc)
+void __glXDispSwap_VertexAttrib3dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3DVPROC VertexAttrib3dv =
- __glGetProcAddress("glVertexAttrib3dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 28);
+ 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));
+ CALL_VertexAttrib3dv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 4), 3 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib3sv(GLbyte * pc)
+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));
+ CALL_VertexAttrib3sv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 3 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4Nbv(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4Nbv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NBVPROC VertexAttrib4Nbv =
- __glGetProcAddress("glVertexAttrib4Nbv");
- VertexAttrib4Nbv((GLuint) bswap_CARD32(pc + 0), (const GLbyte *) (pc + 4));
+ CALL_VertexAttrib4Nbv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLbyte *)(pc + 4)
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4Niv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4Niv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4Nsv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4Nsv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4Nubv(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4Nubv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4NUBVPROC VertexAttrib4Nubv =
- __glGetProcAddress("glVertexAttrib4Nubv");
- VertexAttrib4Nubv((GLuint) bswap_CARD32(pc + 0),
- (const GLubyte *) (pc + 4));
+ CALL_VertexAttrib4Nubv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLubyte *)(pc + 4)
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4Nuiv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4Nuiv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4Nusv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4Nusv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLushort *)bswap_16_array( (uint16_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4bv(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4bv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4BVPROC VertexAttrib4bv =
- __glGetProcAddress("glVertexAttrib4bv");
- VertexAttrib4bv((GLuint) bswap_CARD32(pc + 0), (const GLbyte *) (pc + 4));
+ CALL_VertexAttrib4bv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLbyte *)(pc + 4)
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4dv(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4dv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4DVPROC VertexAttrib4dv =
- __glGetProcAddress("glVertexAttrib4dv");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ 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));
+ CALL_VertexAttrib4dv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4iv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4iv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLint *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4sv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4sv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4ubv(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4ubv(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4UBVPROC VertexAttrib4ubv =
- __glGetProcAddress("glVertexAttrib4ubv");
- VertexAttrib4ubv((GLuint) bswap_CARD32(pc + 0), (const GLubyte *) (pc + 4));
+ CALL_VertexAttrib4ubv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLubyte *)(pc + 4)
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4uiv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4uiv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4usv(GLbyte * pc)
+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));
+ CALL_VertexAttrib4usv( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLushort *)bswap_16_array( (uint16_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_ClampColor(GLbyte * pc)
+void __glXDispSwap_ClampColor(GLbyte * pc)
{
- PFNGLCLAMPCOLORPROC ClampColor = __glGetProcAddress("glClampColor");
-
- ClampColor((GLenum) bswap_ENUM(pc + 0), (GLenum) bswap_ENUM(pc + 4));
+ CALL_ClampColor( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_BindProgramARB(GLbyte * pc)
+void __glXDispSwap_BindProgramARB(GLbyte * pc)
{
- PFNGLBINDPROGRAMARBPROC BindProgramARB =
- __glGetProcAddress("glBindProgramARB");
- BindProgramARB((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
+ CALL_BindProgramARB( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLuint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-int
-__glXDispSwap_DeleteProgramsARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_DeleteProgramsARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLDELETEPROGRAMSARBPROC DeleteProgramsARB =
- __glGetProcAddress("glDeleteProgramsARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
- DeleteProgramsARB(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ CALL_DeleteProgramsARB( GET_DISPATCH(), (
+ n,
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 0 )
+ ) );
error = Success;
}
return error;
}
-int
-__glXDispSwap_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GenProgramsARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENPROGRAMSARBPROC GenProgramsARB =
- __glGetProcAddress("glGenProgramsARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ 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);
+ GLuint * programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenProgramsARB( GET_DISPATCH(), (
+ n,
+ programs
+ ) );
+ (void) bswap_32_array( (uint32_t *) programs, n );
__glXSendReplySwap(cl->client, programs, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -4706,23 +4876,21 @@ __glXDispSwap_GenProgramsARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMENVPARAMETERDVARBPROC GetProgramEnvParameterdvARB =
- __glGetProcAddress("glGetProgramEnvParameterdvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLdouble params[4];
-
- GetProgramEnvParameterdvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
- (void) bswap_64_array((uint64_t *) params, 4);
+ CALL_GetProgramEnvParameterdvARB( GET_DISPATCH(), (
+ (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;
}
@@ -4730,23 +4898,21 @@ __glXDispSwap_GetProgramEnvParameterdvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMENVPARAMETERFVARBPROC GetProgramEnvParameterfvARB =
- __glGetProcAddress("glGetProgramEnvParameterfvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLfloat params[4];
-
- GetProgramEnvParameterfvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
- (void) bswap_32_array((uint32_t *) params, 4);
+ CALL_GetProgramEnvParameterfvARB( GET_DISPATCH(), (
+ (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;
}
@@ -4754,23 +4920,21 @@ __glXDispSwap_GetProgramEnvParameterfvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GetProgramLocalParameterdvARB =
- __glGetProcAddress("glGetProgramLocalParameterdvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLdouble params[4];
-
- GetProgramLocalParameterdvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
- (void) bswap_64_array((uint64_t *) params, 4);
+ CALL_GetProgramLocalParameterdvARB( GET_DISPATCH(), (
+ (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;
}
@@ -4778,23 +4942,21 @@ __glXDispSwap_GetProgramLocalParameterdvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GetProgramLocalParameterfvARB =
- __glGetProcAddress("glGetProgramLocalParameterfvARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLfloat params[4];
-
- GetProgramLocalParameterfvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4), params);
- (void) bswap_32_array((uint32_t *) params, 4);
+ CALL_GetProgramLocalParameterfvARB( GET_DISPATCH(), (
+ (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;
}
@@ -4802,32 +4964,29 @@ __glXDispSwap_GetProgramLocalParameterfvARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetProgramivARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETPROGRAMIVARBPROC GetProgramivARB =
- __glGetProcAddress("glGetProgramivARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLenum pname = (GLenum )bswap_ENUM ( pc + 4 );
const GLuint compsize = __glGetProgramivARB_size(pname);
GLint answerBuffer[200];
- GLint *params =
- __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer,
- sizeof(answerBuffer), 4);
+ GLint * params = __glXGetAnswerBuffer(cl, compsize * 4, answerBuffer, sizeof(answerBuffer), 4);
- if (params == NULL)
- return BadAlloc;
+ if (params == NULL) return BadAlloc;
__glXClearErrorOccured();
- GetProgramivARB((GLenum) bswap_ENUM(pc + 0), pname, params);
- (void) bswap_32_array((uint32_t *) params, compsize);
+ CALL_GetProgramivARB( 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;
}
@@ -4835,20 +4994,18 @@ __glXDispSwap_GetProgramivARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_IsProgramARB(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLISPROGRAMARBPROC IsProgramARB = __glGetProcAddress("glIsProgramARB");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
-
- retval = IsProgramARB((GLuint) bswap_CARD32(pc + 0));
+ retval = CALL_IsProgramARB( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -4856,163 +5013,144 @@ __glXDispSwap_IsProgramARB(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_ProgramEnvParameter4dvARB(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);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 40);
pc -= 4;
}
#endif
- ProgramEnvParameter4dvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4),
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 4));
+ CALL_ProgramEnvParameter4dvARB( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_ProgramEnvParameter4fvARB(GLbyte * pc)
{
- 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));
+ CALL_ProgramEnvParameter4fvARB( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_ProgramLocalParameter4dvARB(GLbyte * pc)
{
- PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ProgramLocalParameter4dvARB =
- __glGetProcAddress("glProgramLocalParameter4dvARB");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 40);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 40);
pc -= 4;
}
#endif
- ProgramLocalParameter4dvARB((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4),
- (const GLdouble *)
- bswap_64_array((uint64_t *) (pc + 8), 4));
+ CALL_ProgramLocalParameter4dvARB( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_ProgramLocalParameter4fvARB(GLbyte * pc)
{
- 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));
+ CALL_ProgramLocalParameter4fvARB( GET_DISPATCH(), (
+ (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)
+void __glXDispSwap_ProgramStringARB(GLbyte * pc)
{
- PFNGLPROGRAMSTRINGARBPROC ProgramStringARB =
- __glGetProcAddress("glProgramStringARB");
- const GLsizei len = (GLsizei) bswap_CARD32(pc + 8);
+ const GLsizei len = (GLsizei )bswap_CARD32 ( pc + 8 );
- ProgramStringARB((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4),
- len, (const GLvoid *) (pc + 12));
+ CALL_ProgramStringARB( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ len,
+ (const GLvoid *)(pc + 12)
+ ) );
}
-void
-__glXDispSwap_VertexAttrib1fvARB(GLbyte * pc)
+void __glXDispSwap_VertexAttrib1fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1FVARBPROC VertexAttrib1fvARB =
- __glGetProcAddress("glVertexAttrib1fvARB");
- VertexAttrib1fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 1));
+ CALL_VertexAttrib1fvARB( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib2fvARB(GLbyte * pc)
+void __glXDispSwap_VertexAttrib2fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2FVARBPROC VertexAttrib2fvARB =
- __glGetProcAddress("glVertexAttrib2fvARB");
- VertexAttrib2fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 2));
+ CALL_VertexAttrib2fvARB( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib3fvARB(GLbyte * pc)
+void __glXDispSwap_VertexAttrib3fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3FVARBPROC VertexAttrib3fvARB =
- __glGetProcAddress("glVertexAttrib3fvARB");
- VertexAttrib3fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 3));
+ CALL_VertexAttrib3fvARB( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 3 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4fvARB(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4fvARB(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4FVARBPROC VertexAttrib4fvARB =
- __glGetProcAddress("glVertexAttrib4fvARB");
- VertexAttrib4fvARB((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ CALL_VertexAttrib4fvARB( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_BindFramebuffer(GLbyte * pc)
+void __glXDispSwap_BindFramebuffer(GLbyte * pc)
{
- PFNGLBINDFRAMEBUFFERPROC BindFramebuffer =
- __glGetProcAddress("glBindFramebuffer");
- BindFramebuffer((GLenum) bswap_ENUM(pc + 0), (GLuint) bswap_CARD32(pc + 4));
+ CALL_BindFramebuffer( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLuint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_BindRenderbuffer(GLbyte * pc)
+void __glXDispSwap_BindRenderbuffer(GLbyte * pc)
{
- PFNGLBINDRENDERBUFFERPROC BindRenderbuffer =
- __glGetProcAddress("glBindRenderbuffer");
- BindRenderbuffer((GLenum) bswap_ENUM(pc + 0),
- (GLuint) bswap_CARD32(pc + 4));
+ CALL_BindRenderbuffer( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLuint )bswap_CARD32 ( pc + 4 )
+ ) );
}
-void
-__glXDispSwap_BlitFramebuffer(GLbyte * pc)
+void __glXDispSwap_BlitFramebuffer(GLbyte * pc)
{
- 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));
+ CALL_BlitFramebuffer( 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 )
+ ) );
}
-int
-__glXDispSwap_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_CheckFramebufferStatus(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus =
- __glGetProcAddress("glCheckFramebufferStatus");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLenum retval;
-
- retval = CheckFramebufferStatus((GLenum) bswap_ENUM(pc + 0));
+ retval = CALL_CheckFramebufferStatus( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -5020,110 +5158,98 @@ __glXDispSwap_CheckFramebufferStatus(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_DeleteFramebuffers(GLbyte * pc)
+void __glXDispSwap_DeleteFramebuffers(GLbyte * pc)
{
- PFNGLDELETEFRAMEBUFFERSPROC DeleteFramebuffers =
- __glGetProcAddress("glDeleteFramebuffers");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
- DeleteFramebuffers(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ CALL_DeleteFramebuffers( GET_DISPATCH(), (
+ n,
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 0 )
+ ) );
}
-void
-__glXDispSwap_DeleteRenderbuffers(GLbyte * pc)
+void __glXDispSwap_DeleteRenderbuffers(GLbyte * pc)
{
- PFNGLDELETERENDERBUFFERSPROC DeleteRenderbuffers =
- __glGetProcAddress("glDeleteRenderbuffers");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 0);
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
- DeleteRenderbuffers(n,
- (const GLuint *) bswap_32_array((uint32_t *) (pc + 4),
- 0));
+ CALL_DeleteRenderbuffers( GET_DISPATCH(), (
+ n,
+ (const GLuint *)bswap_32_array( (uint32_t *) (pc + 4), 0 )
+ ) );
}
-void
-__glXDispSwap_FramebufferRenderbuffer(GLbyte * pc)
+void __glXDispSwap_FramebufferRenderbuffer(GLbyte * pc)
{
- 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));
+ CALL_FramebufferRenderbuffer( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLenum )bswap_ENUM ( pc + 8 ),
+ (GLuint )bswap_CARD32 ( pc + 12 )
+ ) );
}
-void
-__glXDispSwap_FramebufferTexture1D(GLbyte * pc)
+void __glXDispSwap_FramebufferTexture1D(GLbyte * pc)
{
- 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));
+ CALL_FramebufferTexture1D( 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 )
+ ) );
}
-void
-__glXDispSwap_FramebufferTexture2D(GLbyte * pc)
+void __glXDispSwap_FramebufferTexture2D(GLbyte * pc)
{
- 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));
+ CALL_FramebufferTexture2D( 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 )
+ ) );
}
-void
-__glXDispSwap_FramebufferTexture3D(GLbyte * pc)
+void __glXDispSwap_FramebufferTexture3D(GLbyte * pc)
{
- 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));
+ CALL_FramebufferTexture3D( 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 )
+ ) );
}
-void
-__glXDispSwap_FramebufferTextureLayer(GLbyte * pc)
+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));
+ CALL_FramebufferTextureLayer( 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 )
+ ) );
}
-int
-__glXDispSwap_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GenFramebuffers(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENFRAMEBUFFERSPROC GenFramebuffers =
- __glGetProcAddress("glGenFramebuffers");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
GLuint answerBuffer[200];
- GLuint *framebuffers =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- GenFramebuffers(n, framebuffers);
- (void) bswap_32_array((uint32_t *) framebuffers, n);
+ GLuint * framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenFramebuffers( GET_DISPATCH(), (
+ n,
+ framebuffers
+ ) );
+ (void) bswap_32_array( (uint32_t *) framebuffers, n );
__glXSendReplySwap(cl->client, framebuffers, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -5131,26 +5257,23 @@ __glXDispSwap_GenFramebuffers(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GenRenderbuffers(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGENRENDERBUFFERSPROC GenRenderbuffers =
- __glGetProcAddress("glGenRenderbuffers");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &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);
+ if ( cx != NULL ) {
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 0 );
GLuint answerBuffer[200];
- GLuint *renderbuffers =
- __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer),
- 4);
- GenRenderbuffers(n, renderbuffers);
- (void) bswap_32_array((uint32_t *) renderbuffers, n);
+ GLuint * renderbuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4);
+ CALL_GenRenderbuffers( GET_DISPATCH(), (
+ n,
+ renderbuffers
+ ) );
+ (void) bswap_32_array( (uint32_t *) renderbuffers, n );
__glXSendReplySwap(cl->client, renderbuffers, n, 4, GL_TRUE, 0);
error = Success;
}
@@ -5158,35 +5281,29 @@ __glXDispSwap_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc)
return error;
}
-void
-__glXDispSwap_GenerateMipmap(GLbyte * pc)
+void __glXDispSwap_GenerateMipmap(GLbyte * pc)
{
- PFNGLGENERATEMIPMAPPROC GenerateMipmap =
- __glGetProcAddress("glGenerateMipmap");
- GenerateMipmap((GLenum) bswap_ENUM(pc + 0));
+ CALL_GenerateMipmap( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 )
+ ) );
}
-int
-__glXDispSwap_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
- GLbyte * pc)
+int __glXDispSwap_GetFramebufferAttachmentParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
- GetFramebufferAttachmentParameteriv =
- __glGetProcAddress("glGetFramebufferAttachmentParameteriv");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLint params[1];
-
- 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);
+ CALL_GetFramebufferAttachmentParameteriv( GET_DISPATCH(), (
+ (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;
}
@@ -5194,23 +5311,21 @@ __glXDispSwap_GetFramebufferAttachmentParameteriv(__GLXclientState * cl,
return error;
}
-int
-__glXDispSwap_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_GetRenderbufferParameteriv(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv =
- __glGetProcAddress("glGetRenderbufferParameteriv");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLint params[1];
-
- GetRenderbufferParameteriv((GLenum) bswap_ENUM(pc + 0),
- (GLenum) bswap_ENUM(pc + 4), params);
- (void) bswap_32_array((uint32_t *) params, 1);
+ CALL_GetRenderbufferParameteriv( GET_DISPATCH(), (
+ (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;
}
@@ -5218,21 +5333,37 @@ __glXDispSwap_GetRenderbufferParameteriv(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
+int __glXDispSwap_IsFramebuffer(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLISFRAMEBUFFERPROC IsFramebuffer =
- __glGetProcAddress("glIsFramebuffer");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ if ( cx != NULL ) {
GLboolean retval;
+ retval = CALL_IsFramebuffer( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
+ __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+ error = Success;
+ }
- retval = IsFramebuffer((GLuint) bswap_CARD32(pc + 0));
+ return error;
+}
+
+int __glXDispSwap_IsRenderbuffer(__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_IsRenderbuffer( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 )
+ ) );
__glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
error = Success;
}
@@ -5240,432 +5371,752 @@ __glXDispSwap_IsFramebuffer(__GLXclientState * cl, GLbyte * pc)
return error;
}
-int
-__glXDispSwap_IsRenderbuffer(__GLXclientState * cl, GLbyte * pc)
+void __glXDispSwap_RenderbufferStorage(GLbyte * pc)
{
- PFNGLISRENDERBUFFERPROC IsRenderbuffer =
- __glGetProcAddress("glIsRenderbuffer");
- xGLXVendorPrivateReq *const req = (xGLXVendorPrivateReq *) pc;
+ CALL_RenderbufferStorage( GET_DISPATCH(), (
+ (GLenum )bswap_ENUM ( pc + 0 ),
+ (GLenum )bswap_ENUM ( pc + 4 ),
+ (GLsizei )bswap_CARD32 ( pc + 8 ),
+ (GLsizei )bswap_CARD32 ( pc + 12 )
+ ) );
+}
+
+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_SecondaryColor3fvEXT(GLbyte * pc)
+{
+ CALL_SecondaryColor3fvEXT( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 3 )
+ ) );
+}
+
+void __glXDispSwap_FogCoordfvEXT(GLbyte * pc)
+{
+ CALL_FogCoordfvEXT( GET_DISPATCH(), (
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 0), 1 )
+ ) );
+}
+
+int __glXDispSwap_AreProgramsResidentNV(__GLXclientState *cl, GLbyte *pc)
+{
+ xGLXVendorPrivateReq * const req = (xGLXVendorPrivateReq *) pc;
int error;
- __GLXcontext *const cx =
- __glXForceCurrent(cl, bswap_CARD32(&req->contextTag), &error);
+ __GLXcontext * const cx = __glXForceCurrent(cl, bswap_CARD32( &req->contextTag ), &error);
pc += __GLX_VENDPRIV_HDR_SIZE;
- if (cx != NULL) {
+ 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;
+ }
- retval = IsRenderbuffer((GLuint) bswap_CARD32(pc + 0));
- __glXSendReplySwap(cl->client, dummy_answer, 0, 0, GL_FALSE, retval);
+ 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_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;
}
-void
-__glXDispSwap_RenderbufferStorage(GLbyte * pc)
+int __glXDispSwap_GetProgramivNV(__GLXclientState *cl, GLbyte *pc)
{
- 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));
+ 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;
}
-void
-__glXDispSwap_RenderbufferStorageMultisample(GLbyte * pc)
+int __glXDispSwap_GetTrackMatrixivNV(__GLXclientState *cl, GLbyte *pc)
{
- 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));
+ 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;
}
-void
-__glXDispSwap_SecondaryColor3fvEXT(GLbyte * pc)
+int __glXDispSwap_GetVertexAttribfvNV(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLSECONDARYCOLOR3FVEXTPROC SecondaryColor3fvEXT =
- __glGetProcAddress("glSecondaryColor3fvEXT");
- SecondaryColor3fvEXT((const GLfloat *)
- bswap_32_array((uint32_t *) (pc + 0), 3));
+ 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;
}
-void
-__glXDispSwap_FogCoordfvEXT(GLbyte * pc)
+int __glXDispSwap_GetVertexAttribivNV(__GLXclientState *cl, GLbyte *pc)
{
- PFNGLFOGCOORDFVEXTPROC FogCoordfvEXT =
- __glGetProcAddress("glFogCoordfvEXT");
- FogCoordfvEXT((const GLfloat *) bswap_32_array((uint32_t *) (pc + 0), 1));
+ 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;
}
-void
-__glXDispSwap_VertexAttrib1dvNV(GLbyte * pc)
+void __glXDispSwap_LoadProgramNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1DVNVPROC VertexAttrib1dvNV =
- __glGetProcAddress("glVertexAttrib1dvNV");
+ 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
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 12);
+ const GLuint cmdlen = 16 + __GLX_PAD((num * 32)) - 4;
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, cmdlen);
pc -= 4;
}
#endif
- VertexAttrib1dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 1));
+ 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_VertexAttrib1fvNV(GLbyte * pc)
+void __glXDispSwap_ProgramParameters4fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1FVNVPROC VertexAttrib1fvNV =
- __glGetProcAddress("glVertexAttrib1fvNV");
- VertexAttrib1fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 1));
+ 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_VertexAttrib1svNV(GLbyte * pc)
+void __glXDispSwap_RequestResidentProgramsNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB1SVNVPROC VertexAttrib1svNV =
- __glGetProcAddress("glVertexAttrib1svNV");
- VertexAttrib1svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 1));
+ 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_VertexAttrib2dvNV(GLbyte * pc)
+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)
{
- PFNGLVERTEXATTRIB2DVNVPROC VertexAttrib2dvNV =
- __glGetProcAddress("glVertexAttrib2dvNV");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 20);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 12);
pc -= 4;
}
#endif
- VertexAttrib2dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 2));
+ CALL_VertexAttrib1dvNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib2fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib1fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2FVNVPROC VertexAttrib2fvNV =
- __glGetProcAddress("glVertexAttrib2fvNV");
- VertexAttrib2fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 2));
+ CALL_VertexAttrib1fvNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib2svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib1svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB2SVNVPROC VertexAttrib2svNV =
- __glGetProcAddress("glVertexAttrib2svNV");
- VertexAttrib2svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 2));
+ CALL_VertexAttrib1svNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 1 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib3dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib2dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3DVNVPROC VertexAttrib3dvNV =
- __glGetProcAddress("glVertexAttrib3dvNV");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 28);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 20);
pc -= 4;
}
#endif
- VertexAttrib3dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 3));
+ CALL_VertexAttrib2dvNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLdouble *)bswap_64_array( (uint64_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib3fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib2fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3FVNVPROC VertexAttrib3fvNV =
- __glGetProcAddress("glVertexAttrib3fvNV");
- VertexAttrib3fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 3));
+ CALL_VertexAttrib2fvNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib3svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib2svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB3SVNVPROC VertexAttrib3svNV =
- __glGetProcAddress("glVertexAttrib3svNV");
- VertexAttrib3svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 3));
+ CALL_VertexAttrib2svNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 2 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib3dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4DVNVPROC VertexAttrib4dvNV =
- __glGetProcAddress("glVertexAttrib4dvNV");
#ifdef __GLX_ALIGN64
- if ((unsigned long) (pc) & 7) {
- (void) memmove(pc - 4, pc, 36);
+ if ((unsigned long)(pc) & 7) {
+ (void) memmove(pc-4, pc, 28);
pc -= 4;
}
#endif
- VertexAttrib4dvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLdouble *) bswap_64_array((uint64_t *) (pc + 4),
- 4));
+ 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_VertexAttrib4fvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib3svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4FVNVPROC VertexAttrib4fvNV =
- __glGetProcAddress("glVertexAttrib4fvNV");
- VertexAttrib4fvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLfloat *) bswap_32_array((uint32_t *) (pc + 4),
- 4));
+ CALL_VertexAttrib3svNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLshort *)bswap_16_array( (uint16_t *) (pc + 4), 3 )
+ ) );
}
-void
-__glXDispSwap_VertexAttrib4svNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4SVNVPROC VertexAttrib4svNV =
- __glGetProcAddress("glVertexAttrib4svNV");
- VertexAttrib4svNV((GLuint) bswap_CARD32(pc + 0),
- (const GLshort *) bswap_16_array((uint16_t *) (pc + 4),
- 4));
+#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_VertexAttrib4ubvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIB4UBVNVPROC VertexAttrib4ubvNV =
- __glGetProcAddress("glVertexAttrib4ubvNV");
- VertexAttrib4ubvNV((GLuint) bswap_CARD32(pc + 0),
- (const GLubyte *) (pc + 4));
+ CALL_VertexAttrib4fvNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ (const GLfloat *)bswap_32_array( (uint32_t *) (pc + 4), 4 )
+ ) );
}
-void
-__glXDispSwap_VertexAttribs1dvNV(GLbyte * pc)
+void __glXDispSwap_VertexAttrib4svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS1DVNVPROC VertexAttribs1dvNV =
- __glGetProcAddress("glVertexAttribs1dvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs1fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS1FVNVPROC VertexAttribs1fvNV =
- __glGetProcAddress("glVertexAttribs1fvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs1svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS1SVNVPROC VertexAttribs1svNV =
- __glGetProcAddress("glVertexAttribs1svNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs2dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS2DVNVPROC VertexAttribs2dvNV =
- __glGetProcAddress("glVertexAttribs2dvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs2fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS2FVNVPROC VertexAttribs2fvNV =
- __glGetProcAddress("glVertexAttribs2fvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs2svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS2SVNVPROC VertexAttribs2svNV =
- __glGetProcAddress("glVertexAttribs2svNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs3dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS3DVNVPROC VertexAttribs3dvNV =
- __glGetProcAddress("glVertexAttribs3dvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs3fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS3FVNVPROC VertexAttribs3fvNV =
- __glGetProcAddress("glVertexAttribs3fvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs3svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS3SVNVPROC VertexAttribs3svNV =
- __glGetProcAddress("glVertexAttribs3svNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs4dvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4DVNVPROC VertexAttribs4dvNV =
- __glGetProcAddress("glVertexAttribs4dvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs4fvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4FVNVPROC VertexAttribs4fvNV =
- __glGetProcAddress("glVertexAttribs4fvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs4svNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4SVNVPROC VertexAttribs4svNV =
- __glGetProcAddress("glVertexAttribs4svNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ 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));
+ 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)
+void __glXDispSwap_VertexAttribs4ubvNV(GLbyte * pc)
{
- PFNGLVERTEXATTRIBS4UBVNVPROC VertexAttribs4ubvNV =
- __glGetProcAddress("glVertexAttribs4ubvNV");
- const GLsizei n = (GLsizei) bswap_CARD32(pc + 4);
+ const GLsizei n = (GLsizei )bswap_CARD32 ( pc + 4 );
- VertexAttribs4ubvNV((GLuint) bswap_CARD32(pc + 0),
- n, (const GLubyte *) (pc + 8));
+ CALL_VertexAttribs4ubvNV( GET_DISPATCH(), (
+ (GLuint )bswap_CARD32 ( pc + 0 ),
+ n,
+ (const GLubyte *)(pc + 8)
+ ) );
}
-void
-__glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc)
+void __glXDispSwap_ActiveStencilFaceEXT(GLbyte * pc)
{
- PFNGLACTIVESTENCILFACEEXTPROC ActiveStencilFaceEXT =
- __glGetProcAddress("glActiveStencilFaceEXT");
- ActiveStencilFaceEXT((GLenum) bswap_ENUM(pc + 0));
+ 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_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 )
+ ) );
+}
+
diff --git a/xorg-server/glx/indirect_program.c b/xorg-server/glx/indirect_program.c
index d503262c2..c5e562a89 100644
--- a/xorg-server/glx/indirect_program.c
+++ b/xorg-server/glx/indirect_program.c
@@ -32,6 +32,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "glxbyteorder.h"
@@ -122,3 +123,25 @@ __glXDispSwap_GetProgramStringARB(struct __GLXclientStateRec *cl, GLbyte * pc)
return DoGetProgramString(cl, pc, get_program, get_program_string, True);
}
+
+int
+__glXDisp_GetProgramStringNV(struct __GLXclientStateRec *cl, GLbyte * pc)
+{
+ 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)
+{
+ PFNGLGETPROGRAMIVARBPROC get_program =
+ __glGetProcAddress("glGetProgramivARB");
+ PFNGLGETPROGRAMSTRINGARBPROC get_program_string =
+ __glGetProcAddress("glGetProgramStringARB");
+
+ return DoGetProgramString(cl, pc, get_program, get_program_string, True);
+}
diff --git a/xorg-server/glx/indirect_reqsize.c b/xorg-server/glx/indirect_reqsize.c
index 026afb6fb..a87f7d230 100644
--- a/xorg-server/glx/indirect_reqsize.c
+++ b/xorg-server/glx/indirect_reqsize.c
@@ -25,6 +25,15 @@
* SOFTWARE.
*/
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#else
+
+#include "glheader.h"
+
+#endif
+
#include <GL/gl.h>
#include "glxserver.h"
#include "glxbyteorder.h"
@@ -34,24 +43,25 @@
#define __GLX_PAD(x) (((x) + 3) & ~3)
#if defined(__CYGWIN__) || defined(__MINGW32__)
-#undef HAVE_ALIAS
+# undef HAVE_ALIAS
#endif
#ifdef HAVE_ALIAS
-#define ALIAS2(from,to) \
+# define ALIAS2(from,to) \
GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap ) \
__attribute__ ((alias( # to )));
-#define ALIAS(from,to) ALIAS2( from, __glX ## to ## ReqSize )
+# define ALIAS(from,to) ALIAS2( from, __glX ## to ## ReqSize )
#else
-#define ALIAS(from,to) \
+# define ALIAS(from,to) \
GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap ) \
{ return __glX ## to ## ReqSize( pc, swap ); }
#endif
+
int
-__glXCallListsReqSize(const GLbyte * pc, Bool swap)
+__glXCallListsReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 0);
- GLenum type = *(GLenum *) (pc + 4);
+GLsizei n = *(GLsizei *)(pc + 0);
+GLenum type = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -64,15 +74,15 @@ __glXCallListsReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXBitmapReqSize(const GLbyte * pc, Bool swap)
+__glXBitmapReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLsizei width = *(GLsizei *) (pc + 20);
- GLsizei height = *(GLsizei *) (pc + 24);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLsizei width = *(GLsizei *)(pc + 20);
+GLsizei height = *(GLsizei *)(pc + 24);
if (swap) {
row_length = bswap_32(row_length);
@@ -88,9 +98,9 @@ __glXBitmapReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXFogfvReqSize(const GLbyte * pc, Bool swap)
+__glXFogfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 0);
+GLenum pname = * (GLenum *)(pc + 0);
GLsizei compsize;
if (swap) {
@@ -102,9 +112,9 @@ __glXFogfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXLightfvReqSize(const GLbyte * pc, Bool swap)
+__glXLightfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -116,9 +126,9 @@ __glXLightfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXLightModelfvReqSize(const GLbyte * pc, Bool swap)
+__glXLightModelfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 0);
+GLenum pname = * (GLenum *)(pc + 0);
GLsizei compsize;
if (swap) {
@@ -130,9 +140,9 @@ __glXLightModelfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXMaterialfvReqSize(const GLbyte * pc, Bool swap)
+__glXMaterialfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -144,13 +154,13 @@ __glXMaterialfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXPolygonStippleReqSize(const GLbyte * pc, Bool swap)
+__glXPolygonStippleReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
if (swap) {
row_length = bswap_32(row_length);
@@ -164,9 +174,9 @@ __glXPolygonStippleReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexParameterfvReqSize(const GLbyte * pc, Bool swap)
+__glXTexParameterfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -178,17 +188,17 @@ __glXTexParameterfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexImage1DReqSize(const GLbyte * pc, Bool swap)
+__glXTexImage1DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei width = *(GLsizei *) (pc + 32);
- GLenum format = *(GLenum *) (pc + 44);
- GLenum type = *(GLenum *) (pc + 48);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei width = *(GLsizei *)(pc + 32);
+GLenum format = * (GLenum *)(pc + 44);
+GLenum type = * (GLenum *)(pc + 48);
if (swap) {
row_length = bswap_32(row_length);
@@ -206,18 +216,18 @@ __glXTexImage1DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexImage2DReqSize(const GLbyte * pc, Bool swap)
+__glXTexImage2DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei width = *(GLsizei *) (pc + 32);
- GLsizei height = *(GLsizei *) (pc + 36);
- GLenum format = *(GLenum *) (pc + 44);
- GLenum type = *(GLenum *) (pc + 48);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei width = *(GLsizei *)(pc + 32);
+GLsizei height = *(GLsizei *)(pc + 36);
+GLenum format = * (GLenum *)(pc + 44);
+GLenum type = * (GLenum *)(pc + 48);
if (swap) {
row_length = bswap_32(row_length);
@@ -236,9 +246,9 @@ __glXTexImage2DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexEnvfvReqSize(const GLbyte * pc, Bool swap)
+__glXTexEnvfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -250,9 +260,9 @@ __glXTexEnvfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexGendvReqSize(const GLbyte * pc, Bool swap)
+__glXTexGendvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -264,9 +274,9 @@ __glXTexGendvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexGenfvReqSize(const GLbyte * pc, Bool swap)
+__glXTexGenfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -278,9 +288,9 @@ __glXTexGenfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXPixelMapfvReqSize(const GLbyte * pc, Bool swap)
+__glXPixelMapfvReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei mapsize = *(GLsizei *) (pc + 4);
+GLsizei mapsize = *(GLsizei *)(pc + 4);
if (swap) {
mapsize = bswap_32(mapsize);
@@ -290,9 +300,9 @@ __glXPixelMapfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXPixelMapusvReqSize(const GLbyte * pc, Bool swap)
+__glXPixelMapusvReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei mapsize = *(GLsizei *) (pc + 4);
+GLsizei mapsize = *(GLsizei *)(pc + 4);
if (swap) {
mapsize = bswap_32(mapsize);
@@ -302,17 +312,17 @@ __glXPixelMapusvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXDrawPixelsReqSize(const GLbyte * pc, Bool swap)
+__glXDrawPixelsReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLsizei width = *(GLsizei *) (pc + 20);
- GLsizei height = *(GLsizei *) (pc + 24);
- GLenum format = *(GLenum *) (pc + 28);
- GLenum type = *(GLenum *) (pc + 32);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLsizei width = *(GLsizei *)(pc + 20);
+GLsizei height = *(GLsizei *)(pc + 24);
+GLenum format = * (GLenum *)(pc + 28);
+GLenum type = * (GLenum *)(pc + 32);
if (swap) {
row_length = bswap_32(row_length);
@@ -330,9 +340,9 @@ __glXDrawPixelsReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXPrioritizeTexturesReqSize(const GLbyte * pc, Bool swap)
+__glXPrioritizeTexturesReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 0);
+GLsizei n = *(GLsizei *)(pc + 0);
if (swap) {
n = bswap_32(n);
@@ -342,17 +352,17 @@ __glXPrioritizeTexturesReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexSubImage1DReqSize(const GLbyte * pc, Bool swap)
+__glXTexSubImage1DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei width = *(GLsizei *) (pc + 36);
- GLenum format = *(GLenum *) (pc + 44);
- GLenum type = *(GLenum *) (pc + 48);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei width = *(GLsizei *)(pc + 36);
+GLenum format = * (GLenum *)(pc + 44);
+GLenum type = * (GLenum *)(pc + 48);
if (swap) {
row_length = bswap_32(row_length);
@@ -370,18 +380,18 @@ __glXTexSubImage1DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexSubImage2DReqSize(const GLbyte * pc, Bool swap)
+__glXTexSubImage2DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei width = *(GLsizei *) (pc + 36);
- GLsizei height = *(GLsizei *) (pc + 40);
- GLenum format = *(GLenum *) (pc + 44);
- GLenum type = *(GLenum *) (pc + 48);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei width = *(GLsizei *)(pc + 36);
+GLsizei height = *(GLsizei *)(pc + 40);
+GLenum format = * (GLenum *)(pc + 44);
+GLenum type = * (GLenum *)(pc + 48);
if (swap) {
row_length = bswap_32(row_length);
@@ -400,17 +410,17 @@ __glXTexSubImage2DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXColorTableReqSize(const GLbyte * pc, Bool swap)
+__glXColorTableReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei width = *(GLsizei *) (pc + 28);
- GLenum format = *(GLenum *) (pc + 32);
- GLenum type = *(GLenum *) (pc + 36);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei width = *(GLsizei *)(pc + 28);
+GLenum format = * (GLenum *)(pc + 32);
+GLenum type = * (GLenum *)(pc + 36);
if (swap) {
row_length = bswap_32(row_length);
@@ -428,9 +438,9 @@ __glXColorTableReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXColorTableParameterfvReqSize(const GLbyte * pc, Bool swap)
+__glXColorTableParameterfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -442,17 +452,17 @@ __glXColorTableParameterfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXColorSubTableReqSize(const GLbyte * pc, Bool swap)
+__glXColorSubTableReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei count = *(GLsizei *) (pc + 28);
- GLenum format = *(GLenum *) (pc + 32);
- GLenum type = *(GLenum *) (pc + 36);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei count = *(GLsizei *)(pc + 28);
+GLenum format = * (GLenum *)(pc + 32);
+GLenum type = * (GLenum *)(pc + 36);
if (swap) {
row_length = bswap_32(row_length);
@@ -470,17 +480,17 @@ __glXColorSubTableReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXConvolutionFilter1DReqSize(const GLbyte * pc, Bool swap)
+__glXConvolutionFilter1DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei width = *(GLsizei *) (pc + 28);
- GLenum format = *(GLenum *) (pc + 36);
- GLenum type = *(GLenum *) (pc + 40);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei width = *(GLsizei *)(pc + 28);
+GLenum format = * (GLenum *)(pc + 36);
+GLenum type = * (GLenum *)(pc + 40);
if (swap) {
row_length = bswap_32(row_length);
@@ -498,18 +508,18 @@ __glXConvolutionFilter1DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXConvolutionFilter2DReqSize(const GLbyte * pc, Bool swap)
+__glXConvolutionFilter2DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
+ GLint row_length = * (GLint *)(pc + 4);
GLint image_height = 0;
- GLint skip_images = 0;
- GLint skip_rows = *(GLint *) (pc + 8);
- GLint alignment = *(GLint *) (pc + 16);
- GLenum target = *(GLenum *) (pc + 20);
- GLsizei width = *(GLsizei *) (pc + 28);
- GLsizei height = *(GLsizei *) (pc + 32);
- GLenum format = *(GLenum *) (pc + 36);
- GLenum type = *(GLenum *) (pc + 40);
+ GLint skip_images = 0;
+ GLint skip_rows = * (GLint *)(pc + 8);
+ GLint alignment = * (GLint *)(pc + 16);
+GLenum target = * (GLenum *)(pc + 20);
+GLsizei width = *(GLsizei *)(pc + 28);
+GLsizei height = *(GLsizei *)(pc + 32);
+GLenum format = * (GLenum *)(pc + 36);
+GLenum type = * (GLenum *)(pc + 40);
if (swap) {
row_length = bswap_32(row_length);
@@ -528,9 +538,9 @@ __glXConvolutionFilter2DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXConvolutionParameterfvReqSize(const GLbyte * pc, Bool swap)
+__glXConvolutionParameterfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 4);
+GLenum pname = * (GLenum *)(pc + 4);
GLsizei compsize;
if (swap) {
@@ -542,19 +552,19 @@ __glXConvolutionParameterfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexImage3DReqSize(const GLbyte * pc, Bool swap)
+__glXTexImage3DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
- GLint image_height = *(GLint *) (pc + 8);
- GLint skip_rows = *(GLint *) (pc + 16);
- GLint skip_images = *(GLint *) (pc + 20);
- GLint alignment = *(GLint *) (pc + 32);
- GLenum target = *(GLenum *) (pc + 36);
- GLsizei width = *(GLsizei *) (pc + 48);
- GLsizei height = *(GLsizei *) (pc + 52);
- GLsizei depth = *(GLsizei *) (pc + 56);
- GLenum format = *(GLenum *) (pc + 68);
- GLenum type = *(GLenum *) (pc + 72);
+ GLint row_length = * (GLint *)(pc + 4);
+ GLint image_height = * (GLint *)(pc + 8);
+ GLint skip_rows = * (GLint *)(pc + 16);
+ GLint skip_images = * (GLint *)(pc + 20);
+ GLint alignment = * (GLint *)(pc + 32);
+GLenum target = * (GLenum *)(pc + 36);
+GLsizei width = *(GLsizei *)(pc + 48);
+GLsizei height = *(GLsizei *)(pc + 52);
+GLsizei depth = *(GLsizei *)(pc + 56);
+GLenum format = * (GLenum *)(pc + 68);
+GLenum type = * (GLenum *)(pc + 72);
if (swap) {
row_length = bswap_32(row_length);
@@ -570,8 +580,8 @@ __glXTexImage3DReqSize(const GLbyte * pc, Bool swap)
type = bswap_32(type);
}
- if (*(CARD32 *) (pc + 76))
- return 0;
+ if (*(CARD32 *) (pc + 76))
+ return 0;
return __glXImageSize(format, type, target, width, height, depth,
image_height, row_length, skip_images,
@@ -579,19 +589,19 @@ __glXTexImage3DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXTexSubImage3DReqSize(const GLbyte * pc, Bool swap)
+__glXTexSubImage3DReqSize( const GLbyte * pc, Bool swap )
{
- GLint row_length = *(GLint *) (pc + 4);
- GLint image_height = *(GLint *) (pc + 8);
- GLint skip_rows = *(GLint *) (pc + 16);
- GLint skip_images = *(GLint *) (pc + 20);
- GLint alignment = *(GLint *) (pc + 32);
- GLenum target = *(GLenum *) (pc + 36);
- GLsizei width = *(GLsizei *) (pc + 60);
- GLsizei height = *(GLsizei *) (pc + 64);
- GLsizei depth = *(GLsizei *) (pc + 68);
- GLenum format = *(GLenum *) (pc + 76);
- GLenum type = *(GLenum *) (pc + 80);
+ GLint row_length = * (GLint *)(pc + 4);
+ GLint image_height = * (GLint *)(pc + 8);
+ GLint skip_rows = * (GLint *)(pc + 16);
+ GLint skip_images = * (GLint *)(pc + 20);
+ GLint alignment = * (GLint *)(pc + 32);
+GLenum target = * (GLenum *)(pc + 36);
+GLsizei width = *(GLsizei *)(pc + 60);
+GLsizei height = *(GLsizei *)(pc + 64);
+GLsizei depth = *(GLsizei *)(pc + 68);
+GLenum format = * (GLenum *)(pc + 76);
+GLenum type = * (GLenum *)(pc + 80);
if (swap) {
row_length = bswap_32(row_length);
@@ -613,9 +623,9 @@ __glXTexSubImage3DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXCompressedTexImage1DReqSize(const GLbyte * pc, Bool swap)
+__glXCompressedTexImage1DReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei imageSize = *(GLsizei *) (pc + 20);
+GLsizei imageSize = *(GLsizei *)(pc + 20);
if (swap) {
imageSize = bswap_32(imageSize);
@@ -625,9 +635,9 @@ __glXCompressedTexImage1DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXCompressedTexImage2DReqSize(const GLbyte * pc, Bool swap)
+__glXCompressedTexImage2DReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei imageSize = *(GLsizei *) (pc + 24);
+GLsizei imageSize = *(GLsizei *)(pc + 24);
if (swap) {
imageSize = bswap_32(imageSize);
@@ -637,9 +647,9 @@ __glXCompressedTexImage2DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXCompressedTexImage3DReqSize(const GLbyte * pc, Bool swap)
+__glXCompressedTexImage3DReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei imageSize = *(GLsizei *) (pc + 28);
+GLsizei imageSize = *(GLsizei *)(pc + 28);
if (swap) {
imageSize = bswap_32(imageSize);
@@ -649,9 +659,9 @@ __glXCompressedTexImage3DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXCompressedTexSubImage3DReqSize(const GLbyte * pc, Bool swap)
+__glXCompressedTexSubImage3DReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei imageSize = *(GLsizei *) (pc + 36);
+GLsizei imageSize = *(GLsizei *)(pc + 36);
if (swap) {
imageSize = bswap_32(imageSize);
@@ -661,9 +671,9 @@ __glXCompressedTexSubImage3DReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXPointParameterfvReqSize(const GLbyte * pc, Bool swap)
+__glXPointParameterfvReqSize( const GLbyte * pc, Bool swap )
{
- GLenum pname = *(GLenum *) (pc + 0);
+GLenum pname = * (GLenum *)(pc + 0);
GLsizei compsize;
if (swap) {
@@ -675,9 +685,9 @@ __glXPointParameterfvReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXDrawBuffersReqSize(const GLbyte * pc, Bool swap)
+__glXDrawBuffersReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 0);
+GLsizei n = *(GLsizei *)(pc + 0);
if (swap) {
n = bswap_32(n);
@@ -687,9 +697,9 @@ __glXDrawBuffersReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXProgramStringARBReqSize(const GLbyte * pc, Bool swap)
+__glXProgramStringARBReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei len = *(GLsizei *) (pc + 8);
+GLsizei len = *(GLsizei *)(pc + 8);
if (swap) {
len = bswap_32(len);
@@ -699,9 +709,33 @@ __glXProgramStringARBReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXVertexAttribs1dvNVReqSize(const GLbyte * pc, Bool swap)
+__glXProgramParameters4dvNVReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 4);
+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 )
+{
+GLsizei n = *(GLsizei *)(pc + 4);
if (swap) {
n = bswap_32(n);
@@ -711,9 +745,9 @@ __glXVertexAttribs1dvNVReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXVertexAttribs2dvNVReqSize(const GLbyte * pc, Bool swap)
+__glXVertexAttribs2dvNVReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 4);
+GLsizei n = *(GLsizei *)(pc + 4);
if (swap) {
n = bswap_32(n);
@@ -723,9 +757,9 @@ __glXVertexAttribs2dvNVReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXVertexAttribs3dvNVReqSize(const GLbyte * pc, Bool swap)
+__glXVertexAttribs3dvNVReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 4);
+GLsizei n = *(GLsizei *)(pc + 4);
if (swap) {
n = bswap_32(n);
@@ -735,9 +769,9 @@ __glXVertexAttribs3dvNVReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXVertexAttribs3fvNVReqSize(const GLbyte * pc, Bool swap)
+__glXVertexAttribs3fvNVReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 4);
+GLsizei n = *(GLsizei *)(pc + 4);
if (swap) {
n = bswap_32(n);
@@ -747,9 +781,9 @@ __glXVertexAttribs3fvNVReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXVertexAttribs3svNVReqSize(const GLbyte * pc, Bool swap)
+__glXVertexAttribs3svNVReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 4);
+GLsizei n = *(GLsizei *)(pc + 4);
if (swap) {
n = bswap_32(n);
@@ -759,9 +793,9 @@ __glXVertexAttribs3svNVReqSize(const GLbyte * pc, Bool swap)
}
int
-__glXVertexAttribs4dvNVReqSize(const GLbyte * pc, Bool swap)
+__glXVertexAttribs4dvNVReqSize( const GLbyte * pc, Bool swap )
{
- GLsizei n = *(GLsizei *) (pc + 4);
+GLsizei n = *(GLsizei *)(pc + 4);
if (swap) {
n = bswap_32(n);
@@ -770,25 +804,40 @@ __glXVertexAttribs4dvNVReqSize(const GLbyte * pc, Bool swap)
return __GLX_PAD((n * 32));
}
-ALIAS(Fogiv, Fogfv)
- ALIAS(Lightiv, Lightfv)
- ALIAS(LightModeliv, LightModelfv)
- ALIAS(Materialiv, Materialfv)
- ALIAS(TexParameteriv, TexParameterfv)
- ALIAS(TexEnviv, TexEnvfv)
- ALIAS(TexGeniv, TexGenfv)
- ALIAS(PixelMapuiv, PixelMapfv)
- ALIAS(ColorTableParameteriv, ColorTableParameterfv)
- ALIAS(ConvolutionParameteriv, ConvolutionParameterfv)
- ALIAS(CompressedTexSubImage1D, CompressedTexImage1D)
- ALIAS(CompressedTexSubImage2D, CompressedTexImage3D)
- ALIAS(PointParameteriv, PointParameterfv)
- ALIAS(DeleteFramebuffers, DrawBuffers)
- ALIAS(DeleteRenderbuffers, DrawBuffers)
- ALIAS(VertexAttribs1fvNV, PixelMapfv)
- ALIAS(VertexAttribs1svNV, PixelMapusv)
- ALIAS(VertexAttribs2fvNV, VertexAttribs1dvNV)
- ALIAS(VertexAttribs2svNV, PixelMapfv)
- ALIAS(VertexAttribs4fvNV, VertexAttribs2dvNV)
- ALIAS(VertexAttribs4svNV, VertexAttribs1dvNV)
- ALIAS(VertexAttribs4ubvNV, PixelMapfv)
+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 )
+ALIAS( Materialiv, Materialfv )
+ALIAS( TexParameteriv, TexParameterfv )
+ALIAS( TexEnviv, TexEnvfv )
+ALIAS( TexGeniv, TexGenfv )
+ALIAS( PixelMapuiv, PixelMapfv )
+ALIAS( ColorTableParameteriv, ColorTableParameterfv )
+ALIAS( ConvolutionParameteriv, ConvolutionParameterfv )
+ALIAS( CompressedTexSubImage1D, CompressedTexImage1D )
+ALIAS( CompressedTexSubImage2D, CompressedTexImage3D )
+ALIAS( PointParameteriv, PointParameterfv )
+ALIAS( DeleteFramebuffers, DrawBuffers )
+ALIAS( DeleteRenderbuffers, DrawBuffers )
+ALIAS( LoadProgramNV, ProgramStringARB )
+ALIAS( RequestResidentProgramsNV, DrawBuffers )
+ALIAS( VertexAttribs1fvNV, PixelMapfv )
+ALIAS( VertexAttribs1svNV, PixelMapusv )
+ALIAS( VertexAttribs2fvNV, VertexAttribs1dvNV )
+ALIAS( VertexAttribs2svNV, PixelMapfv )
+ALIAS( VertexAttribs4fvNV, VertexAttribs2dvNV )
+ALIAS( VertexAttribs4svNV, VertexAttribs1dvNV )
+ALIAS( VertexAttribs4ubvNV, PixelMapfv )
+ALIAS( ProgramNamedParameter4dvNV, CompressedTexSubImage3D )
diff --git a/xorg-server/glx/indirect_reqsize.h b/xorg-server/glx/indirect_reqsize.h
index 43e1e69e3..1b7bd6ebf 100644
--- a/xorg-server/glx/indirect_reqsize.h
+++ b/xorg-server/glx/indirect_reqsize.h
@@ -26,126 +26,91 @@
*/
#if !defined( _INDIRECT_REQSIZE_H_ )
-#define _INDIRECT_REQSIZE_H_
+# define _INDIRECT_REQSIZE_H_
#include <X11/Xfuncproto.h>
-#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
-#define PURE __attribute__((pure))
-#else
-#define PURE
-#endif
+# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define PURE __attribute__((pure))
+# else
+# define PURE
+# endif
-extern PURE _X_HIDDEN int __glXCallListsReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXBitmapReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXFogfvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXFogivReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXLightfvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXLightivReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXLightModelfvReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXLightModelivReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXMaterialfvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXMaterialivReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXPolygonStippleReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXTexParameterfvReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXTexParameterivReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXTexImage1DReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXTexImage2DReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXTexEnvfvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXTexEnvivReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXTexGendvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXTexGenfvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXTexGenivReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXMap1dReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXMap1fReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXMap2dReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXMap2fReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXPixelMapfvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXPixelMapuivReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXPixelMapusvReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXDrawPixelsReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXDrawArraysReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXPrioritizeTexturesReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXTexSubImage1DReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXTexSubImage2DReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXColorTableReqSize(const GLbyte * pc, Bool swap);
-extern PURE _X_HIDDEN int __glXColorTableParameterfvReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXColorTableParameterivReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXColorSubTableReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXConvolutionFilter1DReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXConvolutionFilter2DReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXConvolutionParameterfvReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXConvolutionParameterivReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXSeparableFilter2DReqSize(const GLbyte * pc,
- Bool swap);
-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 __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 __glXCompressedTexSubImage2DReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXCompressedTexSubImage3DReqSize(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 __glXDeleteFramebuffersReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXDeleteRenderbuffersReqSize(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,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs1svNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs2dvNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs2fvNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs2svNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs3dvNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs3fvNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs3svNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs4dvNVReqSize(const GLbyte * pc,
- Bool swap);
-extern PURE _X_HIDDEN int __glXVertexAttribs4fvNVReqSize(const GLbyte * pc,
- Bool swap);
-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 __glXCallListsReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXBitmapReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXFogfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXFogivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXLightfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXLightivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXLightModelfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXLightModelivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXMaterialfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXMaterialivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXPolygonStippleReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexParameterfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexParameterivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexImage1DReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexImage2DReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexEnvfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexEnvivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexGendvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexGenfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexGenivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXMap1dReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXMap1fReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXMap2dReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXMap2fReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXPixelMapfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXPixelMapuivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXPixelMapusvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXDrawPixelsReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXDrawArraysReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXPrioritizeTexturesReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexSubImage1DReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXTexSubImage2DReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXColorTableReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXColorTableParameterfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXColorTableParameterivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXColorSubTableReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXConvolutionFilter1DReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXConvolutionFilter2DReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXConvolutionParameterfvReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXConvolutionParameterivReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXSeparableFilter2DReqSize(const GLbyte *pc, Bool swap);
+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 __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 __glXCompressedTexSubImage2DReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXCompressedTexSubImage3DReqSize(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 __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, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs1svNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs2dvNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs2fvNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs2svNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs3dvNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs3fvNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs3svNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs4dvNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXVertexAttribs4fvNVReqSize(const GLbyte *pc, Bool swap);
+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 __glXProgramNamedParameter4dvNVReqSize(const GLbyte *pc, Bool swap);
+extern PURE _X_HIDDEN int __glXProgramNamedParameter4fvNVReqSize(const GLbyte *pc, Bool swap);
-#undef PURE
+# undef PURE
-#endif /* !defined( _INDIRECT_REQSIZE_H_ ) */
+#endif /* !defined( _INDIRECT_REQSIZE_H_ ) */
diff --git a/xorg-server/glx/indirect_size.h b/xorg-server/glx/indirect_size.h
index fec7ed393..238d8d495 100644
--- a/xorg-server/glx/indirect_size.h
+++ b/xorg-server/glx/indirect_size.h
@@ -26,7 +26,7 @@
*/
#if !defined( _INDIRECT_SIZE_H_ )
-#define _INDIRECT_SIZE_H_
+# define _INDIRECT_SIZE_H_
/**
* \file
@@ -38,48 +38,20 @@
#include <X11/Xfuncproto.h>
-#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
-#define PURE __attribute__((pure))
-#else
-#define PURE
-#endif
+# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define PURE __attribute__((pure))
+# else
+# define PURE
+# endif
-#if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
-#define FASTCALL __attribute__((fastcall))
-#else
-#define FASTCALL
-#endif
+# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
+# define FASTCALL __attribute__((fastcall))
+# else
+# define FASTCALL
+# endif
-extern _X_INTERNAL PURE FASTCALL GLint __glCallLists_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glFogfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glFogiv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glLightfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glLightiv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glLightModelfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glLightModeliv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glMaterialfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glMaterialiv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glTexParameterfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glTexParameteriv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glTexEnvfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glTexEnviv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glTexGendv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glTexGenfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glTexGeniv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glMap1d_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glMap1f_size(GLenum);
-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 __glPointParameterfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint __glPointParameteriv_size(GLenum);
-#undef PURE
-#undef FASTCALL
+# undef PURE
+# undef FASTCALL
#endif /* !defined( _INDIRECT_SIZE_H_ ) */
diff --git a/xorg-server/glx/indirect_size_get.c b/xorg-server/glx/indirect_size_get.c
index f87931193..9036ec732 100644
--- a/xorg-server/glx/indirect_size_get.c
+++ b/xorg-server/glx/indirect_size_get.c
@@ -26,1195 +26,1231 @@
*/
-#include <X11/Xfuncproto.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#else
+
+#include "glheader.h"
+
+#endif
+
#include <GL/gl.h>
#include "indirect_size_get.h"
#include "glxserver.h"
#include "indirect_util.h"
#include "indirect_size.h"
-#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
-#define PURE __attribute__((pure))
-#else
-#define PURE
-#endif
+# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define PURE __attribute__((pure))
+# else
+# define PURE
+# endif
-#if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
-#define FASTCALL __attribute__((fastcall))
-#else
-#define FASTCALL
-#endif
+# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
+# define FASTCALL __attribute__((fastcall))
+# else
+# define FASTCALL
+# endif
#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(GLX_USE_APPLEGL)
-#undef HAVE_ALIAS
+# undef HAVE_ALIAS
#endif
#ifdef HAVE_ALIAS
-#define ALIAS2(from,to) \
+# define ALIAS2(from,to) \
_X_INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
__attribute__ ((alias( # to )));
-#define ALIAS(from,to) ALIAS2( from, __gl ## to ## _size )
+# define ALIAS(from,to) ALIAS2( from, __gl ## to ## _size )
#else
-#define ALIAS(from,to) \
+# define ALIAS(from,to) \
_X_INTERNAL PURE FASTCALL GLint __gl ## from ## _size( GLenum e ) \
{ return __gl ## to ## _size( e ); }
#endif
_X_INTERNAL PURE FASTCALL GLint
-__glCallLists_size(GLenum e)
+__glCallLists_size( GLenum e )
{
- switch (e) {
- case GL_BYTE:
- case GL_UNSIGNED_BYTE:
- return 1;
- case GL_SHORT:
- case GL_UNSIGNED_SHORT:
- case GL_2_BYTES:
- case GL_HALF_FLOAT:
- return 2;
- case GL_3_BYTES:
- return 3;
- case GL_INT:
- case GL_UNSIGNED_INT:
- case GL_FLOAT:
- case GL_4_BYTES:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_BYTE:
+ case GL_UNSIGNED_BYTE:
+ return 1;
+ case GL_SHORT:
+ case GL_UNSIGNED_SHORT:
+ case GL_2_BYTES:
+ case GL_HALF_FLOAT:
+ return 2;
+ case GL_3_BYTES:
+ return 3;
+ case GL_INT:
+ case GL_UNSIGNED_INT:
+ case GL_FLOAT:
+ case GL_4_BYTES:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glFogfv_size(GLenum e)
+__glFogfv_size( GLenum e )
{
- switch (e) {
- case GL_FOG_INDEX:
- case GL_FOG_DENSITY:
- case GL_FOG_START:
- case GL_FOG_END:
- case GL_FOG_MODE:
- case GL_FOG_OFFSET_VALUE_SGIX:
- case GL_FOG_DISTANCE_MODE_NV:
- return 1;
- case GL_FOG_COLOR:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_FOG_INDEX:
+ case GL_FOG_DENSITY:
+ case GL_FOG_START:
+ case GL_FOG_END:
+ case GL_FOG_MODE:
+ case GL_FOG_OFFSET_VALUE_SGIX:
+ case GL_FOG_DISTANCE_MODE_NV:
+ return 1;
+ case GL_FOG_COLOR:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glLightfv_size(GLenum e)
+__glLightfv_size( GLenum e )
{
- switch (e) {
- case GL_SPOT_EXPONENT:
- case GL_SPOT_CUTOFF:
- case GL_CONSTANT_ATTENUATION:
- case GL_LINEAR_ATTENUATION:
- case GL_QUADRATIC_ATTENUATION:
- return 1;
- case GL_SPOT_DIRECTION:
- return 3;
- case GL_AMBIENT:
- case GL_DIFFUSE:
- case GL_SPECULAR:
- case GL_POSITION:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_SPOT_EXPONENT:
+ case GL_SPOT_CUTOFF:
+ case GL_CONSTANT_ATTENUATION:
+ case GL_LINEAR_ATTENUATION:
+ case GL_QUADRATIC_ATTENUATION:
+ return 1;
+ case GL_SPOT_DIRECTION:
+ return 3;
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_POSITION:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glLightModelfv_size(GLenum e)
+__glLightModelfv_size( GLenum e )
{
- switch (e) {
- case GL_LIGHT_MODEL_LOCAL_VIEWER:
- case GL_LIGHT_MODEL_TWO_SIDE:
- case GL_LIGHT_MODEL_COLOR_CONTROL:
+ switch( e ) {
+ case GL_LIGHT_MODEL_LOCAL_VIEWER:
+ case GL_LIGHT_MODEL_TWO_SIDE:
+ case GL_LIGHT_MODEL_COLOR_CONTROL:
/* case GL_LIGHT_MODEL_COLOR_CONTROL_EXT:*/
- return 1;
- case GL_LIGHT_MODEL_AMBIENT:
- return 4;
- default:
- return 0;
+ return 1;
+ case GL_LIGHT_MODEL_AMBIENT:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glMaterialfv_size(GLenum e)
+__glMaterialfv_size( GLenum e )
{
- switch (e) {
- case GL_SHININESS:
- return 1;
- case GL_COLOR_INDEXES:
- return 3;
- case GL_AMBIENT:
- case GL_DIFFUSE:
- case GL_SPECULAR:
- case GL_EMISSION:
- case GL_AMBIENT_AND_DIFFUSE:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_SHININESS:
+ return 1;
+ case GL_COLOR_INDEXES:
+ return 3;
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_EMISSION:
+ case GL_AMBIENT_AND_DIFFUSE:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glTexParameterfv_size(GLenum e)
+__glTexParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_TEXTURE_MAG_FILTER:
- case GL_TEXTURE_MIN_FILTER:
- case GL_TEXTURE_WRAP_S:
- case GL_TEXTURE_WRAP_T:
- case GL_TEXTURE_PRIORITY:
- case GL_TEXTURE_WRAP_R:
- case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
+ switch( e ) {
+ case GL_TEXTURE_MAG_FILTER:
+ case GL_TEXTURE_MIN_FILTER:
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ case GL_TEXTURE_PRIORITY:
+ case GL_TEXTURE_WRAP_R:
+ case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
/* case GL_SHADOW_AMBIENT_SGIX:*/
- case GL_TEXTURE_MIN_LOD:
- case GL_TEXTURE_MAX_LOD:
- case GL_TEXTURE_BASE_LEVEL:
- case GL_TEXTURE_MAX_LEVEL:
- case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
- case GL_TEXTURE_LOD_BIAS_S_SGIX:
- case GL_TEXTURE_LOD_BIAS_T_SGIX:
- case GL_TEXTURE_LOD_BIAS_R_SGIX:
- case GL_GENERATE_MIPMAP:
+ case GL_TEXTURE_MIN_LOD:
+ case GL_TEXTURE_MAX_LOD:
+ case GL_TEXTURE_BASE_LEVEL:
+ case GL_TEXTURE_MAX_LEVEL:
+ case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
+ case GL_TEXTURE_LOD_BIAS_S_SGIX:
+ case GL_TEXTURE_LOD_BIAS_T_SGIX:
+ case GL_TEXTURE_LOD_BIAS_R_SGIX:
+ case GL_GENERATE_MIPMAP:
/* case GL_GENERATE_MIPMAP_SGIS:*/
- case GL_TEXTURE_COMPARE_SGIX:
- case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
- case GL_TEXTURE_MAX_CLAMP_S_SGIX:
- case GL_TEXTURE_MAX_CLAMP_T_SGIX:
- case GL_TEXTURE_MAX_CLAMP_R_SGIX:
- case GL_TEXTURE_MAX_ANISOTROPY_EXT:
- case GL_TEXTURE_LOD_BIAS:
+ case GL_TEXTURE_COMPARE_SGIX:
+ case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
+ case GL_TEXTURE_MAX_CLAMP_S_SGIX:
+ case GL_TEXTURE_MAX_CLAMP_T_SGIX:
+ case GL_TEXTURE_MAX_CLAMP_R_SGIX:
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ case GL_TEXTURE_LOD_BIAS:
/* case GL_TEXTURE_LOD_BIAS_EXT:*/
- case GL_TEXTURE_STORAGE_HINT_APPLE:
- case GL_STORAGE_PRIVATE_APPLE:
- case GL_STORAGE_CACHED_APPLE:
- case GL_STORAGE_SHARED_APPLE:
- case GL_DEPTH_TEXTURE_MODE:
+ case GL_TEXTURE_STORAGE_HINT_APPLE:
+ case GL_STORAGE_PRIVATE_APPLE:
+ case GL_STORAGE_CACHED_APPLE:
+ case GL_STORAGE_SHARED_APPLE:
+ case GL_DEPTH_TEXTURE_MODE:
/* case GL_DEPTH_TEXTURE_MODE_ARB:*/
- case GL_TEXTURE_COMPARE_MODE:
+ case GL_TEXTURE_COMPARE_MODE:
/* case GL_TEXTURE_COMPARE_MODE_ARB:*/
- case GL_TEXTURE_COMPARE_FUNC:
+ case GL_TEXTURE_COMPARE_FUNC:
/* case GL_TEXTURE_COMPARE_FUNC_ARB:*/
- case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
- return 1;
- case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
- case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
- return 2;
- case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
- return 3;
- case GL_TEXTURE_BORDER_COLOR:
- case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
- case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
- return 4;
- default:
- return 0;
+ case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
+ return 1;
+ case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
+ case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
+ return 2;
+ case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
+ return 3;
+ case GL_TEXTURE_BORDER_COLOR:
+ case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
+ case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glTexEnvfv_size(GLenum e)
+__glTexEnvfv_size( GLenum e )
{
- switch (e) {
- case GL_ALPHA_SCALE:
- case GL_TEXTURE_ENV_MODE:
- case GL_TEXTURE_LOD_BIAS:
- case GL_COMBINE_RGB:
- case GL_COMBINE_ALPHA:
- case GL_RGB_SCALE:
- case GL_SOURCE0_RGB:
- case GL_SOURCE1_RGB:
- case GL_SOURCE2_RGB:
- case GL_SOURCE3_RGB_NV:
- case GL_SOURCE0_ALPHA:
- case GL_SOURCE1_ALPHA:
- case GL_SOURCE2_ALPHA:
- case GL_SOURCE3_ALPHA_NV:
- case GL_OPERAND0_RGB:
- case GL_OPERAND1_RGB:
- case GL_OPERAND2_RGB:
- case GL_OPERAND3_RGB_NV:
- case GL_OPERAND0_ALPHA:
- case GL_OPERAND1_ALPHA:
- case GL_OPERAND2_ALPHA:
- case GL_OPERAND3_ALPHA_NV:
- case GL_BUMP_TARGET_ATI:
- case GL_COORD_REPLACE_ARB:
+ switch( e ) {
+ case GL_ALPHA_SCALE:
+ case GL_TEXTURE_ENV_MODE:
+ case GL_TEXTURE_LOD_BIAS:
+ case GL_COMBINE_RGB:
+ case GL_COMBINE_ALPHA:
+ case GL_RGB_SCALE:
+ case GL_SOURCE0_RGB:
+ case GL_SOURCE1_RGB:
+ case GL_SOURCE2_RGB:
+ case GL_SOURCE3_RGB_NV:
+ case GL_SOURCE0_ALPHA:
+ case GL_SOURCE1_ALPHA:
+ case GL_SOURCE2_ALPHA:
+ case GL_SOURCE3_ALPHA_NV:
+ case GL_OPERAND0_RGB:
+ case GL_OPERAND1_RGB:
+ case GL_OPERAND2_RGB:
+ case GL_OPERAND3_RGB_NV:
+ case GL_OPERAND0_ALPHA:
+ case GL_OPERAND1_ALPHA:
+ case GL_OPERAND2_ALPHA:
+ case GL_OPERAND3_ALPHA_NV:
+ case GL_BUMP_TARGET_ATI:
+ case GL_COORD_REPLACE_ARB:
/* case GL_COORD_REPLACE_NV:*/
- return 1;
- case GL_TEXTURE_ENV_COLOR:
- return 4;
- default:
- return 0;
+ return 1;
+ case GL_TEXTURE_ENV_COLOR:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glTexGendv_size(GLenum e)
+__glTexGendv_size( GLenum e )
{
- switch (e) {
- case GL_TEXTURE_GEN_MODE:
- return 1;
- case GL_OBJECT_PLANE:
- case GL_EYE_PLANE:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_TEXTURE_GEN_MODE:
+ return 1;
+ case GL_OBJECT_PLANE:
+ case GL_EYE_PLANE:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glMap1d_size(GLenum e)
+__glMap1d_size( GLenum e )
{
- switch (e) {
- case GL_MAP1_INDEX:
- case GL_MAP1_TEXTURE_COORD_1:
- return 1;
- case GL_MAP1_TEXTURE_COORD_2:
- return 2;
- case GL_MAP1_NORMAL:
- case GL_MAP1_TEXTURE_COORD_3:
- case GL_MAP1_VERTEX_3:
- return 3;
- case GL_MAP1_COLOR_4:
- case GL_MAP1_TEXTURE_COORD_4:
- case GL_MAP1_VERTEX_4:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_MAP1_INDEX:
+ case GL_MAP1_TEXTURE_COORD_1:
+ return 1;
+ case GL_MAP1_TEXTURE_COORD_2:
+ return 2;
+ case GL_MAP1_NORMAL:
+ case GL_MAP1_TEXTURE_COORD_3:
+ case GL_MAP1_VERTEX_3:
+ return 3;
+ case GL_MAP1_COLOR_4:
+ case GL_MAP1_TEXTURE_COORD_4:
+ case GL_MAP1_VERTEX_4:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glMap2d_size(GLenum e)
+__glMap2d_size( GLenum e )
{
- switch (e) {
- case GL_MAP2_INDEX:
- case GL_MAP2_TEXTURE_COORD_1:
- return 1;
- case GL_MAP2_TEXTURE_COORD_2:
- return 2;
- case GL_MAP2_NORMAL:
- case GL_MAP2_TEXTURE_COORD_3:
- case GL_MAP2_VERTEX_3:
- return 3;
- case GL_MAP2_COLOR_4:
- case GL_MAP2_TEXTURE_COORD_4:
- case GL_MAP2_VERTEX_4:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_MAP2_INDEX:
+ case GL_MAP2_TEXTURE_COORD_1:
+ return 1;
+ case GL_MAP2_TEXTURE_COORD_2:
+ return 2;
+ case GL_MAP2_NORMAL:
+ case GL_MAP2_TEXTURE_COORD_3:
+ case GL_MAP2_VERTEX_3:
+ return 3;
+ case GL_MAP2_COLOR_4:
+ case GL_MAP2_TEXTURE_COORD_4:
+ case GL_MAP2_VERTEX_4:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetBooleanv_size(GLenum e)
+__glGetBooleanv_size( GLenum e )
{
- switch (e) {
- case GL_CURRENT_INDEX:
- case GL_CURRENT_RASTER_INDEX:
- case GL_CURRENT_RASTER_POSITION_VALID:
- case GL_CURRENT_RASTER_DISTANCE:
- case GL_POINT_SMOOTH:
- case GL_POINT_SIZE:
- case GL_SMOOTH_POINT_SIZE_GRANULARITY:
- case GL_LINE_SMOOTH:
- case GL_LINE_WIDTH:
- case GL_LINE_WIDTH_GRANULARITY:
- case GL_LINE_STIPPLE:
- case GL_LINE_STIPPLE_PATTERN:
- case GL_LINE_STIPPLE_REPEAT:
- case GL_LIST_MODE:
- case GL_MAX_LIST_NESTING:
- case GL_LIST_BASE:
- case GL_LIST_INDEX:
- case GL_POLYGON_SMOOTH:
- case GL_POLYGON_STIPPLE:
- case GL_EDGE_FLAG:
- case GL_CULL_FACE:
- case GL_CULL_FACE_MODE:
- case GL_FRONT_FACE:
- case GL_LIGHTING:
- case GL_LIGHT_MODEL_LOCAL_VIEWER:
- case GL_LIGHT_MODEL_TWO_SIDE:
- case GL_SHADE_MODEL:
- case GL_COLOR_MATERIAL_FACE:
- case GL_COLOR_MATERIAL_PARAMETER:
- case GL_COLOR_MATERIAL:
- case GL_FOG:
- case GL_FOG_INDEX:
- case GL_FOG_DENSITY:
- case GL_FOG_START:
- case GL_FOG_END:
- case GL_FOG_MODE:
- case GL_DEPTH_TEST:
- case GL_DEPTH_WRITEMASK:
- case GL_DEPTH_CLEAR_VALUE:
- case GL_DEPTH_FUNC:
- case GL_STENCIL_TEST:
- case GL_STENCIL_CLEAR_VALUE:
- case GL_STENCIL_FUNC:
- case GL_STENCIL_VALUE_MASK:
- case GL_STENCIL_FAIL:
- case GL_STENCIL_PASS_DEPTH_FAIL:
- case GL_STENCIL_PASS_DEPTH_PASS:
- case GL_STENCIL_REF:
- case GL_STENCIL_WRITEMASK:
- case GL_MATRIX_MODE:
- case GL_NORMALIZE:
- case GL_MODELVIEW_STACK_DEPTH:
- case GL_PROJECTION_STACK_DEPTH:
- case GL_TEXTURE_STACK_DEPTH:
- case GL_ATTRIB_STACK_DEPTH:
- case GL_CLIENT_ATTRIB_STACK_DEPTH:
- case GL_ALPHA_TEST:
- case GL_ALPHA_TEST_FUNC:
- case GL_ALPHA_TEST_REF:
- case GL_DITHER:
- case GL_BLEND_DST:
- case GL_BLEND_SRC:
- case GL_BLEND:
- case GL_LOGIC_OP_MODE:
- case GL_LOGIC_OP:
- case GL_AUX_BUFFERS:
- case GL_DRAW_BUFFER:
- case GL_READ_BUFFER:
- case GL_SCISSOR_TEST:
- case GL_INDEX_CLEAR_VALUE:
- case GL_INDEX_WRITEMASK:
- case GL_INDEX_MODE:
- case GL_RGBA_MODE:
- case GL_DOUBLEBUFFER:
- case GL_STEREO:
- case GL_RENDER_MODE:
- case GL_PERSPECTIVE_CORRECTION_HINT:
- case GL_POINT_SMOOTH_HINT:
- case GL_LINE_SMOOTH_HINT:
- case GL_POLYGON_SMOOTH_HINT:
- case GL_FOG_HINT:
- case GL_TEXTURE_GEN_S:
- case GL_TEXTURE_GEN_T:
- case GL_TEXTURE_GEN_R:
- case GL_TEXTURE_GEN_Q:
- case GL_PIXEL_MAP_I_TO_I:
- case GL_PIXEL_MAP_I_TO_I_SIZE:
- case GL_PIXEL_MAP_S_TO_S_SIZE:
- case GL_PIXEL_MAP_I_TO_R_SIZE:
- case GL_PIXEL_MAP_I_TO_G_SIZE:
- case GL_PIXEL_MAP_I_TO_B_SIZE:
- case GL_PIXEL_MAP_I_TO_A_SIZE:
- case GL_PIXEL_MAP_R_TO_R_SIZE:
- case GL_PIXEL_MAP_G_TO_G_SIZE:
- case GL_PIXEL_MAP_B_TO_B_SIZE:
- case GL_PIXEL_MAP_A_TO_A_SIZE:
- case GL_UNPACK_SWAP_BYTES:
- case GL_UNPACK_LSB_FIRST:
- case GL_UNPACK_ROW_LENGTH:
- case GL_UNPACK_SKIP_ROWS:
- case GL_UNPACK_SKIP_PIXELS:
- case GL_UNPACK_ALIGNMENT:
- case GL_PACK_SWAP_BYTES:
- case GL_PACK_LSB_FIRST:
- case GL_PACK_ROW_LENGTH:
- case GL_PACK_SKIP_ROWS:
- case GL_PACK_SKIP_PIXELS:
- case GL_PACK_ALIGNMENT:
- case GL_MAP_COLOR:
- case GL_MAP_STENCIL:
- case GL_INDEX_SHIFT:
- case GL_INDEX_OFFSET:
- case GL_RED_SCALE:
- case GL_RED_BIAS:
- case GL_ZOOM_X:
- case GL_ZOOM_Y:
- case GL_GREEN_SCALE:
- case GL_GREEN_BIAS:
- case GL_BLUE_SCALE:
- case GL_BLUE_BIAS:
- case GL_ALPHA_SCALE:
- case GL_ALPHA_BIAS:
- case GL_DEPTH_SCALE:
- case GL_DEPTH_BIAS:
- case GL_MAX_EVAL_ORDER:
- case GL_MAX_LIGHTS:
- case GL_MAX_CLIP_PLANES:
- case GL_MAX_TEXTURE_SIZE:
- case GL_MAX_PIXEL_MAP_TABLE:
- case GL_MAX_ATTRIB_STACK_DEPTH:
- case GL_MAX_MODELVIEW_STACK_DEPTH:
- case GL_MAX_NAME_STACK_DEPTH:
- case GL_MAX_PROJECTION_STACK_DEPTH:
- case GL_MAX_TEXTURE_STACK_DEPTH:
- case GL_MAX_CLIENT_ATTRIB_STACK_DEPTH:
- case GL_SUBPIXEL_BITS:
- case GL_INDEX_BITS:
- case GL_RED_BITS:
- case GL_GREEN_BITS:
- case GL_BLUE_BITS:
- case GL_ALPHA_BITS:
- case GL_DEPTH_BITS:
- case GL_STENCIL_BITS:
- case GL_ACCUM_RED_BITS:
- case GL_ACCUM_GREEN_BITS:
- case GL_ACCUM_BLUE_BITS:
- case GL_ACCUM_ALPHA_BITS:
- case GL_NAME_STACK_DEPTH:
- case GL_AUTO_NORMAL:
- case GL_MAP1_COLOR_4:
- case GL_MAP1_INDEX:
- case GL_MAP1_NORMAL:
- case GL_MAP1_TEXTURE_COORD_1:
- case GL_MAP1_TEXTURE_COORD_2:
- case GL_MAP1_TEXTURE_COORD_3:
- case GL_MAP1_TEXTURE_COORD_4:
- case GL_MAP1_VERTEX_3:
- case GL_MAP1_VERTEX_4:
- case GL_MAP2_COLOR_4:
- case GL_MAP2_INDEX:
- case GL_MAP2_NORMAL:
- case GL_MAP2_TEXTURE_COORD_1:
- case GL_MAP2_TEXTURE_COORD_2:
- case GL_MAP2_TEXTURE_COORD_3:
- case GL_MAP2_TEXTURE_COORD_4:
- case GL_MAP2_VERTEX_3:
- case GL_MAP2_VERTEX_4:
- case GL_MAP1_GRID_SEGMENTS:
- case GL_TEXTURE_1D:
- case GL_TEXTURE_2D:
- case GL_POLYGON_OFFSET_UNITS:
- case GL_CLIP_PLANE0:
- case GL_CLIP_PLANE1:
- case GL_CLIP_PLANE2:
- case GL_CLIP_PLANE3:
- case GL_CLIP_PLANE4:
- case GL_CLIP_PLANE5:
- case GL_LIGHT0:
- case GL_LIGHT1:
- case GL_LIGHT2:
- case GL_LIGHT3:
- case GL_LIGHT4:
- case GL_LIGHT5:
- case GL_LIGHT6:
- case GL_LIGHT7:
- case GL_BLEND_EQUATION:
+ switch( e ) {
+ case GL_CURRENT_INDEX:
+ case GL_CURRENT_RASTER_INDEX:
+ case GL_CURRENT_RASTER_POSITION_VALID:
+ case GL_CURRENT_RASTER_DISTANCE:
+ case GL_POINT_SMOOTH:
+ case GL_POINT_SIZE:
+ case GL_SMOOTH_POINT_SIZE_GRANULARITY:
+ case GL_LINE_SMOOTH:
+ case GL_LINE_WIDTH:
+ case GL_LINE_WIDTH_GRANULARITY:
+ case GL_LINE_STIPPLE:
+ case GL_LINE_STIPPLE_PATTERN:
+ case GL_LINE_STIPPLE_REPEAT:
+ case GL_LIST_MODE:
+ case GL_MAX_LIST_NESTING:
+ case GL_LIST_BASE:
+ case GL_LIST_INDEX:
+ case GL_POLYGON_SMOOTH:
+ case GL_POLYGON_STIPPLE:
+ case GL_EDGE_FLAG:
+ case GL_CULL_FACE:
+ case GL_CULL_FACE_MODE:
+ case GL_FRONT_FACE:
+ case GL_LIGHTING:
+ case GL_LIGHT_MODEL_LOCAL_VIEWER:
+ case GL_LIGHT_MODEL_TWO_SIDE:
+ case GL_SHADE_MODEL:
+ case GL_COLOR_MATERIAL_FACE:
+ case GL_COLOR_MATERIAL_PARAMETER:
+ case GL_COLOR_MATERIAL:
+ case GL_FOG:
+ case GL_FOG_INDEX:
+ case GL_FOG_DENSITY:
+ case GL_FOG_START:
+ case GL_FOG_END:
+ case GL_FOG_MODE:
+ case GL_DEPTH_TEST:
+ case GL_DEPTH_WRITEMASK:
+ case GL_DEPTH_CLEAR_VALUE:
+ case GL_DEPTH_FUNC:
+ case GL_STENCIL_TEST:
+ case GL_STENCIL_CLEAR_VALUE:
+ case GL_STENCIL_FUNC:
+ case GL_STENCIL_VALUE_MASK:
+ case GL_STENCIL_FAIL:
+ case GL_STENCIL_PASS_DEPTH_FAIL:
+ case GL_STENCIL_PASS_DEPTH_PASS:
+ case GL_STENCIL_REF:
+ case GL_STENCIL_WRITEMASK:
+ case GL_MATRIX_MODE:
+ case GL_NORMALIZE:
+ case GL_MODELVIEW_STACK_DEPTH:
+ case GL_PROJECTION_STACK_DEPTH:
+ case GL_TEXTURE_STACK_DEPTH:
+ case GL_ATTRIB_STACK_DEPTH:
+ case GL_CLIENT_ATTRIB_STACK_DEPTH:
+ case GL_ALPHA_TEST:
+ case GL_ALPHA_TEST_FUNC:
+ case GL_ALPHA_TEST_REF:
+ case GL_DITHER:
+ case GL_BLEND_DST:
+ case GL_BLEND_SRC:
+ case GL_BLEND:
+ case GL_LOGIC_OP_MODE:
+ case GL_LOGIC_OP:
+ case GL_AUX_BUFFERS:
+ case GL_DRAW_BUFFER:
+ case GL_READ_BUFFER:
+ case GL_INDEX_CLEAR_VALUE:
+ case GL_INDEX_WRITEMASK:
+ case GL_INDEX_MODE:
+ case GL_RGBA_MODE:
+ case GL_DOUBLEBUFFER:
+ case GL_STEREO:
+ case GL_RENDER_MODE:
+ case GL_PERSPECTIVE_CORRECTION_HINT:
+ case GL_POINT_SMOOTH_HINT:
+ case GL_LINE_SMOOTH_HINT:
+ case GL_POLYGON_SMOOTH_HINT:
+ case GL_FOG_HINT:
+ case GL_TEXTURE_GEN_S:
+ case GL_TEXTURE_GEN_T:
+ case GL_TEXTURE_GEN_R:
+ case GL_TEXTURE_GEN_Q:
+ case GL_PIXEL_MAP_I_TO_I:
+ case GL_PIXEL_MAP_I_TO_I_SIZE:
+ case GL_PIXEL_MAP_S_TO_S_SIZE:
+ case GL_PIXEL_MAP_I_TO_R_SIZE:
+ case GL_PIXEL_MAP_I_TO_G_SIZE:
+ case GL_PIXEL_MAP_I_TO_B_SIZE:
+ case GL_PIXEL_MAP_I_TO_A_SIZE:
+ case GL_PIXEL_MAP_R_TO_R_SIZE:
+ case GL_PIXEL_MAP_G_TO_G_SIZE:
+ case GL_PIXEL_MAP_B_TO_B_SIZE:
+ case GL_PIXEL_MAP_A_TO_A_SIZE:
+ case GL_UNPACK_SWAP_BYTES:
+ case GL_UNPACK_LSB_FIRST:
+ case GL_UNPACK_ROW_LENGTH:
+ case GL_UNPACK_SKIP_ROWS:
+ case GL_UNPACK_SKIP_PIXELS:
+ case GL_UNPACK_ALIGNMENT:
+ case GL_PACK_SWAP_BYTES:
+ case GL_PACK_LSB_FIRST:
+ case GL_PACK_ROW_LENGTH:
+ case GL_PACK_SKIP_ROWS:
+ case GL_PACK_SKIP_PIXELS:
+ case GL_PACK_ALIGNMENT:
+ case GL_MAP_COLOR:
+ case GL_MAP_STENCIL:
+ case GL_INDEX_SHIFT:
+ case GL_INDEX_OFFSET:
+ case GL_RED_SCALE:
+ case GL_RED_BIAS:
+ case GL_ZOOM_X:
+ case GL_ZOOM_Y:
+ case GL_GREEN_SCALE:
+ case GL_GREEN_BIAS:
+ case GL_BLUE_SCALE:
+ case GL_BLUE_BIAS:
+ case GL_ALPHA_SCALE:
+ case GL_ALPHA_BIAS:
+ case GL_DEPTH_SCALE:
+ case GL_DEPTH_BIAS:
+ case GL_MAX_EVAL_ORDER:
+ case GL_MAX_LIGHTS:
+ case GL_MAX_CLIP_PLANES:
+ case GL_MAX_TEXTURE_SIZE:
+ case GL_MAX_PIXEL_MAP_TABLE:
+ case GL_MAX_ATTRIB_STACK_DEPTH:
+ case GL_MAX_MODELVIEW_STACK_DEPTH:
+ case GL_MAX_NAME_STACK_DEPTH:
+ case GL_MAX_PROJECTION_STACK_DEPTH:
+ case GL_MAX_TEXTURE_STACK_DEPTH:
+ case GL_MAX_CLIENT_ATTRIB_STACK_DEPTH:
+ case GL_SUBPIXEL_BITS:
+ case GL_INDEX_BITS:
+ case GL_RED_BITS:
+ case GL_GREEN_BITS:
+ case GL_BLUE_BITS:
+ case GL_ALPHA_BITS:
+ case GL_DEPTH_BITS:
+ case GL_STENCIL_BITS:
+ case GL_ACCUM_RED_BITS:
+ case GL_ACCUM_GREEN_BITS:
+ case GL_ACCUM_BLUE_BITS:
+ case GL_ACCUM_ALPHA_BITS:
+ case GL_NAME_STACK_DEPTH:
+ case GL_AUTO_NORMAL:
+ case GL_MAP1_COLOR_4:
+ case GL_MAP1_INDEX:
+ case GL_MAP1_NORMAL:
+ case GL_MAP1_TEXTURE_COORD_1:
+ case GL_MAP1_TEXTURE_COORD_2:
+ case GL_MAP1_TEXTURE_COORD_3:
+ case GL_MAP1_TEXTURE_COORD_4:
+ case GL_MAP1_VERTEX_3:
+ case GL_MAP1_VERTEX_4:
+ case GL_MAP2_COLOR_4:
+ case GL_MAP2_INDEX:
+ case GL_MAP2_NORMAL:
+ case GL_MAP2_TEXTURE_COORD_1:
+ case GL_MAP2_TEXTURE_COORD_2:
+ case GL_MAP2_TEXTURE_COORD_3:
+ case GL_MAP2_TEXTURE_COORD_4:
+ case GL_MAP2_VERTEX_3:
+ case GL_MAP2_VERTEX_4:
+ case GL_MAP1_GRID_SEGMENTS:
+ case GL_TEXTURE_1D:
+ case GL_TEXTURE_2D:
+ case GL_POLYGON_OFFSET_UNITS:
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ case GL_BLEND_EQUATION:
/* case GL_BLEND_EQUATION_EXT:*/
- case GL_CONVOLUTION_1D:
- case GL_CONVOLUTION_2D:
- case GL_SEPARABLE_2D:
- case GL_MAX_CONVOLUTION_WIDTH:
+ case GL_CONVOLUTION_1D:
+ case GL_CONVOLUTION_2D:
+ case GL_SEPARABLE_2D:
+ case GL_MAX_CONVOLUTION_WIDTH:
/* case GL_MAX_CONVOLUTION_WIDTH_EXT:*/
- case GL_MAX_CONVOLUTION_HEIGHT:
+ case GL_MAX_CONVOLUTION_HEIGHT:
/* case GL_MAX_CONVOLUTION_HEIGHT_EXT:*/
- case GL_POST_CONVOLUTION_RED_SCALE:
+ case GL_POST_CONVOLUTION_RED_SCALE:
/* case GL_POST_CONVOLUTION_RED_SCALE_EXT:*/
- case GL_POST_CONVOLUTION_GREEN_SCALE:
+ case GL_POST_CONVOLUTION_GREEN_SCALE:
/* case GL_POST_CONVOLUTION_GREEN_SCALE_EXT:*/
- case GL_POST_CONVOLUTION_BLUE_SCALE:
+ case GL_POST_CONVOLUTION_BLUE_SCALE:
/* case GL_POST_CONVOLUTION_BLUE_SCALE_EXT:*/
- case GL_POST_CONVOLUTION_ALPHA_SCALE:
+ case GL_POST_CONVOLUTION_ALPHA_SCALE:
/* case GL_POST_CONVOLUTION_ALPHA_SCALE_EXT:*/
- case GL_POST_CONVOLUTION_RED_BIAS:
+ case GL_POST_CONVOLUTION_RED_BIAS:
/* case GL_POST_CONVOLUTION_RED_BIAS_EXT:*/
- case GL_POST_CONVOLUTION_GREEN_BIAS:
+ case GL_POST_CONVOLUTION_GREEN_BIAS:
/* case GL_POST_CONVOLUTION_GREEN_BIAS_EXT:*/
- case GL_POST_CONVOLUTION_BLUE_BIAS:
+ case GL_POST_CONVOLUTION_BLUE_BIAS:
/* case GL_POST_CONVOLUTION_BLUE_BIAS_EXT:*/
- case GL_POST_CONVOLUTION_ALPHA_BIAS:
+ case GL_POST_CONVOLUTION_ALPHA_BIAS:
/* case GL_POST_CONVOLUTION_ALPHA_BIAS_EXT:*/
- case GL_HISTOGRAM:
- case GL_MINMAX:
- case GL_POLYGON_OFFSET_FACTOR:
- case GL_RESCALE_NORMAL:
+ case GL_HISTOGRAM:
+ case GL_MINMAX:
+ case GL_POLYGON_OFFSET_FACTOR:
+ case GL_RESCALE_NORMAL:
/* case GL_RESCALE_NORMAL_EXT:*/
- case GL_TEXTURE_BINDING_1D:
- case GL_TEXTURE_BINDING_2D:
- case GL_TEXTURE_BINDING_3D:
- case GL_PACK_SKIP_IMAGES:
- case GL_PACK_IMAGE_HEIGHT:
- case GL_UNPACK_SKIP_IMAGES:
- case GL_UNPACK_IMAGE_HEIGHT:
- case GL_TEXTURE_3D:
- case GL_MAX_3D_TEXTURE_SIZE:
- case GL_VERTEX_ARRAY:
- case GL_NORMAL_ARRAY:
- case GL_COLOR_ARRAY:
- case GL_INDEX_ARRAY:
- case GL_TEXTURE_COORD_ARRAY:
- case GL_EDGE_FLAG_ARRAY:
- case GL_VERTEX_ARRAY_SIZE:
- case GL_VERTEX_ARRAY_TYPE:
- case GL_VERTEX_ARRAY_STRIDE:
- case GL_NORMAL_ARRAY_TYPE:
- case GL_NORMAL_ARRAY_STRIDE:
- case GL_COLOR_ARRAY_SIZE:
- case GL_COLOR_ARRAY_TYPE:
- case GL_COLOR_ARRAY_STRIDE:
- case GL_INDEX_ARRAY_TYPE:
- case GL_INDEX_ARRAY_STRIDE:
- case GL_TEXTURE_COORD_ARRAY_SIZE:
- case GL_TEXTURE_COORD_ARRAY_TYPE:
- case GL_TEXTURE_COORD_ARRAY_STRIDE:
- case GL_EDGE_FLAG_ARRAY_STRIDE:
- case GL_MULTISAMPLE:
+ case GL_TEXTURE_BINDING_1D:
+ case GL_TEXTURE_BINDING_2D:
+ case GL_TEXTURE_BINDING_3D:
+ case GL_PACK_SKIP_IMAGES:
+ case GL_PACK_IMAGE_HEIGHT:
+ case GL_UNPACK_SKIP_IMAGES:
+ case GL_UNPACK_IMAGE_HEIGHT:
+ case GL_TEXTURE_3D:
+ case GL_MAX_3D_TEXTURE_SIZE:
+ case GL_VERTEX_ARRAY:
+ case GL_NORMAL_ARRAY:
+ case GL_COLOR_ARRAY:
+ case GL_INDEX_ARRAY:
+ case GL_TEXTURE_COORD_ARRAY:
+ case GL_EDGE_FLAG_ARRAY:
+ case GL_VERTEX_ARRAY_SIZE:
+ case GL_VERTEX_ARRAY_TYPE:
+ case GL_VERTEX_ARRAY_STRIDE:
+ case GL_NORMAL_ARRAY_TYPE:
+ case GL_NORMAL_ARRAY_STRIDE:
+ case GL_COLOR_ARRAY_SIZE:
+ case GL_COLOR_ARRAY_TYPE:
+ case GL_COLOR_ARRAY_STRIDE:
+ case GL_INDEX_ARRAY_TYPE:
+ case GL_INDEX_ARRAY_STRIDE:
+ case GL_TEXTURE_COORD_ARRAY_SIZE:
+ case GL_TEXTURE_COORD_ARRAY_TYPE:
+ case GL_TEXTURE_COORD_ARRAY_STRIDE:
+ case GL_EDGE_FLAG_ARRAY_STRIDE:
+ case GL_MULTISAMPLE:
/* case GL_MULTISAMPLE_ARB:*/
- case GL_SAMPLE_ALPHA_TO_COVERAGE:
+ case GL_SAMPLE_ALPHA_TO_COVERAGE:
/* case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:*/
- case GL_SAMPLE_ALPHA_TO_ONE:
+ case GL_SAMPLE_ALPHA_TO_ONE:
/* case GL_SAMPLE_ALPHA_TO_ONE_ARB:*/
- case GL_SAMPLE_COVERAGE:
+ case GL_SAMPLE_COVERAGE:
/* case GL_SAMPLE_COVERAGE_ARB:*/
- case GL_SAMPLE_BUFFERS:
+ case GL_SAMPLE_BUFFERS:
/* case GL_SAMPLE_BUFFERS_ARB:*/
- case GL_SAMPLES:
+ case GL_SAMPLES:
/* case GL_SAMPLES_ARB:*/
- case GL_SAMPLE_COVERAGE_VALUE:
+ case GL_SAMPLE_COVERAGE_VALUE:
/* case GL_SAMPLE_COVERAGE_VALUE_ARB:*/
- case GL_SAMPLE_COVERAGE_INVERT:
+ case GL_SAMPLE_COVERAGE_INVERT:
/* case GL_SAMPLE_COVERAGE_INVERT_ARB:*/
- case GL_COLOR_MATRIX_STACK_DEPTH:
- case GL_MAX_COLOR_MATRIX_STACK_DEPTH:
- case GL_POST_COLOR_MATRIX_RED_SCALE:
- case GL_POST_COLOR_MATRIX_GREEN_SCALE:
- case GL_POST_COLOR_MATRIX_BLUE_SCALE:
- case GL_POST_COLOR_MATRIX_ALPHA_SCALE:
- case GL_POST_COLOR_MATRIX_RED_BIAS:
- case GL_POST_COLOR_MATRIX_GREEN_BIAS:
- case GL_POST_COLOR_MATRIX_BLUE_BIAS:
- case GL_POST_COLOR_MATRIX_ALPHA_BIAS:
- case GL_BLEND_DST_RGB:
- case GL_BLEND_SRC_RGB:
- case GL_BLEND_DST_ALPHA:
- case GL_BLEND_SRC_ALPHA:
- case GL_COLOR_TABLE:
- case GL_POST_CONVOLUTION_COLOR_TABLE:
- case GL_POST_COLOR_MATRIX_COLOR_TABLE:
- case GL_MAX_ELEMENTS_VERTICES:
- case GL_MAX_ELEMENTS_INDICES:
- case GL_CLIP_VOLUME_CLIPPING_HINT_EXT:
- case GL_POINT_SIZE_MIN:
- case GL_POINT_SIZE_MAX:
- case GL_POINT_FADE_THRESHOLD_SIZE:
- 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:
- case GL_FOG_COORDINATE_ARRAY_STRIDE:
- case GL_FOG_COORD_ARRAY:
- case GL_COLOR_SUM_ARB:
- case GL_SECONDARY_COLOR_ARRAY_SIZE:
- case GL_SECONDARY_COLOR_ARRAY_TYPE:
- case GL_SECONDARY_COLOR_ARRAY_STRIDE:
- case GL_SECONDARY_COLOR_ARRAY:
- case GL_ACTIVE_TEXTURE:
+ case GL_COLOR_MATRIX_STACK_DEPTH:
+ case GL_MAX_COLOR_MATRIX_STACK_DEPTH:
+ case GL_POST_COLOR_MATRIX_RED_SCALE:
+ case GL_POST_COLOR_MATRIX_GREEN_SCALE:
+ case GL_POST_COLOR_MATRIX_BLUE_SCALE:
+ case GL_POST_COLOR_MATRIX_ALPHA_SCALE:
+ case GL_POST_COLOR_MATRIX_RED_BIAS:
+ case GL_POST_COLOR_MATRIX_GREEN_BIAS:
+ case GL_POST_COLOR_MATRIX_BLUE_BIAS:
+ case GL_POST_COLOR_MATRIX_ALPHA_BIAS:
+ case GL_BLEND_DST_RGB:
+ case GL_BLEND_SRC_RGB:
+ case GL_BLEND_DST_ALPHA:
+ case GL_BLEND_SRC_ALPHA:
+ case GL_COLOR_TABLE:
+ case GL_POST_CONVOLUTION_COLOR_TABLE:
+ case GL_POST_COLOR_MATRIX_COLOR_TABLE:
+ case GL_MAX_ELEMENTS_VERTICES:
+ case GL_MAX_ELEMENTS_INDICES:
+ case GL_CLIP_VOLUME_CLIPPING_HINT_EXT:
+ case GL_POINT_SIZE_MIN:
+ case GL_POINT_SIZE_MAX:
+ case GL_POINT_FADE_THRESHOLD_SIZE:
+ 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_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH:*/
+ case GL_RESET_NOTIFICATION_STRATEGY_ARB:
+ case GL_MAX_DEBUG_GROUP_STACK_DEPTH:
+ case GL_DEBUG_GROUP_STACK_DEPTH:
+ case GL_MAX_UNIFORM_LOCATIONS:
+ case GL_MAX_LABEL_LENGTH:
+ case GL_CURRENT_FOG_COORD:
+ case GL_FOG_COORDINATE_ARRAY_TYPE:
+ case GL_FOG_COORDINATE_ARRAY_STRIDE:
+ case GL_FOG_COORD_ARRAY:
+ case GL_COLOR_SUM_ARB:
+ case GL_SECONDARY_COLOR_ARRAY_SIZE:
+ case GL_SECONDARY_COLOR_ARRAY_TYPE:
+ case GL_SECONDARY_COLOR_ARRAY_STRIDE:
+ case GL_SECONDARY_COLOR_ARRAY:
+ case GL_ACTIVE_TEXTURE:
/* case GL_ACTIVE_TEXTURE_ARB:*/
- case GL_CLIENT_ACTIVE_TEXTURE:
+ case GL_CLIENT_ACTIVE_TEXTURE:
/* case GL_CLIENT_ACTIVE_TEXTURE_ARB:*/
- case GL_MAX_TEXTURE_UNITS:
+ case GL_MAX_TEXTURE_UNITS:
/* case GL_MAX_TEXTURE_UNITS_ARB:*/
- case GL_MAX_RENDERBUFFER_SIZE:
+ case GL_MAX_RENDERBUFFER_SIZE:
/* case GL_MAX_RENDERBUFFER_SIZE_EXT:*/
- case GL_TEXTURE_COMPRESSION_HINT:
+ case GL_TEXTURE_COMPRESSION_HINT:
/* case GL_TEXTURE_COMPRESSION_HINT_ARB:*/
- case GL_TEXTURE_RECTANGLE_ARB:
+ case GL_TEXTURE_RECTANGLE_ARB:
/* case GL_TEXTURE_RECTANGLE_NV:*/
- case GL_TEXTURE_BINDING_RECTANGLE_ARB:
+ case GL_TEXTURE_BINDING_RECTANGLE_ARB:
/* case GL_TEXTURE_BINDING_RECTANGLE_NV:*/
- case GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB:
+ case GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB:
/* case GL_MAX_RECTANGLE_TEXTURE_SIZE_NV:*/
- case GL_MAX_TEXTURE_LOD_BIAS:
- case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
- case GL_MAX_SHININESS_NV:
- case GL_MAX_SPOT_EXPONENT_NV:
- case GL_TEXTURE_CUBE_MAP:
+ case GL_MAX_TEXTURE_LOD_BIAS:
+ case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT:
+ case GL_MAX_SHININESS_NV:
+ case GL_MAX_SPOT_EXPONENT_NV:
+ case GL_TEXTURE_CUBE_MAP:
/* case GL_TEXTURE_CUBE_MAP_ARB:*/
- case GL_TEXTURE_BINDING_CUBE_MAP:
+ case GL_TEXTURE_BINDING_CUBE_MAP:
/* case GL_TEXTURE_BINDING_CUBE_MAP_ARB:*/
- case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
+ case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
/* case GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB:*/
- case GL_MULTISAMPLE_FILTER_HINT_NV:
- case GL_FOG_DISTANCE_MODE_NV:
- case GL_VERTEX_PROGRAM_ARB:
- case GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB:
- case GL_MAX_PROGRAM_MATRICES_ARB:
- case GL_CURRENT_MATRIX_STACK_DEPTH_ARB:
- case GL_VERTEX_PROGRAM_POINT_SIZE_ARB:
- case GL_VERTEX_PROGRAM_TWO_SIDE_ARB:
- case GL_PROGRAM_ERROR_POSITION_ARB:
- case GL_DEPTH_CLAMP:
+ case GL_MULTISAMPLE_FILTER_HINT_NV:
+ case GL_FOG_DISTANCE_MODE_NV:
+ case GL_VERTEX_PROGRAM_ARB:
+ case GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB:
+ case GL_MAX_PROGRAM_MATRICES_ARB:
+ case GL_CURRENT_MATRIX_STACK_DEPTH_ARB:
+ case GL_VERTEX_PROGRAM_POINT_SIZE_ARB:
+ case GL_VERTEX_PROGRAM_TWO_SIDE_ARB:
+ case GL_PROGRAM_ERROR_POSITION_ARB:
+ case GL_DEPTH_CLAMP:
/* case GL_DEPTH_CLAMP_NV:*/
- case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
+ case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
/* case GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB:*/
- case GL_MAX_VERTEX_UNITS_ARB:
- case GL_ACTIVE_VERTEX_UNITS_ARB:
- case GL_WEIGHT_SUM_UNITY_ARB:
- case GL_VERTEX_BLEND_ARB:
- case GL_CURRENT_WEIGHT_ARB:
- case GL_WEIGHT_ARRAY_TYPE_ARB:
- case GL_WEIGHT_ARRAY_STRIDE_ARB:
- case GL_WEIGHT_ARRAY_SIZE_ARB:
- case GL_WEIGHT_ARRAY_ARB:
- case GL_PACK_INVERT_MESA:
- case GL_STENCIL_BACK_FUNC_ATI:
- case GL_STENCIL_BACK_FAIL_ATI:
- case GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI:
- case GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI:
- case GL_FRAGMENT_PROGRAM_ARB:
- case GL_MAX_DRAW_BUFFERS_ARB:
+ case GL_MAX_VERTEX_UNITS_ARB:
+ case GL_ACTIVE_VERTEX_UNITS_ARB:
+ case GL_WEIGHT_SUM_UNITY_ARB:
+ case GL_VERTEX_BLEND_ARB:
+ case GL_CURRENT_WEIGHT_ARB:
+ case GL_WEIGHT_ARRAY_TYPE_ARB:
+ case GL_WEIGHT_ARRAY_STRIDE_ARB:
+ case GL_WEIGHT_ARRAY_SIZE_ARB:
+ case GL_WEIGHT_ARRAY_ARB:
+ case GL_PACK_INVERT_MESA:
+ case GL_STENCIL_BACK_FUNC_ATI:
+ case GL_STENCIL_BACK_FAIL_ATI:
+ case GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI:
+ case GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI:
+ case GL_FRAGMENT_PROGRAM_ARB:
+ case GL_MAX_DRAW_BUFFERS_ARB:
/* case GL_MAX_DRAW_BUFFERS_ATI:*/
- case GL_DRAW_BUFFER0_ARB:
+ case GL_DRAW_BUFFER0_ARB:
/* case GL_DRAW_BUFFER0_ATI:*/
- case GL_DRAW_BUFFER1_ARB:
+ case GL_DRAW_BUFFER1_ARB:
/* case GL_DRAW_BUFFER1_ATI:*/
- case GL_DRAW_BUFFER2_ARB:
+ case GL_DRAW_BUFFER2_ARB:
/* case GL_DRAW_BUFFER2_ATI:*/
- case GL_DRAW_BUFFER3_ARB:
+ case GL_DRAW_BUFFER3_ARB:
/* case GL_DRAW_BUFFER3_ATI:*/
- case GL_DRAW_BUFFER4_ARB:
+ case GL_DRAW_BUFFER4_ARB:
/* case GL_DRAW_BUFFER4_ATI:*/
- case GL_DRAW_BUFFER5_ARB:
+ case GL_DRAW_BUFFER5_ARB:
/* case GL_DRAW_BUFFER5_ATI:*/
- case GL_DRAW_BUFFER6_ARB:
+ case GL_DRAW_BUFFER6_ARB:
/* case GL_DRAW_BUFFER6_ATI:*/
- case GL_DRAW_BUFFER7_ARB:
+ case GL_DRAW_BUFFER7_ARB:
/* case GL_DRAW_BUFFER7_ATI:*/
- case GL_DRAW_BUFFER8_ARB:
+ case GL_DRAW_BUFFER8_ARB:
/* case GL_DRAW_BUFFER8_ATI:*/
- case GL_DRAW_BUFFER9_ARB:
+ case GL_DRAW_BUFFER9_ARB:
/* case GL_DRAW_BUFFER9_ATI:*/
- case GL_DRAW_BUFFER10_ARB:
+ case GL_DRAW_BUFFER10_ARB:
/* case GL_DRAW_BUFFER10_ATI:*/
- case GL_DRAW_BUFFER11_ARB:
+ case GL_DRAW_BUFFER11_ARB:
/* case GL_DRAW_BUFFER11_ATI:*/
- case GL_DRAW_BUFFER12_ARB:
+ case GL_DRAW_BUFFER12_ARB:
/* case GL_DRAW_BUFFER12_ATI:*/
- case GL_DRAW_BUFFER13_ARB:
+ case GL_DRAW_BUFFER13_ARB:
/* case GL_DRAW_BUFFER13_ATI:*/
- case GL_DRAW_BUFFER14_ARB:
+ case GL_DRAW_BUFFER14_ARB:
/* case GL_DRAW_BUFFER14_ATI:*/
- case GL_DRAW_BUFFER15_ARB:
+ case GL_DRAW_BUFFER15_ARB:
/* case GL_DRAW_BUFFER15_ATI:*/
- case GL_BLEND_EQUATION_ALPHA_EXT:
- case GL_MATRIX_PALETTE_ARB:
- case GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB:
- case GL_MAX_PALETTE_MATRICES_ARB:
- case GL_CURRENT_PALETTE_MATRIX_ARB:
- case GL_MATRIX_INDEX_ARRAY_ARB:
- case GL_CURRENT_MATRIX_INDEX_ARB:
- case GL_MATRIX_INDEX_ARRAY_SIZE_ARB:
- 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_BLEND_EQUATION_ALPHA_EXT:
+ case GL_MATRIX_PALETTE_ARB:
+ case GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB:
+ case GL_MAX_PALETTE_MATRICES_ARB:
+ case GL_CURRENT_PALETTE_MATRIX_ARB:
+ case GL_MATRIX_INDEX_ARRAY_ARB:
+ case GL_CURRENT_MATRIX_INDEX_ARB:
+ case GL_MATRIX_INDEX_ARRAY_SIZE_ARB:
+ 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:
- case GL_MAX_VERTEX_ATTRIBS_ARB:
- case GL_MAX_TEXTURE_COORDS_ARB:
- case GL_MAX_TEXTURE_IMAGE_UNITS_ARB:
- case GL_DEPTH_BOUNDS_TEST_EXT:
- case GL_ARRAY_BUFFER_BINDING_ARB:
- case GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB:
- case GL_VERTEX_ARRAY_BUFFER_BINDING_ARB:
- case GL_NORMAL_ARRAY_BUFFER_BINDING_ARB:
- case GL_COLOR_ARRAY_BUFFER_BINDING_ARB:
- case GL_INDEX_ARRAY_BUFFER_BINDING_ARB:
- case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB:
- case GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB:
- 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_MAX_ARRAY_TEXTURE_LAYERS_EXT:
- case GL_STENCIL_TEST_TWO_SIDE_EXT:
- case GL_ACTIVE_STENCIL_FACE_EXT:
- case GL_SAMPLER_BINDING:
- case GL_TEXTURE_BINDING_1D_ARRAY_EXT:
- case GL_TEXTURE_BINDING_2D_ARRAY_EXT:
- case GL_FRAMEBUFFER_BINDING:
+ case GL_POINT_SPRITE_R_MODE_NV:
+ case GL_MAX_VERTEX_ATTRIBS_ARB:
+ case GL_MAX_TEXTURE_COORDS_ARB:
+ case GL_MAX_TEXTURE_IMAGE_UNITS_ARB:
+ case GL_DEPTH_BOUNDS_TEST_EXT:
+ case GL_ARRAY_BUFFER_BINDING_ARB:
+ case GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB:
+ case GL_VERTEX_ARRAY_BUFFER_BINDING_ARB:
+ case GL_NORMAL_ARRAY_BUFFER_BINDING_ARB:
+ case GL_COLOR_ARRAY_BUFFER_BINDING_ARB:
+ case GL_INDEX_ARRAY_BUFFER_BINDING_ARB:
+ case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB:
+ case GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB:
+ 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_MAX_ARRAY_TEXTURE_LAYERS_EXT:
+ case GL_STENCIL_TEST_TWO_SIDE_EXT:
+ case GL_ACTIVE_STENCIL_FACE_EXT:
+ case GL_SAMPLER_BINDING:
+ case GL_TEXTURE_BINDING_1D_ARRAY_EXT:
+ case GL_TEXTURE_BINDING_2D_ARRAY_EXT:
+ case GL_FRAMEBUFFER_BINDING:
/* case GL_DRAW_FRAMEBUFFER_BINDING_EXT:*/
- case GL_RENDERBUFFER_BINDING:
+ case GL_RENDERBUFFER_BINDING:
/* case GL_RENDERBUFFER_BINDING_EXT:*/
- case GL_READ_FRAMEBUFFER_BINDING:
+ case GL_READ_FRAMEBUFFER_BINDING:
/* case GL_READ_FRAMEBUFFER_BINDING_EXT:*/
- case GL_MAX_COLOR_ATTACHMENTS:
+ case GL_MAX_COLOR_ATTACHMENTS:
/* case GL_MAX_COLOR_ATTACHMENTS_EXT:*/
- case GL_MAX_SAMPLES:
+ 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:
- case GL_LINE_WIDTH_RANGE:
- case GL_POLYGON_MODE:
- case GL_DEPTH_RANGE:
- case GL_MAX_VIEWPORT_DIMS:
- case GL_MAP1_GRID_DOMAIN:
- case GL_MAP2_GRID_SEGMENTS:
- case GL_ALIASED_POINT_SIZE_RANGE:
- case GL_ALIASED_LINE_WIDTH_RANGE:
- case GL_DEPTH_BOUNDS_EXT:
- return 2;
- case GL_CURRENT_NORMAL:
- case GL_POINT_DISTANCE_ATTENUATION:
- return 3;
- case GL_CURRENT_COLOR:
- case GL_CURRENT_TEXTURE_COORDS:
- case GL_CURRENT_RASTER_COLOR:
- case GL_CURRENT_RASTER_TEXTURE_COORDS:
- case GL_CURRENT_RASTER_POSITION:
- case GL_LIGHT_MODEL_AMBIENT:
- case GL_FOG_COLOR:
- case GL_ACCUM_CLEAR_VALUE:
- case GL_VIEWPORT:
- case GL_SCISSOR_BOX:
- case GL_COLOR_CLEAR_VALUE:
- case GL_COLOR_WRITEMASK:
- case GL_MAP2_GRID_DOMAIN:
- case GL_BLEND_COLOR:
+ case GL_MAX_SERVER_WAIT_TIMEOUT:
+ case GL_MAX_DEBUG_MESSAGE_LENGTH_ARB:
+/* case GL_MAX_DEBUG_MESSAGE_LENGTH:*/
+ case GL_MAX_DEBUG_LOGGED_MESSAGES_ARB:
+/* case GL_MAX_DEBUG_LOGGED_MESSAGES:*/
+ case GL_DEBUG_LOGGED_MESSAGES_ARB:
+/* case GL_DEBUG_LOGGED_MESSAGES:*/
+ case GL_RASTER_POSITION_UNCLIPPED_IBM:
+ return 1;
+ case GL_SMOOTH_POINT_SIZE_RANGE:
+ case GL_LINE_WIDTH_RANGE:
+ case GL_POLYGON_MODE:
+ case GL_MAX_VIEWPORT_DIMS:
+ case GL_MAP1_GRID_DOMAIN:
+ case GL_MAP2_GRID_SEGMENTS:
+ case GL_ALIASED_POINT_SIZE_RANGE:
+ case GL_ALIASED_LINE_WIDTH_RANGE:
+ case GL_DEPTH_BOUNDS_EXT:
+ return 2;
+ case GL_CURRENT_NORMAL:
+ case GL_POINT_DISTANCE_ATTENUATION:
+ return 3;
+ case GL_CURRENT_COLOR:
+ case GL_CURRENT_TEXTURE_COORDS:
+ case GL_CURRENT_RASTER_COLOR:
+ case GL_CURRENT_RASTER_TEXTURE_COORDS:
+ case GL_CURRENT_RASTER_POSITION:
+ case GL_LIGHT_MODEL_AMBIENT:
+ case GL_FOG_COLOR:
+ case GL_ACCUM_CLEAR_VALUE:
+ case GL_COLOR_CLEAR_VALUE:
+ case GL_COLOR_WRITEMASK:
+ case GL_MAP2_GRID_DOMAIN:
+ case GL_BLEND_COLOR:
/* case GL_BLEND_COLOR_EXT:*/
- case GL_CURRENT_SECONDARY_COLOR:
- return 4;
- case GL_MODELVIEW_MATRIX:
- case GL_PROJECTION_MATRIX:
- case GL_TEXTURE_MATRIX:
- case GL_MODELVIEW0_ARB:
- case GL_COLOR_MATRIX:
- case GL_MODELVIEW1_ARB:
- case GL_CURRENT_MATRIX_ARB:
- case GL_MODELVIEW2_ARB:
- case GL_MODELVIEW3_ARB:
- case GL_MODELVIEW4_ARB:
- case GL_MODELVIEW5_ARB:
- case GL_MODELVIEW6_ARB:
- case GL_MODELVIEW7_ARB:
- case GL_MODELVIEW8_ARB:
- case GL_MODELVIEW9_ARB:
- case GL_MODELVIEW10_ARB:
- case GL_MODELVIEW11_ARB:
- case GL_MODELVIEW12_ARB:
- case GL_MODELVIEW13_ARB:
- case GL_MODELVIEW14_ARB:
- case GL_MODELVIEW15_ARB:
- case GL_MODELVIEW16_ARB:
- case GL_MODELVIEW17_ARB:
- case GL_MODELVIEW18_ARB:
- case GL_MODELVIEW19_ARB:
- case GL_MODELVIEW20_ARB:
- case GL_MODELVIEW21_ARB:
- case GL_MODELVIEW22_ARB:
- case GL_MODELVIEW23_ARB:
- case GL_MODELVIEW24_ARB:
- case GL_MODELVIEW25_ARB:
- case GL_MODELVIEW26_ARB:
- case GL_MODELVIEW27_ARB:
- case GL_MODELVIEW28_ARB:
- case GL_MODELVIEW29_ARB:
- case GL_MODELVIEW30_ARB:
- case GL_MODELVIEW31_ARB:
- case GL_TRANSPOSE_CURRENT_MATRIX_ARB:
- return 16;
- case GL_FOG_COORDINATE_SOURCE:
- case GL_COMPRESSED_TEXTURE_FORMATS:
- case GL_RGBA_INTEGER_MODE_EXT:
- return __glGetBooleanv_variable_size(e);
- default:
- return 0;
+ case GL_CURRENT_SECONDARY_COLOR:
+ return 4;
+ case GL_MODELVIEW_MATRIX:
+ case GL_PROJECTION_MATRIX:
+ case GL_TEXTURE_MATRIX:
+ case GL_MODELVIEW0_ARB:
+ case GL_COLOR_MATRIX:
+ case GL_MODELVIEW1_ARB:
+ case GL_CURRENT_MATRIX_ARB:
+ case GL_MODELVIEW2_ARB:
+ case GL_MODELVIEW3_ARB:
+ case GL_MODELVIEW4_ARB:
+ case GL_MODELVIEW5_ARB:
+ case GL_MODELVIEW6_ARB:
+ case GL_MODELVIEW7_ARB:
+ case GL_MODELVIEW8_ARB:
+ case GL_MODELVIEW9_ARB:
+ case GL_MODELVIEW10_ARB:
+ case GL_MODELVIEW11_ARB:
+ case GL_MODELVIEW12_ARB:
+ case GL_MODELVIEW13_ARB:
+ case GL_MODELVIEW14_ARB:
+ case GL_MODELVIEW15_ARB:
+ case GL_MODELVIEW16_ARB:
+ case GL_MODELVIEW17_ARB:
+ case GL_MODELVIEW18_ARB:
+ case GL_MODELVIEW19_ARB:
+ case GL_MODELVIEW20_ARB:
+ case GL_MODELVIEW21_ARB:
+ case GL_MODELVIEW22_ARB:
+ case GL_MODELVIEW23_ARB:
+ case GL_MODELVIEW24_ARB:
+ case GL_MODELVIEW25_ARB:
+ case GL_MODELVIEW26_ARB:
+ case GL_MODELVIEW27_ARB:
+ case GL_MODELVIEW28_ARB:
+ case GL_MODELVIEW29_ARB:
+ case GL_MODELVIEW30_ARB:
+ case GL_MODELVIEW31_ARB:
+ case GL_TRANSPOSE_CURRENT_MATRIX_ARB:
+ return 16;
+ case GL_FOG_COORDINATE_SOURCE:
+ case GL_COMPRESSED_TEXTURE_FORMATS:
+ case GL_MIN_PROGRAM_TEXEL_OFFSET:
+ case GL_MAX_PROGRAM_TEXEL_OFFSET:
+ case GL_RGBA_INTEGER_MODE_EXT:
+ return __glGetBooleanv_variable_size( e );
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetTexParameterfv_size(GLenum e)
+__glGetTexParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_TEXTURE_MAG_FILTER:
- case GL_TEXTURE_MIN_FILTER:
- case GL_TEXTURE_WRAP_S:
- case GL_TEXTURE_WRAP_T:
- case GL_TEXTURE_PRIORITY:
- case GL_TEXTURE_RESIDENT:
- case GL_TEXTURE_WRAP_R:
- case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
+ switch( e ) {
+ case GL_TEXTURE_MAG_FILTER:
+ case GL_TEXTURE_MIN_FILTER:
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ case GL_TEXTURE_PRIORITY:
+ case GL_TEXTURE_RESIDENT:
+ case GL_TEXTURE_WRAP_R:
+ case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
/* case GL_SHADOW_AMBIENT_SGIX:*/
- case GL_TEXTURE_MIN_LOD:
- case GL_TEXTURE_MAX_LOD:
- case GL_TEXTURE_BASE_LEVEL:
- case GL_TEXTURE_MAX_LEVEL:
- case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
- case GL_TEXTURE_LOD_BIAS_S_SGIX:
- case GL_TEXTURE_LOD_BIAS_T_SGIX:
- case GL_TEXTURE_LOD_BIAS_R_SGIX:
- case GL_GENERATE_MIPMAP:
+ case GL_TEXTURE_MIN_LOD:
+ case GL_TEXTURE_MAX_LOD:
+ case GL_TEXTURE_BASE_LEVEL:
+ case GL_TEXTURE_MAX_LEVEL:
+ case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
+ case GL_TEXTURE_LOD_BIAS_S_SGIX:
+ case GL_TEXTURE_LOD_BIAS_T_SGIX:
+ case GL_TEXTURE_LOD_BIAS_R_SGIX:
+ case GL_GENERATE_MIPMAP:
/* case GL_GENERATE_MIPMAP_SGIS:*/
- case GL_TEXTURE_COMPARE_SGIX:
- case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
- case GL_TEXTURE_MAX_CLAMP_S_SGIX:
- case GL_TEXTURE_MAX_CLAMP_T_SGIX:
- case GL_TEXTURE_MAX_CLAMP_R_SGIX:
- case GL_TEXTURE_MAX_ANISOTROPY_EXT:
- case GL_TEXTURE_LOD_BIAS:
+ case GL_TEXTURE_COMPARE_SGIX:
+ case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
+ case GL_TEXTURE_MAX_CLAMP_S_SGIX:
+ case GL_TEXTURE_MAX_CLAMP_T_SGIX:
+ case GL_TEXTURE_MAX_CLAMP_R_SGIX:
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ case GL_TEXTURE_LOD_BIAS:
/* case GL_TEXTURE_LOD_BIAS_EXT:*/
- case GL_TEXTURE_RANGE_LENGTH_APPLE:
- case GL_TEXTURE_STORAGE_HINT_APPLE:
- case GL_DEPTH_TEXTURE_MODE:
+ case GL_TEXTURE_RANGE_LENGTH_APPLE:
+ case GL_TEXTURE_STORAGE_HINT_APPLE:
+ case GL_DEPTH_TEXTURE_MODE:
/* case GL_DEPTH_TEXTURE_MODE_ARB:*/
- case GL_TEXTURE_COMPARE_MODE:
+ case GL_TEXTURE_COMPARE_MODE:
/* case GL_TEXTURE_COMPARE_MODE_ARB:*/
- case GL_TEXTURE_COMPARE_FUNC:
+ case GL_TEXTURE_COMPARE_FUNC:
/* case GL_TEXTURE_COMPARE_FUNC_ARB:*/
- case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
- return 1;
- case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
- case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
- return 2;
- case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
- return 3;
- case GL_TEXTURE_BORDER_COLOR:
- case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
- case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
- return 4;
- default:
- return 0;
+ case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
+ return 1;
+ case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
+ case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
+ return 2;
+ case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
+ return 3;
+ case GL_TEXTURE_BORDER_COLOR:
+ case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
+ case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetTexLevelParameterfv_size(GLenum e)
+__glGetTexLevelParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_TEXTURE_WIDTH:
- case GL_TEXTURE_HEIGHT:
- case GL_TEXTURE_COMPONENTS:
- case GL_TEXTURE_BORDER:
- case GL_TEXTURE_RED_SIZE:
+ switch( e ) {
+ case GL_TEXTURE_WIDTH:
+ case GL_TEXTURE_HEIGHT:
+ case GL_TEXTURE_COMPONENTS:
+ case GL_TEXTURE_BORDER:
+ case GL_TEXTURE_RED_SIZE:
/* case GL_TEXTURE_RED_SIZE_EXT:*/
- case GL_TEXTURE_GREEN_SIZE:
+ case GL_TEXTURE_GREEN_SIZE:
/* case GL_TEXTURE_GREEN_SIZE_EXT:*/
- case GL_TEXTURE_BLUE_SIZE:
+ case GL_TEXTURE_BLUE_SIZE:
/* case GL_TEXTURE_BLUE_SIZE_EXT:*/
- case GL_TEXTURE_ALPHA_SIZE:
+ case GL_TEXTURE_ALPHA_SIZE:
/* case GL_TEXTURE_ALPHA_SIZE_EXT:*/
- case GL_TEXTURE_LUMINANCE_SIZE:
+ case GL_TEXTURE_LUMINANCE_SIZE:
/* case GL_TEXTURE_LUMINANCE_SIZE_EXT:*/
- case GL_TEXTURE_INTENSITY_SIZE:
+ case GL_TEXTURE_INTENSITY_SIZE:
/* case GL_TEXTURE_INTENSITY_SIZE_EXT:*/
- case GL_TEXTURE_DEPTH:
- case GL_TEXTURE_INDEX_SIZE_EXT:
- case GL_TEXTURE_COMPRESSED_IMAGE_SIZE:
+ case GL_TEXTURE_DEPTH:
+ case GL_TEXTURE_INDEX_SIZE_EXT:
+ case GL_TEXTURE_COMPRESSED_IMAGE_SIZE:
/* case GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB:*/
- case GL_TEXTURE_COMPRESSED:
+ case GL_TEXTURE_COMPRESSED:
/* case GL_TEXTURE_COMPRESSED_ARB:*/
- case GL_TEXTURE_DEPTH_SIZE:
+ case GL_TEXTURE_DEPTH_SIZE:
/* case GL_TEXTURE_DEPTH_SIZE_ARB:*/
- case GL_TEXTURE_STENCIL_SIZE:
+ case GL_TEXTURE_STENCIL_SIZE:
/* case GL_TEXTURE_STENCIL_SIZE_EXT:*/
- return 1;
- default:
- return 0;
+ return 1;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetPointerv_size(GLenum e)
+__glGetPointerv_size( GLenum e )
{
- switch (e) {
- case GL_DEBUG_CALLBACK_FUNCTION_ARB:
- case GL_DEBUG_CALLBACK_USER_PARAM_ARB:
- return 1;
- default:
- return 0;
+ switch( e ) {
+ case GL_DEBUG_CALLBACK_FUNCTION_ARB:
+/* case GL_DEBUG_CALLBACK_FUNCTION:*/
+ case GL_DEBUG_CALLBACK_USER_PARAM_ARB:
+/* case GL_DEBUG_CALLBACK_USER_PARAM:*/
+ return 1;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glColorTableParameterfv_size(GLenum e)
+__glColorTableParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_COLOR_TABLE_SCALE:
- case GL_COLOR_TABLE_BIAS:
- return 4;
- default:
- return 0;
+ switch( e ) {
+ case GL_COLOR_TABLE_SCALE:
+ case GL_COLOR_TABLE_BIAS:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetColorTableParameterfv_size(GLenum e)
+__glGetColorTableParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_COLOR_TABLE_FORMAT:
+ switch( e ) {
+ case GL_COLOR_TABLE_FORMAT:
/* case GL_COLOR_TABLE_FORMAT_EXT:*/
- case GL_COLOR_TABLE_WIDTH:
+ case GL_COLOR_TABLE_WIDTH:
/* case GL_COLOR_TABLE_WIDTH_EXT:*/
- case GL_COLOR_TABLE_RED_SIZE:
+ case GL_COLOR_TABLE_RED_SIZE:
/* case GL_COLOR_TABLE_RED_SIZE_EXT:*/
- case GL_COLOR_TABLE_GREEN_SIZE:
+ case GL_COLOR_TABLE_GREEN_SIZE:
/* case GL_COLOR_TABLE_GREEN_SIZE_EXT:*/
- case GL_COLOR_TABLE_BLUE_SIZE:
+ case GL_COLOR_TABLE_BLUE_SIZE:
/* case GL_COLOR_TABLE_BLUE_SIZE_EXT:*/
- case GL_COLOR_TABLE_ALPHA_SIZE:
+ case GL_COLOR_TABLE_ALPHA_SIZE:
/* case GL_COLOR_TABLE_ALPHA_SIZE_EXT:*/
- case GL_COLOR_TABLE_LUMINANCE_SIZE:
+ case GL_COLOR_TABLE_LUMINANCE_SIZE:
/* case GL_COLOR_TABLE_LUMINANCE_SIZE_EXT:*/
- case GL_COLOR_TABLE_INTENSITY_SIZE:
+ case GL_COLOR_TABLE_INTENSITY_SIZE:
/* case GL_COLOR_TABLE_INTENSITY_SIZE_EXT:*/
- return 1;
- case GL_COLOR_TABLE_SCALE:
- case GL_COLOR_TABLE_BIAS:
- return 4;
- default:
- return 0;
+ return 1;
+ case GL_COLOR_TABLE_SCALE:
+ case GL_COLOR_TABLE_BIAS:
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glConvolutionParameterfv_size(GLenum e)
+__glConvolutionParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_CONVOLUTION_BORDER_MODE:
+ switch( e ) {
+ case GL_CONVOLUTION_BORDER_MODE:
/* case GL_CONVOLUTION_BORDER_MODE_EXT:*/
- return 1;
- case GL_CONVOLUTION_FILTER_SCALE:
+ return 1;
+ case GL_CONVOLUTION_FILTER_SCALE:
/* case GL_CONVOLUTION_FILTER_SCALE_EXT:*/
- case GL_CONVOLUTION_FILTER_BIAS:
+ case GL_CONVOLUTION_FILTER_BIAS:
/* case GL_CONVOLUTION_FILTER_BIAS_EXT:*/
- case GL_CONVOLUTION_BORDER_COLOR:
+ case GL_CONVOLUTION_BORDER_COLOR:
/* case GL_CONVOLUTION_BORDER_COLOR_HP:*/
- return 4;
- default:
- return 0;
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetConvolutionParameterfv_size(GLenum e)
+__glGetConvolutionParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_CONVOLUTION_BORDER_MODE:
+ switch( e ) {
+ case GL_CONVOLUTION_BORDER_MODE:
/* case GL_CONVOLUTION_BORDER_MODE_EXT:*/
- case GL_CONVOLUTION_FORMAT:
+ case GL_CONVOLUTION_FORMAT:
/* case GL_CONVOLUTION_FORMAT_EXT:*/
- case GL_CONVOLUTION_WIDTH:
+ case GL_CONVOLUTION_WIDTH:
/* case GL_CONVOLUTION_WIDTH_EXT:*/
- case GL_CONVOLUTION_HEIGHT:
+ case GL_CONVOLUTION_HEIGHT:
/* case GL_CONVOLUTION_HEIGHT_EXT:*/
- case GL_MAX_CONVOLUTION_WIDTH:
+ case GL_MAX_CONVOLUTION_WIDTH:
/* case GL_MAX_CONVOLUTION_WIDTH_EXT:*/
- case GL_MAX_CONVOLUTION_HEIGHT:
+ case GL_MAX_CONVOLUTION_HEIGHT:
/* case GL_MAX_CONVOLUTION_HEIGHT_EXT:*/
- return 1;
- case GL_CONVOLUTION_FILTER_SCALE:
+ return 1;
+ case GL_CONVOLUTION_FILTER_SCALE:
/* case GL_CONVOLUTION_FILTER_SCALE_EXT:*/
- case GL_CONVOLUTION_FILTER_BIAS:
+ case GL_CONVOLUTION_FILTER_BIAS:
/* case GL_CONVOLUTION_FILTER_BIAS_EXT:*/
- case GL_CONVOLUTION_BORDER_COLOR:
+ case GL_CONVOLUTION_BORDER_COLOR:
/* case GL_CONVOLUTION_BORDER_COLOR_HP:*/
- return 4;
- default:
- return 0;
+ return 4;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetHistogramParameterfv_size(GLenum e)
+__glGetHistogramParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_HISTOGRAM_WIDTH:
- case GL_HISTOGRAM_FORMAT:
- case GL_HISTOGRAM_RED_SIZE:
- case GL_HISTOGRAM_GREEN_SIZE:
- case GL_HISTOGRAM_BLUE_SIZE:
- case GL_HISTOGRAM_ALPHA_SIZE:
- case GL_HISTOGRAM_LUMINANCE_SIZE:
- case GL_HISTOGRAM_SINK:
- return 1;
- default:
- return 0;
+ switch( e ) {
+ case GL_HISTOGRAM_WIDTH:
+ case GL_HISTOGRAM_FORMAT:
+ case GL_HISTOGRAM_RED_SIZE:
+ case GL_HISTOGRAM_GREEN_SIZE:
+ case GL_HISTOGRAM_BLUE_SIZE:
+ case GL_HISTOGRAM_ALPHA_SIZE:
+ case GL_HISTOGRAM_LUMINANCE_SIZE:
+ case GL_HISTOGRAM_SINK:
+ return 1;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetMinmaxParameterfv_size(GLenum e)
+__glGetMinmaxParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_MINMAX_FORMAT:
- case GL_MINMAX_SINK:
- return 1;
- default:
- return 0;
+ switch( e ) {
+ case GL_MINMAX_FORMAT:
+ case GL_MINMAX_SINK:
+ return 1;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glPointParameterfv_size(GLenum e)
+__glPointParameterfv_size( GLenum e )
{
- switch (e) {
- case GL_POINT_SIZE_MIN:
+ 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:
/* case GL_POINT_SIZE_MAX_ARB:*/
/* case GL_POINT_SIZE_MAX_SGIS:*/
- case GL_POINT_FADE_THRESHOLD_SIZE:
+ 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_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;
+ return 3;
+ default: return 0;
}
}
_X_INTERNAL PURE FASTCALL GLint
-__glGetQueryObjectiv_size(GLenum e)
+__glGetQueryObjectiv_size( GLenum e )
{
- switch (e) {
- case GL_QUERY_RESULT_ARB:
- case GL_QUERY_RESULT_AVAILABLE_ARB:
- return 1;
- default:
- return 0;
+ 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)
+__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;
+ 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)
+__glGetVertexAttribdv_size( GLenum e )
{
- switch (e) {
- case GL_PROGRAM_LENGTH_ARB:
- case GL_PROGRAM_BINDING_ARB:
- case GL_PROGRAM_ALU_INSTRUCTIONS_ARB:
- case GL_PROGRAM_TEX_INSTRUCTIONS_ARB:
- case GL_PROGRAM_TEX_INDIRECTIONS_ARB:
- case GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB:
- case GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB:
- case GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB:
- case GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB:
- case GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB:
- case GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB:
- case GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB:
- case GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB:
- case GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB:
- case GL_PROGRAM_FORMAT_ARB:
- case GL_PROGRAM_INSTRUCTIONS_ARB:
- case GL_MAX_PROGRAM_INSTRUCTIONS_ARB:
- case GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB:
- case GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB:
- case GL_PROGRAM_TEMPORARIES_ARB:
- case GL_MAX_PROGRAM_TEMPORARIES_ARB:
- case GL_PROGRAM_NATIVE_TEMPORARIES_ARB:
- case GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB:
- case GL_PROGRAM_PARAMETERS_ARB:
- case GL_MAX_PROGRAM_PARAMETERS_ARB:
- case GL_PROGRAM_NATIVE_PARAMETERS_ARB:
- case GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB:
- case GL_PROGRAM_ATTRIBS_ARB:
- case GL_MAX_PROGRAM_ATTRIBS_ARB:
- case GL_PROGRAM_NATIVE_ATTRIBS_ARB:
- case GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB:
- case GL_PROGRAM_ADDRESS_REGISTERS_ARB:
- case GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB:
- case GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB:
- case GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB:
- case GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB:
- case GL_MAX_PROGRAM_ENV_PARAMETERS_ARB:
- case GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB:
- case GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV:
- case GL_MAX_PROGRAM_CALL_DEPTH_NV:
- case GL_MAX_PROGRAM_IF_DEPTH_NV:
- case GL_MAX_PROGRAM_LOOP_DEPTH_NV:
- case GL_MAX_PROGRAM_LOOP_COUNT_NV:
- return 1;
- default:
- return 0;
+ 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
-__glGetFramebufferAttachmentParameteriv_size(GLenum e)
+__glGetProgramivARB_size( GLenum e )
{
- switch (e) {
- 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:
+ switch( e ) {
+ case GL_PROGRAM_LENGTH_ARB:
+ case GL_PROGRAM_BINDING_ARB:
+ case GL_PROGRAM_ALU_INSTRUCTIONS_ARB:
+ case GL_PROGRAM_TEX_INSTRUCTIONS_ARB:
+ case GL_PROGRAM_TEX_INDIRECTIONS_ARB:
+ case GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB:
+ case GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB:
+ case GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB:
+ case GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB:
+ case GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB:
+ case GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB:
+ case GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB:
+ case GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB:
+ case GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB:
+ case GL_PROGRAM_FORMAT_ARB:
+ case GL_PROGRAM_INSTRUCTIONS_ARB:
+ case GL_MAX_PROGRAM_INSTRUCTIONS_ARB:
+ case GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB:
+ case GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB:
+ case GL_PROGRAM_TEMPORARIES_ARB:
+ case GL_MAX_PROGRAM_TEMPORARIES_ARB:
+ case GL_PROGRAM_NATIVE_TEMPORARIES_ARB:
+ case GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB:
+ case GL_PROGRAM_PARAMETERS_ARB:
+ case GL_MAX_PROGRAM_PARAMETERS_ARB:
+ case GL_PROGRAM_NATIVE_PARAMETERS_ARB:
+ case GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB:
+ case GL_PROGRAM_ATTRIBS_ARB:
+ case GL_MAX_PROGRAM_ATTRIBS_ARB:
+ case GL_PROGRAM_NATIVE_ATTRIBS_ARB:
+ case GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB:
+ case GL_PROGRAM_ADDRESS_REGISTERS_ARB:
+ case GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB:
+ case GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB:
+ case GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB:
+ case GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB:
+ case GL_MAX_PROGRAM_ENV_PARAMETERS_ARB:
+ case GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB:
+ case GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV:
+ case GL_MAX_PROGRAM_CALL_DEPTH_NV:
+ case GL_MAX_PROGRAM_IF_DEPTH_NV:
+ case GL_MAX_PROGRAM_LOOP_DEPTH_NV:
+ case GL_MAX_PROGRAM_LOOP_COUNT_NV:
+ return 1;
+ default: return 0;
+ }
+}
+
+_X_INTERNAL PURE FASTCALL GLint
+__glGetFramebufferAttachmentParameteriv_size( GLenum e )
+{
+ switch( e ) {
+ 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:
/* case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT:*/
- case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:
+ 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:
/* case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT:*/
- case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT:
- return 1;
- default:
- return 0;
+ case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT:
+ return 1;
+ 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;
}
}
-ALIAS(Fogiv, Fogfv)
- ALIAS(Lightiv, Lightfv)
- ALIAS(LightModeliv, LightModelfv)
- ALIAS(Materialiv, Materialfv)
- ALIAS(TexParameteriv, TexParameterfv)
- ALIAS(TexEnviv, TexEnvfv)
- ALIAS(TexGenfv, TexGendv)
- ALIAS(TexGeniv, TexGendv)
- ALIAS(Map1f, Map1d)
- ALIAS(Map2f, Map2d)
- ALIAS(GetDoublev, GetBooleanv)
- ALIAS(GetFloatv, GetBooleanv)
- ALIAS(GetIntegerv, GetBooleanv)
- ALIAS(GetLightfv, Lightfv)
- ALIAS(GetLightiv, Lightfv)
- ALIAS(GetMaterialfv, Materialfv)
- ALIAS(GetMaterialiv, Materialfv)
- ALIAS(GetTexEnvfv, TexEnvfv)
- ALIAS(GetTexEnviv, TexEnvfv)
- ALIAS(GetTexGendv, TexGendv)
- ALIAS(GetTexGenfv, TexGendv)
- ALIAS(GetTexGeniv, TexGendv)
- ALIAS(GetTexParameteriv, GetTexParameterfv)
- ALIAS(GetTexLevelParameteriv, GetTexLevelParameterfv)
- ALIAS(ColorTableParameteriv, ColorTableParameterfv)
- ALIAS(GetColorTableParameteriv, GetColorTableParameterfv)
- ALIAS(ConvolutionParameteriv, ConvolutionParameterfv)
- ALIAS(GetConvolutionParameteriv, GetConvolutionParameterfv)
- ALIAS(GetHistogramParameteriv, GetHistogramParameterfv)
- ALIAS(GetMinmaxParameteriv, GetMinmaxParameterfv)
- ALIAS(PointParameteriv, PointParameterfv)
- ALIAS(GetQueryObjectuiv, GetQueryObjectiv)
-#undef PURE
-#undef FASTCALL
+_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;
+ }
+}
+
+ALIAS( Fogiv, Fogfv )
+ALIAS( Lightiv, Lightfv )
+ALIAS( LightModeliv, LightModelfv )
+ALIAS( Materialiv, Materialfv )
+ALIAS( TexParameteriv, TexParameterfv )
+ALIAS( TexEnviv, TexEnvfv )
+ALIAS( TexGenfv, TexGendv )
+ALIAS( TexGeniv, TexGendv )
+ALIAS( Map1f, Map1d )
+ALIAS( Map2f, Map2d )
+ALIAS( GetDoublev, GetBooleanv )
+ALIAS( GetFloatv, GetBooleanv )
+ALIAS( GetIntegerv, GetBooleanv )
+ALIAS( GetLightfv, Lightfv )
+ALIAS( GetLightiv, Lightfv )
+ALIAS( GetMaterialfv, Materialfv )
+ALIAS( GetMaterialiv, Materialfv )
+ALIAS( GetTexEnvfv, TexEnvfv )
+ALIAS( GetTexEnviv, TexEnvfv )
+ALIAS( GetTexGendv, TexGendv )
+ALIAS( GetTexGenfv, TexGendv )
+ALIAS( GetTexGeniv, TexGendv )
+ALIAS( GetTexParameteriv, GetTexParameterfv )
+ALIAS( GetTexLevelParameteriv, GetTexLevelParameterfv )
+ALIAS( ColorTableParameteriv, ColorTableParameterfv )
+ALIAS( GetColorTableParameteriv, GetColorTableParameterfv )
+ALIAS( ConvolutionParameteriv, ConvolutionParameterfv )
+ALIAS( GetConvolutionParameteriv, GetConvolutionParameterfv )
+ALIAS( GetHistogramParameteriv, GetHistogramParameterfv )
+ALIAS( GetMinmaxParameteriv, GetMinmaxParameterfv )
+ALIAS( PointParameteriv, PointParameterfv )
+ALIAS( GetQueryObjectuiv, GetQueryObjectiv )
+ALIAS( GetVertexAttribfv, GetVertexAttribdv )
+ALIAS( GetVertexAttribiv, GetVertexAttribdv )
+ALIAS( GetVertexAttribfvNV, GetVertexAttribdvNV )
+ALIAS( GetVertexAttribivNV, GetVertexAttribdvNV )
+
+# undef PURE
+# undef FASTCALL
diff --git a/xorg-server/glx/indirect_size_get.h b/xorg-server/glx/indirect_size_get.h
index 9b6203669..8c2027653 100644
--- a/xorg-server/glx/indirect_size_get.h
+++ b/xorg-server/glx/indirect_size_get.h
@@ -26,7 +26,7 @@
*/
#if !defined( _INDIRECT_SIZE_GET_H_ )
-#define _INDIRECT_SIZE_GET_H_
+# define _INDIRECT_SIZE_GET_H_
/**
* \file
@@ -38,18 +38,38 @@
#include <X11/Xfuncproto.h>
-#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
-#define PURE __attribute__((pure))
-#else
-#define PURE
-#endif
+# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define PURE __attribute__((pure))
+# else
+# define PURE
+# endif
-#if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
-#define FASTCALL __attribute__((fastcall))
-#else
-#define FASTCALL
-#endif
+# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
+# define FASTCALL __attribute__((fastcall))
+# else
+# define FASTCALL
+# endif
+extern _X_INTERNAL PURE FASTCALL GLint __glCallLists_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glFogfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glFogiv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glLightfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glLightiv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glLightModelfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glLightModeliv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glMaterialfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glMaterialiv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glTexParameterfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glTexParameteriv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glTexEnvfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glTexEnviv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glTexGendv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glTexGenfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glTexGeniv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glMap1d_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glMap1f_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glMap2d_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glMap2f_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetBooleanv_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetDoublev_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetFloatv_size(GLenum);
@@ -68,26 +88,34 @@ 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
-__glGetColorTableParameteriv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint
-__glGetConvolutionParameterfv_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint
-__glGetConvolutionParameteriv_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 __glGetColorTableParameterfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetColorTableParameteriv_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 __glGetConvolutionParameterfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetConvolutionParameteriv_size(GLenum);
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 __glPointParameterfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glPointParameteriv_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 __glGetVertexAttribdv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribfv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetVertexAttribiv_size(GLenum);
extern _X_INTERNAL PURE FASTCALL GLint __glGetProgramivARB_size(GLenum);
-extern _X_INTERNAL PURE FASTCALL GLint
-__glGetFramebufferAttachmentParameteriv_size(GLenum);
+extern _X_INTERNAL PURE FASTCALL GLint __glGetFramebufferAttachmentParameteriv_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);
-#undef PURE
-#undef FASTCALL
+# undef PURE
+# undef FASTCALL
-#endif /* !defined( _INDIRECT_SIZE_GET_H_ ) */
+#endif /* !defined( _INDIRECT_SIZE_GET_H_ ) */
diff --git a/xorg-server/glx/indirect_table.c b/xorg-server/glx/indirect_table.c
index 33e3d6a22..594b9d212 100644
--- a/xorg-server/glx/indirect_table.c
+++ b/xorg-server/glx/indirect_table.c
@@ -25,6 +25,10 @@
* SOFTWARE.
*/
+#ifndef HAVE_DIX_CONFIG_H
+#include "glheader.h"
+#endif
+
#include <inttypes.h>
#include "glxserver.h"
#include "glxext.h"
@@ -78,8 +82,7 @@ static const void *Single_function_table[112][2] = {
/* [ 1] = 1 */ {__glXDisp_Render, __glXDispSwap_Render},
/* [ 2] = 2 */ {__glXDisp_RenderLarge, __glXDispSwap_RenderLarge},
/* [ 3] = 3 */ {__glXDisp_CreateContext, __glXDispSwap_CreateContext},
- /* [ 4] = 4 */ {__glXDisp_DestroyContext,
- __glXDispSwap_DestroyContext},
+ /* [ 4] = 4 */ {__glXDisp_DestroyContext, __glXDispSwap_DestroyContext},
/* [ 5] = 5 */ {__glXDisp_MakeCurrent, __glXDispSwap_MakeCurrent},
/* [ 6] = 6 */ {__glXDisp_IsDirect, __glXDispSwap_IsDirect},
/* [ 7] = 7 */ {__glXDisp_QueryVersion, __glXDispSwap_QueryVersion},
@@ -88,43 +91,29 @@ static const void *Single_function_table[112][2] = {
/* [ 10] = 10 */ {__glXDisp_CopyContext, __glXDispSwap_CopyContext},
/* [ 11] = 11 */ {__glXDisp_SwapBuffers, __glXDispSwap_SwapBuffers},
/* [ 12] = 12 */ {__glXDisp_UseXFont, __glXDispSwap_UseXFont},
- /* [ 13] = 13 */ {__glXDisp_CreateGLXPixmap,
- __glXDispSwap_CreateGLXPixmap},
- /* [ 14] = 14 */ {__glXDisp_GetVisualConfigs,
- __glXDispSwap_GetVisualConfigs},
- /* [ 15] = 15 */ {__glXDisp_DestroyGLXPixmap,
- __glXDispSwap_DestroyGLXPixmap},
+ /* [ 13] = 13 */ {__glXDisp_CreateGLXPixmap, __glXDispSwap_CreateGLXPixmap},
+ /* [ 14] = 14 */ {__glXDisp_GetVisualConfigs, __glXDispSwap_GetVisualConfigs},
+ /* [ 15] = 15 */ {__glXDisp_DestroyGLXPixmap, __glXDispSwap_DestroyGLXPixmap},
/* [ 16] = 16 */ {__glXDisp_VendorPrivate, __glXDispSwap_VendorPrivate},
- /* [ 17] = 17 */ {__glXDisp_VendorPrivateWithReply,
- __glXDispSwap_VendorPrivateWithReply},
- /* [ 18] = 18 */ {__glXDisp_QueryExtensionsString,
- __glXDispSwap_QueryExtensionsString},
- /* [ 19] = 19 */ {__glXDisp_QueryServerString,
- __glXDispSwap_QueryServerString},
+ /* [ 17] = 17 */ {__glXDisp_VendorPrivateWithReply, __glXDispSwap_VendorPrivateWithReply},
+ /* [ 18] = 18 */ {__glXDisp_QueryExtensionsString, __glXDispSwap_QueryExtensionsString},
+ /* [ 19] = 19 */ {__glXDisp_QueryServerString, __glXDispSwap_QueryServerString},
/* [ 20] = 20 */ {__glXDisp_ClientInfo, __glXDispSwap_ClientInfo},
/* [ 21] = 21 */ {__glXDisp_GetFBConfigs, __glXDispSwap_GetFBConfigs},
/* [ 22] = 22 */ {__glXDisp_CreatePixmap, __glXDispSwap_CreatePixmap},
/* [ 23] = 23 */ {__glXDisp_DestroyPixmap, __glXDispSwap_DestroyPixmap},
- /* [ 24] = 24 */ {__glXDisp_CreateNewContext,
- __glXDispSwap_CreateNewContext},
+ /* [ 24] = 24 */ {__glXDisp_CreateNewContext, __glXDispSwap_CreateNewContext},
/* [ 25] = 25 */ {__glXDisp_QueryContext, __glXDispSwap_QueryContext},
- /* [ 26] = 26 */ {__glXDisp_MakeContextCurrent,
- __glXDispSwap_MakeContextCurrent},
+ /* [ 26] = 26 */ {__glXDisp_MakeContextCurrent, __glXDispSwap_MakeContextCurrent},
/* [ 27] = 27 */ {__glXDisp_CreatePbuffer, __glXDispSwap_CreatePbuffer},
- /* [ 28] = 28 */ {__glXDisp_DestroyPbuffer,
- __glXDispSwap_DestroyPbuffer},
- /* [ 29] = 29 */ {__glXDisp_GetDrawableAttributes,
- __glXDispSwap_GetDrawableAttributes},
- /* [ 30] = 30 */ {__glXDisp_ChangeDrawableAttributes,
- __glXDispSwap_ChangeDrawableAttributes},
+ /* [ 28] = 28 */ {__glXDisp_DestroyPbuffer, __glXDispSwap_DestroyPbuffer},
+ /* [ 29] = 29 */ {__glXDisp_GetDrawableAttributes, __glXDispSwap_GetDrawableAttributes},
+ /* [ 30] = 30 */ {__glXDisp_ChangeDrawableAttributes, __glXDispSwap_ChangeDrawableAttributes},
/* [ 31] = 31 */ {__glXDisp_CreateWindow, __glXDispSwap_CreateWindow},
/* [ 32] = 32 */ {__glXDisp_DestroyWindow, __glXDispSwap_DestroyWindow},
- /* [ 33] = 33 */ {__glXDisp_SetClientInfoARB,
- __glXDispSwap_SetClientInfoARB},
- /* [ 34] = 34 */ {__glXDisp_CreateContextAttribsARB,
- __glXDispSwap_CreateContextAttribsARB},
- /* [ 35] = 35 */ {__glXDisp_SetClientInfo2ARB,
- __glXDispSwap_SetClientInfo2ARB},
+ /* [ 33] = 33 */ {NULL, NULL},
+ /* [ 34] = 34 */ {NULL, NULL},
+ /* [ 35] = 35 */ {NULL, NULL},
/* [ 36] = 36 */ {NULL, NULL},
/* [ 37] = 37 */ {NULL, NULL},
/* [ 38] = 38 */ {NULL, NULL},
@@ -138,8 +127,7 @@ static const void *Single_function_table[112][2] = {
/* [ 46] = 102 */ {__glXDisp_EndList, __glXDispSwap_EndList},
/* [ 47] = 103 */ {__glXDisp_DeleteLists, __glXDispSwap_DeleteLists},
/* [ 48] = 104 */ {__glXDisp_GenLists, __glXDispSwap_GenLists},
- /* [ 49] = 105 */ {__glXDisp_FeedbackBuffer,
- __glXDispSwap_FeedbackBuffer},
+ /* [ 49] = 105 */ {__glXDisp_FeedbackBuffer, __glXDispSwap_FeedbackBuffer},
/* [ 50] = 106 */ {__glXDisp_SelectBuffer, __glXDispSwap_SelectBuffer},
/* [ 51] = 107 */ {__glXDisp_RenderMode, __glXDispSwap_RenderMode},
/* [ 52] = 108 */ {__glXDisp_Finish, __glXDispSwap_Finish},
@@ -160,12 +148,9 @@ static const void *Single_function_table[112][2] = {
/* [ 67] = 123 */ {__glXDisp_GetMaterialfv, __glXDispSwap_GetMaterialfv},
/* [ 68] = 124 */ {__glXDisp_GetMaterialiv, __glXDispSwap_GetMaterialiv},
/* [ 69] = 125 */ {__glXDisp_GetPixelMapfv, __glXDispSwap_GetPixelMapfv},
- /* [ 70] = 126 */ {__glXDisp_GetPixelMapuiv,
- __glXDispSwap_GetPixelMapuiv},
- /* [ 71] = 127 */ {__glXDisp_GetPixelMapusv,
- __glXDispSwap_GetPixelMapusv},
- /* [ 72] = 128 */ {__glXDisp_GetPolygonStipple,
- __glXDispSwap_GetPolygonStipple},
+ /* [ 70] = 126 */ {__glXDisp_GetPixelMapuiv, __glXDispSwap_GetPixelMapuiv},
+ /* [ 71] = 127 */ {__glXDisp_GetPixelMapusv, __glXDispSwap_GetPixelMapusv},
+ /* [ 72] = 128 */ {__glXDisp_GetPolygonStipple, __glXDispSwap_GetPolygonStipple},
/* [ 73] = 129 */ {__glXDisp_GetString, __glXDispSwap_GetString},
/* [ 74] = 130 */ {__glXDisp_GetTexEnvfv, __glXDispSwap_GetTexEnvfv},
/* [ 75] = 131 */ {__glXDisp_GetTexEnviv, __glXDispSwap_GetTexEnviv},
@@ -173,56 +158,37 @@ static const void *Single_function_table[112][2] = {
/* [ 77] = 133 */ {__glXDisp_GetTexGenfv, __glXDispSwap_GetTexGenfv},
/* [ 78] = 134 */ {__glXDisp_GetTexGeniv, __glXDispSwap_GetTexGeniv},
/* [ 79] = 135 */ {__glXDisp_GetTexImage, __glXDispSwap_GetTexImage},
- /* [ 80] = 136 */ {__glXDisp_GetTexParameterfv,
- __glXDispSwap_GetTexParameterfv},
- /* [ 81] = 137 */ {__glXDisp_GetTexParameteriv,
- __glXDispSwap_GetTexParameteriv},
- /* [ 82] = 138 */ {__glXDisp_GetTexLevelParameterfv,
- __glXDispSwap_GetTexLevelParameterfv},
- /* [ 83] = 139 */ {__glXDisp_GetTexLevelParameteriv,
- __glXDispSwap_GetTexLevelParameteriv},
+ /* [ 80] = 136 */ {__glXDisp_GetTexParameterfv, __glXDispSwap_GetTexParameterfv},
+ /* [ 81] = 137 */ {__glXDisp_GetTexParameteriv, __glXDispSwap_GetTexParameteriv},
+ /* [ 82] = 138 */ {__glXDisp_GetTexLevelParameterfv, __glXDispSwap_GetTexLevelParameterfv},
+ /* [ 83] = 139 */ {__glXDisp_GetTexLevelParameteriv, __glXDispSwap_GetTexLevelParameteriv},
/* [ 84] = 140 */ {__glXDisp_IsEnabled, __glXDispSwap_IsEnabled},
/* [ 85] = 141 */ {__glXDisp_IsList, __glXDispSwap_IsList},
/* [ 86] = 142 */ {__glXDisp_Flush, __glXDispSwap_Flush},
- /* [ 87] = 143 */ {__glXDisp_AreTexturesResident,
- __glXDispSwap_AreTexturesResident},
- /* [ 88] = 144 */ {__glXDisp_DeleteTextures,
- __glXDispSwap_DeleteTextures},
+ /* [ 87] = 143 */ {__glXDisp_AreTexturesResident, __glXDispSwap_AreTexturesResident},
+ /* [ 88] = 144 */ {__glXDisp_DeleteTextures, __glXDispSwap_DeleteTextures},
/* [ 89] = 145 */ {__glXDisp_GenTextures, __glXDispSwap_GenTextures},
/* [ 90] = 146 */ {__glXDisp_IsTexture, __glXDispSwap_IsTexture},
/* [ 91] = 147 */ {__glXDisp_GetColorTable, __glXDispSwap_GetColorTable},
- /* [ 92] = 148 */ {__glXDisp_GetColorTableParameterfv,
- __glXDispSwap_GetColorTableParameterfv},
- /* [ 93] = 149 */ {__glXDisp_GetColorTableParameteriv,
- __glXDispSwap_GetColorTableParameteriv},
- /* [ 94] = 150 */ {__glXDisp_GetConvolutionFilter,
- __glXDispSwap_GetConvolutionFilter},
- /* [ 95] = 151 */ {__glXDisp_GetConvolutionParameterfv,
- __glXDispSwap_GetConvolutionParameterfv},
- /* [ 96] = 152 */ {__glXDisp_GetConvolutionParameteriv,
- __glXDispSwap_GetConvolutionParameteriv},
- /* [ 97] = 153 */ {__glXDisp_GetSeparableFilter,
- __glXDispSwap_GetSeparableFilter},
+ /* [ 92] = 148 */ {__glXDisp_GetColorTableParameterfv, __glXDispSwap_GetColorTableParameterfv},
+ /* [ 93] = 149 */ {__glXDisp_GetColorTableParameteriv, __glXDispSwap_GetColorTableParameteriv},
+ /* [ 94] = 150 */ {__glXDisp_GetConvolutionFilter, __glXDispSwap_GetConvolutionFilter},
+ /* [ 95] = 151 */ {__glXDisp_GetConvolutionParameterfv, __glXDispSwap_GetConvolutionParameterfv},
+ /* [ 96] = 152 */ {__glXDisp_GetConvolutionParameteriv, __glXDispSwap_GetConvolutionParameteriv},
+ /* [ 97] = 153 */ {__glXDisp_GetSeparableFilter, __glXDispSwap_GetSeparableFilter},
/* [ 98] = 154 */ {__glXDisp_GetHistogram, __glXDispSwap_GetHistogram},
- /* [ 99] = 155 */ {__glXDisp_GetHistogramParameterfv,
- __glXDispSwap_GetHistogramParameterfv},
- /* [ 100] = 156 */ {__glXDisp_GetHistogramParameteriv,
- __glXDispSwap_GetHistogramParameteriv},
+ /* [ 99] = 155 */ {__glXDisp_GetHistogramParameterfv, __glXDispSwap_GetHistogramParameterfv},
+ /* [ 100] = 156 */ {__glXDisp_GetHistogramParameteriv, __glXDispSwap_GetHistogramParameteriv},
/* [ 101] = 157 */ {__glXDisp_GetMinmax, __glXDispSwap_GetMinmax},
- /* [ 102] = 158 */ {__glXDisp_GetMinmaxParameterfv,
- __glXDispSwap_GetMinmaxParameterfv},
- /* [ 103] = 159 */ {__glXDisp_GetMinmaxParameteriv,
- __glXDispSwap_GetMinmaxParameteriv},
- /* [ 104] = 160 */ {__glXDisp_GetCompressedTexImage,
- __glXDispSwap_GetCompressedTexImage},
+ /* [ 102] = 158 */ {__glXDisp_GetMinmaxParameterfv, __glXDispSwap_GetMinmaxParameterfv},
+ /* [ 103] = 159 */ {__glXDisp_GetMinmaxParameteriv, __glXDispSwap_GetMinmaxParameteriv},
+ /* [ 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},
+ /* [ 109] = 165 */ {__glXDisp_GetQueryObjectiv, __glXDispSwap_GetQueryObjectiv},
+ /* [ 110] = 166 */ {__glXDisp_GetQueryObjectuiv, __glXDispSwap_GetQueryObjectuiv},
/* [ 111] = 167 */ {NULL, NULL},
};
@@ -474,16 +440,13 @@ static const void *Render_function_table[408][2] = {
/* [ 99] = 99 */ {__glXDisp_Materialiv, __glXDispSwap_Materialiv},
/* [ 100] = 100 */ {__glXDisp_PointSize, __glXDispSwap_PointSize},
/* [ 101] = 101 */ {__glXDisp_PolygonMode, __glXDispSwap_PolygonMode},
- /* [ 102] = 102 */ {__glXDisp_PolygonStipple,
- __glXDispSwap_PolygonStipple},
+ /* [ 102] = 102 */ {__glXDisp_PolygonStipple, __glXDispSwap_PolygonStipple},
/* [ 103] = 103 */ {__glXDisp_Scissor, __glXDispSwap_Scissor},
/* [ 104] = 104 */ {__glXDisp_ShadeModel, __glXDispSwap_ShadeModel},
/* [ 105] = 105 */ {__glXDisp_TexParameterf, __glXDispSwap_TexParameterf},
- /* [ 106] = 106 */ {__glXDisp_TexParameterfv,
- __glXDispSwap_TexParameterfv},
+ /* [ 106] = 106 */ {__glXDisp_TexParameterfv, __glXDispSwap_TexParameterfv},
/* [ 107] = 107 */ {__glXDisp_TexParameteri, __glXDispSwap_TexParameteri},
- /* [ 108] = 108 */ {__glXDisp_TexParameteriv,
- __glXDispSwap_TexParameteriv},
+ /* [ 108] = 108 */ {__glXDisp_TexParameteriv, __glXDispSwap_TexParameteriv},
/* [ 109] = 109 */ {__glXDisp_TexImage1D, __glXDispSwap_TexImage1D},
/* [ 110] = 110 */ {__glXDisp_TexImage2D, __glXDispSwap_TexImage2D},
/* [ 111] = 111 */ {__glXDisp_TexEnvf, __glXDispSwap_TexEnvf},
@@ -541,10 +504,8 @@ static const void *Render_function_table[408][2] = {
/* [ 163] = 163 */ {__glXDisp_StencilOp, __glXDispSwap_StencilOp},
/* [ 164] = 164 */ {__glXDisp_DepthFunc, __glXDispSwap_DepthFunc},
/* [ 165] = 165 */ {__glXDisp_PixelZoom, __glXDispSwap_PixelZoom},
- /* [ 166] = 166 */ {__glXDisp_PixelTransferf,
- __glXDispSwap_PixelTransferf},
- /* [ 167] = 167 */ {__glXDisp_PixelTransferi,
- __glXDispSwap_PixelTransferi},
+ /* [ 166] = 166 */ {__glXDisp_PixelTransferf, __glXDispSwap_PixelTransferf},
+ /* [ 167] = 167 */ {__glXDisp_PixelTransferi, __glXDispSwap_PixelTransferi},
/* [ 168] = 168 */ {__glXDisp_PixelMapfv, __glXDispSwap_PixelMapfv},
/* [ 169] = 169 */ {__glXDisp_PixelMapuiv, __glXDispSwap_PixelMapuiv},
/* [ 170] = 170 */ {__glXDisp_PixelMapusv, __glXDispSwap_PixelMapusv},
@@ -573,53 +534,30 @@ static const void *Render_function_table[408][2] = {
/* [ 193] = 193 */ {__glXDisp_DrawArrays, __glXDispSwap_DrawArrays},
/* [ 194] = 194 */ {__glXDisp_Indexubv, __glXDispSwap_Indexubv},
/* [ 195] = 195 */ {__glXDisp_ColorSubTable, __glXDispSwap_ColorSubTable},
- /* [ 196] = 196 */ {__glXDisp_CopyColorSubTable,
- __glXDispSwap_CopyColorSubTable},
+ /* [ 196] = 196 */ {__glXDisp_CopyColorSubTable, __glXDispSwap_CopyColorSubTable},
/* [ 197] = 197 */ {__glXDisp_ActiveTexture, __glXDispSwap_ActiveTexture},
- /* [ 198] = 198 */ {__glXDisp_MultiTexCoord1dv,
- __glXDispSwap_MultiTexCoord1dv},
- /* [ 199] = 199 */ {__glXDisp_MultiTexCoord1fvARB,
- __glXDispSwap_MultiTexCoord1fvARB},
- /* [ 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_MultiTexCoord2iv,
- __glXDispSwap_MultiTexCoord2iv},
- /* [ 205] = 205 */ {__glXDisp_MultiTexCoord2sv,
- __glXDispSwap_MultiTexCoord2sv},
- /* [ 206] = 206 */ {__glXDisp_MultiTexCoord3dv,
- __glXDispSwap_MultiTexCoord3dv},
- /* [ 207] = 207 */ {__glXDisp_MultiTexCoord3fvARB,
- __glXDispSwap_MultiTexCoord3fvARB},
- /* [ 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_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},
+ /* [ 198] = 198 */ {__glXDisp_MultiTexCoord1dv, __glXDispSwap_MultiTexCoord1dv},
+ /* [ 199] = 199 */ {__glXDisp_MultiTexCoord1fvARB, __glXDispSwap_MultiTexCoord1fvARB},
+ /* [ 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_MultiTexCoord2iv, __glXDispSwap_MultiTexCoord2iv},
+ /* [ 205] = 205 */ {__glXDisp_MultiTexCoord2sv, __glXDispSwap_MultiTexCoord2sv},
+ /* [ 206] = 206 */ {__glXDisp_MultiTexCoord3dv, __glXDispSwap_MultiTexCoord3dv},
+ /* [ 207] = 207 */ {__glXDisp_MultiTexCoord3fvARB, __glXDispSwap_MultiTexCoord3fvARB},
+ /* [ 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_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},
@@ -629,31 +567,26 @@ static const void *Render_function_table[408][2] = {
/* [ 226] = 226 */ {NULL, NULL},
/* [ 227] = 227 */ {NULL, NULL},
/* [ 228] = 228 */ {NULL, NULL},
- /* [ 229] = 229 */ {__glXDisp_SampleCoverage,
- __glXDispSwap_SampleCoverage},
+ /* [ 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_FramebufferTextureLayer,
- __glXDispSwap_FramebufferTextureLayer},
+ /* [ 235] = 235 */ {__glXDisp_BindRenderbuffer, __glXDispSwap_BindRenderbuffer},
+ /* [ 236] = 236 */ {__glXDisp_BindFramebuffer, __glXDispSwap_BindFramebuffer},
+ /* [ 237] = 237 */ {__glXDisp_FramebufferTextureLayer, __glXDispSwap_FramebufferTextureLayer},
/* [ 238] = 238 */ {NULL, NULL},
/* [ 239] = 239 */ {NULL, NULL},
- /* [ 240] = 2048 */ {NULL, NULL},
- /* [ 241] = 2049 */ {NULL, NULL},
+ /* [ 240] = 2048 */ {__glXDisp_SampleMaskSGIS, __glXDispSwap_SampleMaskSGIS},
+ /* [ 241] = 2049 */ {__glXDisp_SamplePatternSGIS, __glXDispSwap_SamplePatternSGIS},
/* [ 242] = 2050 */ {NULL, NULL},
/* [ 243] = 2051 */ {NULL, NULL},
/* [ 244] = 2052 */ {NULL, NULL},
/* [ 245] = 2053 */ {__glXDisp_ColorTable, __glXDispSwap_ColorTable},
- /* [ 246] = 2054 */ {__glXDisp_ColorTableParameterfv,
- __glXDispSwap_ColorTableParameterfv},
- /* [ 247] = 2055 */ {__glXDisp_ColorTableParameteriv,
- __glXDispSwap_ColorTableParameteriv},
- /* [ 248] = 2056 */ {__glXDisp_CopyColorTable,
- __glXDispSwap_CopyColorTable},
+ /* [ 246] = 2054 */ {__glXDisp_ColorTableParameterfv, __glXDispSwap_ColorTableParameterfv},
+ /* [ 247] = 2055 */ {__glXDisp_ColorTableParameteriv, __glXDispSwap_ColorTableParameteriv},
+ /* [ 248] = 2056 */ {__glXDisp_CopyColorTable, __glXDispSwap_CopyColorTable},
/* [ 249] = 2057 */ {NULL, NULL},
/* [ 250] = 2058 */ {NULL, NULL},
/* [ 251] = 2059 */ {NULL, NULL},
@@ -662,10 +595,8 @@ static const void *Render_function_table[408][2] = {
/* [ 254] = 2062 */ {NULL, NULL},
/* [ 255] = 2063 */ {NULL, NULL},
/* [ 256] = 2064 */ {NULL, NULL},
- /* [ 257] = 2065 */ {__glXDisp_PointParameterf,
- __glXDispSwap_PointParameterf},
- /* [ 258] = 2066 */ {__glXDisp_PointParameterfv,
- __glXDispSwap_PointParameterfv},
+ /* [ 257] = 2065 */ {__glXDisp_PointParameterf, __glXDispSwap_PointParameterf},
+ /* [ 258] = 2066 */ {__glXDisp_PointParameterfv, __glXDispSwap_PointParameterfv},
/* [ 259] = 2067 */ {NULL, NULL},
/* [ 260] = 2068 */ {NULL, NULL},
/* [ 261] = 2069 */ {NULL, NULL},
@@ -676,723 +607,633 @@ static const void *Render_function_table[408][2] = {
/* [ 266] = 4098 */ {NULL, NULL},
/* [ 267] = 4099 */ {__glXDisp_TexSubImage1D, __glXDispSwap_TexSubImage1D},
/* [ 268] = 4100 */ {__glXDisp_TexSubImage2D, __glXDispSwap_TexSubImage2D},
- /* [ 269] = 4101 */ {__glXDisp_ConvolutionFilter1D,
- __glXDispSwap_ConvolutionFilter1D},
- /* [ 270] = 4102 */ {__glXDisp_ConvolutionFilter2D,
- __glXDispSwap_ConvolutionFilter2D},
- /* [ 271] = 4103 */ {__glXDisp_ConvolutionParameterf,
- __glXDispSwap_ConvolutionParameterf},
- /* [ 272] = 4104 */ {__glXDisp_ConvolutionParameterfv,
- __glXDispSwap_ConvolutionParameterfv},
- /* [ 273] = 4105 */ {__glXDisp_ConvolutionParameteri,
- __glXDispSwap_ConvolutionParameteri},
- /* [ 274] = 4106 */ {__glXDisp_ConvolutionParameteriv,
- __glXDispSwap_ConvolutionParameteriv},
- /* [ 275] = 4107 */ {__glXDisp_CopyConvolutionFilter1D,
- __glXDispSwap_CopyConvolutionFilter1D},
- /* [ 276] = 4108 */ {__glXDisp_CopyConvolutionFilter2D,
- __glXDispSwap_CopyConvolutionFilter2D},
- /* [ 277] = 4109 */ {__glXDisp_SeparableFilter2D,
- __glXDispSwap_SeparableFilter2D},
+ /* [ 269] = 4101 */ {__glXDisp_ConvolutionFilter1D, __glXDispSwap_ConvolutionFilter1D},
+ /* [ 270] = 4102 */ {__glXDisp_ConvolutionFilter2D, __glXDispSwap_ConvolutionFilter2D},
+ /* [ 271] = 4103 */ {__glXDisp_ConvolutionParameterf, __glXDispSwap_ConvolutionParameterf},
+ /* [ 272] = 4104 */ {__glXDisp_ConvolutionParameterfv, __glXDispSwap_ConvolutionParameterfv},
+ /* [ 273] = 4105 */ {__glXDisp_ConvolutionParameteri, __glXDispSwap_ConvolutionParameteri},
+ /* [ 274] = 4106 */ {__glXDisp_ConvolutionParameteriv, __glXDispSwap_ConvolutionParameteriv},
+ /* [ 275] = 4107 */ {__glXDisp_CopyConvolutionFilter1D, __glXDispSwap_CopyConvolutionFilter1D},
+ /* [ 276] = 4108 */ {__glXDisp_CopyConvolutionFilter2D, __glXDispSwap_CopyConvolutionFilter2D},
+ /* [ 277] = 4109 */ {__glXDisp_SeparableFilter2D, __glXDispSwap_SeparableFilter2D},
/* [ 278] = 4110 */ {__glXDisp_Histogram, __glXDispSwap_Histogram},
/* [ 279] = 4111 */ {__glXDisp_Minmax, __glXDispSwap_Minmax},
- /* [ 280] = 4112 */ {__glXDisp_ResetHistogram,
- __glXDispSwap_ResetHistogram},
+ /* [ 280] = 4112 */ {__glXDisp_ResetHistogram, __glXDispSwap_ResetHistogram},
/* [ 281] = 4113 */ {__glXDisp_ResetMinmax, __glXDispSwap_ResetMinmax},
/* [ 282] = 4114 */ {__glXDisp_TexImage3D, __glXDispSwap_TexImage3D},
/* [ 283] = 4115 */ {__glXDisp_TexSubImage3D, __glXDispSwap_TexSubImage3D},
/* [ 284] = 4116 */ {NULL, NULL},
/* [ 285] = 4117 */ {__glXDisp_BindTexture, __glXDispSwap_BindTexture},
- /* [ 286] = 4118 */ {__glXDisp_PrioritizeTextures,
- __glXDispSwap_PrioritizeTextures},
- /* [ 287] = 4119 */ {__glXDisp_CopyTexImage1D,
- __glXDispSwap_CopyTexImage1D},
- /* [ 288] = 4120 */ {__glXDisp_CopyTexImage2D,
- __glXDispSwap_CopyTexImage2D},
- /* [ 289] = 4121 */ {__glXDisp_CopyTexSubImage1D,
- __glXDispSwap_CopyTexSubImage1D},
- /* [ 290] = 4122 */ {__glXDisp_CopyTexSubImage2D,
- __glXDispSwap_CopyTexSubImage2D},
- /* [ 291] = 4123 */ {__glXDisp_CopyTexSubImage3D,
- __glXDispSwap_CopyTexSubImage3D},
+ /* [ 286] = 4118 */ {__glXDisp_PrioritizeTextures, __glXDispSwap_PrioritizeTextures},
+ /* [ 287] = 4119 */ {__glXDisp_CopyTexImage1D, __glXDispSwap_CopyTexImage1D},
+ /* [ 288] = 4120 */ {__glXDisp_CopyTexImage2D, __glXDispSwap_CopyTexImage2D},
+ /* [ 289] = 4121 */ {__glXDisp_CopyTexSubImage1D, __glXDispSwap_CopyTexSubImage1D},
+ /* [ 290] = 4122 */ {__glXDisp_CopyTexSubImage2D, __glXDispSwap_CopyTexSubImage2D},
+ /* [ 291] = 4123 */ {__glXDisp_CopyTexSubImage3D, __glXDispSwap_CopyTexSubImage3D},
/* [ 292] = 4124 */ {__glXDisp_FogCoordfvEXT, __glXDispSwap_FogCoordfvEXT},
/* [ 293] = 4125 */ {__glXDisp_FogCoorddv, __glXDispSwap_FogCoorddv},
- /* [ 294] = 4126 */ {__glXDisp_SecondaryColor3bv,
- __glXDispSwap_SecondaryColor3bv},
- /* [ 295] = 4127 */ {__glXDisp_SecondaryColor3sv,
- __glXDispSwap_SecondaryColor3sv},
+ /* [ 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_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 */ {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,
- __glXDispSwap_VertexAttrib2fvARB},
- /* [ 315] = 4195 */ {__glXDisp_VertexAttrib3fvARB,
- __glXDispSwap_VertexAttrib3fvARB},
- /* [ 316] = 4196 */ {__glXDisp_VertexAttrib4fvARB,
- __glXDispSwap_VertexAttrib4fvARB},
- /* [ 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,
- __glXDispSwap_VertexAttribs2svNV},
- /* [ 324] = 4204 */ {__glXDisp_VertexAttribs3svNV,
- __glXDispSwap_VertexAttribs3svNV},
- /* [ 325] = 4205 */ {__glXDisp_VertexAttribs4svNV,
- __glXDispSwap_VertexAttribs4svNV},
- /* [ 326] = 4206 */ {__glXDisp_VertexAttribs1fvNV,
- __glXDispSwap_VertexAttribs1fvNV},
- /* [ 327] = 4207 */ {__glXDisp_VertexAttribs2fvNV,
- __glXDispSwap_VertexAttribs2fvNV},
- /* [ 328] = 4208 */ {__glXDisp_VertexAttribs3fvNV,
- __glXDispSwap_VertexAttribs3fvNV},
- /* [ 329] = 4209 */ {__glXDisp_VertexAttribs4fvNV,
- __glXDispSwap_VertexAttribs4fvNV},
- /* [ 330] = 4210 */ {__glXDisp_VertexAttribs1dvNV,
- __glXDispSwap_VertexAttribs1dvNV},
- /* [ 331] = 4211 */ {__glXDisp_VertexAttribs2dvNV,
- __glXDispSwap_VertexAttribs2dvNV},
- /* [ 332] = 4212 */ {__glXDisp_VertexAttribs3dvNV,
- __glXDispSwap_VertexAttribs3dvNV},
- /* [ 333] = 4213 */ {__glXDisp_VertexAttribs4dvNV,
- __glXDispSwap_VertexAttribs4dvNV},
- /* [ 334] = 4214 */ {__glXDisp_VertexAttribs4ubvNV,
- __glXDispSwap_VertexAttribs4ubvNV},
- /* [ 335] = 4215 */ {__glXDisp_ProgramLocalParameter4fvARB,
- __glXDispSwap_ProgramLocalParameter4fvARB},
- /* [ 336] = 4216 */ {__glXDisp_ProgramLocalParameter4dvARB,
- __glXDispSwap_ProgramLocalParameter4dvARB},
- /* [ 337] = 4217 */ {__glXDisp_ProgramStringARB,
- __glXDispSwap_ProgramStringARB},
- /* [ 338] = 4218 */ {NULL, NULL},
- /* [ 339] = 4219 */ {NULL, NULL},
- /* [ 340] = 4220 */ {__glXDisp_ActiveStencilFaceEXT,
- __glXDispSwap_ActiveStencilFaceEXT},
- /* [ 341] = 4221 */ {__glXDisp_PointParameteri,
- __glXDispSwap_PointParameteri},
- /* [ 342] = 4222 */ {__glXDisp_PointParameteriv,
- __glXDispSwap_PointParameteriv},
+ /* [ 300] = 4180 */ {__glXDisp_BindProgramARB, __glXDispSwap_BindProgramARB},
+ /* [ 301] = 4181 */ {__glXDisp_ExecuteProgramNV, __glXDispSwap_ExecuteProgramNV},
+ /* [ 302] = 4182 */ {__glXDisp_RequestResidentProgramsNV, __glXDispSwap_RequestResidentProgramsNV},
+ /* [ 303] = 4183 */ {__glXDisp_LoadProgramNV, __glXDispSwap_LoadProgramNV},
+ /* [ 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_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, __glXDispSwap_VertexAttrib2fvARB},
+ /* [ 315] = 4195 */ {__glXDisp_VertexAttrib3fvARB, __glXDispSwap_VertexAttrib3fvARB},
+ /* [ 316] = 4196 */ {__glXDisp_VertexAttrib4fvARB, __glXDispSwap_VertexAttrib4fvARB},
+ /* [ 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, __glXDispSwap_VertexAttribs2svNV},
+ /* [ 324] = 4204 */ {__glXDisp_VertexAttribs3svNV, __glXDispSwap_VertexAttribs3svNV},
+ /* [ 325] = 4205 */ {__glXDisp_VertexAttribs4svNV, __glXDispSwap_VertexAttribs4svNV},
+ /* [ 326] = 4206 */ {__glXDisp_VertexAttribs1fvNV, __glXDispSwap_VertexAttribs1fvNV},
+ /* [ 327] = 4207 */ {__glXDisp_VertexAttribs2fvNV, __glXDispSwap_VertexAttribs2fvNV},
+ /* [ 328] = 4208 */ {__glXDisp_VertexAttribs3fvNV, __glXDispSwap_VertexAttribs3fvNV},
+ /* [ 329] = 4209 */ {__glXDisp_VertexAttribs4fvNV, __glXDispSwap_VertexAttribs4fvNV},
+ /* [ 330] = 4210 */ {__glXDisp_VertexAttribs1dvNV, __glXDispSwap_VertexAttribs1dvNV},
+ /* [ 331] = 4211 */ {__glXDisp_VertexAttribs2dvNV, __glXDispSwap_VertexAttribs2dvNV},
+ /* [ 332] = 4212 */ {__glXDisp_VertexAttribs3dvNV, __glXDispSwap_VertexAttribs3dvNV},
+ /* [ 333] = 4213 */ {__glXDisp_VertexAttribs4dvNV, __glXDispSwap_VertexAttribs4dvNV},
+ /* [ 334] = 4214 */ {__glXDisp_VertexAttribs4ubvNV, __glXDispSwap_VertexAttribs4ubvNV},
+ /* [ 335] = 4215 */ {__glXDisp_ProgramLocalParameter4fvARB, __glXDispSwap_ProgramLocalParameter4fvARB},
+ /* [ 336] = 4216 */ {__glXDisp_ProgramLocalParameter4dvARB, __glXDispSwap_ProgramLocalParameter4dvARB},
+ /* [ 337] = 4217 */ {__glXDisp_ProgramStringARB, __glXDispSwap_ProgramStringARB},
+ /* [ 338] = 4218 */ {__glXDisp_ProgramNamedParameter4fvNV, __glXDispSwap_ProgramNamedParameter4fvNV},
+ /* [ 339] = 4219 */ {__glXDisp_ProgramNamedParameter4dvNV, __glXDispSwap_ProgramNamedParameter4dvNV},
+ /* [ 340] = 4220 */ {__glXDisp_ActiveStencilFaceEXT, __glXDispSwap_ActiveStencilFaceEXT},
+ /* [ 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_BlendEquationSeparate,
- __glXDispSwap_BlendEquationSeparate},
+ /* [ 348] = 4228 */ {__glXDisp_BlendEquationSeparate, __glXDispSwap_BlendEquationSeparate},
/* [ 349] = 4229 */ {NULL, NULL},
- /* [ 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},
+ /* [ 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_BlitFramebuffer,
- __glXDispSwap_BlitFramebuffer},
- /* [ 371] = 4331 */ {__glXDisp_RenderbufferStorageMultisample,
- __glXDispSwap_RenderbufferStorageMultisample},
+ /* [ 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_SecondaryColor3iv,
- __glXDispSwap_SecondaryColor3iv},
- /* [ 377] = 4129 */ {__glXDisp_SecondaryColor3fvEXT,
- __glXDispSwap_SecondaryColor3fvEXT},
- /* [ 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},
+ /* [ 376] = 4128 */ {__glXDisp_SecondaryColor3iv, __glXDispSwap_SecondaryColor3iv},
+ /* [ 377] = 4129 */ {__glXDisp_SecondaryColor3fvEXT, __glXDispSwap_SecondaryColor3fvEXT},
+ /* [ 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,
- __glXDispSwap_VertexAttrib1svNV},
- /* [ 386] = 4266 */ {__glXDisp_VertexAttrib2svNV,
- __glXDispSwap_VertexAttrib2svNV},
- /* [ 387] = 4267 */ {__glXDisp_VertexAttrib3svNV,
- __glXDispSwap_VertexAttrib3svNV},
- /* [ 388] = 4268 */ {__glXDisp_VertexAttrib4svNV,
- __glXDispSwap_VertexAttrib4svNV},
- /* [ 389] = 4269 */ {__glXDisp_VertexAttrib1fvNV,
- __glXDispSwap_VertexAttrib1fvNV},
- /* [ 390] = 4270 */ {__glXDisp_VertexAttrib2fvNV,
- __glXDispSwap_VertexAttrib2fvNV},
- /* [ 391] = 4271 */ {__glXDisp_VertexAttrib3fvNV,
- __glXDispSwap_VertexAttrib3fvNV},
- /* [ 392] = 4272 */ {__glXDisp_VertexAttrib4fvNV,
- __glXDispSwap_VertexAttrib4fvNV},
- /* [ 393] = 4273 */ {__glXDisp_VertexAttrib1dvNV,
- __glXDispSwap_VertexAttrib1dvNV},
- /* [ 394] = 4274 */ {__glXDisp_VertexAttrib2dvNV,
- __glXDispSwap_VertexAttrib2dvNV},
- /* [ 395] = 4275 */ {__glXDisp_VertexAttrib3dvNV,
- __glXDispSwap_VertexAttrib3dvNV},
- /* [ 396] = 4276 */ {__glXDisp_VertexAttrib4dvNV,
- __glXDispSwap_VertexAttrib4dvNV},
- /* [ 397] = 4277 */ {__glXDisp_VertexAttrib4ubvNV,
- __glXDispSwap_VertexAttrib4ubvNV},
+ /* [ 385] = 4265 */ {__glXDisp_VertexAttrib1svNV, __glXDispSwap_VertexAttrib1svNV},
+ /* [ 386] = 4266 */ {__glXDisp_VertexAttrib2svNV, __glXDispSwap_VertexAttrib2svNV},
+ /* [ 387] = 4267 */ {__glXDisp_VertexAttrib3svNV, __glXDispSwap_VertexAttrib3svNV},
+ /* [ 388] = 4268 */ {__glXDisp_VertexAttrib4svNV, __glXDispSwap_VertexAttrib4svNV},
+ /* [ 389] = 4269 */ {__glXDisp_VertexAttrib1fvNV, __glXDispSwap_VertexAttrib1fvNV},
+ /* [ 390] = 4270 */ {__glXDisp_VertexAttrib2fvNV, __glXDispSwap_VertexAttrib2fvNV},
+ /* [ 391] = 4271 */ {__glXDisp_VertexAttrib3fvNV, __glXDispSwap_VertexAttrib3fvNV},
+ /* [ 392] = 4272 */ {__glXDisp_VertexAttrib4fvNV, __glXDispSwap_VertexAttrib4fvNV},
+ /* [ 393] = 4273 */ {__glXDisp_VertexAttrib1dvNV, __glXDispSwap_VertexAttrib1dvNV},
+ /* [ 394] = 4274 */ {__glXDisp_VertexAttrib2dvNV, __glXDispSwap_VertexAttrib2dvNV},
+ /* [ 395] = 4275 */ {__glXDisp_VertexAttrib3dvNV, __glXDispSwap_VertexAttrib3dvNV},
+ /* [ 396] = 4276 */ {__glXDisp_VertexAttrib4dvNV, __glXDispSwap_VertexAttrib4dvNV},
+ /* [ 397] = 4277 */ {__glXDisp_VertexAttrib4ubvNV, __glXDispSwap_VertexAttrib4ubvNV},
/* [ 398] = 4278 */ {NULL, NULL},
/* [ 399] = 4279 */ {NULL, NULL},
/* [ 400] = 4312 */ {NULL, NULL},
/* [ 401] = 4313 */ {NULL, NULL},
/* [ 402] = 4314 */ {NULL, NULL},
/* [ 403] = 4315 */ {NULL, NULL},
- /* [ 404] = 4316 */ {__glXDisp_BindRenderbuffer,
- __glXDispSwap_BindRenderbuffer},
- /* [ 405] = 4317 */ {__glXDisp_DeleteRenderbuffers,
- __glXDispSwap_DeleteRenderbuffers},
- /* [ 406] = 4318 */ {__glXDisp_RenderbufferStorage,
- __glXDispSwap_RenderbufferStorage},
- /* [ 407] = 4319 */ {__glXDisp_BindFramebuffer,
- __glXDispSwap_BindFramebuffer},
+ /* [ 404] = 4316 */ {__glXDisp_BindRenderbufferEXT, __glXDispSwap_BindRenderbufferEXT},
+ /* [ 405] = 4317 */ {__glXDisp_DeleteRenderbuffers, __glXDispSwap_DeleteRenderbuffers},
+ /* [ 406] = 4318 */ {__glXDisp_RenderbufferStorage, __glXDispSwap_RenderbufferStorage},
+ /* [ 407] = 4319 */ {__glXDisp_BindFramebufferEXT, __glXDispSwap_BindFramebufferEXT},
};
static const int_fast16_t Render_size_table[408][2] = {
- /* [ 0] = 0 */ {0, ~0},
- /* [ 1] = 1 */ {8, ~0},
- /* [ 2] = 2 */ {12, 0},
- /* [ 3] = 3 */ {8, ~0},
- /* [ 4] = 4 */ {8, ~0},
- /* [ 5] = 5 */ {48, 1},
- /* [ 6] = 6 */ {8, ~0},
- /* [ 7] = 7 */ {28, ~0},
- /* [ 8] = 8 */ {16, ~0},
- /* [ 9] = 9 */ {16, ~0},
- /* [ 10] = 10 */ {12, ~0},
- /* [ 11] = 11 */ {8, ~0},
- /* [ 12] = 12 */ {16, ~0},
- /* [ 13] = 13 */ {12, ~0},
- /* [ 14] = 14 */ {8, ~0},
- /* [ 15] = 15 */ {36, ~0},
- /* [ 16] = 16 */ {20, ~0},
- /* [ 17] = 17 */ {20, ~0},
- /* [ 18] = 18 */ {12, ~0},
- /* [ 19] = 19 */ {8, ~0},
- /* [ 20] = 20 */ {20, ~0},
- /* [ 21] = 21 */ {12, ~0},
- /* [ 22] = 22 */ {8, ~0},
- /* [ 23] = 23 */ {4, ~0},
- /* [ 24] = 24 */ {12, ~0},
- /* [ 25] = 25 */ {8, ~0},
- /* [ 26] = 26 */ {8, ~0},
- /* [ 27] = 27 */ {8, ~0},
- /* [ 28] = 28 */ {8, ~0},
- /* [ 29] = 29 */ {28, ~0},
- /* [ 30] = 30 */ {16, ~0},
- /* [ 31] = 31 */ {16, ~0},
- /* [ 32] = 32 */ {12, ~0},
- /* [ 33] = 33 */ {20, ~0},
- /* [ 34] = 34 */ {12, ~0},
- /* [ 35] = 35 */ {12, ~0},
- /* [ 36] = 36 */ {8, ~0},
- /* [ 37] = 37 */ {28, ~0},
- /* [ 38] = 38 */ {16, ~0},
- /* [ 39] = 39 */ {16, ~0},
- /* [ 40] = 40 */ {12, ~0},
- /* [ 41] = 41 */ {36, ~0},
- /* [ 42] = 42 */ {20, ~0},
- /* [ 43] = 43 */ {20, ~0},
- /* [ 44] = 44 */ {12, ~0},
- /* [ 45] = 45 */ {36, ~0},
- /* [ 46] = 46 */ {20, ~0},
- /* [ 47] = 47 */ {20, ~0},
- /* [ 48] = 48 */ {12, ~0},
- /* [ 49] = 49 */ {12, ~0},
- /* [ 50] = 50 */ {8, ~0},
- /* [ 51] = 51 */ {8, ~0},
- /* [ 52] = 52 */ {8, ~0},
- /* [ 53] = 53 */ {20, ~0},
- /* [ 54] = 54 */ {12, ~0},
- /* [ 55] = 55 */ {12, ~0},
- /* [ 56] = 56 */ {8, ~0},
- /* [ 57] = 57 */ {28, ~0},
- /* [ 58] = 58 */ {16, ~0},
- /* [ 59] = 59 */ {16, ~0},
- /* [ 60] = 60 */ {12, ~0},
- /* [ 61] = 61 */ {36, ~0},
- /* [ 62] = 62 */ {20, ~0},
- /* [ 63] = 63 */ {20, ~0},
- /* [ 64] = 64 */ {12, ~0},
- /* [ 65] = 65 */ {20, ~0},
- /* [ 66] = 66 */ {12, ~0},
- /* [ 67] = 67 */ {12, ~0},
- /* [ 68] = 68 */ {8, ~0},
- /* [ 69] = 69 */ {28, ~0},
- /* [ 70] = 70 */ {16, ~0},
- /* [ 71] = 71 */ {16, ~0},
- /* [ 72] = 72 */ {12, ~0},
- /* [ 73] = 73 */ {36, ~0},
- /* [ 74] = 74 */ {20, ~0},
- /* [ 75] = 75 */ {20, ~0},
- /* [ 76] = 76 */ {12, ~0},
- /* [ 77] = 77 */ {40, ~0},
- /* [ 78] = 78 */ {12, ~0},
- /* [ 79] = 79 */ {8, ~0},
- /* [ 80] = 80 */ {12, ~0},
- /* [ 81] = 81 */ {8, 2},
- /* [ 82] = 82 */ {12, ~0},
- /* [ 83] = 83 */ {8, 3},
- /* [ 84] = 84 */ {8, ~0},
- /* [ 85] = 85 */ {12, ~0},
- /* [ 86] = 86 */ {16, ~0},
- /* [ 87] = 87 */ {12, 4},
- /* [ 88] = 88 */ {16, ~0},
- /* [ 89] = 89 */ {12, 5},
- /* [ 90] = 90 */ {12, ~0},
- /* [ 91] = 91 */ {8, 6},
- /* [ 92] = 92 */ {12, ~0},
- /* [ 93] = 93 */ {8, 7},
- /* [ 94] = 94 */ {12, ~0},
- /* [ 95] = 95 */ {8, ~0},
- /* [ 96] = 96 */ {16, ~0},
- /* [ 97] = 97 */ {12, 8},
- /* [ 98] = 98 */ {16, ~0},
- /* [ 99] = 99 */ {12, 9},
- /* [100] = 100 */ {8, ~0},
- /* [101] = 101 */ {12, ~0},
- /* [102] = 102 */ {24, 10},
- /* [103] = 103 */ {20, ~0},
- /* [104] = 104 */ {8, ~0},
- /* [105] = 105 */ {16, ~0},
- /* [106] = 106 */ {12, 11},
- /* [107] = 107 */ {16, ~0},
- /* [108] = 108 */ {12, 12},
- /* [109] = 109 */ {56, 13},
- /* [110] = 110 */ {56, 14},
- /* [111] = 111 */ {16, ~0},
- /* [112] = 112 */ {12, 15},
- /* [113] = 113 */ {16, ~0},
- /* [114] = 114 */ {12, 16},
- /* [115] = 115 */ {20, ~0},
- /* [116] = 116 */ {12, 17},
- /* [117] = 117 */ {16, ~0},
- /* [118] = 118 */ {12, 18},
- /* [119] = 119 */ {16, ~0},
- /* [120] = 120 */ {12, 19},
- /* [121] = 121 */ {4, ~0},
- /* [122] = 122 */ {8, ~0},
- /* [123] = 123 */ {8, ~0},
- /* [124] = 124 */ {4, ~0},
- /* [125] = 125 */ {8, ~0},
- /* [126] = 126 */ {8, ~0},
- /* [127] = 127 */ {8, ~0},
- /* [128] = 128 */ {20, ~0},
- /* [129] = 129 */ {8, ~0},
- /* [130] = 130 */ {20, ~0},
- /* [131] = 131 */ {8, ~0},
- /* [132] = 132 */ {12, ~0},
- /* [133] = 133 */ {8, ~0},
- /* [134] = 134 */ {8, ~0},
- /* [135] = 135 */ {8, ~0},
- /* [136] = 136 */ {8, ~0},
- /* [137] = 137 */ {12, ~0},
- /* [138] = 138 */ {8, ~0},
- /* [139] = 139 */ {8, ~0},
- /* [140] = 140 */ {0, ~0},
- /* [141] = 141 */ {4, ~0},
- /* [142] = 142 */ {8, ~0},
- /* [143] = 143 */ {28, 20},
- /* [144] = 144 */ {20, 21},
- /* [145] = 145 */ {48, 22},
- /* [146] = 146 */ {32, 23},
- /* [147] = 147 */ {24, ~0},
- /* [148] = 148 */ {16, ~0},
- /* [149] = 149 */ {44, ~0},
- /* [150] = 150 */ {28, ~0},
- /* [151] = 151 */ {12, ~0},
- /* [152] = 152 */ {8, ~0},
- /* [153] = 153 */ {20, ~0},
- /* [154] = 154 */ {12, ~0},
- /* [155] = 155 */ {16, ~0},
- /* [156] = 156 */ {8, ~0},
- /* [157] = 157 */ {24, ~0},
- /* [158] = 158 */ {12, ~0},
- /* [159] = 159 */ {12, ~0},
- /* [160] = 160 */ {12, ~0},
- /* [161] = 161 */ {8, ~0},
- /* [162] = 162 */ {16, ~0},
- /* [163] = 163 */ {16, ~0},
- /* [164] = 164 */ {8, ~0},
- /* [165] = 165 */ {12, ~0},
- /* [166] = 166 */ {12, ~0},
- /* [167] = 167 */ {12, ~0},
- /* [168] = 168 */ {12, 24},
- /* [169] = 169 */ {12, 25},
- /* [170] = 170 */ {12, 26},
- /* [171] = 171 */ {8, ~0},
- /* [172] = 172 */ {24, ~0},
- /* [173] = 173 */ {40, 27},
- /* [174] = 174 */ {20, ~0},
- /* [175] = 175 */ {52, ~0},
- /* [176] = 176 */ {4, ~0},
- /* [177] = 177 */ {68, ~0},
+ /* [ 0] = 0 */ { 0, ~0},
+ /* [ 1] = 1 */ { 8, ~0},
+ /* [ 2] = 2 */ { 12, 0},
+ /* [ 3] = 3 */ { 8, ~0},
+ /* [ 4] = 4 */ { 8, ~0},
+ /* [ 5] = 5 */ { 48, 1},
+ /* [ 6] = 6 */ { 8, ~0},
+ /* [ 7] = 7 */ { 28, ~0},
+ /* [ 8] = 8 */ { 16, ~0},
+ /* [ 9] = 9 */ { 16, ~0},
+ /* [ 10] = 10 */ { 12, ~0},
+ /* [ 11] = 11 */ { 8, ~0},
+ /* [ 12] = 12 */ { 16, ~0},
+ /* [ 13] = 13 */ { 12, ~0},
+ /* [ 14] = 14 */ { 8, ~0},
+ /* [ 15] = 15 */ { 36, ~0},
+ /* [ 16] = 16 */ { 20, ~0},
+ /* [ 17] = 17 */ { 20, ~0},
+ /* [ 18] = 18 */ { 12, ~0},
+ /* [ 19] = 19 */ { 8, ~0},
+ /* [ 20] = 20 */ { 20, ~0},
+ /* [ 21] = 21 */ { 12, ~0},
+ /* [ 22] = 22 */ { 8, ~0},
+ /* [ 23] = 23 */ { 4, ~0},
+ /* [ 24] = 24 */ { 12, ~0},
+ /* [ 25] = 25 */ { 8, ~0},
+ /* [ 26] = 26 */ { 8, ~0},
+ /* [ 27] = 27 */ { 8, ~0},
+ /* [ 28] = 28 */ { 8, ~0},
+ /* [ 29] = 29 */ { 28, ~0},
+ /* [ 30] = 30 */ { 16, ~0},
+ /* [ 31] = 31 */ { 16, ~0},
+ /* [ 32] = 32 */ { 12, ~0},
+ /* [ 33] = 33 */ { 20, ~0},
+ /* [ 34] = 34 */ { 12, ~0},
+ /* [ 35] = 35 */ { 12, ~0},
+ /* [ 36] = 36 */ { 8, ~0},
+ /* [ 37] = 37 */ { 28, ~0},
+ /* [ 38] = 38 */ { 16, ~0},
+ /* [ 39] = 39 */ { 16, ~0},
+ /* [ 40] = 40 */ { 12, ~0},
+ /* [ 41] = 41 */ { 36, ~0},
+ /* [ 42] = 42 */ { 20, ~0},
+ /* [ 43] = 43 */ { 20, ~0},
+ /* [ 44] = 44 */ { 12, ~0},
+ /* [ 45] = 45 */ { 36, ~0},
+ /* [ 46] = 46 */ { 20, ~0},
+ /* [ 47] = 47 */ { 20, ~0},
+ /* [ 48] = 48 */ { 12, ~0},
+ /* [ 49] = 49 */ { 12, ~0},
+ /* [ 50] = 50 */ { 8, ~0},
+ /* [ 51] = 51 */ { 8, ~0},
+ /* [ 52] = 52 */ { 8, ~0},
+ /* [ 53] = 53 */ { 20, ~0},
+ /* [ 54] = 54 */ { 12, ~0},
+ /* [ 55] = 55 */ { 12, ~0},
+ /* [ 56] = 56 */ { 8, ~0},
+ /* [ 57] = 57 */ { 28, ~0},
+ /* [ 58] = 58 */ { 16, ~0},
+ /* [ 59] = 59 */ { 16, ~0},
+ /* [ 60] = 60 */ { 12, ~0},
+ /* [ 61] = 61 */ { 36, ~0},
+ /* [ 62] = 62 */ { 20, ~0},
+ /* [ 63] = 63 */ { 20, ~0},
+ /* [ 64] = 64 */ { 12, ~0},
+ /* [ 65] = 65 */ { 20, ~0},
+ /* [ 66] = 66 */ { 12, ~0},
+ /* [ 67] = 67 */ { 12, ~0},
+ /* [ 68] = 68 */ { 8, ~0},
+ /* [ 69] = 69 */ { 28, ~0},
+ /* [ 70] = 70 */ { 16, ~0},
+ /* [ 71] = 71 */ { 16, ~0},
+ /* [ 72] = 72 */ { 12, ~0},
+ /* [ 73] = 73 */ { 36, ~0},
+ /* [ 74] = 74 */ { 20, ~0},
+ /* [ 75] = 75 */ { 20, ~0},
+ /* [ 76] = 76 */ { 12, ~0},
+ /* [ 77] = 77 */ { 40, ~0},
+ /* [ 78] = 78 */ { 12, ~0},
+ /* [ 79] = 79 */ { 8, ~0},
+ /* [ 80] = 80 */ { 12, ~0},
+ /* [ 81] = 81 */ { 8, 2},
+ /* [ 82] = 82 */ { 12, ~0},
+ /* [ 83] = 83 */ { 8, 3},
+ /* [ 84] = 84 */ { 8, ~0},
+ /* [ 85] = 85 */ { 12, ~0},
+ /* [ 86] = 86 */ { 16, ~0},
+ /* [ 87] = 87 */ { 12, 4},
+ /* [ 88] = 88 */ { 16, ~0},
+ /* [ 89] = 89 */ { 12, 5},
+ /* [ 90] = 90 */ { 12, ~0},
+ /* [ 91] = 91 */ { 8, 6},
+ /* [ 92] = 92 */ { 12, ~0},
+ /* [ 93] = 93 */ { 8, 7},
+ /* [ 94] = 94 */ { 12, ~0},
+ /* [ 95] = 95 */ { 8, ~0},
+ /* [ 96] = 96 */ { 16, ~0},
+ /* [ 97] = 97 */ { 12, 8},
+ /* [ 98] = 98 */ { 16, ~0},
+ /* [ 99] = 99 */ { 12, 9},
+ /* [100] = 100 */ { 8, ~0},
+ /* [101] = 101 */ { 12, ~0},
+ /* [102] = 102 */ { 24, 10},
+ /* [103] = 103 */ { 20, ~0},
+ /* [104] = 104 */ { 8, ~0},
+ /* [105] = 105 */ { 16, ~0},
+ /* [106] = 106 */ { 12, 11},
+ /* [107] = 107 */ { 16, ~0},
+ /* [108] = 108 */ { 12, 12},
+ /* [109] = 109 */ { 56, 13},
+ /* [110] = 110 */ { 56, 14},
+ /* [111] = 111 */ { 16, ~0},
+ /* [112] = 112 */ { 12, 15},
+ /* [113] = 113 */ { 16, ~0},
+ /* [114] = 114 */ { 12, 16},
+ /* [115] = 115 */ { 20, ~0},
+ /* [116] = 116 */ { 12, 17},
+ /* [117] = 117 */ { 16, ~0},
+ /* [118] = 118 */ { 12, 18},
+ /* [119] = 119 */ { 16, ~0},
+ /* [120] = 120 */ { 12, 19},
+ /* [121] = 121 */ { 4, ~0},
+ /* [122] = 122 */ { 8, ~0},
+ /* [123] = 123 */ { 8, ~0},
+ /* [124] = 124 */ { 4, ~0},
+ /* [125] = 125 */ { 8, ~0},
+ /* [126] = 126 */ { 8, ~0},
+ /* [127] = 127 */ { 8, ~0},
+ /* [128] = 128 */ { 20, ~0},
+ /* [129] = 129 */ { 8, ~0},
+ /* [130] = 130 */ { 20, ~0},
+ /* [131] = 131 */ { 8, ~0},
+ /* [132] = 132 */ { 12, ~0},
+ /* [133] = 133 */ { 8, ~0},
+ /* [134] = 134 */ { 8, ~0},
+ /* [135] = 135 */ { 8, ~0},
+ /* [136] = 136 */ { 8, ~0},
+ /* [137] = 137 */ { 12, ~0},
+ /* [138] = 138 */ { 8, ~0},
+ /* [139] = 139 */ { 8, ~0},
+ /* [140] = 140 */ { 0, ~0},
+ /* [141] = 141 */ { 4, ~0},
+ /* [142] = 142 */ { 8, ~0},
+ /* [143] = 143 */ { 28, 20},
+ /* [144] = 144 */ { 20, 21},
+ /* [145] = 145 */ { 48, 22},
+ /* [146] = 146 */ { 32, 23},
+ /* [147] = 147 */ { 24, ~0},
+ /* [148] = 148 */ { 16, ~0},
+ /* [149] = 149 */ { 44, ~0},
+ /* [150] = 150 */ { 28, ~0},
+ /* [151] = 151 */ { 12, ~0},
+ /* [152] = 152 */ { 8, ~0},
+ /* [153] = 153 */ { 20, ~0},
+ /* [154] = 154 */ { 12, ~0},
+ /* [155] = 155 */ { 16, ~0},
+ /* [156] = 156 */ { 8, ~0},
+ /* [157] = 157 */ { 24, ~0},
+ /* [158] = 158 */ { 12, ~0},
+ /* [159] = 159 */ { 12, ~0},
+ /* [160] = 160 */ { 12, ~0},
+ /* [161] = 161 */ { 8, ~0},
+ /* [162] = 162 */ { 16, ~0},
+ /* [163] = 163 */ { 16, ~0},
+ /* [164] = 164 */ { 8, ~0},
+ /* [165] = 165 */ { 12, ~0},
+ /* [166] = 166 */ { 12, ~0},
+ /* [167] = 167 */ { 12, ~0},
+ /* [168] = 168 */ { 12, 24},
+ /* [169] = 169 */ { 12, 25},
+ /* [170] = 170 */ { 12, 26},
+ /* [171] = 171 */ { 8, ~0},
+ /* [172] = 172 */ { 24, ~0},
+ /* [173] = 173 */ { 40, 27},
+ /* [174] = 174 */ { 20, ~0},
+ /* [175] = 175 */ { 52, ~0},
+ /* [176] = 176 */ { 4, ~0},
+ /* [177] = 177 */ { 68, ~0},
/* [178] = 178 */ {132, ~0},
- /* [179] = 179 */ {8, ~0},
- /* [180] = 180 */ {68, ~0},
+ /* [179] = 179 */ { 8, ~0},
+ /* [180] = 180 */ { 68, ~0},
/* [181] = 181 */ {132, ~0},
- /* [182] = 182 */ {52, ~0},
- /* [183] = 183 */ {4, ~0},
- /* [184] = 184 */ {4, ~0},
- /* [185] = 185 */ {36, ~0},
- /* [186] = 186 */ {20, ~0},
- /* [187] = 187 */ {28, ~0},
- /* [188] = 188 */ {16, ~0},
- /* [189] = 189 */ {28, ~0},
- /* [190] = 190 */ {16, ~0},
- /* [191] = 191 */ {20, ~0},
- /* [192] = 192 */ {12, ~0},
- /* [193] = 193 */ {16, 28},
- /* [194] = 194 */ {8, ~0},
- /* [195] = 195 */ {44, 29},
- /* [196] = 196 */ {24, ~0},
- /* [197] = 197 */ {8, ~0},
- /* [198] = 198 */ {16, ~0},
- /* [199] = 199 */ {12, ~0},
- /* [200] = 200 */ {12, ~0},
- /* [201] = 201 */ {12, ~0},
- /* [202] = 202 */ {24, ~0},
- /* [203] = 203 */ {16, ~0},
- /* [204] = 204 */ {16, ~0},
- /* [205] = 205 */ {12, ~0},
- /* [206] = 206 */ {32, ~0},
- /* [207] = 207 */ {20, ~0},
- /* [208] = 208 */ {20, ~0},
- /* [209] = 209 */ {16, ~0},
- /* [210] = 210 */ {40, ~0},
- /* [211] = 211 */ {24, ~0},
- /* [212] = 212 */ {24, ~0},
- /* [213] = 213 */ {16, ~0},
- /* [214] = 214 */ {28, 30},
- /* [215] = 215 */ {32, 31},
- /* [216] = 216 */ {36, 32},
- /* [217] = 217 */ {28, 33},
- /* [218] = 218 */ {36, 34},
- /* [219] = 219 */ {44, 35},
- /* [220] = 220 */ {0, ~0},
- /* [221] = 221 */ {0, ~0},
- /* [222] = 222 */ {0, ~0},
- /* [223] = 223 */ {0, ~0},
- /* [224] = 224 */ {0, ~0},
- /* [225] = 225 */ {0, ~0},
- /* [226] = 226 */ {0, ~0},
- /* [227] = 227 */ {0, ~0},
- /* [228] = 228 */ {0, ~0},
- /* [229] = 229 */ {12, ~0},
- /* [230] = 230 */ {16, ~0},
- /* [231] = 231 */ {12, ~0},
- /* [232] = 232 */ {8, ~0},
- /* [233] = 233 */ {8, 36},
- /* [234] = 234 */ {12, ~0},
- /* [235] = 235 */ {0, ~0},
- /* [236] = 236 */ {0, ~0},
- /* [237] = 237 */ {24, ~0},
- /* [238] = 238 */ {0, ~0},
- /* [239] = 239 */ {0, ~0},
- /* [240] = 2048 */ {0, ~0},
- /* [241] = 2049 */ {0, ~0},
- /* [242] = 2050 */ {0, ~0},
- /* [243] = 2051 */ {0, ~0},
- /* [244] = 2052 */ {0, ~0},
- /* [245] = 2053 */ {44, 37},
- /* [246] = 2054 */ {12, 38},
- /* [247] = 2055 */ {12, 39},
- /* [248] = 2056 */ {24, ~0},
- /* [249] = 2057 */ {0, ~0},
- /* [250] = 2058 */ {0, ~0},
- /* [251] = 2059 */ {0, ~0},
- /* [252] = 2060 */ {0, ~0},
- /* [253] = 2061 */ {0, ~0},
- /* [254] = 2062 */ {0, ~0},
- /* [255] = 2063 */ {0, ~0},
- /* [256] = 2064 */ {0, ~0},
- /* [257] = 2065 */ {12, ~0},
- /* [258] = 2066 */ {8, 40},
- /* [259] = 2067 */ {0, ~0},
- /* [260] = 2068 */ {0, ~0},
- /* [261] = 2069 */ {0, ~0},
- /* [262] = 2070 */ {0, ~0},
- /* [263] = 2071 */ {0, ~0},
- /* [264] = 4096 */ {20, ~0},
- /* [265] = 4097 */ {8, ~0},
- /* [266] = 4098 */ {0, ~0},
- /* [267] = 4099 */ {60, 41},
- /* [268] = 4100 */ {60, 42},
- /* [269] = 4101 */ {48, 43},
- /* [270] = 4102 */ {48, 44},
- /* [271] = 4103 */ {16, ~0},
- /* [272] = 4104 */ {12, 45},
- /* [273] = 4105 */ {16, ~0},
- /* [274] = 4106 */ {12, 46},
- /* [275] = 4107 */ {24, ~0},
- /* [276] = 4108 */ {28, ~0},
- /* [277] = 4109 */ {32, 47},
- /* [278] = 4110 */ {20, ~0},
- /* [279] = 4111 */ {16, ~0},
- /* [280] = 4112 */ {8, ~0},
- /* [281] = 4113 */ {8, ~0},
- /* [282] = 4114 */ {84, 48},
- /* [283] = 4115 */ {92, 49},
- /* [284] = 4116 */ {0, ~0},
- /* [285] = 4117 */ {12, ~0},
- /* [286] = 4118 */ {8, 50},
- /* [287] = 4119 */ {32, ~0},
- /* [288] = 4120 */ {36, ~0},
- /* [289] = 4121 */ {28, ~0},
- /* [290] = 4122 */ {36, ~0},
- /* [291] = 4123 */ {40, ~0},
- /* [292] = 4124 */ {8, ~0},
- /* [293] = 4125 */ {12, ~0},
- /* [294] = 4126 */ {8, ~0},
- /* [295] = 4127 */ {12, ~0},
- /* [296] = 4176 */ {0, ~0},
- /* [297] = 4177 */ {0, ~0},
- /* [298] = 4178 */ {0, ~0},
- /* [299] = 4179 */ {0, ~0},
- /* [300] = 4180 */ {12, ~0},
- /* [301] = 4181 */ {0, ~0},
- /* [302] = 4182 */ {0, ~0},
- /* [303] = 4183 */ {0, ~0},
- /* [304] = 4184 */ {28, ~0},
- /* [305] = 4185 */ {44, ~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},
- /* [312] = 4192 */ {16, ~0},
- /* [313] = 4193 */ {12, ~0},
- /* [314] = 4194 */ {16, ~0},
- /* [315] = 4195 */ {20, ~0},
- /* [316] = 4196 */ {24, ~0},
- /* [317] = 4197 */ {16, ~0},
- /* [318] = 4198 */ {24, ~0},
- /* [319] = 4199 */ {32, ~0},
- /* [320] = 4200 */ {40, ~0},
- /* [321] = 4201 */ {12, ~0},
- /* [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, 64},
- /* [338] = 4218 */ {0, ~0},
- /* [339] = 4219 */ {0, ~0},
- /* [340] = 4220 */ {8, ~0},
- /* [341] = 4221 */ {12, ~0},
- /* [342] = 4222 */ {8, 65},
- /* [343] = 4223 */ {0, ~0},
- /* [344] = 4224 */ {0, ~0},
- /* [345] = 4225 */ {0, ~0},
- /* [346] = 4226 */ {0, ~0},
- /* [347] = 4227 */ {0, ~0},
- /* [348] = 4228 */ {12, ~0},
- /* [349] = 4229 */ {0, ~0},
- /* [350] = 4230 */ {12, ~0},
- /* [351] = 4231 */ {24, ~0},
- /* [352] = 4232 */ {12, ~0},
- /* [353] = 4233 */ {16, ~0},
- /* [354] = 4234 */ {24, ~0},
- /* [355] = 4235 */ {12, ~0},
- /* [356] = 4236 */ {16, ~0},
- /* [357] = 4237 */ {24, ~0},
- /* [358] = 4238 */ {16, ~0},
- /* [359] = 4239 */ {24, ~0},
- /* [360] = 4320 */ {8, 66},
- /* [361] = 4321 */ {24, ~0},
- /* [362] = 4322 */ {24, ~0},
- /* [363] = 4323 */ {28, ~0},
- /* [364] = 4324 */ {20, ~0},
- /* [365] = 4325 */ {8, ~0},
- /* [366] = 4326 */ {0, ~0},
- /* [367] = 4327 */ {0, ~0},
- /* [368] = 4328 */ {0, ~0},
- /* [369] = 4329 */ {0, ~0},
- /* [370] = 4330 */ {44, ~0},
- /* [371] = 4331 */ {24, ~0},
- /* [372] = 4332 */ {0, ~0},
- /* [373] = 4333 */ {0, ~0},
- /* [374] = 4334 */ {0, ~0},
- /* [375] = 4335 */ {0, ~0},
- /* [376] = 4128 */ {16, ~0},
- /* [377] = 4129 */ {16, ~0},
- /* [378] = 4130 */ {28, ~0},
- /* [379] = 4131 */ {8, ~0},
- /* [380] = 4132 */ {12, ~0},
- /* [381] = 4133 */ {16, ~0},
- /* [382] = 4134 */ {20, ~0},
- /* [383] = 4135 */ {0, ~0},
- /* [384] = 4264 */ {0, ~0},
- /* [385] = 4265 */ {12, ~0},
- /* [386] = 4266 */ {12, ~0},
- /* [387] = 4267 */ {16, ~0},
- /* [388] = 4268 */ {16, ~0},
- /* [389] = 4269 */ {12, ~0},
- /* [390] = 4270 */ {16, ~0},
- /* [391] = 4271 */ {20, ~0},
- /* [392] = 4272 */ {24, ~0},
- /* [393] = 4273 */ {16, ~0},
- /* [394] = 4274 */ {24, ~0},
- /* [395] = 4275 */ {32, ~0},
- /* [396] = 4276 */ {40, ~0},
- /* [397] = 4277 */ {12, ~0},
- /* [398] = 4278 */ {0, ~0},
- /* [399] = 4279 */ {0, ~0},
- /* [400] = 4312 */ {0, ~0},
- /* [401] = 4313 */ {0, ~0},
- /* [402] = 4314 */ {0, ~0},
- /* [403] = 4315 */ {0, ~0},
- /* [404] = 4316 */ {12, ~0},
- /* [405] = 4317 */ {8, 67},
- /* [406] = 4318 */ {20, ~0},
- /* [407] = 4319 */ {12, ~0},
+ /* [182] = 182 */ { 52, ~0},
+ /* [183] = 183 */ { 4, ~0},
+ /* [184] = 184 */ { 4, ~0},
+ /* [185] = 185 */ { 36, ~0},
+ /* [186] = 186 */ { 20, ~0},
+ /* [187] = 187 */ { 28, ~0},
+ /* [188] = 188 */ { 16, ~0},
+ /* [189] = 189 */ { 28, ~0},
+ /* [190] = 190 */ { 16, ~0},
+ /* [191] = 191 */ { 20, ~0},
+ /* [192] = 192 */ { 12, ~0},
+ /* [193] = 193 */ { 16, 28},
+ /* [194] = 194 */ { 8, ~0},
+ /* [195] = 195 */ { 44, 29},
+ /* [196] = 196 */ { 24, ~0},
+ /* [197] = 197 */ { 8, ~0},
+ /* [198] = 198 */ { 16, ~0},
+ /* [199] = 199 */ { 12, ~0},
+ /* [200] = 200 */ { 12, ~0},
+ /* [201] = 201 */ { 12, ~0},
+ /* [202] = 202 */ { 24, ~0},
+ /* [203] = 203 */ { 16, ~0},
+ /* [204] = 204 */ { 16, ~0},
+ /* [205] = 205 */ { 12, ~0},
+ /* [206] = 206 */ { 32, ~0},
+ /* [207] = 207 */ { 20, ~0},
+ /* [208] = 208 */ { 20, ~0},
+ /* [209] = 209 */ { 16, ~0},
+ /* [210] = 210 */ { 40, ~0},
+ /* [211] = 211 */ { 24, ~0},
+ /* [212] = 212 */ { 24, ~0},
+ /* [213] = 213 */ { 16, ~0},
+ /* [214] = 214 */ { 28, 30},
+ /* [215] = 215 */ { 32, 31},
+ /* [216] = 216 */ { 36, 32},
+ /* [217] = 217 */ { 28, 33},
+ /* [218] = 218 */ { 36, 34},
+ /* [219] = 219 */ { 44, 35},
+ /* [220] = 220 */ { 0, ~0},
+ /* [221] = 221 */ { 0, ~0},
+ /* [222] = 222 */ { 0, ~0},
+ /* [223] = 223 */ { 0, ~0},
+ /* [224] = 224 */ { 0, ~0},
+ /* [225] = 225 */ { 0, ~0},
+ /* [226] = 226 */ { 0, ~0},
+ /* [227] = 227 */ { 0, ~0},
+ /* [228] = 228 */ { 0, ~0},
+ /* [229] = 229 */ { 12, ~0},
+ /* [230] = 230 */ { 16, ~0},
+ /* [231] = 231 */ { 12, ~0},
+ /* [232] = 232 */ { 8, ~0},
+ /* [233] = 233 */ { 8, 36},
+ /* [234] = 234 */ { 12, ~0},
+ /* [235] = 235 */ { 12, ~0},
+ /* [236] = 236 */ { 12, ~0},
+ /* [237] = 237 */ { 24, ~0},
+ /* [238] = 238 */ { 0, ~0},
+ /* [239] = 239 */ { 0, ~0},
+ /* [240] = 2048 */ { 12, ~0},
+ /* [241] = 2049 */ { 8, ~0},
+ /* [242] = 2050 */ { 0, ~0},
+ /* [243] = 2051 */ { 0, ~0},
+ /* [244] = 2052 */ { 0, ~0},
+ /* [245] = 2053 */ { 44, 37},
+ /* [246] = 2054 */ { 12, 38},
+ /* [247] = 2055 */ { 12, 39},
+ /* [248] = 2056 */ { 24, ~0},
+ /* [249] = 2057 */ { 0, ~0},
+ /* [250] = 2058 */ { 0, ~0},
+ /* [251] = 2059 */ { 0, ~0},
+ /* [252] = 2060 */ { 0, ~0},
+ /* [253] = 2061 */ { 0, ~0},
+ /* [254] = 2062 */ { 0, ~0},
+ /* [255] = 2063 */ { 0, ~0},
+ /* [256] = 2064 */ { 0, ~0},
+ /* [257] = 2065 */ { 12, ~0},
+ /* [258] = 2066 */ { 8, 40},
+ /* [259] = 2067 */ { 0, ~0},
+ /* [260] = 2068 */ { 0, ~0},
+ /* [261] = 2069 */ { 0, ~0},
+ /* [262] = 2070 */ { 0, ~0},
+ /* [263] = 2071 */ { 0, ~0},
+ /* [264] = 4096 */ { 20, ~0},
+ /* [265] = 4097 */ { 8, ~0},
+ /* [266] = 4098 */ { 0, ~0},
+ /* [267] = 4099 */ { 60, 41},
+ /* [268] = 4100 */ { 60, 42},
+ /* [269] = 4101 */ { 48, 43},
+ /* [270] = 4102 */ { 48, 44},
+ /* [271] = 4103 */ { 16, ~0},
+ /* [272] = 4104 */ { 12, 45},
+ /* [273] = 4105 */ { 16, ~0},
+ /* [274] = 4106 */ { 12, 46},
+ /* [275] = 4107 */ { 24, ~0},
+ /* [276] = 4108 */ { 28, ~0},
+ /* [277] = 4109 */ { 32, 47},
+ /* [278] = 4110 */ { 20, ~0},
+ /* [279] = 4111 */ { 16, ~0},
+ /* [280] = 4112 */ { 8, ~0},
+ /* [281] = 4113 */ { 8, ~0},
+ /* [282] = 4114 */ { 84, 48},
+ /* [283] = 4115 */ { 92, 49},
+ /* [284] = 4116 */ { 0, ~0},
+ /* [285] = 4117 */ { 12, ~0},
+ /* [286] = 4118 */ { 8, 50},
+ /* [287] = 4119 */ { 32, ~0},
+ /* [288] = 4120 */ { 36, ~0},
+ /* [289] = 4121 */ { 28, ~0},
+ /* [290] = 4122 */ { 36, ~0},
+ /* [291] = 4123 */ { 40, ~0},
+ /* [292] = 4124 */ { 8, ~0},
+ /* [293] = 4125 */ { 12, ~0},
+ /* [294] = 4126 */ { 8, ~0},
+ /* [295] = 4127 */ { 12, ~0},
+ /* [296] = 4176 */ { 0, ~0},
+ /* [297] = 4177 */ { 0, ~0},
+ /* [298] = 4178 */ { 0, ~0},
+ /* [299] = 4179 */ { 0, ~0},
+ /* [300] = 4180 */ { 12, ~0},
+ /* [301] = 4181 */ { 28, ~0},
+ /* [302] = 4182 */ { 8, 51},
+ /* [303] = 4183 */ { 16, 52},
+ /* [304] = 4184 */ { 28, ~0},
+ /* [305] = 4185 */ { 44, ~0},
+ /* [306] = 4186 */ { 16, 53},
+ /* [307] = 4187 */ { 16, 54},
+ /* [308] = 4188 */ { 20, ~0},
+ /* [309] = 4189 */ { 12, ~0},
+ /* [310] = 4190 */ { 12, ~0},
+ /* [311] = 4191 */ { 16, ~0},
+ /* [312] = 4192 */ { 16, ~0},
+ /* [313] = 4193 */ { 12, ~0},
+ /* [314] = 4194 */ { 16, ~0},
+ /* [315] = 4195 */ { 20, ~0},
+ /* [316] = 4196 */ { 24, ~0},
+ /* [317] = 4197 */ { 16, ~0},
+ /* [318] = 4198 */ { 24, ~0},
+ /* [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},
+ /* [335] = 4215 */ { 28, ~0},
+ /* [336] = 4216 */ { 44, ~0},
+ /* [337] = 4217 */ { 16, 68},
+ /* [338] = 4218 */ { 28, 69},
+ /* [339] = 4219 */ { 44, 70},
+ /* [340] = 4220 */ { 8, ~0},
+ /* [341] = 4221 */ { 12, ~0},
+ /* [342] = 4222 */ { 8, 71},
+ /* [343] = 4223 */ { 0, ~0},
+ /* [344] = 4224 */ { 0, ~0},
+ /* [345] = 4225 */ { 0, ~0},
+ /* [346] = 4226 */ { 0, ~0},
+ /* [347] = 4227 */ { 0, ~0},
+ /* [348] = 4228 */ { 12, ~0},
+ /* [349] = 4229 */ { 0, ~0},
+ /* [350] = 4230 */ { 12, ~0},
+ /* [351] = 4231 */ { 24, ~0},
+ /* [352] = 4232 */ { 12, ~0},
+ /* [353] = 4233 */ { 16, ~0},
+ /* [354] = 4234 */ { 24, ~0},
+ /* [355] = 4235 */ { 12, ~0},
+ /* [356] = 4236 */ { 16, ~0},
+ /* [357] = 4237 */ { 24, ~0},
+ /* [358] = 4238 */ { 16, ~0},
+ /* [359] = 4239 */ { 24, ~0},
+ /* [360] = 4320 */ { 8, 72},
+ /* [361] = 4321 */ { 24, ~0},
+ /* [362] = 4322 */ { 24, ~0},
+ /* [363] = 4323 */ { 28, ~0},
+ /* [364] = 4324 */ { 20, ~0},
+ /* [365] = 4325 */ { 8, ~0},
+ /* [366] = 4326 */ { 0, ~0},
+ /* [367] = 4327 */ { 0, ~0},
+ /* [368] = 4328 */ { 0, ~0},
+ /* [369] = 4329 */ { 0, ~0},
+ /* [370] = 4330 */ { 44, ~0},
+ /* [371] = 4331 */ { 24, ~0},
+ /* [372] = 4332 */ { 0, ~0},
+ /* [373] = 4333 */ { 0, ~0},
+ /* [374] = 4334 */ { 0, ~0},
+ /* [375] = 4335 */ { 0, ~0},
+ /* [376] = 4128 */ { 16, ~0},
+ /* [377] = 4129 */ { 16, ~0},
+ /* [378] = 4130 */ { 28, ~0},
+ /* [379] = 4131 */ { 8, ~0},
+ /* [380] = 4132 */ { 12, ~0},
+ /* [381] = 4133 */ { 16, ~0},
+ /* [382] = 4134 */ { 20, ~0},
+ /* [383] = 4135 */ { 0, ~0},
+ /* [384] = 4264 */ { 0, ~0},
+ /* [385] = 4265 */ { 12, ~0},
+ /* [386] = 4266 */ { 12, ~0},
+ /* [387] = 4267 */ { 16, ~0},
+ /* [388] = 4268 */ { 16, ~0},
+ /* [389] = 4269 */ { 12, ~0},
+ /* [390] = 4270 */ { 16, ~0},
+ /* [391] = 4271 */ { 20, ~0},
+ /* [392] = 4272 */ { 24, ~0},
+ /* [393] = 4273 */ { 16, ~0},
+ /* [394] = 4274 */ { 24, ~0},
+ /* [395] = 4275 */ { 32, ~0},
+ /* [396] = 4276 */ { 40, ~0},
+ /* [397] = 4277 */ { 12, ~0},
+ /* [398] = 4278 */ { 0, ~0},
+ /* [399] = 4279 */ { 0, ~0},
+ /* [400] = 4312 */ { 0, ~0},
+ /* [401] = 4313 */ { 0, ~0},
+ /* [402] = 4314 */ { 0, ~0},
+ /* [403] = 4315 */ { 0, ~0},
+ /* [404] = 4316 */ { 12, ~0},
+ /* [405] = 4317 */ { 8, 73},
+ /* [406] = 4318 */ { 20, ~0},
+ /* [407] = 4319 */ { 12, ~0},
};
-static const gl_proto_size_func Render_size_func_table[68] = {
- __glXCallListsReqSize,
- __glXBitmapReqSize,
- __glXFogfvReqSize,
- __glXFogivReqSize,
- __glXLightfvReqSize,
- __glXLightivReqSize,
- __glXLightModelfvReqSize,
- __glXLightModelivReqSize,
- __glXMaterialfvReqSize,
- __glXMaterialivReqSize,
- __glXPolygonStippleReqSize,
- __glXTexParameterfvReqSize,
- __glXTexParameterivReqSize,
- __glXTexImage1DReqSize,
- __glXTexImage2DReqSize,
- __glXTexEnvfvReqSize,
- __glXTexEnvivReqSize,
- __glXTexGendvReqSize,
- __glXTexGenfvReqSize,
- __glXTexGenivReqSize,
- __glXMap1dReqSize,
- __glXMap1fReqSize,
- __glXMap2dReqSize,
- __glXMap2fReqSize,
- __glXPixelMapfvReqSize,
- __glXPixelMapuivReqSize,
- __glXPixelMapusvReqSize,
- __glXDrawPixelsReqSize,
- __glXDrawArraysReqSize,
- __glXColorSubTableReqSize,
- __glXCompressedTexImage1DReqSize,
- __glXCompressedTexImage2DReqSize,
- __glXCompressedTexImage3DReqSize,
- __glXCompressedTexSubImage1DReqSize,
- __glXCompressedTexSubImage2DReqSize,
- __glXCompressedTexSubImage3DReqSize,
- __glXDrawBuffersReqSize,
- __glXColorTableReqSize,
- __glXColorTableParameterfvReqSize,
- __glXColorTableParameterivReqSize,
- __glXPointParameterfvReqSize,
- __glXTexSubImage1DReqSize,
- __glXTexSubImage2DReqSize,
- __glXConvolutionFilter1DReqSize,
- __glXConvolutionFilter2DReqSize,
- __glXConvolutionParameterfvReqSize,
- __glXConvolutionParameterivReqSize,
- __glXSeparableFilter2DReqSize,
- __glXTexImage3DReqSize,
- __glXTexSubImage3DReqSize,
- __glXPrioritizeTexturesReqSize,
- __glXVertexAttribs1svNVReqSize,
- __glXVertexAttribs2svNVReqSize,
- __glXVertexAttribs3svNVReqSize,
- __glXVertexAttribs4svNVReqSize,
- __glXVertexAttribs1fvNVReqSize,
- __glXVertexAttribs2fvNVReqSize,
- __glXVertexAttribs3fvNVReqSize,
- __glXVertexAttribs4fvNVReqSize,
- __glXVertexAttribs1dvNVReqSize,
- __glXVertexAttribs2dvNVReqSize,
- __glXVertexAttribs3dvNVReqSize,
- __glXVertexAttribs4dvNVReqSize,
- __glXVertexAttribs4ubvNVReqSize,
- __glXProgramStringARBReqSize,
- __glXPointParameterivReqSize,
- __glXDeleteFramebuffersReqSize,
- __glXDeleteRenderbuffersReqSize,
+static const gl_proto_size_func Render_size_func_table[74] = {
+ __glXCallListsReqSize,
+ __glXBitmapReqSize,
+ __glXFogfvReqSize,
+ __glXFogivReqSize,
+ __glXLightfvReqSize,
+ __glXLightivReqSize,
+ __glXLightModelfvReqSize,
+ __glXLightModelivReqSize,
+ __glXMaterialfvReqSize,
+ __glXMaterialivReqSize,
+ __glXPolygonStippleReqSize,
+ __glXTexParameterfvReqSize,
+ __glXTexParameterivReqSize,
+ __glXTexImage1DReqSize,
+ __glXTexImage2DReqSize,
+ __glXTexEnvfvReqSize,
+ __glXTexEnvivReqSize,
+ __glXTexGendvReqSize,
+ __glXTexGenfvReqSize,
+ __glXTexGenivReqSize,
+ __glXMap1dReqSize,
+ __glXMap1fReqSize,
+ __glXMap2dReqSize,
+ __glXMap2fReqSize,
+ __glXPixelMapfvReqSize,
+ __glXPixelMapuivReqSize,
+ __glXPixelMapusvReqSize,
+ __glXDrawPixelsReqSize,
+ __glXDrawArraysReqSize,
+ __glXColorSubTableReqSize,
+ __glXCompressedTexImage1DReqSize,
+ __glXCompressedTexImage2DReqSize,
+ __glXCompressedTexImage3DReqSize,
+ __glXCompressedTexSubImage1DReqSize,
+ __glXCompressedTexSubImage2DReqSize,
+ __glXCompressedTexSubImage3DReqSize,
+ __glXDrawBuffersReqSize,
+ __glXColorTableReqSize,
+ __glXColorTableParameterfvReqSize,
+ __glXColorTableParameterivReqSize,
+ __glXPointParameterfvReqSize,
+ __glXTexSubImage1DReqSize,
+ __glXTexSubImage2DReqSize,
+ __glXConvolutionFilter1DReqSize,
+ __glXConvolutionFilter2DReqSize,
+ __glXConvolutionParameterfvReqSize,
+ __glXConvolutionParameterivReqSize,
+ __glXSeparableFilter2DReqSize,
+ __glXTexImage3DReqSize,
+ __glXTexSubImage3DReqSize,
+ __glXPrioritizeTexturesReqSize,
+ __glXRequestResidentProgramsNVReqSize,
+ __glXLoadProgramNVReqSize,
+ __glXProgramParameters4fvNVReqSize,
+ __glXProgramParameters4dvNVReqSize,
+ __glXVertexAttribs1svNVReqSize,
+ __glXVertexAttribs2svNVReqSize,
+ __glXVertexAttribs3svNVReqSize,
+ __glXVertexAttribs4svNVReqSize,
+ __glXVertexAttribs1fvNVReqSize,
+ __glXVertexAttribs2fvNVReqSize,
+ __glXVertexAttribs3fvNVReqSize,
+ __glXVertexAttribs4fvNVReqSize,
+ __glXVertexAttribs1dvNVReqSize,
+ __glXVertexAttribs2dvNVReqSize,
+ __glXVertexAttribs3dvNVReqSize,
+ __glXVertexAttribs4dvNVReqSize,
+ __glXVertexAttribs4ubvNVReqSize,
+ __glXProgramStringARBReqSize,
+ __glXProgramNamedParameter4fvNVReqSize,
+ __glXProgramNamedParameter4dvNVReqSize,
+ __glXPointParameterivReqSize,
+ __glXDeleteFramebuffersReqSize,
+ __glXDeleteRenderbuffersReqSize,
};
const struct __glXDispatchInfo Render_dispatch_info = {
@@ -1654,35 +1495,22 @@ static const int_fast16_t VendorPriv_dispatch_tree[152] = {
static const void *VendorPriv_function_table[104][2] = {
/* [ 0] = 0 */ {NULL, NULL},
- /* [ 1] = 1 */ {__glXDisp_GetConvolutionFilterEXT,
- __glXDispSwap_GetConvolutionFilterEXT},
- /* [ 2] = 2 */ {__glXDisp_GetConvolutionParameterfvEXT,
- __glXDispSwap_GetConvolutionParameterfvEXT},
- /* [ 3] = 3 */ {__glXDisp_GetConvolutionParameterivEXT,
- __glXDispSwap_GetConvolutionParameterivEXT},
- /* [ 4] = 4 */ {__glXDisp_GetSeparableFilterEXT,
- __glXDispSwap_GetSeparableFilterEXT},
- /* [ 5] = 5 */ {__glXDisp_GetHistogramEXT,
- __glXDispSwap_GetHistogramEXT},
- /* [ 6] = 6 */ {__glXDisp_GetHistogramParameterfvEXT,
- __glXDispSwap_GetHistogramParameterfvEXT},
- /* [ 7] = 7 */ {__glXDisp_GetHistogramParameterivEXT,
- __glXDispSwap_GetHistogramParameterivEXT},
+ /* [ 1] = 1 */ {__glXDisp_GetConvolutionFilterEXT, __glXDispSwap_GetConvolutionFilterEXT},
+ /* [ 2] = 2 */ {__glXDisp_GetConvolutionParameterfvEXT, __glXDispSwap_GetConvolutionParameterfvEXT},
+ /* [ 3] = 3 */ {__glXDisp_GetConvolutionParameterivEXT, __glXDispSwap_GetConvolutionParameterivEXT},
+ /* [ 4] = 4 */ {__glXDisp_GetSeparableFilterEXT, __glXDispSwap_GetSeparableFilterEXT},
+ /* [ 5] = 5 */ {__glXDisp_GetHistogramEXT, __glXDispSwap_GetHistogramEXT},
+ /* [ 6] = 6 */ {__glXDisp_GetHistogramParameterfvEXT, __glXDispSwap_GetHistogramParameterfvEXT},
+ /* [ 7] = 7 */ {__glXDisp_GetHistogramParameterivEXT, __glXDispSwap_GetHistogramParameterivEXT},
/* [ 8] = 8 */ {__glXDisp_GetMinmaxEXT, __glXDispSwap_GetMinmaxEXT},
- /* [ 9] = 9 */ {__glXDisp_GetMinmaxParameterfvEXT,
- __glXDispSwap_GetMinmaxParameterfvEXT},
- /* [ 10] = 10 */ {__glXDisp_GetMinmaxParameterivEXT,
- __glXDispSwap_GetMinmaxParameterivEXT},
- /* [ 11] = 11 */ {__glXDisp_AreTexturesResidentEXT,
- __glXDispSwap_AreTexturesResidentEXT},
- /* [ 12] = 12 */ {__glXDisp_DeleteTexturesEXT,
- __glXDispSwap_DeleteTexturesEXT},
- /* [ 13] = 13 */ {__glXDisp_GenTexturesEXT,
- __glXDispSwap_GenTexturesEXT},
+ /* [ 9] = 9 */ {__glXDisp_GetMinmaxParameterfvEXT, __glXDispSwap_GetMinmaxParameterfvEXT},
+ /* [ 10] = 10 */ {__glXDisp_GetMinmaxParameterivEXT, __glXDispSwap_GetMinmaxParameterivEXT},
+ /* [ 11] = 11 */ {__glXDisp_AreTexturesResidentEXT, __glXDispSwap_AreTexturesResidentEXT},
+ /* [ 12] = 12 */ {__glXDisp_DeleteTexturesEXT, __glXDispSwap_DeleteTexturesEXT},
+ /* [ 13] = 13 */ {__glXDisp_GenTexturesEXT, __glXDispSwap_GenTexturesEXT},
/* [ 14] = 14 */ {__glXDisp_IsTextureEXT, __glXDispSwap_IsTextureEXT},
/* [ 15] = 15 */ {NULL, NULL},
- /* [ 16] = 1024 */ {__glXDisp_QueryContextInfoEXT,
- __glXDispSwap_QueryContextInfoEXT},
+ /* [ 16] = 1024 */ {__glXDisp_QueryContextInfoEXT, __glXDispSwap_QueryContextInfoEXT},
/* [ 17] = 1025 */ {NULL, NULL},
/* [ 18] = 1026 */ {NULL, NULL},
/* [ 19] = 1027 */ {NULL, NULL},
@@ -1690,44 +1518,34 @@ static const void *VendorPriv_function_table[104][2] = {
/* [ 21] = 1029 */ {NULL, NULL},
/* [ 22] = 1030 */ {NULL, NULL},
/* [ 23] = 1031 */ {NULL, NULL},
- /* [ 24] = 1296 */ {__glXDisp_GetProgramEnvParameterfvARB,
- __glXDispSwap_GetProgramEnvParameterfvARB},
- /* [ 25] = 1297 */ {__glXDisp_GetProgramEnvParameterdvARB,
- __glXDispSwap_GetProgramEnvParameterdvARB},
- /* [ 26] = 1298 */ {NULL, NULL},
- /* [ 27] = 1299 */ {NULL, NULL},
- /* [ 28] = 1300 */ {NULL, NULL},
- /* [ 29] = 1301 */ {NULL, NULL},
- /* [ 30] = 1302 */ {NULL, NULL},
- /* [ 31] = 1303 */ {NULL, NULL},
+ /* [ 24] = 1296 */ {__glXDisp_GetProgramParameterfvNV, __glXDispSwap_GetProgramParameterfvNV},
+ /* [ 25] = 1297 */ {__glXDisp_GetProgramParameterdvNV, __glXDispSwap_GetProgramParameterdvNV},
+ /* [ 26] = 1298 */ {__glXDisp_GetProgramivNV, __glXDispSwap_GetProgramivNV},
+ /* [ 27] = 1299 */ {__glXDisp_GetProgramStringNV, __glXDispSwap_GetProgramStringNV},
+ /* [ 28] = 1300 */ {__glXDisp_GetTrackMatrixivNV, __glXDispSwap_GetTrackMatrixivNV},
+ /* [ 29] = 1301 */ {__glXDisp_GetVertexAttribdv, __glXDispSwap_GetVertexAttribdv},
+ /* [ 30] = 1302 */ {__glXDisp_GetVertexAttribfv, __glXDispSwap_GetVertexAttribfv},
+ /* [ 31] = 1303 */ {__glXDisp_GetVertexAttribiv, __glXDispSwap_GetVertexAttribiv},
/* [ 32] = 1304 */ {__glXDisp_IsProgramARB, __glXDispSwap_IsProgramARB},
- /* [ 33] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB,
- __glXDispSwap_GetProgramLocalParameterfvARB},
- /* [ 34] = 1306 */ {__glXDisp_GetProgramLocalParameterdvARB,
- __glXDispSwap_GetProgramLocalParameterdvARB},
- /* [ 35] = 1307 */ {__glXDisp_GetProgramivARB,
- __glXDispSwap_GetProgramivARB},
- /* [ 36] = 1308 */ {__glXDisp_GetProgramStringARB,
- __glXDispSwap_GetProgramStringARB},
+ /* [ 33] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB, __glXDispSwap_GetProgramLocalParameterfvARB},
+ /* [ 34] = 1306 */ {__glXDisp_GetProgramLocalParameterdvARB, __glXDispSwap_GetProgramLocalParameterdvARB},
+ /* [ 35] = 1307 */ {__glXDisp_GetProgramivARB, __glXDispSwap_GetProgramivARB},
+ /* [ 36] = 1308 */ {__glXDisp_GetProgramStringARB, __glXDispSwap_GetProgramStringARB},
/* [ 37] = 1309 */ {NULL, NULL},
- /* [ 38] = 1310 */ {NULL, NULL},
- /* [ 39] = 1311 */ {NULL, NULL},
+ /* [ 38] = 1310 */ {__glXDisp_GetProgramNamedParameterfvNV, __glXDispSwap_GetProgramNamedParameterfvNV},
+ /* [ 39] = 1311 */ {__glXDisp_GetProgramNamedParameterdvNV, __glXDispSwap_GetProgramNamedParameterdvNV},
/* [ 40] = 1288 */ {NULL, NULL},
/* [ 41] = 1289 */ {NULL, NULL},
/* [ 42] = 1290 */ {NULL, NULL},
/* [ 43] = 1291 */ {NULL, NULL},
/* [ 44] = 1292 */ {NULL, NULL},
- /* [ 45] = 1293 */ {NULL, NULL},
- /* [ 46] = 1294 */ {__glXDisp_DeleteProgramsARB,
- __glXDispSwap_DeleteProgramsARB},
- /* [ 47] = 1295 */ {__glXDisp_GenProgramsARB,
- __glXDispSwap_GenProgramsARB},
+ /* [ 45] = 1293 */ {__glXDisp_AreProgramsResidentNV, __glXDispSwap_AreProgramsResidentNV},
+ /* [ 46] = 1294 */ {__glXDisp_DeleteProgramsARB, __glXDispSwap_DeleteProgramsARB},
+ /* [ 47] = 1295 */ {__glXDisp_GenProgramsARB, __glXDispSwap_GenProgramsARB},
/* [ 48] = 1328 */ {NULL, NULL},
/* [ 49] = 1329 */ {NULL, NULL},
- /* [ 50] = 1330 */ {__glXDisp_BindTexImageEXT,
- __glXDispSwap_BindTexImageEXT},
- /* [ 51] = 1331 */ {__glXDisp_ReleaseTexImageEXT,
- __glXDispSwap_ReleaseTexImageEXT},
+ /* [ 50] = 1330 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT},
+ /* [ 51] = 1331 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT},
/* [ 52] = 1332 */ {NULL, NULL},
/* [ 53] = 1333 */ {NULL, NULL},
/* [ 54] = 1334 */ {NULL, NULL},
@@ -1738,62 +1556,43 @@ static const void *VendorPriv_function_table[104][2] = {
/* [ 59] = 1419 */ {NULL, NULL},
/* [ 60] = 1420 */ {NULL, NULL},
/* [ 61] = 1421 */ {NULL, NULL},
- /* [ 62] = 1422 */ {__glXDisp_IsRenderbuffer,
- __glXDispSwap_IsRenderbuffer},
- /* [ 63] = 1423 */ {__glXDisp_GenRenderbuffers,
- __glXDispSwap_GenRenderbuffers},
- /* [ 64] = 1424 */ {__glXDisp_GetRenderbufferParameteriv,
- __glXDispSwap_GetRenderbufferParameteriv},
+ /* [ 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},
+ /* [ 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},
/* [ 72] = 4096 */ {NULL, NULL},
/* [ 73] = 4097 */ {NULL, NULL},
- /* [ 74] = 4098 */ {__glXDisp_GetColorTableSGI,
- __glXDispSwap_GetColorTableSGI},
- /* [ 75] = 4099 */ {__glXDisp_GetColorTableParameterfvSGI,
- __glXDispSwap_GetColorTableParameterfvSGI},
- /* [ 76] = 4100 */ {__glXDisp_GetColorTableParameterivSGI,
- __glXDispSwap_GetColorTableParameterivSGI},
+ /* [ 74] = 4098 */ {__glXDisp_GetColorTableSGI, __glXDispSwap_GetColorTableSGI},
+ /* [ 75] = 4099 */ {__glXDisp_GetColorTableParameterfvSGI, __glXDispSwap_GetColorTableParameterfvSGI},
+ /* [ 76] = 4100 */ {__glXDisp_GetColorTableParameterivSGI, __glXDispSwap_GetColorTableParameterivSGI},
/* [ 77] = 4101 */ {NULL, NULL},
/* [ 78] = 4102 */ {NULL, NULL},
/* [ 79] = 4103 */ {NULL, NULL},
/* [ 80] = 5152 */ {NULL, NULL},
/* [ 81] = 5153 */ {NULL, NULL},
- /* [ 82] = 5154 */ {__glXDisp_CopySubBufferMESA,
- __glXDispSwap_CopySubBufferMESA},
+ /* [ 82] = 5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA},
/* [ 83] = 5155 */ {NULL, NULL},
/* [ 84] = 5156 */ {NULL, NULL},
/* [ 85] = 5157 */ {NULL, NULL},
/* [ 86] = 5158 */ {NULL, NULL},
/* [ 87] = 5159 */ {NULL, NULL},
- /* [ 88] = 65536 */ {__glXDisp_SwapIntervalSGI,
- __glXDispSwap_SwapIntervalSGI},
- /* [ 89] = 65537 */ {__glXDisp_MakeCurrentReadSGI,
- __glXDispSwap_MakeCurrentReadSGI},
+ /* [ 88] = 65536 */ {__glXDisp_SwapIntervalSGI, __glXDispSwap_SwapIntervalSGI},
+ /* [ 89] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI},
/* [ 90] = 65538 */ {NULL, NULL},
/* [ 91] = 65539 */ {NULL, NULL},
- /* [ 92] = 65540 */ {__glXDisp_GetFBConfigsSGIX,
- __glXDispSwap_GetFBConfigsSGIX},
- /* [ 93] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX,
- __glXDispSwap_CreateContextWithConfigSGIX},
- /* [ 94] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX,
- __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
- /* [ 95] = 65543 */ {__glXDisp_CreateGLXPbufferSGIX,
- __glXDispSwap_CreateGLXPbufferSGIX},
- /* [ 96] = 65544 */ {__glXDisp_DestroyGLXPbufferSGIX,
- __glXDispSwap_DestroyGLXPbufferSGIX},
- /* [ 97] = 65545 */ {__glXDisp_ChangeDrawableAttributesSGIX,
- __glXDispSwap_ChangeDrawableAttributesSGIX},
- /* [ 98] = 65546 */ {__glXDisp_GetDrawableAttributesSGIX,
- __glXDispSwap_GetDrawableAttributesSGIX},
+ /* [ 92] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX},
+ /* [ 93] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX},
+ /* [ 94] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
+ /* [ 95] = 65543 */ {__glXDisp_CreateGLXPbufferSGIX, __glXDispSwap_CreateGLXPbufferSGIX},
+ /* [ 96] = 65544 */ {__glXDisp_DestroyGLXPbufferSGIX, __glXDispSwap_DestroyGLXPbufferSGIX},
+ /* [ 97] = 65545 */ {__glXDisp_ChangeDrawableAttributesSGIX, __glXDispSwap_ChangeDrawableAttributesSGIX},
+ /* [ 98] = 65546 */ {__glXDisp_GetDrawableAttributesSGIX, __glXDispSwap_GetDrawableAttributesSGIX},
/* [ 99] = 65547 */ {NULL, NULL},
/* [ 100] = 65548 */ {NULL, NULL},
/* [ 101] = 65549 */ {NULL, NULL},
@@ -1808,3 +1607,4 @@ const struct __glXDispatchInfo VendorPriv_dispatch_info = {
NULL,
NULL
};
+
diff --git a/xorg-server/glx/indirect_texture_compression.c b/xorg-server/glx/indirect_texture_compression.c
index 2018de6ae..112811e50 100644
--- a/xorg-server/glx/indirect_texture_compression.c
+++ b/xorg-server/glx/indirect_texture_compression.c
@@ -26,6 +26,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "glxbyteorder.h"
@@ -35,6 +36,7 @@
#include "indirect_size_get.h"
#include "indirect_dispatch.h"
+#include "glfunctions.h"
int
__glXDisp_GetCompressedTexImage(struct __GLXclientStateRec *cl, GLbyte * pc)
{
diff --git a/xorg-server/glx/indirect_util.c b/xorg-server/glx/indirect_util.c
index f9d1243b1..e7f11fbad 100644
--- a/xorg-server/glx/indirect_util.c
+++ b/xorg-server/glx/indirect_util.c
@@ -26,6 +26,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include <string.h>
@@ -43,6 +44,8 @@
#include "indirect_table.h"
#include "indirect_util.h"
+#include "glfunctions.h"
+
#define __GLX_PAD(a) (((a)+3)&~3)
extern xGLXSingleReply __glXReply;
diff --git a/xorg-server/glx/makefile b/xorg-server/glx/makefile
new file mode 100644
index 000000000..345734ecf
--- /dev/null
+++ b/xorg-server/glx/makefile
@@ -0,0 +1,45 @@
+LIBRARY=libglx
+
+DEFINES += GLAPIENTRY=__stdcall _GLAPI_NO_EXPORTS
+
+
+glapi_sources = \
+ indirect_dispatch.c \
+ indirect_dispatch_swap.c \
+ indirect_reqsize.c \
+ indirect_size_get.c \
+ indirect_table.c \
+ glapi.c \
+ remap.c
+
+
+CSRCS = \
+ $(indirect_sources) \
+ $(glapi_sources) \
+ clientinfo.c \
+ createcontext.c \
+ extension_string.c \
+ indirect_util.c \
+ indirect_program.c \
+ indirect_texture_compression.c \
+ glxcmds.c \
+ glxcmdsswap.c \
+ glxext.c \
+ glxdriswrast.c \
+ glxdricommon.c \
+ glxscreens.c \
+ render2.c \
+ render2swap.c \
+ renderpix.c \
+ renderpixswap.c \
+ rensize.c \
+ single2.c \
+ single2swap.c \
+ singlepix.c \
+ singlepixswap.c \
+ singlesize.c \
+ swap_interval.c \
+ xfont.c
+
+INCLUDES := $(MHMAKECONF)\mesalib\include $(INCLUDES)
+
diff --git a/xorg-server/glx/remap.c b/xorg-server/glx/remap.c
new file mode 100644
index 000000000..75c9320b8
--- /dev/null
+++ b/xorg-server/glx/remap.c
@@ -0,0 +1,231 @@
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.7
+ *
+ * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+/**
+ * \file remap.c
+ * Remap table management.
+ *
+ * Entries in the dispatch table are either static or dynamic. The
+ * dispatch table is shared by mesa core and glapi. When they are
+ * built separately, it is possible that a static entry in mesa core
+ * is dynamic, or assigned a different static offset, in glapi. The
+ * remap table is in charge of mapping a static entry in mesa core to
+ * a dynamic entry, or the corresponding static entry, in glapi.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include "glheader.h"
+
+#include "glapi.h"
+#include "glapitable.h"
+
+#include "remap.h"
+
+#define MAX_ENTRY_POINTS 16
+
+#define need_MESA_remap_table
+#include "remap_helper.h"
+
+
+/* this is global for quick access */
+SERVEXTERN int driDispatchRemapTable[driDispatchRemapTable_size];
+
+#if 0
+/**
+ * Return the spec string associated with the given function index.
+ * The index is available from including remap_helper.h.
+ *
+ * \param func_index an opaque function index.
+ *
+ * \return the spec string associated with the function index, or NULL.
+ */
+const char *
+_mesa_get_function_spec(GLint func_index)
+{
+ if (func_index < Elements(_mesa_function_pool))
+ return _mesa_function_pool + func_index;
+ else
+ return NULL;
+}
+#endif
+
+/**
+ * Map a function by its spec. The function will be added to glapi,
+ * and the dispatch offset will be returned.
+ *
+ * \param spec a '\0'-separated string array specifying a function.
+ * It begins with the parameter signature of the function,
+ * followed by the names of the entry points. An empty entry
+ * point name terminates the array.
+ *
+ * \return the offset of the (re-)mapped function in the dispatch
+ * table, or -1.
+ */
+GLint
+_mesa_map_function_spec(const char *spec)
+{
+ const char *signature;
+ const char *names[MAX_ENTRY_POINTS + 1];
+ GLint num_names = 0;
+
+ if (!spec)
+ return -1;
+
+ signature = spec;
+ spec += strlen(spec) + 1;
+
+ /* spec is terminated by an empty string */
+ while (*spec) {
+ names[num_names] = spec;
+ num_names++;
+ if (num_names >= MAX_ENTRY_POINTS)
+ break;
+ spec += strlen(spec) + 1;
+ }
+ if (!num_names)
+ return -1;
+
+ names[num_names] = NULL;
+
+ /* add the entry points to the dispatch table */
+ return _glapi_add_dispatch(names, signature);
+}
+
+#if 0
+/**
+ * Map an array of functions. This is a convenient function for
+ * use with arrays available from including remap_helper.h.
+ *
+ * Note that the dispatch offsets of the functions are not returned.
+ * If they are needed, _mesa_map_function_spec() should be used.
+ *
+ * \param func_array an array of function remaps.
+ */
+void
+_mesa_map_function_array(const struct gl_function_remap *func_array)
+{
+ GLint i;
+
+ if (!func_array)
+ return;
+
+ for (i = 0; func_array[i].func_index != -1; i++) {
+ const char *spec;
+ GLint offset;
+
+ spec = _mesa_get_function_spec(func_array[i].func_index);
+ if (!spec) {
+ _mesa_problem(NULL, "invalid function index %d",
+ func_array[i].func_index);
+ continue;
+ }
+
+ offset = _mesa_map_function_spec(spec);
+ /* error checks */
+ if (offset < 0) {
+ const char *name = spec + strlen(spec) + 1;
+ _mesa_warning(NULL, "failed to remap %s", name);
+ }
+ else if (func_array[i].dispatch_offset >= 0 &&
+ offset != func_array[i].dispatch_offset) {
+ const char *name = spec + strlen(spec) + 1;
+ _mesa_problem(NULL, "%s should be mapped to %d, not %d",
+ name, func_array[i].dispatch_offset, offset);
+ }
+ }
+}
+
+
+/**
+ * Map the functions which are already static.
+ *
+ * When a extension function are incorporated into the ABI, the
+ * extension suffix is usually stripped. Mapping such functions
+ * makes sure the alternative names are available.
+ *
+ * Note that functions mapped by _mesa_init_remap_table() are
+ * excluded.
+ */
+void
+_mesa_map_static_functions(void)
+{
+ /* Remap static functions which have alternative names and are in the ABI.
+ * This is to be on the safe side. glapi should have defined those names.
+ */
+ _mesa_map_function_array(MESA_alt_functions);
+}
+#else
+#define ASSERT(a)
+#define _mesa_warning(a, ...) ErrorF(__VA_ARGS__)
+#endif
+
+/**
+ * Initialize the remap table. This is called in one_time_init().
+ * The remap table needs to be initialized before calling the
+ * CALL/GET/SET macros defined in main/dispatch.h.
+ */
+static void
+_mesa_do_init_remap_table(const char *pool,
+ int size,
+ const struct gl_function_pool_remap *remap)
+{
+ static GLboolean initialized = GL_FALSE;
+ GLint i;
+
+ if (initialized)
+ return;
+ initialized = GL_TRUE;
+
+ /* initialize the remap table */
+ for (i = 0; i < size; i++) {
+ GLint offset;
+ const char *spec;
+
+ /* sanity check */
+ ASSERT(i == remap[i].remap_index);
+ spec = _mesa_function_pool + remap[i].pool_index;
+
+ offset = _mesa_map_function_spec(spec);
+ /* store the dispatch offset in the remap table */
+ driDispatchRemapTable[i] = offset;
+ if (offset < 0) {
+ const char *name = spec + strlen(spec) + 1;
+ _mesa_warning(NULL, "failed to remap %s", name);
+ }
+ }
+}
+
+
+void
+_mesa_init_remap_table(void)
+{
+ _mesa_do_init_remap_table(_mesa_function_pool,
+ driDispatchRemapTable_size,
+ MESA_remap_table_functions);
+}
diff --git a/xorg-server/glx/remap.h b/xorg-server/glx/remap.h
new file mode 100644
index 000000000..fb9d24ca1
--- /dev/null
+++ b/xorg-server/glx/remap.h
@@ -0,0 +1,62 @@
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.7
+ *
+ * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef REMAP_H
+#define REMAP_H
+
+
+
+struct gl_function_pool_remap {
+ int pool_index;
+ int remap_index;
+};
+
+struct gl_function_remap {
+ int func_index;
+ int dispatch_offset; /* for sanity check */
+};
+
+
+SERVEXTERN int
+driDispatchRemapTable[];
+
+extern const char *
+_mesa_get_function_spec(int func_index);
+
+extern int
+_mesa_map_function_spec(const char *spec);
+
+extern void
+_mesa_map_function_array(const struct gl_function_remap *func_array);
+
+extern void
+_mesa_map_static_functions(void);
+
+extern void
+_mesa_init_remap_table(void);
+
+
+#endif /* REMAP_H */
diff --git a/xorg-server/glx/remap_helper.h b/xorg-server/glx/remap_helper.h
new file mode 100644
index 000000000..4905e06ff
--- /dev/null
+++ b/xorg-server/glx/remap_helper.h
@@ -0,0 +1,6923 @@
+/* DO NOT EDIT - This file generated automatically by remap_helper.py (from Mesa) script */
+
+/*
+ * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
+ * 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
+ * Chia-I Wu,
+ * 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.
+ */
+
+#include "dispatch.h"
+#include "remap.h"
+
+/* this is internal to remap.c */
+#ifndef need_MESA_remap_table
+#error Only remap.c should include this file!
+#endif /* need_MESA_remap_table */
+
+
+static const char _mesa_function_pool[] =
+ /* _mesa_function_pool[0]: MapGrid1d (offset 224) */
+ "idd\0"
+ "glMapGrid1d\0"
+ "\0"
+ /* _mesa_function_pool[17]: MapGrid1f (offset 225) */
+ "iff\0"
+ "glMapGrid1f\0"
+ "\0"
+ /* _mesa_function_pool[34]: ReplacementCodeuiVertex3fvSUN (dynamic) */
+ "pp\0"
+ "glReplacementCodeuiVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[70]: PolygonOffsetx (will be remapped) */
+ "ii\0"
+ "glPolygonOffsetxOES\0"
+ "glPolygonOffsetx\0"
+ "\0"
+ /* _mesa_function_pool[111]: FramebufferTexture (will be remapped) */
+ "iiii\0"
+ "glFramebufferTextureARB\0"
+ "glFramebufferTexture\0"
+ "\0"
+ /* _mesa_function_pool[162]: TexCoordP1ui (will be remapped) */
+ "ii\0"
+ "glTexCoordP1ui\0"
+ "\0"
+ /* _mesa_function_pool[181]: PolygonStipple (offset 175) */
+ "p\0"
+ "glPolygonStipple\0"
+ "\0"
+ /* _mesa_function_pool[201]: ListParameterfSGIX (dynamic) */
+ "iif\0"
+ "glListParameterfSGIX\0"
+ "\0"
+ /* _mesa_function_pool[227]: MultiTexCoord1dv (offset 377) */
+ "ip\0"
+ "glMultiTexCoord1dv\0"
+ "glMultiTexCoord1dvARB\0"
+ "\0"
+ /* _mesa_function_pool[272]: IsEnabled (offset 286) */
+ "i\0"
+ "glIsEnabled\0"
+ "\0"
+ /* _mesa_function_pool[287]: GetTexFilterFuncSGIS (dynamic) */
+ "iip\0"
+ "glGetTexFilterFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[315]: AttachShader (will be remapped) */
+ "ii\0"
+ "glAttachShader\0"
+ "\0"
+ /* _mesa_function_pool[334]: VertexAttrib3fARB (will be remapped) */
+ "ifff\0"
+ "glVertexAttrib3f\0"
+ "glVertexAttrib3fARB\0"
+ "\0"
+ /* _mesa_function_pool[377]: Indexubv (offset 316) */
+ "p\0"
+ "glIndexubv\0"
+ "\0"
+ /* _mesa_function_pool[391]: MultiTexCoordP3uiv (will be remapped) */
+ "iip\0"
+ "glMultiTexCoordP3uiv\0"
+ "\0"
+ /* _mesa_function_pool[417]: Color4fNormal3fVertex3fSUN (dynamic) */
+ "ffffffffff\0"
+ "glColor4fNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[458]: Color3ubv (offset 20) */
+ "p\0"
+ "glColor3ubv\0"
+ "\0"
+ /* _mesa_function_pool[473]: GetCombinerOutputParameterfvNV (dynamic) */
+ "iiip\0"
+ "glGetCombinerOutputParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[512]: Binormal3ivEXT (dynamic) */
+ "p\0"
+ "glBinormal3ivEXT\0"
+ "\0"
+ /* _mesa_function_pool[532]: GetImageTransformParameterfvHP (dynamic) */
+ "iip\0"
+ "glGetImageTransformParameterfvHP\0"
+ "\0"
+ /* _mesa_function_pool[570]: GetClipPlanex (will be remapped) */
+ "ip\0"
+ "glGetClipPlanexOES\0"
+ "glGetClipPlanex\0"
+ "\0"
+ /* _mesa_function_pool[609]: TexCoordP1uiv (will be remapped) */
+ "ip\0"
+ "glTexCoordP1uiv\0"
+ "\0"
+ /* _mesa_function_pool[629]: RenderbufferStorage (will be remapped) */
+ "iiii\0"
+ "glRenderbufferStorage\0"
+ "glRenderbufferStorageEXT\0"
+ "glRenderbufferStorageOES\0"
+ "\0"
+ /* _mesa_function_pool[707]: GetClipPlanef (will be remapped) */
+ "ip\0"
+ "glGetClipPlanefOES\0"
+ "glGetClipPlanef\0"
+ "\0"
+ /* _mesa_function_pool[746]: GetPerfQueryDataINTEL (will be remapped) */
+ "iiipp\0"
+ "glGetPerfQueryDataINTEL\0"
+ "\0"
+ /* _mesa_function_pool[777]: DrawArraysIndirect (will be remapped) */
+ "ip\0"
+ "glDrawArraysIndirect\0"
+ "\0"
+ /* _mesa_function_pool[802]: Uniform3i (will be remapped) */
+ "iiii\0"
+ "glUniform3i\0"
+ "glUniform3iARB\0"
+ "\0"
+ /* _mesa_function_pool[835]: VDPAUGetSurfaceivNV (will be remapped) */
+ "iiipp\0"
+ "glVDPAUGetSurfaceivNV\0"
+ "\0"
+ /* _mesa_function_pool[864]: ReadInstrumentsSGIX (dynamic) */
+ "i\0"
+ "glReadInstrumentsSGIX\0"
+ "\0"
+ /* _mesa_function_pool[889]: Uniform3f (will be remapped) */
+ "ifff\0"
+ "glUniform3f\0"
+ "glUniform3fARB\0"
+ "\0"
+ /* _mesa_function_pool[922]: UniformMatrix2x4fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix2x4fv\0"
+ "\0"
+ /* _mesa_function_pool[949]: QueryMatrixxOES (will be remapped) */
+ "pp\0"
+ "glQueryMatrixxOES\0"
+ "\0"
+ /* _mesa_function_pool[971]: Normal3iv (offset 59) */
+ "p\0"
+ "glNormal3iv\0"
+ "\0"
+ /* _mesa_function_pool[986]: DrawTexiOES (will be remapped) */
+ "iiiii\0"
+ "glDrawTexiOES\0"
+ "\0"
+ /* _mesa_function_pool[1007]: Viewport (offset 305) */
+ "iiii\0"
+ "glViewport\0"
+ "\0"
+ /* _mesa_function_pool[1024]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */
+ "pppp\0"
+ "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[1080]: WindowPos4svMESA (will be remapped) */
+ "p\0"
+ "glWindowPos4svMESA\0"
+ "\0"
+ /* _mesa_function_pool[1102]: FragmentLightModelivSGIX (dynamic) */
+ "ip\0"
+ "glFragmentLightModelivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[1133]: DeleteVertexArrays (will be remapped) */
+ "ip\0"
+ "glDeleteVertexArrays\0"
+ "glDeleteVertexArraysAPPLE\0"
+ "glDeleteVertexArraysOES\0"
+ "\0"
+ /* _mesa_function_pool[1208]: ClearColorIuiEXT (will be remapped) */
+ "iiii\0"
+ "glClearColorIuiEXT\0"
+ "\0"
+ /* _mesa_function_pool[1233]: GetnConvolutionFilterARB (will be remapped) */
+ "iiiip\0"
+ "glGetnConvolutionFilterARB\0"
+ "\0"
+ /* _mesa_function_pool[1267]: GetLightxv (will be remapped) */
+ "iip\0"
+ "glGetLightxvOES\0"
+ "glGetLightxv\0"
+ "\0"
+ /* _mesa_function_pool[1301]: GetConvolutionParameteriv (offset 358) */
+ "iip\0"
+ "glGetConvolutionParameteriv\0"
+ "glGetConvolutionParameterivEXT\0"
+ "\0"
+ /* _mesa_function_pool[1365]: VertexAttrib4usv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4usv\0"
+ "glVertexAttrib4usvARB\0"
+ "\0"
+ /* _mesa_function_pool[1410]: TextureStorage1DEXT (will be remapped) */
+ "iiiii\0"
+ "glTextureStorage1DEXT\0"
+ "\0"
+ /* _mesa_function_pool[1439]: VertexAttrib4Nub (will be remapped) */
+ "iiiii\0"
+ "glVertexAttrib4Nub\0"
+ "glVertexAttrib4NubARB\0"
+ "\0"
+ /* _mesa_function_pool[1487]: VertexAttribP3ui (will be remapped) */
+ "iiii\0"
+ "glVertexAttribP3ui\0"
+ "\0"
+ /* _mesa_function_pool[1512]: Color4ubVertex3fSUN (dynamic) */
+ "iiiifff\0"
+ "glColor4ubVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[1543]: PointSize (offset 173) */
+ "f\0"
+ "glPointSize\0"
+ "\0"
+ /* _mesa_function_pool[1558]: TexCoord2fVertex3fSUN (dynamic) */
+ "fffff\0"
+ "glTexCoord2fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[1589]: PopName (offset 200) */
+ "\0"
+ "glPopName\0"
+ "\0"
+ /* _mesa_function_pool[1601]: VertexAttrib4ubNV (will be remapped) */
+ "iiiii\0"
+ "glVertexAttrib4ubNV\0"
+ "\0"
+ /* _mesa_function_pool[1628]: ValidateProgramPipeline (will be remapped) */
+ "i\0"
+ "glValidateProgramPipeline\0"
+ "glValidateProgramPipelineEXT\0"
+ "\0"
+ /* _mesa_function_pool[1686]: BindFragDataLocationIndexed (will be remapped) */
+ "iiip\0"
+ "glBindFragDataLocationIndexed\0"
+ "\0"
+ /* _mesa_function_pool[1722]: GetClipPlane (offset 259) */
+ "ip\0"
+ "glGetClipPlane\0"
+ "\0"
+ /* _mesa_function_pool[1741]: CombinerParameterfvNV (dynamic) */
+ "ip\0"
+ "glCombinerParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[1769]: TexCoordP4uiv (will be remapped) */
+ "ip\0"
+ "glTexCoordP4uiv\0"
+ "\0"
+ /* _mesa_function_pool[1789]: VertexAttribs3dvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs3dvNV\0"
+ "\0"
+ /* _mesa_function_pool[1815]: GenQueries (will be remapped) */
+ "ip\0"
+ "glGenQueries\0"
+ "glGenQueriesARB\0"
+ "\0"
+ /* _mesa_function_pool[1848]: ProgramUniform4iv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform4iv\0"
+ "glProgramUniform4ivEXT\0"
+ "\0"
+ /* _mesa_function_pool[1897]: ObjectUnpurgeableAPPLE (will be remapped) */
+ "iii\0"
+ "glObjectUnpurgeableAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[1927]: TexCoord2iv (offset 107) */
+ "p\0"
+ "glTexCoord2iv\0"
+ "\0"
+ /* _mesa_function_pool[1944]: TexImage2DMultisample (will be remapped) */
+ "iiiiii\0"
+ "glTexImage2DMultisample\0"
+ "\0"
+ /* _mesa_function_pool[1976]: TexParameterx (will be remapped) */
+ "iii\0"
+ "glTexParameterxOES\0"
+ "glTexParameterx\0"
+ "\0"
+ /* _mesa_function_pool[2016]: Rotatef (offset 300) */
+ "ffff\0"
+ "glRotatef\0"
+ "\0"
+ /* _mesa_function_pool[2032]: TexParameterf (offset 178) */
+ "iif\0"
+ "glTexParameterf\0"
+ "\0"
+ /* _mesa_function_pool[2053]: TexParameteri (offset 180) */
+ "iii\0"
+ "glTexParameteri\0"
+ "\0"
+ /* _mesa_function_pool[2074]: GetUniformiv (will be remapped) */
+ "iip\0"
+ "glGetUniformiv\0"
+ "glGetUniformivARB\0"
+ "\0"
+ /* _mesa_function_pool[2112]: ClearBufferSubData (will be remapped) */
+ "iiiiiip\0"
+ "glClearBufferSubData\0"
+ "\0"
+ /* _mesa_function_pool[2142]: VDPAUFiniNV (will be remapped) */
+ "\0"
+ "glVDPAUFiniNV\0"
+ "\0"
+ /* _mesa_function_pool[2158]: GlobalAlphaFactordSUN (dynamic) */
+ "d\0"
+ "glGlobalAlphaFactordSUN\0"
+ "\0"
+ /* _mesa_function_pool[2185]: ProgramUniformMatrix4x2fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix4x2fv\0"
+ "glProgramUniformMatrix4x2fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[2251]: ProgramUniform2f (will be remapped) */
+ "iiff\0"
+ "glProgramUniform2f\0"
+ "glProgramUniform2fEXT\0"
+ "\0"
+ /* _mesa_function_pool[2298]: PixelTransformParameterfvEXT (dynamic) */
+ "iip\0"
+ "glPixelTransformParameterfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[2334]: ProgramUniform2i (will be remapped) */
+ "iiii\0"
+ "glProgramUniform2i\0"
+ "glProgramUniform2iEXT\0"
+ "\0"
+ /* _mesa_function_pool[2381]: Fogx (will be remapped) */
+ "ii\0"
+ "glFogxOES\0"
+ "glFogx\0"
+ "\0"
+ /* _mesa_function_pool[2402]: Fogf (offset 153) */
+ "if\0"
+ "glFogf\0"
+ "\0"
+ /* _mesa_function_pool[2413]: TexSubImage1D (offset 332) */
+ "iiiiiip\0"
+ "glTexSubImage1D\0"
+ "glTexSubImage1DEXT\0"
+ "\0"
+ /* _mesa_function_pool[2457]: Color4usv (offset 40) */
+ "p\0"
+ "glColor4usv\0"
+ "\0"
+ /* _mesa_function_pool[2472]: Fogi (offset 155) */
+ "ii\0"
+ "glFogi\0"
+ "\0"
+ /* _mesa_function_pool[2483]: FinalCombinerInputNV (dynamic) */
+ "iiii\0"
+ "glFinalCombinerInputNV\0"
+ "\0"
+ /* _mesa_function_pool[2512]: DepthFunc (offset 245) */
+ "i\0"
+ "glDepthFunc\0"
+ "\0"
+ /* _mesa_function_pool[2527]: GetSamplerParameterIiv (will be remapped) */
+ "iip\0"
+ "glGetSamplerParameterIiv\0"
+ "\0"
+ /* _mesa_function_pool[2557]: VertexAttribI4uiEXT (will be remapped) */
+ "iiiii\0"
+ "glVertexAttribI4uiEXT\0"
+ "glVertexAttribI4ui\0"
+ "\0"
+ /* _mesa_function_pool[2605]: DrawElementsInstancedBaseVertexBaseInstance (will be remapped) */
+ "iiipiii\0"
+ "glDrawElementsInstancedBaseVertexBaseInstance\0"
+ "\0"
+ /* _mesa_function_pool[2660]: ProgramEnvParameter4dvARB (will be remapped) */
+ "iip\0"
+ "glProgramEnvParameter4dvARB\0"
+ "glProgramParameter4dvNV\0"
+ "\0"
+ /* _mesa_function_pool[2717]: ColorTableParameteriv (offset 341) */
+ "iip\0"
+ "glColorTableParameteriv\0"
+ "glColorTableParameterivSGI\0"
+ "\0"
+ /* _mesa_function_pool[2773]: BindSamplers (will be remapped) */
+ "iip\0"
+ "glBindSamplers\0"
+ "\0"
+ /* _mesa_function_pool[2793]: GetnCompressedTexImageARB (will be remapped) */
+ "iiip\0"
+ "glGetnCompressedTexImageARB\0"
+ "\0"
+ /* _mesa_function_pool[2827]: BindSampler (will be remapped) */
+ "ii\0"
+ "glBindSampler\0"
+ "\0"
+ /* _mesa_function_pool[2845]: MultiTexCoord2fARB (offset 386) */
+ "iff\0"
+ "glMultiTexCoord2f\0"
+ "glMultiTexCoord2fARB\0"
+ "\0"
+ /* _mesa_function_pool[2889]: IndexPointer (offset 314) */
+ "iip\0"
+ "glIndexPointer\0"
+ "\0"
+ /* _mesa_function_pool[2909]: MultiTexCoord3iv (offset 397) */
+ "ip\0"
+ "glMultiTexCoord3iv\0"
+ "glMultiTexCoord3ivARB\0"
+ "\0"
+ /* _mesa_function_pool[2954]: Finish (offset 216) */
+ "\0"
+ "glFinish\0"
+ "\0"
+ /* _mesa_function_pool[2965]: ClearStencil (offset 207) */
+ "i\0"
+ "glClearStencil\0"
+ "\0"
+ /* _mesa_function_pool[2983]: ClearColorIiEXT (will be remapped) */
+ "iiii\0"
+ "glClearColorIiEXT\0"
+ "\0"
+ /* _mesa_function_pool[3007]: LoadMatrixd (offset 292) */
+ "p\0"
+ "glLoadMatrixd\0"
+ "\0"
+ /* _mesa_function_pool[3024]: VDPAURegisterOutputSurfaceNV (will be remapped) */
+ "piip\0"
+ "glVDPAURegisterOutputSurfaceNV\0"
+ "\0"
+ /* _mesa_function_pool[3061]: VertexP4ui (will be remapped) */
+ "ii\0"
+ "glVertexP4ui\0"
+ "\0"
+ /* _mesa_function_pool[3078]: SpriteParameterfvSGIX (dynamic) */
+ "ip\0"
+ "glSpriteParameterfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[3106]: GetActiveUniformName (will be remapped) */
+ "iiipp\0"
+ "glGetActiveUniformName\0"
+ "\0"
+ /* _mesa_function_pool[3136]: GetnUniformivARB (will be remapped) */
+ "iiip\0"
+ "glGetnUniformivARB\0"
+ "\0"
+ /* _mesa_function_pool[3161]: ReleaseShaderCompiler (will be remapped) */
+ "\0"
+ "glReleaseShaderCompiler\0"
+ "\0"
+ /* _mesa_function_pool[3187]: BlendFuncSeparate (will be remapped) */
+ "iiii\0"
+ "glBlendFuncSeparate\0"
+ "glBlendFuncSeparateEXT\0"
+ "glBlendFuncSeparateINGR\0"
+ "glBlendFuncSeparateOES\0"
+ "\0"
+ /* _mesa_function_pool[3283]: Color3us (offset 23) */
+ "iii\0"
+ "glColor3us\0"
+ "\0"
+ /* _mesa_function_pool[3299]: MultiDrawArraysIndirect (will be remapped) */
+ "ipii\0"
+ "glMultiDrawArraysIndirect\0"
+ "\0"
+ /* _mesa_function_pool[3331]: BufferStorage (will be remapped) */
+ "iipi\0"
+ "glBufferStorage\0"
+ "\0"
+ /* _mesa_function_pool[3353]: Color3ub (offset 19) */
+ "iii\0"
+ "glColor3ub\0"
+ "\0"
+ /* _mesa_function_pool[3369]: GetInstrumentsSGIX (dynamic) */
+ "\0"
+ "glGetInstrumentsSGIX\0"
+ "\0"
+ /* _mesa_function_pool[3392]: Color3ui (offset 21) */
+ "iii\0"
+ "glColor3ui\0"
+ "\0"
+ /* _mesa_function_pool[3408]: VertexAttrib4dvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4dvNV\0"
+ "\0"
+ /* _mesa_function_pool[3432]: AlphaFragmentOp2ATI (will be remapped) */
+ "iiiiiiiii\0"
+ "glAlphaFragmentOp2ATI\0"
+ "\0"
+ /* _mesa_function_pool[3465]: RasterPos4dv (offset 79) */
+ "p\0"
+ "glRasterPos4dv\0"
+ "\0"
+ /* _mesa_function_pool[3483]: DeleteProgramPipelines (will be remapped) */
+ "ip\0"
+ "glDeleteProgramPipelines\0"
+ "glDeleteProgramPipelinesEXT\0"
+ "\0"
+ /* _mesa_function_pool[3540]: LineWidthx (will be remapped) */
+ "i\0"
+ "glLineWidthxOES\0"
+ "glLineWidthx\0"
+ "\0"
+ /* _mesa_function_pool[3572]: Indexdv (offset 45) */
+ "p\0"
+ "glIndexdv\0"
+ "\0"
+ /* _mesa_function_pool[3585]: GetnPixelMapfvARB (will be remapped) */
+ "iip\0"
+ "glGetnPixelMapfvARB\0"
+ "\0"
+ /* _mesa_function_pool[3610]: EGLImageTargetTexture2DOES (will be remapped) */
+ "ip\0"
+ "glEGLImageTargetTexture2DOES\0"
+ "\0"
+ /* _mesa_function_pool[3643]: DepthMask (offset 211) */
+ "i\0"
+ "glDepthMask\0"
+ "\0"
+ /* _mesa_function_pool[3658]: WindowPos4ivMESA (will be remapped) */
+ "p\0"
+ "glWindowPos4ivMESA\0"
+ "\0"
+ /* _mesa_function_pool[3680]: GetShaderInfoLog (will be remapped) */
+ "iipp\0"
+ "glGetShaderInfoLog\0"
+ "\0"
+ /* _mesa_function_pool[3705]: BindFragmentShaderATI (will be remapped) */
+ "i\0"
+ "glBindFragmentShaderATI\0"
+ "\0"
+ /* _mesa_function_pool[3732]: BlendFuncSeparateiARB (will be remapped) */
+ "iiiii\0"
+ "glBlendFuncSeparateiARB\0"
+ "glBlendFuncSeparateIndexedAMD\0"
+ "\0"
+ /* _mesa_function_pool[3793]: PixelTexGenParameteriSGIS (dynamic) */
+ "ii\0"
+ "glPixelTexGenParameteriSGIS\0"
+ "\0"
+ /* _mesa_function_pool[3825]: EGLImageTargetRenderbufferStorageOES (will be remapped) */
+ "ip\0"
+ "glEGLImageTargetRenderbufferStorageOES\0"
+ "\0"
+ /* _mesa_function_pool[3868]: GenTransformFeedbacks (will be remapped) */
+ "ip\0"
+ "glGenTransformFeedbacks\0"
+ "\0"
+ /* _mesa_function_pool[3896]: VertexPointer (offset 321) */
+ "iiip\0"
+ "glVertexPointer\0"
+ "\0"
+ /* _mesa_function_pool[3918]: GetCompressedTexImage (will be remapped) */
+ "iip\0"
+ "glGetCompressedTexImage\0"
+ "glGetCompressedTexImageARB\0"
+ "\0"
+ /* _mesa_function_pool[3974]: ProgramLocalParameter4dvARB (will be remapped) */
+ "iip\0"
+ "glProgramLocalParameter4dvARB\0"
+ "\0"
+ /* _mesa_function_pool[4009]: TexCoord4fv (offset 121) */
+ "p\0"
+ "glTexCoord4fv\0"
+ "\0"
+ /* _mesa_function_pool[4026]: GetQueryObjectui64v (will be remapped) */
+ "iip\0"
+ "glGetQueryObjectui64v\0"
+ "glGetQueryObjectui64vEXT\0"
+ "\0"
+ /* _mesa_function_pool[4078]: VertexAttribP1uiv (will be remapped) */
+ "iiip\0"
+ "glVertexAttribP1uiv\0"
+ "\0"
+ /* _mesa_function_pool[4104]: IsProgram (will be remapped) */
+ "i\0"
+ "glIsProgram\0"
+ "\0"
+ /* _mesa_function_pool[4119]: TexCoordPointerListIBM (dynamic) */
+ "iiipi\0"
+ "glTexCoordPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[4151]: ResizeBuffersMESA (will be remapped) */
+ "\0"
+ "glResizeBuffersMESA\0"
+ "\0"
+ /* _mesa_function_pool[4173]: BindBuffersBase (will be remapped) */
+ "iiip\0"
+ "glBindBuffersBase\0"
+ "\0"
+ /* _mesa_function_pool[4197]: GenTextures (offset 328) */
+ "ip\0"
+ "glGenTextures\0"
+ "glGenTexturesEXT\0"
+ "\0"
+ /* _mesa_function_pool[4232]: IndexPointerListIBM (dynamic) */
+ "iipi\0"
+ "glIndexPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[4260]: WindowPos4fMESA (will be remapped) */
+ "ffff\0"
+ "glWindowPos4fMESA\0"
+ "\0"
+ /* _mesa_function_pool[4284]: VertexAttribs2fvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs2fvNV\0"
+ "\0"
+ /* _mesa_function_pool[4310]: VertexAttribP4ui (will be remapped) */
+ "iiii\0"
+ "glVertexAttribP4ui\0"
+ "\0"
+ /* _mesa_function_pool[4335]: Uniform4i (will be remapped) */
+ "iiiii\0"
+ "glUniform4i\0"
+ "glUniform4iARB\0"
+ "\0"
+ /* _mesa_function_pool[4369]: BufferParameteriAPPLE (will be remapped) */
+ "iii\0"
+ "glBufferParameteriAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[4398]: Uniform4f (will be remapped) */
+ "iffff\0"
+ "glUniform4f\0"
+ "glUniform4fARB\0"
+ "\0"
+ /* _mesa_function_pool[4432]: ProgramUniform3f (will be remapped) */
+ "iifff\0"
+ "glProgramUniform3f\0"
+ "glProgramUniform3fEXT\0"
+ "\0"
+ /* _mesa_function_pool[4480]: ProgramUniform3i (will be remapped) */
+ "iiiii\0"
+ "glProgramUniform3i\0"
+ "glProgramUniform3iEXT\0"
+ "\0"
+ /* _mesa_function_pool[4528]: PointParameterfv (will be remapped) */
+ "ip\0"
+ "glPointParameterfv\0"
+ "glPointParameterfvARB\0"
+ "glPointParameterfvEXT\0"
+ "glPointParameterfvSGIS\0"
+ "\0"
+ /* _mesa_function_pool[4618]: GetHistogramParameterfv (offset 362) */
+ "iip\0"
+ "glGetHistogramParameterfv\0"
+ "glGetHistogramParameterfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[4678]: GetString (offset 275) */
+ "i\0"
+ "glGetString\0"
+ "\0"
+ /* _mesa_function_pool[4693]: ColorPointervINTEL (dynamic) */
+ "iip\0"
+ "glColorPointervINTEL\0"
+ "\0"
+ /* _mesa_function_pool[4719]: VDPAUUnmapSurfacesNV (will be remapped) */
+ "ip\0"
+ "glVDPAUUnmapSurfacesNV\0"
+ "\0"
+ /* _mesa_function_pool[4746]: GetnHistogramARB (will be remapped) */
+ "iiiiip\0"
+ "glGetnHistogramARB\0"
+ "\0"
+ /* _mesa_function_pool[4773]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */
+ "pppp\0"
+ "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[4826]: SecondaryColor3s (will be remapped) */
+ "iii\0"
+ "glSecondaryColor3s\0"
+ "glSecondaryColor3sEXT\0"
+ "\0"
+ /* _mesa_function_pool[4872]: VertexAttribP2uiv (will be remapped) */
+ "iiip\0"
+ "glVertexAttribP2uiv\0"
+ "\0"
+ /* _mesa_function_pool[4898]: GetDetailTexFuncSGIS (dynamic) */
+ "ip\0"
+ "glGetDetailTexFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[4925]: VertexAttrib3fNV (will be remapped) */
+ "ifff\0"
+ "glVertexAttrib3fNV\0"
+ "\0"
+ /* _mesa_function_pool[4950]: SecondaryColor3b (will be remapped) */
+ "iii\0"
+ "glSecondaryColor3b\0"
+ "glSecondaryColor3bEXT\0"
+ "\0"
+ /* _mesa_function_pool[4996]: EnableClientState (offset 313) */
+ "i\0"
+ "glEnableClientState\0"
+ "\0"
+ /* _mesa_function_pool[5019]: Color4ubVertex2fvSUN (dynamic) */
+ "pp\0"
+ "glColor4ubVertex2fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[5046]: SecondaryColor3i (will be remapped) */
+ "iii\0"
+ "glSecondaryColor3i\0"
+ "glSecondaryColor3iEXT\0"
+ "\0"
+ /* _mesa_function_pool[5092]: TexFilterFuncSGIS (dynamic) */
+ "iiip\0"
+ "glTexFilterFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[5118]: GetFragmentMaterialfvSGIX (dynamic) */
+ "iip\0"
+ "glGetFragmentMaterialfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[5151]: DetailTexFuncSGIS (dynamic) */
+ "iip\0"
+ "glDetailTexFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[5176]: FlushMappedBufferRange (will be remapped) */
+ "iii\0"
+ "glFlushMappedBufferRange\0"
+ "glFlushMappedBufferRangeEXT\0"
+ "\0"
+ /* _mesa_function_pool[5234]: Lightfv (offset 160) */
+ "iip\0"
+ "glLightfv\0"
+ "\0"
+ /* _mesa_function_pool[5249]: GetFramebufferAttachmentParameteriv (will be remapped) */
+ "iiip\0"
+ "glGetFramebufferAttachmentParameteriv\0"
+ "glGetFramebufferAttachmentParameterivEXT\0"
+ "glGetFramebufferAttachmentParameterivOES\0"
+ "\0"
+ /* _mesa_function_pool[5375]: ColorSubTable (offset 346) */
+ "iiiiip\0"
+ "glColorSubTable\0"
+ "glColorSubTableEXT\0"
+ "\0"
+ /* _mesa_function_pool[5418]: EndPerfMonitorAMD (will be remapped) */
+ "i\0"
+ "glEndPerfMonitorAMD\0"
+ "\0"
+ /* _mesa_function_pool[5441]: Uniform1ui (will be remapped) */
+ "ii\0"
+ "glUniform1uiEXT\0"
+ "glUniform1ui\0"
+ "\0"
+ /* _mesa_function_pool[5474]: MapParameterivNV (dynamic) */
+ "iip\0"
+ "glMapParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[5498]: GetMultisamplefv (will be remapped) */
+ "iip\0"
+ "glGetMultisamplefv\0"
+ "\0"
+ /* _mesa_function_pool[5522]: WeightbvARB (dynamic) */
+ "ip\0"
+ "glWeightbvARB\0"
+ "\0"
+ /* _mesa_function_pool[5540]: Rectdv (offset 87) */
+ "pp\0"
+ "glRectdv\0"
+ "\0"
+ /* _mesa_function_pool[5553]: DrawArraysInstancedARB (will be remapped) */
+ "iiii\0"
+ "glDrawArraysInstancedARB\0"
+ "glDrawArraysInstancedEXT\0"
+ "glDrawArraysInstanced\0"
+ "\0"
+ /* _mesa_function_pool[5631]: ProgramEnvParameters4fvEXT (will be remapped) */
+ "iiip\0"
+ "glProgramEnvParameters4fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[5666]: VertexAttrib2svNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib2svNV\0"
+ "\0"
+ /* _mesa_function_pool[5690]: SecondaryColorP3uiv (will be remapped) */
+ "ip\0"
+ "glSecondaryColorP3uiv\0"
+ "\0"
+ /* _mesa_function_pool[5716]: GetnPixelMapuivARB (will be remapped) */
+ "iip\0"
+ "glGetnPixelMapuivARB\0"
+ "\0"
+ /* _mesa_function_pool[5742]: GetSamplerParameterIuiv (will be remapped) */
+ "iip\0"
+ "glGetSamplerParameterIuiv\0"
+ "\0"
+ /* _mesa_function_pool[5773]: PointParameterxv (will be remapped) */
+ "ip\0"
+ "glPointParameterxvOES\0"
+ "glPointParameterxv\0"
+ "\0"
+ /* _mesa_function_pool[5818]: CompressedTexSubImage3D (will be remapped) */
+ "iiiiiiiiiip\0"
+ "glCompressedTexSubImage3D\0"
+ "glCompressedTexSubImage3DARB\0"
+ "glCompressedTexSubImage3DOES\0"
+ "\0"
+ /* _mesa_function_pool[5915]: BindFramebufferEXT (will be remapped) */
+ "ii\0"
+ "glBindFramebufferEXT\0"
+ "\0"
+ /* _mesa_function_pool[5940]: Color3dv (offset 12) */
+ "p\0"
+ "glColor3dv\0"
+ "\0"
+ /* _mesa_function_pool[5954]: BeginQuery (will be remapped) */
+ "ii\0"
+ "glBeginQuery\0"
+ "glBeginQueryARB\0"
+ "\0"
+ /* _mesa_function_pool[5987]: VertexP3uiv (will be remapped) */
+ "ip\0"
+ "glVertexP3uiv\0"
+ "\0"
+ /* _mesa_function_pool[6005]: GetUniformLocation (will be remapped) */
+ "ip\0"
+ "glGetUniformLocation\0"
+ "glGetUniformLocationARB\0"
+ "\0"
+ /* _mesa_function_pool[6054]: PixelStoref (offset 249) */
+ "if\0"
+ "glPixelStoref\0"
+ "\0"
+ /* _mesa_function_pool[6072]: WindowPos2iv (will be remapped) */
+ "p\0"
+ "glWindowPos2iv\0"
+ "glWindowPos2ivARB\0"
+ "glWindowPos2ivMESA\0"
+ "\0"
+ /* _mesa_function_pool[6127]: PixelStorei (offset 250) */
+ "ii\0"
+ "glPixelStorei\0"
+ "\0"
+ /* _mesa_function_pool[6145]: VertexAttribs1svNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs1svNV\0"
+ "\0"
+ /* _mesa_function_pool[6171]: RequestResidentProgramsNV (will be remapped) */
+ "ip\0"
+ "glRequestResidentProgramsNV\0"
+ "\0"
+ /* _mesa_function_pool[6203]: ListParameterivSGIX (dynamic) */
+ "iip\0"
+ "glListParameterivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[6230]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
+ "pppp\0"
+ "glTexCoord2fColor4fNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[6276]: CheckFramebufferStatus (will be remapped) */
+ "i\0"
+ "glCheckFramebufferStatus\0"
+ "glCheckFramebufferStatusEXT\0"
+ "glCheckFramebufferStatusOES\0"
+ "\0"
+ /* _mesa_function_pool[6360]: DispatchComputeIndirect (will be remapped) */
+ "i\0"
+ "glDispatchComputeIndirect\0"
+ "\0"
+ /* _mesa_function_pool[6389]: InvalidateBufferData (will be remapped) */
+ "i\0"
+ "glInvalidateBufferData\0"
+ "\0"
+ /* _mesa_function_pool[6415]: VDPAUMapSurfacesNV (will be remapped) */
+ "ip\0"
+ "glVDPAUMapSurfacesNV\0"
+ "\0"
+ /* _mesa_function_pool[6440]: IsFramebuffer (will be remapped) */
+ "i\0"
+ "glIsFramebuffer\0"
+ "glIsFramebufferEXT\0"
+ "glIsFramebufferOES\0"
+ "\0"
+ /* _mesa_function_pool[6497]: GetPixelTexGenParameterfvSGIS (dynamic) */
+ "ip\0"
+ "glGetPixelTexGenParameterfvSGIS\0"
+ "\0"
+ /* _mesa_function_pool[6533]: GetDoublev (offset 260) */
+ "ip\0"
+ "glGetDoublev\0"
+ "\0"
+ /* _mesa_function_pool[6550]: GetObjectLabel (will be remapped) */
+ "iiipp\0"
+ "glGetObjectLabel\0"
+ "\0"
+ /* _mesa_function_pool[6574]: TextureLightEXT (dynamic) */
+ "i\0"
+ "glTextureLightEXT\0"
+ "\0"
+ /* _mesa_function_pool[6595]: ColorP3uiv (will be remapped) */
+ "ip\0"
+ "glColorP3uiv\0"
+ "\0"
+ /* _mesa_function_pool[6612]: CombinerParameteriNV (dynamic) */
+ "ii\0"
+ "glCombinerParameteriNV\0"
+ "\0"
+ /* _mesa_function_pool[6639]: Normal3fVertex3fvSUN (dynamic) */
+ "pp\0"
+ "glNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[6666]: VertexAttribI4ivEXT (will be remapped) */
+ "ip\0"
+ "glVertexAttribI4ivEXT\0"
+ "glVertexAttribI4iv\0"
+ "\0"
+ /* _mesa_function_pool[6711]: SecondaryColor3ubv (will be remapped) */
+ "p\0"
+ "glSecondaryColor3ubv\0"
+ "glSecondaryColor3ubvEXT\0"
+ "\0"
+ /* _mesa_function_pool[6759]: GetDebugMessageLog (will be remapped) */
+ "iipppppp\0"
+ "glGetDebugMessageLogARB\0"
+ "glGetDebugMessageLog\0"
+ "\0"
+ /* _mesa_function_pool[6814]: DeformationMap3fSGIX (dynamic) */
+ "iffiiffiiffiip\0"
+ "glDeformationMap3fSGIX\0"
+ "\0"
+ /* _mesa_function_pool[6853]: MatrixIndexubvARB (dynamic) */
+ "ip\0"
+ "glMatrixIndexubvARB\0"
+ "\0"
+ /* _mesa_function_pool[6877]: VertexAttribI4usv (will be remapped) */
+ "ip\0"
+ "glVertexAttribI4usvEXT\0"
+ "glVertexAttribI4usv\0"
+ "\0"
+ /* _mesa_function_pool[6924]: PixelTexGenParameterfSGIS (dynamic) */
+ "if\0"
+ "glPixelTexGenParameterfSGIS\0"
+ "\0"
+ /* _mesa_function_pool[6956]: ProgramUniform2ui (will be remapped) */
+ "iiii\0"
+ "glProgramUniform2ui\0"
+ "glProgramUniform2uiEXT\0"
+ "\0"
+ /* _mesa_function_pool[7005]: TexCoord2fVertex3fvSUN (dynamic) */
+ "pp\0"
+ "glTexCoord2fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[7034]: Color4ubVertex3fvSUN (dynamic) */
+ "pp\0"
+ "glColor4ubVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[7061]: GetShaderSource (will be remapped) */
+ "iipp\0"
+ "glGetShaderSource\0"
+ "glGetShaderSourceARB\0"
+ "\0"
+ /* _mesa_function_pool[7106]: BindProgramARB (will be remapped) */
+ "ii\0"
+ "glBindProgramARB\0"
+ "glBindProgramNV\0"
+ "\0"
+ /* _mesa_function_pool[7143]: VertexAttrib3sNV (will be remapped) */
+ "iiii\0"
+ "glVertexAttrib3sNV\0"
+ "\0"
+ /* _mesa_function_pool[7168]: ColorFragmentOp1ATI (will be remapped) */
+ "iiiiiii\0"
+ "glColorFragmentOp1ATI\0"
+ "\0"
+ /* _mesa_function_pool[7199]: ProgramUniformMatrix4x3fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix4x3fv\0"
+ "glProgramUniformMatrix4x3fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[7265]: PopClientAttrib (offset 334) */
+ "\0"
+ "glPopClientAttrib\0"
+ "\0"
+ /* _mesa_function_pool[7285]: DrawElementsInstancedARB (will be remapped) */
+ "iiipi\0"
+ "glDrawElementsInstancedARB\0"
+ "glDrawElementsInstancedEXT\0"
+ "glDrawElementsInstanced\0"
+ "\0"
+ /* _mesa_function_pool[7370]: GetQueryObjectuiv (will be remapped) */
+ "iip\0"
+ "glGetQueryObjectuiv\0"
+ "glGetQueryObjectuivARB\0"
+ "\0"
+ /* _mesa_function_pool[7418]: VertexAttribI4bv (will be remapped) */
+ "ip\0"
+ "glVertexAttribI4bvEXT\0"
+ "glVertexAttribI4bv\0"
+ "\0"
+ /* _mesa_function_pool[7463]: FogCoordPointerListIBM (dynamic) */
+ "iipi\0"
+ "glFogCoordPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[7494]: Binormal3sEXT (dynamic) */
+ "iii\0"
+ "glBinormal3sEXT\0"
+ "\0"
+ /* _mesa_function_pool[7515]: ListBase (offset 6) */
+ "i\0"
+ "glListBase\0"
+ "\0"
+ /* _mesa_function_pool[7529]: GenerateMipmap (will be remapped) */
+ "i\0"
+ "glGenerateMipmap\0"
+ "glGenerateMipmapEXT\0"
+ "glGenerateMipmapOES\0"
+ "\0"
+ /* _mesa_function_pool[7589]: BindBufferRange (will be remapped) */
+ "iiiii\0"
+ "glBindBufferRange\0"
+ "glBindBufferRangeEXT\0"
+ "\0"
+ /* _mesa_function_pool[7635]: ProgramUniformMatrix2x4fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix2x4fv\0"
+ "glProgramUniformMatrix2x4fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[7701]: GetQueryObjectiv (will be remapped) */
+ "iip\0"
+ "glGetQueryObjectiv\0"
+ "glGetQueryObjectivARB\0"
+ "\0"
+ /* _mesa_function_pool[7747]: VertexAttrib2s (will be remapped) */
+ "iii\0"
+ "glVertexAttrib2s\0"
+ "glVertexAttrib2sARB\0"
+ "\0"
+ /* _mesa_function_pool[7789]: SecondaryColor3fvEXT (will be remapped) */
+ "p\0"
+ "glSecondaryColor3fv\0"
+ "glSecondaryColor3fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[7835]: VertexAttrib2d (will be remapped) */
+ "idd\0"
+ "glVertexAttrib2d\0"
+ "glVertexAttrib2dARB\0"
+ "\0"
+ /* _mesa_function_pool[7877]: Uniform1fv (will be remapped) */
+ "iip\0"
+ "glUniform1fv\0"
+ "glUniform1fvARB\0"
+ "\0"
+ /* _mesa_function_pool[7911]: GetProgramPipelineInfoLog (will be remapped) */
+ "iipp\0"
+ "glGetProgramPipelineInfoLog\0"
+ "glGetProgramPipelineInfoLogEXT\0"
+ "\0"
+ /* _mesa_function_pool[7976]: TextureMaterialEXT (dynamic) */
+ "ii\0"
+ "glTextureMaterialEXT\0"
+ "\0"
+ /* _mesa_function_pool[8001]: DepthBoundsEXT (will be remapped) */
+ "dd\0"
+ "glDepthBoundsEXT\0"
+ "\0"
+ /* _mesa_function_pool[8022]: WindowPos3fv (will be remapped) */
+ "p\0"
+ "glWindowPos3fv\0"
+ "glWindowPos3fvARB\0"
+ "glWindowPos3fvMESA\0"
+ "\0"
+ /* _mesa_function_pool[8077]: BindVertexArrayAPPLE (will be remapped) */
+ "i\0"
+ "glBindVertexArrayAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[8103]: GetHistogramParameteriv (offset 363) */
+ "iip\0"
+ "glGetHistogramParameteriv\0"
+ "glGetHistogramParameterivEXT\0"
+ "\0"
+ /* _mesa_function_pool[8163]: PointParameteriv (will be remapped) */
+ "ip\0"
+ "glPointParameteriv\0"
+ "glPointParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[8207]: GetProgramivARB (will be remapped) */
+ "iip\0"
+ "glGetProgramivARB\0"
+ "\0"
+ /* _mesa_function_pool[8230]: BindRenderbuffer (will be remapped) */
+ "ii\0"
+ "glBindRenderbuffer\0"
+ "glBindRenderbufferOES\0"
+ "\0"
+ /* _mesa_function_pool[8275]: SecondaryColor3fEXT (will be remapped) */
+ "fff\0"
+ "glSecondaryColor3f\0"
+ "glSecondaryColor3fEXT\0"
+ "\0"
+ /* _mesa_function_pool[8321]: PrimitiveRestartIndex (will be remapped) */
+ "i\0"
+ "glPrimitiveRestartIndex\0"
+ "glPrimitiveRestartIndexNV\0"
+ "\0"
+ /* _mesa_function_pool[8374]: VertexAttribI4ubv (will be remapped) */
+ "ip\0"
+ "glVertexAttribI4ubvEXT\0"
+ "glVertexAttribI4ubv\0"
+ "\0"
+ /* _mesa_function_pool[8421]: GetGraphicsResetStatusARB (will be remapped) */
+ "\0"
+ "glGetGraphicsResetStatusARB\0"
+ "\0"
+ /* _mesa_function_pool[8451]: ActiveStencilFaceEXT (will be remapped) */
+ "i\0"
+ "glActiveStencilFaceEXT\0"
+ "\0"
+ /* _mesa_function_pool[8477]: VertexAttrib4dNV (will be remapped) */
+ "idddd\0"
+ "glVertexAttrib4dNV\0"
+ "\0"
+ /* _mesa_function_pool[8503]: DepthRange (offset 288) */
+ "dd\0"
+ "glDepthRange\0"
+ "\0"
+ /* _mesa_function_pool[8520]: TexBumpParameterivATI (will be remapped) */
+ "ip\0"
+ "glTexBumpParameterivATI\0"
+ "\0"
+ /* _mesa_function_pool[8548]: VertexAttrib4fNV (will be remapped) */
+ "iffff\0"
+ "glVertexAttrib4fNV\0"
+ "\0"
+ /* _mesa_function_pool[8574]: Uniform4fv (will be remapped) */
+ "iip\0"
+ "glUniform4fv\0"
+ "glUniform4fvARB\0"
+ "\0"
+ /* _mesa_function_pool[8608]: DrawMeshArraysSUN (dynamic) */
+ "iiii\0"
+ "glDrawMeshArraysSUN\0"
+ "\0"
+ /* _mesa_function_pool[8634]: GetMapControlPointsNV (dynamic) */
+ "iiiiiip\0"
+ "glGetMapControlPointsNV\0"
+ "\0"
+ /* _mesa_function_pool[8667]: SpriteParameterivSGIX (dynamic) */
+ "ip\0"
+ "glSpriteParameterivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[8695]: Frustumf (will be remapped) */
+ "ffffff\0"
+ "glFrustumfOES\0"
+ "glFrustumf\0"
+ "\0"
+ /* _mesa_function_pool[8728]: ProgramUniform2uiv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform2uiv\0"
+ "glProgramUniform2uivEXT\0"
+ "\0"
+ /* _mesa_function_pool[8779]: Rectsv (offset 93) */
+ "pp\0"
+ "glRectsv\0"
+ "\0"
+ /* _mesa_function_pool[8792]: Frustumx (will be remapped) */
+ "iiiiii\0"
+ "glFrustumxOES\0"
+ "glFrustumx\0"
+ "\0"
+ /* _mesa_function_pool[8825]: CullFace (offset 152) */
+ "i\0"
+ "glCullFace\0"
+ "\0"
+ /* _mesa_function_pool[8839]: BindTexture (offset 307) */
+ "ii\0"
+ "glBindTexture\0"
+ "glBindTextureEXT\0"
+ "\0"
+ /* _mesa_function_pool[8874]: MultiTexCoord4fARB (offset 402) */
+ "iffff\0"
+ "glMultiTexCoord4f\0"
+ "glMultiTexCoord4fARB\0"
+ "\0"
+ /* _mesa_function_pool[8920]: MultiTexCoordP2uiv (will be remapped) */
+ "iip\0"
+ "glMultiTexCoordP2uiv\0"
+ "\0"
+ /* _mesa_function_pool[8946]: NormalPointervINTEL (dynamic) */
+ "ip\0"
+ "glNormalPointervINTEL\0"
+ "\0"
+ /* _mesa_function_pool[8972]: NormalPointer (offset 318) */
+ "iip\0"
+ "glNormalPointer\0"
+ "\0"
+ /* _mesa_function_pool[8993]: TangentPointerEXT (dynamic) */
+ "iip\0"
+ "glTangentPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[9018]: WindowPos4iMESA (will be remapped) */
+ "iiii\0"
+ "glWindowPos4iMESA\0"
+ "\0"
+ /* _mesa_function_pool[9042]: ReferencePlaneSGIX (dynamic) */
+ "p\0"
+ "glReferencePlaneSGIX\0"
+ "\0"
+ /* _mesa_function_pool[9066]: VertexAttrib4bv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4bv\0"
+ "glVertexAttrib4bvARB\0"
+ "\0"
+ /* _mesa_function_pool[9109]: ReplacementCodeuivSUN (dynamic) */
+ "p\0"
+ "glReplacementCodeuivSUN\0"
+ "\0"
+ /* _mesa_function_pool[9136]: SecondaryColor3usv (will be remapped) */
+ "p\0"
+ "glSecondaryColor3usv\0"
+ "glSecondaryColor3usvEXT\0"
+ "\0"
+ /* _mesa_function_pool[9184]: GetPixelMapuiv (offset 272) */
+ "ip\0"
+ "glGetPixelMapuiv\0"
+ "\0"
+ /* _mesa_function_pool[9205]: Indexfv (offset 47) */
+ "p\0"
+ "glIndexfv\0"
+ "\0"
+ /* _mesa_function_pool[9218]: AlphaFragmentOp1ATI (will be remapped) */
+ "iiiiii\0"
+ "glAlphaFragmentOp1ATI\0"
+ "\0"
+ /* _mesa_function_pool[9248]: ListParameteriSGIX (dynamic) */
+ "iii\0"
+ "glListParameteriSGIX\0"
+ "\0"
+ /* _mesa_function_pool[9274]: GetFloatv (offset 262) */
+ "ip\0"
+ "glGetFloatv\0"
+ "\0"
+ /* _mesa_function_pool[9290]: MultiTexCoord3i (offset 396) */
+ "iiii\0"
+ "glMultiTexCoord3i\0"
+ "glMultiTexCoord3iARB\0"
+ "\0"
+ /* _mesa_function_pool[9335]: ProgramUniform1fv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform1fv\0"
+ "glProgramUniform1fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[9384]: MultiTexCoord3d (offset 392) */
+ "iddd\0"
+ "glMultiTexCoord3d\0"
+ "glMultiTexCoord3dARB\0"
+ "\0"
+ /* _mesa_function_pool[9429]: TexCoord3sv (offset 117) */
+ "p\0"
+ "glTexCoord3sv\0"
+ "\0"
+ /* _mesa_function_pool[9446]: Fogfv (offset 154) */
+ "ip\0"
+ "glFogfv\0"
+ "\0"
+ /* _mesa_function_pool[9458]: Minmax (offset 368) */
+ "iii\0"
+ "glMinmax\0"
+ "glMinmaxEXT\0"
+ "\0"
+ /* _mesa_function_pool[9484]: MultiTexCoord3s (offset 398) */
+ "iiii\0"
+ "glMultiTexCoord3s\0"
+ "glMultiTexCoord3sARB\0"
+ "\0"
+ /* _mesa_function_pool[9529]: FinishTextureSUNX (dynamic) */
+ "\0"
+ "glFinishTextureSUNX\0"
+ "\0"
+ /* _mesa_function_pool[9551]: GetFinalCombinerInputParameterfvNV (dynamic) */
+ "iip\0"
+ "glGetFinalCombinerInputParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[9593]: PollInstrumentsSGIX (dynamic) */
+ "p\0"
+ "glPollInstrumentsSGIX\0"
+ "\0"
+ /* _mesa_function_pool[9618]: Vertex4iv (offset 147) */
+ "p\0"
+ "glVertex4iv\0"
+ "\0"
+ /* _mesa_function_pool[9633]: BufferSubData (will be remapped) */
+ "iiip\0"
+ "glBufferSubData\0"
+ "glBufferSubDataARB\0"
+ "\0"
+ /* _mesa_function_pool[9674]: AlphaFragmentOp3ATI (will be remapped) */
+ "iiiiiiiiiiii\0"
+ "glAlphaFragmentOp3ATI\0"
+ "\0"
+ /* _mesa_function_pool[9710]: Begin (offset 7) */
+ "i\0"
+ "glBegin\0"
+ "\0"
+ /* _mesa_function_pool[9721]: LightModeli (offset 165) */
+ "ii\0"
+ "glLightModeli\0"
+ "\0"
+ /* _mesa_function_pool[9739]: UniformMatrix2fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix2fv\0"
+ "glUniformMatrix2fvARB\0"
+ "\0"
+ /* _mesa_function_pool[9786]: LightModelf (offset 163) */
+ "if\0"
+ "glLightModelf\0"
+ "\0"
+ /* _mesa_function_pool[9804]: GetTexParameterfv (offset 282) */
+ "iip\0"
+ "glGetTexParameterfv\0"
+ "\0"
+ /* _mesa_function_pool[9829]: BinormalPointerEXT (dynamic) */
+ "iip\0"
+ "glBinormalPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[9855]: GetCombinerInputParameterivNV (dynamic) */
+ "iiiip\0"
+ "glGetCombinerInputParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[9894]: DeleteAsyncMarkersSGIX (dynamic) */
+ "ii\0"
+ "glDeleteAsyncMarkersSGIX\0"
+ "\0"
+ /* _mesa_function_pool[9923]: MultiTexCoord2fvARB (offset 387) */
+ "ip\0"
+ "glMultiTexCoord2fv\0"
+ "glMultiTexCoord2fvARB\0"
+ "\0"
+ /* _mesa_function_pool[9968]: VertexAttrib4ubv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4ubv\0"
+ "glVertexAttrib4ubvARB\0"
+ "\0"
+ /* _mesa_function_pool[10013]: GetnTexImageARB (will be remapped) */
+ "iiiiip\0"
+ "glGetnTexImageARB\0"
+ "\0"
+ /* _mesa_function_pool[10039]: ColorMask (offset 210) */
+ "iiii\0"
+ "glColorMask\0"
+ "\0"
+ /* _mesa_function_pool[10057]: GenAsyncMarkersSGIX (dynamic) */
+ "i\0"
+ "glGenAsyncMarkersSGIX\0"
+ "\0"
+ /* _mesa_function_pool[10082]: ReplacementCodeuiVertex3fSUN (dynamic) */
+ "ifff\0"
+ "glReplacementCodeuiVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[10119]: VertexAttribI4sv (will be remapped) */
+ "ip\0"
+ "glVertexAttribI4svEXT\0"
+ "glVertexAttribI4sv\0"
+ "\0"
+ /* _mesa_function_pool[10164]: DrawElementsInstancedBaseInstance (will be remapped) */
+ "iiipii\0"
+ "glDrawElementsInstancedBaseInstance\0"
+ "\0"
+ /* _mesa_function_pool[10208]: UniformMatrix4fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix4fv\0"
+ "glUniformMatrix4fvARB\0"
+ "\0"
+ /* _mesa_function_pool[10255]: UniformMatrix3x2fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix3x2fv\0"
+ "\0"
+ /* _mesa_function_pool[10282]: VertexAttrib4Nuiv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4Nuiv\0"
+ "glVertexAttrib4NuivARB\0"
+ "\0"
+ /* _mesa_function_pool[10329]: ClientActiveTexture (offset 375) */
+ "i\0"
+ "glClientActiveTexture\0"
+ "glClientActiveTextureARB\0"
+ "\0"
+ /* _mesa_function_pool[10379]: GetUniformIndices (will be remapped) */
+ "iipp\0"
+ "glGetUniformIndices\0"
+ "\0"
+ /* _mesa_function_pool[10405]: GetTexBumpParameterivATI (will be remapped) */
+ "ip\0"
+ "glGetTexBumpParameterivATI\0"
+ "\0"
+ /* _mesa_function_pool[10436]: Binormal3bEXT (dynamic) */
+ "iii\0"
+ "glBinormal3bEXT\0"
+ "\0"
+ /* _mesa_function_pool[10457]: CombinerParameterivNV (dynamic) */
+ "ip\0"
+ "glCombinerParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[10485]: MultiTexCoord2sv (offset 391) */
+ "ip\0"
+ "glMultiTexCoord2sv\0"
+ "glMultiTexCoord2svARB\0"
+ "\0"
+ /* _mesa_function_pool[10530]: LoadIdentity (offset 290) */
+ "\0"
+ "glLoadIdentity\0"
+ "\0"
+ /* _mesa_function_pool[10547]: ActiveShaderProgram (will be remapped) */
+ "ii\0"
+ "glActiveShaderProgram\0"
+ "glActiveShaderProgramEXT\0"
+ "\0"
+ /* _mesa_function_pool[10598]: BindImageTextures (will be remapped) */
+ "iip\0"
+ "glBindImageTextures\0"
+ "\0"
+ /* _mesa_function_pool[10623]: DeleteTransformFeedbacks (will be remapped) */
+ "ip\0"
+ "glDeleteTransformFeedbacks\0"
+ "\0"
+ /* _mesa_function_pool[10654]: VertexAttrib4ubvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4ubvNV\0"
+ "\0"
+ /* _mesa_function_pool[10679]: FogCoordfEXT (will be remapped) */
+ "f\0"
+ "glFogCoordf\0"
+ "glFogCoordfEXT\0"
+ "\0"
+ /* _mesa_function_pool[10709]: GetMapfv (offset 267) */
+ "iip\0"
+ "glGetMapfv\0"
+ "\0"
+ /* _mesa_function_pool[10725]: GetProgramInfoLog (will be remapped) */
+ "iipp\0"
+ "glGetProgramInfoLog\0"
+ "\0"
+ /* _mesa_function_pool[10751]: BindTransformFeedback (will be remapped) */
+ "ii\0"
+ "glBindTransformFeedback\0"
+ "\0"
+ /* _mesa_function_pool[10779]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */
+ "pppp\0"
+ "glTexCoord4fColor4fNormal3fVertex4fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[10825]: GetPixelMapfv (offset 271) */
+ "ip\0"
+ "glGetPixelMapfv\0"
+ "\0"
+ /* _mesa_function_pool[10845]: WeightivARB (dynamic) */
+ "ip\0"
+ "glWeightivARB\0"
+ "\0"
+ /* _mesa_function_pool[10863]: VertexAttrib4svNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4svNV\0"
+ "\0"
+ /* _mesa_function_pool[10887]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */
+ "ifffff\0"
+ "glReplacementCodeuiTexCoord2fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[10936]: VDPAUSurfaceAccessNV (will be remapped) */
+ "ii\0"
+ "glVDPAUSurfaceAccessNV\0"
+ "\0"
+ /* _mesa_function_pool[10963]: EdgeFlagPointer (offset 312) */
+ "ip\0"
+ "glEdgeFlagPointer\0"
+ "\0"
+ /* _mesa_function_pool[10985]: WindowPos2f (will be remapped) */
+ "ff\0"
+ "glWindowPos2f\0"
+ "glWindowPos2fARB\0"
+ "glWindowPos2fMESA\0"
+ "\0"
+ /* _mesa_function_pool[11038]: WindowPos2d (will be remapped) */
+ "dd\0"
+ "glWindowPos2d\0"
+ "glWindowPos2dARB\0"
+ "glWindowPos2dMESA\0"
+ "\0"
+ /* _mesa_function_pool[11091]: WindowPos2i (will be remapped) */
+ "ii\0"
+ "glWindowPos2i\0"
+ "glWindowPos2iARB\0"
+ "glWindowPos2iMESA\0"
+ "\0"
+ /* _mesa_function_pool[11144]: WindowPos2s (will be remapped) */
+ "ii\0"
+ "glWindowPos2s\0"
+ "glWindowPos2sARB\0"
+ "glWindowPos2sMESA\0"
+ "\0"
+ /* _mesa_function_pool[11197]: VertexAttribI1uiEXT (will be remapped) */
+ "ii\0"
+ "glVertexAttribI1uiEXT\0"
+ "glVertexAttribI1ui\0"
+ "\0"
+ /* _mesa_function_pool[11242]: DeleteSync (will be remapped) */
+ "i\0"
+ "glDeleteSync\0"
+ "\0"
+ /* _mesa_function_pool[11258]: WindowPos4fvMESA (will be remapped) */
+ "p\0"
+ "glWindowPos4fvMESA\0"
+ "\0"
+ /* _mesa_function_pool[11280]: CompressedTexImage3D (will be remapped) */
+ "iiiiiiiip\0"
+ "glCompressedTexImage3D\0"
+ "glCompressedTexImage3DARB\0"
+ "glCompressedTexImage3DOES\0"
+ "\0"
+ /* _mesa_function_pool[11366]: VertexAttribI1uiv (will be remapped) */
+ "ip\0"
+ "glVertexAttribI1uivEXT\0"
+ "glVertexAttribI1uiv\0"
+ "\0"
+ /* _mesa_function_pool[11413]: SecondaryColor3dv (will be remapped) */
+ "p\0"
+ "glSecondaryColor3dv\0"
+ "glSecondaryColor3dvEXT\0"
+ "\0"
+ /* _mesa_function_pool[11459]: GetListParameterivSGIX (dynamic) */
+ "iip\0"
+ "glGetListParameterivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[11489]: GetnPixelMapusvARB (will be remapped) */
+ "iip\0"
+ "glGetnPixelMapusvARB\0"
+ "\0"
+ /* _mesa_function_pool[11515]: VertexAttrib3s (will be remapped) */
+ "iiii\0"
+ "glVertexAttrib3s\0"
+ "glVertexAttrib3sARB\0"
+ "\0"
+ /* _mesa_function_pool[11558]: UniformMatrix4x3fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix4x3fv\0"
+ "\0"
+ /* _mesa_function_pool[11585]: Binormal3dEXT (dynamic) */
+ "ddd\0"
+ "glBinormal3dEXT\0"
+ "\0"
+ /* _mesa_function_pool[11606]: GetQueryiv (will be remapped) */
+ "iip\0"
+ "glGetQueryiv\0"
+ "glGetQueryivARB\0"
+ "\0"
+ /* _mesa_function_pool[11640]: VertexAttrib3d (will be remapped) */
+ "iddd\0"
+ "glVertexAttrib3d\0"
+ "glVertexAttrib3dARB\0"
+ "\0"
+ /* _mesa_function_pool[11683]: ImageTransformParameterfHP (dynamic) */
+ "iif\0"
+ "glImageTransformParameterfHP\0"
+ "\0"
+ /* _mesa_function_pool[11717]: MapBuffer (will be remapped) */
+ "ii\0"
+ "glMapBuffer\0"
+ "glMapBufferARB\0"
+ "glMapBufferOES\0"
+ "\0"
+ /* _mesa_function_pool[11763]: VertexAttrib4Nbv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4Nbv\0"
+ "glVertexAttrib4NbvARB\0"
+ "\0"
+ /* _mesa_function_pool[11808]: ProgramBinary (will be remapped) */
+ "iipi\0"
+ "glProgramBinary\0"
+ "glProgramBinaryOES\0"
+ "\0"
+ /* _mesa_function_pool[11849]: InvalidateTexImage (will be remapped) */
+ "ii\0"
+ "glInvalidateTexImage\0"
+ "\0"
+ /* _mesa_function_pool[11874]: Uniform4ui (will be remapped) */
+ "iiiii\0"
+ "glUniform4uiEXT\0"
+ "glUniform4ui\0"
+ "\0"
+ /* _mesa_function_pool[11910]: VertexAttrib1fARB (will be remapped) */
+ "if\0"
+ "glVertexAttrib1f\0"
+ "glVertexAttrib1fARB\0"
+ "\0"
+ /* _mesa_function_pool[11951]: GetBooleani_v (will be remapped) */
+ "iip\0"
+ "glGetBooleanIndexedvEXT\0"
+ "glGetBooleani_v\0"
+ "\0"
+ /* _mesa_function_pool[11996]: DrawTexsOES (will be remapped) */
+ "iiiii\0"
+ "glDrawTexsOES\0"
+ "\0"
+ /* _mesa_function_pool[12017]: GetObjectPtrLabel (will be remapped) */
+ "pipp\0"
+ "glGetObjectPtrLabel\0"
+ "\0"
+ /* _mesa_function_pool[12043]: ProgramParameteri (will be remapped) */
+ "iii\0"
+ "glProgramParameteriARB\0"
+ "glProgramParameteri\0"
+ "glProgramParameteriEXT\0"
+ "\0"
+ /* _mesa_function_pool[12114]: SecondaryColorPointerListIBM (dynamic) */
+ "iiipi\0"
+ "glSecondaryColorPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[12152]: Color3fv (offset 14) */
+ "p\0"
+ "glColor3fv\0"
+ "\0"
+ /* _mesa_function_pool[12166]: ReplacementCodeubSUN (dynamic) */
+ "i\0"
+ "glReplacementCodeubSUN\0"
+ "\0"
+ /* _mesa_function_pool[12192]: GetnMapfvARB (will be remapped) */
+ "iiip\0"
+ "glGetnMapfvARB\0"
+ "\0"
+ /* _mesa_function_pool[12213]: MultiTexCoord2i (offset 388) */
+ "iii\0"
+ "glMultiTexCoord2i\0"
+ "glMultiTexCoord2iARB\0"
+ "\0"
+ /* _mesa_function_pool[12257]: MultiTexCoord2d (offset 384) */
+ "idd\0"
+ "glMultiTexCoord2d\0"
+ "glMultiTexCoord2dARB\0"
+ "\0"
+ /* _mesa_function_pool[12301]: SamplerParameterIuiv (will be remapped) */
+ "iip\0"
+ "glSamplerParameterIuiv\0"
+ "\0"
+ /* _mesa_function_pool[12329]: MultiTexCoord2s (offset 390) */
+ "iii\0"
+ "glMultiTexCoord2s\0"
+ "glMultiTexCoord2sARB\0"
+ "\0"
+ /* _mesa_function_pool[12373]: VDPAURegisterVideoSurfaceNV (will be remapped) */
+ "piip\0"
+ "glVDPAURegisterVideoSurfaceNV\0"
+ "\0"
+ /* _mesa_function_pool[12409]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
+ "ffffffffffff\0"
+ "glTexCoord2fColor4fNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[12462]: BindBufferBase (will be remapped) */
+ "iii\0"
+ "glBindBufferBase\0"
+ "glBindBufferBaseEXT\0"
+ "\0"
+ /* _mesa_function_pool[12504]: GetPerfMonitorCounterDataAMD (will be remapped) */
+ "iiipp\0"
+ "glGetPerfMonitorCounterDataAMD\0"
+ "\0"
+ /* _mesa_function_pool[12542]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glReplacementCodeuiNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[12587]: MultTransposeMatrixf (will be remapped) */
+ "p\0"
+ "glMultTransposeMatrixf\0"
+ "glMultTransposeMatrixfARB\0"
+ "\0"
+ /* _mesa_function_pool[12639]: PolygonOffsetEXT (will be remapped) */
+ "ff\0"
+ "glPolygonOffsetEXT\0"
+ "\0"
+ /* _mesa_function_pool[12662]: Scalex (will be remapped) */
+ "iii\0"
+ "glScalexOES\0"
+ "glScalex\0"
+ "\0"
+ /* _mesa_function_pool[12688]: Scaled (offset 301) */
+ "ddd\0"
+ "glScaled\0"
+ "\0"
+ /* _mesa_function_pool[12702]: Scalef (offset 302) */
+ "fff\0"
+ "glScalef\0"
+ "\0"
+ /* _mesa_function_pool[12716]: IndexPointerEXT (will be remapped) */
+ "iiip\0"
+ "glIndexPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[12740]: GetUniformfv (will be remapped) */
+ "iip\0"
+ "glGetUniformfv\0"
+ "glGetUniformfvARB\0"
+ "\0"
+ /* _mesa_function_pool[12778]: ColorFragmentOp2ATI (will be remapped) */
+ "iiiiiiiiii\0"
+ "glColorFragmentOp2ATI\0"
+ "\0"
+ /* _mesa_function_pool[12812]: VertexAttrib2sNV (will be remapped) */
+ "iii\0"
+ "glVertexAttrib2sNV\0"
+ "\0"
+ /* _mesa_function_pool[12836]: ReadPixels (offset 256) */
+ "iiiiiip\0"
+ "glReadPixels\0"
+ "\0"
+ /* _mesa_function_pool[12858]: NormalPointerListIBM (dynamic) */
+ "iipi\0"
+ "glNormalPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[12887]: QueryCounter (will be remapped) */
+ "ii\0"
+ "glQueryCounter\0"
+ "\0"
+ /* _mesa_function_pool[12906]: NormalPointerEXT (will be remapped) */
+ "iiip\0"
+ "glNormalPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[12931]: ProgramUniform3iv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform3iv\0"
+ "glProgramUniform3ivEXT\0"
+ "\0"
+ /* _mesa_function_pool[12980]: GetActiveUniformBlockName (will be remapped) */
+ "iiipp\0"
+ "glGetActiveUniformBlockName\0"
+ "\0"
+ /* _mesa_function_pool[13015]: DrawElementsBaseVertex (will be remapped) */
+ "iiipi\0"
+ "glDrawElementsBaseVertex\0"
+ "\0"
+ /* _mesa_function_pool[13047]: RasterPos3iv (offset 75) */
+ "p\0"
+ "glRasterPos3iv\0"
+ "\0"
+ /* _mesa_function_pool[13065]: ColorMaski (will be remapped) */
+ "iiiii\0"
+ "glColorMaskIndexedEXT\0"
+ "glColorMaski\0"
+ "\0"
+ /* _mesa_function_pool[13107]: Uniform2uiv (will be remapped) */
+ "iip\0"
+ "glUniform2uivEXT\0"
+ "glUniform2uiv\0"
+ "\0"
+ /* _mesa_function_pool[13143]: RasterPos3s (offset 76) */
+ "iii\0"
+ "glRasterPos3s\0"
+ "\0"
+ /* _mesa_function_pool[13162]: RasterPos3d (offset 70) */
+ "ddd\0"
+ "glRasterPos3d\0"
+ "\0"
+ /* _mesa_function_pool[13181]: RasterPos3f (offset 72) */
+ "fff\0"
+ "glRasterPos3f\0"
+ "\0"
+ /* _mesa_function_pool[13200]: BindVertexArray (will be remapped) */
+ "i\0"
+ "glBindVertexArray\0"
+ "glBindVertexArrayOES\0"
+ "\0"
+ /* _mesa_function_pool[13242]: RasterPos3i (offset 74) */
+ "iii\0"
+ "glRasterPos3i\0"
+ "\0"
+ /* _mesa_function_pool[13261]: GetTexParameterIuiv (will be remapped) */
+ "iip\0"
+ "glGetTexParameterIuivEXT\0"
+ "glGetTexParameterIuiv\0"
+ "\0"
+ /* _mesa_function_pool[13313]: DrawTransformFeedbackStreamInstanced (will be remapped) */
+ "iiii\0"
+ "glDrawTransformFeedbackStreamInstanced\0"
+ "\0"
+ /* _mesa_function_pool[13358]: VertexAttrib2fvARB (will be remapped) */
+ "ip\0"
+ "glVertexAttrib2fv\0"
+ "glVertexAttrib2fvARB\0"
+ "\0"
+ /* _mesa_function_pool[13401]: VertexPointerListIBM (dynamic) */
+ "iiipi\0"
+ "glVertexPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[13431]: TexCoord2fNormal3fVertex3fSUN (dynamic) */
+ "ffffffff\0"
+ "glTexCoord2fNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[13473]: IsFenceNV (dynamic) */
+ "i\0"
+ "glIsFenceNV\0"
+ "\0"
+ /* _mesa_function_pool[13488]: ColorTable (offset 339) */
+ "iiiiip\0"
+ "glColorTable\0"
+ "glColorTableSGI\0"
+ "glColorTableEXT\0"
+ "\0"
+ /* _mesa_function_pool[13541]: LoadName (offset 198) */
+ "i\0"
+ "glLoadName\0"
+ "\0"
+ /* _mesa_function_pool[13555]: Color3fVertex3fSUN (dynamic) */
+ "ffffff\0"
+ "glColor3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[13584]: GetnUniformuivARB (will be remapped) */
+ "iiip\0"
+ "glGetnUniformuivARB\0"
+ "\0"
+ /* _mesa_function_pool[13610]: ClearIndex (offset 205) */
+ "f\0"
+ "glClearIndex\0"
+ "\0"
+ /* _mesa_function_pool[13626]: ConvolutionParameterfv (offset 351) */
+ "iip\0"
+ "glConvolutionParameterfv\0"
+ "glConvolutionParameterfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[13684]: TbufferMask3DFX (dynamic) */
+ "i\0"
+ "glTbufferMask3DFX\0"
+ "\0"
+ /* _mesa_function_pool[13705]: GetTexGendv (offset 278) */
+ "iip\0"
+ "glGetTexGendv\0"
+ "\0"
+ /* _mesa_function_pool[13724]: MultiTexCoordP1ui (will be remapped) */
+ "iii\0"
+ "glMultiTexCoordP1ui\0"
+ "\0"
+ /* _mesa_function_pool[13749]: EvalMesh2 (offset 238) */
+ "iiiii\0"
+ "glEvalMesh2\0"
+ "\0"
+ /* _mesa_function_pool[13768]: Vertex4fv (offset 145) */
+ "p\0"
+ "glVertex4fv\0"
+ "\0"
+ /* _mesa_function_pool[13783]: SelectPerfMonitorCountersAMD (will be remapped) */
+ "iiiip\0"
+ "glSelectPerfMonitorCountersAMD\0"
+ "\0"
+ /* _mesa_function_pool[13821]: BindFramebuffer (will be remapped) */
+ "ii\0"
+ "glBindFramebuffer\0"
+ "glBindFramebufferOES\0"
+ "\0"
+ /* _mesa_function_pool[13864]: CreateProgram (will be remapped) */
+ "\0"
+ "glCreateProgram\0"
+ "\0"
+ /* _mesa_function_pool[13882]: GetMinmax (offset 364) */
+ "iiiip\0"
+ "glGetMinmax\0"
+ "glGetMinmaxEXT\0"
+ "\0"
+ /* _mesa_function_pool[13916]: Color3fVertex3fvSUN (dynamic) */
+ "pp\0"
+ "glColor3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[13942]: VertexAttribs3svNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs3svNV\0"
+ "\0"
+ /* _mesa_function_pool[13968]: GetActiveUniformsiv (will be remapped) */
+ "iipip\0"
+ "glGetActiveUniformsiv\0"
+ "\0"
+ /* _mesa_function_pool[13997]: VertexAttrib2sv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib2sv\0"
+ "glVertexAttrib2svARB\0"
+ "\0"
+ /* _mesa_function_pool[14040]: GetProgramEnvParameterdvARB (will be remapped) */
+ "iip\0"
+ "glGetProgramEnvParameterdvARB\0"
+ "\0"
+ /* _mesa_function_pool[14075]: VertexAttrib1dNV (will be remapped) */
+ "id\0"
+ "glVertexAttrib1dNV\0"
+ "\0"
+ /* _mesa_function_pool[14098]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */
+ "iffffff\0"
+ "glReplacementCodeuiNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[14146]: GetPerfMonitorGroupStringAMD (will be remapped) */
+ "iipp\0"
+ "glGetPerfMonitorGroupStringAMD\0"
+ "\0"
+ /* _mesa_function_pool[14183]: GetError (offset 261) */
+ "\0"
+ "glGetError\0"
+ "\0"
+ /* _mesa_function_pool[14196]: PassThrough (offset 199) */
+ "f\0"
+ "glPassThrough\0"
+ "\0"
+ /* _mesa_function_pool[14213]: GetListParameterfvSGIX (dynamic) */
+ "iip\0"
+ "glGetListParameterfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[14243]: GetObjectParameterivAPPLE (will be remapped) */
+ "iiip\0"
+ "glGetObjectParameterivAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[14277]: GlobalAlphaFactorubSUN (dynamic) */
+ "i\0"
+ "glGlobalAlphaFactorubSUN\0"
+ "\0"
+ /* _mesa_function_pool[14305]: BindBuffersRange (will be remapped) */
+ "iiippp\0"
+ "glBindBuffersRange\0"
+ "\0"
+ /* _mesa_function_pool[14332]: VertexAttrib4fvARB (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4fv\0"
+ "glVertexAttrib4fvARB\0"
+ "\0"
+ /* _mesa_function_pool[14375]: WindowPos3dv (will be remapped) */
+ "p\0"
+ "glWindowPos3dv\0"
+ "glWindowPos3dvARB\0"
+ "glWindowPos3dvMESA\0"
+ "\0"
+ /* _mesa_function_pool[14430]: TexGenxOES (will be remapped) */
+ "iii\0"
+ "glTexGenxOES\0"
+ "\0"
+ /* _mesa_function_pool[14448]: DeleteFencesNV (dynamic) */
+ "ip\0"
+ "glDeleteFencesNV\0"
+ "\0"
+ /* _mesa_function_pool[14469]: GetImageTransformParameterivHP (dynamic) */
+ "iip\0"
+ "glGetImageTransformParameterivHP\0"
+ "\0"
+ /* _mesa_function_pool[14507]: StencilOp (offset 244) */
+ "iii\0"
+ "glStencilOp\0"
+ "\0"
+ /* _mesa_function_pool[14524]: Binormal3fEXT (dynamic) */
+ "fff\0"
+ "glBinormal3fEXT\0"
+ "\0"
+ /* _mesa_function_pool[14545]: ProgramUniform1iv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform1iv\0"
+ "glProgramUniform1ivEXT\0"
+ "\0"
+ /* _mesa_function_pool[14594]: ProgramUniform3ui (will be remapped) */
+ "iiiii\0"
+ "glProgramUniform3ui\0"
+ "glProgramUniform3uiEXT\0"
+ "\0"
+ /* _mesa_function_pool[14644]: SecondaryColor3sv (will be remapped) */
+ "p\0"
+ "glSecondaryColor3sv\0"
+ "glSecondaryColor3svEXT\0"
+ "\0"
+ /* _mesa_function_pool[14690]: TexCoordP3ui (will be remapped) */
+ "ii\0"
+ "glTexCoordP3ui\0"
+ "\0"
+ /* _mesa_function_pool[14709]: Fogxv (will be remapped) */
+ "ip\0"
+ "glFogxvOES\0"
+ "glFogxv\0"
+ "\0"
+ /* _mesa_function_pool[14732]: VertexPointervINTEL (dynamic) */
+ "iip\0"
+ "glVertexPointervINTEL\0"
+ "\0"
+ /* _mesa_function_pool[14759]: VertexAttribP1ui (will be remapped) */
+ "iiii\0"
+ "glVertexAttribP1ui\0"
+ "\0"
+ /* _mesa_function_pool[14784]: DeleteLists (offset 4) */
+ "ii\0"
+ "glDeleteLists\0"
+ "\0"
+ /* _mesa_function_pool[14802]: LogicOp (offset 242) */
+ "i\0"
+ "glLogicOp\0"
+ "\0"
+ /* _mesa_function_pool[14815]: RenderbufferStorageMultisample (will be remapped) */
+ "iiiii\0"
+ "glRenderbufferStorageMultisample\0"
+ "glRenderbufferStorageMultisampleEXT\0"
+ "\0"
+ /* _mesa_function_pool[14891]: WindowPos3d (will be remapped) */
+ "ddd\0"
+ "glWindowPos3d\0"
+ "glWindowPos3dARB\0"
+ "glWindowPos3dMESA\0"
+ "\0"
+ /* _mesa_function_pool[14945]: Enablei (will be remapped) */
+ "ii\0"
+ "glEnableIndexedEXT\0"
+ "glEnablei\0"
+ "\0"
+ /* _mesa_function_pool[14978]: WindowPos3f (will be remapped) */
+ "fff\0"
+ "glWindowPos3f\0"
+ "glWindowPos3fARB\0"
+ "glWindowPos3fMESA\0"
+ "\0"
+ /* _mesa_function_pool[15032]: GenProgramsARB (will be remapped) */
+ "ip\0"
+ "glGenProgramsARB\0"
+ "glGenProgramsNV\0"
+ "\0"
+ /* _mesa_function_pool[15069]: RasterPos2sv (offset 69) */
+ "p\0"
+ "glRasterPos2sv\0"
+ "\0"
+ /* _mesa_function_pool[15087]: WindowPos3i (will be remapped) */
+ "iii\0"
+ "glWindowPos3i\0"
+ "glWindowPos3iARB\0"
+ "glWindowPos3iMESA\0"
+ "\0"
+ /* _mesa_function_pool[15141]: MultiTexCoord4iv (offset 405) */
+ "ip\0"
+ "glMultiTexCoord4iv\0"
+ "glMultiTexCoord4ivARB\0"
+ "\0"
+ /* _mesa_function_pool[15186]: TexCoord1sv (offset 101) */
+ "p\0"
+ "glTexCoord1sv\0"
+ "\0"
+ /* _mesa_function_pool[15203]: WindowPos3s (will be remapped) */
+ "iii\0"
+ "glWindowPos3s\0"
+ "glWindowPos3sARB\0"
+ "glWindowPos3sMESA\0"
+ "\0"
+ /* _mesa_function_pool[15257]: PixelMapusv (offset 253) */
+ "iip\0"
+ "glPixelMapusv\0"
+ "\0"
+ /* _mesa_function_pool[15276]: DebugMessageInsert (will be remapped) */
+ "iiiiip\0"
+ "glDebugMessageInsertARB\0"
+ "glDebugMessageInsert\0"
+ "\0"
+ /* _mesa_function_pool[15329]: Orthof (will be remapped) */
+ "ffffff\0"
+ "glOrthofOES\0"
+ "glOrthof\0"
+ "\0"
+ /* _mesa_function_pool[15358]: CompressedTexImage2D (will be remapped) */
+ "iiiiiiip\0"
+ "glCompressedTexImage2D\0"
+ "glCompressedTexImage2DARB\0"
+ "\0"
+ /* _mesa_function_pool[15417]: DeleteObjectARB (will be remapped) */
+ "i\0"
+ "glDeleteObjectARB\0"
+ "\0"
+ /* _mesa_function_pool[15438]: IsSync (will be remapped) */
+ "i\0"
+ "glIsSync\0"
+ "\0"
+ /* _mesa_function_pool[15450]: Color4uiv (offset 38) */
+ "p\0"
+ "glColor4uiv\0"
+ "\0"
+ /* _mesa_function_pool[15465]: MultiTexCoord1sv (offset 383) */
+ "ip\0"
+ "glMultiTexCoord1sv\0"
+ "glMultiTexCoord1svARB\0"
+ "\0"
+ /* _mesa_function_pool[15510]: Orthox (will be remapped) */
+ "iiiiii\0"
+ "glOrthoxOES\0"
+ "glOrthox\0"
+ "\0"
+ /* _mesa_function_pool[15539]: PushAttrib (offset 219) */
+ "i\0"
+ "glPushAttrib\0"
+ "\0"
+ /* _mesa_function_pool[15555]: RasterPos2i (offset 66) */
+ "ii\0"
+ "glRasterPos2i\0"
+ "\0"
+ /* _mesa_function_pool[15573]: ClipPlane (offset 150) */
+ "ip\0"
+ "glClipPlane\0"
+ "\0"
+ /* _mesa_function_pool[15589]: TexCoord2fColor3fVertex3fSUN (dynamic) */
+ "ffffffff\0"
+ "glTexCoord2fColor3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[15630]: GetProgramivNV (will be remapped) */
+ "iip\0"
+ "glGetProgramivNV\0"
+ "\0"
+ /* _mesa_function_pool[15652]: RasterPos2f (offset 64) */
+ "ff\0"
+ "glRasterPos2f\0"
+ "\0"
+ /* _mesa_function_pool[15670]: RasterPos2d (offset 62) */
+ "dd\0"
+ "glRasterPos2d\0"
+ "\0"
+ /* _mesa_function_pool[15688]: RasterPos3fv (offset 73) */
+ "p\0"
+ "glRasterPos3fv\0"
+ "\0"
+ /* _mesa_function_pool[15706]: InvalidateSubFramebuffer (will be remapped) */
+ "iipiiii\0"
+ "glInvalidateSubFramebuffer\0"
+ "\0"
+ /* _mesa_function_pool[15742]: Color4ub (offset 35) */
+ "iiii\0"
+ "glColor4ub\0"
+ "\0"
+ /* _mesa_function_pool[15759]: RasterPos2s (offset 68) */
+ "ii\0"
+ "glRasterPos2s\0"
+ "\0"
+ /* _mesa_function_pool[15777]: Color4fNormal3fVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glColor4fNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[15812]: GetVertexAttribivNV (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribivNV\0"
+ "\0"
+ /* _mesa_function_pool[15839]: TexSubImage4DSGIS (dynamic) */
+ "iiiiiiiiiiiip\0"
+ "glTexSubImage4DSGIS\0"
+ "\0"
+ /* _mesa_function_pool[15874]: MultiTexCoord3dv (offset 393) */
+ "ip\0"
+ "glMultiTexCoord3dv\0"
+ "glMultiTexCoord3dvARB\0"
+ "\0"
+ /* _mesa_function_pool[15919]: BindProgramPipeline (will be remapped) */
+ "i\0"
+ "glBindProgramPipeline\0"
+ "glBindProgramPipelineEXT\0"
+ "\0"
+ /* _mesa_function_pool[15969]: VertexAttribP4uiv (will be remapped) */
+ "iiip\0"
+ "glVertexAttribP4uiv\0"
+ "\0"
+ /* _mesa_function_pool[15995]: DebugMessageCallback (will be remapped) */
+ "pp\0"
+ "glDebugMessageCallbackARB\0"
+ "glDebugMessageCallback\0"
+ "\0"
+ /* _mesa_function_pool[16048]: MultiTexCoord1i (offset 380) */
+ "ii\0"
+ "glMultiTexCoord1i\0"
+ "glMultiTexCoord1iARB\0"
+ "\0"
+ /* _mesa_function_pool[16091]: WindowPos2dv (will be remapped) */
+ "p\0"
+ "glWindowPos2dv\0"
+ "glWindowPos2dvARB\0"
+ "glWindowPos2dvMESA\0"
+ "\0"
+ /* _mesa_function_pool[16146]: TexParameterIuiv (will be remapped) */
+ "iip\0"
+ "glTexParameterIuivEXT\0"
+ "glTexParameterIuiv\0"
+ "\0"
+ /* _mesa_function_pool[16192]: DeletePerfQueryINTEL (will be remapped) */
+ "i\0"
+ "glDeletePerfQueryINTEL\0"
+ "\0"
+ /* _mesa_function_pool[16218]: MultiTexCoord1d (offset 376) */
+ "id\0"
+ "glMultiTexCoord1d\0"
+ "glMultiTexCoord1dARB\0"
+ "\0"
+ /* _mesa_function_pool[16261]: GenVertexArraysAPPLE (will be remapped) */
+ "ip\0"
+ "glGenVertexArraysAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[16288]: MultiTexCoord1s (offset 382) */
+ "ii\0"
+ "glMultiTexCoord1s\0"
+ "glMultiTexCoord1sARB\0"
+ "\0"
+ /* _mesa_function_pool[16331]: BeginConditionalRender (will be remapped) */
+ "ii\0"
+ "glBeginConditionalRender\0"
+ "glBeginConditionalRenderNV\0"
+ "\0"
+ /* _mesa_function_pool[16387]: LoadPaletteFromModelViewMatrixOES (dynamic) */
+ "\0"
+ "glLoadPaletteFromModelViewMatrixOES\0"
+ "\0"
+ /* _mesa_function_pool[16425]: GetShaderiv (will be remapped) */
+ "iip\0"
+ "glGetShaderiv\0"
+ "\0"
+ /* _mesa_function_pool[16444]: GetMapAttribParameterfvNV (dynamic) */
+ "iiip\0"
+ "glGetMapAttribParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[16478]: CopyConvolutionFilter1D (offset 354) */
+ "iiiii\0"
+ "glCopyConvolutionFilter1D\0"
+ "glCopyConvolutionFilter1DEXT\0"
+ "\0"
+ /* _mesa_function_pool[16540]: ClearBufferfv (will be remapped) */
+ "iip\0"
+ "glClearBufferfv\0"
+ "\0"
+ /* _mesa_function_pool[16561]: InstrumentsBufferSGIX (dynamic) */
+ "ip\0"
+ "glInstrumentsBufferSGIX\0"
+ "\0"
+ /* _mesa_function_pool[16589]: CreateShaderObjectARB (will be remapped) */
+ "i\0"
+ "glCreateShaderObjectARB\0"
+ "\0"
+ /* _mesa_function_pool[16616]: GetTexParameterxv (will be remapped) */
+ "iip\0"
+ "glGetTexParameterxvOES\0"
+ "glGetTexParameterxv\0"
+ "\0"
+ /* _mesa_function_pool[16664]: GetAttachedShaders (will be remapped) */
+ "iipp\0"
+ "glGetAttachedShaders\0"
+ "\0"
+ /* _mesa_function_pool[16691]: ClearBufferfi (will be remapped) */
+ "iifi\0"
+ "glClearBufferfi\0"
+ "\0"
+ /* _mesa_function_pool[16713]: Materialiv (offset 172) */
+ "iip\0"
+ "glMaterialiv\0"
+ "\0"
+ /* _mesa_function_pool[16731]: DeleteFragmentShaderATI (will be remapped) */
+ "i\0"
+ "glDeleteFragmentShaderATI\0"
+ "\0"
+ /* _mesa_function_pool[16760]: Tangent3dvEXT (dynamic) */
+ "p\0"
+ "glTangent3dvEXT\0"
+ "\0"
+ /* _mesa_function_pool[16779]: DrawElementsInstancedBaseVertex (will be remapped) */
+ "iiipii\0"
+ "glDrawElementsInstancedBaseVertex\0"
+ "\0"
+ /* _mesa_function_pool[16821]: DisableClientState (offset 309) */
+ "i\0"
+ "glDisableClientState\0"
+ "\0"
+ /* _mesa_function_pool[16845]: TexGeni (offset 192) */
+ "iii\0"
+ "glTexGeni\0"
+ "glTexGeniOES\0"
+ "\0"
+ /* _mesa_function_pool[16873]: TexGenf (offset 190) */
+ "iif\0"
+ "glTexGenf\0"
+ "glTexGenfOES\0"
+ "\0"
+ /* _mesa_function_pool[16901]: TexGend (offset 188) */
+ "iid\0"
+ "glTexGend\0"
+ "\0"
+ /* _mesa_function_pool[16916]: GetVertexAttribfvNV (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribfvNV\0"
+ "\0"
+ /* _mesa_function_pool[16943]: ColorPointerListIBM (dynamic) */
+ "iiipi\0"
+ "glColorPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[16972]: Color4sv (offset 34) */
+ "p\0"
+ "glColor4sv\0"
+ "\0"
+ /* _mesa_function_pool[16986]: GetCombinerInputParameterfvNV (dynamic) */
+ "iiiip\0"
+ "glGetCombinerInputParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[17025]: LoadTransposeMatrixf (will be remapped) */
+ "p\0"
+ "glLoadTransposeMatrixf\0"
+ "glLoadTransposeMatrixfARB\0"
+ "\0"
+ /* _mesa_function_pool[17077]: LoadTransposeMatrixd (will be remapped) */
+ "p\0"
+ "glLoadTransposeMatrixd\0"
+ "glLoadTransposeMatrixdARB\0"
+ "\0"
+ /* _mesa_function_pool[17129]: PixelZoom (offset 246) */
+ "ff\0"
+ "glPixelZoom\0"
+ "\0"
+ /* _mesa_function_pool[17145]: ProgramEnvParameter4dARB (will be remapped) */
+ "iidddd\0"
+ "glProgramEnvParameter4dARB\0"
+ "glProgramParameter4dNV\0"
+ "\0"
+ /* _mesa_function_pool[17203]: ColorTableParameterfv (offset 340) */
+ "iip\0"
+ "glColorTableParameterfv\0"
+ "glColorTableParameterfvSGI\0"
+ "\0"
+ /* _mesa_function_pool[17259]: IsTexture (offset 330) */
+ "i\0"
+ "glIsTexture\0"
+ "glIsTextureEXT\0"
+ "\0"
+ /* _mesa_function_pool[17289]: ProgramUniform3uiv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform3uiv\0"
+ "glProgramUniform3uivEXT\0"
+ "\0"
+ /* _mesa_function_pool[17340]: ProgramUniform2fv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform2fv\0"
+ "glProgramUniform2fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[17389]: ImageTransformParameterivHP (dynamic) */
+ "iip\0"
+ "glImageTransformParameterivHP\0"
+ "\0"
+ /* _mesa_function_pool[17424]: VertexAttrib4sNV (will be remapped) */
+ "iiiii\0"
+ "glVertexAttrib4sNV\0"
+ "\0"
+ /* _mesa_function_pool[17450]: GetMapdv (offset 266) */
+ "iip\0"
+ "glGetMapdv\0"
+ "\0"
+ /* _mesa_function_pool[17466]: GenVertexArrays (will be remapped) */
+ "ip\0"
+ "glGenVertexArrays\0"
+ "glGenVertexArraysOES\0"
+ "\0"
+ /* _mesa_function_pool[17509]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */
+ "iiiiifff\0"
+ "glReplacementCodeuiColor4ubVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[17558]: IsBuffer (will be remapped) */
+ "i\0"
+ "glIsBuffer\0"
+ "glIsBufferARB\0"
+ "\0"
+ /* _mesa_function_pool[17586]: ColorP4ui (will be remapped) */
+ "ii\0"
+ "glColorP4ui\0"
+ "\0"
+ /* _mesa_function_pool[17602]: SpriteParameteriSGIX (dynamic) */
+ "ii\0"
+ "glSpriteParameteriSGIX\0"
+ "\0"
+ /* _mesa_function_pool[17629]: TexCoordP3uiv (will be remapped) */
+ "ip\0"
+ "glTexCoordP3uiv\0"
+ "\0"
+ /* _mesa_function_pool[17649]: WeightusvARB (dynamic) */
+ "ip\0"
+ "glWeightusvARB\0"
+ "\0"
+ /* _mesa_function_pool[17668]: EvalMapsNV (dynamic) */
+ "ii\0"
+ "glEvalMapsNV\0"
+ "\0"
+ /* _mesa_function_pool[17685]: ReplacementCodeuiSUN (dynamic) */
+ "i\0"
+ "glReplacementCodeuiSUN\0"
+ "\0"
+ /* _mesa_function_pool[17711]: GlobalAlphaFactoruiSUN (dynamic) */
+ "i\0"
+ "glGlobalAlphaFactoruiSUN\0"
+ "\0"
+ /* _mesa_function_pool[17739]: Uniform1iv (will be remapped) */
+ "iip\0"
+ "glUniform1iv\0"
+ "glUniform1ivARB\0"
+ "\0"
+ /* _mesa_function_pool[17773]: Uniform4uiv (will be remapped) */
+ "iip\0"
+ "glUniform4uivEXT\0"
+ "glUniform4uiv\0"
+ "\0"
+ /* _mesa_function_pool[17809]: PopDebugGroup (will be remapped) */
+ "\0"
+ "glPopDebugGroup\0"
+ "\0"
+ /* _mesa_function_pool[17827]: VertexAttrib1d (will be remapped) */
+ "id\0"
+ "glVertexAttrib1d\0"
+ "glVertexAttrib1dARB\0"
+ "\0"
+ /* _mesa_function_pool[17868]: CompressedTexImage1D (will be remapped) */
+ "iiiiiip\0"
+ "glCompressedTexImage1D\0"
+ "glCompressedTexImage1DARB\0"
+ "\0"
+ /* _mesa_function_pool[17926]: TexBufferRange (will be remapped) */
+ "iiiii\0"
+ "glTexBufferRange\0"
+ "\0"
+ /* _mesa_function_pool[17950]: VertexAttrib1s (will be remapped) */
+ "ii\0"
+ "glVertexAttrib1s\0"
+ "glVertexAttrib1sARB\0"
+ "\0"
+ /* _mesa_function_pool[17991]: MultiDrawElementsIndirect (will be remapped) */
+ "iipii\0"
+ "glMultiDrawElementsIndirect\0"
+ "\0"
+ /* _mesa_function_pool[18026]: FogCoordfvEXT (will be remapped) */
+ "p\0"
+ "glFogCoordfv\0"
+ "glFogCoordfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[18058]: BeginPerfMonitorAMD (will be remapped) */
+ "i\0"
+ "glBeginPerfMonitorAMD\0"
+ "\0"
+ /* _mesa_function_pool[18083]: GetColorTableParameterfv (offset 344) */
+ "iip\0"
+ "glGetColorTableParameterfv\0"
+ "glGetColorTableParameterfvSGI\0"
+ "glGetColorTableParameterfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[18175]: MultiTexCoord3fARB (offset 394) */
+ "ifff\0"
+ "glMultiTexCoord3f\0"
+ "glMultiTexCoord3fARB\0"
+ "\0"
+ /* _mesa_function_pool[18220]: GetTexLevelParameterfv (offset 284) */
+ "iiip\0"
+ "glGetTexLevelParameterfv\0"
+ "\0"
+ /* _mesa_function_pool[18251]: Vertex2sv (offset 133) */
+ "p\0"
+ "glVertex2sv\0"
+ "\0"
+ /* _mesa_function_pool[18266]: GetnMapdvARB (will be remapped) */
+ "iiip\0"
+ "glGetnMapdvARB\0"
+ "\0"
+ /* _mesa_function_pool[18287]: VertexAttrib2dNV (will be remapped) */
+ "idd\0"
+ "glVertexAttrib2dNV\0"
+ "\0"
+ /* _mesa_function_pool[18311]: GetTrackMatrixivNV (will be remapped) */
+ "iiip\0"
+ "glGetTrackMatrixivNV\0"
+ "\0"
+ /* _mesa_function_pool[18338]: VertexAttrib3svNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib3svNV\0"
+ "\0"
+ /* _mesa_function_pool[18362]: GetTexEnviv (offset 277) */
+ "iip\0"
+ "glGetTexEnviv\0"
+ "\0"
+ /* _mesa_function_pool[18381]: ViewportArrayv (will be remapped) */
+ "iip\0"
+ "glViewportArrayv\0"
+ "\0"
+ /* _mesa_function_pool[18403]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
+ "iffffffffffff\0"
+ "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[18474]: SeparableFilter2D (offset 360) */
+ "iiiiiipp\0"
+ "glSeparableFilter2D\0"
+ "glSeparableFilter2DEXT\0"
+ "\0"
+ /* _mesa_function_pool[18527]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glReplacementCodeuiColor4ubVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[18572]: ArrayElement (offset 306) */
+ "i\0"
+ "glArrayElement\0"
+ "glArrayElementEXT\0"
+ "\0"
+ /* _mesa_function_pool[18608]: TexImage2D (offset 183) */
+ "iiiiiiiip\0"
+ "glTexImage2D\0"
+ "\0"
+ /* _mesa_function_pool[18632]: FragmentMaterialiSGIX (dynamic) */
+ "iii\0"
+ "glFragmentMaterialiSGIX\0"
+ "\0"
+ /* _mesa_function_pool[18661]: RasterPos2dv (offset 63) */
+ "p\0"
+ "glRasterPos2dv\0"
+ "\0"
+ /* _mesa_function_pool[18679]: Fogiv (offset 156) */
+ "ip\0"
+ "glFogiv\0"
+ "\0"
+ /* _mesa_function_pool[18691]: EndQuery (will be remapped) */
+ "i\0"
+ "glEndQuery\0"
+ "glEndQueryARB\0"
+ "\0"
+ /* _mesa_function_pool[18719]: TexCoord1dv (offset 95) */
+ "p\0"
+ "glTexCoord1dv\0"
+ "\0"
+ /* _mesa_function_pool[18736]: TexCoord4dv (offset 119) */
+ "p\0"
+ "glTexCoord4dv\0"
+ "\0"
+ /* _mesa_function_pool[18753]: GetVertexAttribdvNV (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribdvNV\0"
+ "\0"
+ /* _mesa_function_pool[18780]: Clear (offset 203) */
+ "i\0"
+ "glClear\0"
+ "\0"
+ /* _mesa_function_pool[18791]: VertexAttrib4sv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4sv\0"
+ "glVertexAttrib4svARB\0"
+ "\0"
+ /* _mesa_function_pool[18834]: Ortho (offset 296) */
+ "dddddd\0"
+ "glOrtho\0"
+ "\0"
+ /* _mesa_function_pool[18850]: Uniform3uiv (will be remapped) */
+ "iip\0"
+ "glUniform3uivEXT\0"
+ "glUniform3uiv\0"
+ "\0"
+ /* _mesa_function_pool[18886]: MatrixIndexPointerARB (dynamic) */
+ "iiip\0"
+ "glMatrixIndexPointerARB\0"
+ "glMatrixIndexPointerOES\0"
+ "\0"
+ /* _mesa_function_pool[18940]: EndQueryIndexed (will be remapped) */
+ "ii\0"
+ "glEndQueryIndexed\0"
+ "\0"
+ /* _mesa_function_pool[18962]: TexParameterxv (will be remapped) */
+ "iip\0"
+ "glTexParameterxvOES\0"
+ "glTexParameterxv\0"
+ "\0"
+ /* _mesa_function_pool[19004]: SampleMaskSGIS (will be remapped) */
+ "fi\0"
+ "glSampleMaskSGIS\0"
+ "glSampleMaskEXT\0"
+ "\0"
+ /* _mesa_function_pool[19041]: FramebufferTextureFaceARB (will be remapped) */
+ "iiiii\0"
+ "glFramebufferTextureFaceARB\0"
+ "\0"
+ /* _mesa_function_pool[19076]: ProgramUniformMatrix2fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix2fv\0"
+ "glProgramUniformMatrix2fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[19138]: ProgramLocalParameter4fvARB (will be remapped) */
+ "iip\0"
+ "glProgramLocalParameter4fvARB\0"
+ "\0"
+ /* _mesa_function_pool[19173]: GetProgramStringNV (will be remapped) */
+ "iip\0"
+ "glGetProgramStringNV\0"
+ "\0"
+ /* _mesa_function_pool[19199]: Binormal3svEXT (dynamic) */
+ "p\0"
+ "glBinormal3svEXT\0"
+ "\0"
+ /* _mesa_function_pool[19219]: LightModelx (will be remapped) */
+ "ii\0"
+ "glLightModelxOES\0"
+ "glLightModelx\0"
+ "\0"
+ /* _mesa_function_pool[19254]: VertexAttribI3iEXT (will be remapped) */
+ "iiii\0"
+ "glVertexAttribI3iEXT\0"
+ "glVertexAttribI3i\0"
+ "\0"
+ /* _mesa_function_pool[19299]: ClearColorx (will be remapped) */
+ "iiii\0"
+ "glClearColorxOES\0"
+ "glClearColorx\0"
+ "\0"
+ /* _mesa_function_pool[19336]: EndTransformFeedback (will be remapped) */
+ "\0"
+ "glEndTransformFeedback\0"
+ "glEndTransformFeedbackEXT\0"
+ "\0"
+ /* _mesa_function_pool[19387]: VertexAttribs4dvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs4dvNV\0"
+ "\0"
+ /* _mesa_function_pool[19413]: GetProgramBinary (will be remapped) */
+ "iippp\0"
+ "glGetProgramBinary\0"
+ "glGetProgramBinaryOES\0"
+ "\0"
+ /* _mesa_function_pool[19461]: ViewportIndexedfv (will be remapped) */
+ "ip\0"
+ "glViewportIndexedfv\0"
+ "\0"
+ /* _mesa_function_pool[19485]: CallList (offset 2) */
+ "i\0"
+ "glCallList\0"
+ "\0"
+ /* _mesa_function_pool[19499]: Materialfv (offset 170) */
+ "iip\0"
+ "glMaterialfv\0"
+ "\0"
+ /* _mesa_function_pool[19517]: DeleteProgram (will be remapped) */
+ "i\0"
+ "glDeleteProgram\0"
+ "\0"
+ /* _mesa_function_pool[19536]: GetActiveAtomicCounterBufferiv (will be remapped) */
+ "iiip\0"
+ "glGetActiveAtomicCounterBufferiv\0"
+ "\0"
+ /* _mesa_function_pool[19575]: TexParameterIiv (will be remapped) */
+ "iip\0"
+ "glTexParameterIivEXT\0"
+ "glTexParameterIiv\0"
+ "\0"
+ /* _mesa_function_pool[19619]: VertexWeightfEXT (dynamic) */
+ "f\0"
+ "glVertexWeightfEXT\0"
+ "\0"
+ /* _mesa_function_pool[19641]: FlushVertexArrayRangeNV (dynamic) */
+ "\0"
+ "glFlushVertexArrayRangeNV\0"
+ "\0"
+ /* _mesa_function_pool[19669]: GetConvolutionFilter (offset 356) */
+ "iiip\0"
+ "glGetConvolutionFilter\0"
+ "glGetConvolutionFilterEXT\0"
+ "\0"
+ /* _mesa_function_pool[19724]: MultiModeDrawElementsIBM (will be remapped) */
+ "ppipii\0"
+ "glMultiModeDrawElementsIBM\0"
+ "\0"
+ /* _mesa_function_pool[19759]: Uniform2iv (will be remapped) */
+ "iip\0"
+ "glUniform2iv\0"
+ "glUniform2ivARB\0"
+ "\0"
+ /* _mesa_function_pool[19793]: GetFixedv (will be remapped) */
+ "ip\0"
+ "glGetFixedvOES\0"
+ "glGetFixedv\0"
+ "\0"
+ /* _mesa_function_pool[19824]: ProgramParameters4dvNV (will be remapped) */
+ "iiip\0"
+ "glProgramParameters4dvNV\0"
+ "\0"
+ /* _mesa_function_pool[19855]: Binormal3dvEXT (dynamic) */
+ "p\0"
+ "glBinormal3dvEXT\0"
+ "\0"
+ /* _mesa_function_pool[19875]: SampleCoveragex (will be remapped) */
+ "ii\0"
+ "glSampleCoveragexOES\0"
+ "glSampleCoveragex\0"
+ "\0"
+ /* _mesa_function_pool[19918]: GetPerfQueryInfoINTEL (will be remapped) */
+ "iippppp\0"
+ "glGetPerfQueryInfoINTEL\0"
+ "\0"
+ /* _mesa_function_pool[19951]: DeleteFramebuffers (will be remapped) */
+ "ip\0"
+ "glDeleteFramebuffers\0"
+ "glDeleteFramebuffersEXT\0"
+ "glDeleteFramebuffersOES\0"
+ "\0"
+ /* _mesa_function_pool[20024]: CombinerInputNV (dynamic) */
+ "iiiiii\0"
+ "glCombinerInputNV\0"
+ "\0"
+ /* _mesa_function_pool[20050]: VertexAttrib4uiv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4uiv\0"
+ "glVertexAttrib4uivARB\0"
+ "\0"
+ /* _mesa_function_pool[20095]: VertexAttrib4Nsv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4Nsv\0"
+ "glVertexAttrib4NsvARB\0"
+ "\0"
+ /* _mesa_function_pool[20140]: Vertex4s (offset 148) */
+ "iiii\0"
+ "glVertex4s\0"
+ "\0"
+ /* _mesa_function_pool[20157]: VertexAttribI2iEXT (will be remapped) */
+ "iii\0"
+ "glVertexAttribI2iEXT\0"
+ "glVertexAttribI2i\0"
+ "\0"
+ /* _mesa_function_pool[20201]: Vertex4f (offset 144) */
+ "ffff\0"
+ "glVertex4f\0"
+ "\0"
+ /* _mesa_function_pool[20218]: Vertex4d (offset 142) */
+ "dddd\0"
+ "glVertex4d\0"
+ "\0"
+ /* _mesa_function_pool[20235]: GetTexGenfv (offset 279) */
+ "iip\0"
+ "glGetTexGenfv\0"
+ "glGetTexGenfvOES\0"
+ "\0"
+ /* _mesa_function_pool[20271]: Vertex4i (offset 146) */
+ "iiii\0"
+ "glVertex4i\0"
+ "\0"
+ /* _mesa_function_pool[20288]: VertexWeightPointerEXT (dynamic) */
+ "iiip\0"
+ "glVertexWeightPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[20319]: StencilFuncSeparateATI (will be remapped) */
+ "iiii\0"
+ "glStencilFuncSeparateATI\0"
+ "\0"
+ /* _mesa_function_pool[20350]: GetVertexAttribIuiv (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribIuivEXT\0"
+ "glGetVertexAttribIuiv\0"
+ "\0"
+ /* _mesa_function_pool[20402]: LightModelfv (offset 164) */
+ "ip\0"
+ "glLightModelfv\0"
+ "\0"
+ /* _mesa_function_pool[20421]: Vertex4dv (offset 143) */
+ "p\0"
+ "glVertex4dv\0"
+ "\0"
+ /* _mesa_function_pool[20436]: ProgramParameters4fvNV (will be remapped) */
+ "iiip\0"
+ "glProgramParameters4fvNV\0"
+ "\0"
+ /* _mesa_function_pool[20467]: GetInfoLogARB (will be remapped) */
+ "iipp\0"
+ "glGetInfoLogARB\0"
+ "\0"
+ /* _mesa_function_pool[20489]: StencilMask (offset 209) */
+ "i\0"
+ "glStencilMask\0"
+ "\0"
+ /* _mesa_function_pool[20506]: IsList (offset 287) */
+ "i\0"
+ "glIsList\0"
+ "\0"
+ /* _mesa_function_pool[20518]: ClearBufferiv (will be remapped) */
+ "iip\0"
+ "glClearBufferiv\0"
+ "\0"
+ /* _mesa_function_pool[20539]: GetIntegeri_v (will be remapped) */
+ "iip\0"
+ "glGetIntegerIndexedvEXT\0"
+ "glGetIntegeri_v\0"
+ "\0"
+ /* _mesa_function_pool[20584]: ProgramUniform2iv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform2iv\0"
+ "glProgramUniform2ivEXT\0"
+ "\0"
+ /* _mesa_function_pool[20633]: VertexAttribs4svNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs4svNV\0"
+ "\0"
+ /* _mesa_function_pool[20659]: FogCoordPointer (will be remapped) */
+ "iip\0"
+ "glFogCoordPointer\0"
+ "glFogCoordPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[20703]: SecondaryColor3us (will be remapped) */
+ "iii\0"
+ "glSecondaryColor3us\0"
+ "glSecondaryColor3usEXT\0"
+ "\0"
+ /* _mesa_function_pool[20751]: DeformationMap3dSGIX (dynamic) */
+ "iddiiddiiddiip\0"
+ "glDeformationMap3dSGIX\0"
+ "\0"
+ /* _mesa_function_pool[20790]: TextureNormalEXT (dynamic) */
+ "i\0"
+ "glTextureNormalEXT\0"
+ "\0"
+ /* _mesa_function_pool[20812]: SecondaryColor3ub (will be remapped) */
+ "iii\0"
+ "glSecondaryColor3ub\0"
+ "glSecondaryColor3ubEXT\0"
+ "\0"
+ /* _mesa_function_pool[20860]: SecondaryColor3ui (will be remapped) */
+ "iii\0"
+ "glSecondaryColor3ui\0"
+ "glSecondaryColor3uiEXT\0"
+ "\0"
+ /* _mesa_function_pool[20908]: VertexAttribI3uivEXT (will be remapped) */
+ "ip\0"
+ "glVertexAttribI3uivEXT\0"
+ "glVertexAttribI3uiv\0"
+ "\0"
+ /* _mesa_function_pool[20955]: Binormal3fvEXT (dynamic) */
+ "p\0"
+ "glBinormal3fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[20975]: TexCoordPointervINTEL (dynamic) */
+ "iip\0"
+ "glTexCoordPointervINTEL\0"
+ "\0"
+ /* _mesa_function_pool[21004]: VertexAttrib1sNV (will be remapped) */
+ "ii\0"
+ "glVertexAttrib1sNV\0"
+ "\0"
+ /* _mesa_function_pool[21027]: Tangent3bEXT (dynamic) */
+ "iii\0"
+ "glTangent3bEXT\0"
+ "\0"
+ /* _mesa_function_pool[21047]: FragmentLightModelfSGIX (dynamic) */
+ "if\0"
+ "glFragmentLightModelfSGIX\0"
+ "\0"
+ /* _mesa_function_pool[21077]: InitNames (offset 197) */
+ "\0"
+ "glInitNames\0"
+ "\0"
+ /* _mesa_function_pool[21091]: Normal3sv (offset 61) */
+ "p\0"
+ "glNormal3sv\0"
+ "\0"
+ /* _mesa_function_pool[21106]: DeleteQueries (will be remapped) */
+ "ip\0"
+ "glDeleteQueries\0"
+ "glDeleteQueriesARB\0"
+ "\0"
+ /* _mesa_function_pool[21145]: InvalidateFramebuffer (will be remapped) */
+ "iip\0"
+ "glInvalidateFramebuffer\0"
+ "\0"
+ /* _mesa_function_pool[21174]: Hint (offset 158) */
+ "ii\0"
+ "glHint\0"
+ "\0"
+ /* _mesa_function_pool[21185]: MemoryBarrier (will be remapped) */
+ "i\0"
+ "glMemoryBarrier\0"
+ "\0"
+ /* _mesa_function_pool[21204]: CopyColorSubTable (offset 347) */
+ "iiiii\0"
+ "glCopyColorSubTable\0"
+ "glCopyColorSubTableEXT\0"
+ "\0"
+ /* _mesa_function_pool[21254]: WeightdvARB (dynamic) */
+ "ip\0"
+ "glWeightdvARB\0"
+ "\0"
+ /* _mesa_function_pool[21272]: GetObjectParameterfvARB (will be remapped) */
+ "iip\0"
+ "glGetObjectParameterfvARB\0"
+ "\0"
+ /* _mesa_function_pool[21303]: GetTexEnvxv (will be remapped) */
+ "iip\0"
+ "glGetTexEnvxvOES\0"
+ "glGetTexEnvxv\0"
+ "\0"
+ /* _mesa_function_pool[21339]: DrawTexsvOES (will be remapped) */
+ "p\0"
+ "glDrawTexsvOES\0"
+ "\0"
+ /* _mesa_function_pool[21357]: Disable (offset 214) */
+ "i\0"
+ "glDisable\0"
+ "\0"
+ /* _mesa_function_pool[21370]: ClearColor (offset 206) */
+ "ffff\0"
+ "glClearColor\0"
+ "\0"
+ /* _mesa_function_pool[21389]: WeightuivARB (dynamic) */
+ "ip\0"
+ "glWeightuivARB\0"
+ "\0"
+ /* _mesa_function_pool[21408]: RasterPos4iv (offset 83) */
+ "p\0"
+ "glRasterPos4iv\0"
+ "\0"
+ /* _mesa_function_pool[21426]: VDPAUIsSurfaceNV (will be remapped) */
+ "i\0"
+ "glVDPAUIsSurfaceNV\0"
+ "\0"
+ /* _mesa_function_pool[21448]: ProgramUniformMatrix2x3fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix2x3fv\0"
+ "glProgramUniformMatrix2x3fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[21514]: BindVertexBuffer (will be remapped) */
+ "iiii\0"
+ "glBindVertexBuffer\0"
+ "\0"
+ /* _mesa_function_pool[21539]: Binormal3iEXT (dynamic) */
+ "iii\0"
+ "glBinormal3iEXT\0"
+ "\0"
+ /* _mesa_function_pool[21560]: RasterPos4i (offset 82) */
+ "iiii\0"
+ "glRasterPos4i\0"
+ "\0"
+ /* _mesa_function_pool[21580]: RasterPos4d (offset 78) */
+ "dddd\0"
+ "glRasterPos4d\0"
+ "\0"
+ /* _mesa_function_pool[21600]: RasterPos4f (offset 80) */
+ "ffff\0"
+ "glRasterPos4f\0"
+ "\0"
+ /* _mesa_function_pool[21620]: GetQueryIndexediv (will be remapped) */
+ "iiip\0"
+ "glGetQueryIndexediv\0"
+ "\0"
+ /* _mesa_function_pool[21646]: RasterPos3dv (offset 71) */
+ "p\0"
+ "glRasterPos3dv\0"
+ "\0"
+ /* _mesa_function_pool[21664]: GetProgramiv (will be remapped) */
+ "iip\0"
+ "glGetProgramiv\0"
+ "\0"
+ /* _mesa_function_pool[21684]: TexCoord1iv (offset 99) */
+ "p\0"
+ "glTexCoord1iv\0"
+ "\0"
+ /* _mesa_function_pool[21701]: RasterPos4s (offset 84) */
+ "iiii\0"
+ "glRasterPos4s\0"
+ "\0"
+ /* _mesa_function_pool[21721]: PixelTexGenParameterfvSGIS (dynamic) */
+ "ip\0"
+ "glPixelTexGenParameterfvSGIS\0"
+ "\0"
+ /* _mesa_function_pool[21754]: VertexAttrib3dv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib3dv\0"
+ "glVertexAttrib3dvARB\0"
+ "\0"
+ /* _mesa_function_pool[21797]: Histogram (offset 367) */
+ "iiii\0"
+ "glHistogram\0"
+ "glHistogramEXT\0"
+ "\0"
+ /* _mesa_function_pool[21830]: Uniform2fv (will be remapped) */
+ "iip\0"
+ "glUniform2fv\0"
+ "glUniform2fvARB\0"
+ "\0"
+ /* _mesa_function_pool[21864]: TexImage4DSGIS (dynamic) */
+ "iiiiiiiiiip\0"
+ "glTexImage4DSGIS\0"
+ "\0"
+ /* _mesa_function_pool[21894]: DrawBuffers (will be remapped) */
+ "ip\0"
+ "glDrawBuffers\0"
+ "glDrawBuffersARB\0"
+ "glDrawBuffersATI\0"
+ "glDrawBuffersNV\0"
+ "\0"
+ /* _mesa_function_pool[21962]: GetnPolygonStippleARB (will be remapped) */
+ "ip\0"
+ "glGetnPolygonStippleARB\0"
+ "\0"
+ /* _mesa_function_pool[21990]: Color3uiv (offset 22) */
+ "p\0"
+ "glColor3uiv\0"
+ "\0"
+ /* _mesa_function_pool[22005]: EvalCoord2fv (offset 235) */
+ "p\0"
+ "glEvalCoord2fv\0"
+ "\0"
+ /* _mesa_function_pool[22023]: TextureStorage3DEXT (will be remapped) */
+ "iiiiiii\0"
+ "glTextureStorage3DEXT\0"
+ "\0"
+ /* _mesa_function_pool[22054]: VertexAttrib2fARB (will be remapped) */
+ "iff\0"
+ "glVertexAttrib2f\0"
+ "glVertexAttrib2fARB\0"
+ "\0"
+ /* _mesa_function_pool[22096]: WindowPos2fv (will be remapped) */
+ "p\0"
+ "glWindowPos2fv\0"
+ "glWindowPos2fvARB\0"
+ "glWindowPos2fvMESA\0"
+ "\0"
+ /* _mesa_function_pool[22151]: Tangent3fEXT (dynamic) */
+ "fff\0"
+ "glTangent3fEXT\0"
+ "\0"
+ /* _mesa_function_pool[22171]: TexImage3D (offset 371) */
+ "iiiiiiiiip\0"
+ "glTexImage3D\0"
+ "glTexImage3DEXT\0"
+ "glTexImage3DOES\0"
+ "\0"
+ /* _mesa_function_pool[22228]: GetPerfQueryIdByNameINTEL (will be remapped) */
+ "pp\0"
+ "glGetPerfQueryIdByNameINTEL\0"
+ "\0"
+ /* _mesa_function_pool[22260]: BindFragDataLocation (will be remapped) */
+ "iip\0"
+ "glBindFragDataLocationEXT\0"
+ "glBindFragDataLocation\0"
+ "\0"
+ /* _mesa_function_pool[22314]: LightModeliv (offset 166) */
+ "ip\0"
+ "glLightModeliv\0"
+ "\0"
+ /* _mesa_function_pool[22333]: Normal3bv (offset 53) */
+ "p\0"
+ "glNormal3bv\0"
+ "\0"
+ /* _mesa_function_pool[22348]: BeginQueryIndexed (will be remapped) */
+ "iii\0"
+ "glBeginQueryIndexed\0"
+ "\0"
+ /* _mesa_function_pool[22373]: Vertex3iv (offset 139) */
+ "p\0"
+ "glVertex3iv\0"
+ "\0"
+ /* _mesa_function_pool[22388]: TexCoord3dv (offset 111) */
+ "p\0"
+ "glTexCoord3dv\0"
+ "\0"
+ /* _mesa_function_pool[22405]: GetProgramStringARB (will be remapped) */
+ "iip\0"
+ "glGetProgramStringARB\0"
+ "\0"
+ /* _mesa_function_pool[22432]: VertexP3ui (will be remapped) */
+ "ii\0"
+ "glVertexP3ui\0"
+ "\0"
+ /* _mesa_function_pool[22449]: CreateProgramObjectARB (will be remapped) */
+ "\0"
+ "glCreateProgramObjectARB\0"
+ "\0"
+ /* _mesa_function_pool[22476]: UniformMatrix3fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix3fv\0"
+ "glUniformMatrix3fvARB\0"
+ "\0"
+ /* _mesa_function_pool[22523]: PrioritizeTextures (offset 331) */
+ "ipp\0"
+ "glPrioritizeTextures\0"
+ "glPrioritizeTexturesEXT\0"
+ "\0"
+ /* _mesa_function_pool[22573]: VertexAttribI3uiEXT (will be remapped) */
+ "iiii\0"
+ "glVertexAttribI3uiEXT\0"
+ "glVertexAttribI3ui\0"
+ "\0"
+ /* _mesa_function_pool[22620]: AsyncMarkerSGIX (dynamic) */
+ "i\0"
+ "glAsyncMarkerSGIX\0"
+ "\0"
+ /* _mesa_function_pool[22641]: GetProgramNamedParameterfvNV (will be remapped) */
+ "iipp\0"
+ "glGetProgramNamedParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[22678]: GetMaterialxv (will be remapped) */
+ "iip\0"
+ "glGetMaterialxvOES\0"
+ "glGetMaterialxv\0"
+ "\0"
+ /* _mesa_function_pool[22718]: MatrixIndexusvARB (dynamic) */
+ "ip\0"
+ "glMatrixIndexusvARB\0"
+ "\0"
+ /* _mesa_function_pool[22742]: SecondaryColor3uiv (will be remapped) */
+ "p\0"
+ "glSecondaryColor3uiv\0"
+ "glSecondaryColor3uivEXT\0"
+ "\0"
+ /* _mesa_function_pool[22790]: EndConditionalRender (will be remapped) */
+ "\0"
+ "glEndConditionalRender\0"
+ "glEndConditionalRenderNV\0"
+ "\0"
+ /* _mesa_function_pool[22840]: ProgramLocalParameter4dARB (will be remapped) */
+ "iidddd\0"
+ "glProgramLocalParameter4dARB\0"
+ "\0"
+ /* _mesa_function_pool[22877]: Color3sv (offset 18) */
+ "p\0"
+ "glColor3sv\0"
+ "\0"
+ /* _mesa_function_pool[22891]: GenFragmentShadersATI (will be remapped) */
+ "i\0"
+ "glGenFragmentShadersATI\0"
+ "\0"
+ /* _mesa_function_pool[22918]: BlendEquationSeparateiARB (will be remapped) */
+ "iii\0"
+ "glBlendEquationSeparateiARB\0"
+ "glBlendEquationSeparateIndexedAMD\0"
+ "\0"
+ /* _mesa_function_pool[22985]: TestFenceNV (dynamic) */
+ "i\0"
+ "glTestFenceNV\0"
+ "\0"
+ /* _mesa_function_pool[23002]: MultiTexCoord1fvARB (offset 379) */
+ "ip\0"
+ "glMultiTexCoord1fv\0"
+ "glMultiTexCoord1fvARB\0"
+ "\0"
+ /* _mesa_function_pool[23047]: TexStorage2D (will be remapped) */
+ "iiiii\0"
+ "glTexStorage2D\0"
+ "\0"
+ /* _mesa_function_pool[23069]: GetPixelTexGenParameterivSGIS (dynamic) */
+ "ip\0"
+ "glGetPixelTexGenParameterivSGIS\0"
+ "\0"
+ /* _mesa_function_pool[23105]: FramebufferTexture2D (will be remapped) */
+ "iiiii\0"
+ "glFramebufferTexture2D\0"
+ "glFramebufferTexture2DEXT\0"
+ "glFramebufferTexture2DOES\0"
+ "\0"
+ /* _mesa_function_pool[23187]: GetSamplerParameterfv (will be remapped) */
+ "iip\0"
+ "glGetSamplerParameterfv\0"
+ "\0"
+ /* _mesa_function_pool[23216]: VertexAttrib2dv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib2dv\0"
+ "glVertexAttrib2dvARB\0"
+ "\0"
+ /* _mesa_function_pool[23259]: Vertex4sv (offset 149) */
+ "p\0"
+ "glVertex4sv\0"
+ "\0"
+ /* _mesa_function_pool[23274]: GetQueryObjecti64v (will be remapped) */
+ "iip\0"
+ "glGetQueryObjecti64v\0"
+ "glGetQueryObjecti64vEXT\0"
+ "\0"
+ /* _mesa_function_pool[23324]: ClampColor (will be remapped) */
+ "ii\0"
+ "glClampColorARB\0"
+ "glClampColor\0"
+ "\0"
+ /* _mesa_function_pool[23357]: TextureRangeAPPLE (dynamic) */
+ "iip\0"
+ "glTextureRangeAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[23382]: ConvolutionFilter1D (offset 348) */
+ "iiiiip\0"
+ "glConvolutionFilter1D\0"
+ "glConvolutionFilter1DEXT\0"
+ "\0"
+ /* _mesa_function_pool[23437]: DrawElementsIndirect (will be remapped) */
+ "iip\0"
+ "glDrawElementsIndirect\0"
+ "\0"
+ /* _mesa_function_pool[23465]: WindowPos3sv (will be remapped) */
+ "p\0"
+ "glWindowPos3sv\0"
+ "glWindowPos3svARB\0"
+ "glWindowPos3svMESA\0"
+ "\0"
+ /* _mesa_function_pool[23520]: FragmentMaterialfvSGIX (dynamic) */
+ "iip\0"
+ "glFragmentMaterialfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[23550]: CallLists (offset 3) */
+ "iip\0"
+ "glCallLists\0"
+ "\0"
+ /* _mesa_function_pool[23567]: AlphaFunc (offset 240) */
+ "if\0"
+ "glAlphaFunc\0"
+ "\0"
+ /* _mesa_function_pool[23583]: EdgeFlag (offset 41) */
+ "i\0"
+ "glEdgeFlag\0"
+ "\0"
+ /* _mesa_function_pool[23597]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glTexCoord2fNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[23635]: EdgeFlagv (offset 42) */
+ "p\0"
+ "glEdgeFlagv\0"
+ "\0"
+ /* _mesa_function_pool[23650]: DepthRangex (will be remapped) */
+ "ii\0"
+ "glDepthRangexOES\0"
+ "glDepthRangex\0"
+ "\0"
+ /* _mesa_function_pool[23685]: ReplacementCodeubvSUN (dynamic) */
+ "p\0"
+ "glReplacementCodeubvSUN\0"
+ "\0"
+ /* _mesa_function_pool[23712]: VDPAUInitNV (will be remapped) */
+ "pp\0"
+ "glVDPAUInitNV\0"
+ "\0"
+ /* _mesa_function_pool[23730]: GetBufferParameteri64v (will be remapped) */
+ "iip\0"
+ "glGetBufferParameteri64v\0"
+ "\0"
+ /* _mesa_function_pool[23760]: LoadIdentityDeformationMapSGIX (dynamic) */
+ "i\0"
+ "glLoadIdentityDeformationMapSGIX\0"
+ "\0"
+ /* _mesa_function_pool[23796]: DepthRangef (will be remapped) */
+ "ff\0"
+ "glDepthRangef\0"
+ "glDepthRangefOES\0"
+ "\0"
+ /* _mesa_function_pool[23831]: GetSharpenTexFuncSGIS (dynamic) */
+ "ip\0"
+ "glGetSharpenTexFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[23859]: ColorFragmentOp3ATI (will be remapped) */
+ "iiiiiiiiiiiii\0"
+ "glColorFragmentOp3ATI\0"
+ "\0"
+ /* _mesa_function_pool[23896]: ValidateProgram (will be remapped) */
+ "i\0"
+ "glValidateProgram\0"
+ "glValidateProgramARB\0"
+ "\0"
+ /* _mesa_function_pool[23938]: VertexPointerEXT (will be remapped) */
+ "iiiip\0"
+ "glVertexPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[23964]: Scissor (offset 176) */
+ "iiii\0"
+ "glScissor\0"
+ "\0"
+ /* _mesa_function_pool[23980]: BeginTransformFeedback (will be remapped) */
+ "i\0"
+ "glBeginTransformFeedback\0"
+ "glBeginTransformFeedbackEXT\0"
+ "\0"
+ /* _mesa_function_pool[24036]: TexCoord2i (offset 106) */
+ "ii\0"
+ "glTexCoord2i\0"
+ "\0"
+ /* _mesa_function_pool[24053]: Color4ui (offset 37) */
+ "iiii\0"
+ "glColor4ui\0"
+ "\0"
+ /* _mesa_function_pool[24070]: TexCoord2f (offset 104) */
+ "ff\0"
+ "glTexCoord2f\0"
+ "\0"
+ /* _mesa_function_pool[24087]: TexCoord2d (offset 102) */
+ "dd\0"
+ "glTexCoord2d\0"
+ "\0"
+ /* _mesa_function_pool[24104]: TexCoord2s (offset 108) */
+ "ii\0"
+ "glTexCoord2s\0"
+ "\0"
+ /* _mesa_function_pool[24121]: PointSizePointerOES (will be remapped) */
+ "iip\0"
+ "glPointSizePointerOES\0"
+ "\0"
+ /* _mesa_function_pool[24148]: Color4us (offset 39) */
+ "iiii\0"
+ "glColor4us\0"
+ "\0"
+ /* _mesa_function_pool[24165]: Color3bv (offset 10) */
+ "p\0"
+ "glColor3bv\0"
+ "\0"
+ /* _mesa_function_pool[24179]: PrimitiveRestartNV (will be remapped) */
+ "\0"
+ "glPrimitiveRestartNV\0"
+ "\0"
+ /* _mesa_function_pool[24202]: BindBufferOffsetEXT (will be remapped) */
+ "iiii\0"
+ "glBindBufferOffsetEXT\0"
+ "\0"
+ /* _mesa_function_pool[24230]: ProvokingVertex (will be remapped) */
+ "i\0"
+ "glProvokingVertexEXT\0"
+ "glProvokingVertex\0"
+ "\0"
+ /* _mesa_function_pool[24272]: VertexAttribs4fvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs4fvNV\0"
+ "\0"
+ /* _mesa_function_pool[24298]: MapControlPointsNV (dynamic) */
+ "iiiiiiiip\0"
+ "glMapControlPointsNV\0"
+ "\0"
+ /* _mesa_function_pool[24330]: Vertex2i (offset 130) */
+ "ii\0"
+ "glVertex2i\0"
+ "\0"
+ /* _mesa_function_pool[24345]: HintPGI (dynamic) */
+ "ii\0"
+ "glHintPGI\0"
+ "\0"
+ /* _mesa_function_pool[24359]: InterleavedArrays (offset 317) */
+ "iip\0"
+ "glInterleavedArrays\0"
+ "\0"
+ /* _mesa_function_pool[24384]: RasterPos2fv (offset 65) */
+ "p\0"
+ "glRasterPos2fv\0"
+ "\0"
+ /* _mesa_function_pool[24402]: TexCoord1fv (offset 97) */
+ "p\0"
+ "glTexCoord1fv\0"
+ "\0"
+ /* _mesa_function_pool[24419]: PixelTransferf (offset 247) */
+ "if\0"
+ "glPixelTransferf\0"
+ "\0"
+ /* _mesa_function_pool[24440]: MultiTexCoord4dv (offset 401) */
+ "ip\0"
+ "glMultiTexCoord4dv\0"
+ "glMultiTexCoord4dvARB\0"
+ "\0"
+ /* _mesa_function_pool[24485]: ProgramEnvParameter4fvARB (will be remapped) */
+ "iip\0"
+ "glProgramEnvParameter4fvARB\0"
+ "glProgramParameter4fvNV\0"
+ "\0"
+ /* _mesa_function_pool[24542]: RasterPos4fv (offset 81) */
+ "p\0"
+ "glRasterPos4fv\0"
+ "\0"
+ /* _mesa_function_pool[24560]: FragmentLightModeliSGIX (dynamic) */
+ "ii\0"
+ "glFragmentLightModeliSGIX\0"
+ "\0"
+ /* _mesa_function_pool[24590]: PushMatrix (offset 298) */
+ "\0"
+ "glPushMatrix\0"
+ "\0"
+ /* _mesa_function_pool[24605]: EndList (offset 1) */
+ "\0"
+ "glEndList\0"
+ "\0"
+ /* _mesa_function_pool[24617]: DrawRangeElements (offset 338) */
+ "iiiiip\0"
+ "glDrawRangeElements\0"
+ "glDrawRangeElementsEXT\0"
+ "\0"
+ /* _mesa_function_pool[24668]: GetTexGenxvOES (will be remapped) */
+ "iip\0"
+ "glGetTexGenxvOES\0"
+ "\0"
+ /* _mesa_function_pool[24690]: GetHandleARB (will be remapped) */
+ "i\0"
+ "glGetHandleARB\0"
+ "\0"
+ /* _mesa_function_pool[24708]: DrawTexfvOES (will be remapped) */
+ "p\0"
+ "glDrawTexfvOES\0"
+ "\0"
+ /* _mesa_function_pool[24726]: BlendFunciARB (will be remapped) */
+ "iii\0"
+ "glBlendFunciARB\0"
+ "glBlendFuncIndexedAMD\0"
+ "\0"
+ /* _mesa_function_pool[24769]: GlobalAlphaFactorbSUN (dynamic) */
+ "i\0"
+ "glGlobalAlphaFactorbSUN\0"
+ "\0"
+ /* _mesa_function_pool[24796]: Uniform2ui (will be remapped) */
+ "iii\0"
+ "glUniform2uiEXT\0"
+ "glUniform2ui\0"
+ "\0"
+ /* _mesa_function_pool[24830]: ScissorIndexed (will be remapped) */
+ "iiiii\0"
+ "glScissorIndexed\0"
+ "\0"
+ /* _mesa_function_pool[24854]: End (offset 43) */
+ "\0"
+ "glEnd\0"
+ "\0"
+ /* _mesa_function_pool[24862]: BindVertexBuffers (will be remapped) */
+ "iippp\0"
+ "glBindVertexBuffers\0"
+ "\0"
+ /* _mesa_function_pool[24889]: GetSamplerParameteriv (will be remapped) */
+ "iip\0"
+ "glGetSamplerParameteriv\0"
+ "\0"
+ /* _mesa_function_pool[24918]: GenProgramPipelines (will be remapped) */
+ "ip\0"
+ "glGenProgramPipelines\0"
+ "glGenProgramPipelinesEXT\0"
+ "\0"
+ /* _mesa_function_pool[24969]: Enable (offset 215) */
+ "i\0"
+ "glEnable\0"
+ "\0"
+ /* _mesa_function_pool[24981]: IsProgramPipeline (will be remapped) */
+ "i\0"
+ "glIsProgramPipeline\0"
+ "glIsProgramPipelineEXT\0"
+ "\0"
+ /* _mesa_function_pool[25027]: ShaderBinary (will be remapped) */
+ "ipipi\0"
+ "glShaderBinary\0"
+ "\0"
+ /* _mesa_function_pool[25049]: GetFragmentMaterialivSGIX (dynamic) */
+ "iip\0"
+ "glGetFragmentMaterialivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[25082]: WeightPointerARB (dynamic) */
+ "iiip\0"
+ "glWeightPointerARB\0"
+ "glWeightPointerOES\0"
+ "\0"
+ /* _mesa_function_pool[25126]: Normal3x (will be remapped) */
+ "iii\0"
+ "glNormal3xOES\0"
+ "glNormal3x\0"
+ "\0"
+ /* _mesa_function_pool[25156]: VertexAttrib4fARB (will be remapped) */
+ "iffff\0"
+ "glVertexAttrib4f\0"
+ "glVertexAttrib4fARB\0"
+ "\0"
+ /* _mesa_function_pool[25200]: ReadnPixelsARB (will be remapped) */
+ "iiiiiiip\0"
+ "glReadnPixelsARB\0"
+ "\0"
+ /* _mesa_function_pool[25227]: InvalidateTexSubImage (will be remapped) */
+ "iiiiiiii\0"
+ "glInvalidateTexSubImage\0"
+ "\0"
+ /* _mesa_function_pool[25261]: Normal3s (offset 60) */
+ "iii\0"
+ "glNormal3s\0"
+ "\0"
+ /* _mesa_function_pool[25277]: Materialxv (will be remapped) */
+ "iip\0"
+ "glMaterialxvOES\0"
+ "glMaterialxv\0"
+ "\0"
+ /* _mesa_function_pool[25311]: Normal3i (offset 58) */
+ "iii\0"
+ "glNormal3i\0"
+ "\0"
+ /* _mesa_function_pool[25327]: ProgramNamedParameter4fvNV (will be remapped) */
+ "iipp\0"
+ "glProgramNamedParameter4fvNV\0"
+ "\0"
+ /* _mesa_function_pool[25362]: Normal3b (offset 52) */
+ "iii\0"
+ "glNormal3b\0"
+ "\0"
+ /* _mesa_function_pool[25378]: Normal3d (offset 54) */
+ "ddd\0"
+ "glNormal3d\0"
+ "\0"
+ /* _mesa_function_pool[25394]: Normal3f (offset 56) */
+ "fff\0"
+ "glNormal3f\0"
+ "\0"
+ /* _mesa_function_pool[25410]: Indexi (offset 48) */
+ "i\0"
+ "glIndexi\0"
+ "\0"
+ /* _mesa_function_pool[25422]: Uniform1uiv (will be remapped) */
+ "iip\0"
+ "glUniform1uivEXT\0"
+ "glUniform1uiv\0"
+ "\0"
+ /* _mesa_function_pool[25458]: VertexAttribI2uiEXT (will be remapped) */
+ "iii\0"
+ "glVertexAttribI2uiEXT\0"
+ "glVertexAttribI2ui\0"
+ "\0"
+ /* _mesa_function_pool[25504]: IsRenderbuffer (will be remapped) */
+ "i\0"
+ "glIsRenderbuffer\0"
+ "glIsRenderbufferEXT\0"
+ "glIsRenderbufferOES\0"
+ "\0"
+ /* _mesa_function_pool[25564]: NormalP3uiv (will be remapped) */
+ "ip\0"
+ "glNormalP3uiv\0"
+ "\0"
+ /* _mesa_function_pool[25582]: Indexf (offset 46) */
+ "f\0"
+ "glIndexf\0"
+ "\0"
+ /* _mesa_function_pool[25594]: Indexd (offset 44) */
+ "d\0"
+ "glIndexd\0"
+ "\0"
+ /* _mesa_function_pool[25606]: GetMaterialiv (offset 270) */
+ "iip\0"
+ "glGetMaterialiv\0"
+ "\0"
+ /* _mesa_function_pool[25627]: Indexs (offset 50) */
+ "i\0"
+ "glIndexs\0"
+ "\0"
+ /* _mesa_function_pool[25639]: MultiTexCoordP1uiv (will be remapped) */
+ "iip\0"
+ "glMultiTexCoordP1uiv\0"
+ "\0"
+ /* _mesa_function_pool[25665]: ConvolutionFilter2D (offset 349) */
+ "iiiiiip\0"
+ "glConvolutionFilter2D\0"
+ "glConvolutionFilter2DEXT\0"
+ "\0"
+ /* _mesa_function_pool[25721]: Vertex2d (offset 126) */
+ "dd\0"
+ "glVertex2d\0"
+ "\0"
+ /* _mesa_function_pool[25736]: Vertex2f (offset 128) */
+ "ff\0"
+ "glVertex2f\0"
+ "\0"
+ /* _mesa_function_pool[25751]: Color4bv (offset 26) */
+ "p\0"
+ "glColor4bv\0"
+ "\0"
+ /* _mesa_function_pool[25765]: VertexAttrib2fvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib2fvNV\0"
+ "\0"
+ /* _mesa_function_pool[25789]: Vertex2s (offset 132) */
+ "ii\0"
+ "glVertex2s\0"
+ "\0"
+ /* _mesa_function_pool[25804]: ActiveTexture (offset 374) */
+ "i\0"
+ "glActiveTexture\0"
+ "glActiveTextureARB\0"
+ "\0"
+ /* _mesa_function_pool[25842]: GlobalAlphaFactorfSUN (dynamic) */
+ "f\0"
+ "glGlobalAlphaFactorfSUN\0"
+ "\0"
+ /* _mesa_function_pool[25869]: ColorP4uiv (will be remapped) */
+ "ip\0"
+ "glColorP4uiv\0"
+ "\0"
+ /* _mesa_function_pool[25886]: DrawTexxOES (will be remapped) */
+ "iiiii\0"
+ "glDrawTexxOES\0"
+ "\0"
+ /* _mesa_function_pool[25907]: SetFenceNV (dynamic) */
+ "ii\0"
+ "glSetFenceNV\0"
+ "\0"
+ /* _mesa_function_pool[25924]: PixelTexGenParameterivSGIS (dynamic) */
+ "ip\0"
+ "glPixelTexGenParameterivSGIS\0"
+ "\0"
+ /* _mesa_function_pool[25957]: MultiTexCoordP3ui (will be remapped) */
+ "iii\0"
+ "glMultiTexCoordP3ui\0"
+ "\0"
+ /* _mesa_function_pool[25982]: GetAttribLocation (will be remapped) */
+ "ip\0"
+ "glGetAttribLocation\0"
+ "glGetAttribLocationARB\0"
+ "\0"
+ /* _mesa_function_pool[26029]: GetCombinerStageParameterfvNV (dynamic) */
+ "iip\0"
+ "glGetCombinerStageParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[26066]: DrawBuffer (offset 202) */
+ "i\0"
+ "glDrawBuffer\0"
+ "\0"
+ /* _mesa_function_pool[26082]: MultiTexCoord2dv (offset 385) */
+ "ip\0"
+ "glMultiTexCoord2dv\0"
+ "glMultiTexCoord2dvARB\0"
+ "\0"
+ /* _mesa_function_pool[26127]: IsSampler (will be remapped) */
+ "i\0"
+ "glIsSampler\0"
+ "\0"
+ /* _mesa_function_pool[26142]: BlendFunc (offset 241) */
+ "ii\0"
+ "glBlendFunc\0"
+ "\0"
+ /* _mesa_function_pool[26158]: LineStipple (offset 167) */
+ "ii\0"
+ "glLineStipple\0"
+ "\0"
+ /* _mesa_function_pool[26176]: Tangent3fvEXT (dynamic) */
+ "p\0"
+ "glTangent3fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[26195]: ColorMaterial (offset 151) */
+ "ii\0"
+ "glColorMaterial\0"
+ "\0"
+ /* _mesa_function_pool[26215]: RasterPos3sv (offset 77) */
+ "p\0"
+ "glRasterPos3sv\0"
+ "\0"
+ /* _mesa_function_pool[26233]: TexCoordP2ui (will be remapped) */
+ "ii\0"
+ "glTexCoordP2ui\0"
+ "\0"
+ /* _mesa_function_pool[26252]: TexParameteriv (offset 181) */
+ "iip\0"
+ "glTexParameteriv\0"
+ "\0"
+ /* _mesa_function_pool[26274]: VertexAttrib3fvARB (will be remapped) */
+ "ip\0"
+ "glVertexAttrib3fv\0"
+ "glVertexAttrib3fvARB\0"
+ "\0"
+ /* _mesa_function_pool[26317]: ProgramUniformMatrix3x4fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix3x4fv\0"
+ "glProgramUniformMatrix3x4fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[26383]: PixelTransformParameterfEXT (dynamic) */
+ "iif\0"
+ "glPixelTransformParameterfEXT\0"
+ "\0"
+ /* _mesa_function_pool[26418]: TextureColorMaskSGIS (dynamic) */
+ "iiii\0"
+ "glTextureColorMaskSGIS\0"
+ "\0"
+ /* _mesa_function_pool[26447]: GetColorTable (offset 343) */
+ "iiip\0"
+ "glGetColorTable\0"
+ "glGetColorTableSGI\0"
+ "glGetColorTableEXT\0"
+ "\0"
+ /* _mesa_function_pool[26507]: TexCoord3i (offset 114) */
+ "iii\0"
+ "glTexCoord3i\0"
+ "\0"
+ /* _mesa_function_pool[26525]: CopyColorTable (offset 342) */
+ "iiiii\0"
+ "glCopyColorTable\0"
+ "glCopyColorTableSGI\0"
+ "\0"
+ /* _mesa_function_pool[26569]: Frustum (offset 289) */
+ "dddddd\0"
+ "glFrustum\0"
+ "\0"
+ /* _mesa_function_pool[26587]: TexCoord3d (offset 110) */
+ "ddd\0"
+ "glTexCoord3d\0"
+ "\0"
+ /* _mesa_function_pool[26605]: TexCoord3f (offset 112) */
+ "fff\0"
+ "glTexCoord3f\0"
+ "\0"
+ /* _mesa_function_pool[26623]: DepthRangeArrayv (will be remapped) */
+ "iip\0"
+ "glDepthRangeArrayv\0"
+ "\0"
+ /* _mesa_function_pool[26647]: DeleteTextures (offset 327) */
+ "ip\0"
+ "glDeleteTextures\0"
+ "glDeleteTexturesEXT\0"
+ "\0"
+ /* _mesa_function_pool[26688]: TexCoordPointerEXT (will be remapped) */
+ "iiiip\0"
+ "glTexCoordPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[26716]: TexCoord3s (offset 116) */
+ "iii\0"
+ "glTexCoord3s\0"
+ "\0"
+ /* _mesa_function_pool[26734]: TexCoord4fVertex4fSUN (dynamic) */
+ "ffffffff\0"
+ "glTexCoord4fVertex4fSUN\0"
+ "\0"
+ /* _mesa_function_pool[26768]: CombinerStageParameterfvNV (dynamic) */
+ "iip\0"
+ "glCombinerStageParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[26802]: GenPerfMonitorsAMD (will be remapped) */
+ "ip\0"
+ "glGenPerfMonitorsAMD\0"
+ "\0"
+ /* _mesa_function_pool[26827]: ClearAccum (offset 204) */
+ "ffff\0"
+ "glClearAccum\0"
+ "\0"
+ /* _mesa_function_pool[26846]: DeformSGIX (dynamic) */
+ "i\0"
+ "glDeformSGIX\0"
+ "\0"
+ /* _mesa_function_pool[26862]: TexCoord4iv (offset 123) */
+ "p\0"
+ "glTexCoord4iv\0"
+ "\0"
+ /* _mesa_function_pool[26879]: TexStorage3D (will be remapped) */
+ "iiiiii\0"
+ "glTexStorage3D\0"
+ "\0"
+ /* _mesa_function_pool[26902]: FramebufferTexture3D (will be remapped) */
+ "iiiiii\0"
+ "glFramebufferTexture3D\0"
+ "glFramebufferTexture3DEXT\0"
+ "glFramebufferTexture3DOES\0"
+ "\0"
+ /* _mesa_function_pool[26985]: FragmentLightModelfvSGIX (dynamic) */
+ "ip\0"
+ "glFragmentLightModelfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[27016]: GetBufferParameteriv (will be remapped) */
+ "iip\0"
+ "glGetBufferParameteriv\0"
+ "glGetBufferParameterivARB\0"
+ "\0"
+ /* _mesa_function_pool[27070]: VertexAttrib2fNV (will be remapped) */
+ "iff\0"
+ "glVertexAttrib2fNV\0"
+ "\0"
+ /* _mesa_function_pool[27094]: GetFragmentLightfvSGIX (dynamic) */
+ "iip\0"
+ "glGetFragmentLightfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[27124]: CopyTexImage2D (offset 324) */
+ "iiiiiiii\0"
+ "glCopyTexImage2D\0"
+ "glCopyTexImage2DEXT\0"
+ "\0"
+ /* _mesa_function_pool[27171]: Vertex3fv (offset 137) */
+ "p\0"
+ "glVertex3fv\0"
+ "\0"
+ /* _mesa_function_pool[27186]: WindowPos4dvMESA (will be remapped) */
+ "p\0"
+ "glWindowPos4dvMESA\0"
+ "\0"
+ /* _mesa_function_pool[27208]: CreateShaderProgramEXT (will be remapped) */
+ "ip\0"
+ "glCreateShaderProgramEXT\0"
+ "\0"
+ /* _mesa_function_pool[27237]: VertexAttribs1dvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs1dvNV\0"
+ "\0"
+ /* _mesa_function_pool[27263]: IsQuery (will be remapped) */
+ "i\0"
+ "glIsQuery\0"
+ "glIsQueryARB\0"
+ "\0"
+ /* _mesa_function_pool[27289]: EdgeFlagPointerEXT (will be remapped) */
+ "iip\0"
+ "glEdgeFlagPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[27315]: VertexAttribs2svNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs2svNV\0"
+ "\0"
+ /* _mesa_function_pool[27341]: CreateShaderProgramv (will be remapped) */
+ "iip\0"
+ "glCreateShaderProgramv\0"
+ "glCreateShaderProgramvEXT\0"
+ "\0"
+ /* _mesa_function_pool[27395]: BlendEquationiARB (will be remapped) */
+ "ii\0"
+ "glBlendEquationiARB\0"
+ "glBlendEquationIndexedAMD\0"
+ "\0"
+ /* _mesa_function_pool[27445]: VertexAttribI4uivEXT (will be remapped) */
+ "ip\0"
+ "glVertexAttribI4uivEXT\0"
+ "glVertexAttribI4uiv\0"
+ "\0"
+ /* _mesa_function_pool[27492]: PointSizex (will be remapped) */
+ "i\0"
+ "glPointSizexOES\0"
+ "glPointSizex\0"
+ "\0"
+ /* _mesa_function_pool[27524]: PolygonMode (offset 174) */
+ "ii\0"
+ "glPolygonMode\0"
+ "\0"
+ /* _mesa_function_pool[27542]: SecondaryColor3iv (will be remapped) */
+ "p\0"
+ "glSecondaryColor3iv\0"
+ "glSecondaryColor3ivEXT\0"
+ "\0"
+ /* _mesa_function_pool[27588]: VertexAttribI1iEXT (will be remapped) */
+ "ii\0"
+ "glVertexAttribI1iEXT\0"
+ "glVertexAttribI1i\0"
+ "\0"
+ /* _mesa_function_pool[27631]: VertexAttrib4Niv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4Niv\0"
+ "glVertexAttrib4NivARB\0"
+ "\0"
+ /* _mesa_function_pool[27676]: GetMapAttribParameterivNV (dynamic) */
+ "iiip\0"
+ "glGetMapAttribParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[27710]: GetnUniformdvARB (will be remapped) */
+ "iiip\0"
+ "glGetnUniformdvARB\0"
+ "\0"
+ /* _mesa_function_pool[27735]: LinkProgram (will be remapped) */
+ "i\0"
+ "glLinkProgram\0"
+ "glLinkProgramARB\0"
+ "\0"
+ /* _mesa_function_pool[27769]: ProgramUniform4f (will be remapped) */
+ "iiffff\0"
+ "glProgramUniform4f\0"
+ "glProgramUniform4fEXT\0"
+ "\0"
+ /* _mesa_function_pool[27818]: ProgramUniform4i (will be remapped) */
+ "iiiiii\0"
+ "glProgramUniform4i\0"
+ "glProgramUniform4iEXT\0"
+ "\0"
+ /* _mesa_function_pool[27867]: ListParameterfvSGIX (dynamic) */
+ "iip\0"
+ "glListParameterfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[27894]: VertexAttrib4d (will be remapped) */
+ "idddd\0"
+ "glVertexAttrib4d\0"
+ "glVertexAttrib4dARB\0"
+ "\0"
+ /* _mesa_function_pool[27938]: WindowPos4sMESA (will be remapped) */
+ "iiii\0"
+ "glWindowPos4sMESA\0"
+ "\0"
+ /* _mesa_function_pool[27962]: VertexAttrib4s (will be remapped) */
+ "iiiii\0"
+ "glVertexAttrib4s\0"
+ "glVertexAttrib4sARB\0"
+ "\0"
+ /* _mesa_function_pool[28006]: VertexAttrib1dvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib1dvNV\0"
+ "\0"
+ /* _mesa_function_pool[28030]: ReplacementCodePointerSUN (dynamic) */
+ "iip\0"
+ "glReplacementCodePointerSUN\0"
+ "\0"
+ /* _mesa_function_pool[28063]: TexStorage3DMultisample (will be remapped) */
+ "iiiiiii\0"
+ "glTexStorage3DMultisample\0"
+ "\0"
+ /* _mesa_function_pool[28098]: Binormal3bvEXT (dynamic) */
+ "p\0"
+ "glBinormal3bvEXT\0"
+ "\0"
+ /* _mesa_function_pool[28118]: SamplerParameteriv (will be remapped) */
+ "iip\0"
+ "glSamplerParameteriv\0"
+ "\0"
+ /* _mesa_function_pool[28144]: VertexAttribP3uiv (will be remapped) */
+ "iiip\0"
+ "glVertexAttribP3uiv\0"
+ "\0"
+ /* _mesa_function_pool[28170]: ScissorIndexedv (will be remapped) */
+ "ip\0"
+ "glScissorIndexedv\0"
+ "\0"
+ /* _mesa_function_pool[28192]: Color4ubVertex2fSUN (dynamic) */
+ "iiiiff\0"
+ "glColor4ubVertex2fSUN\0"
+ "\0"
+ /* _mesa_function_pool[28222]: FragmentColorMaterialSGIX (dynamic) */
+ "ii\0"
+ "glFragmentColorMaterialSGIX\0"
+ "\0"
+ /* _mesa_function_pool[28254]: GetStringi (will be remapped) */
+ "ii\0"
+ "glGetStringi\0"
+ "\0"
+ /* _mesa_function_pool[28271]: VertexAttrib4dv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4dv\0"
+ "glVertexAttrib4dvARB\0"
+ "\0"
+ /* _mesa_function_pool[28314]: EvalCoord2dv (offset 233) */
+ "p\0"
+ "glEvalCoord2dv\0"
+ "\0"
+ /* _mesa_function_pool[28332]: VertexAttrib1fNV (will be remapped) */
+ "if\0"
+ "glVertexAttrib1fNV\0"
+ "\0"
+ /* _mesa_function_pool[28355]: CompressedTexSubImage1D (will be remapped) */
+ "iiiiiip\0"
+ "glCompressedTexSubImage1D\0"
+ "glCompressedTexSubImage1DARB\0"
+ "\0"
+ /* _mesa_function_pool[28419]: GetSeparableFilter (offset 359) */
+ "iiippp\0"
+ "glGetSeparableFilter\0"
+ "glGetSeparableFilterEXT\0"
+ "\0"
+ /* _mesa_function_pool[28472]: ReplacementCodeusSUN (dynamic) */
+ "i\0"
+ "glReplacementCodeusSUN\0"
+ "\0"
+ /* _mesa_function_pool[28498]: FeedbackBuffer (offset 194) */
+ "iip\0"
+ "glFeedbackBuffer\0"
+ "\0"
+ /* _mesa_function_pool[28520]: RasterPos2iv (offset 67) */
+ "p\0"
+ "glRasterPos2iv\0"
+ "\0"
+ /* _mesa_function_pool[28538]: TexImage1D (offset 182) */
+ "iiiiiiip\0"
+ "glTexImage1D\0"
+ "\0"
+ /* _mesa_function_pool[28561]: MultiDrawElementsEXT (will be remapped) */
+ "ipipi\0"
+ "glMultiDrawElements\0"
+ "glMultiDrawElementsEXT\0"
+ "\0"
+ /* _mesa_function_pool[28611]: GetnSeparableFilterARB (will be remapped) */
+ "iiiipipp\0"
+ "glGetnSeparableFilterARB\0"
+ "\0"
+ /* _mesa_function_pool[28646]: FrontFace (offset 157) */
+ "i\0"
+ "glFrontFace\0"
+ "\0"
+ /* _mesa_function_pool[28661]: MultiModeDrawArraysIBM (will be remapped) */
+ "pppii\0"
+ "glMultiModeDrawArraysIBM\0"
+ "\0"
+ /* _mesa_function_pool[28693]: Tangent3ivEXT (dynamic) */
+ "p\0"
+ "glTangent3ivEXT\0"
+ "\0"
+ /* _mesa_function_pool[28712]: LightEnviSGIX (dynamic) */
+ "ii\0"
+ "glLightEnviSGIX\0"
+ "\0"
+ /* _mesa_function_pool[28732]: Normal3dv (offset 55) */
+ "p\0"
+ "glNormal3dv\0"
+ "\0"
+ /* _mesa_function_pool[28747]: Lightf (offset 159) */
+ "iif\0"
+ "glLightf\0"
+ "\0"
+ /* _mesa_function_pool[28761]: MatrixMode (offset 293) */
+ "i\0"
+ "glMatrixMode\0"
+ "\0"
+ /* _mesa_function_pool[28777]: GetPixelMapusv (offset 273) */
+ "ip\0"
+ "glGetPixelMapusv\0"
+ "\0"
+ /* _mesa_function_pool[28798]: Lighti (offset 161) */
+ "iii\0"
+ "glLighti\0"
+ "\0"
+ /* _mesa_function_pool[28812]: VertexAttribPointerNV (will be remapped) */
+ "iiiip\0"
+ "glVertexAttribPointerNV\0"
+ "\0"
+ /* _mesa_function_pool[28843]: GetFragDataIndex (will be remapped) */
+ "ip\0"
+ "glGetFragDataIndex\0"
+ "\0"
+ /* _mesa_function_pool[28866]: Lightx (will be remapped) */
+ "iii\0"
+ "glLightxOES\0"
+ "glLightx\0"
+ "\0"
+ /* _mesa_function_pool[28892]: ProgramUniform3fv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform3fv\0"
+ "glProgramUniform3fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[28941]: MultMatrixd (offset 295) */
+ "p\0"
+ "glMultMatrixd\0"
+ "\0"
+ /* _mesa_function_pool[28958]: MultMatrixf (offset 294) */
+ "p\0"
+ "glMultMatrixf\0"
+ "\0"
+ /* _mesa_function_pool[28975]: MultiTexCoord4fvARB (offset 403) */
+ "ip\0"
+ "glMultiTexCoord4fv\0"
+ "glMultiTexCoord4fvARB\0"
+ "\0"
+ /* _mesa_function_pool[29020]: UniformMatrix2x3fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix2x3fv\0"
+ "\0"
+ /* _mesa_function_pool[29047]: TrackMatrixNV (will be remapped) */
+ "iiii\0"
+ "glTrackMatrixNV\0"
+ "\0"
+ /* _mesa_function_pool[29069]: MultMatrixx (will be remapped) */
+ "p\0"
+ "glMultMatrixxOES\0"
+ "glMultMatrixx\0"
+ "\0"
+ /* _mesa_function_pool[29103]: PointParameterx (will be remapped) */
+ "ii\0"
+ "glPointParameterxOES\0"
+ "glPointParameterx\0"
+ "\0"
+ /* _mesa_function_pool[29146]: DrawArrays (offset 310) */
+ "iii\0"
+ "glDrawArrays\0"
+ "glDrawArraysEXT\0"
+ "\0"
+ /* _mesa_function_pool[29180]: PointParameteri (will be remapped) */
+ "ii\0"
+ "glPointParameteri\0"
+ "glPointParameteriNV\0"
+ "\0"
+ /* _mesa_function_pool[29222]: PointParameterf (will be remapped) */
+ "if\0"
+ "glPointParameterf\0"
+ "glPointParameterfARB\0"
+ "glPointParameterfEXT\0"
+ "glPointParameterfSGIS\0"
+ "\0"
+ /* _mesa_function_pool[29308]: GlobalAlphaFactorsSUN (dynamic) */
+ "i\0"
+ "glGlobalAlphaFactorsSUN\0"
+ "\0"
+ /* _mesa_function_pool[29335]: VertexAttribBinding (will be remapped) */
+ "ii\0"
+ "glVertexAttribBinding\0"
+ "\0"
+ /* _mesa_function_pool[29361]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glReplacementCodeuiTexCoord2fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[29408]: CreateShader (will be remapped) */
+ "i\0"
+ "glCreateShader\0"
+ "\0"
+ /* _mesa_function_pool[29426]: GetProgramParameterdvNV (will be remapped) */
+ "iiip\0"
+ "glGetProgramParameterdvNV\0"
+ "\0"
+ /* _mesa_function_pool[29458]: GetProgramEnvParameterfvARB (will be remapped) */
+ "iip\0"
+ "glGetProgramEnvParameterfvARB\0"
+ "\0"
+ /* _mesa_function_pool[29493]: DeleteBuffers (will be remapped) */
+ "ip\0"
+ "glDeleteBuffers\0"
+ "glDeleteBuffersARB\0"
+ "\0"
+ /* _mesa_function_pool[29532]: GetBufferSubData (will be remapped) */
+ "iiip\0"
+ "glGetBufferSubData\0"
+ "glGetBufferSubDataARB\0"
+ "\0"
+ /* _mesa_function_pool[29579]: GetPerfMonitorGroupsAMD (will be remapped) */
+ "pip\0"
+ "glGetPerfMonitorGroupsAMD\0"
+ "\0"
+ /* _mesa_function_pool[29610]: FlushRasterSGIX (dynamic) */
+ "\0"
+ "glFlushRasterSGIX\0"
+ "\0"
+ /* _mesa_function_pool[29630]: VertexAttribP2ui (will be remapped) */
+ "iiii\0"
+ "glVertexAttribP2ui\0"
+ "\0"
+ /* _mesa_function_pool[29655]: GetMinmaxParameteriv (offset 366) */
+ "iip\0"
+ "glGetMinmaxParameteriv\0"
+ "glGetMinmaxParameterivEXT\0"
+ "\0"
+ /* _mesa_function_pool[29709]: DrawTexivOES (will be remapped) */
+ "p\0"
+ "glDrawTexivOES\0"
+ "\0"
+ /* _mesa_function_pool[29727]: CopyTexImage1D (offset 323) */
+ "iiiiiii\0"
+ "glCopyTexImage1D\0"
+ "glCopyTexImage1DEXT\0"
+ "\0"
+ /* _mesa_function_pool[29773]: GetnColorTableARB (will be remapped) */
+ "iiiip\0"
+ "glGetnColorTableARB\0"
+ "\0"
+ /* _mesa_function_pool[29800]: VertexAttribFormat (will be remapped) */
+ "iiiii\0"
+ "glVertexAttribFormat\0"
+ "\0"
+ /* _mesa_function_pool[29828]: Vertex3i (offset 138) */
+ "iii\0"
+ "glVertex3i\0"
+ "\0"
+ /* _mesa_function_pool[29844]: Vertex3f (offset 136) */
+ "fff\0"
+ "glVertex3f\0"
+ "\0"
+ /* _mesa_function_pool[29860]: Vertex3d (offset 134) */
+ "ddd\0"
+ "glVertex3d\0"
+ "\0"
+ /* _mesa_function_pool[29876]: GetProgramPipelineiv (will be remapped) */
+ "iip\0"
+ "glGetProgramPipelineiv\0"
+ "glGetProgramPipelineivEXT\0"
+ "\0"
+ /* _mesa_function_pool[29930]: ReadBuffer (offset 254) */
+ "i\0"
+ "glReadBuffer\0"
+ "glReadBufferNV\0"
+ "\0"
+ /* _mesa_function_pool[29961]: ConvolutionParameteri (offset 352) */
+ "iii\0"
+ "glConvolutionParameteri\0"
+ "glConvolutionParameteriEXT\0"
+ "\0"
+ /* _mesa_function_pool[30017]: GetTexParameterIiv (will be remapped) */
+ "iip\0"
+ "glGetTexParameterIivEXT\0"
+ "glGetTexParameterIiv\0"
+ "\0"
+ /* _mesa_function_pool[30067]: Vertex3s (offset 140) */
+ "iii\0"
+ "glVertex3s\0"
+ "\0"
+ /* _mesa_function_pool[30083]: ConvolutionParameterf (offset 350) */
+ "iif\0"
+ "glConvolutionParameterf\0"
+ "glConvolutionParameterfEXT\0"
+ "\0"
+ /* _mesa_function_pool[30139]: GetColorTableParameteriv (offset 345) */
+ "iip\0"
+ "glGetColorTableParameteriv\0"
+ "glGetColorTableParameterivSGI\0"
+ "glGetColorTableParameterivEXT\0"
+ "\0"
+ /* _mesa_function_pool[30231]: GetTransformFeedbackVarying (will be remapped) */
+ "iiipppp\0"
+ "glGetTransformFeedbackVarying\0"
+ "glGetTransformFeedbackVaryingEXT\0"
+ "\0"
+ /* _mesa_function_pool[30303]: GetNextPerfQueryIdINTEL (will be remapped) */
+ "ip\0"
+ "glGetNextPerfQueryIdINTEL\0"
+ "\0"
+ /* _mesa_function_pool[30333]: TexCoord3fv (offset 113) */
+ "p\0"
+ "glTexCoord3fv\0"
+ "\0"
+ /* _mesa_function_pool[30350]: TextureBarrierNV (will be remapped) */
+ "\0"
+ "glTextureBarrierNV\0"
+ "\0"
+ /* _mesa_function_pool[30371]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */
+ "iffffffffff\0"
+ "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[30430]: ProgramLocalParameter4fARB (will be remapped) */
+ "iiffff\0"
+ "glProgramLocalParameter4fARB\0"
+ "\0"
+ /* _mesa_function_pool[30467]: ObjectLabel (will be remapped) */
+ "iiip\0"
+ "glObjectLabel\0"
+ "\0"
+ /* _mesa_function_pool[30487]: PauseTransformFeedback (will be remapped) */
+ "\0"
+ "glPauseTransformFeedback\0"
+ "\0"
+ /* _mesa_function_pool[30514]: DeleteShader (will be remapped) */
+ "i\0"
+ "glDeleteShader\0"
+ "\0"
+ /* _mesa_function_pool[30532]: CompileShader (will be remapped) */
+ "i\0"
+ "glCompileShader\0"
+ "glCompileShaderARB\0"
+ "\0"
+ /* _mesa_function_pool[30570]: Vertex2iv (offset 131) */
+ "p\0"
+ "glVertex2iv\0"
+ "\0"
+ /* _mesa_function_pool[30585]: TexGendv (offset 189) */
+ "iip\0"
+ "glTexGendv\0"
+ "\0"
+ /* _mesa_function_pool[30601]: ProgramLocalParameters4fvEXT (will be remapped) */
+ "iiip\0"
+ "glProgramLocalParameters4fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[30638]: ResetMinmax (offset 370) */
+ "i\0"
+ "glResetMinmax\0"
+ "glResetMinmaxEXT\0"
+ "\0"
+ /* _mesa_function_pool[30672]: SpriteParameterfSGIX (dynamic) */
+ "if\0"
+ "glSpriteParameterfSGIX\0"
+ "\0"
+ /* _mesa_function_pool[30699]: DeleteProgramsARB (will be remapped) */
+ "ip\0"
+ "glDeleteProgramsARB\0"
+ "glDeleteProgramsNV\0"
+ "\0"
+ /* _mesa_function_pool[30742]: ShadeModel (offset 177) */
+ "i\0"
+ "glShadeModel\0"
+ "\0"
+ /* _mesa_function_pool[30758]: VertexAttribs1fvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs1fvNV\0"
+ "\0"
+ /* _mesa_function_pool[30784]: FogFuncSGIS (dynamic) */
+ "ip\0"
+ "glFogFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[30802]: GetTexLevelParameteriv (offset 285) */
+ "iiip\0"
+ "glGetTexLevelParameteriv\0"
+ "\0"
+ /* _mesa_function_pool[30833]: MultiDrawArrays (will be remapped) */
+ "ippi\0"
+ "glMultiDrawArrays\0"
+ "glMultiDrawArraysEXT\0"
+ "\0"
+ /* _mesa_function_pool[30878]: GetProgramLocalParameterdvARB (will be remapped) */
+ "iip\0"
+ "glGetProgramLocalParameterdvARB\0"
+ "\0"
+ /* _mesa_function_pool[30915]: MapBufferRange (will be remapped) */
+ "iiii\0"
+ "glMapBufferRange\0"
+ "glMapBufferRangeEXT\0"
+ "\0"
+ /* _mesa_function_pool[30958]: DispatchCompute (will be remapped) */
+ "iii\0"
+ "glDispatchCompute\0"
+ "\0"
+ /* _mesa_function_pool[30981]: UseProgramStages (will be remapped) */
+ "iii\0"
+ "glUseProgramStages\0"
+ "glUseProgramStagesEXT\0"
+ "\0"
+ /* _mesa_function_pool[31027]: ProgramUniformMatrix4fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix4fv\0"
+ "glProgramUniformMatrix4fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[31089]: FinishAsyncSGIX (dynamic) */
+ "p\0"
+ "glFinishAsyncSGIX\0"
+ "\0"
+ /* _mesa_function_pool[31110]: FramebufferRenderbuffer (will be remapped) */
+ "iiii\0"
+ "glFramebufferRenderbuffer\0"
+ "glFramebufferRenderbufferEXT\0"
+ "glFramebufferRenderbufferOES\0"
+ "\0"
+ /* _mesa_function_pool[31200]: IsProgramARB (will be remapped) */
+ "i\0"
+ "glIsProgramARB\0"
+ "glIsProgramNV\0"
+ "\0"
+ /* _mesa_function_pool[31232]: Map2d (offset 222) */
+ "iddiiddiip\0"
+ "glMap2d\0"
+ "\0"
+ /* _mesa_function_pool[31252]: Map2f (offset 223) */
+ "iffiiffiip\0"
+ "glMap2f\0"
+ "\0"
+ /* _mesa_function_pool[31272]: ProgramStringARB (will be remapped) */
+ "iiip\0"
+ "glProgramStringARB\0"
+ "\0"
+ /* _mesa_function_pool[31297]: MultiTexCoord4x (will be remapped) */
+ "iiiii\0"
+ "glMultiTexCoord4xOES\0"
+ "glMultiTexCoord4x\0"
+ "\0"
+ /* _mesa_function_pool[31343]: MultiTexCoord4s (offset 406) */
+ "iiiii\0"
+ "glMultiTexCoord4s\0"
+ "glMultiTexCoord4sARB\0"
+ "\0"
+ /* _mesa_function_pool[31389]: ViewportIndexedf (will be remapped) */
+ "iffff\0"
+ "glViewportIndexedf\0"
+ "\0"
+ /* _mesa_function_pool[31415]: MultiTexCoord4i (offset 404) */
+ "iiiii\0"
+ "glMultiTexCoord4i\0"
+ "glMultiTexCoord4iARB\0"
+ "\0"
+ /* _mesa_function_pool[31461]: ApplyTextureEXT (dynamic) */
+ "i\0"
+ "glApplyTextureEXT\0"
+ "\0"
+ /* _mesa_function_pool[31482]: DebugMessageControl (will be remapped) */
+ "iiiipi\0"
+ "glDebugMessageControlARB\0"
+ "glDebugMessageControl\0"
+ "\0"
+ /* _mesa_function_pool[31537]: MultiTexCoord4d (offset 400) */
+ "idddd\0"
+ "glMultiTexCoord4d\0"
+ "glMultiTexCoord4dARB\0"
+ "\0"
+ /* _mesa_function_pool[31583]: GetHistogram (offset 361) */
+ "iiiip\0"
+ "glGetHistogram\0"
+ "glGetHistogramEXT\0"
+ "\0"
+ /* _mesa_function_pool[31623]: Translatex (will be remapped) */
+ "iii\0"
+ "glTranslatexOES\0"
+ "glTranslatex\0"
+ "\0"
+ /* _mesa_function_pool[31657]: IglooInterfaceSGIX (dynamic) */
+ "ip\0"
+ "glIglooInterfaceSGIX\0"
+ "\0"
+ /* _mesa_function_pool[31682]: Indexsv (offset 51) */
+ "p\0"
+ "glIndexsv\0"
+ "\0"
+ /* _mesa_function_pool[31695]: VertexAttrib1fvARB (will be remapped) */
+ "ip\0"
+ "glVertexAttrib1fv\0"
+ "glVertexAttrib1fvARB\0"
+ "\0"
+ /* _mesa_function_pool[31738]: TexCoord2dv (offset 103) */
+ "p\0"
+ "glTexCoord2dv\0"
+ "\0"
+ /* _mesa_function_pool[31755]: Translated (offset 303) */
+ "ddd\0"
+ "glTranslated\0"
+ "\0"
+ /* _mesa_function_pool[31773]: Translatef (offset 304) */
+ "fff\0"
+ "glTranslatef\0"
+ "\0"
+ /* _mesa_function_pool[31791]: MultTransposeMatrixd (will be remapped) */
+ "p\0"
+ "glMultTransposeMatrixd\0"
+ "glMultTransposeMatrixdARB\0"
+ "\0"
+ /* _mesa_function_pool[31843]: ProgramUniform4uiv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform4uiv\0"
+ "glProgramUniform4uivEXT\0"
+ "\0"
+ /* _mesa_function_pool[31894]: GetPerfCounterInfoINTEL (will be remapped) */
+ "iiipipppppp\0"
+ "glGetPerfCounterInfoINTEL\0"
+ "\0"
+ /* _mesa_function_pool[31933]: RenderMode (offset 196) */
+ "i\0"
+ "glRenderMode\0"
+ "\0"
+ /* _mesa_function_pool[31949]: MultiTexCoord1fARB (offset 378) */
+ "if\0"
+ "glMultiTexCoord1f\0"
+ "glMultiTexCoord1fARB\0"
+ "\0"
+ /* _mesa_function_pool[31992]: SecondaryColor3d (will be remapped) */
+ "ddd\0"
+ "glSecondaryColor3d\0"
+ "glSecondaryColor3dEXT\0"
+ "\0"
+ /* _mesa_function_pool[32038]: VertexAttribs4ubvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs4ubvNV\0"
+ "\0"
+ /* _mesa_function_pool[32065]: WeightsvARB (dynamic) */
+ "ip\0"
+ "glWeightsvARB\0"
+ "\0"
+ /* _mesa_function_pool[32083]: ProgramUniform4fv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform4fv\0"
+ "glProgramUniform4fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[32132]: LightModelxv (will be remapped) */
+ "ip\0"
+ "glLightModelxvOES\0"
+ "glLightModelxv\0"
+ "\0"
+ /* _mesa_function_pool[32169]: CopyTexSubImage1D (offset 325) */
+ "iiiiii\0"
+ "glCopyTexSubImage1D\0"
+ "glCopyTexSubImage1DEXT\0"
+ "\0"
+ /* _mesa_function_pool[32220]: PushDebugGroup (will be remapped) */
+ "iiip\0"
+ "glPushDebugGroup\0"
+ "\0"
+ /* _mesa_function_pool[32243]: StencilFunc (offset 243) */
+ "iii\0"
+ "glStencilFunc\0"
+ "\0"
+ /* _mesa_function_pool[32262]: CopyPixels (offset 255) */
+ "iiiii\0"
+ "glCopyPixels\0"
+ "\0"
+ /* _mesa_function_pool[32282]: TexGenxvOES (will be remapped) */
+ "iip\0"
+ "glTexGenxvOES\0"
+ "\0"
+ /* _mesa_function_pool[32301]: VertexAttrib4Nubv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4Nubv\0"
+ "glVertexAttrib4NubvARB\0"
+ "\0"
+ /* _mesa_function_pool[32348]: GetFogFuncSGIS (dynamic) */
+ "p\0"
+ "glGetFogFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[32368]: VertexP2uiv (will be remapped) */
+ "ip\0"
+ "glVertexP2uiv\0"
+ "\0"
+ /* _mesa_function_pool[32386]: VertexAttribPointer (will be remapped) */
+ "iiiiip\0"
+ "glVertexAttribPointer\0"
+ "glVertexAttribPointerARB\0"
+ "\0"
+ /* _mesa_function_pool[32441]: IndexMask (offset 212) */
+ "i\0"
+ "glIndexMask\0"
+ "\0"
+ /* _mesa_function_pool[32456]: SharpenTexFuncSGIS (dynamic) */
+ "iip\0"
+ "glSharpenTexFuncSGIS\0"
+ "\0"
+ /* _mesa_function_pool[32482]: VertexAttribIFormat (will be remapped) */
+ "iiii\0"
+ "glVertexAttribIFormat\0"
+ "\0"
+ /* _mesa_function_pool[32510]: CombinerOutputNV (dynamic) */
+ "iiiiiiiiii\0"
+ "glCombinerOutputNV\0"
+ "\0"
+ /* _mesa_function_pool[32541]: DrawArraysInstancedBaseInstance (will be remapped) */
+ "iiiii\0"
+ "glDrawArraysInstancedBaseInstance\0"
+ "\0"
+ /* _mesa_function_pool[32582]: PopAttrib (offset 218) */
+ "\0"
+ "glPopAttrib\0"
+ "\0"
+ /* _mesa_function_pool[32596]: SamplePatternSGIS (will be remapped) */
+ "i\0"
+ "glSamplePatternSGIS\0"
+ "glSamplePatternEXT\0"
+ "\0"
+ /* _mesa_function_pool[32638]: Uniform3ui (will be remapped) */
+ "iiii\0"
+ "glUniform3uiEXT\0"
+ "glUniform3ui\0"
+ "\0"
+ /* _mesa_function_pool[32673]: DeletePerfMonitorsAMD (will be remapped) */
+ "ip\0"
+ "glDeletePerfMonitorsAMD\0"
+ "\0"
+ /* _mesa_function_pool[32701]: Color4dv (offset 28) */
+ "p\0"
+ "glColor4dv\0"
+ "\0"
+ /* _mesa_function_pool[32715]: AreProgramsResidentNV (will be remapped) */
+ "ipp\0"
+ "glAreProgramsResidentNV\0"
+ "\0"
+ /* _mesa_function_pool[32744]: DisableVertexAttribArray (will be remapped) */
+ "i\0"
+ "glDisableVertexAttribArray\0"
+ "glDisableVertexAttribArrayARB\0"
+ "\0"
+ /* _mesa_function_pool[32804]: ProgramUniformMatrix3x2fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix3x2fv\0"
+ "glProgramUniformMatrix3x2fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[32870]: GetDoublei_v (will be remapped) */
+ "iip\0"
+ "glGetDoublei_v\0"
+ "\0"
+ /* _mesa_function_pool[32890]: IsTransformFeedback (will be remapped) */
+ "i\0"
+ "glIsTransformFeedback\0"
+ "\0"
+ /* _mesa_function_pool[32915]: ClipPlanex (will be remapped) */
+ "ip\0"
+ "glClipPlanexOES\0"
+ "glClipPlanex\0"
+ "\0"
+ /* _mesa_function_pool[32948]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */
+ "iffffff\0"
+ "glReplacementCodeuiColor3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[32995]: GetLightfv (offset 264) */
+ "iip\0"
+ "glGetLightfv\0"
+ "\0"
+ /* _mesa_function_pool[33013]: ClipPlanef (will be remapped) */
+ "ip\0"
+ "glClipPlanefOES\0"
+ "glClipPlanef\0"
+ "\0"
+ /* _mesa_function_pool[33046]: ProgramUniform1ui (will be remapped) */
+ "iii\0"
+ "glProgramUniform1ui\0"
+ "glProgramUniform1uiEXT\0"
+ "\0"
+ /* _mesa_function_pool[33094]: SecondaryColorPointer (will be remapped) */
+ "iiip\0"
+ "glSecondaryColorPointer\0"
+ "glSecondaryColorPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[33151]: Tangent3svEXT (dynamic) */
+ "p\0"
+ "glTangent3svEXT\0"
+ "\0"
+ /* _mesa_function_pool[33170]: Tangent3iEXT (dynamic) */
+ "iii\0"
+ "glTangent3iEXT\0"
+ "\0"
+ /* _mesa_function_pool[33190]: Indexub (offset 315) */
+ "i\0"
+ "glIndexub\0"
+ "\0"
+ /* _mesa_function_pool[33203]: FragmentLightfSGIX (dynamic) */
+ "iif\0"
+ "glFragmentLightfSGIX\0"
+ "\0"
+ /* _mesa_function_pool[33229]: BeginFragmentShaderATI (will be remapped) */
+ "\0"
+ "glBeginFragmentShaderATI\0"
+ "\0"
+ /* _mesa_function_pool[33256]: GenRenderbuffers (will be remapped) */
+ "ip\0"
+ "glGenRenderbuffers\0"
+ "glGenRenderbuffersEXT\0"
+ "glGenRenderbuffersOES\0"
+ "\0"
+ /* _mesa_function_pool[33323]: GetMinmaxParameterfv (offset 365) */
+ "iip\0"
+ "glGetMinmaxParameterfv\0"
+ "glGetMinmaxParameterfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[33377]: IsEnabledi (will be remapped) */
+ "ii\0"
+ "glIsEnabledIndexedEXT\0"
+ "glIsEnabledi\0"
+ "\0"
+ /* _mesa_function_pool[33416]: FragmentMaterialivSGIX (dynamic) */
+ "iip\0"
+ "glFragmentMaterialivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[33446]: WaitSync (will be remapped) */
+ "iii\0"
+ "glWaitSync\0"
+ "\0"
+ /* _mesa_function_pool[33462]: GetVertexAttribPointerv (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribPointerv\0"
+ "glGetVertexAttribPointervARB\0"
+ "glGetVertexAttribPointervNV\0"
+ "\0"
+ /* _mesa_function_pool[33550]: CreatePerfQueryINTEL (will be remapped) */
+ "ip\0"
+ "glCreatePerfQueryINTEL\0"
+ "\0"
+ /* _mesa_function_pool[33577]: NewList (dynamic) */
+ "ii\0"
+ "glNewList\0"
+ "\0"
+ /* _mesa_function_pool[33591]: TexBuffer (will be remapped) */
+ "iii\0"
+ "glTexBufferARB\0"
+ "glTexBuffer\0"
+ "\0"
+ /* _mesa_function_pool[33623]: TexCoord4sv (offset 125) */
+ "p\0"
+ "glTexCoord4sv\0"
+ "\0"
+ /* _mesa_function_pool[33640]: TexCoord1f (offset 96) */
+ "f\0"
+ "glTexCoord1f\0"
+ "\0"
+ /* _mesa_function_pool[33656]: TexCoord1d (offset 94) */
+ "d\0"
+ "glTexCoord1d\0"
+ "\0"
+ /* _mesa_function_pool[33672]: TexCoord1i (offset 98) */
+ "i\0"
+ "glTexCoord1i\0"
+ "\0"
+ /* _mesa_function_pool[33688]: GetnUniformfvARB (will be remapped) */
+ "iiip\0"
+ "glGetnUniformfvARB\0"
+ "\0"
+ /* _mesa_function_pool[33713]: TexCoord1s (offset 100) */
+ "i\0"
+ "glTexCoord1s\0"
+ "\0"
+ /* _mesa_function_pool[33729]: GlobalAlphaFactoriSUN (dynamic) */
+ "i\0"
+ "glGlobalAlphaFactoriSUN\0"
+ "\0"
+ /* _mesa_function_pool[33756]: TexStorage1D (will be remapped) */
+ "iiii\0"
+ "glTexStorage1D\0"
+ "\0"
+ /* _mesa_function_pool[33777]: BlitFramebuffer (will be remapped) */
+ "iiiiiiiiii\0"
+ "glBlitFramebuffer\0"
+ "glBlitFramebufferEXT\0"
+ "\0"
+ /* _mesa_function_pool[33828]: FramebufferTexture1D (will be remapped) */
+ "iiiii\0"
+ "glFramebufferTexture1D\0"
+ "glFramebufferTexture1DEXT\0"
+ "\0"
+ /* _mesa_function_pool[33884]: GetMapiv (offset 268) */
+ "iip\0"
+ "glGetMapiv\0"
+ "\0"
+ /* _mesa_function_pool[33900]: TexCoordP4ui (will be remapped) */
+ "ii\0"
+ "glTexCoordP4ui\0"
+ "\0"
+ /* _mesa_function_pool[33919]: VertexAttrib1sv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib1sv\0"
+ "glVertexAttrib1svARB\0"
+ "\0"
+ /* _mesa_function_pool[33962]: WindowPos4dMESA (will be remapped) */
+ "dddd\0"
+ "glWindowPos4dMESA\0"
+ "\0"
+ /* _mesa_function_pool[33986]: Vertex3dv (offset 135) */
+ "p\0"
+ "glVertex3dv\0"
+ "\0"
+ /* _mesa_function_pool[34001]: MultiTexCoordP2ui (will be remapped) */
+ "iii\0"
+ "glMultiTexCoordP2ui\0"
+ "\0"
+ /* _mesa_function_pool[34026]: GetnMapivARB (will be remapped) */
+ "iiip\0"
+ "glGetnMapivARB\0"
+ "\0"
+ /* _mesa_function_pool[34047]: MapParameterfvNV (dynamic) */
+ "iip\0"
+ "glMapParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[34071]: GetVertexAttribfv (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribfv\0"
+ "glGetVertexAttribfvARB\0"
+ "\0"
+ /* _mesa_function_pool[34119]: MultiTexCoordP4uiv (will be remapped) */
+ "iip\0"
+ "glMultiTexCoordP4uiv\0"
+ "\0"
+ /* _mesa_function_pool[34145]: TexGeniv (offset 193) */
+ "iip\0"
+ "glTexGeniv\0"
+ "glTexGenivOES\0"
+ "\0"
+ /* _mesa_function_pool[34175]: WeightubvARB (dynamic) */
+ "ip\0"
+ "glWeightubvARB\0"
+ "\0"
+ /* _mesa_function_pool[34194]: BlendColor (offset 336) */
+ "ffff\0"
+ "glBlendColor\0"
+ "glBlendColorEXT\0"
+ "\0"
+ /* _mesa_function_pool[34229]: Materiali (offset 171) */
+ "iii\0"
+ "glMateriali\0"
+ "\0"
+ /* _mesa_function_pool[34246]: VertexAttrib2dvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib2dvNV\0"
+ "\0"
+ /* _mesa_function_pool[34270]: ResetHistogram (offset 369) */
+ "i\0"
+ "glResetHistogram\0"
+ "glResetHistogramEXT\0"
+ "\0"
+ /* _mesa_function_pool[34310]: CompressedTexSubImage2D (will be remapped) */
+ "iiiiiiiip\0"
+ "glCompressedTexSubImage2D\0"
+ "glCompressedTexSubImage2DARB\0"
+ "\0"
+ /* _mesa_function_pool[34376]: TexCoord2sv (offset 109) */
+ "p\0"
+ "glTexCoord2sv\0"
+ "\0"
+ /* _mesa_function_pool[34393]: StencilMaskSeparate (will be remapped) */
+ "ii\0"
+ "glStencilMaskSeparate\0"
+ "\0"
+ /* _mesa_function_pool[34419]: MultiTexCoord3sv (offset 399) */
+ "ip\0"
+ "glMultiTexCoord3sv\0"
+ "glMultiTexCoord3svARB\0"
+ "\0"
+ /* _mesa_function_pool[34464]: GetMapParameterfvNV (dynamic) */
+ "iip\0"
+ "glGetMapParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[34491]: TexCoord3iv (offset 115) */
+ "p\0"
+ "glTexCoord3iv\0"
+ "\0"
+ /* _mesa_function_pool[34508]: MultiTexCoord4sv (offset 407) */
+ "ip\0"
+ "glMultiTexCoord4sv\0"
+ "glMultiTexCoord4svARB\0"
+ "\0"
+ /* _mesa_function_pool[34553]: VertexBindingDivisor (will be remapped) */
+ "ii\0"
+ "glVertexBindingDivisor\0"
+ "\0"
+ /* _mesa_function_pool[34580]: GetPerfMonitorCounterInfoAMD (will be remapped) */
+ "iiip\0"
+ "glGetPerfMonitorCounterInfoAMD\0"
+ "\0"
+ /* _mesa_function_pool[34617]: UniformBlockBinding (will be remapped) */
+ "iii\0"
+ "glUniformBlockBinding\0"
+ "\0"
+ /* _mesa_function_pool[34644]: FenceSync (will be remapped) */
+ "ii\0"
+ "glFenceSync\0"
+ "\0"
+ /* _mesa_function_pool[34660]: VertexAttrib4Nusv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4Nusv\0"
+ "glVertexAttrib4NusvARB\0"
+ "\0"
+ /* _mesa_function_pool[34707]: SetFragmentShaderConstantATI (will be remapped) */
+ "ip\0"
+ "glSetFragmentShaderConstantATI\0"
+ "\0"
+ /* _mesa_function_pool[34742]: VertexP2ui (will be remapped) */
+ "ii\0"
+ "glVertexP2ui\0"
+ "\0"
+ /* _mesa_function_pool[34759]: GetTexEnvfv (offset 276) */
+ "iip\0"
+ "glGetTexEnvfv\0"
+ "\0"
+ /* _mesa_function_pool[34778]: BindAttribLocation (will be remapped) */
+ "iip\0"
+ "glBindAttribLocation\0"
+ "glBindAttribLocationARB\0"
+ "\0"
+ /* _mesa_function_pool[34828]: TextureStorage2DEXT (will be remapped) */
+ "iiiiii\0"
+ "glTextureStorage2DEXT\0"
+ "\0"
+ /* _mesa_function_pool[34858]: FragmentLightiSGIX (dynamic) */
+ "iii\0"
+ "glFragmentLightiSGIX\0"
+ "\0"
+ /* _mesa_function_pool[34884]: DrawTransformFeedbackInstanced (will be remapped) */
+ "iii\0"
+ "glDrawTransformFeedbackInstanced\0"
+ "\0"
+ /* _mesa_function_pool[34922]: PollAsyncSGIX (dynamic) */
+ "p\0"
+ "glPollAsyncSGIX\0"
+ "\0"
+ /* _mesa_function_pool[34941]: ResumeTransformFeedback (will be remapped) */
+ "\0"
+ "glResumeTransformFeedback\0"
+ "\0"
+ /* _mesa_function_pool[34969]: GetProgramNamedParameterdvNV (will be remapped) */
+ "iipp\0"
+ "glGetProgramNamedParameterdvNV\0"
+ "\0"
+ /* _mesa_function_pool[35006]: VertexAttribI1iv (will be remapped) */
+ "ip\0"
+ "glVertexAttribI1ivEXT\0"
+ "glVertexAttribI1iv\0"
+ "\0"
+ /* _mesa_function_pool[35051]: Vertex2dv (offset 127) */
+ "p\0"
+ "glVertex2dv\0"
+ "\0"
+ /* _mesa_function_pool[35066]: VertexAttribI2uivEXT (will be remapped) */
+ "ip\0"
+ "glVertexAttribI2uivEXT\0"
+ "glVertexAttribI2uiv\0"
+ "\0"
+ /* _mesa_function_pool[35113]: SampleMaski (will be remapped) */
+ "ii\0"
+ "glSampleMaski\0"
+ "\0"
+ /* _mesa_function_pool[35131]: GetFloati_v (will be remapped) */
+ "iip\0"
+ "glGetFloati_v\0"
+ "\0"
+ /* _mesa_function_pool[35150]: MultiTexCoord2iv (offset 389) */
+ "ip\0"
+ "glMultiTexCoord2iv\0"
+ "glMultiTexCoord2ivARB\0"
+ "\0"
+ /* _mesa_function_pool[35195]: DrawPixels (offset 257) */
+ "iiiip\0"
+ "glDrawPixels\0"
+ "\0"
+ /* _mesa_function_pool[35215]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */
+ "iffffffff\0"
+ "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[35275]: DrawTransformFeedback (will be remapped) */
+ "ii\0"
+ "glDrawTransformFeedback\0"
+ "\0"
+ /* _mesa_function_pool[35303]: VertexAttribs3fvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs3fvNV\0"
+ "\0"
+ /* _mesa_function_pool[35329]: GenLists (offset 5) */
+ "i\0"
+ "glGenLists\0"
+ "\0"
+ /* _mesa_function_pool[35343]: MapGrid2d (offset 226) */
+ "iddidd\0"
+ "glMapGrid2d\0"
+ "\0"
+ /* _mesa_function_pool[35363]: MapGrid2f (offset 227) */
+ "iffiff\0"
+ "glMapGrid2f\0"
+ "\0"
+ /* _mesa_function_pool[35383]: SampleMapATI (will be remapped) */
+ "iii\0"
+ "glSampleMapATI\0"
+ "\0"
+ /* _mesa_function_pool[35403]: TexBumpParameterfvATI (will be remapped) */
+ "ip\0"
+ "glTexBumpParameterfvATI\0"
+ "\0"
+ /* _mesa_function_pool[35431]: GetActiveAttrib (will be remapped) */
+ "iiipppp\0"
+ "glGetActiveAttrib\0"
+ "glGetActiveAttribARB\0"
+ "\0"
+ /* _mesa_function_pool[35479]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glTexCoord2fColor4ubVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[35517]: PixelMapfv (offset 251) */
+ "iip\0"
+ "glPixelMapfv\0"
+ "\0"
+ /* _mesa_function_pool[35535]: ClearBufferData (will be remapped) */
+ "iiiip\0"
+ "glClearBufferData\0"
+ "\0"
+ /* _mesa_function_pool[35560]: Color3usv (offset 24) */
+ "p\0"
+ "glColor3usv\0"
+ "\0"
+ /* _mesa_function_pool[35575]: StencilOpSeparate (will be remapped) */
+ "iiii\0"
+ "glStencilOpSeparate\0"
+ "glStencilOpSeparateATI\0"
+ "\0"
+ /* _mesa_function_pool[35624]: GenSamplers (will be remapped) */
+ "ip\0"
+ "glGenSamplers\0"
+ "\0"
+ /* _mesa_function_pool[35642]: DrawTexfOES (will be remapped) */
+ "fffff\0"
+ "glDrawTexfOES\0"
+ "\0"
+ /* _mesa_function_pool[35663]: AttachObjectARB (will be remapped) */
+ "ii\0"
+ "glAttachObjectARB\0"
+ "\0"
+ /* _mesa_function_pool[35685]: GetFragmentLightivSGIX (dynamic) */
+ "iip\0"
+ "glGetFragmentLightivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[35715]: Accum (offset 213) */
+ "if\0"
+ "glAccum\0"
+ "\0"
+ /* _mesa_function_pool[35727]: GetTexImage (offset 281) */
+ "iiiip\0"
+ "glGetTexImage\0"
+ "\0"
+ /* _mesa_function_pool[35748]: Color4x (will be remapped) */
+ "iiii\0"
+ "glColor4xOES\0"
+ "glColor4x\0"
+ "\0"
+ /* _mesa_function_pool[35777]: ConvolutionParameteriv (offset 353) */
+ "iip\0"
+ "glConvolutionParameteriv\0"
+ "glConvolutionParameterivEXT\0"
+ "\0"
+ /* _mesa_function_pool[35835]: Color4s (offset 33) */
+ "iiii\0"
+ "glColor4s\0"
+ "\0"
+ /* _mesa_function_pool[35851]: CullParameterdvEXT (dynamic) */
+ "ip\0"
+ "glCullParameterdvEXT\0"
+ "\0"
+ /* _mesa_function_pool[35876]: GetUniformuiv (will be remapped) */
+ "iip\0"
+ "glGetUniformuivEXT\0"
+ "glGetUniformuiv\0"
+ "\0"
+ /* _mesa_function_pool[35916]: Color4i (offset 31) */
+ "iiii\0"
+ "glColor4i\0"
+ "\0"
+ /* _mesa_function_pool[35932]: Color4f (offset 29) */
+ "ffff\0"
+ "glColor4f\0"
+ "\0"
+ /* _mesa_function_pool[35948]: Color4d (offset 27) */
+ "dddd\0"
+ "glColor4d\0"
+ "\0"
+ /* _mesa_function_pool[35964]: Color4b (offset 25) */
+ "iiii\0"
+ "glColor4b\0"
+ "\0"
+ /* _mesa_function_pool[35980]: LoadProgramNV (will be remapped) */
+ "iiip\0"
+ "glLoadProgramNV\0"
+ "\0"
+ /* _mesa_function_pool[36002]: GetAttachedObjectsARB (will be remapped) */
+ "iipp\0"
+ "glGetAttachedObjectsARB\0"
+ "\0"
+ /* _mesa_function_pool[36032]: EvalCoord1fv (offset 231) */
+ "p\0"
+ "glEvalCoord1fv\0"
+ "\0"
+ /* _mesa_function_pool[36050]: VertexAttribLFormat (will be remapped) */
+ "iiii\0"
+ "glVertexAttribLFormat\0"
+ "\0"
+ /* _mesa_function_pool[36078]: StencilFuncSeparate (will be remapped) */
+ "iiii\0"
+ "glStencilFuncSeparate\0"
+ "\0"
+ /* _mesa_function_pool[36106]: ShaderSource (will be remapped) */
+ "iipp\0"
+ "glShaderSource\0"
+ "glShaderSourceARB\0"
+ "\0"
+ /* _mesa_function_pool[36145]: Normal3fv (offset 57) */
+ "p\0"
+ "glNormal3fv\0"
+ "\0"
+ /* _mesa_function_pool[36160]: ImageTransformParameterfvHP (dynamic) */
+ "iip\0"
+ "glImageTransformParameterfvHP\0"
+ "\0"
+ /* _mesa_function_pool[36195]: NormalP3ui (will be remapped) */
+ "ii\0"
+ "glNormalP3ui\0"
+ "\0"
+ /* _mesa_function_pool[36212]: MultiTexCoord3fvARB (offset 395) */
+ "ip\0"
+ "glMultiTexCoord3fv\0"
+ "glMultiTexCoord3fvARB\0"
+ "\0"
+ /* _mesa_function_pool[36257]: GetProgramParameterfvNV (will be remapped) */
+ "iiip\0"
+ "glGetProgramParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[36289]: BufferData (will be remapped) */
+ "iipi\0"
+ "glBufferData\0"
+ "glBufferDataARB\0"
+ "\0"
+ /* _mesa_function_pool[36324]: TexSubImage2D (offset 333) */
+ "iiiiiiiip\0"
+ "glTexSubImage2D\0"
+ "glTexSubImage2DEXT\0"
+ "\0"
+ /* _mesa_function_pool[36370]: FragmentLightivSGIX (dynamic) */
+ "iip\0"
+ "glFragmentLightivSGIX\0"
+ "\0"
+ /* _mesa_function_pool[36397]: GetTexParameterPointervAPPLE (dynamic) */
+ "iip\0"
+ "glGetTexParameterPointervAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[36433]: TexGenfv (offset 191) */
+ "iip\0"
+ "glTexGenfv\0"
+ "glTexGenfvOES\0"
+ "\0"
+ /* _mesa_function_pool[36463]: GetVertexAttribiv (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribiv\0"
+ "glGetVertexAttribivARB\0"
+ "\0"
+ /* _mesa_function_pool[36511]: TexCoordP2uiv (will be remapped) */
+ "ip\0"
+ "glTexCoordP2uiv\0"
+ "\0"
+ /* _mesa_function_pool[36531]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glReplacementCodeuiColor3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[36575]: Uniform3fv (will be remapped) */
+ "iip\0"
+ "glUniform3fv\0"
+ "glUniform3fvARB\0"
+ "\0"
+ /* _mesa_function_pool[36609]: BlendEquation (offset 337) */
+ "i\0"
+ "glBlendEquation\0"
+ "glBlendEquationEXT\0"
+ "glBlendEquationOES\0"
+ "\0"
+ /* _mesa_function_pool[36666]: VertexAttrib3dNV (will be remapped) */
+ "iddd\0"
+ "glVertexAttrib3dNV\0"
+ "\0"
+ /* _mesa_function_pool[36691]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
+ "ppppp\0"
+ "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[36755]: IndexFuncEXT (dynamic) */
+ "if\0"
+ "glIndexFuncEXT\0"
+ "\0"
+ /* _mesa_function_pool[36774]: UseShaderProgramEXT (will be remapped) */
+ "ii\0"
+ "glUseShaderProgramEXT\0"
+ "\0"
+ /* _mesa_function_pool[36800]: PushName (offset 201) */
+ "i\0"
+ "glPushName\0"
+ "\0"
+ /* _mesa_function_pool[36814]: GenFencesNV (dynamic) */
+ "ip\0"
+ "glGenFencesNV\0"
+ "\0"
+ /* _mesa_function_pool[36832]: CullParameterfvEXT (dynamic) */
+ "ip\0"
+ "glCullParameterfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[36857]: DeleteRenderbuffers (will be remapped) */
+ "ip\0"
+ "glDeleteRenderbuffers\0"
+ "glDeleteRenderbuffersEXT\0"
+ "glDeleteRenderbuffersOES\0"
+ "\0"
+ /* _mesa_function_pool[36933]: VertexAttrib1dv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib1dv\0"
+ "glVertexAttrib1dvARB\0"
+ "\0"
+ /* _mesa_function_pool[36976]: ImageTransformParameteriHP (dynamic) */
+ "iii\0"
+ "glImageTransformParameteriHP\0"
+ "\0"
+ /* _mesa_function_pool[37010]: IsShader (will be remapped) */
+ "i\0"
+ "glIsShader\0"
+ "\0"
+ /* _mesa_function_pool[37024]: Rotated (offset 299) */
+ "dddd\0"
+ "glRotated\0"
+ "\0"
+ /* _mesa_function_pool[37040]: Color4iv (offset 32) */
+ "p\0"
+ "glColor4iv\0"
+ "\0"
+ /* _mesa_function_pool[37054]: Disablei (will be remapped) */
+ "ii\0"
+ "glDisableIndexedEXT\0"
+ "glDisablei\0"
+ "\0"
+ /* _mesa_function_pool[37089]: Rotatex (will be remapped) */
+ "iiii\0"
+ "glRotatexOES\0"
+ "glRotatex\0"
+ "\0"
+ /* _mesa_function_pool[37118]: FramebufferTextureLayer (will be remapped) */
+ "iiiii\0"
+ "glFramebufferTextureLayer\0"
+ "glFramebufferTextureLayerARB\0"
+ "glFramebufferTextureLayerEXT\0"
+ "\0"
+ /* _mesa_function_pool[37209]: TexEnvfv (offset 185) */
+ "iip\0"
+ "glTexEnvfv\0"
+ "\0"
+ /* _mesa_function_pool[37225]: ProgramUniformMatrix3fv (will be remapped) */
+ "iiiip\0"
+ "glProgramUniformMatrix3fv\0"
+ "glProgramUniformMatrix3fvEXT\0"
+ "\0"
+ /* _mesa_function_pool[37287]: LoadMatrixf (offset 291) */
+ "p\0"
+ "glLoadMatrixf\0"
+ "\0"
+ /* _mesa_function_pool[37304]: GetProgramLocalParameterfvARB (will be remapped) */
+ "iip\0"
+ "glGetProgramLocalParameterfvARB\0"
+ "\0"
+ /* _mesa_function_pool[37341]: LoadMatrixx (will be remapped) */
+ "p\0"
+ "glLoadMatrixxOES\0"
+ "glLoadMatrixx\0"
+ "\0"
+ /* _mesa_function_pool[37375]: DrawRangeElementsBaseVertex (will be remapped) */
+ "iiiiipi\0"
+ "glDrawRangeElementsBaseVertex\0"
+ "\0"
+ /* _mesa_function_pool[37414]: MatrixIndexuivARB (dynamic) */
+ "ip\0"
+ "glMatrixIndexuivARB\0"
+ "\0"
+ /* _mesa_function_pool[37438]: Tangent3sEXT (dynamic) */
+ "iii\0"
+ "glTangent3sEXT\0"
+ "\0"
+ /* _mesa_function_pool[37458]: SecondaryColor3bv (will be remapped) */
+ "p\0"
+ "glSecondaryColor3bv\0"
+ "glSecondaryColor3bvEXT\0"
+ "\0"
+ /* _mesa_function_pool[37504]: GlobalAlphaFactorusSUN (dynamic) */
+ "i\0"
+ "glGlobalAlphaFactorusSUN\0"
+ "\0"
+ /* _mesa_function_pool[37532]: GetCombinerOutputParameterivNV (dynamic) */
+ "iiip\0"
+ "glGetCombinerOutputParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[37571]: DrawTexxvOES (will be remapped) */
+ "p\0"
+ "glDrawTexxvOES\0"
+ "\0"
+ /* _mesa_function_pool[37589]: TexParameterfv (offset 179) */
+ "iip\0"
+ "glTexParameterfv\0"
+ "\0"
+ /* _mesa_function_pool[37611]: Color4ubv (offset 36) */
+ "p\0"
+ "glColor4ubv\0"
+ "\0"
+ /* _mesa_function_pool[37626]: TexCoord2fv (offset 105) */
+ "p\0"
+ "glTexCoord2fv\0"
+ "\0"
+ /* _mesa_function_pool[37643]: FogCoorddv (will be remapped) */
+ "p\0"
+ "glFogCoorddv\0"
+ "glFogCoorddvEXT\0"
+ "\0"
+ /* _mesa_function_pool[37675]: VDPAUUnregisterSurfaceNV (will be remapped) */
+ "i\0"
+ "glVDPAUUnregisterSurfaceNV\0"
+ "\0"
+ /* _mesa_function_pool[37705]: ColorP3ui (will be remapped) */
+ "ii\0"
+ "glColorP3ui\0"
+ "\0"
+ /* _mesa_function_pool[37721]: ClearBufferuiv (will be remapped) */
+ "iip\0"
+ "glClearBufferuiv\0"
+ "\0"
+ /* _mesa_function_pool[37743]: GetShaderPrecisionFormat (will be remapped) */
+ "iipp\0"
+ "glGetShaderPrecisionFormat\0"
+ "\0"
+ /* _mesa_function_pool[37776]: ProgramNamedParameter4dvNV (will be remapped) */
+ "iipp\0"
+ "glProgramNamedParameter4dvNV\0"
+ "\0"
+ /* _mesa_function_pool[37811]: Flush (offset 217) */
+ "\0"
+ "glFlush\0"
+ "\0"
+ /* _mesa_function_pool[37821]: VertexAttribI4iEXT (will be remapped) */
+ "iiiii\0"
+ "glVertexAttribI4iEXT\0"
+ "glVertexAttribI4i\0"
+ "\0"
+ /* _mesa_function_pool[37867]: FogCoordd (will be remapped) */
+ "d\0"
+ "glFogCoordd\0"
+ "glFogCoorddEXT\0"
+ "\0"
+ /* _mesa_function_pool[37897]: Uniform3iv (will be remapped) */
+ "iip\0"
+ "glUniform3iv\0"
+ "glUniform3ivARB\0"
+ "\0"
+ /* _mesa_function_pool[37931]: TexStorage2DMultisample (will be remapped) */
+ "iiiiii\0"
+ "glTexStorage2DMultisample\0"
+ "\0"
+ /* _mesa_function_pool[37965]: UnlockArraysEXT (will be remapped) */
+ "\0"
+ "glUnlockArraysEXT\0"
+ "\0"
+ /* _mesa_function_pool[37985]: VertexAttrib1svNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib1svNV\0"
+ "\0"
+ /* _mesa_function_pool[38009]: VertexAttrib4iv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4iv\0"
+ "glVertexAttrib4ivARB\0"
+ "\0"
+ /* _mesa_function_pool[38052]: CopyTexSubImage3D (offset 373) */
+ "iiiiiiiii\0"
+ "glCopyTexSubImage3D\0"
+ "glCopyTexSubImage3DEXT\0"
+ "glCopyTexSubImage3DOES\0"
+ "\0"
+ /* _mesa_function_pool[38129]: GetInteger64v (will be remapped) */
+ "ip\0"
+ "glGetInteger64v\0"
+ "\0"
+ /* _mesa_function_pool[38149]: DetachObjectARB (will be remapped) */
+ "ii\0"
+ "glDetachObjectARB\0"
+ "\0"
+ /* _mesa_function_pool[38171]: Indexiv (offset 49) */
+ "p\0"
+ "glIndexiv\0"
+ "\0"
+ /* _mesa_function_pool[38184]: TexEnvi (offset 186) */
+ "iii\0"
+ "glTexEnvi\0"
+ "\0"
+ /* _mesa_function_pool[38199]: TexEnvf (offset 184) */
+ "iif\0"
+ "glTexEnvf\0"
+ "\0"
+ /* _mesa_function_pool[38214]: TexEnvx (will be remapped) */
+ "iii\0"
+ "glTexEnvxOES\0"
+ "glTexEnvx\0"
+ "\0"
+ /* _mesa_function_pool[38242]: StopInstrumentsSGIX (dynamic) */
+ "i\0"
+ "glStopInstrumentsSGIX\0"
+ "\0"
+ /* _mesa_function_pool[38267]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */
+ "fffffffffffffff\0"
+ "glTexCoord4fColor4fNormal3fVertex4fSUN\0"
+ "\0"
+ /* _mesa_function_pool[38323]: InvalidateBufferSubData (will be remapped) */
+ "iii\0"
+ "glInvalidateBufferSubData\0"
+ "\0"
+ /* _mesa_function_pool[38354]: UniformMatrix4x2fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix4x2fv\0"
+ "\0"
+ /* _mesa_function_pool[38381]: SamplerParameterIiv (will be remapped) */
+ "iip\0"
+ "glSamplerParameterIiv\0"
+ "\0"
+ /* _mesa_function_pool[38408]: PolygonOffset (offset 319) */
+ "ff\0"
+ "glPolygonOffset\0"
+ "\0"
+ /* _mesa_function_pool[38428]: BeginPerfQueryINTEL (will be remapped) */
+ "i\0"
+ "glBeginPerfQueryINTEL\0"
+ "\0"
+ /* _mesa_function_pool[38453]: SamplerParameterfv (will be remapped) */
+ "iip\0"
+ "glSamplerParameterfv\0"
+ "\0"
+ /* _mesa_function_pool[38479]: Normal3fVertex3fSUN (dynamic) */
+ "ffffff\0"
+ "glNormal3fVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[38509]: ProgramEnvParameter4fARB (will be remapped) */
+ "iiffff\0"
+ "glProgramEnvParameter4fARB\0"
+ "glProgramParameter4fNV\0"
+ "\0"
+ /* _mesa_function_pool[38567]: ClearDepth (offset 208) */
+ "d\0"
+ "glClearDepth\0"
+ "\0"
+ /* _mesa_function_pool[38583]: VertexAttrib3dvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib3dvNV\0"
+ "\0"
+ /* _mesa_function_pool[38607]: Color4fv (offset 30) */
+ "p\0"
+ "glColor4fv\0"
+ "\0"
+ /* _mesa_function_pool[38621]: GetnMinmaxARB (will be remapped) */
+ "iiiiip\0"
+ "glGetnMinmaxARB\0"
+ "\0"
+ /* _mesa_function_pool[38645]: ColorPointer (offset 308) */
+ "iiip\0"
+ "glColorPointer\0"
+ "\0"
+ /* _mesa_function_pool[38666]: GetPointerv (offset 329) */
+ "ip\0"
+ "glGetPointerv\0"
+ "glGetPointervEXT\0"
+ "\0"
+ /* _mesa_function_pool[38701]: Lightiv (offset 162) */
+ "iip\0"
+ "glLightiv\0"
+ "\0"
+ /* _mesa_function_pool[38716]: GetTexParameteriv (offset 283) */
+ "iip\0"
+ "glGetTexParameteriv\0"
+ "\0"
+ /* _mesa_function_pool[38741]: TransformFeedbackVaryings (will be remapped) */
+ "iipi\0"
+ "glTransformFeedbackVaryings\0"
+ "glTransformFeedbackVaryingsEXT\0"
+ "\0"
+ /* _mesa_function_pool[38806]: VertexAttrib3sv (will be remapped) */
+ "ip\0"
+ "glVertexAttrib3sv\0"
+ "glVertexAttrib3svARB\0"
+ "\0"
+ /* _mesa_function_pool[38849]: IsVertexArray (will be remapped) */
+ "i\0"
+ "glIsVertexArray\0"
+ "glIsVertexArrayAPPLE\0"
+ "glIsVertexArrayOES\0"
+ "\0"
+ /* _mesa_function_pool[38908]: PushClientAttrib (offset 335) */
+ "i\0"
+ "glPushClientAttrib\0"
+ "\0"
+ /* _mesa_function_pool[38930]: ProgramUniform4ui (will be remapped) */
+ "iiiiii\0"
+ "glProgramUniform4ui\0"
+ "glProgramUniform4uiEXT\0"
+ "\0"
+ /* _mesa_function_pool[38981]: Uniform1f (will be remapped) */
+ "if\0"
+ "glUniform1f\0"
+ "glUniform1fARB\0"
+ "\0"
+ /* _mesa_function_pool[39012]: FragmentMaterialfSGIX (dynamic) */
+ "iif\0"
+ "glFragmentMaterialfSGIX\0"
+ "\0"
+ /* _mesa_function_pool[39041]: Uniform1i (will be remapped) */
+ "ii\0"
+ "glUniform1i\0"
+ "glUniform1iARB\0"
+ "\0"
+ /* _mesa_function_pool[39072]: GetPolygonStipple (offset 274) */
+ "p\0"
+ "glGetPolygonStipple\0"
+ "\0"
+ /* _mesa_function_pool[39095]: PixelTexGenSGIX (dynamic) */
+ "i\0"
+ "glPixelTexGenSGIX\0"
+ "\0"
+ /* _mesa_function_pool[39116]: ReplacementCodeusvSUN (dynamic) */
+ "p\0"
+ "glReplacementCodeusvSUN\0"
+ "\0"
+ /* _mesa_function_pool[39143]: UseProgram (will be remapped) */
+ "i\0"
+ "glUseProgram\0"
+ "glUseProgramObjectARB\0"
+ "\0"
+ /* _mesa_function_pool[39181]: StartInstrumentsSGIX (dynamic) */
+ "\0"
+ "glStartInstrumentsSGIX\0"
+ "\0"
+ /* _mesa_function_pool[39206]: FlushMappedBufferRangeAPPLE (will be remapped) */
+ "iii\0"
+ "glFlushMappedBufferRangeAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[39241]: GetFragDataLocation (will be remapped) */
+ "ip\0"
+ "glGetFragDataLocationEXT\0"
+ "glGetFragDataLocation\0"
+ "\0"
+ /* _mesa_function_pool[39292]: PixelMapuiv (offset 252) */
+ "iip\0"
+ "glPixelMapuiv\0"
+ "\0"
+ /* _mesa_function_pool[39311]: VertexWeightfvEXT (dynamic) */
+ "p\0"
+ "glVertexWeightfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[39334]: GetFenceivNV (dynamic) */
+ "iip\0"
+ "glGetFenceivNV\0"
+ "\0"
+ /* _mesa_function_pool[39354]: CurrentPaletteMatrixARB (dynamic) */
+ "i\0"
+ "glCurrentPaletteMatrixARB\0"
+ "glCurrentPaletteMatrixOES\0"
+ "\0"
+ /* _mesa_function_pool[39409]: GetInteger64i_v (will be remapped) */
+ "iip\0"
+ "glGetInteger64i_v\0"
+ "\0"
+ /* _mesa_function_pool[39432]: TexCoord2fColor4ubVertex3fSUN (dynamic) */
+ "ffiiiifff\0"
+ "glTexCoord2fColor4ubVertex3fSUN\0"
+ "\0"
+ /* _mesa_function_pool[39475]: TagSampleBufferSGIX (dynamic) */
+ "\0"
+ "glTagSampleBufferSGIX\0"
+ "\0"
+ /* _mesa_function_pool[39499]: Color3s (offset 17) */
+ "iii\0"
+ "glColor3s\0"
+ "\0"
+ /* _mesa_function_pool[39514]: TexCoordPointer (offset 320) */
+ "iiip\0"
+ "glTexCoordPointer\0"
+ "\0"
+ /* _mesa_function_pool[39538]: Color3i (offset 15) */
+ "iii\0"
+ "glColor3i\0"
+ "\0"
+ /* _mesa_function_pool[39553]: EvalCoord2d (offset 232) */
+ "dd\0"
+ "glEvalCoord2d\0"
+ "\0"
+ /* _mesa_function_pool[39571]: EvalCoord2f (offset 234) */
+ "ff\0"
+ "glEvalCoord2f\0"
+ "\0"
+ /* _mesa_function_pool[39589]: Color3b (offset 9) */
+ "iii\0"
+ "glColor3b\0"
+ "\0"
+ /* _mesa_function_pool[39604]: ExecuteProgramNV (will be remapped) */
+ "iip\0"
+ "glExecuteProgramNV\0"
+ "\0"
+ /* _mesa_function_pool[39628]: Color3f (offset 13) */
+ "fff\0"
+ "glColor3f\0"
+ "\0"
+ /* _mesa_function_pool[39643]: Color3d (offset 11) */
+ "ddd\0"
+ "glColor3d\0"
+ "\0"
+ /* _mesa_function_pool[39658]: GetVertexAttribdv (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribdv\0"
+ "glGetVertexAttribdvARB\0"
+ "\0"
+ /* _mesa_function_pool[39706]: GetBufferPointerv (will be remapped) */
+ "iip\0"
+ "glGetBufferPointerv\0"
+ "glGetBufferPointervARB\0"
+ "glGetBufferPointervOES\0"
+ "\0"
+ /* _mesa_function_pool[39777]: GenFramebuffers (will be remapped) */
+ "ip\0"
+ "glGenFramebuffers\0"
+ "glGenFramebuffersEXT\0"
+ "glGenFramebuffersOES\0"
+ "\0"
+ /* _mesa_function_pool[39841]: GenBuffers (will be remapped) */
+ "ip\0"
+ "glGenBuffers\0"
+ "glGenBuffersARB\0"
+ "\0"
+ /* _mesa_function_pool[39874]: ClearDepthx (will be remapped) */
+ "i\0"
+ "glClearDepthxOES\0"
+ "glClearDepthx\0"
+ "\0"
+ /* _mesa_function_pool[39908]: BlendEquationSeparate (will be remapped) */
+ "ii\0"
+ "glBlendEquationSeparate\0"
+ "glBlendEquationSeparateEXT\0"
+ "glBlendEquationSeparateATI\0"
+ "glBlendEquationSeparateOES\0"
+ "\0"
+ /* _mesa_function_pool[40017]: PixelTransformParameteriEXT (dynamic) */
+ "iii\0"
+ "glPixelTransformParameteriEXT\0"
+ "\0"
+ /* _mesa_function_pool[40052]: MultiTexCoordP4ui (will be remapped) */
+ "iii\0"
+ "glMultiTexCoordP4ui\0"
+ "\0"
+ /* _mesa_function_pool[40077]: VertexAttribIPointer (will be remapped) */
+ "iiiip\0"
+ "glVertexAttribIPointerEXT\0"
+ "glVertexAttribIPointer\0"
+ "\0"
+ /* _mesa_function_pool[40133]: EnableVertexAttribArray (will be remapped) */
+ "i\0"
+ "glEnableVertexAttribArray\0"
+ "glEnableVertexAttribArrayARB\0"
+ "\0"
+ /* _mesa_function_pool[40191]: FrameZoomSGIX (dynamic) */
+ "i\0"
+ "glFrameZoomSGIX\0"
+ "\0"
+ /* _mesa_function_pool[40210]: RasterPos4sv (offset 85) */
+ "p\0"
+ "glRasterPos4sv\0"
+ "\0"
+ /* _mesa_function_pool[40228]: SelectBuffer (offset 195) */
+ "ip\0"
+ "glSelectBuffer\0"
+ "\0"
+ /* _mesa_function_pool[40247]: GetSynciv (will be remapped) */
+ "iiipp\0"
+ "glGetSynciv\0"
+ "\0"
+ /* _mesa_function_pool[40266]: TextureView (will be remapped) */
+ "iiiiiiii\0"
+ "glTextureView\0"
+ "\0"
+ /* _mesa_function_pool[40290]: TexEnviv (offset 187) */
+ "iip\0"
+ "glTexEnviv\0"
+ "\0"
+ /* _mesa_function_pool[40306]: TexSubImage3D (offset 372) */
+ "iiiiiiiiiip\0"
+ "glTexSubImage3D\0"
+ "glTexSubImage3DEXT\0"
+ "glTexSubImage3DOES\0"
+ "\0"
+ /* _mesa_function_pool[40373]: Bitmap (offset 8) */
+ "iiffffp\0"
+ "glBitmap\0"
+ "\0"
+ /* _mesa_function_pool[40391]: VertexAttribDivisor (will be remapped) */
+ "ii\0"
+ "glVertexAttribDivisorARB\0"
+ "glVertexAttribDivisor\0"
+ "\0"
+ /* _mesa_function_pool[40442]: DrawTransformFeedbackStream (will be remapped) */
+ "iii\0"
+ "glDrawTransformFeedbackStream\0"
+ "\0"
+ /* _mesa_function_pool[40477]: GetIntegerv (offset 263) */
+ "ip\0"
+ "glGetIntegerv\0"
+ "\0"
+ /* _mesa_function_pool[40495]: EndPerfQueryINTEL (will be remapped) */
+ "i\0"
+ "glEndPerfQueryINTEL\0"
+ "\0"
+ /* _mesa_function_pool[40518]: FragmentLightfvSGIX (dynamic) */
+ "iip\0"
+ "glFragmentLightfvSGIX\0"
+ "\0"
+ /* _mesa_function_pool[40545]: TexCoord2fColor3fVertex3fvSUN (dynamic) */
+ "ppp\0"
+ "glTexCoord2fColor3fVertex3fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[40582]: GetActiveUniform (will be remapped) */
+ "iiipppp\0"
+ "glGetActiveUniform\0"
+ "glGetActiveUniformARB\0"
+ "\0"
+ /* _mesa_function_pool[40632]: AlphaFuncx (will be remapped) */
+ "ii\0"
+ "glAlphaFuncxOES\0"
+ "glAlphaFuncx\0"
+ "\0"
+ /* _mesa_function_pool[40665]: VertexAttribI2ivEXT (will be remapped) */
+ "ip\0"
+ "glVertexAttribI2ivEXT\0"
+ "glVertexAttribI2iv\0"
+ "\0"
+ /* _mesa_function_pool[40710]: VertexBlendARB (dynamic) */
+ "i\0"
+ "glVertexBlendARB\0"
+ "\0"
+ /* _mesa_function_pool[40730]: Map1d (offset 220) */
+ "iddiip\0"
+ "glMap1d\0"
+ "\0"
+ /* _mesa_function_pool[40746]: Map1f (offset 221) */
+ "iffiip\0"
+ "glMap1f\0"
+ "\0"
+ /* _mesa_function_pool[40762]: AreTexturesResident (offset 322) */
+ "ipp\0"
+ "glAreTexturesResident\0"
+ "glAreTexturesResidentEXT\0"
+ "\0"
+ /* _mesa_function_pool[40814]: ProgramNamedParameter4fNV (will be remapped) */
+ "iipffff\0"
+ "glProgramNamedParameter4fNV\0"
+ "\0"
+ /* _mesa_function_pool[40851]: PixelTransferi (offset 248) */
+ "ii\0"
+ "glPixelTransferi\0"
+ "\0"
+ /* _mesa_function_pool[40872]: VertexAttrib3fvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib3fvNV\0"
+ "\0"
+ /* _mesa_function_pool[40896]: GetFinalCombinerInputParameterivNV (dynamic) */
+ "iip\0"
+ "glGetFinalCombinerInputParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[40938]: SecondaryColorP3ui (will be remapped) */
+ "ii\0"
+ "glSecondaryColorP3ui\0"
+ "\0"
+ /* _mesa_function_pool[40963]: BindTextures (will be remapped) */
+ "iip\0"
+ "glBindTextures\0"
+ "\0"
+ /* _mesa_function_pool[40983]: GetMapParameterivNV (dynamic) */
+ "iip\0"
+ "glGetMapParameterivNV\0"
+ "\0"
+ /* _mesa_function_pool[41010]: VertexAttrib4fvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib4fvNV\0"
+ "\0"
+ /* _mesa_function_pool[41034]: Rectiv (offset 91) */
+ "pp\0"
+ "glRectiv\0"
+ "\0"
+ /* _mesa_function_pool[41047]: MultiTexCoord1iv (offset 381) */
+ "ip\0"
+ "glMultiTexCoord1iv\0"
+ "glMultiTexCoord1ivARB\0"
+ "\0"
+ /* _mesa_function_pool[41092]: PassTexCoordATI (will be remapped) */
+ "iii\0"
+ "glPassTexCoordATI\0"
+ "\0"
+ /* _mesa_function_pool[41115]: Tangent3dEXT (dynamic) */
+ "ddd\0"
+ "glTangent3dEXT\0"
+ "\0"
+ /* _mesa_function_pool[41135]: Vertex2fv (offset 129) */
+ "p\0"
+ "glVertex2fv\0"
+ "\0"
+ /* _mesa_function_pool[41150]: BindRenderbufferEXT (will be remapped) */
+ "ii\0"
+ "glBindRenderbufferEXT\0"
+ "\0"
+ /* _mesa_function_pool[41176]: Vertex3sv (offset 141) */
+ "p\0"
+ "glVertex3sv\0"
+ "\0"
+ /* _mesa_function_pool[41191]: EvalMesh1 (offset 236) */
+ "iii\0"
+ "glEvalMesh1\0"
+ "\0"
+ /* _mesa_function_pool[41208]: DiscardFramebufferEXT (will be remapped) */
+ "iip\0"
+ "glDiscardFramebufferEXT\0"
+ "\0"
+ /* _mesa_function_pool[41237]: Uniform2f (will be remapped) */
+ "iff\0"
+ "glUniform2f\0"
+ "glUniform2fARB\0"
+ "\0"
+ /* _mesa_function_pool[41269]: ColorPointerEXT (will be remapped) */
+ "iiiip\0"
+ "glColorPointerEXT\0"
+ "\0"
+ /* _mesa_function_pool[41294]: LineWidth (offset 168) */
+ "f\0"
+ "glLineWidth\0"
+ "\0"
+ /* _mesa_function_pool[41309]: Uniform2i (will be remapped) */
+ "iii\0"
+ "glUniform2i\0"
+ "glUniform2iARB\0"
+ "\0"
+ /* _mesa_function_pool[41341]: MultiDrawElementsBaseVertex (will be remapped) */
+ "ipipip\0"
+ "glMultiDrawElementsBaseVertex\0"
+ "\0"
+ /* _mesa_function_pool[41379]: Lightxv (will be remapped) */
+ "iip\0"
+ "glLightxvOES\0"
+ "glLightxv\0"
+ "\0"
+ /* _mesa_function_pool[41407]: DepthRangeIndexed (will be remapped) */
+ "idd\0"
+ "glDepthRangeIndexed\0"
+ "\0"
+ /* _mesa_function_pool[41432]: GetConvolutionParameterfv (offset 357) */
+ "iip\0"
+ "glGetConvolutionParameterfv\0"
+ "glGetConvolutionParameterfvEXT\0"
+ "\0"
+ /* _mesa_function_pool[41496]: GetTexBumpParameterfvATI (will be remapped) */
+ "ip\0"
+ "glGetTexBumpParameterfvATI\0"
+ "\0"
+ /* _mesa_function_pool[41527]: ProgramNamedParameter4dNV (will be remapped) */
+ "iipdddd\0"
+ "glProgramNamedParameter4dNV\0"
+ "\0"
+ /* _mesa_function_pool[41564]: GetMaterialfv (offset 269) */
+ "iip\0"
+ "glGetMaterialfv\0"
+ "\0"
+ /* _mesa_function_pool[41585]: TexImage3DMultisample (will be remapped) */
+ "iiiiiii\0"
+ "glTexImage3DMultisample\0"
+ "\0"
+ /* _mesa_function_pool[41618]: VertexAttrib1fvNV (will be remapped) */
+ "ip\0"
+ "glVertexAttrib1fvNV\0"
+ "\0"
+ /* _mesa_function_pool[41642]: GetUniformBlockIndex (will be remapped) */
+ "ip\0"
+ "glGetUniformBlockIndex\0"
+ "\0"
+ /* _mesa_function_pool[41669]: DetachShader (will be remapped) */
+ "ii\0"
+ "glDetachShader\0"
+ "\0"
+ /* _mesa_function_pool[41688]: CopyTexSubImage2D (offset 326) */
+ "iiiiiiii\0"
+ "glCopyTexSubImage2D\0"
+ "glCopyTexSubImage2DEXT\0"
+ "\0"
+ /* _mesa_function_pool[41741]: SampleCoverage (will be remapped) */
+ "fi\0"
+ "glSampleCoverage\0"
+ "glSampleCoverageARB\0"
+ "\0"
+ /* _mesa_function_pool[41782]: GetObjectParameterivARB (will be remapped) */
+ "iip\0"
+ "glGetObjectParameterivARB\0"
+ "\0"
+ /* _mesa_function_pool[41813]: Color3iv (offset 16) */
+ "p\0"
+ "glColor3iv\0"
+ "\0"
+ /* _mesa_function_pool[41827]: DrawElements (offset 311) */
+ "iiip\0"
+ "glDrawElements\0"
+ "\0"
+ /* _mesa_function_pool[41848]: ScissorArrayv (will be remapped) */
+ "iip\0"
+ "glScissorArrayv\0"
+ "\0"
+ /* _mesa_function_pool[41869]: GetInternalformativ (will be remapped) */
+ "iiiip\0"
+ "glGetInternalformativ\0"
+ "\0"
+ /* _mesa_function_pool[41898]: EvalPoint2 (offset 239) */
+ "ii\0"
+ "glEvalPoint2\0"
+ "\0"
+ /* _mesa_function_pool[41915]: EvalPoint1 (offset 237) */
+ "i\0"
+ "glEvalPoint1\0"
+ "\0"
+ /* _mesa_function_pool[41931]: PopMatrix (offset 297) */
+ "\0"
+ "glPopMatrix\0"
+ "\0"
+ /* _mesa_function_pool[41945]: FinishFenceNV (dynamic) */
+ "i\0"
+ "glFinishFenceNV\0"
+ "\0"
+ /* _mesa_function_pool[41964]: Tangent3bvEXT (dynamic) */
+ "p\0"
+ "glTangent3bvEXT\0"
+ "\0"
+ /* _mesa_function_pool[41983]: GetTexGeniv (offset 280) */
+ "iip\0"
+ "glGetTexGeniv\0"
+ "glGetTexGenivOES\0"
+ "\0"
+ /* _mesa_function_pool[42019]: GetFirstPerfQueryIdINTEL (will be remapped) */
+ "p\0"
+ "glGetFirstPerfQueryIdINTEL\0"
+ "\0"
+ /* _mesa_function_pool[42049]: ActiveProgramEXT (will be remapped) */
+ "i\0"
+ "glActiveProgramEXT\0"
+ "\0"
+ /* _mesa_function_pool[42071]: PixelTransformParameterivEXT (dynamic) */
+ "iip\0"
+ "glPixelTransformParameterivEXT\0"
+ "\0"
+ /* _mesa_function_pool[42107]: TexCoord4fVertex4fvSUN (dynamic) */
+ "pp\0"
+ "glTexCoord4fVertex4fvSUN\0"
+ "\0"
+ /* _mesa_function_pool[42136]: UnmapBuffer (will be remapped) */
+ "i\0"
+ "glUnmapBuffer\0"
+ "glUnmapBufferARB\0"
+ "glUnmapBufferOES\0"
+ "\0"
+ /* _mesa_function_pool[42187]: EvalCoord1d (offset 228) */
+ "d\0"
+ "glEvalCoord1d\0"
+ "\0"
+ /* _mesa_function_pool[42204]: EvalCoord1f (offset 230) */
+ "f\0"
+ "glEvalCoord1f\0"
+ "\0"
+ /* _mesa_function_pool[42221]: IndexMaterialEXT (dynamic) */
+ "ii\0"
+ "glIndexMaterialEXT\0"
+ "\0"
+ /* _mesa_function_pool[42244]: Materialf (offset 169) */
+ "iif\0"
+ "glMaterialf\0"
+ "\0"
+ /* _mesa_function_pool[42261]: VertexAttribs2dvNV (will be remapped) */
+ "iip\0"
+ "glVertexAttribs2dvNV\0"
+ "\0"
+ /* _mesa_function_pool[42287]: ProgramUniform1uiv (will be remapped) */
+ "iiip\0"
+ "glProgramUniform1uiv\0"
+ "glProgramUniform1uivEXT\0"
+ "\0"
+ /* _mesa_function_pool[42338]: EvalCoord1dv (offset 229) */
+ "p\0"
+ "glEvalCoord1dv\0"
+ "\0"
+ /* _mesa_function_pool[42356]: Materialx (will be remapped) */
+ "iii\0"
+ "glMaterialxOES\0"
+ "glMaterialx\0"
+ "\0"
+ /* _mesa_function_pool[42388]: GetLightiv (offset 265) */
+ "iip\0"
+ "glGetLightiv\0"
+ "\0"
+ /* _mesa_function_pool[42406]: BindBuffer (will be remapped) */
+ "ii\0"
+ "glBindBuffer\0"
+ "glBindBufferARB\0"
+ "\0"
+ /* _mesa_function_pool[42439]: ProgramUniform1i (will be remapped) */
+ "iii\0"
+ "glProgramUniform1i\0"
+ "glProgramUniform1iEXT\0"
+ "\0"
+ /* _mesa_function_pool[42485]: ProgramUniform1f (will be remapped) */
+ "iif\0"
+ "glProgramUniform1f\0"
+ "glProgramUniform1fEXT\0"
+ "\0"
+ /* _mesa_function_pool[42531]: WindowPos3iv (will be remapped) */
+ "p\0"
+ "glWindowPos3iv\0"
+ "glWindowPos3ivARB\0"
+ "glWindowPos3ivMESA\0"
+ "\0"
+ /* _mesa_function_pool[42586]: CopyConvolutionFilter2D (offset 355) */
+ "iiiiii\0"
+ "glCopyConvolutionFilter2D\0"
+ "glCopyConvolutionFilter2DEXT\0"
+ "\0"
+ /* _mesa_function_pool[42649]: CopyBufferSubData (will be remapped) */
+ "iiiii\0"
+ "glCopyBufferSubData\0"
+ "\0"
+ /* _mesa_function_pool[42676]: WeightfvARB (dynamic) */
+ "ip\0"
+ "glWeightfvARB\0"
+ "\0"
+ /* _mesa_function_pool[42694]: UniformMatrix3x4fv (will be remapped) */
+ "iiip\0"
+ "glUniformMatrix3x4fv\0"
+ "\0"
+ /* _mesa_function_pool[42721]: Recti (offset 90) */
+ "iiii\0"
+ "glRecti\0"
+ "\0"
+ /* _mesa_function_pool[42735]: VertexAttribI3ivEXT (will be remapped) */
+ "ip\0"
+ "glVertexAttribI3ivEXT\0"
+ "glVertexAttribI3iv\0"
+ "\0"
+ /* _mesa_function_pool[42780]: DeleteSamplers (will be remapped) */
+ "ip\0"
+ "glDeleteSamplers\0"
+ "\0"
+ /* _mesa_function_pool[42801]: SamplerParameteri (will be remapped) */
+ "iii\0"
+ "glSamplerParameteri\0"
+ "\0"
+ /* _mesa_function_pool[42826]: Rectf (offset 88) */
+ "ffff\0"
+ "glRectf\0"
+ "\0"
+ /* _mesa_function_pool[42840]: Rectd (offset 86) */
+ "dddd\0"
+ "glRectd\0"
+ "\0"
+ /* _mesa_function_pool[42854]: SamplerParameterf (will be remapped) */
+ "iif\0"
+ "glSamplerParameterf\0"
+ "\0"
+ /* _mesa_function_pool[42879]: Rects (offset 92) */
+ "iiii\0"
+ "glRects\0"
+ "\0"
+ /* _mesa_function_pool[42893]: CombinerParameterfNV (dynamic) */
+ "if\0"
+ "glCombinerParameterfNV\0"
+ "\0"
+ /* _mesa_function_pool[42920]: GetVertexAttribIiv (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribIivEXT\0"
+ "glGetVertexAttribIiv\0"
+ "\0"
+ /* _mesa_function_pool[42970]: ClientWaitSync (will be remapped) */
+ "iii\0"
+ "glClientWaitSync\0"
+ "\0"
+ /* _mesa_function_pool[42992]: TexCoord4s (offset 124) */
+ "iiii\0"
+ "glTexCoord4s\0"
+ "\0"
+ /* _mesa_function_pool[43011]: TexEnvxv (will be remapped) */
+ "iip\0"
+ "glTexEnvxvOES\0"
+ "glTexEnvxv\0"
+ "\0"
+ /* _mesa_function_pool[43041]: TexCoord4i (offset 122) */
+ "iiii\0"
+ "glTexCoord4i\0"
+ "\0"
+ /* _mesa_function_pool[43060]: ObjectPurgeableAPPLE (will be remapped) */
+ "iii\0"
+ "glObjectPurgeableAPPLE\0"
+ "\0"
+ /* _mesa_function_pool[43088]: TexCoord4d (offset 118) */
+ "dddd\0"
+ "glTexCoord4d\0"
+ "\0"
+ /* _mesa_function_pool[43107]: TexCoord4f (offset 120) */
+ "ffff\0"
+ "glTexCoord4f\0"
+ "\0"
+ /* _mesa_function_pool[43126]: GetBooleanv (offset 258) */
+ "ip\0"
+ "glGetBooleanv\0"
+ "\0"
+ /* _mesa_function_pool[43144]: IsAsyncMarkerSGIX (dynamic) */
+ "i\0"
+ "glIsAsyncMarkerSGIX\0"
+ "\0"
+ /* _mesa_function_pool[43167]: LockArraysEXT (will be remapped) */
+ "ii\0"
+ "glLockArraysEXT\0"
+ "\0"
+ /* _mesa_function_pool[43187]: GetActiveUniformBlockiv (will be remapped) */
+ "iiip\0"
+ "glGetActiveUniformBlockiv\0"
+ "\0"
+ /* _mesa_function_pool[43219]: GetPerfMonitorCountersAMD (will be remapped) */
+ "ippip\0"
+ "glGetPerfMonitorCountersAMD\0"
+ "\0"
+ /* _mesa_function_pool[43254]: ObjectPtrLabel (will be remapped) */
+ "pip\0"
+ "glObjectPtrLabel\0"
+ "\0"
+ /* _mesa_function_pool[43276]: Rectfv (offset 89) */
+ "pp\0"
+ "glRectfv\0"
+ "\0"
+ /* _mesa_function_pool[43289]: BindImageTexture (will be remapped) */
+ "iiiiiii\0"
+ "glBindImageTexture\0"
+ "\0"
+ /* _mesa_function_pool[43317]: ClearDepthf (will be remapped) */
+ "f\0"
+ "glClearDepthf\0"
+ "glClearDepthfOES\0"
+ "\0"
+ /* _mesa_function_pool[43351]: VertexP4uiv (will be remapped) */
+ "ip\0"
+ "glVertexP4uiv\0"
+ "\0"
+ /* _mesa_function_pool[43369]: MinSampleShading (will be remapped) */
+ "f\0"
+ "glMinSampleShadingARB\0"
+ "glMinSampleShading\0"
+ "\0"
+ /* _mesa_function_pool[43413]: GetRenderbufferParameteriv (will be remapped) */
+ "iip\0"
+ "glGetRenderbufferParameteriv\0"
+ "glGetRenderbufferParameterivEXT\0"
+ "glGetRenderbufferParameterivOES\0"
+ "\0"
+ /* _mesa_function_pool[43511]: EdgeFlagPointerListIBM (dynamic) */
+ "ipi\0"
+ "glEdgeFlagPointerListIBM\0"
+ "\0"
+ /* _mesa_function_pool[43541]: WindowPos2sv (will be remapped) */
+ "p\0"
+ "glWindowPos2sv\0"
+ "glWindowPos2svARB\0"
+ "glWindowPos2svMESA\0"
+ "\0"
+ /* _mesa_function_pool[43596]: VertexArrayRangeNV (dynamic) */
+ "ip\0"
+ "glVertexArrayRangeNV\0"
+ "\0"
+ /* _mesa_function_pool[43621]: GetPerfMonitorCounterStringAMD (will be remapped) */
+ "iiipp\0"
+ "glGetPerfMonitorCounterStringAMD\0"
+ "\0"
+ /* _mesa_function_pool[43661]: EndFragmentShaderATI (will be remapped) */
+ "\0"
+ "glEndFragmentShaderATI\0"
+ "\0"
+ /* _mesa_function_pool[43686]: Uniform4iv (will be remapped) */
+ "iip\0"
+ "glUniform4iv\0"
+ "glUniform4ivARB\0"
+ "\0"
+ ;
+
+/* these functions need to be remapped */
+static const struct gl_function_pool_remap MESA_remap_table_functions[] = {
+ { 17868, CompressedTexImage1D_remap_index },
+ { 15358, CompressedTexImage2D_remap_index },
+ { 11280, CompressedTexImage3D_remap_index },
+ { 28355, CompressedTexSubImage1D_remap_index },
+ { 34310, CompressedTexSubImage2D_remap_index },
+ { 5818, CompressedTexSubImage3D_remap_index },
+ { 3918, GetCompressedTexImage_remap_index },
+ { 17077, LoadTransposeMatrixd_remap_index },
+ { 17025, LoadTransposeMatrixf_remap_index },
+ { 31791, MultTransposeMatrixd_remap_index },
+ { 12587, MultTransposeMatrixf_remap_index },
+ { 41741, SampleCoverage_remap_index },
+ { 3187, BlendFuncSeparate_remap_index },
+ { 20659, FogCoordPointer_remap_index },
+ { 37867, FogCoordd_remap_index },
+ { 37643, FogCoorddv_remap_index },
+ { 30833, MultiDrawArrays_remap_index },
+ { 29222, PointParameterf_remap_index },
+ { 4528, PointParameterfv_remap_index },
+ { 29180, PointParameteri_remap_index },
+ { 8163, PointParameteriv_remap_index },
+ { 4950, SecondaryColor3b_remap_index },
+ { 37458, SecondaryColor3bv_remap_index },
+ { 31992, SecondaryColor3d_remap_index },
+ { 11413, SecondaryColor3dv_remap_index },
+ { 5046, SecondaryColor3i_remap_index },
+ { 27542, SecondaryColor3iv_remap_index },
+ { 4826, SecondaryColor3s_remap_index },
+ { 14644, SecondaryColor3sv_remap_index },
+ { 20812, SecondaryColor3ub_remap_index },
+ { 6711, SecondaryColor3ubv_remap_index },
+ { 20860, SecondaryColor3ui_remap_index },
+ { 22742, SecondaryColor3uiv_remap_index },
+ { 20703, SecondaryColor3us_remap_index },
+ { 9136, SecondaryColor3usv_remap_index },
+ { 33094, SecondaryColorPointer_remap_index },
+ { 11038, WindowPos2d_remap_index },
+ { 16091, WindowPos2dv_remap_index },
+ { 10985, WindowPos2f_remap_index },
+ { 22096, WindowPos2fv_remap_index },
+ { 11091, WindowPos2i_remap_index },
+ { 6072, WindowPos2iv_remap_index },
+ { 11144, WindowPos2s_remap_index },
+ { 43541, WindowPos2sv_remap_index },
+ { 14891, WindowPos3d_remap_index },
+ { 14375, WindowPos3dv_remap_index },
+ { 14978, WindowPos3f_remap_index },
+ { 8022, WindowPos3fv_remap_index },
+ { 15087, WindowPos3i_remap_index },
+ { 42531, WindowPos3iv_remap_index },
+ { 15203, WindowPos3s_remap_index },
+ { 23465, WindowPos3sv_remap_index },
+ { 5954, BeginQuery_remap_index },
+ { 42406, BindBuffer_remap_index },
+ { 36289, BufferData_remap_index },
+ { 9633, BufferSubData_remap_index },
+ { 29493, DeleteBuffers_remap_index },
+ { 21106, DeleteQueries_remap_index },
+ { 18691, EndQuery_remap_index },
+ { 39841, GenBuffers_remap_index },
+ { 1815, GenQueries_remap_index },
+ { 27016, GetBufferParameteriv_remap_index },
+ { 39706, GetBufferPointerv_remap_index },
+ { 29532, GetBufferSubData_remap_index },
+ { 7701, GetQueryObjectiv_remap_index },
+ { 7370, GetQueryObjectuiv_remap_index },
+ { 11606, GetQueryiv_remap_index },
+ { 17558, IsBuffer_remap_index },
+ { 27263, IsQuery_remap_index },
+ { 11717, MapBuffer_remap_index },
+ { 42136, UnmapBuffer_remap_index },
+ { 315, AttachShader_remap_index },
+ { 34778, BindAttribLocation_remap_index },
+ { 39908, BlendEquationSeparate_remap_index },
+ { 30532, CompileShader_remap_index },
+ { 13864, CreateProgram_remap_index },
+ { 29408, CreateShader_remap_index },
+ { 19517, DeleteProgram_remap_index },
+ { 30514, DeleteShader_remap_index },
+ { 41669, DetachShader_remap_index },
+ { 32744, DisableVertexAttribArray_remap_index },
+ { 21894, DrawBuffers_remap_index },
+ { 40133, EnableVertexAttribArray_remap_index },
+ { 35431, GetActiveAttrib_remap_index },
+ { 40582, GetActiveUniform_remap_index },
+ { 16664, GetAttachedShaders_remap_index },
+ { 25982, GetAttribLocation_remap_index },
+ { 10725, GetProgramInfoLog_remap_index },
+ { 21664, GetProgramiv_remap_index },
+ { 3680, GetShaderInfoLog_remap_index },
+ { 7061, GetShaderSource_remap_index },
+ { 16425, GetShaderiv_remap_index },
+ { 6005, GetUniformLocation_remap_index },
+ { 12740, GetUniformfv_remap_index },
+ { 2074, GetUniformiv_remap_index },
+ { 33462, GetVertexAttribPointerv_remap_index },
+ { 39658, GetVertexAttribdv_remap_index },
+ { 34071, GetVertexAttribfv_remap_index },
+ { 36463, GetVertexAttribiv_remap_index },
+ { 4104, IsProgram_remap_index },
+ { 37010, IsShader_remap_index },
+ { 27735, LinkProgram_remap_index },
+ { 36106, ShaderSource_remap_index },
+ { 36078, StencilFuncSeparate_remap_index },
+ { 34393, StencilMaskSeparate_remap_index },
+ { 35575, StencilOpSeparate_remap_index },
+ { 38981, Uniform1f_remap_index },
+ { 7877, Uniform1fv_remap_index },
+ { 39041, Uniform1i_remap_index },
+ { 17739, Uniform1iv_remap_index },
+ { 41237, Uniform2f_remap_index },
+ { 21830, Uniform2fv_remap_index },
+ { 41309, Uniform2i_remap_index },
+ { 19759, Uniform2iv_remap_index },
+ { 889, Uniform3f_remap_index },
+ { 36575, Uniform3fv_remap_index },
+ { 802, Uniform3i_remap_index },
+ { 37897, Uniform3iv_remap_index },
+ { 4398, Uniform4f_remap_index },
+ { 8574, Uniform4fv_remap_index },
+ { 4335, Uniform4i_remap_index },
+ { 43686, Uniform4iv_remap_index },
+ { 9739, UniformMatrix2fv_remap_index },
+ { 22476, UniformMatrix3fv_remap_index },
+ { 10208, UniformMatrix4fv_remap_index },
+ { 39143, UseProgram_remap_index },
+ { 23896, ValidateProgram_remap_index },
+ { 17827, VertexAttrib1d_remap_index },
+ { 36933, VertexAttrib1dv_remap_index },
+ { 17950, VertexAttrib1s_remap_index },
+ { 33919, VertexAttrib1sv_remap_index },
+ { 7835, VertexAttrib2d_remap_index },
+ { 23216, VertexAttrib2dv_remap_index },
+ { 7747, VertexAttrib2s_remap_index },
+ { 13997, VertexAttrib2sv_remap_index },
+ { 11640, VertexAttrib3d_remap_index },
+ { 21754, VertexAttrib3dv_remap_index },
+ { 11515, VertexAttrib3s_remap_index },
+ { 38806, VertexAttrib3sv_remap_index },
+ { 11763, VertexAttrib4Nbv_remap_index },
+ { 27631, VertexAttrib4Niv_remap_index },
+ { 20095, VertexAttrib4Nsv_remap_index },
+ { 1439, VertexAttrib4Nub_remap_index },
+ { 32301, VertexAttrib4Nubv_remap_index },
+ { 10282, VertexAttrib4Nuiv_remap_index },
+ { 34660, VertexAttrib4Nusv_remap_index },
+ { 9066, VertexAttrib4bv_remap_index },
+ { 27894, VertexAttrib4d_remap_index },
+ { 28271, VertexAttrib4dv_remap_index },
+ { 38009, VertexAttrib4iv_remap_index },
+ { 27962, VertexAttrib4s_remap_index },
+ { 18791, VertexAttrib4sv_remap_index },
+ { 9968, VertexAttrib4ubv_remap_index },
+ { 20050, VertexAttrib4uiv_remap_index },
+ { 1365, VertexAttrib4usv_remap_index },
+ { 32386, VertexAttribPointer_remap_index },
+ { 29020, UniformMatrix2x3fv_remap_index },
+ { 922, UniformMatrix2x4fv_remap_index },
+ { 10255, UniformMatrix3x2fv_remap_index },
+ { 42694, UniformMatrix3x4fv_remap_index },
+ { 38354, UniformMatrix4x2fv_remap_index },
+ { 11558, UniformMatrix4x3fv_remap_index },
+ { 16331, BeginConditionalRender_remap_index },
+ { 23980, BeginTransformFeedback_remap_index },
+ { 12462, BindBufferBase_remap_index },
+ { 7589, BindBufferRange_remap_index },
+ { 22260, BindFragDataLocation_remap_index },
+ { 23324, ClampColor_remap_index },
+ { 16691, ClearBufferfi_remap_index },
+ { 16540, ClearBufferfv_remap_index },
+ { 20518, ClearBufferiv_remap_index },
+ { 37721, ClearBufferuiv_remap_index },
+ { 13065, ColorMaski_remap_index },
+ { 37054, Disablei_remap_index },
+ { 14945, Enablei_remap_index },
+ { 22790, EndConditionalRender_remap_index },
+ { 19336, EndTransformFeedback_remap_index },
+ { 11951, GetBooleani_v_remap_index },
+ { 39241, GetFragDataLocation_remap_index },
+ { 20539, GetIntegeri_v_remap_index },
+ { 28254, GetStringi_remap_index },
+ { 30017, GetTexParameterIiv_remap_index },
+ { 13261, GetTexParameterIuiv_remap_index },
+ { 30231, GetTransformFeedbackVarying_remap_index },
+ { 35876, GetUniformuiv_remap_index },
+ { 42920, GetVertexAttribIiv_remap_index },
+ { 20350, GetVertexAttribIuiv_remap_index },
+ { 33377, IsEnabledi_remap_index },
+ { 19575, TexParameterIiv_remap_index },
+ { 16146, TexParameterIuiv_remap_index },
+ { 38741, TransformFeedbackVaryings_remap_index },
+ { 5441, Uniform1ui_remap_index },
+ { 25422, Uniform1uiv_remap_index },
+ { 24796, Uniform2ui_remap_index },
+ { 13107, Uniform2uiv_remap_index },
+ { 32638, Uniform3ui_remap_index },
+ { 18850, Uniform3uiv_remap_index },
+ { 11874, Uniform4ui_remap_index },
+ { 17773, Uniform4uiv_remap_index },
+ { 35006, VertexAttribI1iv_remap_index },
+ { 11366, VertexAttribI1uiv_remap_index },
+ { 7418, VertexAttribI4bv_remap_index },
+ { 10119, VertexAttribI4sv_remap_index },
+ { 8374, VertexAttribI4ubv_remap_index },
+ { 6877, VertexAttribI4usv_remap_index },
+ { 40077, VertexAttribIPointer_remap_index },
+ { 8321, PrimitiveRestartIndex_remap_index },
+ { 33591, TexBuffer_remap_index },
+ { 111, FramebufferTexture_remap_index },
+ { 23730, GetBufferParameteri64v_remap_index },
+ { 39409, GetInteger64i_v_remap_index },
+ { 40391, VertexAttribDivisor_remap_index },
+ { 43369, MinSampleShading_remap_index },
+ { 7106, BindProgramARB_remap_index },
+ { 30699, DeleteProgramsARB_remap_index },
+ { 15032, GenProgramsARB_remap_index },
+ { 14040, GetProgramEnvParameterdvARB_remap_index },
+ { 29458, GetProgramEnvParameterfvARB_remap_index },
+ { 30878, GetProgramLocalParameterdvARB_remap_index },
+ { 37304, GetProgramLocalParameterfvARB_remap_index },
+ { 22405, GetProgramStringARB_remap_index },
+ { 8207, GetProgramivARB_remap_index },
+ { 31200, IsProgramARB_remap_index },
+ { 17145, ProgramEnvParameter4dARB_remap_index },
+ { 2660, ProgramEnvParameter4dvARB_remap_index },
+ { 38509, ProgramEnvParameter4fARB_remap_index },
+ { 24485, ProgramEnvParameter4fvARB_remap_index },
+ { 22840, ProgramLocalParameter4dARB_remap_index },
+ { 3974, ProgramLocalParameter4dvARB_remap_index },
+ { 30430, ProgramLocalParameter4fARB_remap_index },
+ { 19138, ProgramLocalParameter4fvARB_remap_index },
+ { 31272, ProgramStringARB_remap_index },
+ { 11910, VertexAttrib1fARB_remap_index },
+ { 31695, VertexAttrib1fvARB_remap_index },
+ { 22054, VertexAttrib2fARB_remap_index },
+ { 13358, VertexAttrib2fvARB_remap_index },
+ { 334, VertexAttrib3fARB_remap_index },
+ { 26274, VertexAttrib3fvARB_remap_index },
+ { 25156, VertexAttrib4fARB_remap_index },
+ { 14332, VertexAttrib4fvARB_remap_index },
+ { 35663, AttachObjectARB_remap_index },
+ { 22449, CreateProgramObjectARB_remap_index },
+ { 16589, CreateShaderObjectARB_remap_index },
+ { 15417, DeleteObjectARB_remap_index },
+ { 38149, DetachObjectARB_remap_index },
+ { 36002, GetAttachedObjectsARB_remap_index },
+ { 24690, GetHandleARB_remap_index },
+ { 20467, GetInfoLogARB_remap_index },
+ { 21272, GetObjectParameterfvARB_remap_index },
+ { 41782, GetObjectParameterivARB_remap_index },
+ { 5553, DrawArraysInstancedARB_remap_index },
+ { 7285, DrawElementsInstancedARB_remap_index },
+ { 13821, BindFramebuffer_remap_index },
+ { 8230, BindRenderbuffer_remap_index },
+ { 33777, BlitFramebuffer_remap_index },
+ { 6276, CheckFramebufferStatus_remap_index },
+ { 19951, DeleteFramebuffers_remap_index },
+ { 36857, DeleteRenderbuffers_remap_index },
+ { 31110, FramebufferRenderbuffer_remap_index },
+ { 33828, FramebufferTexture1D_remap_index },
+ { 23105, FramebufferTexture2D_remap_index },
+ { 26902, FramebufferTexture3D_remap_index },
+ { 37118, FramebufferTextureLayer_remap_index },
+ { 39777, GenFramebuffers_remap_index },
+ { 33256, GenRenderbuffers_remap_index },
+ { 7529, GenerateMipmap_remap_index },
+ { 5249, GetFramebufferAttachmentParameteriv_remap_index },
+ { 43413, GetRenderbufferParameteriv_remap_index },
+ { 6440, IsFramebuffer_remap_index },
+ { 25504, IsRenderbuffer_remap_index },
+ { 629, RenderbufferStorage_remap_index },
+ { 14815, RenderbufferStorageMultisample_remap_index },
+ { 19041, FramebufferTextureFaceARB_remap_index },
+ { 5176, FlushMappedBufferRange_remap_index },
+ { 30915, MapBufferRange_remap_index },
+ { 13200, BindVertexArray_remap_index },
+ { 1133, DeleteVertexArrays_remap_index },
+ { 17466, GenVertexArrays_remap_index },
+ { 38849, IsVertexArray_remap_index },
+ { 12980, GetActiveUniformBlockName_remap_index },
+ { 43187, GetActiveUniformBlockiv_remap_index },
+ { 3106, GetActiveUniformName_remap_index },
+ { 13968, GetActiveUniformsiv_remap_index },
+ { 41642, GetUniformBlockIndex_remap_index },
+ { 10379, GetUniformIndices_remap_index },
+ { 34617, UniformBlockBinding_remap_index },
+ { 42649, CopyBufferSubData_remap_index },
+ { 42970, ClientWaitSync_remap_index },
+ { 11242, DeleteSync_remap_index },
+ { 34644, FenceSync_remap_index },
+ { 38129, GetInteger64v_remap_index },
+ { 40247, GetSynciv_remap_index },
+ { 15438, IsSync_remap_index },
+ { 33446, WaitSync_remap_index },
+ { 13015, DrawElementsBaseVertex_remap_index },
+ { 16779, DrawElementsInstancedBaseVertex_remap_index },
+ { 37375, DrawRangeElementsBaseVertex_remap_index },
+ { 41341, MultiDrawElementsBaseVertex_remap_index },
+ { 24230, ProvokingVertex_remap_index },
+ { 5498, GetMultisamplefv_remap_index },
+ { 35113, SampleMaski_remap_index },
+ { 1944, TexImage2DMultisample_remap_index },
+ { 41585, TexImage3DMultisample_remap_index },
+ { 22918, BlendEquationSeparateiARB_remap_index },
+ { 27395, BlendEquationiARB_remap_index },
+ { 3732, BlendFuncSeparateiARB_remap_index },
+ { 24726, BlendFunciARB_remap_index },
+ { 1686, BindFragDataLocationIndexed_remap_index },
+ { 28843, GetFragDataIndex_remap_index },
+ { 2827, BindSampler_remap_index },
+ { 42780, DeleteSamplers_remap_index },
+ { 35624, GenSamplers_remap_index },
+ { 2527, GetSamplerParameterIiv_remap_index },
+ { 5742, GetSamplerParameterIuiv_remap_index },
+ { 23187, GetSamplerParameterfv_remap_index },
+ { 24889, GetSamplerParameteriv_remap_index },
+ { 26127, IsSampler_remap_index },
+ { 38381, SamplerParameterIiv_remap_index },
+ { 12301, SamplerParameterIuiv_remap_index },
+ { 42854, SamplerParameterf_remap_index },
+ { 38453, SamplerParameterfv_remap_index },
+ { 42801, SamplerParameteri_remap_index },
+ { 28118, SamplerParameteriv_remap_index },
+ { 23274, GetQueryObjecti64v_remap_index },
+ { 4026, GetQueryObjectui64v_remap_index },
+ { 12887, QueryCounter_remap_index },
+ { 37705, ColorP3ui_remap_index },
+ { 6595, ColorP3uiv_remap_index },
+ { 17586, ColorP4ui_remap_index },
+ { 25869, ColorP4uiv_remap_index },
+ { 13724, MultiTexCoordP1ui_remap_index },
+ { 25639, MultiTexCoordP1uiv_remap_index },
+ { 34001, MultiTexCoordP2ui_remap_index },
+ { 8920, MultiTexCoordP2uiv_remap_index },
+ { 25957, MultiTexCoordP3ui_remap_index },
+ { 391, MultiTexCoordP3uiv_remap_index },
+ { 40052, MultiTexCoordP4ui_remap_index },
+ { 34119, MultiTexCoordP4uiv_remap_index },
+ { 36195, NormalP3ui_remap_index },
+ { 25564, NormalP3uiv_remap_index },
+ { 40938, SecondaryColorP3ui_remap_index },
+ { 5690, SecondaryColorP3uiv_remap_index },
+ { 162, TexCoordP1ui_remap_index },
+ { 609, TexCoordP1uiv_remap_index },
+ { 26233, TexCoordP2ui_remap_index },
+ { 36511, TexCoordP2uiv_remap_index },
+ { 14690, TexCoordP3ui_remap_index },
+ { 17629, TexCoordP3uiv_remap_index },
+ { 33900, TexCoordP4ui_remap_index },
+ { 1769, TexCoordP4uiv_remap_index },
+ { 14759, VertexAttribP1ui_remap_index },
+ { 4078, VertexAttribP1uiv_remap_index },
+ { 29630, VertexAttribP2ui_remap_index },
+ { 4872, VertexAttribP2uiv_remap_index },
+ { 1487, VertexAttribP3ui_remap_index },
+ { 28144, VertexAttribP3uiv_remap_index },
+ { 4310, VertexAttribP4ui_remap_index },
+ { 15969, VertexAttribP4uiv_remap_index },
+ { 34742, VertexP2ui_remap_index },
+ { 32368, VertexP2uiv_remap_index },
+ { 22432, VertexP3ui_remap_index },
+ { 5987, VertexP3uiv_remap_index },
+ { 3061, VertexP4ui_remap_index },
+ { 43351, VertexP4uiv_remap_index },
+ { 777, DrawArraysIndirect_remap_index },
+ { 23437, DrawElementsIndirect_remap_index },
+ { 10751, BindTransformFeedback_remap_index },
+ { 10623, DeleteTransformFeedbacks_remap_index },
+ { 35275, DrawTransformFeedback_remap_index },
+ { 3868, GenTransformFeedbacks_remap_index },
+ { 32890, IsTransformFeedback_remap_index },
+ { 30487, PauseTransformFeedback_remap_index },
+ { 34941, ResumeTransformFeedback_remap_index },
+ { 22348, BeginQueryIndexed_remap_index },
+ { 40442, DrawTransformFeedbackStream_remap_index },
+ { 18940, EndQueryIndexed_remap_index },
+ { 21620, GetQueryIndexediv_remap_index },
+ { 43317, ClearDepthf_remap_index },
+ { 23796, DepthRangef_remap_index },
+ { 37743, GetShaderPrecisionFormat_remap_index },
+ { 3161, ReleaseShaderCompiler_remap_index },
+ { 25027, ShaderBinary_remap_index },
+ { 19413, GetProgramBinary_remap_index },
+ { 11808, ProgramBinary_remap_index },
+ { 12043, ProgramParameteri_remap_index },
+ { 26623, DepthRangeArrayv_remap_index },
+ { 41407, DepthRangeIndexed_remap_index },
+ { 32870, GetDoublei_v_remap_index },
+ { 35131, GetFloati_v_remap_index },
+ { 41848, ScissorArrayv_remap_index },
+ { 24830, ScissorIndexed_remap_index },
+ { 28170, ScissorIndexedv_remap_index },
+ { 18381, ViewportArrayv_remap_index },
+ { 31389, ViewportIndexedf_remap_index },
+ { 19461, ViewportIndexedfv_remap_index },
+ { 8421, GetGraphicsResetStatusARB_remap_index },
+ { 29773, GetnColorTableARB_remap_index },
+ { 2793, GetnCompressedTexImageARB_remap_index },
+ { 1233, GetnConvolutionFilterARB_remap_index },
+ { 4746, GetnHistogramARB_remap_index },
+ { 18266, GetnMapdvARB_remap_index },
+ { 12192, GetnMapfvARB_remap_index },
+ { 34026, GetnMapivARB_remap_index },
+ { 38621, GetnMinmaxARB_remap_index },
+ { 3585, GetnPixelMapfvARB_remap_index },
+ { 5716, GetnPixelMapuivARB_remap_index },
+ { 11489, GetnPixelMapusvARB_remap_index },
+ { 21962, GetnPolygonStippleARB_remap_index },
+ { 28611, GetnSeparableFilterARB_remap_index },
+ { 10013, GetnTexImageARB_remap_index },
+ { 27710, GetnUniformdvARB_remap_index },
+ { 33688, GetnUniformfvARB_remap_index },
+ { 3136, GetnUniformivARB_remap_index },
+ { 13584, GetnUniformuivARB_remap_index },
+ { 25200, ReadnPixelsARB_remap_index },
+ { 32541, DrawArraysInstancedBaseInstance_remap_index },
+ { 10164, DrawElementsInstancedBaseInstance_remap_index },
+ { 2605, DrawElementsInstancedBaseVertexBaseInstance_remap_index },
+ { 34884, DrawTransformFeedbackInstanced_remap_index },
+ { 13313, DrawTransformFeedbackStreamInstanced_remap_index },
+ { 41869, GetInternalformativ_remap_index },
+ { 19536, GetActiveAtomicCounterBufferiv_remap_index },
+ { 43289, BindImageTexture_remap_index },
+ { 21185, MemoryBarrier_remap_index },
+ { 33756, TexStorage1D_remap_index },
+ { 23047, TexStorage2D_remap_index },
+ { 26879, TexStorage3D_remap_index },
+ { 1410, TextureStorage1DEXT_remap_index },
+ { 34828, TextureStorage2DEXT_remap_index },
+ { 22023, TextureStorage3DEXT_remap_index },
+ { 35535, ClearBufferData_remap_index },
+ { 2112, ClearBufferSubData_remap_index },
+ { 30958, DispatchCompute_remap_index },
+ { 6360, DispatchComputeIndirect_remap_index },
+ { 40266, TextureView_remap_index },
+ { 21514, BindVertexBuffer_remap_index },
+ { 29335, VertexAttribBinding_remap_index },
+ { 29800, VertexAttribFormat_remap_index },
+ { 32482, VertexAttribIFormat_remap_index },
+ { 36050, VertexAttribLFormat_remap_index },
+ { 34553, VertexBindingDivisor_remap_index },
+ { 3299, MultiDrawArraysIndirect_remap_index },
+ { 17991, MultiDrawElementsIndirect_remap_index },
+ { 17926, TexBufferRange_remap_index },
+ { 37931, TexStorage2DMultisample_remap_index },
+ { 28063, TexStorage3DMultisample_remap_index },
+ { 3331, BufferStorage_remap_index },
+ { 4173, BindBuffersBase_remap_index },
+ { 14305, BindBuffersRange_remap_index },
+ { 10598, BindImageTextures_remap_index },
+ { 2773, BindSamplers_remap_index },
+ { 40963, BindTextures_remap_index },
+ { 24862, BindVertexBuffers_remap_index },
+ { 6389, InvalidateBufferData_remap_index },
+ { 38323, InvalidateBufferSubData_remap_index },
+ { 21145, InvalidateFramebuffer_remap_index },
+ { 15706, InvalidateSubFramebuffer_remap_index },
+ { 11849, InvalidateTexImage_remap_index },
+ { 25227, InvalidateTexSubImage_remap_index },
+ { 12639, PolygonOffsetEXT_remap_index },
+ { 35642, DrawTexfOES_remap_index },
+ { 24708, DrawTexfvOES_remap_index },
+ { 986, DrawTexiOES_remap_index },
+ { 29709, DrawTexivOES_remap_index },
+ { 11996, DrawTexsOES_remap_index },
+ { 21339, DrawTexsvOES_remap_index },
+ { 25886, DrawTexxOES_remap_index },
+ { 37571, DrawTexxvOES_remap_index },
+ { 24121, PointSizePointerOES_remap_index },
+ { 949, QueryMatrixxOES_remap_index },
+ { 19004, SampleMaskSGIS_remap_index },
+ { 32596, SamplePatternSGIS_remap_index },
+ { 41269, ColorPointerEXT_remap_index },
+ { 27289, EdgeFlagPointerEXT_remap_index },
+ { 12716, IndexPointerEXT_remap_index },
+ { 12906, NormalPointerEXT_remap_index },
+ { 26688, TexCoordPointerEXT_remap_index },
+ { 23938, VertexPointerEXT_remap_index },
+ { 41208, DiscardFramebufferEXT_remap_index },
+ { 10547, ActiveShaderProgram_remap_index },
+ { 15919, BindProgramPipeline_remap_index },
+ { 27341, CreateShaderProgramv_remap_index },
+ { 3483, DeleteProgramPipelines_remap_index },
+ { 24918, GenProgramPipelines_remap_index },
+ { 7911, GetProgramPipelineInfoLog_remap_index },
+ { 29876, GetProgramPipelineiv_remap_index },
+ { 24981, IsProgramPipeline_remap_index },
+ { 43167, LockArraysEXT_remap_index },
+ { 42485, ProgramUniform1f_remap_index },
+ { 9335, ProgramUniform1fv_remap_index },
+ { 42439, ProgramUniform1i_remap_index },
+ { 14545, ProgramUniform1iv_remap_index },
+ { 33046, ProgramUniform1ui_remap_index },
+ { 42287, ProgramUniform1uiv_remap_index },
+ { 2251, ProgramUniform2f_remap_index },
+ { 17340, ProgramUniform2fv_remap_index },
+ { 2334, ProgramUniform2i_remap_index },
+ { 20584, ProgramUniform2iv_remap_index },
+ { 6956, ProgramUniform2ui_remap_index },
+ { 8728, ProgramUniform2uiv_remap_index },
+ { 4432, ProgramUniform3f_remap_index },
+ { 28892, ProgramUniform3fv_remap_index },
+ { 4480, ProgramUniform3i_remap_index },
+ { 12931, ProgramUniform3iv_remap_index },
+ { 14594, ProgramUniform3ui_remap_index },
+ { 17289, ProgramUniform3uiv_remap_index },
+ { 27769, ProgramUniform4f_remap_index },
+ { 32083, ProgramUniform4fv_remap_index },
+ { 27818, ProgramUniform4i_remap_index },
+ { 1848, ProgramUniform4iv_remap_index },
+ { 38930, ProgramUniform4ui_remap_index },
+ { 31843, ProgramUniform4uiv_remap_index },
+ { 19076, ProgramUniformMatrix2fv_remap_index },
+ { 21448, ProgramUniformMatrix2x3fv_remap_index },
+ { 7635, ProgramUniformMatrix2x4fv_remap_index },
+ { 37225, ProgramUniformMatrix3fv_remap_index },
+ { 32804, ProgramUniformMatrix3x2fv_remap_index },
+ { 26317, ProgramUniformMatrix3x4fv_remap_index },
+ { 31027, ProgramUniformMatrix4fv_remap_index },
+ { 2185, ProgramUniformMatrix4x2fv_remap_index },
+ { 7199, ProgramUniformMatrix4x3fv_remap_index },
+ { 37965, UnlockArraysEXT_remap_index },
+ { 30981, UseProgramStages_remap_index },
+ { 1628, ValidateProgramPipeline_remap_index },
+ { 15995, DebugMessageCallback_remap_index },
+ { 31482, DebugMessageControl_remap_index },
+ { 15276, DebugMessageInsert_remap_index },
+ { 6759, GetDebugMessageLog_remap_index },
+ { 6550, GetObjectLabel_remap_index },
+ { 12017, GetObjectPtrLabel_remap_index },
+ { 30467, ObjectLabel_remap_index },
+ { 43254, ObjectPtrLabel_remap_index },
+ { 17809, PopDebugGroup_remap_index },
+ { 32220, PushDebugGroup_remap_index },
+ { 8275, SecondaryColor3fEXT_remap_index },
+ { 7789, SecondaryColor3fvEXT_remap_index },
+ { 28561, MultiDrawElementsEXT_remap_index },
+ { 10679, FogCoordfEXT_remap_index },
+ { 18026, FogCoordfvEXT_remap_index },
+ { 4151, ResizeBuffersMESA_remap_index },
+ { 33962, WindowPos4dMESA_remap_index },
+ { 27186, WindowPos4dvMESA_remap_index },
+ { 4260, WindowPos4fMESA_remap_index },
+ { 11258, WindowPos4fvMESA_remap_index },
+ { 9018, WindowPos4iMESA_remap_index },
+ { 3658, WindowPos4ivMESA_remap_index },
+ { 27938, WindowPos4sMESA_remap_index },
+ { 1080, WindowPos4svMESA_remap_index },
+ { 28661, MultiModeDrawArraysIBM_remap_index },
+ { 19724, MultiModeDrawElementsIBM_remap_index },
+ { 32715, AreProgramsResidentNV_remap_index },
+ { 39604, ExecuteProgramNV_remap_index },
+ { 29426, GetProgramParameterdvNV_remap_index },
+ { 36257, GetProgramParameterfvNV_remap_index },
+ { 19173, GetProgramStringNV_remap_index },
+ { 15630, GetProgramivNV_remap_index },
+ { 18311, GetTrackMatrixivNV_remap_index },
+ { 18753, GetVertexAttribdvNV_remap_index },
+ { 16916, GetVertexAttribfvNV_remap_index },
+ { 15812, GetVertexAttribivNV_remap_index },
+ { 35980, LoadProgramNV_remap_index },
+ { 19824, ProgramParameters4dvNV_remap_index },
+ { 20436, ProgramParameters4fvNV_remap_index },
+ { 6171, RequestResidentProgramsNV_remap_index },
+ { 29047, TrackMatrixNV_remap_index },
+ { 14075, VertexAttrib1dNV_remap_index },
+ { 28006, VertexAttrib1dvNV_remap_index },
+ { 28332, VertexAttrib1fNV_remap_index },
+ { 41618, VertexAttrib1fvNV_remap_index },
+ { 21004, VertexAttrib1sNV_remap_index },
+ { 37985, VertexAttrib1svNV_remap_index },
+ { 18287, VertexAttrib2dNV_remap_index },
+ { 34246, VertexAttrib2dvNV_remap_index },
+ { 27070, VertexAttrib2fNV_remap_index },
+ { 25765, VertexAttrib2fvNV_remap_index },
+ { 12812, VertexAttrib2sNV_remap_index },
+ { 5666, VertexAttrib2svNV_remap_index },
+ { 36666, VertexAttrib3dNV_remap_index },
+ { 38583, VertexAttrib3dvNV_remap_index },
+ { 4925, VertexAttrib3fNV_remap_index },
+ { 40872, VertexAttrib3fvNV_remap_index },
+ { 7143, VertexAttrib3sNV_remap_index },
+ { 18338, VertexAttrib3svNV_remap_index },
+ { 8477, VertexAttrib4dNV_remap_index },
+ { 3408, VertexAttrib4dvNV_remap_index },
+ { 8548, VertexAttrib4fNV_remap_index },
+ { 41010, VertexAttrib4fvNV_remap_index },
+ { 17424, VertexAttrib4sNV_remap_index },
+ { 10863, VertexAttrib4svNV_remap_index },
+ { 1601, VertexAttrib4ubNV_remap_index },
+ { 10654, VertexAttrib4ubvNV_remap_index },
+ { 28812, VertexAttribPointerNV_remap_index },
+ { 27237, VertexAttribs1dvNV_remap_index },
+ { 30758, VertexAttribs1fvNV_remap_index },
+ { 6145, VertexAttribs1svNV_remap_index },
+ { 42261, VertexAttribs2dvNV_remap_index },
+ { 4284, VertexAttribs2fvNV_remap_index },
+ { 27315, VertexAttribs2svNV_remap_index },
+ { 1789, VertexAttribs3dvNV_remap_index },
+ { 35303, VertexAttribs3fvNV_remap_index },
+ { 13942, VertexAttribs3svNV_remap_index },
+ { 19387, VertexAttribs4dvNV_remap_index },
+ { 24272, VertexAttribs4fvNV_remap_index },
+ { 20633, VertexAttribs4svNV_remap_index },
+ { 32038, VertexAttribs4ubvNV_remap_index },
+ { 41496, GetTexBumpParameterfvATI_remap_index },
+ { 10405, GetTexBumpParameterivATI_remap_index },
+ { 35403, TexBumpParameterfvATI_remap_index },
+ { 8520, TexBumpParameterivATI_remap_index },
+ { 9218, AlphaFragmentOp1ATI_remap_index },
+ { 3432, AlphaFragmentOp2ATI_remap_index },
+ { 9674, AlphaFragmentOp3ATI_remap_index },
+ { 33229, BeginFragmentShaderATI_remap_index },
+ { 3705, BindFragmentShaderATI_remap_index },
+ { 7168, ColorFragmentOp1ATI_remap_index },
+ { 12778, ColorFragmentOp2ATI_remap_index },
+ { 23859, ColorFragmentOp3ATI_remap_index },
+ { 16731, DeleteFragmentShaderATI_remap_index },
+ { 43661, EndFragmentShaderATI_remap_index },
+ { 22891, GenFragmentShadersATI_remap_index },
+ { 41092, PassTexCoordATI_remap_index },
+ { 35383, SampleMapATI_remap_index },
+ { 34707, SetFragmentShaderConstantATI_remap_index },
+ { 8451, ActiveStencilFaceEXT_remap_index },
+ { 8077, BindVertexArrayAPPLE_remap_index },
+ { 16261, GenVertexArraysAPPLE_remap_index },
+ { 34969, GetProgramNamedParameterdvNV_remap_index },
+ { 22641, GetProgramNamedParameterfvNV_remap_index },
+ { 41527, ProgramNamedParameter4dNV_remap_index },
+ { 37776, ProgramNamedParameter4dvNV_remap_index },
+ { 40814, ProgramNamedParameter4fNV_remap_index },
+ { 25327, ProgramNamedParameter4fvNV_remap_index },
+ { 24179, PrimitiveRestartNV_remap_index },
+ { 24668, GetTexGenxvOES_remap_index },
+ { 14430, TexGenxOES_remap_index },
+ { 32282, TexGenxvOES_remap_index },
+ { 8001, DepthBoundsEXT_remap_index },
+ { 5915, BindFramebufferEXT_remap_index },
+ { 41150, BindRenderbufferEXT_remap_index },
+ { 4369, BufferParameteriAPPLE_remap_index },
+ { 39206, FlushMappedBufferRangeAPPLE_remap_index },
+ { 27588, VertexAttribI1iEXT_remap_index },
+ { 11197, VertexAttribI1uiEXT_remap_index },
+ { 20157, VertexAttribI2iEXT_remap_index },
+ { 40665, VertexAttribI2ivEXT_remap_index },
+ { 25458, VertexAttribI2uiEXT_remap_index },
+ { 35066, VertexAttribI2uivEXT_remap_index },
+ { 19254, VertexAttribI3iEXT_remap_index },
+ { 42735, VertexAttribI3ivEXT_remap_index },
+ { 22573, VertexAttribI3uiEXT_remap_index },
+ { 20908, VertexAttribI3uivEXT_remap_index },
+ { 37821, VertexAttribI4iEXT_remap_index },
+ { 6666, VertexAttribI4ivEXT_remap_index },
+ { 2557, VertexAttribI4uiEXT_remap_index },
+ { 27445, VertexAttribI4uivEXT_remap_index },
+ { 2983, ClearColorIiEXT_remap_index },
+ { 1208, ClearColorIuiEXT_remap_index },
+ { 24202, BindBufferOffsetEXT_remap_index },
+ { 18058, BeginPerfMonitorAMD_remap_index },
+ { 32673, DeletePerfMonitorsAMD_remap_index },
+ { 5418, EndPerfMonitorAMD_remap_index },
+ { 26802, GenPerfMonitorsAMD_remap_index },
+ { 12504, GetPerfMonitorCounterDataAMD_remap_index },
+ { 34580, GetPerfMonitorCounterInfoAMD_remap_index },
+ { 43621, GetPerfMonitorCounterStringAMD_remap_index },
+ { 43219, GetPerfMonitorCountersAMD_remap_index },
+ { 14146, GetPerfMonitorGroupStringAMD_remap_index },
+ { 29579, GetPerfMonitorGroupsAMD_remap_index },
+ { 13783, SelectPerfMonitorCountersAMD_remap_index },
+ { 14243, GetObjectParameterivAPPLE_remap_index },
+ { 43060, ObjectPurgeableAPPLE_remap_index },
+ { 1897, ObjectUnpurgeableAPPLE_remap_index },
+ { 42049, ActiveProgramEXT_remap_index },
+ { 27208, CreateShaderProgramEXT_remap_index },
+ { 36774, UseShaderProgramEXT_remap_index },
+ { 30350, TextureBarrierNV_remap_index },
+ { 2142, VDPAUFiniNV_remap_index },
+ { 835, VDPAUGetSurfaceivNV_remap_index },
+ { 23712, VDPAUInitNV_remap_index },
+ { 21426, VDPAUIsSurfaceNV_remap_index },
+ { 6415, VDPAUMapSurfacesNV_remap_index },
+ { 3024, VDPAURegisterOutputSurfaceNV_remap_index },
+ { 12373, VDPAURegisterVideoSurfaceNV_remap_index },
+ { 10936, VDPAUSurfaceAccessNV_remap_index },
+ { 4719, VDPAUUnmapSurfacesNV_remap_index },
+ { 37675, VDPAUUnregisterSurfaceNV_remap_index },
+ { 38428, BeginPerfQueryINTEL_remap_index },
+ { 33550, CreatePerfQueryINTEL_remap_index },
+ { 16192, DeletePerfQueryINTEL_remap_index },
+ { 40495, EndPerfQueryINTEL_remap_index },
+ { 42019, GetFirstPerfQueryIdINTEL_remap_index },
+ { 30303, GetNextPerfQueryIdINTEL_remap_index },
+ { 31894, GetPerfCounterInfoINTEL_remap_index },
+ { 746, GetPerfQueryDataINTEL_remap_index },
+ { 22228, GetPerfQueryIdByNameINTEL_remap_index },
+ { 19918, GetPerfQueryInfoINTEL_remap_index },
+ { 20319, StencilFuncSeparateATI_remap_index },
+ { 5631, ProgramEnvParameters4fvEXT_remap_index },
+ { 30601, ProgramLocalParameters4fvEXT_remap_index },
+ { 3825, EGLImageTargetRenderbufferStorageOES_remap_index },
+ { 3610, EGLImageTargetTexture2DOES_remap_index },
+ { 40632, AlphaFuncx_remap_index },
+ { 19299, ClearColorx_remap_index },
+ { 39874, ClearDepthx_remap_index },
+ { 35748, Color4x_remap_index },
+ { 23650, DepthRangex_remap_index },
+ { 2381, Fogx_remap_index },
+ { 14709, Fogxv_remap_index },
+ { 8695, Frustumf_remap_index },
+ { 8792, Frustumx_remap_index },
+ { 19219, LightModelx_remap_index },
+ { 32132, LightModelxv_remap_index },
+ { 28866, Lightx_remap_index },
+ { 41379, Lightxv_remap_index },
+ { 3540, LineWidthx_remap_index },
+ { 37341, LoadMatrixx_remap_index },
+ { 42356, Materialx_remap_index },
+ { 25277, Materialxv_remap_index },
+ { 29069, MultMatrixx_remap_index },
+ { 31297, MultiTexCoord4x_remap_index },
+ { 25126, Normal3x_remap_index },
+ { 15329, Orthof_remap_index },
+ { 15510, Orthox_remap_index },
+ { 27492, PointSizex_remap_index },
+ { 70, PolygonOffsetx_remap_index },
+ { 37089, Rotatex_remap_index },
+ { 19875, SampleCoveragex_remap_index },
+ { 12662, Scalex_remap_index },
+ { 38214, TexEnvx_remap_index },
+ { 43011, TexEnvxv_remap_index },
+ { 1976, TexParameterx_remap_index },
+ { 31623, Translatex_remap_index },
+ { 33013, ClipPlanef_remap_index },
+ { 32915, ClipPlanex_remap_index },
+ { 707, GetClipPlanef_remap_index },
+ { 570, GetClipPlanex_remap_index },
+ { 19793, GetFixedv_remap_index },
+ { 1267, GetLightxv_remap_index },
+ { 22678, GetMaterialxv_remap_index },
+ { 21303, GetTexEnvxv_remap_index },
+ { 16616, GetTexParameterxv_remap_index },
+ { 29103, PointParameterx_remap_index },
+ { 5773, PointParameterxv_remap_index },
+ { 18962, TexParameterxv_remap_index },
+ { -1, -1 }
+};
+
+/* these functions are in the ABI, but have alternative names */
+static const struct gl_function_remap MESA_alt_functions[] = {
+ /* from GL_EXT_blend_color */
+ { 34194, _gloffset_BlendColor },
+ /* from GL_EXT_blend_minmax */
+ { 36609, _gloffset_BlendEquation },
+ /* from GL_EXT_color_subtable */
+ { 5375, _gloffset_ColorSubTable },
+ { 21204, _gloffset_CopyColorSubTable },
+ /* from GL_EXT_convolution */
+ { 1301, _gloffset_GetConvolutionParameteriv },
+ { 13626, _gloffset_ConvolutionParameterfv },
+ { 16478, _gloffset_CopyConvolutionFilter1D },
+ { 18474, _gloffset_SeparableFilter2D },
+ { 19669, _gloffset_GetConvolutionFilter },
+ { 23382, _gloffset_ConvolutionFilter1D },
+ { 25665, _gloffset_ConvolutionFilter2D },
+ { 28419, _gloffset_GetSeparableFilter },
+ { 29961, _gloffset_ConvolutionParameteri },
+ { 30083, _gloffset_ConvolutionParameterf },
+ { 35777, _gloffset_ConvolutionParameteriv },
+ { 41432, _gloffset_GetConvolutionParameterfv },
+ { 42586, _gloffset_CopyConvolutionFilter2D },
+ /* from GL_EXT_copy_texture */
+ { 27124, _gloffset_CopyTexImage2D },
+ { 29727, _gloffset_CopyTexImage1D },
+ { 32169, _gloffset_CopyTexSubImage1D },
+ { 38052, _gloffset_CopyTexSubImage3D },
+ { 41688, _gloffset_CopyTexSubImage2D },
+ /* from GL_EXT_draw_range_elements */
+ { 24617, _gloffset_DrawRangeElements },
+ /* from GL_EXT_histogram */
+ { 4618, _gloffset_GetHistogramParameterfv },
+ { 8103, _gloffset_GetHistogramParameteriv },
+ { 9458, _gloffset_Minmax },
+ { 13882, _gloffset_GetMinmax },
+ { 21797, _gloffset_Histogram },
+ { 29655, _gloffset_GetMinmaxParameteriv },
+ { 30638, _gloffset_ResetMinmax },
+ { 31583, _gloffset_GetHistogram },
+ { 33323, _gloffset_GetMinmaxParameterfv },
+ { 34270, _gloffset_ResetHistogram },
+ /* from GL_EXT_paletted_texture */
+ { 13488, _gloffset_ColorTable },
+ { 18083, _gloffset_GetColorTableParameterfv },
+ { 26447, _gloffset_GetColorTable },
+ { 30139, _gloffset_GetColorTableParameteriv },
+ /* from GL_EXT_subtexture */
+ { 2413, _gloffset_TexSubImage1D },
+ { 36324, _gloffset_TexSubImage2D },
+ /* from GL_EXT_texture3D */
+ { 22171, _gloffset_TexImage3D },
+ { 40306, _gloffset_TexSubImage3D },
+ /* from GL_EXT_texture_object */
+ { 4197, _gloffset_GenTextures },
+ { 8839, _gloffset_BindTexture },
+ { 17259, _gloffset_IsTexture },
+ { 22523, _gloffset_PrioritizeTextures },
+ { 26647, _gloffset_DeleteTextures },
+ { 40762, _gloffset_AreTexturesResident },
+ /* from GL_EXT_vertex_array */
+ { 18572, _gloffset_ArrayElement },
+ { 29146, _gloffset_DrawArrays },
+ { 38666, _gloffset_GetPointerv },
+ /* from GL_NV_read_buffer */
+ { 29930, _gloffset_ReadBuffer },
+ /* from GL_OES_blend_subtract */
+ { 36609, _gloffset_BlendEquation },
+ /* from GL_OES_texture_3D */
+ { 22171, _gloffset_TexImage3D },
+ { 38052, _gloffset_CopyTexSubImage3D },
+ { 40306, _gloffset_TexSubImage3D },
+ /* from GL_OES_texture_cube_map */
+ { 16845, _gloffset_TexGeni },
+ { 16873, _gloffset_TexGenf },
+ { 20235, _gloffset_GetTexGenfv },
+ { 34145, _gloffset_TexGeniv },
+ { 36433, _gloffset_TexGenfv },
+ { 41983, _gloffset_GetTexGeniv },
+ /* from GL_SGI_color_table */
+ { 2717, _gloffset_ColorTableParameteriv },
+ { 13488, _gloffset_ColorTable },
+ { 17203, _gloffset_ColorTableParameterfv },
+ { 18083, _gloffset_GetColorTableParameterfv },
+ { 26447, _gloffset_GetColorTable },
+ { 26525, _gloffset_CopyColorTable },
+ { 30139, _gloffset_GetColorTableParameteriv },
+ { -1, -1 }
+};
+
diff --git a/xorg-server/glx/render2.c b/xorg-server/glx/render2.c
index 8d9b5f4d2..5fffd914a 100644
--- a/xorg-server/glx/render2.c
+++ b/xorg-server/glx/render2.c
@@ -31,12 +31,15 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include <glxserver.h>
#include "unpack.h"
#include "indirect_size.h"
#include "indirect_dispatch.h"
+#include "glfunctions.h"
+
void
__glXDisp_Map1f(GLbyte * pc)
{
diff --git a/xorg-server/glx/render2swap.c b/xorg-server/glx/render2swap.c
index 6ed364f75..60dfc7b71 100644
--- a/xorg-server/glx/render2swap.c
+++ b/xorg-server/glx/render2swap.c
@@ -31,12 +31,15 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "unpack.h"
#include "indirect_size.h"
#include "indirect_dispatch.h"
+#include "glfunctions.h"
+
void
__glXDispSwap_Map1f(GLbyte * pc)
{
diff --git a/xorg-server/glx/renderpix.c b/xorg-server/glx/renderpix.c
index 91ba91187..2a387b2b9 100644
--- a/xorg-server/glx/renderpix.c
+++ b/xorg-server/glx/renderpix.c
@@ -31,11 +31,14 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "unpack.h"
#include "indirect_dispatch.h"
+#include "glfunctions.h"
+
void
__glXDisp_SeparableFilter2D(GLbyte * pc)
{
diff --git a/xorg-server/glx/renderpixswap.c b/xorg-server/glx/renderpixswap.c
index a4cb246bb..3fa11518a 100644
--- a/xorg-server/glx/renderpixswap.c
+++ b/xorg-server/glx/renderpixswap.c
@@ -31,11 +31,14 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "unpack.h"
#include "indirect_dispatch.h"
+#include "glfunctions.h"
+
void
__glXDispSwap_SeparableFilter2D(GLbyte * pc)
{
diff --git a/xorg-server/glx/rensize.c b/xorg-server/glx/rensize.c
index bcc3a53ad..552293242 100644
--- a/xorg-server/glx/rensize.c
+++ b/xorg-server/glx/rensize.c
@@ -30,6 +30,10 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+
+#include "glheader.h"
+
#endif
#include <GL/gl.h>
diff --git a/xorg-server/glx/single2.c b/xorg-server/glx/single2.c
index 53b661d20..8d4d1d061 100644
--- a/xorg-server/glx/single2.c
+++ b/xorg-server/glx/single2.c
@@ -31,6 +31,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include <string.h>
#include <stdio.h>
@@ -42,6 +43,8 @@
#include "indirect_dispatch.h"
#include "unpack.h"
+#include "glfunctions.h"
+
int
__glXDisp_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc)
{
diff --git a/xorg-server/glx/single2swap.c b/xorg-server/glx/single2swap.c
index 764501f59..90387a2e8 100644
--- a/xorg-server/glx/single2swap.c
+++ b/xorg-server/glx/single2swap.c
@@ -31,6 +31,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "glxutil.h"
@@ -38,6 +39,8 @@
#include "indirect_dispatch.h"
#include "unpack.h"
+#include "glfunctions.h"
+
int
__glXDispSwap_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc)
{
diff --git a/xorg-server/glx/singlepix.c b/xorg-server/glx/singlepix.c
index 506fdaad5..06c0ad66f 100644
--- a/xorg-server/glx/singlepix.c
+++ b/xorg-server/glx/singlepix.c
@@ -31,6 +31,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "glxext.h"
@@ -39,6 +40,8 @@
#include "indirect_size_get.h"
#include "indirect_dispatch.h"
+#include "glfunctions.h"
+
int
__glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc)
{
diff --git a/xorg-server/glx/singlepixswap.c b/xorg-server/glx/singlepixswap.c
index 846910153..b1ed6cec7 100644
--- a/xorg-server/glx/singlepixswap.c
+++ b/xorg-server/glx/singlepixswap.c
@@ -31,6 +31,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "glxext.h"
@@ -39,6 +40,8 @@
#include "indirect_dispatch.h"
#include "indirect_size_get.h"
+#include "glfunctions.h"
+
int
__glXDispSwap_ReadPixels(__GLXclientState * cl, GLbyte * pc)
{
diff --git a/xorg-server/glx/singlesize.c b/xorg-server/glx/singlesize.c
index 4c60b6920..3c4c6fadc 100644
--- a/xorg-server/glx/singlesize.c
+++ b/xorg-server/glx/singlesize.c
@@ -31,12 +31,15 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include <GL/gl.h>
#include "glxserver.h"
#include "singlesize.h"
#include "indirect_size_get.h"
+#include "glfunctions.h"
+
/*
** These routines compute the size of variable-size returned parameters.
** Unlike the similar routines that do the same thing for variable-size
diff --git a/xorg-server/glx/swap_interval.c b/xorg-server/glx/swap_interval.c
index 17bc99207..80d8b9436 100644
--- a/xorg-server/glx/swap_interval.c
+++ b/xorg-server/glx/swap_interval.c
@@ -25,6 +25,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "glxutil.h"
diff --git a/xorg-server/glx/u_thread.h b/xorg-server/glx/u_thread.h
new file mode 100644
index 000000000..62c9bd4f1
--- /dev/null
+++ b/xorg-server/glx/u_thread.h
@@ -0,0 +1,234 @@
+/*
+ * 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 <GL/vms_x_fix.h>
+#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 <pthread.h> /* 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 <windows.h>
+
+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 <kernel/OS.h>
+#include <support/TLS.h>
+
+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/xorg-server/glx/xfont.c b/xorg-server/glx/xfont.c
index 83a455d73..cd60707c6 100644
--- a/xorg-server/glx/xfont.c
+++ b/xorg-server/glx/xfont.c
@@ -31,6 +31,7 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
+#include "glheader.h"
#include "glxserver.h"
#include "glxutil.h"
@@ -41,6 +42,8 @@
#include <windowstr.h>
#include <dixfontstr.h>
+#include "glfunctions.h"
+
/*
** Make a single GL bitmap from a single X glyph
*/
diff --git a/xorg-server/hw/dmx/dmxinit.c b/xorg-server/hw/dmx/dmxinit.c
index fd2ade0ef..c782a9bff 100644
--- a/xorg-server/hw/dmx/dmxinit.c
+++ b/xorg-server/hw/dmx/dmxinit.c
@@ -895,6 +895,7 @@ AbortDDX(enum ExitCode error)
}
#ifdef DDXBEFORERESET
+/* This function is called in Xserver/dix/dispatch.c */
void
ddxBeforeReset(void)
{
diff --git a/xorg-server/hw/kdrive/ephyr/ephyr.c b/xorg-server/hw/kdrive/ephyr/ephyr.c
index def50d8d8..42629692b 100644
--- a/xorg-server/hw/kdrive/ephyr/ephyr.c
+++ b/xorg-server/hw/kdrive/ephyr/ephyr.c
@@ -82,8 +82,11 @@ host_has_extension(xcb_extension_t *extension)
Bool
ephyrInitialize(KdCardInfo * card, EphyrPriv * priv)
{
+#ifdef _MSC_VER
+ __asm int 3;
+#else
OsSignal(SIGUSR1, hostx_handle_signal);
-
+#endif
priv->base = 0;
priv->bytes_per_line = 0;
return TRUE;
@@ -808,6 +811,14 @@ ephyrUpdateModifierState(unsigned int state)
}
}
+#ifdef _MSC_VER
+ __asm int 3;
+#else
+#endif
+#ifdef _MSC_VER
+ __asm int 3;
+#else
+#endif
static Bool
ephyrCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y)
{
diff --git a/xorg-server/hw/kdrive/ephyr/ephyr.h b/xorg-server/hw/kdrive/ephyr/ephyr.h
index 34ce4601b..386143eff 100644
--- a/xorg-server/hw/kdrive/ephyr/ephyr.h
+++ b/xorg-server/hw/kdrive/ephyr/ephyr.h
@@ -26,9 +26,11 @@
#ifndef _EPHYR_H_
#define _EPHYR_H_
#include <stdio.h>
+#ifndef _MSC_VER
#include <unistd.h>
-#include <signal.h>
#include <libgen.h>
+#endif
+#include <signal.h>
#include <xcb/xcb_image.h>
#include "os.h" /* for OsSignal() */
@@ -195,6 +197,8 @@ extern void ephyrCursorEnable(ScreenPtr pScreen);
extern int ephyrBufferHeight(KdScreenInfo * screen);
+extern int ephyrBufferHeight(KdScreenInfo *screen);
+
/* ephyr_draw.c */
Bool
diff --git a/xorg-server/hw/kdrive/ephyr/ephyrinit.c b/xorg-server/hw/kdrive/ephyr/ephyrinit.c
index fac84cd13..5861da67f 100644
--- a/xorg-server/hw/kdrive/ephyr/ephyrinit.c
+++ b/xorg-server/hw/kdrive/ephyr/ephyrinit.c
@@ -56,6 +56,7 @@ InitCard(char *name)
KdCardInfoAdd(&ephyrFuncs, 0);
}
+#ifndef _MSC_VER
static const ExtensionModule ephyrExtensions[] = {
#ifdef GLXEXT
{ GlxExtensionInit, "GLX", &noGlxExtension },
@@ -151,6 +152,7 @@ ddxUseMsg(void)
("-title [title] set the window title in the WM_NAME property\n");
ErrorF("\n");
}
+#endif
void
processScreenArg(const char *screen_size, char *parent_id)
@@ -181,6 +183,7 @@ processScreenArg(const char *screen_size, char *parent_id)
}
}
+#ifndef _MSC_VER
int
ddxProcessArgument(int argc, char **argv, int i)
{
@@ -340,6 +343,15 @@ OsVendorInit(void)
KdOsInit(&EphyrOsFuncs);
}
+#ifdef DDXOSFATALERROR
+void
+OsVendorFatalError(void)
+{
+}
+#endif
+
+#endif
+
/* 'Fake' cursor stuff, could be improved */
static Bool
diff --git a/xorg-server/hw/kdrive/ephyr/ephyrlog.h b/xorg-server/hw/kdrive/ephyr/ephyrlog.h
index 0da0a2518..6671c4779 100644
--- a/xorg-server/hw/kdrive/ephyr/ephyrlog.h
+++ b/xorg-server/hw/kdrive/ephyr/ephyrlog.h
@@ -43,14 +43,14 @@
#ifndef EPHYR_LOG
#define EPHYR_LOG(...) \
LogMessageVerb(X_NOTICE, INFO_LOG_LEVEL, "in %s:%d:%s: ",\
- __FILE__, __LINE__, __func__) ; \
+ __FILE__, __LINE__, __FUNCTION__) ; \
LogMessageVerb(X_NOTICE, INFO_LOG_LEVEL, __VA_ARGS__)
#endif /*nomadik_log */
#ifndef EPHYR_LOG_ERROR
#define EPHYR_LOG_ERROR(...) \
LogMessageVerb(X_NOTICE, ERROR_LOG_LEVEL, "Error:in %s:%d:%s: ",\
- __FILE__, __LINE__, __func__) ; \
+ __FILE__, __LINE__, __FUNCTION__) ; \
LogMessageVerb(X_NOTICE, ERROR_LOG_LEVEL, __VA_ARGS__)
#endif /*EPHYR_LOG_ERROR */
diff --git a/xorg-server/hw/kdrive/ephyr/hostx.c b/xorg-server/hw/kdrive/ephyr/hostx.c
index 435919e0a..dea6f730c 100644..100755
--- a/xorg-server/hw/kdrive/ephyr/hostx.c
+++ b/xorg-server/hw/kdrive/ephyr/hostx.c
@@ -38,9 +38,11 @@
#include <time.h>
#include <err.h>
+#ifndef _MSC_VER
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/time.h>
+#endif
#include <X11/keysym.h>
#include <xcb/xcb.h>
@@ -136,7 +138,11 @@ hostx_add_screen(KdScreenInfo *screen, unsigned long win_id, int screen_num)
void
hostx_set_display_name(char *name)
{
+#ifdef _MSC_VER
+ __asm int 3;
+#else
HostX.server_dpy_name = strdup(name);
+#endif
}
void
@@ -475,6 +481,9 @@ hostx_init(void)
xcb_free_pixmap(HostX.conn, cursor_pxm);
}
+#ifdef _MSC_VER
+ __asm int 3;
+#else
/* Try to get share memory ximages for a little bit more speed */
shm_rep = xcb_get_extension_data(HostX.conn, &xcb_shm_id);
if (!shm_rep || !shm_rep->present || getenv("XEPHYR_NO_SHM")) {
@@ -507,6 +516,7 @@ hostx_init(void)
shmdt(shminfo.shmaddr);
shmctl(shminfo.shmid, IPC_RMID, 0);
}
+#endif
xcb_flush(HostX.conn);
@@ -633,7 +643,7 @@ hostx_screen_init(KdScreenInfo *screen,
Bool shm_success = FALSE;
if (!scrpriv) {
- fprintf(stderr, "%s: Error in accessing hostx data\n", __func__);
+ fprintf(stderr, "%s: Error in accessing hostx data\n", __FUNCTION__);
exit(1);
}
@@ -646,10 +656,14 @@ hostx_screen_init(KdScreenInfo *screen,
*/
if (HostX.have_shm) {
+#ifdef _MSC_VER
+ __asm int 3;
+#else
xcb_shm_detach(HostX.conn, scrpriv->shminfo.shmseg);
xcb_image_destroy(scrpriv->ximg);
shmdt(scrpriv->shminfo.shmaddr);
shmctl(scrpriv->shminfo.shmid, IPC_RMID, 0);
+#endif
}
else {
free(scrpriv->ximg->data);
@@ -660,6 +674,9 @@ hostx_screen_init(KdScreenInfo *screen,
}
if (!ephyr_glamor && HostX.have_shm) {
+#ifdef _MSC_VER
+__asm int 3;
+#else
scrpriv->ximg = xcb_image_create_native(HostX.conn,
width,
buffer_height,
@@ -692,6 +709,7 @@ hostx_screen_init(KdScreenInfo *screen,
FALSE);
shm_success = TRUE;
}
+#endif
}
if (!ephyr_glamor && !shm_success) {
@@ -853,10 +871,14 @@ hostx_paint_rect(KdScreenInfo *screen,
}
if (HostX.have_shm) {
+#ifdef _MSC_VER
+ __asm int 3;
+#else
xcb_image_shm_put(HostX.conn, scrpriv->win,
HostX.gc, scrpriv->ximg,
scrpriv->shminfo,
sx, sy, dx, dy, width, height, FALSE);
+#endif
}
else {
xcb_image_put(HostX.conn, scrpriv->win, HostX.gc, scrpriv->ximg,
@@ -870,6 +892,9 @@ static void
hostx_paint_debug_rect(KdScreenInfo *screen,
int x, int y, int width, int height)
{
+#ifdef _MSC_VER
+ __asm int 3;
+#else
EphyrScrPriv *scrpriv = screen->driver;
struct timespec tspec;
xcb_rectangle_t rect = { .x = x, .y = y, .width = width, .height = height };
@@ -891,6 +916,7 @@ hostx_paint_debug_rect(KdScreenInfo *screen,
/* nanosleep seems to work better than usleep for me... */
nanosleep(&tspec, NULL);
+#endif
}
void
diff --git a/xorg-server/hw/kdrive/ephyr/hostx.h b/xorg-server/hw/kdrive/ephyr/hostx.h
index e83323a0c..f2350efba 100644
--- a/xorg-server/hw/kdrive/ephyr/hostx.h
+++ b/xorg-server/hw/kdrive/ephyr/hostx.h
@@ -37,8 +37,12 @@
#define EPHYR_DBG(x, a...) \
fprintf(stderr, __FILE__ ":%d,%s() " x "\n", __LINE__, __func__, ##a)
#else
+#ifdef _MSC_VER
+#define EPHYR_DBG()
+#else
#define EPHYR_DBG(x, a...) do {} while (0)
#endif
+#endif
typedef struct EphyrHostXVars EphyrHostXVars;
diff --git a/xorg-server/hw/kdrive/ephyr/makefile b/xorg-server/hw/kdrive/ephyr/makefile
new file mode 100644
index 000000000..eba9a93e1
--- /dev/null
+++ b/xorg-server/hw/kdrive/ephyr/makefile
@@ -0,0 +1,6 @@
+LIBRARY = libxephyr
+
+CSRCS=ephyrinit.c ephyr.c hostx.c
+
+INCLUDES += ..\src ..\..\..\exa
+
diff --git a/xorg-server/hw/kdrive/src/kdrive.c b/xorg-server/hw/kdrive/src/kdrive.c
index 9814fc66a..7b082d322 100644
--- a/xorg-server/hw/kdrive/src/kdrive.c
+++ b/xorg-server/hw/kdrive/src/kdrive.c
@@ -228,6 +228,7 @@ KdProcessSwitch(void)
KdEnableScreens();
}
+#ifndef _MSC_VER
void
AbortDDX(enum ExitCode error)
{
@@ -249,6 +250,7 @@ ddxGiveUp(enum ExitCode error)
{
AbortDDX(error);
}
+#endif
Bool kdDumbDriver;
Bool kdSoftCursor;
@@ -1112,6 +1114,7 @@ KdInitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
OsRegisterSigWrapper(KdSignalWrapper);
}
+#ifndef _MSC_VER
void
OsVendorFatalError(const char *f, va_list args)
{
@@ -1128,3 +1131,4 @@ DPMSSupported(void)
{
return FALSE;
}
+#endif
diff --git a/xorg-server/hw/kdrive/src/kdrive.h b/xorg-server/hw/kdrive/src/kdrive.h
index bec75cb6f..5b2f3378b 100644
--- a/xorg-server/hw/kdrive/src/kdrive.h
+++ b/xorg-server/hw/kdrive/src/kdrive.h
@@ -52,7 +52,7 @@
#define KD_DPMS_POWERDOWN 3
#define KD_DPMS_MAX KD_DPMS_POWERDOWN
-#define Status int
+typedef int Status;
typedef struct _KdCardInfo {
struct _KdCardFuncs *cfuncs;
diff --git a/xorg-server/hw/kdrive/src/kinput.c b/xorg-server/hw/kdrive/src/kinput.c
index a539ca513..31a5e04d2 100644
--- a/xorg-server/hw/kdrive/src/kinput.c
+++ b/xorg-server/hw/kdrive/src/kinput.c
@@ -102,6 +102,14 @@ KdSigio(int sig)
(*kdInputFds[i].read) (kdInputFds[i].fd, kdInputFds[i].closure);
}
+#ifdef _MSC_VER
+ __asm int 3;
+#else
+#endif
+#ifdef _MSC_VER
+ __asm int 3;
+#else
+#endif
#ifdef DEBUG_SIGIO
void
@@ -145,16 +153,23 @@ KdResetInputMachine(void)
static void
KdNonBlockFd(int fd)
{
+#ifdef _MSC_VER
+ __asm int 3;
+#else
int flags;
flags = fcntl(fd, F_GETFL);
flags |= FASYNC | NOBLOCK;
fcntl(fd, F_SETFL, flags);
+#endif
}
static void
KdAddFd(int fd)
{
+#ifdef _MSC_VER
+ __asm int 3;
+#else
struct sigaction act;
sigset_t set;
@@ -171,11 +186,15 @@ KdAddFd(int fd)
sigaction(SIGIO, &act, 0);
sigemptyset(&set);
sigprocmask(SIG_SETMASK, &set, 0);
+#endif
}
static void
KdRemoveFd(int fd)
{
+#ifdef _MSC_VER
+ __asm int 3;
+#else
struct sigaction act;
int flags;
@@ -190,6 +209,7 @@ KdRemoveFd(int fd)
sigemptyset(&act.sa_mask);
sigaction(SIGIO, &act, 0);
}
+#endif
}
Bool
@@ -526,11 +546,13 @@ KdPointerProc(DeviceIntPtr pDevice, int onoff)
return BadImplementation;
}
+#ifndef _MSC_VER
Bool
LegalModifier(unsigned int key, DeviceIntPtr pDev)
{
return TRUE;
}
+#endif
static void
KdBell(int volume, DeviceIntPtr pDev, void *arg, int something)
@@ -549,6 +571,7 @@ KdBell(int volume, DeviceIntPtr pDev, void *arg, int something)
KdRingBell(ki, volume, ctrl->bell_pitch, ctrl->bell_duration);
}
+#ifndef _MSC_VER
void
DDXRingBell(int volume, int pitch, int duration)
{
@@ -564,7 +587,7 @@ DDXRingBell(int volume, int pitch, int duration)
}
}
}
-
+#endif
void
KdRingBell(KdKeyboardInfo * ki, int volume, int pitch, int duration)
{
@@ -2096,6 +2119,7 @@ miPointerScreenFuncRec kdPointerScreenFuncs = {
KdWarpCursor
};
+#ifndef _MSC_VER
void
ProcessInputEvents(void)
{
@@ -2104,6 +2128,7 @@ ProcessInputEvents(void)
KdProcessSwitch();
KdCheckLock();
}
+#endif
/* At the moment, absolute/relative is up to the client. */
int
diff --git a/xorg-server/hw/kdrive/src/makefile b/xorg-server/hw/kdrive/src/makefile
new file mode 100644
index 000000000..e3a826faa
--- /dev/null
+++ b/xorg-server/hw/kdrive/src/makefile
@@ -0,0 +1,14 @@
+LIBRARY = libkdrive
+
+CSRCS = \
+ kcmap.c \
+ kcurscol.c \
+ kdrive.c \
+ kinfo.c \
+ kinput.c \
+ kmap.c \
+ kmode.c \
+ kshadow.c
+
+
+
diff --git a/xorg-server/hw/xfree86/common/compiler.h b/xorg-server/hw/xfree86/common/compiler.h
index 1bd8def5e..a44afacde 100644
--- a/xorg-server/hw/xfree86/common/compiler.h
+++ b/xorg-server/hw/xfree86/common/compiler.h
@@ -86,7 +86,7 @@
#endif
#endif /* __inline__ */
#ifndef __inline
-#if defined(__GNUC__)
+#if defined(__GNUC__) || defined(_MSC_VER)
/* gcc has __inline */
#elif defined(__HIGHC__)
#define __inline _Inline
@@ -1503,10 +1503,10 @@ inl(unsigned short port)
#define asm __asm
#endif
#endif
-#if !defined(__SUNPRO_C)
+#if !defined(__SUNPRO_C) && !defined(_MSC_VER)
#include <sys/inline.h>
#endif
-#if !defined(__HIGHC__) && !defined(__SUNPRO_C) || \
+#if (!defined(__HIGHC__) && !defined(__SUNPRO_C) && !defined(_MSC_VER)) || \
defined(__USLC__)
#pragma asm partial_optimization outl
#pragma asm partial_optimization outw
diff --git a/xorg-server/hw/xwin/InitInput.c b/xorg-server/hw/xwin/InitInput.c
index 38203c906..40f4b9b9d 100644
--- a/xorg-server/hw/xwin/InitInput.c
+++ b/xorg-server/hw/xwin/InitInput.c
@@ -32,7 +32,7 @@
#include "win.h"
#include "dixstruct.h"
#include "inputstr.h"
-
+#include <unistd.h>
/*
* Local function prototypes
*/
@@ -72,15 +72,7 @@ LegalModifier(unsigned int uiKey, DeviceIntPtr pDevice)
void
ProcessInputEvents(void)
{
-#if 0
- ErrorF("ProcessInputEvents\n");
-#endif
-
mieqProcessInputEvents();
-
-#if 0
- ErrorF("ProcessInputEvents - returning\n");
-#endif
}
void
@@ -94,9 +86,8 @@ DDXRingBell(int volume, int pitch, int duration)
void
InitInput(int argc, char *argv[])
{
-#if CYGDEBUG
+ int rc;
winDebug("InitInput\n");
-#endif
#ifdef XWIN_CLIPBOARD
/*
@@ -116,8 +107,8 @@ InitInput(int argc, char *argv[])
mieqInit();
- /* Initialize the mode key states */
- winInitializeModeKeyStates();
+ /* Do not nitialize the mode key states here yet since the keyboard device is not started yet
+ winInitializeModeKeyStates (); */
#ifdef HAS_DEVWINDOWS
/* Only open the windows message queue device once */
@@ -134,13 +125,13 @@ InitInput(int argc, char *argv[])
}
#endif
-#if CYGDEBUG
winDebug("InitInput - returning\n");
-#endif
}
void
CloseInput(void)
{
mieqFini();
+ g_pwinPointer=NULL;
+ g_pwinKeyboard=NULL;
}
diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c
index 6b5c38d92..640195993 100644
--- a/xorg-server/hw/xwin/InitOutput.c
+++ b/xorg-server/hw/xwin/InitOutput.c
@@ -35,12 +35,10 @@ from The Open Group.
#include "winmsg.h"
#include "winconfig.h"
#include "winprefs.h"
-#ifdef XWIN_CLIPBOARD
-#include "X11/Xlocale.h"
-#endif
#ifdef DPMSExtension
#include "dpmsproc.h"
#endif
+#include <locale.h>
#ifdef __CYGWIN__
#include <mntent.h>
#endif
@@ -48,15 +46,12 @@ from The Open Group.
#include "xkbsrv.h"
#endif
#ifdef RELOCATE_PROJECTROOT
-#pragma push_macro("Status")
#undef Status
-#define Status wStatus
#include <shlobj.h>
-#pragma pop_macro("Status")
-typedef WINAPI HRESULT(*SHGETFOLDERPATHPROC) (HWND hwndOwner,
- int nFolder,
- HANDLE hToken,
- DWORD dwFlags, LPTSTR pszPath);
+typedef HRESULT (__stdcall * SHGETFOLDERPATHPROC)(HWND hwndOwner,
+ int nFolder,
+ HANDLE hToken,
+ DWORD dwFlags, LPTSTR pszPath);
#endif
#include "glx_extinit.h"
#ifdef XWIN_GLX_WINDOWS
@@ -133,6 +128,7 @@ winClipboardShutdown(void)
if (g_fClipboard && g_fClipboardLaunched && g_fClipboardStarted) {
/* Synchronously destroy the clipboard window */
if (g_hwndClipboard != NULL) {
+ g_fClipboardStarted=FALSE; /* This is to avoid dead-locls caused by the clipboard thread still doing some stuff */
SendMessage(g_hwndClipboard, WM_DESTROY, 0, 0);
/* NOTE: g_hwndClipboard is set to NULL in winclipboardthread.c */
}
@@ -142,9 +138,6 @@ winClipboardShutdown(void)
/* Wait for the clipboard thread to exit */
pthread_join(g_ptClipboardProc, NULL);
- g_fClipboardLaunched = FALSE;
- g_fClipboardStarted = FALSE;
-
winDebug("winClipboardShutdown - Clipboard thread has exited.\n");
}
}
@@ -215,14 +208,12 @@ ddxGiveUp(enum ExitCode error)
{
int i;
-#if CYGDEBUG
winDebug("ddxGiveUp\n");
-#endif
/* Perform per-screen deinitialization */
for (i = 0; i < g_iNumScreens; ++i) {
/* Delete the tray icon */
- if (!g_ScreenInfo[i].fNoTrayIcon && g_ScreenInfo[i].pScreen)
+ if (!g_ScreenInfo[i].fNoTrayIcon && g_ScreenInfo[i].pScreen && !pref.fNoTrayIcon)
winDeleteNotifyIcon(winGetScreenPriv(g_ScreenInfo[i].pScreen));
}
@@ -285,9 +276,7 @@ ddxGiveUp(enum ExitCode error)
void
AbortDDX(enum ExitCode error)
{
-#if CYGDEBUG
winDebug("AbortDDX\n");
-#endif
ddxGiveUp(error);
}
@@ -370,8 +359,10 @@ winCheckMount(void)
return;
}
+#ifdef WINDBG
if (!binary)
- winMsg(X_WARNING, "/tmp mounted in textmode\n");
+ winDebug("/tmp mounted in textmode\n");
+#endif
}
#else
static void
@@ -423,8 +414,17 @@ winFixupPaths(void)
#ifdef READ_FONTDIRS
{
/* Open fontpath configuration file */
+#if defined WIN32 && defined __MINGW32__
+ static Bool once = False;
+ char buffer[MAX_PATH];
+ snprintf(buffer, sizeof(buffer), "%s\\font-dirs", basedir);
+ buffer[sizeof(buffer)-1] = 0;
+ FILE *fontdirs = fopen(buffer, "rt");
+ if (once) fontdirs = NULL;
+ else once = True;
+#else
FILE *fontdirs = fopen(ETCX11DIR "/font-dirs", "rt");
-
+#endif
if (fontdirs != NULL) {
char buffer[256];
int needs_sep = TRUE;
@@ -588,7 +588,7 @@ winFixupPaths(void)
}
#endif /* RELOCATE_PROJECTROOT */
if (changed_fontpath)
- winMsg(font_from, "FontPath set to \"%s\"\n", defaultFontPath);
+ winDebug ("FontPath set to \"%s\"\n", defaultFontPath);
#ifdef RELOCATE_PROJECTROOT
if (getenv("XKEYSYMDB") == NULL) {
@@ -612,6 +612,13 @@ winFixupPaths(void)
buffer[sizeof(buffer) - 1] = 0;
putenv(buffer);
}
+ if (getenv("XHOSTPREFIX") == NULL) {
+ char buffer[MAX_PATH];
+ snprintf(buffer, sizeof(buffer), "XHOSTPREFIX=%s\\X",
+ basedir);
+ buffer[sizeof(buffer)-1] = 0;
+ putenv(buffer);
+ }
if (getenv("HOME") == NULL) {
char buffer[MAX_PATH + 5];
@@ -624,7 +631,7 @@ winFixupPaths(void)
putenv(buffer);
}
else {
- winMsg(X_ERROR, "Can not determine HOME directory\n");
+ ErrorF ("Can not determine HOME directory\n");
}
}
if (!g_fLogFileChanged) {
@@ -633,16 +640,17 @@ winFixupPaths(void)
if (size && size < sizeof(buffer)) {
snprintf(buffer + size, sizeof(buffer) - size,
- "XWin.%s.log", display);
+ "VCXSrv.%s.log", display);
buffer[sizeof(buffer) - 1] = 0;
g_pszLogFile = buffer;
- winMsg(X_DEFAULT, "Logfile set to \"%s\"\n", g_pszLogFile);
+ GetLongPathName(buffer, buffer, MAX_PATH);
+ winDebug ("Logfile set to \"%s\"\n", g_pszLogFile);
}
}
{
static char xkbbasedir[MAX_PATH];
- snprintf(xkbbasedir, sizeof(xkbbasedir), "%s\\xkb", basedir);
+ snprintf(xkbbasedir, sizeof(xkbbasedir), "%s\\xkbdata", basedir);
if (sizeof(xkbbasedir) > 0)
xkbbasedir[sizeof(xkbbasedir) - 1] = 0;
XkbBaseDirectory = xkbbasedir;
@@ -652,11 +660,8 @@ winFixupPaths(void)
}
void
-OsVendorInit(void)
+OsVendorPreInit(int argc, char *argv[])
{
- /* Re-initialize global variables on server reset */
- winInitializeGlobals();
-
winFixupPaths();
#ifdef DDXOSVERRORF
@@ -677,6 +682,17 @@ OsVendorInit(void)
LogSetParameter(XLOG_VERBOSITY, g_iLogVerbose);
LogSetParameter(XLOG_FILE_VERBOSITY, g_iLogVerbose);
+ /* Log the command line */
+ winLogCommandLine(argc, argv);
+
+}
+
+void
+OsVendorInit(void)
+{
+ /* Re-initialize global variables on server reset */
+ winInitializeGlobals();
+
/* Log the version information */
if (serverGeneration == 1)
winLogVersionInfo();
@@ -714,8 +730,7 @@ OsVendorInit(void)
g_ScreenInfo[j].iE3BTimeout = WIN_DEFAULT_E3B_TIME;
if (reportOnce) {
reportOnce = FALSE;
- winMsg(X_PROBED,
- "Windows reports only %d mouse buttons, defaulting to -emulate3buttons\n",
+ winDebug("Windows reports only %d mouse buttons, defaulting to -emulate3buttons\n",
mouseButtons);
}
}
@@ -738,6 +753,10 @@ winUseMsg(void)
#ifdef XWIN_CLIPBOARD
ErrorF("-[no]clipboard\n"
"\tEnable [disable] the clipboard integration. Default is enabled.\n");
+ ErrorF ("-[no]clipboardprimary\n"
+ "\t[Do not] map the PRIMARY selection to the windows clipboard.\n"
+ "\tThe CLIPBOARD selection is always mapped if -clipboard is enabled.\n"
+ "\tDefault is mapped.\n");
#endif
ErrorF("-clipupdates num_boxes\n"
@@ -788,7 +807,7 @@ winUseMsg(void)
ErrorF("-ignoreinput\n" "\tIgnore keyboard and mouse input.\n");
-#ifdef XWIN_MULTIWINDOWEXTWM
+#ifdef XWIN_MULTIWINDOWINTWM
ErrorF("-internalwm\n" "\tRun the internal window manager.\n");
#endif
@@ -877,10 +896,11 @@ winUseMsg(void)
ErrorF("-[no]unixkill\n" "\tCtrl+Alt+Backspace exits the X Server.\n");
-#ifdef XWIN_GLX_WINDOWS
ErrorF("-[no]wgl\n"
"\tEnable the GLX extension to use the native Windows WGL interface for hardware-accelerated OpenGL\n");
-#endif
+
+ ErrorF("-swrastwgl\n"
+ "\tEnable the GLX extension to use the native Windows WGL interface based on the swrast interface for accelerated OpenGL\n");
ErrorF("-[no]winkill\n" "\tAlt+F4 exits the X Server.\n");
@@ -941,12 +961,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[])
if (serverGeneration == 1)
XwinExtensionInit();
- /* Log the command line */
- winLogCommandLine(argc, argv);
-
-#if CYGDEBUG
winDebug("InitOutput\n");
-#endif
/* Validate command-line arguments */
if (serverGeneration == 1 && !winValidateArgs()) {
@@ -965,11 +980,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[])
#ifdef XWIN_XF86CONFIG
/* Try to read the xorg.conf-style configuration file */
if (!winReadConfigfile())
- winErrorFVerb(1, "InitOutput - Error reading config file\n");
+ ErrorF ("InitOutput - Error reading config file\n");
#else
- winMsg(X_INFO, "xorg.conf is not supported\n");
- winMsg(X_INFO, "See http://x.cygwin.com/docs/faq/cygwin-x-faq.html "
- "for more information\n");
winConfigFiles();
#endif
@@ -1025,13 +1037,22 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[])
* setlocale applies to all threads in the current process.
* Apply locale specified in LANG environment variable.
*/
- setlocale(LC_ALL, "");
+ if (!setlocale (LC_ALL, ""))
+ {
+ ErrorF ("setlocale failed.\n");
+ }
+
+ /* See if X supports the current locale */
+ if (XSupportsLocale () == FALSE)
+ {
+ ErrorF ("Warning: Locale not supported by X, falling back to 'C' locale.\n");
+ setlocale(LC_ALL, "C");
+ }
+
}
#endif
-#if CYGDEBUG || YES
winDebug("InitOutput - Returning.\n");
-#endif
}
/*
@@ -1053,7 +1074,7 @@ winCheckDisplayNumber(void)
/* Check display range */
nDisp = atoi(display);
- if (nDisp < 0 || nDisp > 65535) {
+ if (nDisp < 0 || nDisp > 59535) {
ErrorF("winCheckDisplayNumber - Bad display number: %d\n", nDisp);
return FALSE;
}
@@ -1094,7 +1115,7 @@ winCheckDisplayNumber(void)
}
if (GetLastError() == ERROR_ALREADY_EXISTS) {
ErrorF("winCheckDisplayNumber - "
- PROJECT_NAME " is already running on display %d\n", nDisp);
+ "VCXsrv, Xming or Cygwin/X is already running on display %d\n", nDisp);
return FALSE;
}
diff --git a/xorg-server/hw/xwin/Makefile.am b/xorg-server/hw/xwin/Makefile.am
index cf42cfd2d..5b97dcabd 100644
--- a/xorg-server/hw/xwin/Makefile.am
+++ b/xorg-server/hw/xwin/Makefile.am
@@ -126,6 +126,7 @@ SRCS = InitInput.c \
winprefs.h \
winresource.h \
winwindow.h \
+ windisplay.c \
XWin.rc \
$(top_srcdir)/mi/miinitext.c \
$(SRCS_CLIPBOARD) \
diff --git a/xorg-server/hw/xwin/XWin.rc b/xorg-server/hw/xwin/XWin.rc
index a142f3070..3dc1372e1 100644
--- a/xorg-server/hw/xwin/XWin.rc
+++ b/xorg-server/hw/xwin/XWin.rc
@@ -32,32 +32,29 @@
#include <windows.h>
#include "winresource.h"
#include "xwin-config.h"
-#include "version-config.h"
/*
* Dialogs
*/
/* About */
-ABOUT_BOX DIALOGEX 32, 32, 260, 105
+ABOUT_BOX DIALOGEX 32, 32, 260, 95
STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | WS_TABSTOP | DS_CENTERMOUSE
-CAPTION "About " XVENDORNAMESHORT
+CAPTION "About "XVENDORNAMESHORT
FONT 8, "MS Shell Dlg 2"
BEGIN
- CONTROL IDI_XWIN, IDC_STATIC, "Static", SS_ICON, 8, 8, 32, 32
- LTEXT XVENDORNAMESHORT " X Server ", IDC_STATIC, 36, 8, 220, 8
- LTEXT VENDOR_MAN_VERSION, IDC_STATIC, 36, 18, 220, 8
- LTEXT BUILDERSTRING, IDC_STATIC, 36, 28, 220, 8
- LTEXT "This software is licensed under the terms of the MIT/X11 License.", IDC_STATIC, 36, 48, 220, 20
- CONTROL __VENDORDWEBSUPPORT__, ID_ABOUT_WEBSITE, "Button",
- BS_OWNERDRAW | WS_TABSTOP, 36, 68, 220, 8
- DEFPUSHBUTTON "&OK", IDOK, 105, 85, 50, 15
+ CONTROL IDI_XWIN, IDC_STATIC, "Static", SS_ICON, 8, 8, 32, 32
+ LTEXT "VcXsrv X Server ", IDC_STATIC, 36, 8, 220, 8
+ LTEXT "http://vcxsrv.sourceforge.net", IDC_STATIC, 36, 18, 220, 8
+ LTEXT "marha@users.sourceforge.net", IDC_STATIC, 36, 28, 220, 8
+ LTEXT "Version 1.15.0.2 (1 May 2014)", IDC_STATIC, 36, 38, 220, 8
+ DEFPUSHBUTTON "OK", IDOK, 105, 75, 50, 15
END
/* Depth change */
-DEPTH_CHANGE_BOX DIALOGEX 32, 32, 180, 100
+DEPTH_CHANGE_BOX DIALOGEX 32, 32, 180, 100
STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTERMOUSE
FONT 8, "MS Shell Dlg 2"
CAPTION XVENDORNAMESHORT
@@ -65,16 +62,16 @@ BEGIN
DEFPUSHBUTTON "Dismiss", IDOK, 66, 80, 50, 14
CTEXT XVENDORNAMESHORT, IDC_STATIC, 40, 12, 100, 8
CTEXT "Disruptive screen configuration change.", IDC_STATIC, 7, 40, 166, 8
- CTEXT "Restore previous resolution to use " XVENDORNAMESHORT ".", IDC_STATIC, 7, 52, 166, 8
+ CTEXT "Restore previous resolution to use "XVENDORNAMESHORT".", IDC_STATIC, 7, 52, 166, 8
END
/* Exit */
-EXIT_DIALOG DIALOGEX 32, 32, 180, 78
+EXIT_DIALOG DIALOGEX 32, 32, 180, 78
STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | WS_TABSTOP | DS_CENTERMOUSE
FONT 8, "MS Shell Dlg 2"
-CAPTION "Exit " XVENDORNAMESHORT "?"
+CAPTION "Exit "XVENDORNAMESHORT"?"
BEGIN
PUSHBUTTON "E&xit", IDOK, 55, 56, 30, 14
DEFPUSHBUTTON "&Cancel", IDCANCEL, 95, 56, 30, 14
@@ -83,6 +80,17 @@ BEGIN
CTEXT "Proceed with shutdown of this display/server?", IDC_STATIC, 7, 36, 166, 8
END
+/* Xdmcp host selection dialog */
+XDMCP_HOSTS DIALOGEX 32, 32, 260, 156
+STYLE DS_SETFONT | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION
+EXSTYLE WS_EX_NOPARENTNOTIFY
+CAPTION "Select host to connect to"
+FONT 8, "MS Shell Dlg 2", 0, 0, 0x1
+BEGIN
+ DEFPUSHBUTTON "Connect",IDOK,61,132,50,15
+ LISTBOX IDC_HOSTLIST,7,7,245,113,LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "Cancel",IDCANCEL,147,134,50,14
+END
/*
* Menus
@@ -105,4 +113,4 @@ END
*/
IDI_XWIN ICON "X.ico"
-CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "XWin.exe.manifest"
+/* CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "XWin.exe.manifest"*/
diff --git a/xorg-server/hw/xwin/ddraw.h b/xorg-server/hw/xwin/ddraw.h
deleted file mode 100644
index 1871d9551..000000000
--- a/xorg-server/hw/xwin/ddraw.h
+++ /dev/null
@@ -1,2322 +0,0 @@
-#ifdef __MINGW64_VERSION_MAJOR
-#include_next <ddraw.h>
-#define __XWIN_DDRAW_H
-#endif
-#ifndef __XWIN_DDRAW_H
-#define __XWIN_DDRAW_H
-
-#include <winnt.h>
-#include <wingdi.h>
-#include <objbase.h>
-
-#if defined(NONAMELESSUNION) && !defined(DUMMYUNIONNAME1)
-#define DUMMYUNIONNAME1 u1
-#endif
-
-#define ICOM_CALL_( xfn, p, args) (p)->lpVtbl->xfn args
-
-#ifdef UNICODE
-#define WINELIB_NAME_AW(func) func##W
-#else
-#define WINELIB_NAME_AW(func) func##A
-#endif /* UNICODE */
-#define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-#ifndef DIRECTDRAW_VERSION
-#define DIRECTDRAW_VERSION 0x0700
-#endif /* DIRECTDRAW_VERSION */
-
-/*****************************************************************************
- * Predeclare the interfaces
- */
- DEFINE_GUID(CLSID_DirectDraw, 0xD7B70EE0, 0x4340, 0x11CF, 0xB0, 0x63, 0x00,
- 0x20, 0xAF, 0xC2, 0xCD, 0x35);
- DEFINE_GUID(CLSID_DirectDraw7, 0x3C305196, 0x50DB, 0x11D3, 0x9C, 0xFE, 0x00,
- 0xC0, 0x4F, 0xD9, 0x30, 0xC5);
- DEFINE_GUID(CLSID_DirectDrawClipper, 0x593817A0, 0x7DB3, 0x11CF, 0xA2, 0xDE,
- 0x00, 0xAA, 0x00, 0xb9, 0x33, 0x56);
- DEFINE_GUID(IID_IDirectDraw, 0x6C14DB80, 0xA733, 0x11CE, 0xA5, 0x21, 0x00,
- 0x20, 0xAF, 0x0B, 0xE5, 0x60);
- DEFINE_GUID(IID_IDirectDraw2, 0xB3A6F3E0, 0x2B43, 0x11CF, 0xA2, 0xDE, 0x00,
- 0xAA, 0x00, 0xB9, 0x33, 0x56);
- DEFINE_GUID(IID_IDirectDraw4, 0x9c59509a, 0x39bd, 0x11d1, 0x8c, 0x4a, 0x00,
- 0xc0, 0x4f, 0xd9, 0x30, 0xc5);
- DEFINE_GUID(IID_IDirectDraw7, 0x15e65ec0, 0x3b9c, 0x11d2, 0xb9, 0x2f, 0x00,
- 0x60, 0x97, 0x97, 0xea, 0x5b);
- DEFINE_GUID(IID_IDirectDrawSurface, 0x6C14DB81, 0xA733, 0x11CE, 0xA5, 0x21,
- 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
- DEFINE_GUID(IID_IDirectDrawSurface2, 0x57805885, 0x6eec, 0x11cf, 0x94, 0x41,
- 0xa8, 0x23, 0x03, 0xc1, 0x0e, 0x27);
- DEFINE_GUID(IID_IDirectDrawSurface3, 0xDA044E00, 0x69B2, 0x11D0, 0xA1, 0xD5,
- 0x00, 0xAA, 0x00, 0xB8, 0xDF, 0xBB);
- DEFINE_GUID(IID_IDirectDrawSurface4, 0x0B2B8630, 0xAD35, 0x11D0, 0x8E, 0xA6,
- 0x00, 0x60, 0x97, 0x97, 0xEA, 0x5B);
- DEFINE_GUID(IID_IDirectDrawSurface7, 0x06675a80, 0x3b9b, 0x11d2, 0xb9, 0x2f,
- 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b);
- DEFINE_GUID(IID_IDirectDrawPalette, 0x6C14DB84, 0xA733, 0x11CE, 0xA5, 0x21,
- 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
- DEFINE_GUID(IID_IDirectDrawClipper, 0x6C14DB85, 0xA733, 0x11CE, 0xA5, 0x21,
- 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
- DEFINE_GUID(IID_IDirectDrawColorControl, 0x4B9F0EE0, 0x0D7E, 0x11D0, 0x9B,
- 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
- DEFINE_GUID(IID_IDirectDrawGammaControl, 0x69C11C3E, 0xB46B, 0x11D1, 0xAD,
- 0x7A, 0x00, 0xC0, 0x4F, 0xC2, 0x9B, 0x4E);
-
- typedef struct IDirectDraw *LPDIRECTDRAW;
- typedef struct IDirectDraw2 *LPDIRECTDRAW2;
- typedef struct IDirectDraw4 *LPDIRECTDRAW4;
- typedef struct IDirectDraw7 *LPDIRECTDRAW7;
- typedef struct IDirectDrawClipper *LPDIRECTDRAWCLIPPER;
- typedef struct IDirectDrawPalette *LPDIRECTDRAWPALETTE;
- typedef struct IDirectDrawSurface *LPDIRECTDRAWSURFACE;
- typedef struct IDirectDrawSurface2 *LPDIRECTDRAWSURFACE2;
- typedef struct IDirectDrawSurface3 *LPDIRECTDRAWSURFACE3;
- typedef struct IDirectDrawSurface4 *LPDIRECTDRAWSURFACE4;
- typedef struct IDirectDrawSurface7 *LPDIRECTDRAWSURFACE7;
- typedef struct IDirectDrawColorControl *LPDIRECTDRAWCOLORCONTROL;
- typedef struct IDirectDrawGammaControl *LPDIRECTDRAWGAMMACONTROL;
-
-#define DDENUMRET_CANCEL 0
-#define DDENUMRET_OK 1
-
-#define DD_OK 0
-
-#define _FACDD 0x876
-#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
-
-#define DDERR_ALREADYINITIALIZED MAKE_DDHRESULT( 5 )
-#define DDERR_CANNOTATTACHSURFACE MAKE_DDHRESULT( 10 )
-#define DDERR_CANNOTDETACHSURFACE MAKE_DDHRESULT( 20 )
-#define DDERR_CURRENTLYNOTAVAIL MAKE_DDHRESULT( 40 )
-#define DDERR_EXCEPTION MAKE_DDHRESULT( 55 )
-#define DDERR_GENERIC E_FAIL
-#define DDERR_HEIGHTALIGN MAKE_DDHRESULT( 90 )
-#define DDERR_INCOMPATIBLEPRIMARY MAKE_DDHRESULT( 95 )
-#define DDERR_INVALIDCAPS MAKE_DDHRESULT( 100 )
-#define DDERR_INVALIDCLIPLIST MAKE_DDHRESULT( 110 )
-#define DDERR_INVALIDMODE MAKE_DDHRESULT( 120 )
-#define DDERR_INVALIDOBJECT MAKE_DDHRESULT( 130 )
-#define DDERR_INVALIDPARAMS E_INVALIDARG
-#define DDERR_INVALIDPIXELFORMAT MAKE_DDHRESULT( 145 )
-#define DDERR_INVALIDRECT MAKE_DDHRESULT( 150 )
-#define DDERR_LOCKEDSURFACES MAKE_DDHRESULT( 160 )
-#define DDERR_NO3D MAKE_DDHRESULT( 170 )
-#define DDERR_NOALPHAHW MAKE_DDHRESULT( 180 )
-#define DDERR_NOSTEREOHARDWARE MAKE_DDHRESULT( 181 )
-#define DDERR_NOSURFACELEFT MAKE_DDHRESULT( 182 )
-#define DDERR_NOCLIPLIST MAKE_DDHRESULT( 205 )
-#define DDERR_NOCOLORCONVHW MAKE_DDHRESULT( 210 )
-#define DDERR_NOCOOPERATIVELEVELSET MAKE_DDHRESULT( 212 )
-#define DDERR_NOCOLORKEY MAKE_DDHRESULT( 215 )
-#define DDERR_NOCOLORKEYHW MAKE_DDHRESULT( 220 )
-#define DDERR_NODIRECTDRAWSUPPORT MAKE_DDHRESULT( 222 )
-#define DDERR_NOEXCLUSIVEMODE MAKE_DDHRESULT( 225 )
-#define DDERR_NOFLIPHW MAKE_DDHRESULT( 230 )
-#define DDERR_NOGDI MAKE_DDHRESULT( 240 )
-#define DDERR_NOMIRRORHW MAKE_DDHRESULT( 250 )
-#define DDERR_NOTFOUND MAKE_DDHRESULT( 255 )
-#define DDERR_NOOVERLAYHW MAKE_DDHRESULT( 260 )
-#define DDERR_OVERLAPPINGRECTS MAKE_DDHRESULT( 270 )
-#define DDERR_NORASTEROPHW MAKE_DDHRESULT( 280 )
-#define DDERR_NOROTATIONHW MAKE_DDHRESULT( 290 )
-#define DDERR_NOSTRETCHHW MAKE_DDHRESULT( 310 )
-#define DDERR_NOT4BITCOLOR MAKE_DDHRESULT( 316 )
-#define DDERR_NOT4BITCOLORINDEX MAKE_DDHRESULT( 317 )
-#define DDERR_NOT8BITCOLOR MAKE_DDHRESULT( 320 )
-#define DDERR_NOTEXTUREHW MAKE_DDHRESULT( 330 )
-#define DDERR_NOVSYNCHW MAKE_DDHRESULT( 335 )
-#define DDERR_NOZBUFFERHW MAKE_DDHRESULT( 340 )
-#define DDERR_NOZOVERLAYHW MAKE_DDHRESULT( 350 )
-#define DDERR_OUTOFCAPS MAKE_DDHRESULT( 360 )
-#define DDERR_OUTOFMEMORY E_OUTOFMEMORY
-#define DDERR_OUTOFVIDEOMEMORY MAKE_DDHRESULT( 380 )
-#define DDERR_OVERLAYCANTCLIP MAKE_DDHRESULT( 382 )
-#define DDERR_OVERLAYCOLORKEYONLYONEACTIVE MAKE_DDHRESULT( 384 )
-#define DDERR_PALETTEBUSY MAKE_DDHRESULT( 387 )
-#define DDERR_COLORKEYNOTSET MAKE_DDHRESULT( 400 )
-#define DDERR_SURFACEALREADYATTACHED MAKE_DDHRESULT( 410 )
-#define DDERR_SURFACEALREADYDEPENDENT MAKE_DDHRESULT( 420 )
-#define DDERR_SURFACEBUSY MAKE_DDHRESULT( 430 )
-#define DDERR_CANTLOCKSURFACE MAKE_DDHRESULT( 435 )
-#define DDERR_SURFACEISOBSCURED MAKE_DDHRESULT( 440 )
-#define DDERR_SURFACELOST MAKE_DDHRESULT( 450 )
-#define DDERR_SURFACENOTATTACHED MAKE_DDHRESULT( 460 )
-#define DDERR_TOOBIGHEIGHT MAKE_DDHRESULT( 470 )
-#define DDERR_TOOBIGSIZE MAKE_DDHRESULT( 480 )
-#define DDERR_TOOBIGWIDTH MAKE_DDHRESULT( 490 )
-#define DDERR_UNSUPPORTED E_NOTIMPL
-#define DDERR_UNSUPPORTEDFORMAT MAKE_DDHRESULT( 510 )
-#define DDERR_UNSUPPORTEDMASK MAKE_DDHRESULT( 520 )
-#define DDERR_INVALIDSTREAM MAKE_DDHRESULT( 521 )
-#define DDERR_VERTICALBLANKINPROGRESS MAKE_DDHRESULT( 537 )
-#define DDERR_WASSTILLDRAWING MAKE_DDHRESULT( 540 )
-#define DDERR_DDSCAPSCOMPLEXREQUIRED MAKE_DDHRESULT( 542 )
-#define DDERR_XALIGN MAKE_DDHRESULT( 560 )
-#define DDERR_INVALIDDIRECTDRAWGUID MAKE_DDHRESULT( 561 )
-#define DDERR_DIRECTDRAWALREADYCREATED MAKE_DDHRESULT( 562 )
-#define DDERR_NODIRECTDRAWHW MAKE_DDHRESULT( 563 )
-#define DDERR_PRIMARYSURFACEALREADYEXISTS MAKE_DDHRESULT( 564 )
-#define DDERR_NOEMULATION MAKE_DDHRESULT( 565 )
-#define DDERR_REGIONTOOSMALL MAKE_DDHRESULT( 566 )
-#define DDERR_CLIPPERISUSINGHWND MAKE_DDHRESULT( 567 )
-#define DDERR_NOCLIPPERATTACHED MAKE_DDHRESULT( 568 )
-#define DDERR_NOHWND MAKE_DDHRESULT( 569 )
-#define DDERR_HWNDSUBCLASSED MAKE_DDHRESULT( 570 )
-#define DDERR_HWNDALREADYSET MAKE_DDHRESULT( 571 )
-#define DDERR_NOPALETTEATTACHED MAKE_DDHRESULT( 572 )
-#define DDERR_NOPALETTEHW MAKE_DDHRESULT( 573 )
-#define DDERR_BLTFASTCANTCLIP MAKE_DDHRESULT( 574 )
-#define DDERR_NOBLTHW MAKE_DDHRESULT( 575 )
-#define DDERR_NODDROPSHW MAKE_DDHRESULT( 576 )
-#define DDERR_OVERLAYNOTVISIBLE MAKE_DDHRESULT( 577 )
-#define DDERR_NOOVERLAYDEST MAKE_DDHRESULT( 578 )
-#define DDERR_INVALIDPOSITION MAKE_DDHRESULT( 579 )
-#define DDERR_NOTAOVERLAYSURFACE MAKE_DDHRESULT( 580 )
-#define DDERR_EXCLUSIVEMODEALREADYSET MAKE_DDHRESULT( 581 )
-#define DDERR_NOTFLIPPABLE MAKE_DDHRESULT( 582 )
-#define DDERR_CANTDUPLICATE MAKE_DDHRESULT( 583 )
-#define DDERR_NOTLOCKED MAKE_DDHRESULT( 584 )
-#define DDERR_CANTCREATEDC MAKE_DDHRESULT( 585 )
-#define DDERR_NODC MAKE_DDHRESULT( 586 )
-#define DDERR_WRONGMODE MAKE_DDHRESULT( 587 )
-#define DDERR_IMPLICITLYCREATED MAKE_DDHRESULT( 588 )
-#define DDERR_NOTPALETTIZED MAKE_DDHRESULT( 589 )
-#define DDERR_UNSUPPORTEDMODE MAKE_DDHRESULT( 590 )
-#define DDERR_NOMIPMAPHW MAKE_DDHRESULT( 591 )
-#define DDERR_INVALIDSURFACETYPE MAKE_DDHRESULT( 592 )
-#define DDERR_NOOPTIMIZEHW MAKE_DDHRESULT( 600 )
-#define DDERR_NOTLOADED MAKE_DDHRESULT( 601 )
-#define DDERR_NOFOCUSWINDOW MAKE_DDHRESULT( 602 )
-#define DDERR_NOTONMIPMAPSUBLEVEL MAKE_DDHRESULT( 603 )
-#define DDERR_DCALREADYCREATED MAKE_DDHRESULT( 620 )
-#define DDERR_NONONLOCALVIDMEM MAKE_DDHRESULT( 630 )
-#define DDERR_CANTPAGELOCK MAKE_DDHRESULT( 640 )
-#define DDERR_CANTPAGEUNLOCK MAKE_DDHRESULT( 660 )
-#define DDERR_NOTPAGELOCKED MAKE_DDHRESULT( 680 )
-#define DDERR_MOREDATA MAKE_DDHRESULT( 690 )
-#define DDERR_EXPIRED MAKE_DDHRESULT( 691 )
-#define DDERR_TESTFINISHED MAKE_DDHRESULT( 692 )
-#define DDERR_NEWMODE MAKE_DDHRESULT( 693 )
-#define DDERR_D3DNOTINITIALIZED MAKE_DDHRESULT( 694 )
-#define DDERR_VIDEONOTACTIVE MAKE_DDHRESULT( 695 )
-#define DDERR_NOMONITORINFORMATION MAKE_DDHRESULT( 696 )
-#define DDERR_NODRIVERSUPPORT MAKE_DDHRESULT( 697 )
-#define DDERR_DEVICEDOESNTOWNSURFACE MAKE_DDHRESULT( 699 )
-#define DDERR_NOTINITIALIZED CO_E_NOTINITIALIZED
-
-/* dwFlags for Blt* */
-#define DDBLT_ALPHADEST 0x00000001
-#define DDBLT_ALPHADESTCONSTOVERRIDE 0x00000002
-#define DDBLT_ALPHADESTNEG 0x00000004
-#define DDBLT_ALPHADESTSURFACEOVERRIDE 0x00000008
-#define DDBLT_ALPHAEDGEBLEND 0x00000010
-#define DDBLT_ALPHASRC 0x00000020
-#define DDBLT_ALPHASRCCONSTOVERRIDE 0x00000040
-#define DDBLT_ALPHASRCNEG 0x00000080
-#define DDBLT_ALPHASRCSURFACEOVERRIDE 0x00000100
-#define DDBLT_ASYNC 0x00000200
-#define DDBLT_COLORFILL 0x00000400
-#define DDBLT_DDFX 0x00000800
-#define DDBLT_DDROPS 0x00001000
-#define DDBLT_KEYDEST 0x00002000
-#define DDBLT_KEYDESTOVERRIDE 0x00004000
-#define DDBLT_KEYSRC 0x00008000
-#define DDBLT_KEYSRCOVERRIDE 0x00010000
-#define DDBLT_ROP 0x00020000
-#define DDBLT_ROTATIONANGLE 0x00040000
-#define DDBLT_ZBUFFER 0x00080000
-#define DDBLT_ZBUFFERDESTCONSTOVERRIDE 0x00100000
-#define DDBLT_ZBUFFERDESTOVERRIDE 0x00200000
-#define DDBLT_ZBUFFERSRCCONSTOVERRIDE 0x00400000
-#define DDBLT_ZBUFFERSRCOVERRIDE 0x00800000
-#define DDBLT_WAIT 0x01000000
-#define DDBLT_DEPTHFILL 0x02000000
-#define DDBLT_DONOTWAIT 0x08000000
-
-/* dwTrans for BltFast */
-#define DDBLTFAST_NOCOLORKEY 0x00000000
-#define DDBLTFAST_SRCCOLORKEY 0x00000001
-#define DDBLTFAST_DESTCOLORKEY 0x00000002
-#define DDBLTFAST_WAIT 0x00000010
-#define DDBLTFAST_DONOTWAIT 0x00000020
-
-/* dwFlags for Flip */
-#define DDFLIP_WAIT 0x00000001
-#define DDFLIP_EVEN 0x00000002 /* only valid for overlay */
-#define DDFLIP_ODD 0x00000004 /* only valid for overlay */
-#define DDFLIP_NOVSYNC 0x00000008
-#define DDFLIP_STEREO 0x00000010
-#define DDFLIP_DONOTWAIT 0x00000020
-
-/* dwFlags for GetBltStatus */
-#define DDGBS_CANBLT 0x00000001
-#define DDGBS_ISBLTDONE 0x00000002
-
-/* dwFlags for IDirectDrawSurface7::GetFlipStatus */
-#define DDGFS_CANFLIP 1L
-#define DDGFS_ISFLIPDONE 2L
-
-/* dwFlags for IDirectDrawSurface7::SetPrivateData */
-#define DDSPD_IUNKNOWNPTR 1L
-#define DDSPD_VOLATILE 2L
-
-/* DDSCAPS.dwCaps */
-/* reserved1, was 3d capable */
-#define DDSCAPS_RESERVED1 0x00000001
-/* surface contains alpha information */
-#define DDSCAPS_ALPHA 0x00000002
-/* this surface is a backbuffer */
-#define DDSCAPS_BACKBUFFER 0x00000004
-/* complex surface structure */
-#define DDSCAPS_COMPLEX 0x00000008
-/* part of surface flipping structure */
-#define DDSCAPS_FLIP 0x00000010
-/* this surface is the frontbuffer surface */
-#define DDSCAPS_FRONTBUFFER 0x00000020
-/* this is a plain offscreen surface */
-#define DDSCAPS_OFFSCREENPLAIN 0x00000040
-/* overlay */
-#define DDSCAPS_OVERLAY 0x00000080
-/* palette objects can be created and attached to us */
-#define DDSCAPS_PALETTE 0x00000100
-/* primary surface (the one the user looks at currently)(right eye)*/
-#define DDSCAPS_PRIMARYSURFACE 0x00000200
-/* primary surface for left eye */
-#define DDSCAPS_PRIMARYSURFACELEFT 0x00000400
-/* surface exists in systemmemory */
-#define DDSCAPS_SYSTEMMEMORY 0x00000800
-/* surface can be used as a texture */
-#define DDSCAPS_TEXTURE 0x00001000
-/* surface may be destination for 3d rendering */
-#define DDSCAPS_3DDEVICE 0x00002000
-/* surface exists in videomemory */
-#define DDSCAPS_VIDEOMEMORY 0x00004000
-/* surface changes immediately visible */
-#define DDSCAPS_VISIBLE 0x00008000
-/* write only surface */
-#define DDSCAPS_WRITEONLY 0x00010000
-/* zbuffer surface */
-#define DDSCAPS_ZBUFFER 0x00020000
-/* has its own DC */
-#define DDSCAPS_OWNDC 0x00040000
-/* surface should be able to receive live video */
-#define DDSCAPS_LIVEVIDEO 0x00080000
-/* should be able to have a hw codec decompress stuff into it */
-#define DDSCAPS_HWCODEC 0x00100000
-/* mode X (320x200 or 320x240) surface */
-#define DDSCAPS_MODEX 0x00200000
-/* one mipmap surface (1 level) */
-#define DDSCAPS_MIPMAP 0x00400000
-#define DDSCAPS_RESERVED2 0x00800000
-/* memory allocation delayed until Load() */
-#define DDSCAPS_ALLOCONLOAD 0x04000000
-/* Indicates that the surface will receive data from a video port */
-#define DDSCAPS_VIDEOPORT 0x08000000
-/* surface is in local videomemory */
-#define DDSCAPS_LOCALVIDMEM 0x10000000
-/* surface is in nonlocal videomemory */
-#define DDSCAPS_NONLOCALVIDMEM 0x20000000
-/* surface is a standard VGA mode surface (NOT ModeX) */
-#define DDSCAPS_STANDARDVGAMODE 0x40000000
-/* optimized? surface */
-#define DDSCAPS_OPTIMIZED 0x80000000
-
- typedef struct _DDSCAPS {
- DWORD dwCaps; /* capabilities of surface wanted */
- } DDSCAPS, *LPDDSCAPS;
-
-/* DDSCAPS2.dwCaps2 */
-/* indicates the surface will receive data from a video port using
- deinterlacing hardware. */
-#define DDSCAPS2_HARDWAREDEINTERLACE 0x00000002
-/* indicates the surface will be locked very frequently. */
-#define DDSCAPS2_HINTDYNAMIC 0x00000004
-/* indicates surface can be re-ordered or retiled on load() */
-#define DDSCAPS2_HINTSTATIC 0x00000008
-/* indicates surface to be managed by directdraw/direct3D */
-#define DDSCAPS2_TEXTUREMANAGE 0x00000010
-/* reserved bits */
-#define DDSCAPS2_RESERVED1 0x00000020
-#define DDSCAPS2_RESERVED2 0x00000040
-/* indicates surface will never be locked again */
-#define DDSCAPS2_OPAQUE 0x00000080
-/* set at CreateSurface() time to indicate antialising will be used */
-#define DDSCAPS2_HINTANTIALIASING 0x00000100
-/* set at CreateSurface() time to indicate cubic environment map */
-#define DDSCAPS2_CUBEMAP 0x00000200
-/* face flags for cube maps */
-#define DDSCAPS2_CUBEMAP_POSITIVEX 0x00000400
-#define DDSCAPS2_CUBEMAP_NEGATIVEX 0x00000800
-#define DDSCAPS2_CUBEMAP_POSITIVEY 0x00001000
-#define DDSCAPS2_CUBEMAP_NEGATIVEY 0x00002000
-#define DDSCAPS2_CUBEMAP_POSITIVEZ 0x00004000
-#define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000
-/* specifies all faces of a cube for CreateSurface() */
-#define DDSCAPS2_CUBEMAP_ALLFACES ( DDSCAPS2_CUBEMAP_POSITIVEX |\
- DDSCAPS2_CUBEMAP_NEGATIVEX |\
- DDSCAPS2_CUBEMAP_POSITIVEY |\
- DDSCAPS2_CUBEMAP_NEGATIVEY |\
- DDSCAPS2_CUBEMAP_POSITIVEZ |\
- DDSCAPS2_CUBEMAP_NEGATIVEZ )
-/* set for mipmap sublevels on DirectX7 and later. ignored by CreateSurface() */
-#define DDSCAPS2_MIPMAPSUBLEVEL 0x00010000
-/* indicates texture surface to be managed by Direct3D *only* */
-#define DDSCAPS2_D3DTEXTUREMANAGE 0x00020000
-/* indicates managed surface that can safely be lost */
-#define DDSCAPS2_DONOTPERSIST 0x00040000
-/* indicates surface is part of a stereo flipping chain */
-#define DDSCAPS2_STEREOSURFACELEFT 0x00080000
-
- typedef struct _DDSCAPS2 {
- DWORD dwCaps; /* capabilities of surface wanted */
- DWORD dwCaps2; /* additional capabilities */
- DWORD dwCaps3; /* reserved capabilities */
- DWORD dwCaps4; /* more reserved capabilities */
- } DDSCAPS2, *LPDDSCAPS2;
-
-#define DD_ROP_SPACE (256/32) /* space required to store ROP array */
-
- typedef struct _DDCAPS_DX7 { /* DirectX 7 version of caps struct */
- DWORD dwSize; /* size of the DDDRIVERCAPS structure */
- DWORD dwCaps; /* driver specific capabilities */
- DWORD dwCaps2; /* more driver specific capabilites */
- DWORD dwCKeyCaps; /* color key capabilities of the surface */
- DWORD dwFXCaps; /* driver specific stretching and effects capabilites */
- DWORD dwFXAlphaCaps; /* alpha driver specific capabilities */
- DWORD dwPalCaps; /* palette capabilities */
- DWORD dwSVCaps; /* stereo vision capabilities */
- DWORD dwAlphaBltConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaBltPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaBltSurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlayConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaOverlayPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlaySurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwZBufferBitDepths; /* DDBD_8,16,24,32 */
- DWORD dwVidMemTotal; /* total amount of video memory */
- DWORD dwVidMemFree; /* amount of free video memory */
- DWORD dwMaxVisibleOverlays; /* maximum number of visible overlays */
- DWORD dwCurrVisibleOverlays; /* current number of visible overlays */
- DWORD dwNumFourCCCodes; /* number of four cc codes */
- DWORD dwAlignBoundarySrc; /* source rectangle alignment */
- DWORD dwAlignSizeSrc; /* source rectangle byte size */
- DWORD dwAlignBoundaryDest; /* dest rectangle alignment */
- DWORD dwAlignSizeDest; /* dest rectangle byte size */
- DWORD dwAlignStrideAlign; /* stride alignment */
- DWORD dwRops[DD_ROP_SPACE]; /* ROPS supported */
- DDSCAPS ddsOldCaps; /* old DDSCAPS - superceded for DirectX6+ */
- DWORD dwMinOverlayStretch; /* minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxOverlayStretch; /* maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinLiveVideoStretch; /* minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxLiveVideoStretch; /* maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinHwCodecStretch; /* minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxHwCodecStretch; /* maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwSVBCaps; /* driver specific capabilities for System->Vmem blts */
- DWORD dwSVBCKeyCaps; /* driver color key capabilities for System->Vmem blts */
- DWORD dwSVBFXCaps; /* driver FX capabilities for System->Vmem blts */
- DWORD dwSVBRops[DD_ROP_SPACE]; /* ROPS supported for System->Vmem blts */
- DWORD dwVSBCaps; /* driver specific capabilities for Vmem->System blts */
- DWORD dwVSBCKeyCaps; /* driver color key capabilities for Vmem->System blts */
- DWORD dwVSBFXCaps; /* driver FX capabilities for Vmem->System blts */
- DWORD dwVSBRops[DD_ROP_SPACE]; /* ROPS supported for Vmem->System blts */
- DWORD dwSSBCaps; /* driver specific capabilities for System->System blts */
- DWORD dwSSBCKeyCaps; /* driver color key capabilities for System->System blts */
- DWORD dwSSBFXCaps; /* driver FX capabilities for System->System blts */
- DWORD dwSSBRops[DD_ROP_SPACE]; /* ROPS supported for System->System blts */
- DWORD dwMaxVideoPorts; /* maximum number of usable video ports */
- DWORD dwCurrVideoPorts; /* current number of video ports used */
- DWORD dwSVBCaps2; /* more driver specific capabilities for System->Vmem blts */
- DWORD dwNLVBCaps; /* driver specific capabilities for non-local->local vidmem blts */
- DWORD dwNLVBCaps2; /* more driver specific capabilities non-local->local vidmem blts */
- DWORD dwNLVBCKeyCaps; /* driver color key capabilities for non-local->local vidmem blts */
- DWORD dwNLVBFXCaps; /* driver FX capabilities for non-local->local blts */
- DWORD dwNLVBRops[DD_ROP_SPACE]; /* ROPS supported for non-local->local blts */
- DDSCAPS2 ddsCaps; /* surface capabilities */
- } DDCAPS_DX7, *LPDDCAPS_DX7;
-
- typedef struct _DDCAPS_DX6 { /* DirectX 6 version of caps struct */
- DWORD dwSize; /* size of the DDDRIVERCAPS structure */
- DWORD dwCaps; /* driver specific capabilities */
- DWORD dwCaps2; /* more driver specific capabilites */
- DWORD dwCKeyCaps; /* color key capabilities of the surface */
- DWORD dwFXCaps; /* driver specific stretching and effects capabilites */
- DWORD dwFXAlphaCaps; /* alpha driver specific capabilities */
- DWORD dwPalCaps; /* palette capabilities */
- DWORD dwSVCaps; /* stereo vision capabilities */
- DWORD dwAlphaBltConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaBltPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaBltSurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlayConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaOverlayPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlaySurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwZBufferBitDepths; /* DDBD_8,16,24,32 */
- DWORD dwVidMemTotal; /* total amount of video memory */
- DWORD dwVidMemFree; /* amount of free video memory */
- DWORD dwMaxVisibleOverlays; /* maximum number of visible overlays */
- DWORD dwCurrVisibleOverlays; /* current number of visible overlays */
- DWORD dwNumFourCCCodes; /* number of four cc codes */
- DWORD dwAlignBoundarySrc; /* source rectangle alignment */
- DWORD dwAlignSizeSrc; /* source rectangle byte size */
- DWORD dwAlignBoundaryDest; /* dest rectangle alignment */
- DWORD dwAlignSizeDest; /* dest rectangle byte size */
- DWORD dwAlignStrideAlign; /* stride alignment */
- DWORD dwRops[DD_ROP_SPACE]; /* ROPS supported */
- DDSCAPS ddsOldCaps; /* old DDSCAPS - superceded for DirectX6+ */
- DWORD dwMinOverlayStretch; /* minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxOverlayStretch; /* maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinLiveVideoStretch; /* minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxLiveVideoStretch; /* maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinHwCodecStretch; /* minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxHwCodecStretch; /* maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwSVBCaps; /* driver specific capabilities for System->Vmem blts */
- DWORD dwSVBCKeyCaps; /* driver color key capabilities for System->Vmem blts */
- DWORD dwSVBFXCaps; /* driver FX capabilities for System->Vmem blts */
- DWORD dwSVBRops[DD_ROP_SPACE]; /* ROPS supported for System->Vmem blts */
- DWORD dwVSBCaps; /* driver specific capabilities for Vmem->System blts */
- DWORD dwVSBCKeyCaps; /* driver color key capabilities for Vmem->System blts */
- DWORD dwVSBFXCaps; /* driver FX capabilities for Vmem->System blts */
- DWORD dwVSBRops[DD_ROP_SPACE]; /* ROPS supported for Vmem->System blts */
- DWORD dwSSBCaps; /* driver specific capabilities for System->System blts */
- DWORD dwSSBCKeyCaps; /* driver color key capabilities for System->System blts */
- DWORD dwSSBFXCaps; /* driver FX capabilities for System->System blts */
- DWORD dwSSBRops[DD_ROP_SPACE]; /* ROPS supported for System->System blts */
- DWORD dwMaxVideoPorts; /* maximum number of usable video ports */
- DWORD dwCurrVideoPorts; /* current number of video ports used */
- DWORD dwSVBCaps2; /* more driver specific capabilities for System->Vmem blts */
- DWORD dwNLVBCaps; /* driver specific capabilities for non-local->local vidmem blts */
- DWORD dwNLVBCaps2; /* more driver specific capabilities non-local->local vidmem blts */
- DWORD dwNLVBCKeyCaps; /* driver color key capabilities for non-local->local vidmem blts */
- DWORD dwNLVBFXCaps; /* driver FX capabilities for non-local->local blts */
- DWORD dwNLVBRops[DD_ROP_SPACE]; /* ROPS supported for non-local->local blts */
- /* and one new member for DirectX 6 */
- DDSCAPS2 ddsCaps; /* surface capabilities */
- } DDCAPS_DX6, *LPDDCAPS_DX6;
-
- typedef struct _DDCAPS_DX5 { /* DirectX5 version of caps struct */
- DWORD dwSize; /* size of the DDDRIVERCAPS structure */
- DWORD dwCaps; /* driver specific capabilities */
- DWORD dwCaps2; /* more driver specific capabilites */
- DWORD dwCKeyCaps; /* color key capabilities of the surface */
- DWORD dwFXCaps; /* driver specific stretching and effects capabilites */
- DWORD dwFXAlphaCaps; /* alpha driver specific capabilities */
- DWORD dwPalCaps; /* palette capabilities */
- DWORD dwSVCaps; /* stereo vision capabilities */
- DWORD dwAlphaBltConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaBltPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaBltSurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlayConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaOverlayPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlaySurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwZBufferBitDepths; /* DDBD_8,16,24,32 */
- DWORD dwVidMemTotal; /* total amount of video memory */
- DWORD dwVidMemFree; /* amount of free video memory */
- DWORD dwMaxVisibleOverlays; /* maximum number of visible overlays */
- DWORD dwCurrVisibleOverlays; /* current number of visible overlays */
- DWORD dwNumFourCCCodes; /* number of four cc codes */
- DWORD dwAlignBoundarySrc; /* source rectangle alignment */
- DWORD dwAlignSizeSrc; /* source rectangle byte size */
- DWORD dwAlignBoundaryDest; /* dest rectangle alignment */
- DWORD dwAlignSizeDest; /* dest rectangle byte size */
- DWORD dwAlignStrideAlign; /* stride alignment */
- DWORD dwRops[DD_ROP_SPACE]; /* ROPS supported */
- DDSCAPS ddsCaps; /* DDSCAPS structure has all the general capabilities */
- DWORD dwMinOverlayStretch; /* minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxOverlayStretch; /* maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinLiveVideoStretch; /* minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxLiveVideoStretch; /* maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinHwCodecStretch; /* minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxHwCodecStretch; /* maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwSVBCaps; /* driver specific capabilities for System->Vmem blts */
- DWORD dwSVBCKeyCaps; /* driver color key capabilities for System->Vmem blts */
- DWORD dwSVBFXCaps; /* driver FX capabilities for System->Vmem blts */
- DWORD dwSVBRops[DD_ROP_SPACE]; /* ROPS supported for System->Vmem blts */
- DWORD dwVSBCaps; /* driver specific capabilities for Vmem->System blts */
- DWORD dwVSBCKeyCaps; /* driver color key capabilities for Vmem->System blts */
- DWORD dwVSBFXCaps; /* driver FX capabilities for Vmem->System blts */
- DWORD dwVSBRops[DD_ROP_SPACE]; /* ROPS supported for Vmem->System blts */
- DWORD dwSSBCaps; /* driver specific capabilities for System->System blts */
- DWORD dwSSBCKeyCaps; /* driver color key capabilities for System->System blts */
- DWORD dwSSBFXCaps; /* driver FX capabilities for System->System blts */
- DWORD dwSSBRops[DD_ROP_SPACE]; /* ROPS supported for System->System blts */
- /* the following are the new DirectX 5 members */
- DWORD dwMaxVideoPorts; /* maximum number of usable video ports */
- DWORD dwCurrVideoPorts; /* current number of video ports used */
- DWORD dwSVBCaps2; /* more driver specific capabilities for System->Vmem blts */
- DWORD dwNLVBCaps; /* driver specific capabilities for non-local->local vidmem blts */
- DWORD dwNLVBCaps2; /* more driver specific capabilities non-local->local vidmem blts */
- DWORD dwNLVBCKeyCaps; /* driver color key capabilities for non-local->local vidmem blts */
- DWORD dwNLVBFXCaps; /* driver FX capabilities for non-local->local blts */
- DWORD dwNLVBRops[DD_ROP_SPACE]; /* ROPS supported for non-local->local blts */
- } DDCAPS_DX5, *LPDDCAPS_DX5;
-
- typedef struct _DDCAPS_DX3 { /* DirectX3 version of caps struct */
- DWORD dwSize; /* size of the DDDRIVERCAPS structure */
- DWORD dwCaps; /* driver specific capabilities */
- DWORD dwCaps2; /* more driver specific capabilites */
- DWORD dwCKeyCaps; /* color key capabilities of the surface */
- DWORD dwFXCaps; /* driver specific stretching and effects capabilites */
- DWORD dwFXAlphaCaps; /* alpha driver specific capabilities */
- DWORD dwPalCaps; /* palette capabilities */
- DWORD dwSVCaps; /* stereo vision capabilities */
- DWORD dwAlphaBltConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaBltPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaBltSurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlayConstBitDepths; /* DDBD_2,4,8 */
- DWORD dwAlphaOverlayPixelBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwAlphaOverlaySurfaceBitDepths; /* DDBD_1,2,4,8 */
- DWORD dwZBufferBitDepths; /* DDBD_8,16,24,32 */
- DWORD dwVidMemTotal; /* total amount of video memory */
- DWORD dwVidMemFree; /* amount of free video memory */
- DWORD dwMaxVisibleOverlays; /* maximum number of visible overlays */
- DWORD dwCurrVisibleOverlays; /* current number of visible overlays */
- DWORD dwNumFourCCCodes; /* number of four cc codes */
- DWORD dwAlignBoundarySrc; /* source rectangle alignment */
- DWORD dwAlignSizeSrc; /* source rectangle byte size */
- DWORD dwAlignBoundaryDest; /* dest rectangle alignment */
- DWORD dwAlignSizeDest; /* dest rectangle byte size */
- DWORD dwAlignStrideAlign; /* stride alignment */
- DWORD dwRops[DD_ROP_SPACE]; /* ROPS supported */
- DDSCAPS ddsCaps; /* DDSCAPS structure has all the general capabilities */
- DWORD dwMinOverlayStretch; /* minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxOverlayStretch; /* maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinLiveVideoStretch; /* minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxLiveVideoStretch; /* maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMinHwCodecStretch; /* minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwMaxHwCodecStretch; /* maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3 */
- DWORD dwReserved1;
- DWORD dwReserved2;
- DWORD dwReserved3;
- DWORD dwSVBCaps; /* driver specific capabilities for System->Vmem blts */
- DWORD dwSVBCKeyCaps; /* driver color key capabilities for System->Vmem blts */
- DWORD dwSVBFXCaps; /* driver FX capabilities for System->Vmem blts */
- DWORD dwSVBRops[DD_ROP_SPACE]; /* ROPS supported for System->Vmem blts */
- DWORD dwVSBCaps; /* driver specific capabilities for Vmem->System blts */
- DWORD dwVSBCKeyCaps; /* driver color key capabilities for Vmem->System blts */
- DWORD dwVSBFXCaps; /* driver FX capabilities for Vmem->System blts */
- DWORD dwVSBRops[DD_ROP_SPACE]; /* ROPS supported for Vmem->System blts */
- DWORD dwSSBCaps; /* driver specific capabilities for System->System blts */
- DWORD dwSSBCKeyCaps; /* driver color key capabilities for System->System blts */
- DWORD dwSSBFXCaps; /* driver FX capabilities for System->System blts */
- DWORD dwSSBRops[DD_ROP_SPACE]; /* ROPS supported for System->System blts */
- DWORD dwReserved4;
- DWORD dwReserved5;
- DWORD dwReserved6;
- } DDCAPS_DX3, *LPDDCAPS_DX3;
-
-/* set caps struct according to DIRECTDRAW_VERSION */
-
-#if DIRECTDRAW_VERSION <= 0x300
- typedef DDCAPS_DX3 DDCAPS;
-#elif DIRECTDRAW_VERSION <= 0x500
- typedef DDCAPS_DX5 DDCAPS;
-#elif DIRECTDRAW_VERSION <= 0x600
- typedef DDCAPS_DX6 DDCAPS;
-#else
- typedef DDCAPS_DX7 DDCAPS;
-#endif
-
- typedef DDCAPS *LPDDCAPS;
-
-/* DDCAPS.dwCaps */
-#define DDCAPS_3D 0x00000001
-#define DDCAPS_ALIGNBOUNDARYDEST 0x00000002
-#define DDCAPS_ALIGNSIZEDEST 0x00000004
-#define DDCAPS_ALIGNBOUNDARYSRC 0x00000008
-#define DDCAPS_ALIGNSIZESRC 0x00000010
-#define DDCAPS_ALIGNSTRIDE 0x00000020
-#define DDCAPS_BLT 0x00000040
-#define DDCAPS_BLTQUEUE 0x00000080
-#define DDCAPS_BLTFOURCC 0x00000100
-#define DDCAPS_BLTSTRETCH 0x00000200
-#define DDCAPS_GDI 0x00000400
-#define DDCAPS_OVERLAY 0x00000800
-#define DDCAPS_OVERLAYCANTCLIP 0x00001000
-#define DDCAPS_OVERLAYFOURCC 0x00002000
-#define DDCAPS_OVERLAYSTRETCH 0x00004000
-#define DDCAPS_PALETTE 0x00008000
-#define DDCAPS_PALETTEVSYNC 0x00010000
-#define DDCAPS_READSCANLINE 0x00020000
-#define DDCAPS_STEREOVIEW 0x00040000
-#define DDCAPS_VBI 0x00080000
-#define DDCAPS_ZBLTS 0x00100000
-#define DDCAPS_ZOVERLAYS 0x00200000
-#define DDCAPS_COLORKEY 0x00400000
-#define DDCAPS_ALPHA 0x00800000
-#define DDCAPS_COLORKEYHWASSIST 0x01000000
-#define DDCAPS_NOHARDWARE 0x02000000
-#define DDCAPS_BLTCOLORFILL 0x04000000
-#define DDCAPS_BANKSWITCHED 0x08000000
-#define DDCAPS_BLTDEPTHFILL 0x10000000
-#define DDCAPS_CANCLIP 0x20000000
-#define DDCAPS_CANCLIPSTRETCHED 0x40000000
-#define DDCAPS_CANBLTSYSMEM 0x80000000
-
-/* DDCAPS.dwCaps2 */
-#define DDCAPS2_CERTIFIED 0x00000001
-#define DDCAPS2_NO2DDURING3DSCENE 0x00000002
-#define DDCAPS2_VIDEOPORT 0x00000004
-#define DDCAPS2_AUTOFLIPOVERLAY 0x00000008
-#define DDCAPS2_CANBOBINTERLEAVED 0x00000010
-#define DDCAPS2_CANBOBNONINTERLEAVED 0x00000020
-#define DDCAPS2_COLORCONTROLOVERLAY 0x00000040
-#define DDCAPS2_COLORCONTROLPRIMARY 0x00000080
-#define DDCAPS2_CANDROPZ16BIT 0x00000100
-#define DDCAPS2_NONLOCALVIDMEM 0x00000200
-#define DDCAPS2_NONLOCALVIDMEMCAPS 0x00000400
-#define DDCAPS2_NOPAGELOCKREQUIRED 0x00000800
-#define DDCAPS2_WIDESURFACES 0x00001000
-#define DDCAPS2_CANFLIPODDEVEN 0x00002000
-#define DDCAPS2_CANBOBHARDWARE 0x00004000
-#define DDCAPS2_COPYFOURCC 0x00008000
-#define DDCAPS2_PRIMARYGAMMA 0x00020000
-#define DDCAPS2_CANRENDERWINDOWED 0x00080000
-#define DDCAPS2_CANCALIBRATEGAMMA 0x00100000
-#define DDCAPS2_FLIPINTERVAL 0x00200000
-#define DDCAPS2_FLIPNOVSYNC 0x00400000
-#define DDCAPS2_CANMANAGETEXTURE 0x00800000
-#define DDCAPS2_TEXMANINNONLOCALVIDMEM 0x01000000
-#define DDCAPS2_STEREO 0x02000000
-#define DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL 0x04000000
-
-/* Set/Get Colour Key Flags */
-#define DDCKEY_COLORSPACE 0x00000001 /* Struct is single colour space */
-#define DDCKEY_DESTBLT 0x00000002 /* To be used as dest for blt */
-#define DDCKEY_DESTOVERLAY 0x00000004 /* To be used as dest for CK overlays */
-#define DDCKEY_SRCBLT 0x00000008 /* To be used as src for blt */
-#define DDCKEY_SRCOVERLAY 0x00000010 /* To be used as src for CK overlays */
-
- typedef struct _DDCOLORKEY {
- DWORD dwColorSpaceLowValue; /* low boundary of color space that is to
- * be treated as Color Key, inclusive
- */
- DWORD dwColorSpaceHighValue; /* high boundary of color space that is
- * to be treated as Color Key, inclusive
- */
- } DDCOLORKEY, *LPDDCOLORKEY;
-
-/* ddCKEYCAPS bits */
-#define DDCKEYCAPS_DESTBLT 0x00000001
-#define DDCKEYCAPS_DESTBLTCLRSPACE 0x00000002
-#define DDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004
-#define DDCKEYCAPS_DESTBLTYUV 0x00000008
-#define DDCKEYCAPS_DESTOVERLAY 0x00000010
-#define DDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020
-#define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040
-#define DDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080
-#define DDCKEYCAPS_DESTOVERLAYYUV 0x00000100
-#define DDCKEYCAPS_SRCBLT 0x00000200
-#define DDCKEYCAPS_SRCBLTCLRSPACE 0x00000400
-#define DDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800
-#define DDCKEYCAPS_SRCBLTYUV 0x00001000
-#define DDCKEYCAPS_SRCOVERLAY 0x00002000
-#define DDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000
-#define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000
-#define DDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000
-#define DDCKEYCAPS_SRCOVERLAYYUV 0x00020000
-#define DDCKEYCAPS_NOCOSTOVERLAY 0x00040000
-
- typedef struct _DDPIXELFORMAT {
- DWORD dwSize; /* 0: size of structure */
- DWORD dwFlags; /* 4: pixel format flags */
- DWORD dwFourCC; /* 8: (FOURCC code) */
- union {
- DWORD dwRGBBitCount; /* C: how many bits per pixel */
- DWORD dwYUVBitCount; /* C: how many bits per pixel */
- DWORD dwZBufferBitDepth; /* C: how many bits for z buffers */
- DWORD dwAlphaBitDepth; /* C: how many bits for alpha channels */
- DWORD dwLuminanceBitCount;
- DWORD dwBumpBitCount;
- } DUMMYUNIONNAME1;
- union {
- DWORD dwRBitMask; /* 10: mask for red bit */
- DWORD dwYBitMask; /* 10: mask for Y bits */
- DWORD dwStencilBitDepth;
- DWORD dwLuminanceBitMask;
- DWORD dwBumpDuBitMask;
- } DUMMYUNIONNAME2;
- union {
- DWORD dwGBitMask; /* 14: mask for green bits */
- DWORD dwUBitMask; /* 14: mask for U bits */
- DWORD dwZBitMask;
- DWORD dwBumpDvBitMask;
- } DUMMYUNIONNAME3;
- union {
- DWORD dwBBitMask; /* 18: mask for blue bits */
- DWORD dwVBitMask; /* 18: mask for V bits */
- DWORD dwStencilBitMask;
- DWORD dwBumpLuminanceBitMask;
- } DUMMYUNIONNAME4;
- union {
- DWORD dwRGBAlphaBitMask; /* 1C: mask for alpha channel */
- DWORD dwYUVAlphaBitMask; /* 1C: mask for alpha channel */
- DWORD dwLuminanceAlphaBitMask;
- DWORD dwRGBZBitMask; /* 1C: mask for Z channel */
- DWORD dwYUVZBitMask; /* 1C: mask for Z channel */
- } DUMMYUNIONNAME5;
- /* 20: next structure */
- } DDPIXELFORMAT, *LPDDPIXELFORMAT;
-
-/* DDCAPS.dwFXCaps */
-#define DDFXCAPS_BLTALPHA 0x00000001
-#define DDFXCAPS_OVERLAYALPHA 0x00000004
-#define DDFXCAPS_BLTARITHSTRETCHYN 0x00000010
-#define DDFXCAPS_BLTARITHSTRETCHY 0x00000020
-#define DDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040
-#define DDFXCAPS_BLTMIRRORUPDOWN 0x00000080
-#define DDFXCAPS_BLTROTATION 0x00000100
-#define DDFXCAPS_BLTROTATION90 0x00000200
-#define DDFXCAPS_BLTSHRINKX 0x00000400
-#define DDFXCAPS_BLTSHRINKXN 0x00000800
-#define DDFXCAPS_BLTSHRINKY 0x00001000
-#define DDFXCAPS_BLTSHRINKYN 0x00002000
-#define DDFXCAPS_BLTSTRETCHX 0x00004000
-#define DDFXCAPS_BLTSTRETCHXN 0x00008000
-#define DDFXCAPS_BLTSTRETCHY 0x00010000
-#define DDFXCAPS_BLTSTRETCHYN 0x00020000
-#define DDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000
-#define DDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008
-#define DDFXCAPS_OVERLAYSHRINKX 0x00080000
-#define DDFXCAPS_OVERLAYSHRINKXN 0x00100000
-#define DDFXCAPS_OVERLAYSHRINKY 0x00200000
-#define DDFXCAPS_OVERLAYSHRINKYN 0x00400000
-#define DDFXCAPS_OVERLAYSTRETCHX 0x00800000
-#define DDFXCAPS_OVERLAYSTRETCHXN 0x01000000
-#define DDFXCAPS_OVERLAYSTRETCHY 0x02000000
-#define DDFXCAPS_OVERLAYSTRETCHYN 0x04000000
-#define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000
-#define DDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000
-
-#define DDFXCAPS_OVERLAYFILTER DDFXCAPS_OVERLAYARITHSTRETCHY
-
-/* DDCAPS.dwFXAlphaCaps */
-#define DDFXALPHACAPS_BLTALPHAEDGEBLEND 0x00000001
-#define DDFXALPHACAPS_BLTALPHAPIXELS 0x00000002
-#define DDFXALPHACAPS_BLTALPHAPIXELSNEG 0x00000004
-#define DDFXALPHACAPS_BLTALPHASURFACES 0x00000008
-#define DDFXALPHACAPS_BLTALPHASURFACESNEG 0x00000010
-#define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND 0x00000020
-#define DDFXALPHACAPS_OVERLAYALPHAPIXELS 0x00000040
-#define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG 0x00000080
-#define DDFXALPHACAPS_OVERLAYALPHASURFACES 0x00000100
-#define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG 0x00000200
-
-/* DDCAPS.dwPalCaps */
-#define DDPCAPS_4BIT 0x00000001
-#define DDPCAPS_8BITENTRIES 0x00000002
-#define DDPCAPS_8BIT 0x00000004
-#define DDPCAPS_INITIALIZE 0x00000008
-#define DDPCAPS_PRIMARYSURFACE 0x00000010
-#define DDPCAPS_PRIMARYSURFACELEFT 0x00000020
-#define DDPCAPS_ALLOW256 0x00000040
-#define DDPCAPS_VSYNC 0x00000080
-#define DDPCAPS_1BIT 0x00000100
-#define DDPCAPS_2BIT 0x00000200
-#define DDPCAPS_ALPHA 0x00000400
-
-/* DDCAPS.dwSVCaps */
-/* the first 4 of these are now obsolete */
-#if DIRECTDRAW_VERSION >= 0x700 /* FIXME: I'm not sure when this switch occured */
-#define DDSVCAPS_RESERVED1 0x00000001
-#define DDSVCAPS_RESERVED2 0x00000002
-#define DDSVCAPS_RESERVED3 0x00000004
-#define DDSVCAPS_RESERVED4 0x00000008
-#else
-#define DDSVCAPS_ENIGMA 0x00000001
-#define DDSVCAPS_FLICKER 0x00000002
-#define DDSVCAPS_REDBLUE 0x00000004
-#define DDSVCAPS_SPLIT 0x00000008
-#endif
-#define DDSVCAPS_STEREOSEQUENTIAL 0x00000010
-
-/* BitDepths */
-#define DDBD_1 0x00004000
-#define DDBD_2 0x00002000
-#define DDBD_4 0x00001000
-#define DDBD_8 0x00000800
-#define DDBD_16 0x00000400
-#define DDBD_24 0x00000200
-#define DDBD_32 0x00000100
-
-/* DDOVERLAYFX.dwDDFX */
-#define DDOVERFX_ARITHSTRETCHY 0x00000001
-#define DDOVERFX_MIRRORLEFTRIGHT 0x00000002
-#define DDOVERFX_MIRRORUPDOWN 0x00000004
-
-/* UpdateOverlay flags */
-#define DDOVER_ALPHADEST 0x00000001
-#define DDOVER_ALPHADESTCONSTOVERRIDE 0x00000002
-#define DDOVER_ALPHADESTNEG 0x00000004
-#define DDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008
-#define DDOVER_ALPHAEDGEBLEND 0x00000010
-#define DDOVER_ALPHASRC 0x00000020
-#define DDOVER_ALPHASRCCONSTOVERRIDE 0x00000040
-#define DDOVER_ALPHASRCNEG 0x00000080
-#define DDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100
-#define DDOVER_HIDE 0x00000200
-#define DDOVER_KEYDEST 0x00000400
-#define DDOVER_KEYDESTOVERRIDE 0x00000800
-#define DDOVER_KEYSRC 0x00001000
-#define DDOVER_KEYSRCOVERRIDE 0x00002000
-#define DDOVER_SHOW 0x00004000
-#define DDOVER_ADDDIRTYRECT 0x00008000
-#define DDOVER_REFRESHDIRTYRECTS 0x00010000
-#define DDOVER_REFRESHALL 0x00020000
-#define DDOVER_DDFX 0x00080000
-#define DDOVER_AUTOFLIP 0x00100000
-#define DDOVER_BOB 0x00200000
-#define DDOVER_OVERRIDEBOBWEAVE 0x00400000
-#define DDOVER_INTERLEAVED 0x00800000
-
-/* DDCOLORKEY.dwFlags */
-#define DDPF_ALPHAPIXELS 0x00000001
-#define DDPF_ALPHA 0x00000002
-#define DDPF_FOURCC 0x00000004
-#define DDPF_PALETTEINDEXED4 0x00000008
-#define DDPF_PALETTEINDEXEDTO8 0x00000010
-#define DDPF_PALETTEINDEXED8 0x00000020
-#define DDPF_RGB 0x00000040
-#define DDPF_COMPRESSED 0x00000080
-#define DDPF_RGBTOYUV 0x00000100
-#define DDPF_YUV 0x00000200
-#define DDPF_ZBUFFER 0x00000400
-#define DDPF_PALETTEINDEXED1 0x00000800
-#define DDPF_PALETTEINDEXED2 0x00001000
-#define DDPF_ZPIXELS 0x00002000
-#define DDPF_STENCILBUFFER 0x00004000
-#define DDPF_ALPHAPREMULT 0x00008000
-#define DDPF_LUMINANCE 0x00020000
-#define DDPF_BUMPLUMINANCE 0x00040000
-#define DDPF_BUMPDUDV 0x00080000
-
-/* SetCooperativeLevel dwFlags */
-#define DDSCL_FULLSCREEN 0x00000001
-#define DDSCL_ALLOWREBOOT 0x00000002
-#define DDSCL_NOWINDOWCHANGES 0x00000004
-#define DDSCL_NORMAL 0x00000008
-#define DDSCL_EXCLUSIVE 0x00000010
-#define DDSCL_ALLOWMODEX 0x00000040
-#define DDSCL_SETFOCUSWINDOW 0x00000080
-#define DDSCL_SETDEVICEWINDOW 0x00000100
-#define DDSCL_CREATEDEVICEWINDOW 0x00000200
-#define DDSCL_MULTITHREADED 0x00000400
-#define DDSCL_FPUSETUP 0x00000800
-#define DDSCL_FPUPRESERVE 0x00001000
-
-/* DDSURFACEDESC.dwFlags */
-#define DDSD_CAPS 0x00000001
-#define DDSD_HEIGHT 0x00000002
-#define DDSD_WIDTH 0x00000004
-#define DDSD_PITCH 0x00000008
-#define DDSD_BACKBUFFERCOUNT 0x00000020
-#define DDSD_ZBUFFERBITDEPTH 0x00000040
-#define DDSD_ALPHABITDEPTH 0x00000080
-#define DDSD_LPSURFACE 0x00000800
-#define DDSD_PIXELFORMAT 0x00001000
-#define DDSD_CKDESTOVERLAY 0x00002000
-#define DDSD_CKDESTBLT 0x00004000
-#define DDSD_CKSRCOVERLAY 0x00008000
-#define DDSD_CKSRCBLT 0x00010000
-#define DDSD_MIPMAPCOUNT 0x00020000
-#define DDSD_REFRESHRATE 0x00040000
-#define DDSD_LINEARSIZE 0x00080000
-#define DDSD_TEXTURESTAGE 0x00100000
-#define DDSD_FVF 0x00200000
-#define DDSD_SRCVBHANDLE 0x00400000
-#define DDSD_ALL 0x007ff9ee
-
-/* EnumSurfaces flags */
-#define DDENUMSURFACES_ALL 0x00000001
-#define DDENUMSURFACES_MATCH 0x00000002
-#define DDENUMSURFACES_NOMATCH 0x00000004
-#define DDENUMSURFACES_CANBECREATED 0x00000008
-#define DDENUMSURFACES_DOESEXIST 0x00000010
-
-/* SetDisplayMode flags */
-#define DDSDM_STANDARDVGAMODE 0x00000001
-
-/* EnumDisplayModes flags */
-#define DDEDM_REFRESHRATES 0x00000001
-#define DDEDM_STANDARDVGAMODES 0x00000002
-
-/* WaitForVerticalDisplay flags */
-
-#define DDWAITVB_BLOCKBEGIN 0x00000001
-#define DDWAITVB_BLOCKBEGINEVENT 0x00000002
-#define DDWAITVB_BLOCKEND 0x00000004
-
- typedef struct _DDSURFACEDESC {
- DWORD dwSize; /* 0: size of the DDSURFACEDESC structure */
- DWORD dwFlags; /* 4: determines what fields are valid */
- DWORD dwHeight; /* 8: height of surface to be created */
- DWORD dwWidth; /* C: width of input surface */
- union {
- LONG lPitch; /* 10: distance to start of next line (return value only) */
- DWORD dwLinearSize;
- } DUMMYUNIONNAME1;
- DWORD dwBackBufferCount; /* 14: number of back buffers requested */
- union {
- DWORD dwMipMapCount; /* 18:number of mip-map levels requested */
- DWORD dwZBufferBitDepth; /*18: depth of Z buffer requested */
- DWORD dwRefreshRate; /* 18:refresh rate (used when display mode is described) */
- } DUMMYUNIONNAME2;
- DWORD dwAlphaBitDepth; /* 1C:depth of alpha buffer requested */
- DWORD dwReserved; /* 20:reserved */
- LPVOID lpSurface; /* 24:pointer to the associated surface memory */
- DDCOLORKEY ddckCKDestOverlay; /* 28: CK for dest overlay use */
- DDCOLORKEY ddckCKDestBlt; /* 30: CK for destination blt use */
- DDCOLORKEY ddckCKSrcOverlay; /* 38: CK for source overlay use */
- DDCOLORKEY ddckCKSrcBlt; /* 40: CK for source blt use */
- DDPIXELFORMAT ddpfPixelFormat; /* 48: pixel format description of the surface */
- DDSCAPS ddsCaps; /* 68: direct draw surface caps */
- } DDSURFACEDESC, *LPDDSURFACEDESC;
-
- typedef struct _DDSURFACEDESC2 {
- DWORD dwSize; /* 0: size of the DDSURFACEDESC structure */
- DWORD dwFlags; /* 4: determines what fields are valid */
- DWORD dwHeight; /* 8: height of surface to be created */
- DWORD dwWidth; /* C: width of input surface */
- union {
- LONG lPitch; /*10: distance to start of next line (return value only) */
- DWORD dwLinearSize; /*10: formless late-allocated optimized surface size */
- } DUMMYUNIONNAME1;
- DWORD dwBackBufferCount; /* 14: number of back buffers requested */
- union {
- DWORD dwMipMapCount; /* 18:number of mip-map levels requested */
- DWORD dwRefreshRate; /* 18:refresh rate (used when display mode is described) */
- DWORD dwSrcVBHandle; /* 18:source used in VB::Optimize */
- } DUMMYUNIONNAME2;
- DWORD dwAlphaBitDepth; /* 1C:depth of alpha buffer requested */
- DWORD dwReserved; /* 20:reserved */
- LPVOID lpSurface; /* 24:pointer to the associated surface memory */
- union {
- DDCOLORKEY ddckCKDestOverlay; /* 28: CK for dest overlay use */
- DWORD dwEmptyFaceColor; /* 28: color for empty cubemap faces */
- } DUMMYUNIONNAME3;
- DDCOLORKEY ddckCKDestBlt; /* 30: CK for destination blt use */
- DDCOLORKEY ddckCKSrcOverlay; /* 38: CK for source overlay use */
- DDCOLORKEY ddckCKSrcBlt; /* 40: CK for source blt use */
-
- union {
- DDPIXELFORMAT ddpfPixelFormat; /* 48: pixel format description of the surface */
- DWORD dwFVF; /* 48: vertex format description of vertex buffers */
- } DUMMYUNIONNAME4;
- DDSCAPS2 ddsCaps; /* 68: DDraw surface caps */
- DWORD dwTextureStage; /* 78: stage in multitexture cascade */
- } DDSURFACEDESC2, *LPDDSURFACEDESC2;
-
-/* DDCOLORCONTROL.dwFlags */
-#define DDCOLOR_BRIGHTNESS 0x00000001
-#define DDCOLOR_CONTRAST 0x00000002
-#define DDCOLOR_HUE 0x00000004
-#define DDCOLOR_SATURATION 0x00000008
-#define DDCOLOR_SHARPNESS 0x00000010
-#define DDCOLOR_GAMMA 0x00000020
-#define DDCOLOR_COLORENABLE 0x00000040
-
- typedef struct {
- DWORD dwSize;
- DWORD dwFlags;
- LONG lBrightness;
- LONG lContrast;
- LONG lHue;
- LONG lSaturation;
- LONG lSharpness;
- LONG lGamma;
- LONG lColorEnable;
- DWORD dwReserved1;
- } DDCOLORCONTROL, *LPDDCOLORCONTROL;
-
- typedef struct {
- WORD red[256];
- WORD green[256];
- WORD blue[256];
- } DDGAMMARAMP, *LPDDGAMMARAMP;
-
- typedef BOOL CALLBACK(*LPDDENUMCALLBACKA) (GUID *, LPSTR, LPSTR, LPVOID);
- typedef BOOL CALLBACK(*LPDDENUMCALLBACKW) (GUID *, LPWSTR, LPWSTR, LPVOID);
- DECL_WINELIB_TYPE_AW(LPDDENUMCALLBACK)
-
- typedef HRESULT CALLBACK(*LPDDENUMMODESCALLBACK) (LPDDSURFACEDESC, LPVOID);
- typedef HRESULT CALLBACK(*LPDDENUMMODESCALLBACK2) (LPDDSURFACEDESC2,
- LPVOID);
- typedef HRESULT CALLBACK(*LPDDENUMSURFACESCALLBACK) (LPDIRECTDRAWSURFACE,
- LPDDSURFACEDESC,
- LPVOID);
- typedef HRESULT CALLBACK(*LPDDENUMSURFACESCALLBACK2) (LPDIRECTDRAWSURFACE4,
- LPDDSURFACEDESC2,
- LPVOID);
- typedef HRESULT CALLBACK(*LPDDENUMSURFACESCALLBACK7) (LPDIRECTDRAWSURFACE7,
- LPDDSURFACEDESC2,
- LPVOID);
-
- typedef BOOL CALLBACK(*LPDDENUMCALLBACKEXA) (GUID *, LPSTR, LPSTR, LPVOID,
- HMONITOR);
- typedef BOOL CALLBACK(*LPDDENUMCALLBACKEXW) (GUID *, LPWSTR, LPWSTR, LPVOID,
- HMONITOR);
- DECL_WINELIB_TYPE_AW(LPDDENUMCALLBACKEX)
-
- HRESULT WINAPI DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA lpCallback,
- LPVOID lpContext, DWORD dwFlags);
- HRESULT WINAPI DirectDrawEnumerateExW(LPDDENUMCALLBACKEXW lpCallback,
- LPVOID lpContext, DWORD dwFlags);
-#define DirectDrawEnumerateEx WINELIB_NAME_AW(DirectDrawEnumerateEx)
-
-/* flags for DirectDrawEnumerateEx */
-#define DDENUM_ATTACHEDSECONDARYDEVICES 0x00000001
-#define DDENUM_DETACHEDSECONDARYDEVICES 0x00000002
-#define DDENUM_NONDISPLAYDEVICES 0x00000004
-
-/* flags for DirectDrawCreate or IDirectDraw::Initialize */
-#define DDCREATE_HARDWAREONLY 1L
-#define DDCREATE_EMULATIONONLY 2L
-
- typedef struct _DDBLTFX {
- DWORD dwSize; /* size of structure */
- DWORD dwDDFX; /* FX operations */
- DWORD dwROP; /* Win32 raster operations */
- DWORD dwDDROP; /* Raster operations new for DirectDraw */
- DWORD dwRotationAngle; /* Rotation angle for blt */
- DWORD dwZBufferOpCode; /* ZBuffer compares */
- DWORD dwZBufferLow; /* Low limit of Z buffer */
- DWORD dwZBufferHigh; /* High limit of Z buffer */
- DWORD dwZBufferBaseDest; /* Destination base value */
- DWORD dwZDestConstBitDepth; /* Bit depth used to specify Z constant for destination */
- union {
- DWORD dwZDestConst; /* Constant to use as Z buffer for dest */
- LPDIRECTDRAWSURFACE lpDDSZBufferDest; /* Surface to use as Z buffer for dest */
- } DUMMYUNIONNAME1;
- DWORD dwZSrcConstBitDepth; /* Bit depth used to specify Z constant for source */
- union {
- DWORD dwZSrcConst; /* Constant to use as Z buffer for src */
- LPDIRECTDRAWSURFACE lpDDSZBufferSrc; /* Surface to use as Z buffer for src */
- } DUMMYUNIONNAME2;
- DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
- DWORD dwAlphaEdgeBlend; /* Alpha for edge blending */
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
- union {
- DWORD dwAlphaDestConst; /* Constant to use as Alpha Channel */
- LPDIRECTDRAWSURFACE lpDDSAlphaDest; /* Surface to use as Alpha Channel */
- } DUMMYUNIONNAME3;
- DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
- union {
- DWORD dwAlphaSrcConst; /* Constant to use as Alpha Channel */
- LPDIRECTDRAWSURFACE lpDDSAlphaSrc; /* Surface to use as Alpha Channel */
- } DUMMYUNIONNAME4;
- union {
- DWORD dwFillColor; /* color in RGB or Palettized */
- DWORD dwFillDepth; /* depth value for z-buffer */
- DWORD dwFillPixel; /* pixel val for RGBA or RGBZ */
- LPDIRECTDRAWSURFACE lpDDSPattern; /* Surface to use as pattern */
- } DUMMYUNIONNAME5;
- DDCOLORKEY ddckDestColorkey; /* DestColorkey override */
- DDCOLORKEY ddckSrcColorkey; /* SrcColorkey override */
- } DDBLTFX, *LPDDBLTFX;
-
-/* dwDDFX */
-/* arithmetic stretching along y axis */
-#define DDBLTFX_ARITHSTRETCHY 0x00000001
-/* mirror on y axis */
-#define DDBLTFX_MIRRORLEFTRIGHT 0x00000002
-/* mirror on x axis */
-#define DDBLTFX_MIRRORUPDOWN 0x00000004
-/* do not tear */
-#define DDBLTFX_NOTEARING 0x00000008
-/* 180 degrees clockwise rotation */
-#define DDBLTFX_ROTATE180 0x00000010
-/* 270 degrees clockwise rotation */
-#define DDBLTFX_ROTATE270 0x00000020
-/* 90 degrees clockwise rotation */
-#define DDBLTFX_ROTATE90 0x00000040
-/* dwZBufferLow and dwZBufferHigh specify limits to the copied Z values */
-#define DDBLTFX_ZBUFFERRANGE 0x00000080
-/* add dwZBufferBaseDest to every source z value before compare */
-#define DDBLTFX_ZBUFFERBASEDEST 0x00000100
-
- typedef struct _DDOVERLAYFX {
- DWORD dwSize; /* size of structure */
- DWORD dwAlphaEdgeBlendBitDepth; /* Bit depth used to specify constant for alpha edge blend */
- DWORD dwAlphaEdgeBlend; /* Constant to use as alpha for edge blend */
- DWORD dwReserved;
- DWORD dwAlphaDestConstBitDepth; /* Bit depth used to specify alpha constant for destination */
- union {
- DWORD dwAlphaDestConst; /* Constant to use as alpha channel for dest */
- LPDIRECTDRAWSURFACE lpDDSAlphaDest; /* Surface to use as alpha channel for dest */
- } DUMMYUNIONNAME1;
- DWORD dwAlphaSrcConstBitDepth; /* Bit depth used to specify alpha constant for source */
- union {
- DWORD dwAlphaSrcConst; /* Constant to use as alpha channel for src */
- LPDIRECTDRAWSURFACE lpDDSAlphaSrc; /* Surface to use as alpha channel for src */
- } DUMMYUNIONNAME2;
- DDCOLORKEY dckDestColorkey; /* DestColorkey override */
- DDCOLORKEY dckSrcColorkey; /* DestColorkey override */
- DWORD dwDDFX; /* Overlay FX */
- DWORD dwFlags; /* flags */
- } DDOVERLAYFX, *LPDDOVERLAYFX;
-
- typedef struct _DDBLTBATCH {
- LPRECT lprDest;
- LPDIRECTDRAWSURFACE lpDDSSrc;
- LPRECT lprSrc;
- DWORD dwFlags;
- LPDDBLTFX lpDDBltFx;
- } DDBLTBATCH, *LPDDBLTBATCH;
-
-#define MAX_DDDEVICEID_STRING 512
-
- typedef struct tagDDDEVICEIDENTIFIER {
- char szDriver[MAX_DDDEVICEID_STRING];
- char szDescription[MAX_DDDEVICEID_STRING];
- LARGE_INTEGER liDriverVersion;
- DWORD dwVendorId;
- DWORD dwDeviceId;
- DWORD dwSubSysId;
- DWORD dwRevision;
- GUID guidDeviceIdentifier;
- } DDDEVICEIDENTIFIER, *LPDDDEVICEIDENTIFIER;
-
- typedef struct tagDDDEVICEIDENTIFIER2 {
- char szDriver[MAX_DDDEVICEID_STRING]; /* user readable driver name */
- char szDescription[MAX_DDDEVICEID_STRING]; /* user readable description */
- LARGE_INTEGER liDriverVersion; /* driver version */
- DWORD dwVendorId; /* vendor ID, zero if unknown */
- DWORD dwDeviceId; /* chipset ID, zero if unknown */
- DWORD dwSubSysId; /* board ID, zero if unknown */
- DWORD dwRevision; /* chipset version, zero if unknown */
- GUID guidDeviceIdentifier; /* unique ID for this driver/chipset combination */
- DWORD dwWHQLLevel; /* Windows Hardware Quality Lab certification level */
- } DDDEVICEIDENTIFIER2, *LPDDDEVICEIDENTIFIER2;
-
-/*****************************************************************************
- * IDirectDrawPalette interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawPalette
- DECLARE_INTERFACE_(IDirectDrawPalette, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, PVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDWORD lpdwCaps) PURE;
- STDMETHOD(GetEntries) (THIS_ DWORD dwFlags, DWORD dwBase,
- DWORD dwNumEntries,
- LPPALETTEENTRY lpEntries) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags,
- LPPALETTEENTRY lpDDColorTable) PURE;
- STDMETHOD(SetEntries) (THIS_ DWORD dwFlags, DWORD dwStartingEntry,
- DWORD dwCount, LPPALETTEENTRY lpEntries) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawPalette_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawPalette_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawPalette_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDrawPalette methods ***/
-#define IDirectDrawPalette_GetCaps(p,a) ICOM_CALL_(GetCaps,p,(p,a))
-#define IDirectDrawPalette_GetEntries(p,a,b,c,d) ICOM_CALL_(GetEntries,p,(p,a,b,c,d))
-#define IDirectDrawPalette_Initialize(p,a,b,c) ICOM_CALL_(Initialize,p,(p,a,b,c))
-#define IDirectDrawPalette_SetEntries(p,a,b,c,d) ICOM_CALL_(SetEntries,p,(p,a,b,c,d))
-
-/*****************************************************************************
- * IDirectDrawClipper interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawClipper
- DECLARE_INTERFACE_(IDirectDrawClipper, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(GetClipList) (THIS_ LPRECT lpRect, LPRGNDATA lpClipList,
- LPDWORD lpdwSize) PURE;
- STDMETHOD(GetHWnd) (THIS_ HWND * lphWnd) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags) PURE;
- STDMETHOD(IsClipListChanged) (THIS_ BOOL * lpbChanged) PURE;
- STDMETHOD(SetClipList) (THIS_ LPRGNDATA lpClipList, DWORD dwFlags) PURE;
- STDMETHOD(SetHWnd) (THIS_ DWORD dwFlags, HWND hWnd) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawClipper_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawClipper_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawClipper_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDrawClipper methods ***/
-#define IDirectDrawClipper_GetClipList(p,a,b,c) ICOM_CALL_(GetClipList,p,(p,a,b,c))
-#define IDirectDrawClipper_GetHWnd(p,a) ICOM_CALL_(GetHWnd,p,(p,a))
-#define IDirectDrawClipper_Initialize(p,a,b) ICOM_CALL_(Initialize,p,(p,a,b))
-#define IDirectDrawClipper_IsClipListChanged(p,a) ICOM_CALL_(IsClipListChanged,p,(p,a))
-#define IDirectDrawClipper_SetClipList(p,a,b) ICOM_CALL_(SetClipList,p,(p,a,b))
-#define IDirectDrawClipper_SetHWnd(p,a,b) ICOM_CALL_(SetHWnd,p,(p,a,b))
-
-/*****************************************************************************
- * IDirectDraw interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDraw
- DECLARE_INTERFACE_(IDirectDraw, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(Compact) (THIS) PURE;
- STDMETHOD(CreateClipper) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWCLIPPER * lplpDDClipper,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreatePalette) (THIS_ DWORD dwFlags,
- LPPALETTEENTRY lpColorTable,
- LPDIRECTDRAWPALETTE * lplpDDPalette,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreateSurface) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc,
- LPDIRECTDRAWSURFACE * lplpDDSurface,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(DuplicateSurface) (THIS_ LPDIRECTDRAWSURFACE lpDDSurface,
- LPDIRECTDRAWSURFACE *
- lplpDupDDSurface) PURE;
- STDMETHOD(EnumDisplayModes) (THIS_ DWORD dwFlags,
- LPDDSURFACEDESC lpDDSurfaceDesc,
- LPVOID lpContext,
- LPDDENUMMODESCALLBACK lpEnumModesCallback)
- PURE;
- STDMETHOD(EnumSurfaces) (THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD,
- LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(FlipToGDISurface) (THIS) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDCAPS lpDDDriverCaps,
- LPDDCAPS lpDDHELCaps) PURE;
- STDMETHOD(GetDisplayMode) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(GetFourCCCodes) (THIS_ LPDWORD lpNumCodes,
- LPDWORD lpCodes) PURE;
- STDMETHOD(GetGDISurface) (THIS_ LPDIRECTDRAWSURFACE *
- lplpGDIDDSurface) PURE;
- STDMETHOD(GetMonitorFrequency) (THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetScanLine) (THIS_ LPDWORD lpdwScanLine) PURE;
- STDMETHOD(GetVerticalBlankStatus) (THIS_ BOOL * lpbIsInVB) PURE;
- STDMETHOD(Initialize) (THIS_ GUID * lpGUID) PURE;
- STDMETHOD(RestoreDisplayMode) (THIS) PURE;
- STDMETHOD(SetCooperativeLevel) (THIS_ HWND hWnd, DWORD dwFlags) PURE;
- STDMETHOD(SetDisplayMode) (THIS_ DWORD, DWORD, DWORD) PURE;
- STDMETHOD(WaitForVerticalBlank) (THIS_ DWORD dwFlags,
- HANDLE hEvent) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDraw_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDraw_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDraw_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDraw methods ***/
-#define IDirectDraw_Compact(p) ICOM_CALL_(Compact,p,(p))
-#define IDirectDraw_CreateClipper(p,a,b,c) ICOM_CALL_(CreateClipper,p,(p,a,b,c))
-#define IDirectDraw_CreatePalette(p,a,b,c,d) ICOM_CALL_(CreatePalette,p,(p,a,b,c,d))
-#define IDirectDraw_CreateSurface(p,a,b,c) ICOM_CALL_(CreateSurface,p,(p,a,b,c))
-#define IDirectDraw_DuplicateSurface(p,a,b) ICOM_CALL_(DuplicateSurface,p,(p,a,b))
-#define IDirectDraw_EnumDisplayModes(p,a,b,c,d) ICOM_CALL_(EnumDisplayModes,p,(p,a,b,c,d))
-#define IDirectDraw_EnumSurfaces(p,a,b,c,d) ICOM_CALL_(EnumSurfaces,p,(p,a,b,c,d))
-#define IDirectDraw_FlipToGDISurface(p) ICOM_CALL_(FlipToGDISurface,p,(p))
-#define IDirectDraw_GetCaps(p,a,b) ICOM_CALL_(GetCaps,p,(p,a,b))
-#define IDirectDraw_GetDisplayMode(p,a) ICOM_CALL_(GetDisplayMode,p,(p,a))
-#define IDirectDraw_GetFourCCCodes(p,a,b) ICOM_CALL_(GetFourCCCodes,p,(p,a,b))
-#define IDirectDraw_GetGDISurface(p,a) ICOM_CALL_(GetGDISurface,p,(p,a))
-#define IDirectDraw_GetMonitorFrequency(p,a) ICOM_CALL_(GetMonitorFrequency,p,(p,a))
-#define IDirectDraw_GetScanLine(p,a) ICOM_CALL_(GetScanLine,p,(p,a))
-#define IDirectDraw_GetVerticalBlankStatus(p,a) ICOM_CALL_(GetVerticalBlankStatus,p,(p,a))
-#define IDirectDraw_Initialize(p,a) ICOM_CALL_(Initialize,p,(p,a))
-#define IDirectDraw_RestoreDisplayMode(p) ICOM_CALL_(RestoreDisplayMode,p,(p))
-#define IDirectDraw_SetCooperativeLevel(p,a,b) ICOM_CALL_(SetCooperativeLevel,p,(p,a,b))
-#define IDirectDraw_SetDisplayMode(p,a,b,c) ICOM_CALL_(SetDisplayMode,p,(p,a,b,c))
-#define IDirectDraw_WaitForVerticalBlank(p,a,b) ICOM_CALL_(WaitForVerticalBlank,p,(p,a,b))
-
-/* flags for Lock() */
-#define DDLOCK_SURFACEMEMORYPTR 0x00000000
-#define DDLOCK_WAIT 0x00000001
-#define DDLOCK_EVENT 0x00000002
-#define DDLOCK_READONLY 0x00000010
-#define DDLOCK_WRITEONLY 0x00000020
-#define DDLOCK_NOSYSLOCK 0x00000800
-
-/*****************************************************************************
- * IDirectDraw2 interface
- */
-/* Note: IDirectDraw2 cannot derive from IDirectDraw because the number of
- * arguments of SetDisplayMode has changed !
- */
-#undef INTERFACE
-#define INTERFACE IDirectDraw2
- DECLARE_INTERFACE_(IDirectDraw2, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(Compact) (THIS) PURE;
- STDMETHOD(CreateClipper) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWCLIPPER * lplpDDClipper,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreatePalette) (THIS_ DWORD dwFlags,
- LPPALETTEENTRY lpColorTable,
- LPDIRECTDRAWPALETTE * lplpDDPalette,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreateSurface) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc,
- LPDIRECTDRAWSURFACE2 * lplpDDSurface,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(DuplicateSurface) (THIS_ LPDIRECTDRAWSURFACE2 lpDDSurface,
- LPDIRECTDRAWSURFACE2 *
- lplpDupDDSurface) PURE;
- STDMETHOD(EnumDisplayModes) (THIS_ DWORD dwFlags,
- LPDDSURFACEDESC lpDDSurfaceDesc,
- LPVOID lpContext,
- LPDDENUMMODESCALLBACK lpEnumModesCallback)
- PURE;
- STDMETHOD(EnumSurfaces) (THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD,
- LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(FlipToGDISurface) (THIS) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDCAPS lpDDDriverCaps,
- LPDDCAPS lpDDHELCaps) PURE;
- STDMETHOD(GetDisplayMode) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(GetFourCCCodes) (THIS_ LPDWORD lpNumCodes,
- LPDWORD lpCodes) PURE;
- STDMETHOD(GetGDISurface) (THIS_ LPDIRECTDRAWSURFACE2 *
- lplpGDIDDSurface) PURE;
- STDMETHOD(GetMonitorFrequency) (THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetScanLine) (THIS_ LPDWORD lpdwScanLine) PURE;
- STDMETHOD(GetVerticalBlankStatus) (THIS_ BOOL * lpbIsInVB) PURE;
- STDMETHOD(Initialize) (THIS_ GUID * lpGUID) PURE;
- STDMETHOD(RestoreDisplayMode) (THIS) PURE;
- STDMETHOD(SetCooperativeLevel) (THIS_ HWND hWnd, DWORD dwFlags) PURE;
- STDMETHOD(SetDisplayMode) (THIS_ DWORD dwWidth, DWORD dwHeight,
- DWORD dwBPP, DWORD dwRefreshRate,
- DWORD dwFlags) PURE;
- STDMETHOD(WaitForVerticalBlank) (THIS_ DWORD dwFlags,
- HANDLE hEvent) PURE;
-
- STDMETHOD(GetAvailableVidMem) (THIS_ LPDDSCAPS lpDDCaps,
- LPDWORD lpdwTotal,
- LPDWORD lpdwFree) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDraw2_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDraw2_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDraw2_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDraw methods ***/
-#define IDirectDraw2_Compact(p) ICOM_CALL_(Compact,p,(p))
-#define IDirectDraw2_CreateClipper(p,a,b,c) ICOM_CALL_(CreateClipper,p,(p,a,b,c))
-#define IDirectDraw2_CreatePalette(p,a,b,c,d) ICOM_CALL_(CreatePalette,p,(p,a,b,c,d))
-#define IDirectDraw2_CreateSurface(p,a,b,c) ICOM_CALL_(CreateSurface,p,(p,a,b,c))
-#define IDirectDraw2_DuplicateSurface(p,a,b) ICOM_CALL_(DuplicateSurface,p,(p,a,b))
-#define IDirectDraw2_EnumDisplayModes(p,a,b,c,d) ICOM_CALL_(EnumDisplayModes,p,(p,a,b,c,d))
-#define IDirectDraw2_EnumSurfaces(p,a,b,c,d) ICOM_CALL_(EnumSurfaces,p,(p,a,b,c,d))
-#define IDirectDraw2_FlipToGDISurface(p) ICOM_CALL_(FlipToGDISurface,p,(p))
-#define IDirectDraw2_GetCaps(p,a,b) ICOM_CALL_(GetCaps,p,(p,a,b))
-#define IDirectDraw2_GetDisplayMode(p,a) ICOM_CALL_(GetDisplayMode,p,(p,a))
-#define IDirectDraw2_GetFourCCCodes(p,a,b) ICOM_CALL_(GetFourCCCodes,p,(p,a,b))
-#define IDirectDraw2_GetGDISurface(p,a) ICOM_CALL_(GetGDISurface,p,(p,a))
-#define IDirectDraw2_GetMonitorFrequency(p,a) ICOM_CALL_(GetMonitorFrequency,p,(p,a))
-#define IDirectDraw2_GetScanLine(p,a) ICOM_CALL_(GetScanLine,p,(p,a))
-#define IDirectDraw2_GetVerticalBlankStatus(p,a) ICOM_CALL_(GetVerticalBlankStatus,p,(p,a))
-#define IDirectDraw2_Initialize(p,a) ICOM_CALL_(Initialize,p,(p,a))
-#define IDirectDraw2_RestoreDisplayMode(p) ICOM_CALL_(RestoreDisplayMode,p,(p))
-#define IDirectDraw2_SetCooperativeLevel(p,a,b) ICOM_CALL_(SetCooperativeLevel,p,(p,a,b))
-#define IDirectDraw2_SetDisplayMode(p,a,b,c,d,e) ICOM_CALL_(SetDisplayMode,p,(p,a,b,c,d,e))
-#define IDirectDraw2_WaitForVerticalBlank(p,a,b) ICOM_CALL_(WaitForVerticalBlank,p,(p,a,b))
-/*** IDirectDraw2 methods ***/
-#define IDirectDraw2_GetAvailableVidMem(p,a,b,c) ICOM_CALL_(GetAvailableVidMem,p,(p,a,b,c))
-
-/*****************************************************************************
- * IDirectDraw4 interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDraw4
- DECLARE_INTERFACE_(IDirectDraw4, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(Compact) (THIS) PURE;
- STDMETHOD(CreateClipper) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWCLIPPER * lplpDDClipper,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreatePalette) (THIS_ DWORD dwFlags,
- LPPALETTEENTRY lpColorTable,
- LPDIRECTDRAWPALETTE * lplpDDPalette,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreateSurface) (THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc,
- LPDIRECTDRAWSURFACE4 * lplpDDSurface,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(DuplicateSurface) (THIS_ LPDIRECTDRAWSURFACE4 lpDDSurface,
- LPDIRECTDRAWSURFACE4 *
- lplpDupDDSurface) PURE;
- STDMETHOD(EnumDisplayModes) (THIS_ DWORD dwFlags,
- LPDDSURFACEDESC2 lpDDSurfaceDesc,
- LPVOID lpContext,
- LPDDENUMMODESCALLBACK2 lpEnumModesCallback)
- PURE;
- STDMETHOD(EnumSurfaces) (THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD,
- LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK2
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(FlipToGDISurface) (THIS) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDCAPS lpDDDriverCaps,
- LPDDCAPS lpDDHELCaps) PURE;
- STDMETHOD(GetDisplayMode) (THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
- STDMETHOD(GetFourCCCodes) (THIS_ LPDWORD lpNumCodes,
- LPDWORD lpCodes) PURE;
- STDMETHOD(GetGDISurface) (THIS_ LPDIRECTDRAWSURFACE4 *
- lplpGDIDDSurface) PURE;
- STDMETHOD(GetMonitorFrequency) (THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetScanLine) (THIS_ LPDWORD lpdwScanLine) PURE;
- STDMETHOD(GetVerticalBlankStatus) (THIS_ BOOL * lpbIsInVB) PURE;
- STDMETHOD(Initialize) (THIS_ GUID * lpGUID) PURE;
- STDMETHOD(RestoreDisplayMode) (THIS) PURE;
- STDMETHOD(SetCooperativeLevel) (THIS_ HWND hWnd, DWORD dwFlags) PURE;
- STDMETHOD(SetDisplayMode) (THIS_ DWORD dwWidth, DWORD dwHeight,
- DWORD dwBPP, DWORD dwRefreshRate,
- DWORD dwFlags) PURE;
- STDMETHOD(WaitForVerticalBlank) (THIS_ DWORD dwFlags,
- HANDLE hEvent) PURE;
-
- STDMETHOD(GetAvailableVidMem) (THIS_ LPDDSCAPS2 lpDDCaps,
- LPDWORD lpdwTotal,
- LPDWORD lpdwFree) PURE;
-
- STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE4 *) PURE;
- STDMETHOD(RestoreAllSurfaces) (THIS) PURE;
- STDMETHOD(TestCooperativeLevel) (THIS) PURE;
- STDMETHOD(GetDeviceIdentifier) (THIS_ LPDDDEVICEIDENTIFIER, DWORD) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDraw4_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDraw4_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDraw4_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDraw methods ***/
-#define IDirectDraw4_Compact(p) ICOM_CALL_(Compact,p,(p))
-#define IDirectDraw4_CreateClipper(p,a,b,c) ICOM_CALL_(CreateClipper,p,(p,a,b,c))
-#define IDirectDraw4_CreatePalette(p,a,b,c,d) ICOM_CALL_(CreatePalette,p,(p,a,b,c,d))
-#define IDirectDraw4_CreateSurface(p,a,b,c) ICOM_CALL_(CreateSurface,p,(p,a,b,c))
-#define IDirectDraw4_DuplicateSurface(p,a,b) ICOM_CALL_(DuplicateSurface,p,(p,a,b))
-#define IDirectDraw4_EnumDisplayModes(p,a,b,c,d) ICOM_CALL_(EnumDisplayModes,p,(p,a,b,c,d))
-#define IDirectDraw4_EnumSurfaces(p,a,b,c,d) ICOM_CALL_(EnumSurfaces,p,(p,a,b,c,d))
-#define IDirectDraw4_FlipToGDISurface(p) ICOM_CALL_(FlipToGDISurface,p,(p))
-#define IDirectDraw4_GetCaps(p,a,b) ICOM_CALL_(GetCaps,p,(p,a,b))
-#define IDirectDraw4_GetDisplayMode(p,a) ICOM_CALL_(GetDisplayMode,p,(p,a))
-#define IDirectDraw4_GetFourCCCodes(p,a,b) ICOM_CALL_(GetFourCCCodes,p,(p,a,b))
-#define IDirectDraw4_GetGDISurface(p,a) ICOM_CALL_(GetGDISurface,p,(p,a))
-#define IDirectDraw4_GetMonitorFrequency(p,a) ICOM_CALL_(GetMonitorFrequency,p,(p,a))
-#define IDirectDraw4_GetScanLine(p,a) ICOM_CALL_(GetScanLine,p,(p,a))
-#define IDirectDraw4_GetVerticalBlankStatus(p,a) ICOM_CALL_(GetVerticalBlankStatus,p,(p,a))
-#define IDirectDraw4_Initialize(p,a) ICOM_CALL_(Initialize,p,(p,a))
-#define IDirectDraw4_RestoreDisplayMode(p) ICOM_CALL_(RestoreDisplayMode,p,(p))
-#define IDirectDraw4_SetCooperativeLevel(p,a,b) ICOM_CALL_(SetCooperativeLevel,p,(p,a,b))
-#define IDirectDraw4_SetDisplayMode(p,a,b,c,d,e) ICOM_CALL_(SetDisplayMode,p,(p,a,b,c,d,e))
-#define IDirectDraw4_WaitForVerticalBlank(p,a,b) ICOM_CALL_(WaitForVerticalBlank,p,(p,a,b))
-/*** IDirectDraw2 methods ***/
-#define IDirectDraw4_GetAvailableVidMem(p,a,b,c) ICOM_CALL_(GetAvailableVidMem,p,(p,a,b,c))
-/*** IDirectDraw4 methods ***/
-#define IDirectDraw4_GetSurfaceFromDC(p,a,b) ICOM_CALL_(GetSurfaceFromDC,p,(p,a,b))
-#define IDirectDraw4_RestoreAllSurfaces(p) ICOM_CALL_(RestoreAllSurfaces,p,(p))
-#define IDirectDraw4_TestCooperativeLevel(p) ICOM_CALL_(TestCooperativeLevel,p,(p))
-#define IDirectDraw4_GetDeviceIdentifier(p,a,b) ICOM_CALL_(GetDeviceIdentifier,p,(p,a,b))
-
-/*****************************************************************************
- * IDirectDraw7 interface
- */
-/* Note: IDirectDraw7 cannot derive from IDirectDraw4; it is even documented
- * as not interchangeable with earlier DirectDraw interfaces.
- */
-#undef INTERFACE
-#define INTERFACE IDirectDraw7
- DECLARE_INTERFACE_(IDirectDraw7, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(Compact) (THIS) PURE;
- STDMETHOD(CreateClipper) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWCLIPPER * lplpDDClipper,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreatePalette) (THIS_ DWORD dwFlags,
- LPPALETTEENTRY lpColorTable,
- LPDIRECTDRAWPALETTE * lplpDDPalette,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(CreateSurface) (THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc,
- LPDIRECTDRAWSURFACE7 * lplpDDSurface,
- IUnknown * pUnkOuter) PURE;
- STDMETHOD(DuplicateSurface) (THIS_ LPDIRECTDRAWSURFACE7 lpDDSurface,
- LPDIRECTDRAWSURFACE7 *
- lplpDupDDSurface) PURE;
- STDMETHOD(EnumDisplayModes) (THIS_ DWORD dwFlags,
- LPDDSURFACEDESC2 lpDDSurfaceDesc,
- LPVOID lpContext,
- LPDDENUMMODESCALLBACK2 lpEnumModesCallback)
- PURE;
- STDMETHOD(EnumSurfaces) (THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD,
- LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK7
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(FlipToGDISurface) (THIS) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDCAPS lpDDDriverCaps,
- LPDDCAPS lpDDHELCaps) PURE;
- STDMETHOD(GetDisplayMode) (THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
- STDMETHOD(GetFourCCCodes) (THIS_ LPDWORD lpNumCodes,
- LPDWORD lpCodes) PURE;
- STDMETHOD(GetGDISurface) (THIS_ LPDIRECTDRAWSURFACE7 *
- lplpGDIDDSurface) PURE;
- STDMETHOD(GetMonitorFrequency) (THIS_ LPDWORD lpdwFrequency) PURE;
- STDMETHOD(GetScanLine) (THIS_ LPDWORD lpdwScanLine) PURE;
- STDMETHOD(GetVerticalBlankStatus) (THIS_ BOOL * lpbIsInVB) PURE;
- STDMETHOD(Initialize) (THIS_ GUID * lpGUID) PURE;
- STDMETHOD(RestoreDisplayMode) (THIS) PURE;
- STDMETHOD(SetCooperativeLevel) (THIS_ HWND hWnd, DWORD dwFlags) PURE;
- STDMETHOD(SetDisplayMode) (THIS_ DWORD dwWidth, DWORD dwHeight,
- DWORD dwBPP, DWORD dwRefreshRate,
- DWORD dwFlags) PURE;
- STDMETHOD(WaitForVerticalBlank) (THIS_ DWORD dwFlags,
- HANDLE hEvent) PURE;
-
- STDMETHOD(GetAvailableVidMem) (THIS_ LPDDSCAPS2 lpDDCaps,
- LPDWORD lpdwTotal,
- LPDWORD lpdwFree) PURE;
-
- STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE7 *) PURE;
- STDMETHOD(RestoreAllSurfaces) (THIS) PURE;
- STDMETHOD(TestCooperativeLevel) (THIS) PURE;
- STDMETHOD(GetDeviceIdentifier) (THIS_ LPDDDEVICEIDENTIFIER2,
- DWORD) PURE;
-
- STDMETHOD(StartModeTest) (THIS_ LPSIZE, DWORD, DWORD) PURE;
- STDMETHOD(EvaluateMode) (THIS_ DWORD, DWORD *) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDraw7_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDraw7_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDraw7_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDraw methods ***/
-#define IDirectDraw7_Compact(p) ICOM_CALL_(Compact,p,(p))
-#define IDirectDraw7_CreateClipper(p,a,b,c) ICOM_CALL_(CreateClipper,p,(p,a,b,c))
-#define IDirectDraw7_CreatePalette(p,a,b,c,d) ICOM_CALL_(CreatePalette,p,(p,a,b,c,d))
-#define IDirectDraw7_CreateSurface(p,a,b,c) ICOM_CALL_(CreateSurface,p,(p,a,b,c))
-#define IDirectDraw7_DuplicateSurface(p,a,b) ICOM_CALL_(DuplicateSurface,p,(p,a,b))
-#define IDirectDraw7_EnumDisplayModes(p,a,b,c,d) ICOM_CALL_(EnumDisplayModes,p,(p,a,b,c,d))
-#define IDirectDraw7_EnumSurfaces(p,a,b,c,d) ICOM_CALL_(EnumSurfaces,p,(p,a,b,c,d))
-#define IDirectDraw7_FlipToGDISurface(p) ICOM_CALL_(FlipToGDISurface,p,(p))
-#define IDirectDraw7_GetCaps(p,a,b) ICOM_CALL_(GetCaps,p,(p,a,b))
-#define IDirectDraw7_GetDisplayMode(p,a) ICOM_CALL_(GetDisplayMode,p,(p,a))
-#define IDirectDraw7_GetFourCCCodes(p,a,b) ICOM_CALL_(GetFourCCCodes,p,(p,a,b))
-#define IDirectDraw7_GetGDISurface(p,a) ICOM_CALL_(GetGDISurface,p,(p,a))
-#define IDirectDraw7_GetMonitorFrequency(p,a) ICOM_CALL_(GetMonitorFrequency,p,(p,a))
-#define IDirectDraw7_GetScanLine(p,a) ICOM_CALL_(GetScanLine,p,(p,a))
-#define IDirectDraw7_GetVerticalBlankStatus(p,a) ICOM_CALL_(GetVerticalBlankStatus,p,(p,a))
-#define IDirectDraw7_Initialize(p,a) ICOM_CALL_(Initialize,p,(p,a))
-#define IDirectDraw7_RestoreDisplayMode(p) ICOM_CALL_(RestoreDisplayMode,p,(p))
-#define IDirectDraw7_SetCooperativeLevel(p,a,b) ICOM_CALL_(SetCooperativeLevel,p,(p,a,b))
-#define IDirectDraw7_SetDisplayMode(p,a,b,c,d,e) ICOM_CALL_(SetDisplayMode,p,(p,a,b,c,d,e))
-#define IDirectDraw7_WaitForVerticalBlank(p,a,b) ICOM_CALL_(WaitForVerticalBlank,p,(p,a,b))
-/*** added in IDirectDraw2 ***/
-#define IDirectDraw7_GetAvailableVidMem(p,a,b,c) ICOM_CALL_(GetAvailableVidMem,p,(p,a,b,c))
-/*** added in IDirectDraw4 ***/
-#define IDirectDraw7_GetSurfaceFromDC(p,a,b) ICOM_CALL_(GetSurfaceFromDC,p,(p,a,b))
-#define IDirectDraw7_RestoreAllSurfaces(p) ICOM_CALL_(RestoreAllSurfaces,p,(p))
-#define IDirectDraw7_TestCooperativeLevel(p) ICOM_CALL_(TestCooperativeLevel,p,(p))
-#define IDirectDraw7_GetDeviceIdentifier(p,a,b) ICOM_CALL_(GetDeviceIdentifier,p,(p,a,b))
-/*** added in IDirectDraw 7 ***/
-#define IDirectDraw7_StartModeTest(p,a,b,c) ICOM_CALL_(StartModeTest,p,(p,a,b,c))
-#define IDirectDraw7_EvaluateMode(p,a,b) ICOM_CALL_(EvaluateMode,p,(p,a,b))
-
-/*****************************************************************************
- * IDirectDrawSurface interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface
- DECLARE_INTERFACE_(IDirectDrawSurface, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(AddAttachedSurface) (THIS_ LPDIRECTDRAWSURFACE
- lpDDSAttachedSurface) PURE;
- STDMETHOD(AddOverlayDirtyRect) (THIS_ LPRECT lpRect) PURE;
- STDMETHOD(Blt) (THIS_ LPRECT lpDestRect,
- LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect,
- DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE;
- STDMETHOD(BltBatch) (THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount,
- DWORD dwFlags) PURE;
- STDMETHOD(BltFast) (THIS_ DWORD dwX, DWORD dwY,
- LPDIRECTDRAWSURFACE lpDDSrcSurface,
- LPRECT lpSrcRect, DWORD dwTrans) PURE;
- STDMETHOD(DeleteAttachedSurface) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE
- lpDDSAttachedSurface) PURE;
- STDMETHOD(EnumAttachedSurfaces) (THIS_ LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(EnumOverlayZOrders) (THIS_ DWORD dwFlags, LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK lpfnCallback)
- PURE;
- STDMETHOD(Flip) (THIS_ LPDIRECTDRAWSURFACE lpDDSurfaceTargetOverride,
- DWORD dwFlags) PURE;
- STDMETHOD(GetAttachedSurface) (THIS_ LPDDSCAPS lpDDSCaps,
- LPDIRECTDRAWSURFACE *
- lplpDDAttachedSurface) PURE;
- STDMETHOD(GetBltStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDSCAPS lpDDSCaps) PURE;
- STDMETHOD(GetClipper) (THIS_ LPDIRECTDRAWCLIPPER * lplpDDClipper) PURE;
- STDMETHOD(GetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(GetDC) (THIS_ HDC * lphDC) PURE;
- STDMETHOD(GetFlipStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetOverlayPosition) (THIS_ LPLONG lplX, LPLONG lplY) PURE;
- STDMETHOD(GetPalette) (THIS_ LPDIRECTDRAWPALETTE * lplpDDPalette) PURE;
- STDMETHOD(GetPixelFormat) (THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
- STDMETHOD(GetSurfaceDesc) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTDRAW lpDD,
- LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(IsLost) (THIS) PURE;
- STDMETHOD(Lock) (THIS_ LPRECT lpDestRect,
- LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags,
- HANDLE hEvent) PURE;
- STDMETHOD(ReleaseDC) (THIS_ HDC hDC) PURE;
- STDMETHOD(Restore) (THIS) PURE;
- STDMETHOD(SetClipper) (THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE;
- STDMETHOD(SetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(SetOverlayPosition) (THIS_ LONG lX, LONG lY) PURE;
- STDMETHOD(SetPalette) (THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE;
- STDMETHOD(Unlock) (THIS_ LPVOID lpSurfaceData) PURE;
- STDMETHOD(UpdateOverlay) (THIS_ LPRECT lpSrcRect,
- LPDIRECTDRAWSURFACE lpDDDestSurface,
- LPRECT lpDestRect, DWORD dwFlags,
- LPDDOVERLAYFX lpDDOverlayFx) PURE;
- STDMETHOD(UpdateOverlayDisplay) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(UpdateOverlayZOrder) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE lpDDSReference)
- PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawSurface_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawSurface_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawSurface_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDrawSurface methods ***/
-#define IDirectDrawSurface_AddAttachedSurface(p,a) ICOM_CALL_(AddAttachedSurface,p,(p,a))
-#define IDirectDrawSurface_AddOverlayDirtyRect(p,a) ICOM_CALL_(AddOverlayDirtyRect,p,(p,a))
-#define IDirectDrawSurface_Blt(p,a,b,c,d,e) ICOM_CALL_(Blt,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface_BltBatch(p,a,b,c) ICOM_CALL_(BltBatch,p,(p,a,b,c))
-#define IDirectDrawSurface_BltFast(p,a,b,c,d,e) ICOM_CALL_(BltFast,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) ICOM_CALL_(DeleteAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b) ICOM_CALL_(EnumAttachedSurfaces,p,(p,a,b))
-#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c) ICOM_CALL_(EnumOverlayZOrders,p,(p,a,b,c))
-#define IDirectDrawSurface_Flip(p,a,b) ICOM_CALL_(Flip,p,(p,a,b))
-#define IDirectDrawSurface_GetAttachedSurface(p,a,b) ICOM_CALL_(GetAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface_GetBltStatus(p,a) ICOM_CALL_(GetBltStatus,p,(p,a))
-#define IDirectDrawSurface_GetCaps(p,a) ICOM_CALL_(GetCaps,p,(p,a))
-#define IDirectDrawSurface_GetClipper(p,a) ICOM_CALL_(GetClipper,p,(p,a))
-#define IDirectDrawSurface_GetColorKey(p,a,b) ICOM_CALL_(GetColorKey,p,(p,a,b))
-#define IDirectDrawSurface_GetDC(p,a) ICOM_CALL_(GetDC,p,(p,a))
-#define IDirectDrawSurface_GetFlipStatus(p,a) ICOM_CALL_(GetFlipStatus,p,(p,a))
-#define IDirectDrawSurface_GetOverlayPosition(p,a,b) ICOM_CALL_(GetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface_GetPalette(p,a) ICOM_CALL_(GetPalette,p,(p,a))
-#define IDirectDrawSurface_GetPixelFormat(p,a) ICOM_CALL_(GetPixelFormat,p,(p,a))
-#define IDirectDrawSurface_GetSurfaceDesc(p,a) ICOM_CALL_(GetSurfaceDesc,p,(p,a))
-#define IDirectDrawSurface_Initialize(p,a,b) ICOM_CALL_(Initialize,p,(p,a,b))
-#define IDirectDrawSurface_IsLost(p) ICOM_CALL_(IsLost,p,(p))
-#define IDirectDrawSurface_Lock(p,a,b,c,d) ICOM_CALL_(Lock,p,(p,a,b,c,d))
-#define IDirectDrawSurface_ReleaseDC(p,a) ICOM_CALL_(ReleaseDC,p,(p,a))
-#define IDirectDrawSurface_Restore(p) ICOM_CALL_(Restore,p,(p))
-#define IDirectDrawSurface_SetClipper(p,a) ICOM_CALL_(SetClipper,p,(p,a))
-#define IDirectDrawSurface_SetColorKey(p,a,b) ICOM_CALL_(SetColorKey,p,(p,a,b))
-#define IDirectDrawSurface_SetOverlayPosition(p,a,b) ICOM_CALL_(SetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface_SetPalette(p,a) ICOM_CALL_(SetPalette,p,(p,a))
-#define IDirectDrawSurface_Unlock(p,a) ICOM_CALL_(Unlock,p,(p,a))
-#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e) ICOM_CALL_(UpdateOverlay,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface_UpdateOverlayDisplay(p,a) ICOM_CALL_(UpdateOverlayDisplay,p,(p,a))
-#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b) ICOM_CALL_(UpdateOverlayZOrder,p,(p,a,b))
-
-/*****************************************************************************
- * IDirectDrawSurface2 interface
- */
-/* Cannot inherit from IDirectDrawSurface because the LPDIRECTDRAWSURFACE parameters
- * have been converted to LPDIRECTDRAWSURFACE2.
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface2
- DECLARE_INTERFACE_(IDirectDrawSurface2, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(AddAttachedSurface) (THIS_ LPDIRECTDRAWSURFACE2
- lpDDSAttachedSurface) PURE;
- STDMETHOD(AddOverlayDirtyRect) (THIS_ LPRECT lpRect) PURE;
- STDMETHOD(Blt) (THIS_ LPRECT lpDestRect,
- LPDIRECTDRAWSURFACE2 lpDDSrcSurface, LPRECT lpSrcRect,
- DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE;
- STDMETHOD(BltBatch) (THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount,
- DWORD dwFlags) PURE;
- STDMETHOD(BltFast) (THIS_ DWORD dwX, DWORD dwY,
- LPDIRECTDRAWSURFACE2 lpDDSrcSurface,
- LPRECT lpSrcRect, DWORD dwTrans) PURE;
- STDMETHOD(DeleteAttachedSurface) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE2
- lpDDSAttachedSurface) PURE;
- STDMETHOD(EnumAttachedSurfaces) (THIS_ LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(EnumOverlayZOrders) (THIS_ DWORD dwFlags, LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK lpfnCallback)
- PURE;
- STDMETHOD(Flip) (THIS_ LPDIRECTDRAWSURFACE2 lpDDSurfaceTargetOverride,
- DWORD dwFlags) PURE;
- STDMETHOD(GetAttachedSurface) (THIS_ LPDDSCAPS lpDDSCaps,
- LPDIRECTDRAWSURFACE2 *
- lplpDDAttachedSurface) PURE;
- STDMETHOD(GetBltStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDSCAPS lpDDSCaps) PURE;
- STDMETHOD(GetClipper) (THIS_ LPDIRECTDRAWCLIPPER * lplpDDClipper) PURE;
- STDMETHOD(GetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(GetDC) (THIS_ HDC * lphDC) PURE;
- STDMETHOD(GetFlipStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetOverlayPosition) (THIS_ LPLONG lplX, LPLONG lplY) PURE;
- STDMETHOD(GetPalette) (THIS_ LPDIRECTDRAWPALETTE * lplpDDPalette) PURE;
- STDMETHOD(GetPixelFormat) (THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
- STDMETHOD(GetSurfaceDesc) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTDRAW lpDD,
- LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(IsLost) (THIS) PURE;
- STDMETHOD(Lock) (THIS_ LPRECT lpDestRect,
- LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags,
- HANDLE hEvent) PURE;
- STDMETHOD(ReleaseDC) (THIS_ HDC hDC) PURE;
- STDMETHOD(Restore) (THIS) PURE;
- STDMETHOD(SetClipper) (THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE;
- STDMETHOD(SetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(SetOverlayPosition) (THIS_ LONG lX, LONG lY) PURE;
- STDMETHOD(SetPalette) (THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE;
- STDMETHOD(Unlock) (THIS_ LPVOID lpSurfaceData) PURE;
- STDMETHOD(UpdateOverlay) (THIS_ LPRECT lpSrcRect,
- LPDIRECTDRAWSURFACE2 lpDDDestSurface,
- LPRECT lpDestRect, DWORD dwFlags,
- LPDDOVERLAYFX lpDDOverlayFx) PURE;
- STDMETHOD(UpdateOverlayDisplay) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(UpdateOverlayZOrder) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE2 lpDDSReference)
- PURE;
- /* added in v2 */
- STDMETHOD(GetDDInterface) (THIS_ LPVOID * lplpDD) PURE;
- STDMETHOD(PageLock) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(PageUnlock) (THIS_ DWORD dwFlags) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawSurface2_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawSurface2_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawSurface2_Release(p) ICOM_CALL_(Release,p,(p))
-/*** IDirectDrawSurface methods (almost) ***/
-#define IDirectDrawSurface2_AddAttachedSurface(p,a) ICOM_CALL_(AddAttachedSurface,p,(p,a))
-#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a) ICOM_CALL_(AddOverlayDirtyRect,p,(p,a))
-#define IDirectDrawSurface2_Blt(p,a,b,c,d,e) ICOM_CALL_(Blt,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface2_BltBatch(p,a,b,c) ICOM_CALL_(BltBatch,p,(p,a,b,c))
-#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e) ICOM_CALL_(BltFast,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) ICOM_CALL_(DeleteAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b) ICOM_CALL_(EnumAttachedSurfaces,p,(p,a,b))
-#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c) ICOM_CALL_(EnumOverlayZOrders,p,(p,a,b,c))
-#define IDirectDrawSurface2_Flip(p,a,b) ICOM_CALL_(Flip,p,(p,a,b))
-#define IDirectDrawSurface2_GetAttachedSurface(p,a,b) ICOM_CALL_(GetAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface2_GetBltStatus(p,a) ICOM_CALL_(GetBltStatus,p,(p,a))
-#define IDirectDrawSurface2_GetCaps(p,a) ICOM_CALL_(GetCaps,p,(p,a))
-#define IDirectDrawSurface2_GetClipper(p,a) ICOM_CALL_(GetClipper,p,(p,a))
-#define IDirectDrawSurface2_GetColorKey(p,a,b) ICOM_CALL_(GetColorKey,p,(p,a,b))
-#define IDirectDrawSurface2_GetDC(p,a) ICOM_CALL_(GetDC,p,(p,a))
-#define IDirectDrawSurface2_GetFlipStatus(p,a) ICOM_CALL_(GetFlipStatus,p,(p,a))
-#define IDirectDrawSurface2_GetOverlayPosition(p,a,b) ICOM_CALL_(GetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface2_GetPalette(p,a) ICOM_CALL_(GetPalette,p,(p,a))
-#define IDirectDrawSurface2_GetPixelFormat(p,a) ICOM_CALL_(GetPixelFormat,p,(p,a))
-#define IDirectDrawSurface2_GetSurfaceDesc(p,a) ICOM_CALL_(GetSurfaceDesc,p,(p,a))
-#define IDirectDrawSurface2_Initialize(p,a,b) ICOM_CALL_(Initialize,p,(p,a,b))
-#define IDirectDrawSurface2_IsLost(p) ICOM_CALL_(IsLost,p,(p))
-#define IDirectDrawSurface2_Lock(p,a,b,c,d) ICOM_CALL_(Lock,p,(p,a,b,c,d))
-#define IDirectDrawSurface2_ReleaseDC(p,a) ICOM_CALL_(ReleaseDC,p,(p,a))
-#define IDirectDrawSurface2_Restore(p) ICOM_CALL_(Restore,p,(p))
-#define IDirectDrawSurface2_SetClipper(p,a) ICOM_CALL_(SetClipper,p,(p,a))
-#define IDirectDrawSurface2_SetColorKey(p,a,b) ICOM_CALL_(SetColorKey,p,(p,a,b))
-#define IDirectDrawSurface2_SetOverlayPosition(p,a,b) ICOM_CALL_(SetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface2_SetPalette(p,a) ICOM_CALL_(SetPalette,p,(p,a))
-#define IDirectDrawSurface2_Unlock(p,a) ICOM_CALL_(Unlock,p,(p,a))
-#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e) ICOM_CALL_(UpdateOverlay,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a) ICOM_CALL_(UpdateOverlayDisplay,p,(p,a))
-#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b) ICOM_CALL_(UpdateOverlayZOrder,p,(p,a,b))
-/*** IDirectDrawSurface2 methods ***/
-#define IDirectDrawSurface2_GetDDInterface(p,a) ICOM_CALL_(GetDDInterface,p,(p,a))
-#define IDirectDrawSurface2_PageLock(p,a) ICOM_CALL_(PageLock,p,(p,a))
-#define IDirectDrawSurface2_PageUnlock(p,a) ICOM_CALL_(PageUnlock,p,(p,a))
-
-/*****************************************************************************
- * IDirectDrawSurface3 interface
- */
-/* Cannot inherit from IDirectDrawSurface2 because the LPDIRECTDRAWSURFACE2 parameters
- * have been converted to LPDIRECTDRAWSURFACE3.
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface3
- DECLARE_INTERFACE_(IDirectDrawSurface3, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(AddAttachedSurface) (THIS_ LPDIRECTDRAWSURFACE3
- lpDDSAttachedSurface) PURE;
- STDMETHOD(AddOverlayDirtyRect) (THIS_ LPRECT lpRect) PURE;
- STDMETHOD(Blt) (THIS_ LPRECT lpDestRect,
- LPDIRECTDRAWSURFACE3 lpDDSrcSurface, LPRECT lpSrcRect,
- DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE;
- STDMETHOD(BltBatch) (THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount,
- DWORD dwFlags) PURE;
- STDMETHOD(BltFast) (THIS_ DWORD dwX, DWORD dwY,
- LPDIRECTDRAWSURFACE3 lpDDSrcSurface,
- LPRECT lpSrcRect, DWORD dwTrans) PURE;
- STDMETHOD(DeleteAttachedSurface) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE3
- lpDDSAttachedSurface) PURE;
- STDMETHOD(EnumAttachedSurfaces) (THIS_ LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(EnumOverlayZOrders) (THIS_ DWORD dwFlags, LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK lpfnCallback)
- PURE;
- STDMETHOD(Flip) (THIS_ LPDIRECTDRAWSURFACE3 lpDDSurfaceTargetOverride,
- DWORD dwFlags) PURE;
- STDMETHOD(GetAttachedSurface) (THIS_ LPDDSCAPS lpDDSCaps,
- LPDIRECTDRAWSURFACE3 *
- lplpDDAttachedSurface) PURE;
- STDMETHOD(GetBltStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDSCAPS lpDDSCaps) PURE;
- STDMETHOD(GetClipper) (THIS_ LPDIRECTDRAWCLIPPER * lplpDDClipper) PURE;
- STDMETHOD(GetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(GetDC) (THIS_ HDC * lphDC) PURE;
- STDMETHOD(GetFlipStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetOverlayPosition) (THIS_ LPLONG lplX, LPLONG lplY) PURE;
- STDMETHOD(GetPalette) (THIS_ LPDIRECTDRAWPALETTE * lplpDDPalette) PURE;
- STDMETHOD(GetPixelFormat) (THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
- STDMETHOD(GetSurfaceDesc) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTDRAW lpDD,
- LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(IsLost) (THIS) PURE;
- STDMETHOD(Lock) (THIS_ LPRECT lpDestRect,
- LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags,
- HANDLE hEvent) PURE;
- STDMETHOD(ReleaseDC) (THIS_ HDC hDC) PURE;
- STDMETHOD(Restore) (THIS) PURE;
- STDMETHOD(SetClipper) (THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE;
- STDMETHOD(SetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(SetOverlayPosition) (THIS_ LONG lX, LONG lY) PURE;
- STDMETHOD(SetPalette) (THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE;
- STDMETHOD(Unlock) (THIS_ LPVOID lpSurfaceData) PURE;
- STDMETHOD(UpdateOverlay) (THIS_ LPRECT lpSrcRect,
- LPDIRECTDRAWSURFACE3 lpDDDestSurface,
- LPRECT lpDestRect, DWORD dwFlags,
- LPDDOVERLAYFX lpDDOverlayFx) PURE;
- STDMETHOD(UpdateOverlayDisplay) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(UpdateOverlayZOrder) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE3 lpDDSReference)
- PURE;
- /* added in v2 */
- STDMETHOD(GetDDInterface) (THIS_ LPVOID * lplpDD) PURE;
- STDMETHOD(PageLock) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(PageUnlock) (THIS_ DWORD dwFlags) PURE;
- /* added in v3 */
- STDMETHOD(SetSurfaceDesc) (THIS_ LPDDSURFACEDESC lpDDSD,
- DWORD dwFlags) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawSurface3_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawSurface3_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawSurface3_Release(p) ICOM_CALL_(Release,p,(p))
-/*** IDirectDrawSurface methods (almost) ***/
-#define IDirectDrawSurface3_AddAttachedSurface(p,a) ICOM_CALL_(AddAttachedSurface,p,(p,a))
-#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a) ICOM_CALL_(AddOverlayDirtyRect,p,(p,a))
-#define IDirectDrawSurface3_Blt(p,a,b,c,d,e) ICOM_CALL_(Blt,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface3_BltBatch(p,a,b,c) ICOM_CALL_(BltBatch,p,(p,a,b,c))
-#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e) ICOM_CALL_(BltFast,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) ICOM_CALL_(DeleteAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b) ICOM_CALL_(EnumAttachedSurfaces,p,(p,a,b))
-#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c) ICOM_CALL_(EnumOverlayZOrders,p,(p,a,b,c))
-#define IDirectDrawSurface3_Flip(p,a,b) ICOM_CALL_(Flip,p,(p,a,b))
-#define IDirectDrawSurface3_GetAttachedSurface(p,a,b) ICOM_CALL_(GetAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface3_GetBltStatus(p,a) ICOM_CALL_(GetBltStatus,p,(p,a))
-#define IDirectDrawSurface3_GetCaps(p,a) ICOM_CALL_(GetCaps,p,(p,a))
-#define IDirectDrawSurface3_GetClipper(p,a) ICOM_CALL_(GetClipper,p,(p,a))
-#define IDirectDrawSurface3_GetColorKey(p,a,b) ICOM_CALL_(GetColorKey,p,(p,a,b))
-#define IDirectDrawSurface3_GetDC(p,a) ICOM_CALL_(GetDC,p,(p,a))
-#define IDirectDrawSurface3_GetFlipStatus(p,a) ICOM_CALL_(GetFlipStatus,p,(p,a))
-#define IDirectDrawSurface3_GetOverlayPosition(p,a,b) ICOM_CALL_(GetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface3_GetPalette(p,a) ICOM_CALL_(GetPalette,p,(p,a))
-#define IDirectDrawSurface3_GetPixelFormat(p,a) ICOM_CALL_(GetPixelFormat,p,(p,a))
-#define IDirectDrawSurface3_GetSurfaceDesc(p,a) ICOM_CALL_(GetSurfaceDesc,p,(p,a))
-#define IDirectDrawSurface3_Initialize(p,a,b) ICOM_CALL_(Initialize,p,(p,a,b))
-#define IDirectDrawSurface3_IsLost(p) ICOM_CALL_(IsLost,p,(p))
-#define IDirectDrawSurface3_Lock(p,a,b,c,d) ICOM_CALL_(Lock,p,(p,a,b,c,d))
-#define IDirectDrawSurface3_ReleaseDC(p,a) ICOM_CALL_(ReleaseDC,p,(p,a))
-#define IDirectDrawSurface3_Restore(p) ICOM_CALL_(Restore,p,(p))
-#define IDirectDrawSurface3_SetClipper(p,a) ICOM_CALL_(SetClipper,p,(p,a))
-#define IDirectDrawSurface3_SetColorKey(p,a,b) ICOM_CALL_(SetColorKey,p,(p,a,b))
-#define IDirectDrawSurface3_SetOverlayPosition(p,a,b) ICOM_CALL_(SetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface3_SetPalette(p,a) ICOM_CALL_(SetPalette,p,(p,a))
-#define IDirectDrawSurface3_Unlock(p,a) ICOM_CALL_(Unlock,p,(p,a))
-#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e) ICOM_CALL_(UpdateOverlay,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a) ICOM_CALL_(UpdateOverlayDisplay,p,(p,a))
-#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b) ICOM_CALL_(UpdateOverlayZOrder,p,(p,a,b))
-/*** IDirectDrawSurface2 methods ***/
-#define IDirectDrawSurface3_GetDDInterface(p,a) ICOM_CALL_(GetDDInterface,p,(p,a))
-#define IDirectDrawSurface3_PageLock(p,a) ICOM_CALL_(PageLock,p,(p,a))
-#define IDirectDrawSurface3_PageUnlock(p,a) ICOM_CALL_(PageUnlock,p,(p,a))
-/*** IDirectDrawSurface3 methods ***/
-#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b) ICOM_CALL_(SetSurfaceDesc,p,(p,a,b))
-
-/*****************************************************************************
- * IDirectDrawSurface4 interface
- */
-/* Cannot inherit from IDirectDrawSurface2 because DDSCAPS changed to DDSCAPS2.
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface4
- DECLARE_INTERFACE_(IDirectDrawSurface4, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(AddAttachedSurface) (THIS_ LPDIRECTDRAWSURFACE4
- lpDDSAttachedSurface) PURE;
- STDMETHOD(AddOverlayDirtyRect) (THIS_ LPRECT lpRect) PURE;
- STDMETHOD(Blt) (THIS_ LPRECT lpDestRect,
- LPDIRECTDRAWSURFACE4 lpDDSrcSurface, LPRECT lpSrcRect,
- DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE;
- STDMETHOD(BltBatch) (THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount,
- DWORD dwFlags) PURE;
- STDMETHOD(BltFast) (THIS_ DWORD dwX, DWORD dwY,
- LPDIRECTDRAWSURFACE4 lpDDSrcSurface,
- LPRECT lpSrcRect, DWORD dwTrans) PURE;
- STDMETHOD(DeleteAttachedSurface) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE4
- lpDDSAttachedSurface) PURE;
- STDMETHOD(EnumAttachedSurfaces) (THIS_ LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(EnumOverlayZOrders) (THIS_ DWORD dwFlags, LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK lpfnCallback)
- PURE;
- STDMETHOD(Flip) (THIS_ LPDIRECTDRAWSURFACE4 lpDDSurfaceTargetOverride,
- DWORD dwFlags) PURE;
- STDMETHOD(GetAttachedSurface) (THIS_ LPDDSCAPS2 lpDDSCaps,
- LPDIRECTDRAWSURFACE4 *
- lplpDDAttachedSurface) PURE;
- STDMETHOD(GetBltStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDSCAPS2 lpDDSCaps) PURE;
- STDMETHOD(GetClipper) (THIS_ LPDIRECTDRAWCLIPPER * lplpDDClipper) PURE;
- STDMETHOD(GetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(GetDC) (THIS_ HDC * lphDC) PURE;
- STDMETHOD(GetFlipStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetOverlayPosition) (THIS_ LPLONG lplX, LPLONG lplY) PURE;
- STDMETHOD(GetPalette) (THIS_ LPDIRECTDRAWPALETTE * lplpDDPalette) PURE;
- STDMETHOD(GetPixelFormat) (THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
- STDMETHOD(GetSurfaceDesc) (THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTDRAW lpDD,
- LPDDSURFACEDESC lpDDSurfaceDesc) PURE;
- STDMETHOD(IsLost) (THIS) PURE;
- STDMETHOD(Lock) (THIS_ LPRECT lpDestRect,
- LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags,
- HANDLE hEvent) PURE;
- STDMETHOD(ReleaseDC) (THIS_ HDC hDC) PURE;
- STDMETHOD(Restore) (THIS) PURE;
- STDMETHOD(SetClipper) (THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE;
- STDMETHOD(SetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(SetOverlayPosition) (THIS_ LONG lX, LONG lY) PURE;
- STDMETHOD(SetPalette) (THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE;
- STDMETHOD(Unlock) (THIS_ LPRECT lpSurfaceData) PURE;
- STDMETHOD(UpdateOverlay) (THIS_ LPRECT lpSrcRect,
- LPDIRECTDRAWSURFACE4 lpDDDestSurface,
- LPRECT lpDestRect, DWORD dwFlags,
- LPDDOVERLAYFX lpDDOverlayFx) PURE;
- STDMETHOD(UpdateOverlayDisplay) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(UpdateOverlayZOrder) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE4 lpDDSReference)
- PURE;
- /* added in v2 */
- STDMETHOD(GetDDInterface) (THIS_ LPVOID * lplpDD) PURE;
- STDMETHOD(PageLock) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(PageUnlock) (THIS_ DWORD dwFlags) PURE;
- /* added in v3 */
- STDMETHOD(SetSurfaceDesc) (THIS_ LPDDSURFACEDESC lpDDSD,
- DWORD dwFlags) PURE;
- /* added in v4 */
- STDMETHOD(SetPrivateData) (THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;
- STDMETHOD(GetPrivateData) (THIS_ REFGUID, LPVOID, LPDWORD) PURE;
- STDMETHOD(FreePrivateData) (THIS_ REFGUID) PURE;
- STDMETHOD(GetUniquenessValue) (THIS_ LPDWORD) PURE;
- STDMETHOD(ChangeUniquenessValue) (THIS) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawSurface4_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawSurface4_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawSurface4_Release(p) ICOM_CALL_(Release,p,(p))
-/*** IDirectDrawSurface (almost) methods ***/
-#define IDirectDrawSurface4_AddAttachedSurface(p,a) ICOM_CALL_(AddAttachedSurface,p,(p,a))
-#define IDirectDrawSurface4_AddOverlayDirtyRect(p,a) ICOM_CALL_(AddOverlayDirtyRect,p,(p,a))
-#define IDirectDrawSurface4_Blt(p,a,b,c,d,e) ICOM_CALL_(Blt,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface4_BltBatch(p,a,b,c) ICOM_CALL_(BltBatch,p,(p,a,b,c))
-#define IDirectDrawSurface4_BltFast(p,a,b,c,d,e) ICOM_CALL_(BltFast,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) ICOM_CALL_(DeleteAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b) ICOM_CALL_(EnumAttachedSurfaces,p,(p,a,b))
-#define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c) ICOM_CALL_(EnumOverlayZOrders,p,(p,a,b,c))
-#define IDirectDrawSurface4_Flip(p,a,b) ICOM_CALL_(Flip,p,(p,a,b))
-#define IDirectDrawSurface4_GetAttachedSurface(p,a,b) ICOM_CALL_(GetAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface4_GetBltStatus(p,a) ICOM_CALL_(GetBltStatus,p,(p,a))
-#define IDirectDrawSurface4_GetCaps(p,a) ICOM_CALL_(GetCaps,p,(p,a))
-#define IDirectDrawSurface4_GetClipper(p,a) ICOM_CALL_(GetClipper,p,(p,a))
-#define IDirectDrawSurface4_GetColorKey(p,a,b) ICOM_CALL_(GetColorKey,p,(p,a,b))
-#define IDirectDrawSurface4_GetDC(p,a) ICOM_CALL_(GetDC,p,(p,a))
-#define IDirectDrawSurface4_GetFlipStatus(p,a) ICOM_CALL_(GetFlipStatus,p,(p,a))
-#define IDirectDrawSurface4_GetOverlayPosition(p,a,b) ICOM_CALL_(GetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface4_GetPalette(p,a) ICOM_CALL_(GetPalette,p,(p,a))
-#define IDirectDrawSurface4_GetPixelFormat(p,a) ICOM_CALL_(GetPixelFormat,p,(p,a))
-#define IDirectDrawSurface4_GetSurfaceDesc(p,a) ICOM_CALL_(GetSurfaceDesc,p,(p,a))
-#define IDirectDrawSurface4_Initialize(p,a,b) ICOM_CALL_(Initialize,p,(p,a,b))
-#define IDirectDrawSurface4_IsLost(p) ICOM_CALL_(IsLost,p,(p))
-#define IDirectDrawSurface4_Lock(p,a,b,c,d) ICOM_CALL_(Lock,p,(p,a,b,c,d))
-#define IDirectDrawSurface4_ReleaseDC(p,a) ICOM_CALL_(ReleaseDC,p,(p,a))
-#define IDirectDrawSurface4_Restore(p) ICOM_CALL_(Restore,p,(p))
-#define IDirectDrawSurface4_SetClipper(p,a) ICOM_CALL_(SetClipper,p,(p,a))
-#define IDirectDrawSurface4_SetColorKey(p,a,b) ICOM_CALL_(SetColorKey,p,(p,a,b))
-#define IDirectDrawSurface4_SetOverlayPosition(p,a,b) ICOM_CALL_(SetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface4_SetPalette(p,a) ICOM_CALL_(SetPalette,p,(p,a))
-#define IDirectDrawSurface4_Unlock(p,a) ICOM_CALL_(Unlock,p,(p,a))
-#define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e) ICOM_CALL_(UpdateOverlay,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface4_UpdateOverlayDisplay(p,a) ICOM_CALL_(UpdateOverlayDisplay,p,(p,a))
-#define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b) ICOM_CALL_(UpdateOverlayZOrder,p,(p,a,b))
-/*** IDirectDrawSurface2 methods ***/
-#define IDirectDrawSurface4_GetDDInterface(p,a) ICOM_CALL_(GetDDInterface,p,(p,a))
-#define IDirectDrawSurface4_PageLock(p,a) ICOM_CALL_(PageLock,p,(p,a))
-#define IDirectDrawSurface4_PageUnlock(p,a) ICOM_CALL_(PageUnlock,p,(p,a))
-/*** IDirectDrawSurface3 methods ***/
-#define IDirectDrawSurface4_SetSurfaceDesc(p,a,b) ICOM_CALL_(SetSurfaceDesc,p,(p,a,b))
-/*** IDirectDrawSurface4 methods ***/
-#define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d) ICOM_CALL_(SetPrivateData,p,(p,a,b,c,d))
-#define IDirectDrawSurface4_GetPrivateData(p,a,b,c) ICOM_CALL_(GetPrivateData,p,(p,a,b,c))
-#define IDirectDrawSurface4_FreePrivateData(p,a) ICOM_CALL_(FreePrivateData,p,(p,a))
-#define IDirectDrawSurface4_GetUniquenessValue(p,a) ICOM_CALL_(GetUniquenessValue,p,(p,a))
-#define IDirectDrawSurface4_ChangeUniquenessValue(p) ICOM_CALL_(ChangeUniquenessValue,p,(p))
-
-/*****************************************************************************
- * IDirectDrawSurface7 interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawSurface7
- DECLARE_INTERFACE_(IDirectDrawSurface7, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(AddAttachedSurface) (THIS_ LPDIRECTDRAWSURFACE7
- lpDDSAttachedSurface) PURE;
- STDMETHOD(AddOverlayDirtyRect) (THIS_ LPRECT lpRect) PURE;
- STDMETHOD(Blt) (THIS_ LPRECT lpDestRect,
- LPDIRECTDRAWSURFACE7 lpDDSrcSurface, LPRECT lpSrcRect,
- DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE;
- STDMETHOD(BltBatch) (THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount,
- DWORD dwFlags) PURE;
- STDMETHOD(BltFast) (THIS_ DWORD dwX, DWORD dwY,
- LPDIRECTDRAWSURFACE7 lpDDSrcSurface,
- LPRECT lpSrcRect, DWORD dwTrans) PURE;
- STDMETHOD(DeleteAttachedSurface) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE7
- lpDDSAttachedSurface) PURE;
- STDMETHOD(EnumAttachedSurfaces) (THIS_ LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK7
- lpEnumSurfacesCallback) PURE;
- STDMETHOD(EnumOverlayZOrders) (THIS_ DWORD dwFlags, LPVOID lpContext,
- LPDDENUMSURFACESCALLBACK7 lpfnCallback)
- PURE;
- STDMETHOD(Flip) (THIS_ LPDIRECTDRAWSURFACE7 lpDDSurfaceTargetOverride,
- DWORD dwFlags) PURE;
- STDMETHOD(GetAttachedSurface) (THIS_ LPDDSCAPS2 lpDDSCaps,
- LPDIRECTDRAWSURFACE7 *
- lplpDDAttachedSurface) PURE;
- STDMETHOD(GetBltStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDDSCAPS2 lpDDSCaps) PURE;
- STDMETHOD(GetClipper) (THIS_ LPDIRECTDRAWCLIPPER * lplpDDClipper) PURE;
- STDMETHOD(GetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(GetDC) (THIS_ HDC * lphDC) PURE;
- STDMETHOD(GetFlipStatus) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(GetOverlayPosition) (THIS_ LPLONG lplX, LPLONG lplY) PURE;
- STDMETHOD(GetPalette) (THIS_ LPDIRECTDRAWPALETTE * lplpDDPalette) PURE;
- STDMETHOD(GetPixelFormat) (THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE;
- STDMETHOD(GetSurfaceDesc) (THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTDRAW lpDD,
- LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE;
- STDMETHOD(IsLost) (THIS) PURE;
- STDMETHOD(Lock) (THIS_ LPRECT lpDestRect,
- LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags,
- HANDLE hEvent) PURE;
- STDMETHOD(ReleaseDC) (THIS_ HDC hDC) PURE;
- STDMETHOD(Restore) (THIS) PURE;
- STDMETHOD(SetClipper) (THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE;
- STDMETHOD(SetColorKey) (THIS_ DWORD dwFlags,
- LPDDCOLORKEY lpDDColorKey) PURE;
- STDMETHOD(SetOverlayPosition) (THIS_ LONG lX, LONG lY) PURE;
- STDMETHOD(SetPalette) (THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE;
- STDMETHOD(Unlock) (THIS_ LPRECT lpSurfaceData) PURE;
- STDMETHOD(UpdateOverlay) (THIS_ LPRECT lpSrcRect,
- LPDIRECTDRAWSURFACE7 lpDDDestSurface,
- LPRECT lpDestRect, DWORD dwFlags,
- LPDDOVERLAYFX lpDDOverlayFx) PURE;
- STDMETHOD(UpdateOverlayDisplay) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(UpdateOverlayZOrder) (THIS_ DWORD dwFlags,
- LPDIRECTDRAWSURFACE7 lpDDSReference)
- PURE;
- /* added in v2 */
- STDMETHOD(GetDDInterface) (THIS_ LPVOID * lplpDD) PURE;
- STDMETHOD(PageLock) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(PageUnlock) (THIS_ DWORD dwFlags) PURE;
- /* added in v3 */
- STDMETHOD(SetSurfaceDesc) (THIS_ LPDDSURFACEDESC2 lpDDSD,
- DWORD dwFlags) PURE;
- /* added in v4 */
- STDMETHOD(SetPrivateData) (THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;
- STDMETHOD(GetPrivateData) (THIS_ REFGUID, LPVOID, LPDWORD) PURE;
- STDMETHOD(FreePrivateData) (THIS_ REFGUID) PURE;
- STDMETHOD(GetUniquenessValue) (THIS_ LPDWORD) PURE;
- STDMETHOD(ChangeUniquenessValue) (THIS) PURE;
- /* added in v7 */
- STDMETHOD(SetPriority) (THIS_ DWORD prio) PURE;
- STDMETHOD(GetPriority) (THIS_ LPDWORD prio) PURE;
- STDMETHOD(SetLOD) (THIS_ DWORD lod) PURE;
- STDMETHOD(GetLOD) (THIS_ LPDWORD lod) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawSurface7_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawSurface7_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawSurface7_Release(p) ICOM_CALL_(Release,p,(p))
-/*** IDirectDrawSurface (almost) methods ***/
-#define IDirectDrawSurface7_AddAttachedSurface(p,a) ICOM_CALL_(AddAttachedSurface,p,(p,a))
-#define IDirectDrawSurface7_AddOverlayDirtyRect(p,a) ICOM_CALL_(AddOverlayDirtyRect,p,(p,a))
-#define IDirectDrawSurface7_Blt(p,a,b,c,d,e) ICOM_CALL_(Blt,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface7_BltBatch(p,a,b,c) ICOM_CALL_(BltBatch,p,(p,a,b,c))
-#define IDirectDrawSurface7_BltFast(p,a,b,c,d,e) ICOM_CALL_(BltFast,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface7_DeleteAttachedSurface(p,a,b) ICOM_CALL_(DeleteAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface7_EnumAttachedSurfaces(p,a,b) ICOM_CALL_(EnumAttachedSurfaces,p,(p,a,b))
-#define IDirectDrawSurface7_EnumOverlayZOrders(p,a,b,c) ICOM_CALL_(EnumOverlayZOrders,p,(p,a,b,c))
-#define IDirectDrawSurface7_Flip(p,a,b) ICOM_CALL_(Flip,p,(p,a,b))
-#define IDirectDrawSurface7_GetAttachedSurface(p,a,b) ICOM_CALL_(GetAttachedSurface,p,(p,a,b))
-#define IDirectDrawSurface7_GetBltStatus(p,a) ICOM_CALL_(GetBltStatus,p,(p,a))
-#define IDirectDrawSurface7_GetCaps(p,a) ICOM_CALL_(GetCaps,p,(p,a))
-#define IDirectDrawSurface7_GetClipper(p,a) ICOM_CALL_(GetClipper,p,(p,a))
-#define IDirectDrawSurface7_GetColorKey(p,a,b) ICOM_CALL_(GetColorKey,p,(p,a,b))
-#define IDirectDrawSurface7_GetDC(p,a) ICOM_CALL_(GetDC,p,(p,a))
-#define IDirectDrawSurface7_GetFlipStatus(p,a) ICOM_CALL_(GetFlipStatus,p,(p,a))
-#define IDirectDrawSurface7_GetOverlayPosition(p,a,b) ICOM_CALL_(GetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface7_GetPalette(p,a) ICOM_CALL_(GetPalette,p,(p,a))
-#define IDirectDrawSurface7_GetPixelFormat(p,a) ICOM_CALL_(GetPixelFormat,p,(p,a))
-#define IDirectDrawSurface7_GetSurfaceDesc(p,a) ICOM_CALL_(GetSurfaceDesc,p,(p,a))
-#define IDirectDrawSurface7_Initialize(p,a,b) ICOM_CALL_(Initialize,p,(p,a,b))
-#define IDirectDrawSurface7_IsLost(p) ICOM_CALL_(IsLost,p,(p))
-#define IDirectDrawSurface7_Lock(p,a,b,c,d) ICOM_CALL_(Lock,p,(p,a,b,c,d))
-#define IDirectDrawSurface7_ReleaseDC(p,a) ICOM_CALL_(ReleaseDC,p,(p,a))
-#define IDirectDrawSurface7_Restore(p) ICOM_CALL_(Restore,p,(p))
-#define IDirectDrawSurface7_SetClipper(p,a) ICOM_CALL_(SetClipper,p,(p,a))
-#define IDirectDrawSurface7_SetColorKey(p,a,b) ICOM_CALL_(SetColorKey,p,(p,a,b))
-#define IDirectDrawSurface7_SetOverlayPosition(p,a,b) ICOM_CALL_(SetOverlayPosition,p,(p,a,b))
-#define IDirectDrawSurface7_SetPalette(p,a) ICOM_CALL_(SetPalette,p,(p,a))
-#define IDirectDrawSurface7_Unlock(p,a) ICOM_CALL_(Unlock,p,(p,a))
-#define IDirectDrawSurface7_UpdateOverlay(p,a,b,c,d,e) ICOM_CALL_(UpdateOverlay,p,(p,a,b,c,d,e))
-#define IDirectDrawSurface7_UpdateOverlayDisplay(p,a) ICOM_CALL_(UpdateOverlayDisplay,p,(p,a))
-#define IDirectDrawSurface7_UpdateOverlayZOrder(p,a,b) ICOM_CALL_(UpdateOverlayZOrder,p,(p,a,b))
-/*** IDirectDrawSurface2 methods ***/
-#define IDirectDrawSurface7_GetDDInterface(p,a) ICOM_CALL_(GetDDInterface,p,(p,a))
-#define IDirectDrawSurface7_PageLock(p,a) ICOM_CALL_(PageLock,p,(p,a))
-#define IDirectDrawSurface7_PageUnlock(p,a) ICOM_CALL_(PageUnlock,p,(p,a))
-/*** IDirectDrawSurface3 methods ***/
-#define IDirectDrawSurface7_SetSurfaceDesc(p,a,b) ICOM_CALL_(SetSurfaceDesc,p,(p,a,b))
-/*** IDirectDrawSurface4 methods ***/
-#define IDirectDrawSurface7_SetPrivateData(p,a,b,c,d) ICOM_CALL_(SetPrivateData,p,(p,a,b,c,d))
-#define IDirectDrawSurface7_GetPrivateData(p,a,b,c) ICOM_CALL_(GetPrivateData,p,(p,a,b,c))
-#define IDirectDrawSurface7_FreePrivateData(p,a) ICOM_CALL_(FreePrivateData,p,(p,a))
-#define IDirectDrawSurface7_GetUniquenessValue(p,a) ICOM_CALL_(GetUniquenessValue,p,(p,a))
-#define IDirectDrawSurface7_ChangeUniquenessValue(p) ICOM_CALL_(ChangeUniquenessValue,p,(p))
-/*** IDirectDrawSurface7 methods ***/
-#define IDirectDrawSurface7_SetPriority(p,a) ICOM_CALL_(SetPriority,p,(p,a))
-#define IDirectDrawSurface7_GetPriority(p,a) ICOM_CALL_(GetPriority,p,(p,a))
-#define IDirectDrawSurface7_SetLOD(p,a) ICOM_CALL_(SetLOD,p,(p,a))
-#define IDirectDrawSurface7_GetLOD(p,a) ICOM_CALL_(GetLOD,p,(p,a))
-
-/*****************************************************************************
- * IDirectDrawColorControl interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawColorControl
- DECLARE_INTERFACE_(IDirectDrawColorControl, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(GetColorControls) (THIS_ LPDDCOLORCONTROL lpColorControl)
- PURE;
- STDMETHOD(SetColorControls) (THIS_ LPDDCOLORCONTROL lpColorControl)
- PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawColorControl_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawColorControl_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawColorControl_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDrawColorControl methods ***/
-#define IDirectDrawColorControl_GetColorControls(p,a) ICOM_CALL_(GetColorControls,p,(p,a))
-#define IDirectDrawColorControl_SetColorControls(p,a) ICOM_CALL_(SetColorControls,p,(p,a))
-
-/*****************************************************************************
- * IDirectDrawGammaControl interface
- */
-#undef INTERFACE
-#define INTERFACE IDirectDrawGammaControl
- DECLARE_INTERFACE_(IDirectDrawGammaControl, IUnknown) {
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD(GetGammaRamp) (THIS_ DWORD dwFlags,
- LPDDGAMMARAMP lpGammaRamp) PURE;
- STDMETHOD(SetGammaRamp) (THIS_ DWORD dwFlags,
- LPDDGAMMARAMP lpGammaRamp) PURE;
- };
-
- /*** IUnknown methods ***/
-#define IDirectDrawGammaControl_QueryInterface(p,a,b) ICOM_CALL_(QueryInterface,p,(p,a,b))
-#define IDirectDrawGammaControl_AddRef(p) ICOM_CALL_(AddRef,p,(p))
-#define IDirectDrawGammaControl_Release(p) ICOM_CALL_(Release,p,(p))
- /*** IDirectDrawGammaControl methods ***/
-#define IDirectDrawGammaControl_GetGammaRamp(p,a,b) ICOM_CALL_(GetGammaRamp,p,(p,a,b))
-#define IDirectDrawGammaControl_SetGammaRamp(p,a,b) ICOM_CALL_(SetGammaRamp,p,(p,a,b))
-
- HRESULT WINAPI DirectDrawCreate(LPGUID, LPDIRECTDRAW *, LPUNKNOWN);
- HRESULT WINAPI DirectDrawCreateEx(LPGUID, LPVOID *, REFIID, LPUNKNOWN);
- HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACKA, LPVOID);
- HRESULT WINAPI DirectDrawEnumerateW(LPDDENUMCALLBACKW, LPVOID);
-
-#define DirectDrawEnumerate WINELIB_NAME_AW(DirectDrawEnumerate)
- HRESULT WINAPI DirectDrawCreateClipper(DWORD, LPDIRECTDRAWCLIPPER *,
- LPUNKNOWN);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-#endif /* __XWIN_DDRAW_H */
diff --git a/xorg-server/hw/xwin/doflexbison.bat b/xorg-server/hw/xwin/doflexbison.bat
new file mode 100755
index 000000000..a29508bcb
--- /dev/null
+++ b/xorg-server/hw/xwin/doflexbison.bat
@@ -0,0 +1,18 @@
+@echo off
+setlocal
+
+cd "%~dp0"
+
+set M4=..\..\..\tools\mhmake\m4.exe
+set BISON_PKGDATADIR=../../../tools/mhmake/src/bisondata
+
+set path=..\..\..\tools\mhmake;%path%
+
+..\..\..\tools\mhmake\bison.exe -d -o%1/winprefsyacc.c winprefsyacc.y
+
+copy "..\..\..\tools\mhmake\flex++.exe" flex.exe
+flex.exe -i -o%1/winprefslex.c winprefslex.l
+del flex.exe
+
+endlocal
+
diff --git a/xorg-server/hw/xwin/glx/.gitignore b/xorg-server/hw/xwin/glx/.gitignore
index 062fd8573..70c5283ce 100644
--- a/xorg-server/hw/xwin/glx/.gitignore
+++ b/xorg-server/hw/xwin/glx/.gitignore
@@ -1,3 +1,3 @@
# ignore generated files
-generated_gl_wrappers.c
-generated_wgl_wrappers.c
+diag.txt
+
diff --git a/xorg-server/hw/xwin/glx/buildsimpledib.bat b/xorg-server/hw/xwin/glx/buildsimpledib.bat
new file mode 100755
index 000000000..1e1286bdd
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/buildsimpledib.bat
@@ -0,0 +1 @@
+cl /Zi simpledib.c kernel32.lib user32.lib gdi32.lib opengl32.lib \ No newline at end of file
diff --git a/xorg-server/hw/xwin/glx/gen_gl_wrappers.py b/xorg-server/hw/xwin/glx/gen_gl_wrappers.py
index cdbba638a..840e4366b 100644..100755
--- a/xorg-server/hw/xwin/glx/gen_gl_wrappers.py
+++ b/xorg-server/hw/xwin/glx/gen_gl_wrappers.py
@@ -1,8 +1,5 @@
#!/usr/bin/python3
#
-# python script to generate cdecl to stdcall wrappers for GL functions
-# adapted from genheaders.py
-#
# Copyright (c) 2013 The Khronos Group Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a
@@ -27,21 +24,29 @@
import sys, time, pdb, string, cProfile
from reg import *
+# debug - start header generation in debugger
+# dump - dump registry after loading
+# profile - enable Python profiling
+# protect - whether to use #ifndef protections
+# registry <filename> - use specified XML registry instead of gl.xml
+# timeit - time length of registry loading & header generation
+# validate - validate return & parameter group tags against <group>
+debug = False
+dump = False
+profile = False
+protect = True
+timeit = False
+validate= False
# Default input / log files
errFilename = None
diagFilename = 'diag.txt'
regFilename = 'gl.xml'
outFilename = 'gen_gl_wrappers.c'
-
-protect=True
+dispatchheader=None
prefix="gl"
preresolve=False
-wrapper=False
-shim=False
-thunk=False
-thunkdefs=False
staticwrappers=False
-nodebug=False
+nodebugcallcounting=False
# list of WGL extension functions we use
used_wgl_ext_fns = {key: 1 for key in [
@@ -62,45 +67,110 @@ if __name__ == '__main__':
while (i < len(sys.argv)):
arg = sys.argv[i]
i = i + 1
- if (arg == '-noprotect'):
+ if (arg == '-debug'):
+ print('Enabling debug (-debug)', file=sys.stderr)
+ debug = True
+ elif (arg == '-dump'):
+ print('Enabling dump (-dump)', file=sys.stderr)
+ dump = True
+ elif (arg == '-noprotect'):
print('Disabling inclusion protection in output headers', file=sys.stderr)
protect = False
+ elif (arg == '-profile'):
+ print('Enabling profiling (-profile)', file=sys.stderr)
+ profile = True
elif (arg == '-registry'):
regFilename = sys.argv[i]
i = i+1
- print('Using registry', regFilename, file=sys.stderr)
+ print('Using registry ', regFilename, file=sys.stderr)
+ elif (arg == '-time'):
+ print('Enabling timing (-time)', file=sys.stderr)
+ timeit = True
+ elif (arg == '-validate'):
+ print('Enabling group validation (-validate)', file=sys.stderr)
+ validate = True
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 == '-dispatchheader'):
+ dispatchheader = sys.argv[i]
+ i = i+1
elif (arg == '-prefix'):
prefix = sys.argv[i]
i = i+1
- elif (arg == '-nodebug'):
- nodebug = True
+ elif (arg == '-nodbgcount'):
+ nodebugcallcounting = True
elif (arg[0:1] == '-'):
print('Unrecognized argument:', arg, file=sys.stderr)
exit(1)
-
-print('Generating', outFilename, file=sys.stderr)
+print('Generating ', outFilename, file=sys.stderr)
+
+# Simple timer functions
+startTime = None
+def startTimer():
+ global startTime
+ startTime = time.clock()
+def endTimer(msg):
+ global startTime
+ endTime = time.clock()
+ if (timeit):
+ print(msg, endTime - startTime)
+ startTime = None
# Load & parse registry
reg = Registry()
+
+startTimer()
tree = etree.parse(regFilename)
-reg.loadElementTree(tree)
+endTimer('Time to make ElementTree =')
-allVersions = '.*'
+startTimer()
+reg.loadElementTree(tree)
+endTimer('Time to parse ElementTree =')
+
+if (validate):
+ reg.validateGroups()
+
+if (dump):
+ print('***************************************')
+ print('Performing Registry dump to regdump.txt')
+ print('***************************************')
+ reg.dumpReg(filehandle = open('regdump.txt','w'))
+
+# Turn a list of strings into a regexp string matching exactly those strings
+def makeREstring(list):
+ return '^(' + '|'.join(list) + ')$'
+
+# These are "mandatory" OpenGL ES 1 extensions, to
+# be included in the core GLES/gl.h header.
+es1CoreList = [
+ 'GL_OES_read_format',
+ 'GL_OES_compressed_paletted_texture',
+ 'GL_OES_point_size_array',
+ 'GL_OES_point_sprite'
+]
+
+# Descriptive names for various regexp patterns used to select
+# versions and extensions
+
+allVersions = allExtensions = '.*'
+noVersions = noExtensions = None
+gl12andLaterPat = '1\.[2-9]|[234]\.[0-9]'
+gles2onlyPat = '2\.[0-9]'
+gles2and3Pat = '[23]\.[0-9]'
+es1CorePat = makeREstring(es1CoreList)
+# Extensions in old glcorearb.h but not yet tagged accordingly in gl.xml
+glCoreARBPat = None
+glx13andLaterPat = '1\.[3-9]'
+
+# Defaults for generating re-inclusion protection wrappers (or not)
+protectFile = protect
+protectFeature = protect
+protectProto = protect
genOpts = CGeneratorOptions(
apiname = prefix,
@@ -108,9 +178,16 @@ genOpts = CGeneratorOptions(
versions = allVersions,
emitversions = allVersions,
defaultExtensions = prefix, # Default extensions for GL
- protectFile = protect,
- protectFeature = protect,
- protectProto = protect,
+# addExtensions = None,
+# removeExtensions = None,
+# prefixText = prefixStrings + glExtPlatformStrings + glextVersionStrings,
+# genFuncPointers = True,
+# protectFile = protectFile,
+# protectFeature = protectFeature,
+# protectProto = protectProto,
+# apicall = 'GLAPI ',
+# apientry = 'APIENTRY ',
+# apientryp = 'APIENTRYP '),
)
# create error/warning & diagnostic files
@@ -120,6 +197,28 @@ else:
errWarn = sys.stderr
diag = open(diagFilename, 'w')
+#
+# look for all the SET_ macros in dispatch.h, this is the set of functions
+# we need to generate
+#
+
+dispatch = {}
+
+if dispatchheader :
+ fh = open(dispatchheader)
+ dispatchh = fh.readlines()
+
+ dispatch_regex = re.compile(r'(?:#define|static\s+INLINE\s+void)\s+SET_([^\()]+)\(')
+
+ for line in dispatchh :
+ line = line.strip()
+ m1 = dispatch_regex.search(line)
+
+ if m1 :
+ dispatch[prefix+m1.group(1)] = 1
+
+ del dispatch['glby_offset']
+
class PreResolveOutputGenerator(OutputGenerator):
def __init__(self,
errFile = sys.stderr,
@@ -128,7 +227,7 @@ class PreResolveOutputGenerator(OutputGenerator):
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)
+ pass
def endFile(self):
self.outFile.write('\nvoid ' + prefix + 'ResolveExtensionProcs(void)\n{\n')
for funcname in self.wrappers.keys():
@@ -136,6 +235,7 @@ class PreResolveOutputGenerator(OutputGenerator):
self.outFile.write('}\n\n')
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):
@@ -144,21 +244,21 @@ class PreResolveOutputGenerator(OutputGenerator):
OutputGenerator.genEnum(self, enuminfo, name)
def genCmd(self, cmd, name):
OutputGenerator.genCmd(self, cmd, name)
-
if prefix == 'wgl' and not name in used_wgl_ext_fns:
return
self.outFile.write('RESOLVE_DECL(PFN' + name.upper() + 'PROC);\n')
self.wrappers[name]=1
-class WrapperOutputGenerator(OutputGenerator):
+class MyOutputGenerator(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)
+ pass
def endFile(self):
pass
def beginFeature(self, interface, emit):
@@ -172,18 +272,26 @@ class WrapperOutputGenerator(OutputGenerator):
OutputGenerator.genEnum(self, enuminfo, name)
def genCmd(self, cmd, name):
OutputGenerator.genCmd(self, cmd, name)
+ # Avoid generating wrappers which aren't referenced by the dispatch table
+ if dispatchheader and not name in dispatch :
+ self.outFile.write('/* No wrapper for ' + name + ', not in dispatch table */\n')
+ return
if prefix == 'wgl' and not name in used_wgl_ext_fns:
return
+ self.wrappers[name]=1
+
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()
+ #ptype=proto.find("ptype")
+ #if ptype!=None:
+ # rettype = (noneStr(ptype.text))+" "
if staticwrappers: self.outFile.write("static ")
- self.outFile.write("%s %sWrapper("%(rettype, name))
+ self.outFile.write("%s__stdcall %sWrapper("%(rettype, name))
params = cmd.elem.findall('param')
plist=[]
for param in params:
@@ -198,230 +306,55 @@ class WrapperOutputGenerator(OutputGenerator):
Comma=", "
else:
self.outFile.write("void")
-
- self.outFile.write(")\n{\n")
-
- # 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")
-
- if rettype.lower()=="void":
- self.outFile.write(" %s( "%(name))
+ if nodebugcallcounting:
+ self.outFile.write(")\n{\n")
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 rettype.lower()=="void":
- self.outFile.write(' RESOLVE(PFN%sPROC, "%s");\n'%(name.upper(), name))
-
- 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")
-
- self.outFile.write(" RESOLVED_PROC(PFN%sPROC)( """%(name.upper()))
- else:
- self.outFile.write(' RESOLVE_RET(PFN%sPROC, "%s", FALSE);\n'%(name.upper(), name))
-
- 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")
-
- 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 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)
-
- 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")
-
- self.outFile.write(")\n{\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( """)
+{
+#ifdef _DEBUG
+ if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");
+ glWinDirectProcCalls++;
+#endif
+"""%(prefix.upper(), name))
+ 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()))
+ if rettype.lower()=="void ":
+ self.outFile.write(""")
+{
+ RESOLVE(PFN%sPROC, "%s");"""%(name.upper(), name))
+ if not nodebugcallcounting: self.outFile.write("""
+#ifdef _DEBUG
+ if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");
+#endif"""%(prefix.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()))
-
+ self.outFile.write(""")
+{
+ RESOLVE_RET(PFN%sPROC, "%s", FALSE);"""%(name.upper(), name))
+ if not nodebugcallcounting: self.outFile.write("""
+#ifdef _DEBUG
+ if (glxWinDebugSettings.enable%scallTrace) ErrorF("%s\\n");
+#endif"""%(prefix.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():
+ startTimer()
outFile = open(outFilename,"w")
-
if preresolve:
gen = PreResolveOutputGenerator(errFile=errWarn,
warnFile=errWarn,
@@ -429,40 +362,40 @@ def genHeaders():
gen.outFile=outFile
reg.setGenerator(gen)
reg.apiGen(genOpts)
+ gen = MyOutputGenerator(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)
+ # 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 shim:
- gen = ShimOutputGenerator(errFile=errWarn,
- warnFile=errWarn,
- diagFile=diag)
- gen.outFile=outFile
- reg.setGenerator(gen)
- reg.apiGen(genOpts)
+ if dispatchheader :
+ outFile.write( 'void glWinSetupDispatchTable(void)\n')
+ outFile.write( '{\n')
+ outFile.write( ' struct _glapi_table *disp = _glapi_get_dispatch();\n')
- if thunk:
- gen = ThunkOutputGenerator(errFile=errWarn,
- warnFile=errWarn,
- diagFile=diag)
- gen.outFile=outFile
- reg.setGenerator(gen)
- reg.apiGen(genOpts)
+ for d in sorted(dispatch.keys()) :
+ if d in gen.wrappers :
+ outFile.write(' SET_'+ d[len(prefix):] + '(disp, (void *)' + d + 'Wrapper);\n')
+ else :
+ outFile.write('#pragma message("No wrapper for ' + d + ' !")\n')
+
+ outFile.write('}\n')
- if thunkdefs:
- gen = ThunkDefsOutputGenerator(errFile=errWarn,
- warnFile=errWarn,
- diagFile=diag)
- gen.outFile=outFile
- reg.setGenerator(gen)
- reg.apiGen(genOpts)
outFile.close()
-genHeaders()
+if (debug):
+ pdb.run('genHeaders()')
+elif (profile):
+ import cProfile, pstats
+ cProfile.run('genHeaders()', 'profile.txt')
+ p = pstats.Stats('profile.txt')
+ p.strip_dirs().sort_stats('time').print_stats(50)
+else:
+ genHeaders()
diff --git a/xorg-server/hw/xwin/glx/genheaders.py b/xorg-server/hw/xwin/glx/genheaders.py
new file mode 100644
index 000000000..78a4a4321
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/genheaders.py
@@ -0,0 +1,578 @@
+#!/usr/bin/env python
+#
+# Copyright (c) 2013-2014 The Khronos Group Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# 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 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, time, pdb, string, cProfile
+from reg import *
+
+# debug - start header generation in debugger
+# dump - dump registry after loading
+# profile - enable Python profiling
+# protect - whether to use #ifndef protections
+# registry <filename> - use specified XML registry instead of gl.xml
+# target - string name of target header, or all targets if None
+# timeit - time length of registry loading & header generation
+# validate - validate return & parameter group tags against <group>
+debug = False
+dump = False
+profile = False
+protect = True
+target = None
+timeit = False
+validate= False
+# Default input / log files
+errFilename = None
+diagFilename = 'diag.txt'
+regFilename = 'gl.xml'
+
+if __name__ == '__main__':
+ i = 1
+ while (i < len(sys.argv)):
+ arg = sys.argv[i]
+ i = i + 1
+ if (arg == '-debug'):
+ write('Enabling debug (-debug)', file=sys.stderr)
+ debug = True
+ elif (arg == '-dump'):
+ write('Enabling dump (-dump)', file=sys.stderr)
+ dump = True
+ elif (arg == '-noprotect'):
+ write('Disabling inclusion protection in output headers', file=sys.stderr)
+ protect = False
+ elif (arg == '-profile'):
+ write('Enabling profiling (-profile)', file=sys.stderr)
+ profile = True
+ elif (arg == '-registry'):
+ regFilename = sys.argv[i]
+ i = i+1
+ write('Using registry ', regFilename, file=sys.stderr)
+ elif (arg == '-time'):
+ write('Enabling timing (-time)', file=sys.stderr)
+ timeit = True
+ elif (arg == '-validate'):
+ write('Enabling group validation (-validate)', file=sys.stderr)
+ validate = True
+ elif (arg[0:1] == '-'):
+ write('Unrecognized argument:', arg, file=sys.stderr)
+ exit(1)
+ else:
+ target = arg
+ write('Using target', target, file=sys.stderr)
+
+# Simple timer functions
+startTime = None
+def startTimer():
+ global startTime
+ startTime = time.clock()
+def endTimer(msg):
+ global startTime
+ endTime = time.clock()
+ if (timeit):
+ write(msg, endTime - startTime)
+ startTime = None
+
+# Load & parse registry
+reg = Registry()
+
+startTimer()
+tree = etree.parse(regFilename)
+endTimer('Time to make ElementTree =')
+
+startTimer()
+reg.loadElementTree(tree)
+endTimer('Time to parse ElementTree =')
+
+if (validate):
+ reg.validateGroups()
+
+if (dump):
+ write('***************************************')
+ write('Performing Registry dump to regdump.txt')
+ write('***************************************')
+ reg.dumpReg(filehandle = open('regdump.txt','w'))
+
+# Turn a list of strings into a regexp string matching exactly those strings
+def makeREstring(list):
+ return '^(' + '|'.join(list) + ')$'
+
+# These are "mandatory" OpenGL ES 1 extensions, to
+# be included in the core GLES/gl.h header.
+es1CoreList = [
+ 'GL_OES_read_format',
+ 'GL_OES_compressed_paletted_texture',
+ 'GL_OES_point_size_array',
+ 'GL_OES_point_sprite'
+]
+
+# Descriptive names for various regexp patterns used to select
+# versions and extensions
+
+allVersions = allExtensions = '.*'
+noVersions = noExtensions = None
+gl12andLaterPat = '1\.[2-9]|[234]\.[0-9]'
+gles2onlyPat = '2\.[0-9]'
+gles2and30Pat = '2\.[0-9]|3.0'
+gles2and30and31Pat = '2.[0-9]|3.[01]'
+es1CorePat = makeREstring(es1CoreList)
+# Extensions in old glcorearb.h but not yet tagged accordingly in gl.xml
+glCoreARBPat = None
+glx13andLaterPat = '1\.[3-9]'
+
+# Copyright text prefixing all headers (list of strings).
+prefixStrings = [
+ '/*',
+ '** Copyright (c) 2013-2014 The Khronos Group Inc.',
+ '**',
+ '** Permission is hereby granted, free of charge, to any person obtaining a',
+ '** 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 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.',
+ '*/',
+ '/*',
+ '** This header is generated from the Khronos OpenGL / OpenGL ES XML',
+ '** API Registry. The current version of the Registry, generator scripts',
+ '** used to make the header, and the header can be found at',
+ '** http://www.opengl.org/registry/',
+ '**',
+ '** Khronos $' + 'Revision$ on $' + 'Date$',
+ '*/',
+ ''
+]
+
+# glext.h / glcorearb.h define calling conventions inline (no GL *platform.h)
+glExtPlatformStrings = [
+ '#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)',
+ '#ifndef WIN32_LEAN_AND_MEAN',
+ '#define WIN32_LEAN_AND_MEAN 1',
+ '#endif',
+ '#include <windows.h>',
+ '#endif',
+ '',
+ '#ifndef APIENTRY',
+ '#define APIENTRY',
+ '#endif',
+ '#ifndef APIENTRYP',
+ '#define APIENTRYP APIENTRY *',
+ '#endif',
+ '#ifndef GLAPI',
+ '#define GLAPI extern',
+ '#endif',
+ ''
+]
+
+glCorearbPlatformStrings = glExtPlatformStrings + [
+ '/* glcorearb.h is for use with OpenGL core profile implementations.',
+ '** It should should be placed in the same directory as gl.h and',
+ '** included as <GL/glcorearb.h>.',
+ '**',
+ '** glcorearb.h includes only APIs in the latest OpenGL core profile',
+ '** implementation together with APIs in newer ARB extensions which ',
+ '** can be supported by the core profile. It does not, and never will',
+ '** include functionality removed from the core profile, such as',
+ '** fixed-function vertex and fragment processing.',
+ '**',
+ '** Do not #include both <GL/glcorearb.h> and either of <GL/gl.h> or',
+ '** <GL/glext.h> in the same source file.',
+ '*/',
+ ''
+]
+
+# wglext.h needs Windows include
+wglPlatformStrings = [
+ '#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)',
+ '#define WIN32_LEAN_AND_MEAN 1',
+ '#include <windows.h>',
+ '#endif',
+ '',
+]
+
+# GLES 1/2/3 core .h have separate *platform.h files to define calling conventions
+gles1PlatformStrings = [ '#include <GLES/glplatform.h>', '' ]
+gles2PlatformStrings = [ '#include <GLES2/gl2platform.h>', '' ]
+gles3PlatformStrings = [ '#include <GLES3/gl3platform.h>', '' ]
+eglPlatformStrings = [ '#include <EGL/eglplatform.h>', '' ]
+
+# GLES 1/2 extension .h have small addition to calling convention headers
+gles1ExtPlatformStrings = gles2ExtPlatformStrings = [
+ '#ifndef GL_APIENTRYP',
+ '#define GL_APIENTRYP GL_APIENTRY*',
+ '#endif',
+ ''
+]
+
+# Insert generation date in a comment for headers not having *GLEXT_VERSION macros
+genDateCommentString = [
+ format("/* Generated on date %s */" % time.strftime("%Y%m%d")),
+ ''
+]
+
+# GL_GLEXT_VERSION is defined only in glext.h
+glextVersionStrings = [
+ format("#define GL_GLEXT_VERSION %s" % time.strftime("%Y%m%d")),
+ ''
+]
+# WGL_WGLEXT_VERSION is defined only in wglext.h
+wglextVersionStrings = [
+ format("#define WGL_WGLEXT_VERSION %s" % time.strftime("%Y%m%d")),
+ ''
+]
+# GLX_GLXEXT_VERSION is defined only in glxext.h
+glxextVersionStrings = [
+ format("#define GLX_GLXEXT_VERSION %s" % time.strftime("%Y%m%d")),
+ ''
+]
+# EGL_EGLEXT_VERSION is defined only in eglext.h
+eglextVersionStrings = [
+ format("#define EGL_EGLEXT_VERSION %s" % time.strftime("%Y%m%d")),
+ ''
+]
+
+# Defaults for generating re-inclusion protection wrappers (or not)
+protectFile = protect
+protectFeature = protect
+protectProto = protect
+
+buildList = [
+ # GL API 1.2+ + extensions - GL/glext.h
+ CGeneratorOptions(
+ filename = 'GL/glext.h',
+ apiname = 'gl',
+ profile = 'compatibility',
+ versions = allVersions,
+ emitversions = gl12andLaterPat,
+ defaultExtensions = 'gl', # Default extensions for GL
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + glExtPlatformStrings + glextVersionStrings,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GLAPI ',
+ apientry = 'APIENTRY ',
+ apientryp = 'APIENTRYP '),
+ # GL core profile + extensions - GL/glcorearb.h
+ CGeneratorOptions(
+ filename = 'GL/glcorearb.h',
+ apiname = 'gl',
+ profile = 'core',
+ versions = allVersions,
+ emitversions = allVersions,
+ defaultExtensions = 'glcore', # Default extensions for GL core profile (only)
+ addExtensions = glCoreARBPat,
+ removeExtensions = None,
+ prefixText = prefixStrings + glCorearbPlatformStrings,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GLAPI ',
+ apientry = 'APIENTRY ',
+ apientryp = 'APIENTRYP '),
+ # GLES 1.x API + mandatory extensions - GLES/gl.h (no function pointers)
+ CGeneratorOptions(
+ filename = 'GLES/gl.h',
+ apiname = 'gles1',
+ profile = 'common',
+ versions = allVersions,
+ emitversions = allVersions,
+ defaultExtensions = None, # No default extensions
+ addExtensions = es1CorePat, # Add mandatory ES1 extensions in GLES1/gl.h
+ removeExtensions = None,
+ prefixText = prefixStrings + gles1PlatformStrings + genDateCommentString,
+ genFuncPointers = False,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = False, # Core ES API functions are in the static link libraries
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GL_API ',
+ apientry = 'GL_APIENTRY ',
+ apientryp = 'GL_APIENTRYP '),
+ # GLES 1.x extensions - GLES/glext.h
+ CGeneratorOptions(
+ filename = 'GLES/glext.h',
+ apiname = 'gles1',
+ profile = 'common',
+ versions = allVersions,
+ emitversions = noVersions,
+ defaultExtensions = 'gles1', # Default extensions for GLES 1
+ addExtensions = None,
+ removeExtensions = es1CorePat, # Remove mandatory ES1 extensions in GLES1/glext.h
+ prefixText = prefixStrings + gles1ExtPlatformStrings + genDateCommentString,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GL_API ',
+ apientry = 'GL_APIENTRY ',
+ apientryp = 'GL_APIENTRYP '),
+ # GLES 2.0 API - GLES2/gl2.h (no function pointers)
+ CGeneratorOptions(
+ filename = 'GLES2/gl2.h',
+ apiname = 'gles2',
+ profile = 'common',
+ versions = gles2onlyPat,
+ emitversions = allVersions,
+ defaultExtensions = None, # No default extensions
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + gles2PlatformStrings + genDateCommentString,
+ genFuncPointers = False,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = False, # Core ES API functions are in the static link libraries
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GL_APICALL ',
+ apientry = 'GL_APIENTRY ',
+ apientryp = 'GL_APIENTRYP '),
+ # GLES 3.1 / 3.0 / 2.0 extensions - GLES2/gl2ext.h
+ CGeneratorOptions(
+ filename = 'GLES2/gl2ext.h',
+ apiname = 'gles2',
+ profile = 'common',
+ versions = gles2onlyPat,
+ emitversions = None,
+ defaultExtensions = 'gles2', # Default extensions for GLES 2
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + gles2ExtPlatformStrings + genDateCommentString,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GL_APICALL ',
+ apientry = 'GL_APIENTRY ',
+ apientryp = 'GL_APIENTRYP '),
+ # GLES 3.1 API - GLES3/gl31.h (no function pointers)
+ CGeneratorOptions(
+ filename = 'GLES3/gl31.h',
+ apiname = 'gles2',
+ profile = 'common',
+ versions = gles2and30and31Pat,
+ emitversions = allVersions,
+ defaultExtensions = None, # No default extensions
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + gles3PlatformStrings + genDateCommentString,
+ genFuncPointers = False,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = False, # Core ES API functions are in the static link libraries
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GL_APICALL ',
+ apientry = 'GL_APIENTRY ',
+ apientryp = 'GL_APIENTRYP '),
+ # GLES 3.0 API - GLES3/gl3.h (no function pointers)
+ CGeneratorOptions(
+ filename = 'GLES3/gl3.h',
+ apiname = 'gles2',
+ profile = 'common',
+ versions = gles2and30Pat,
+ emitversions = allVersions,
+ defaultExtensions = None, # No default extensions
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + gles3PlatformStrings + genDateCommentString,
+ genFuncPointers = False,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = False, # Core ES API functions are in the static link libraries
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GL_APICALL ',
+ apientry = 'GL_APIENTRY ',
+ apientryp = 'GL_APIENTRYP '),
+ # EGL API - EGL/egl.h (no function pointers, yet @@@)
+ CGeneratorOptions(
+ filename = 'EGL/egl.h',
+ apiname = 'egl',
+ profile = None,
+ versions = allVersions,
+ emitversions = allVersions,
+ defaultExtensions = None, # No default extensions
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + eglPlatformStrings + genDateCommentString,
+ genFuncPointers = False,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = False,
+ protectProtoStr = 'EGL_EGLEXT_PROTOTYPES',
+ apicall = 'EGLAPI ',
+ apientry = 'EGLAPIENTRY ',
+ apientryp = 'EGLAPIENTRYP '),
+ # EGL extensions - EGL/eglext.h (no function pointers, yet @@@)
+ CGeneratorOptions(
+ filename = 'EGL/eglext.h',
+ apiname = 'egl',
+ profile = None,
+ versions = allVersions,
+ emitversions = None,
+ defaultExtensions = 'egl', # Default extensions for EGL
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + eglPlatformStrings + eglextVersionStrings,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'EGL_EGLEXT_PROTOTYPES',
+ apicall = 'EGLAPI ',
+ apientry = 'EGLAPIENTRY ',
+ apientryp = 'EGLAPIENTRYP '),
+ # GLX 1.* API - GL/glx.h
+ CGeneratorOptions(
+ filename = 'GL/glx.h',
+ apiname = 'glx',
+ profile = None,
+ versions = allVersions,
+ emitversions = allVersions,
+ defaultExtensions = None, # No default extensions
+ addExtensions = None,
+ removeExtensions = None,
+ # add glXPlatformStrings?
+ prefixText = prefixStrings + genDateCommentString,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'GLX_GLXEXT_PROTOTYPES',
+ apicall = '',
+ apientry = '',
+ apientryp = ' *'),
+ # GLX 1.3+ API + extensions - GL/glxext.h (no function pointers, yet @@@)
+ CGeneratorOptions(
+ filename = 'GL/glxext.h',
+ apiname = 'glx',
+ profile = None,
+ versions = allVersions,
+ emitversions = glx13andLaterPat,
+ defaultExtensions = 'glx', # Default extensions for GLX
+ addExtensions = None,
+ removeExtensions = None,
+ # add glXPlatformStrings?
+ prefixText = prefixStrings + glxextVersionStrings,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'GLX_GLXEXT_PROTOTYPES',
+ apicall = '',
+ apientry = '',
+ apientryp = ' *'),
+ # WGL API + extensions - GL/wgl.h (no function pointers, yet @@@)
+ CGeneratorOptions(
+ filename = 'GL/wgl.h',
+ apiname = 'wgl',
+ profile = None,
+ versions = allVersions,
+ emitversions = allVersions,
+ defaultExtensions = 'wgl', # Default extensions for WGL
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + wglPlatformStrings + genDateCommentString,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'WGL_WGLEXT_PROTOTYPES',
+ apicall = '',
+ apientry = 'WINAPI ',
+ apientryp = 'WINAPI * '),
+ # WGL extensions - GL/wglext.h (no function pointers, yet @@@)
+ CGeneratorOptions(
+ filename = 'GL/wglext.h',
+ apiname = 'wgl',
+ profile = None,
+ versions = allVersions,
+ emitversions = None,
+ defaultExtensions = 'wgl', # Default extensions for WGL
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + wglPlatformStrings + wglextVersionStrings,
+ genFuncPointers = True,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = protectProto,
+ protectProtoStr = 'WGL_WGLEXT_PROTOTYPES',
+ apicall = '',
+ apientry = 'WINAPI ',
+ apientryp = 'WINAPI * '),
+ # End of list
+ None
+]
+
+# create error/warning & diagnostic files
+if (errFilename):
+ errWarn = open(errFilename,'w')
+else:
+ errWarn = sys.stderr
+diag = open(diagFilename, 'w')
+
+def genHeaders():
+ # Loop over targets, building each
+ generated = 0
+ for genOpts in buildList:
+ if (genOpts == None):
+ break
+ if (target and target != genOpts.filename):
+ # write('*** Skipping', genOpts.filename)
+ continue
+ write('*** Building', genOpts.filename)
+ generated = generated + 1
+ startTimer()
+ gen = COutputGenerator(errFile=errWarn,
+ warnFile=errWarn,
+ diagFile=diag)
+ reg.setGenerator(gen)
+ reg.apiGen(genOpts)
+ write('** Generated', genOpts.filename)
+ endTimer('Time to generate ' + genOpts.filename + ' =')
+ if (target and generated == 0):
+ write('Failed to generate target:', target)
+
+if (debug):
+ pdb.run('genHeaders()')
+elif (profile):
+ import cProfile, pstats
+ cProfile.run('genHeaders()', 'profile.txt')
+ p = pstats.Stats('profile.txt')
+ p.strip_dirs().sort_stats('time').print_stats(50)
+else:
+ genHeaders()
diff --git a/xorg-server/hw/xwin/glx/gl.xml b/xorg-server/hw/xwin/glx/gl.xml
new file mode 100644
index 000000000..7f46d566c
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/gl.xml
@@ -0,0 +1,42251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<registry>
+ <comment>
+Copyright (c) 2013-2014 The Khronos Group Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+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 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.
+
+------------------------------------------------------------------------
+
+This file, gl.xml, is the OpenGL and OpenGL API Registry. The older
+".spec" file format has been retired and will no longer be updated with
+new extensions and API versions. The canonical version of the registry,
+together with documentation, schema, and Python generator scripts used
+to generate C header files for OpenGL and OpenGL ES, can always be found
+in the Khronos Registry at
+ http://www.opengl.org/registry/
+ </comment>
+
+ <!-- SECTION: GL type definitions. -->
+ <types>
+ <!-- These are dependencies GL types require to be declared legally -->
+ <type name="stddef">#include &lt;stddef.h&gt;</type>
+ <type name="khrplatform">#include &lt;KHR/khrplatform.h&gt;</type>
+ <type name="inttypes">#ifndef GLEXT_64_TYPES_DEFINED
+/* This code block is duplicated in glxext.h, so must be protected */
+#define GLEXT_64_TYPES_DEFINED
+/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+/* (as used in the GL_EXT_timer_query extension). */
+#if defined(__STDC_VERSION__) &amp;&amp; __STDC_VERSION__ &gt;= 199901L
+#include &lt;inttypes.h&gt;
+#elif defined(__sun__) || defined(__digital__)
+#include &lt;inttypes.h&gt;
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include &lt;inttypes.h&gt;
+#elif defined(__SCO__) || defined(__USLC__)
+#include &lt;stdint.h&gt;
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) &amp;&amp; defined(__GNUC__)
+#include &lt;stdint.h&gt;
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+/* Fallback if nothing above works */
+#include &lt;inttypes.h&gt;
+#endif
+#endif</type>
+ <!-- These are actual GL types -->
+ <type>typedef unsigned int <name>GLenum</name>;</type>
+ <type>typedef unsigned char <name>GLboolean</name>;</type>
+ <type>typedef unsigned int <name>GLbitfield</name>;</type>
+ <type comment="Not an actual GL type, though used in headers in the past">typedef void <name>GLvoid</name>;</type>
+ <type>typedef signed char <name>GLbyte</name>;</type>
+ <type>typedef short <name>GLshort</name>;</type>
+ <type>typedef int <name>GLint</name>;</type>
+ <type>typedef int <name>GLclampx</name>;</type>
+ <type>typedef unsigned char <name>GLubyte</name>;</type>
+ <type>typedef unsigned short <name>GLushort</name>;</type>
+ <type>typedef unsigned int <name>GLuint</name>;</type>
+ <type>typedef int <name>GLsizei</name>;</type>
+ <type>typedef float <name>GLfloat</name>;</type>
+ <type>typedef float <name>GLclampf</name>;</type>
+ <type>typedef double <name>GLdouble</name>;</type>
+ <type>typedef double <name>GLclampd</name>;</type>
+ <type>typedef void *<name>GLeglImageOES</name>;</type>
+ <type>typedef char <name>GLchar</name>;</type>
+ <type>typedef char <name>GLcharARB</name>;</type>
+ <type name="GLhandleARB">#ifdef __APPLE__
+typedef void *GLhandleARB;
+#else
+typedef unsigned int GLhandleARB;
+#endif</type>
+ <type>typedef unsigned short <name>GLhalfARB</name>;</type>
+ <type>typedef unsigned short <name>GLhalf</name>;</type>
+ <type comment="Must be 32 bits">typedef GLint <name>GLfixed</name>;</type>
+ <type requires="stddef">typedef ptrdiff_t <name>GLintptr</name>;</type>
+ <type requires="stddef">typedef ptrdiff_t <name>GLsizeiptr</name>;</type>
+ <type requires="inttypes">typedef int64_t <name>GLint64</name>;</type>
+ <type requires="inttypes">typedef uint64_t <name>GLuint64</name>;</type>
+ <type requires="stddef">typedef ptrdiff_t <name>GLintptrARB</name>;</type>
+ <type requires="stddef">typedef ptrdiff_t <name>GLsizeiptrARB</name>;</type>
+ <type requires="inttypes">typedef int64_t <name>GLint64EXT</name>;</type>
+ <type requires="inttypes">typedef uint64_t <name>GLuint64EXT</name>;</type>
+ <type>typedef struct __GLsync *<name>GLsync</name>;</type>
+ <type comment="compatible with OpenCL cl_context"><name>struct _cl_context</name>;</type>
+ <type comment="compatible with OpenCL cl_event"><name>struct _cl_event</name>;</type>
+ <type>typedef void (<apientry/> *<name>GLDEBUGPROC</name>)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);</type>
+ <type>typedef void (<apientry/> *<name>GLDEBUGPROCARB</name>)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);</type>
+ <type>typedef void (<apientry/> *<name>GLDEBUGPROCKHR</name>)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);</type>
+ <!-- GLES 1 types -->
+ <type api="gles1" requires="khrplatform">typedef khronos_int32_t <name>GLclampx</name>;</type>
+ <!-- GLES 1/2 types (tagged for GLES 1) -->
+ <type api="gles1" requires="khrplatform">typedef khronos_int8_t <name>GLbyte</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_float_t <name>GLfloat</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_float_t <name>GLclampf</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_int32_t <name>GLfixed</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_int64_t <name>GLint64</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_uint64_t <name>GLuint64</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>
+ <type api="gles1" requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptr</name>;</type>
+ <!-- GLES 1/2 types (tagged for GLES 2 - attribute syntax is limited) -->
+ <type api="gles2" requires="khrplatform">typedef khronos_int8_t <name>GLbyte</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_uint8_t <name>GLubyte</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_float_t <name>GLfloat</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_float_t <name>GLclampf</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_int32_t <name>GLfixed</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_int64_t <name>GLint64</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_uint64_t <name>GLuint64</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_int64_t <name>GLint64EXT</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_uint64_t <name>GLuint64EXT</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>
+ <type api="gles2" requires="khrplatform">typedef khronos_ssize_t <name>GLsizeiptr</name>;</type>
+ <!-- GLES 2 types (none currently) -->
+ <!-- Vendor extension types -->
+ <type>typedef void (<apientry/> *<name>GLDEBUGPROCAMD</name>)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);</type>
+ <type>typedef unsigned short <name>GLhalfNV</name>;</type>
+ <type requires="GLintptr">typedef GLintptr <name>GLvdpauSurfaceNV</name>;</type>
+ </types>
+
+ <!-- SECTION: GL parameter class type definitions. -->
+
+ <groups>
+ <group name="AccumOp">
+ <enum name="GL_ACCUM"/>
+ <enum name="GL_LOAD"/>
+ <enum name="GL_RETURN"/>
+ <enum name="GL_MULT"/>
+ <enum name="GL_ADD"/>
+ </group>
+
+ <group name="AttribMask">
+ <enum name="GL_ACCUM_BUFFER_BIT"/>
+ <enum name="GL_ALL_ATTRIB_BITS"/>
+ <enum name="GL_COLOR_BUFFER_BIT"/>
+ <enum name="GL_CURRENT_BIT"/>
+ <enum name="GL_DEPTH_BUFFER_BIT"/>
+ <enum name="GL_ENABLE_BIT"/>
+ <enum name="GL_EVAL_BIT"/>
+ <enum name="GL_FOG_BIT"/>
+ <enum name="GL_HINT_BIT"/>
+ <enum name="GL_LIGHTING_BIT"/>
+ <enum name="GL_LINE_BIT"/>
+ <enum name="GL_LIST_BIT"/>
+ <enum name="GL_MULTISAMPLE_BIT"/>
+ <enum name="GL_MULTISAMPLE_BIT_3DFX"/>
+ <enum name="GL_MULTISAMPLE_BIT_ARB"/>
+ <enum name="GL_MULTISAMPLE_BIT_EXT"/>
+ <enum name="GL_PIXEL_MODE_BIT"/>
+ <enum name="GL_POINT_BIT"/>
+ <enum name="GL_POLYGON_BIT"/>
+ <enum name="GL_POLYGON_STIPPLE_BIT"/>
+ <enum name="GL_SCISSOR_BIT"/>
+ <enum name="GL_STENCIL_BUFFER_BIT"/>
+ <enum name="GL_TEXTURE_BIT"/>
+ <enum name="GL_TRANSFORM_BIT"/>
+ <enum name="GL_VIEWPORT_BIT"/>
+ </group>
+
+ <group name="AlphaFunction">
+ <enum name="GL_ALWAYS"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_GEQUAL"/>
+ <enum name="GL_GREATER"/>
+ <enum name="GL_LEQUAL"/>
+ <enum name="GL_LESS"/>
+ <enum name="GL_NEVER"/>
+ <enum name="GL_NOTEQUAL"/>
+ </group>
+
+ <group name="BlendEquationModeEXT">
+ <enum name="GL_ALPHA_MAX_SGIX"/>
+ <enum name="GL_ALPHA_MIN_SGIX"/>
+ <enum name="GL_FUNC_ADD_EXT"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT_EXT"/>
+ <enum name="GL_FUNC_SUBTRACT_EXT"/>
+ <enum name="GL_LOGIC_OP"/>
+ <enum name="GL_MAX_EXT"/>
+ <enum name="GL_MIN_EXT"/>
+ </group>
+
+ <group name="BlendingFactorDest">
+ <enum name="GL_CONSTANT_ALPHA_EXT"/>
+ <enum name="GL_CONSTANT_COLOR_EXT"/>
+ <enum name="GL_DST_ALPHA"/>
+ <enum name="GL_ONE"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
+ <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC_COLOR"/>
+ <enum name="GL_SRC_ALPHA"/>
+ <enum name="GL_SRC_COLOR"/>
+ <enum name="GL_ZERO"/>
+ </group>
+
+ <group name="BlendingFactorSrc">
+ <enum name="GL_CONSTANT_ALPHA_EXT"/>
+ <enum name="GL_CONSTANT_COLOR_EXT"/>
+ <enum name="GL_DST_ALPHA"/>
+ <enum name="GL_DST_COLOR"/>
+ <enum name="GL_ONE"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
+ <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum name="GL_ONE_MINUS_DST_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum name="GL_SRC_ALPHA"/>
+ <enum name="GL_SRC_ALPHA_SATURATE"/>
+ <enum name="GL_ZERO"/>
+ </group>
+
+ <group name="Boolean">
+ <enum name="GL_FALSE"/>
+ <enum name="GL_TRUE"/>
+ </group>
+
+ <group name="ClearBufferMask">
+ <enum name="GL_ACCUM_BUFFER_BIT"/>
+ <enum name="GL_COLOR_BUFFER_BIT"/>
+ <enum name="GL_COVERAGE_BUFFER_BIT_NV"/>
+ <enum name="GL_DEPTH_BUFFER_BIT"/>
+ <enum name="GL_STENCIL_BUFFER_BIT"/>
+ </group>
+
+ <group name="ClientAttribMask">
+ <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
+ <enum name="GL_CLIENT_PIXEL_STORE_BIT"/>
+ <enum name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
+ </group>
+
+ <group name="ClipPlaneName">
+ <enum name="GL_CLIP_DISTANCE0"/>
+ <enum name="GL_CLIP_DISTANCE1"/>
+ <enum name="GL_CLIP_DISTANCE2"/>
+ <enum name="GL_CLIP_DISTANCE3"/>
+ <enum name="GL_CLIP_DISTANCE4"/>
+ <enum name="GL_CLIP_DISTANCE5"/>
+ <enum name="GL_CLIP_DISTANCE6"/>
+ <enum name="GL_CLIP_DISTANCE7"/>
+ <enum name="GL_CLIP_PLANE0"/>
+ <enum name="GL_CLIP_PLANE1"/>
+ <enum name="GL_CLIP_PLANE2"/>
+ <enum name="GL_CLIP_PLANE3"/>
+ <enum name="GL_CLIP_PLANE4"/>
+ <enum name="GL_CLIP_PLANE5"/>
+ </group>
+
+ <group name="ColorMaterialFace">
+ <enum name="GL_BACK"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_FRONT_AND_BACK"/>
+ </group>
+
+ <group name="ColorMaterialParameter">
+ <enum name="GL_AMBIENT"/>
+ <enum name="GL_AMBIENT_AND_DIFFUSE"/>
+ <enum name="GL_DIFFUSE"/>
+ <enum name="GL_EMISSION"/>
+ <enum name="GL_SPECULAR"/>
+ </group>
+
+ <group name="ColorPointerType">
+ <enum name="GL_BYTE"/>
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_SHORT"/>
+ <enum name="GL_UNSIGNED_BYTE"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ </group>
+
+ <group name="ColorTableParameterPNameSGI">
+ <enum name="GL_COLOR_TABLE_BIAS"/>
+ <enum name="GL_COLOR_TABLE_BIAS_SGI"/>
+ <enum name="GL_COLOR_TABLE_SCALE"/>
+ <enum name="GL_COLOR_TABLE_SCALE_SGI"/>
+ </group>
+
+ <group name="ColorTableTargetSGI">
+ <enum name="GL_COLOR_TABLE"/>
+ <enum name="GL_COLOR_TABLE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE"/>
+ <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum name="GL_POST_CONVOLUTION_COLOR_TABLE"/>
+ <enum name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_COLOR_TABLE"/>
+ <enum name="GL_PROXY_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE"/>
+ <enum name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE"/>
+ <enum name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_TEXTURE_COLOR_TABLE_SGI"/>
+ <enum name="GL_TEXTURE_COLOR_TABLE_SGI"/>
+ </group>
+
+ <group name="ContextFlagMask">
+ <enum name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
+ <enum name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR"/>
+ <enum name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"/>
+ <enum name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"/>
+ </group>
+
+ <group name="ContextProfileMask">
+ <enum name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"/>
+ <enum name="GL_CONTEXT_CORE_PROFILE_BIT"/>
+ </group>
+
+ <group name="ConvolutionBorderModeEXT">
+ <enum name="GL_REDUCE"/>
+ <enum name="GL_REDUCE_EXT"/>
+ </group>
+
+ <group name="ConvolutionParameterEXT">
+ <enum name="GL_CONVOLUTION_BORDER_MODE"/>
+ <enum name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
+ <enum name="GL_CONVOLUTION_FILTER_BIAS"/>
+ <enum name="GL_CONVOLUTION_FILTER_BIAS_EXT"/>
+ <enum name="GL_CONVOLUTION_FILTER_SCALE"/>
+ <enum name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
+ </group>
+
+ <group name="ConvolutionTargetEXT">
+ <enum name="GL_CONVOLUTION_1D"/>
+ <enum name="GL_CONVOLUTION_1D_EXT"/>
+ <enum name="GL_CONVOLUTION_2D"/>
+ <enum name="GL_CONVOLUTION_2D_EXT"/>
+ </group>
+
+ <group name="CullFaceMode">
+ <enum name="GL_BACK"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_FRONT_AND_BACK"/>
+ </group>
+
+ <group name="DataType" comment="See enums block below"/>
+
+ <group name="DepthFunction">
+ <enum name="GL_ALWAYS"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_GEQUAL"/>
+ <enum name="GL_GREATER"/>
+ <enum name="GL_LEQUAL"/>
+ <enum name="GL_LESS"/>
+ <enum name="GL_NEVER"/>
+ <enum name="GL_NOTEQUAL"/>
+ </group>
+
+ <group name="DrawBufferMode">
+ <enum name="GL_AUX0"/>
+ <enum name="GL_AUX1"/>
+ <enum name="GL_AUX2"/>
+ <enum name="GL_AUX3"/>
+ <enum name="GL_BACK"/>
+ <enum name="GL_BACK_LEFT"/>
+ <enum name="GL_BACK_RIGHT"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_FRONT_AND_BACK"/>
+ <enum name="GL_FRONT_LEFT"/>
+ <enum name="GL_FRONT_RIGHT"/>
+ <enum name="GL_LEFT"/>
+ <enum name="GL_NONE"/>
+ <enum name="GL_NONE_OES"/>
+ <enum name="GL_RIGHT"/>
+ </group>
+
+ <group name="EnableCap">
+ <enum name="GL_ALPHA_TEST"/>
+ <enum name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
+ <enum name="GL_ASYNC_HISTOGRAM_SGIX"/>
+ <enum name="GL_ASYNC_READ_PIXELS_SGIX"/>
+ <enum name="GL_ASYNC_TEX_IMAGE_SGIX"/>
+ <enum name="GL_AUTO_NORMAL"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_CALLIGRAPHIC_FRAGMENT_SGIX"/>
+ <enum name="GL_CLIP_PLANE0"/>
+ <enum name="GL_CLIP_PLANE1"/>
+ <enum name="GL_CLIP_PLANE2"/>
+ <enum name="GL_CLIP_PLANE3"/>
+ <enum name="GL_CLIP_PLANE4"/>
+ <enum name="GL_CLIP_PLANE5"/>
+ <enum name="GL_COLOR_ARRAY"/>
+ <enum name="GL_COLOR_LOGIC_OP"/>
+ <enum name="GL_COLOR_MATERIAL"/>
+ <enum name="GL_COLOR_TABLE_SGI"/>
+ <enum name="GL_CONVOLUTION_1D_EXT"/>
+ <enum name="GL_CONVOLUTION_2D_EXT"/>
+ <enum name="GL_CULL_FACE"/>
+ <enum name="GL_DEPTH_TEST"/>
+ <enum name="GL_DITHER"/>
+ <enum name="GL_EDGE_FLAG_ARRAY"/>
+ <enum name="GL_FOG"/>
+ <enum name="GL_FOG_OFFSET_SGIX"/>
+ <enum name="GL_FRAGMENT_COLOR_MATERIAL_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT0_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT1_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT2_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT3_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT4_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT5_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT6_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT7_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHTING_SGIX"/>
+ <enum name="GL_FRAMEZOOM_SGIX"/>
+ <enum name="GL_HISTOGRAM_EXT"/>
+ <enum name="GL_INDEX_ARRAY"/>
+ <enum name="GL_INDEX_LOGIC_OP"/>
+ <enum name="GL_INTERLACE_SGIX"/>
+ <enum name="GL_IR_INSTRUMENT1_SGIX"/>
+ <enum name="GL_LIGHT0"/>
+ <enum name="GL_LIGHT1"/>
+ <enum name="GL_LIGHT2"/>
+ <enum name="GL_LIGHT3"/>
+ <enum name="GL_LIGHT4"/>
+ <enum name="GL_LIGHT5"/>
+ <enum name="GL_LIGHT6"/>
+ <enum name="GL_LIGHT7"/>
+ <enum name="GL_LIGHTING"/>
+ <enum name="GL_LINE_SMOOTH"/>
+ <enum name="GL_LINE_STIPPLE"/>
+ <enum name="GL_MAP1_COLOR_4"/>
+ <enum name="GL_MAP1_INDEX"/>
+ <enum name="GL_MAP1_NORMAL"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP1_VERTEX_3"/>
+ <enum name="GL_MAP1_VERTEX_4"/>
+ <enum name="GL_MAP2_COLOR_4"/>
+ <enum name="GL_MAP2_INDEX"/>
+ <enum name="GL_MAP2_NORMAL"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP2_VERTEX_3"/>
+ <enum name="GL_MAP2_VERTEX_4"/>
+ <enum name="GL_MINMAX_EXT"/>
+ <enum name="GL_MULTISAMPLE_SGIS"/>
+ <enum name="GL_NORMALIZE"/>
+ <enum name="GL_NORMAL_ARRAY"/>
+ <enum name="GL_PIXEL_TEXTURE_SGIS"/>
+ <enum name="GL_PIXEL_TEX_GEN_SGIX"/>
+ <enum name="GL_POINT_SMOOTH"/>
+ <enum name="GL_POLYGON_OFFSET_FILL"/>
+ <enum name="GL_POLYGON_OFFSET_LINE"/>
+ <enum name="GL_POLYGON_OFFSET_POINT"/>
+ <enum name="GL_POLYGON_SMOOTH"/>
+ <enum name="GL_POLYGON_STIPPLE"/>
+ <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum name="GL_REFERENCE_PLANE_SGIX"/>
+ <enum name="GL_RESCALE_NORMAL_EXT"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_MASK_SGIS"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_ONE_SGIS"/>
+ <enum name="GL_SAMPLE_MASK_SGIS"/>
+ <enum name="GL_SCISSOR_TEST"/>
+ <enum name="GL_SEPARABLE_2D_EXT"/>
+ <enum name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
+ <enum name="GL_SPRITE_SGIX"/>
+ <enum name="GL_STENCIL_TEST"/>
+ <enum name="GL_TEXTURE_1D"/>
+ <enum name="GL_TEXTURE_2D"/>
+ <enum name="GL_TEXTURE_3D_EXT"/>
+ <enum name="GL_TEXTURE_4D_SGIS"/>
+ <enum name="GL_TEXTURE_COLOR_TABLE_SGI"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY"/>
+ <enum name="GL_TEXTURE_GEN_Q"/>
+ <enum name="GL_TEXTURE_GEN_R"/>
+ <enum name="GL_TEXTURE_GEN_S"/>
+ <enum name="GL_TEXTURE_GEN_T"/>
+ <enum name="GL_VERTEX_ARRAY"/>
+ </group>
+
+ <group name="ErrorCode">
+ <enum name="GL_INVALID_ENUM"/>
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION_EXT"/>
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION_OES"/>
+ <enum name="GL_INVALID_OPERATION"/>
+ <enum name="GL_INVALID_VALUE"/>
+ <enum name="GL_NO_ERROR"/>
+ <enum name="GL_OUT_OF_MEMORY"/>
+ <enum name="GL_STACK_OVERFLOW"/>
+ <enum name="GL_STACK_UNDERFLOW"/>
+ <enum name="GL_TABLE_TOO_LARGE"/>
+ <enum name="GL_TABLE_TOO_LARGE_EXT"/>
+ <enum name="GL_TEXTURE_TOO_LARGE_EXT"/>
+ </group>
+
+ <group name="FeedbackType">
+ <enum name="GL_2D"/>
+ <enum name="GL_3D"/>
+ <enum name="GL_3D_COLOR"/>
+ <enum name="GL_3D_COLOR_TEXTURE"/>
+ <enum name="GL_4D_COLOR_TEXTURE"/>
+ </group>
+
+ <group name="FeedBackToken">
+ <enum name="GL_BITMAP_TOKEN"/>
+ <enum name="GL_COPY_PIXEL_TOKEN"/>
+ <enum name="GL_DRAW_PIXEL_TOKEN"/>
+ <enum name="GL_LINE_RESET_TOKEN"/>
+ <enum name="GL_LINE_TOKEN"/>
+ <enum name="GL_PASS_THROUGH_TOKEN"/>
+ <enum name="GL_POINT_TOKEN"/>
+ <enum name="GL_POLYGON_TOKEN"/>
+ </group>
+
+ <group name="FfdMaskSGIX" comment="See enums section below. Was SGIXFfdMask"/>
+
+ <group name="FfdTargetSGIX">
+ <enum name="GL_GEOMETRY_DEFORMATION_SGIX"/>
+ <enum name="GL_TEXTURE_DEFORMATION_SGIX"/>
+ </group>
+
+ <group name="FogCoordinatePointerType">
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_DOUBLE"/>
+ </group>
+
+ <group name="FogMode">
+ <enum name="GL_EXP"/>
+ <enum name="GL_EXP2"/>
+ <enum name="GL_FOG_FUNC_SGIS"/>
+ <enum name="GL_LINEAR"/>
+ </group>
+
+ <group name="FogParameter">
+ <enum name="GL_FOG_COLOR"/>
+ <enum name="GL_FOG_DENSITY"/>
+ <enum name="GL_FOG_END"/>
+ <enum name="GL_FOG_INDEX"/>
+ <enum name="GL_FOG_MODE"/>
+ <enum name="GL_FOG_OFFSET_VALUE_SGIX"/>
+ <enum name="GL_FOG_START"/>
+ </group>
+
+ <group name="FogPointerTypeEXT">
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_DOUBLE"/>
+ </group>
+
+ <group name="FogPointerTypeIBM">
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_DOUBLE"/>
+ </group>
+
+ <group name="FragmentLightModelParameterSGIX">
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"/>
+ </group>
+
+ <group name="FrontFaceDirection">
+ <enum name="GL_CCW"/>
+ <enum name="GL_CW"/>
+ </group>
+
+ <group name="GetColorTableParameterPNameSGI">
+ <enum name="GL_COLOR_TABLE_ALPHA_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_BIAS_SGI"/>
+ <enum name="GL_COLOR_TABLE_BLUE_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_FORMAT_SGI"/>
+ <enum name="GL_COLOR_TABLE_GREEN_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_INTENSITY_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_LUMINANCE_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_RED_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_SCALE_SGI"/>
+ <enum name="GL_COLOR_TABLE_WIDTH_SGI"/>
+ </group>
+
+ <group name="GetConvolutionParameter">
+ <enum name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
+ <enum name="GL_CONVOLUTION_FILTER_BIAS_EXT"/>
+ <enum name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
+ <enum name="GL_CONVOLUTION_FORMAT_EXT"/>
+ <enum name="GL_CONVOLUTION_HEIGHT_EXT"/>
+ <enum name="GL_CONVOLUTION_WIDTH_EXT"/>
+ <enum name="GL_MAX_CONVOLUTION_HEIGHT_EXT"/>
+ <enum name="GL_MAX_CONVOLUTION_WIDTH_EXT"/>
+ </group>
+
+ <group name="GetHistogramParameterPNameEXT">
+ <enum name="GL_HISTOGRAM_ALPHA_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_BLUE_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_FORMAT_EXT"/>
+ <enum name="GL_HISTOGRAM_GREEN_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_LUMINANCE_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_RED_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_SINK_EXT"/>
+ <enum name="GL_HISTOGRAM_WIDTH_EXT"/>
+ </group>
+
+ <group name="GetMapQuery">
+ <enum name="GL_COEFF"/>
+ <enum name="GL_DOMAIN"/>
+ <enum name="GL_ORDER"/>
+ </group>
+
+ <group name="GetMinmaxParameterPNameEXT">
+ <enum name="GL_MINMAX_FORMAT"/>
+ <enum name="GL_MINMAX_FORMAT_EXT"/>
+ <enum name="GL_MINMAX_SINK"/>
+ <enum name="GL_MINMAX_SINK_EXT"/>
+ </group>
+
+ <group name="GetPixelMap">
+ <enum name="GL_PIXEL_MAP_A_TO_A"/>
+ <enum name="GL_PIXEL_MAP_B_TO_B"/>
+ <enum name="GL_PIXEL_MAP_G_TO_G"/>
+ <enum name="GL_PIXEL_MAP_I_TO_A"/>
+ <enum name="GL_PIXEL_MAP_I_TO_B"/>
+ <enum name="GL_PIXEL_MAP_I_TO_G"/>
+ <enum name="GL_PIXEL_MAP_I_TO_I"/>
+ <enum name="GL_PIXEL_MAP_I_TO_R"/>
+ <enum name="GL_PIXEL_MAP_R_TO_R"/>
+ <enum name="GL_PIXEL_MAP_S_TO_S"/>
+ </group>
+
+ <group name="GetPName">
+ <enum name="GL_ACCUM_ALPHA_BITS"/>
+ <enum name="GL_ACCUM_BLUE_BITS"/>
+ <enum name="GL_ACCUM_CLEAR_VALUE"/>
+ <enum name="GL_ACCUM_GREEN_BITS"/>
+ <enum name="GL_ACCUM_RED_BITS"/>
+ <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+ <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+ <enum name="GL_ALPHA_BIAS"/>
+ <enum name="GL_ALPHA_BITS"/>
+ <enum name="GL_ALPHA_SCALE"/>
+ <enum name="GL_ALPHA_TEST"/>
+ <enum name="GL_ALPHA_TEST_FUNC"/>
+ <enum name="GL_ALPHA_TEST_FUNC_QCOM"/>
+ <enum name="GL_ALPHA_TEST_QCOM"/>
+ <enum name="GL_ALPHA_TEST_REF"/>
+ <enum name="GL_ALPHA_TEST_REF_QCOM"/>
+ <enum name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
+ <enum name="GL_ASYNC_HISTOGRAM_SGIX"/>
+ <enum name="GL_ASYNC_MARKER_SGIX"/>
+ <enum name="GL_ASYNC_READ_PIXELS_SGIX"/>
+ <enum name="GL_ASYNC_TEX_IMAGE_SGIX"/>
+ <enum name="GL_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_AUTO_NORMAL"/>
+ <enum name="GL_AUX_BUFFERS"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_BLEND_COLOR_EXT"/>
+ <enum name="GL_BLEND_DST"/>
+ <enum name="GL_BLEND_EQUATION_EXT"/>
+ <enum name="GL_BLEND_SRC"/>
+ <enum name="GL_BLUE_BIAS"/>
+ <enum name="GL_BLUE_BITS"/>
+ <enum name="GL_BLUE_SCALE"/>
+ <enum name="GL_CALLIGRAPHIC_FRAGMENT_SGIX"/>
+ <enum name="GL_CLIENT_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_CLIP_PLANE0"/>
+ <enum name="GL_CLIP_PLANE1"/>
+ <enum name="GL_CLIP_PLANE2"/>
+ <enum name="GL_CLIP_PLANE3"/>
+ <enum name="GL_CLIP_PLANE4"/>
+ <enum name="GL_CLIP_PLANE5"/>
+ <enum name="GL_COLOR_ARRAY"/>
+ <enum name="GL_COLOR_ARRAY_COUNT_EXT"/>
+ <enum name="GL_COLOR_ARRAY_SIZE"/>
+ <enum name="GL_COLOR_ARRAY_STRIDE"/>
+ <enum name="GL_COLOR_ARRAY_TYPE"/>
+ <enum name="GL_COLOR_CLEAR_VALUE"/>
+ <enum name="GL_COLOR_LOGIC_OP"/>
+ <enum name="GL_COLOR_MATERIAL"/>
+ <enum name="GL_COLOR_MATERIAL_FACE"/>
+ <enum name="GL_COLOR_MATERIAL_PARAMETER"/>
+ <enum name="GL_COLOR_MATRIX_SGI"/>
+ <enum name="GL_COLOR_MATRIX_STACK_DEPTH_SGI"/>
+ <enum name="GL_COLOR_TABLE_SGI"/>
+ <enum name="GL_COLOR_WRITEMASK"/>
+ <enum name="GL_CONVOLUTION_1D_EXT"/>
+ <enum name="GL_CONVOLUTION_2D_EXT"/>
+ <enum name="GL_CONVOLUTION_HINT_SGIX"/>
+ <enum name="GL_CULL_FACE"/>
+ <enum name="GL_CULL_FACE_MODE"/>
+ <enum name="GL_CURRENT_COLOR"/>
+ <enum name="GL_CURRENT_INDEX"/>
+ <enum name="GL_CURRENT_NORMAL"/>
+ <enum name="GL_CURRENT_RASTER_COLOR"/>
+ <enum name="GL_CURRENT_RASTER_DISTANCE"/>
+ <enum name="GL_CURRENT_RASTER_INDEX"/>
+ <enum name="GL_CURRENT_RASTER_POSITION"/>
+ <enum name="GL_CURRENT_RASTER_POSITION_VALID"/>
+ <enum name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
+ <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+ <enum name="GL_DEFORMATIONS_MASK_SGIX"/>
+ <enum name="GL_DEPTH_BIAS"/>
+ <enum name="GL_DEPTH_BITS"/>
+ <enum name="GL_DEPTH_CLEAR_VALUE"/>
+ <enum name="GL_DEPTH_FUNC"/>
+ <enum name="GL_DEPTH_RANGE"/>
+ <enum name="GL_DEPTH_SCALE"/>
+ <enum name="GL_DEPTH_TEST"/>
+ <enum name="GL_DEPTH_WRITEMASK"/>
+ <enum name="GL_DETAIL_TEXTURE_2D_BINDING_SGIS"/>
+ <enum name="GL_DISTANCE_ATTENUATION_SGIS"/>
+ <enum name="GL_DITHER"/>
+ <enum name="GL_DOUBLEBUFFER"/>
+ <enum name="GL_DRAW_BUFFER"/>
+ <enum name="GL_DRAW_BUFFER_EXT"/>
+ <enum name="GL_EDGE_FLAG"/>
+ <enum name="GL_EDGE_FLAG_ARRAY"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_COUNT_EXT"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
+ <enum name="GL_FEEDBACK_BUFFER_SIZE"/>
+ <enum name="GL_FEEDBACK_BUFFER_TYPE"/>
+ <enum name="GL_FOG"/>
+ <enum name="GL_FOG_COLOR"/>
+ <enum name="GL_FOG_DENSITY"/>
+ <enum name="GL_FOG_END"/>
+ <enum name="GL_FOG_FUNC_POINTS_SGIS"/>
+ <enum name="GL_FOG_HINT"/>
+ <enum name="GL_FOG_INDEX"/>
+ <enum name="GL_FOG_MODE"/>
+ <enum name="GL_FOG_OFFSET_SGIX"/>
+ <enum name="GL_FOG_OFFSET_VALUE_SGIX"/>
+ <enum name="GL_FOG_START"/>
+ <enum name="GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX"/>
+ <enum name="GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX"/>
+ <enum name="GL_FRAGMENT_COLOR_MATERIAL_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT0_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHTING_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"/>
+ <enum name="GL_FRAMEZOOM_FACTOR_SGIX"/>
+ <enum name="GL_FRAMEZOOM_SGIX"/>
+ <enum name="GL_FRONT_FACE"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT_SGIS"/>
+ <enum name="GL_GREEN_BIAS"/>
+ <enum name="GL_GREEN_BITS"/>
+ <enum name="GL_GREEN_SCALE"/>
+ <enum name="GL_HISTOGRAM_EXT"/>
+ <enum name="GL_INDEX_ARRAY"/>
+ <enum name="GL_INDEX_ARRAY_COUNT_EXT"/>
+ <enum name="GL_INDEX_ARRAY_STRIDE"/>
+ <enum name="GL_INDEX_ARRAY_TYPE"/>
+ <enum name="GL_INDEX_BITS"/>
+ <enum name="GL_INDEX_CLEAR_VALUE"/>
+ <enum name="GL_INDEX_LOGIC_OP"/>
+ <enum name="GL_INDEX_MODE"/>
+ <enum name="GL_INDEX_OFFSET"/>
+ <enum name="GL_INDEX_SHIFT"/>
+ <enum name="GL_INDEX_WRITEMASK"/>
+ <enum name="GL_INSTRUMENT_MEASUREMENTS_SGIX"/>
+ <enum name="GL_INTERLACE_SGIX"/>
+ <enum name="GL_IR_INSTRUMENT1_SGIX"/>
+ <enum name="GL_LIGHT0"/>
+ <enum name="GL_LIGHT1"/>
+ <enum name="GL_LIGHT2"/>
+ <enum name="GL_LIGHT3"/>
+ <enum name="GL_LIGHT4"/>
+ <enum name="GL_LIGHT5"/>
+ <enum name="GL_LIGHT6"/>
+ <enum name="GL_LIGHT7"/>
+ <enum name="GL_LIGHTING"/>
+ <enum name="GL_LIGHT_ENV_MODE_SGIX"/>
+ <enum name="GL_LIGHT_MODEL_AMBIENT"/>
+ <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
+ <enum name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
+ <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
+ <enum name="GL_LINE_SMOOTH"/>
+ <enum name="GL_LINE_SMOOTH_HINT"/>
+ <enum name="GL_LINE_STIPPLE"/>
+ <enum name="GL_LINE_STIPPLE_PATTERN"/>
+ <enum name="GL_LINE_STIPPLE_REPEAT"/>
+ <enum name="GL_LINE_WIDTH"/>
+ <enum name="GL_LINE_WIDTH_GRANULARITY"/>
+ <enum name="GL_LINE_WIDTH_RANGE"/>
+ <enum name="GL_LIST_BASE"/>
+ <enum name="GL_LIST_INDEX"/>
+ <enum name="GL_LIST_MODE"/>
+ <enum name="GL_LOGIC_OP"/>
+ <enum name="GL_LOGIC_OP_MODE"/>
+ <enum name="GL_MAP1_COLOR_4"/>
+ <enum name="GL_MAP1_GRID_DOMAIN"/>
+ <enum name="GL_MAP1_GRID_SEGMENTS"/>
+ <enum name="GL_MAP1_INDEX"/>
+ <enum name="GL_MAP1_NORMAL"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP1_VERTEX_3"/>
+ <enum name="GL_MAP1_VERTEX_4"/>
+ <enum name="GL_MAP2_COLOR_4"/>
+ <enum name="GL_MAP2_GRID_DOMAIN"/>
+ <enum name="GL_MAP2_GRID_SEGMENTS"/>
+ <enum name="GL_MAP2_INDEX"/>
+ <enum name="GL_MAP2_NORMAL"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP2_VERTEX_3"/>
+ <enum name="GL_MAP2_VERTEX_4"/>
+ <enum name="GL_MAP_COLOR"/>
+ <enum name="GL_MAP_STENCIL"/>
+ <enum name="GL_MATRIX_MODE"/>
+ <enum name="GL_MAX_3D_TEXTURE_SIZE_EXT"/>
+ <enum name="GL_MAX_4D_TEXTURE_SIZE_SGIS"/>
+ <enum name="GL_MAX_ACTIVE_LIGHTS_SGIX"/>
+ <enum name="GL_MAX_ASYNC_DRAW_PIXELS_SGIX"/>
+ <enum name="GL_MAX_ASYNC_HISTOGRAM_SGIX"/>
+ <enum name="GL_MAX_ASYNC_READ_PIXELS_SGIX"/>
+ <enum name="GL_MAX_ASYNC_TEX_IMAGE_SGIX"/>
+ <enum name="GL_MAX_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_MAX_CLIPMAP_DEPTH_SGIX"/>
+ <enum name="GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+ <enum name="GL_MAX_CLIP_DISTANCES"/>
+ <enum name="GL_MAX_CLIP_PLANES"/>
+ <enum name="GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI"/>
+ <enum name="GL_MAX_EVAL_ORDER"/>
+ <enum name="GL_MAX_FOG_FUNC_POINTS_SGIS"/>
+ <enum name="GL_MAX_FRAGMENT_LIGHTS_SGIX"/>
+ <enum name="GL_MAX_FRAMEZOOM_FACTOR_SGIX"/>
+ <enum name="GL_MAX_LIGHTS"/>
+ <enum name="GL_MAX_LIST_NESTING"/>
+ <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_MAX_NAME_STACK_DEPTH"/>
+ <enum name="GL_MAX_PIXEL_MAP_TABLE"/>
+ <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_MAX_TEXTURE_SIZE"/>
+ <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_MAX_VIEWPORT_DIMS"/>
+ <enum name="GL_MINMAX_EXT"/>
+ <enum name="GL_MODELVIEW0_MATRIX_EXT"/>
+ <enum name="GL_MODELVIEW0_STACK_DEPTH_EXT"/>
+ <enum name="GL_MODELVIEW_MATRIX"/>
+ <enum name="GL_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_MULTISAMPLE_SGIS"/>
+ <enum name="GL_NAME_STACK_DEPTH"/>
+ <enum name="GL_NORMALIZE"/>
+ <enum name="GL_NORMAL_ARRAY"/>
+ <enum name="GL_NORMAL_ARRAY_COUNT_EXT"/>
+ <enum name="GL_NORMAL_ARRAY_STRIDE"/>
+ <enum name="GL_NORMAL_ARRAY_TYPE"/>
+ <enum name="GL_PACK_ALIGNMENT"/>
+ <enum name="GL_PACK_CMYK_HINT_EXT"/>
+ <enum name="GL_PACK_IMAGE_DEPTH_SGIS"/>
+ <enum name="GL_PACK_IMAGE_HEIGHT_EXT"/>
+ <enum name="GL_PACK_LSB_FIRST"/>
+ <enum name="GL_PACK_RESAMPLE_SGIX"/>
+ <enum name="GL_PACK_ROW_LENGTH"/>
+ <enum name="GL_PACK_SKIP_IMAGES_EXT"/>
+ <enum name="GL_PACK_SKIP_PIXELS"/>
+ <enum name="GL_PACK_SKIP_ROWS"/>
+ <enum name="GL_PACK_SKIP_VOLUMES_SGIS"/>
+ <enum name="GL_PACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum name="GL_PACK_SWAP_BYTES"/>
+ <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+ <enum name="GL_PIXEL_MAP_A_TO_A_SIZE"/>
+ <enum name="GL_PIXEL_MAP_B_TO_B_SIZE"/>
+ <enum name="GL_PIXEL_MAP_G_TO_G_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_A_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_B_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_G_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_I_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
+ <enum name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
+ <enum name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
+ <enum name="GL_PIXEL_TEXTURE_SGIS"/>
+ <enum name="GL_PIXEL_TEX_GEN_MODE_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_SGIX"/>
+ <enum name="GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_CACHE_INCREMENT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_CACHE_SIZE_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_DEPTH_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_HEIGHT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_WIDTH_SGIX"/>
+ <enum name="GL_PIXEL_TILE_HEIGHT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_WIDTH_SGIX"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
+ <enum name="GL_POINT_SIZE"/>
+ <enum name="GL_POINT_SIZE_GRANULARITY"/>
+ <enum name="GL_POINT_SIZE_MAX_SGIS"/>
+ <enum name="GL_POINT_SIZE_MIN_SGIS"/>
+ <enum name="GL_POINT_SIZE_RANGE"/>
+ <enum name="GL_POINT_SMOOTH"/>
+ <enum name="GL_POINT_SMOOTH_HINT"/>
+ <enum name="GL_POLYGON_MODE"/>
+ <enum name="GL_POLYGON_OFFSET_BIAS_EXT"/>
+ <enum name="GL_POLYGON_OFFSET_FACTOR"/>
+ <enum name="GL_POLYGON_OFFSET_FILL"/>
+ <enum name="GL_POLYGON_OFFSET_LINE"/>
+ <enum name="GL_POLYGON_OFFSET_POINT"/>
+ <enum name="GL_POLYGON_OFFSET_UNITS"/>
+ <enum name="GL_POLYGON_SMOOTH"/>
+ <enum name="GL_POLYGON_SMOOTH_HINT"/>
+ <enum name="GL_POLYGON_STIPPLE"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_SCALE_SGI"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_RED_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_RED_SCALE_EXT"/>
+ <enum name="GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX"/>
+ <enum name="GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX"/>
+ <enum name="GL_PROJECTION_MATRIX"/>
+ <enum name="GL_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_READ_BUFFER"/>
+ <enum name="GL_READ_BUFFER_EXT"/>
+ <enum name="GL_READ_BUFFER_NV"/>
+ <enum name="GL_RED_BIAS"/>
+ <enum name="GL_RED_BITS"/>
+ <enum name="GL_RED_SCALE"/>
+ <enum name="GL_REFERENCE_PLANE_EQUATION_SGIX"/>
+ <enum name="GL_REFERENCE_PLANE_SGIX"/>
+ <enum name="GL_RENDER_MODE"/>
+ <enum name="GL_RESCALE_NORMAL_EXT"/>
+ <enum name="GL_RGBA_MODE"/>
+ <enum name="GL_SAMPLES_SGIS"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_MASK_SGIS"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_ONE_SGIS"/>
+ <enum name="GL_SAMPLE_BUFFERS_SGIS"/>
+ <enum name="GL_SAMPLE_MASK_INVERT_SGIS"/>
+ <enum name="GL_SAMPLE_MASK_SGIS"/>
+ <enum name="GL_SAMPLE_MASK_VALUE_SGIS"/>
+ <enum name="GL_SAMPLE_PATTERN_SGIS"/>
+ <enum name="GL_SCISSOR_BOX"/>
+ <enum name="GL_SCISSOR_TEST"/>
+ <enum name="GL_SELECTION_BUFFER_SIZE"/>
+ <enum name="GL_SEPARABLE_2D_EXT"/>
+ <enum name="GL_SHADE_MODEL"/>
+ <enum name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
+ <enum name="GL_SMOOTH_LINE_WIDTH_GRANULARITY"/>
+ <enum name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
+ <enum name="GL_SMOOTH_POINT_SIZE_GRANULARITY"/>
+ <enum name="GL_SMOOTH_POINT_SIZE_RANGE"/>
+ <enum name="GL_SPRITE_AXIS_SGIX"/>
+ <enum name="GL_SPRITE_MODE_SGIX"/>
+ <enum name="GL_SPRITE_SGIX"/>
+ <enum name="GL_SPRITE_TRANSLATION_SGIX"/>
+ <enum name="GL_STENCIL_BITS"/>
+ <enum name="GL_STENCIL_CLEAR_VALUE"/>
+ <enum name="GL_STENCIL_FAIL"/>
+ <enum name="GL_STENCIL_FUNC"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
+ <enum name="GL_STENCIL_REF"/>
+ <enum name="GL_STENCIL_TEST"/>
+ <enum name="GL_STENCIL_VALUE_MASK"/>
+ <enum name="GL_STENCIL_WRITEMASK"/>
+ <enum name="GL_STEREO"/>
+ <enum name="GL_SUBPIXEL_BITS"/>
+ <enum name="GL_TEXTURE_1D"/>
+ <enum name="GL_TEXTURE_2D"/>
+ <enum name="GL_TEXTURE_3D_BINDING_EXT"/>
+ <enum name="GL_TEXTURE_3D_EXT"/>
+ <enum name="GL_TEXTURE_4D_BINDING_SGIS"/>
+ <enum name="GL_TEXTURE_4D_SGIS"/>
+ <enum name="GL_TEXTURE_BINDING_1D"/>
+ <enum name="GL_TEXTURE_BINDING_2D"/>
+ <enum name="GL_TEXTURE_BINDING_3D"/>
+ <enum name="GL_TEXTURE_COLOR_TABLE_SGI"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_COUNT_EXT"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+ <enum name="GL_TEXTURE_GEN_Q"/>
+ <enum name="GL_TEXTURE_GEN_R"/>
+ <enum name="GL_TEXTURE_GEN_S"/>
+ <enum name="GL_TEXTURE_GEN_T"/>
+ <enum name="GL_TEXTURE_MATRIX"/>
+ <enum name="GL_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_UNPACK_ALIGNMENT"/>
+ <enum name="GL_UNPACK_CMYK_HINT_EXT"/>
+ <enum name="GL_UNPACK_IMAGE_DEPTH_SGIS"/>
+ <enum name="GL_UNPACK_IMAGE_HEIGHT_EXT"/>
+ <enum name="GL_UNPACK_LSB_FIRST"/>
+ <enum name="GL_UNPACK_RESAMPLE_SGIX"/>
+ <enum name="GL_UNPACK_ROW_LENGTH"/>
+ <enum name="GL_UNPACK_SKIP_IMAGES_EXT"/>
+ <enum name="GL_UNPACK_SKIP_PIXELS"/>
+ <enum name="GL_UNPACK_SKIP_ROWS"/>
+ <enum name="GL_UNPACK_SKIP_VOLUMES_SGIS"/>
+ <enum name="GL_UNPACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum name="GL_UNPACK_SWAP_BYTES"/>
+ <enum name="GL_VERTEX_ARRAY"/>
+ <enum name="GL_VERTEX_ARRAY_COUNT_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_SIZE"/>
+ <enum name="GL_VERTEX_ARRAY_STRIDE"/>
+ <enum name="GL_VERTEX_ARRAY_TYPE"/>
+ <enum name="GL_VERTEX_PRECLIP_HINT_SGIX"/>
+ <enum name="GL_VERTEX_PRECLIP_SGIX"/>
+ <enum name="GL_VIEWPORT"/>
+ <enum name="GL_ZOOM_X"/>
+ <enum name="GL_ZOOM_Y"/>
+ </group>
+
+ <group name="GetPointervPName">
+ <enum name="GL_COLOR_ARRAY_POINTER"/>
+ <enum name="GL_COLOR_ARRAY_POINTER_EXT"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_POINTER"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_POINTER_EXT"/>
+ <enum name="GL_FEEDBACK_BUFFER_POINTER"/>
+ <enum name="GL_INDEX_ARRAY_POINTER"/>
+ <enum name="GL_INDEX_ARRAY_POINTER_EXT"/>
+ <enum name="GL_INSTRUMENT_BUFFER_POINTER_SGIX"/>
+ <enum name="GL_NORMAL_ARRAY_POINTER"/>
+ <enum name="GL_NORMAL_ARRAY_POINTER_EXT"/>
+ <enum name="GL_SELECTION_BUFFER_POINTER"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_POINTER_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_POINTER"/>
+ <enum name="GL_VERTEX_ARRAY_POINTER_EXT"/>
+ </group>
+
+ <group name="GetTextureParameter">
+ <enum name="GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"/>
+ <enum name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
+ <enum name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
+ <enum name="GL_DUAL_TEXTURE_SELECT_SGIS"/>
+ <enum name="GL_GENERATE_MIPMAP_SGIS"/>
+ <enum name="GL_POST_TEXTURE_FILTER_BIAS_SGIX"/>
+ <enum name="GL_POST_TEXTURE_FILTER_SCALE_SGIX"/>
+ <enum name="GL_QUAD_TEXTURE_SELECT_SGIS"/>
+ <enum name="GL_SHADOW_AMBIENT_SGIX"/>
+ <enum name="GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"/>
+ <enum name="GL_TEXTURE_4DSIZE_SGIS"/>
+ <enum name="GL_TEXTURE_ALPHA_SIZE"/>
+ <enum name="GL_TEXTURE_BASE_LEVEL_SGIS"/>
+ <enum name="GL_TEXTURE_BLUE_SIZE"/>
+ <enum name="GL_TEXTURE_BORDER"/>
+ <enum name="GL_TEXTURE_BORDER_COLOR"/>
+ <enum name="GL_TEXTURE_BORDER_COLOR_NV"/>
+ <enum name="GL_TEXTURE_CLIPMAP_CENTER_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_FRAME_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+ <enum name="GL_TEXTURE_COMPARE_OPERATOR_SGIX"/>
+ <enum name="GL_TEXTURE_COMPARE_SGIX"/>
+ <enum name="GL_TEXTURE_COMPONENTS"/>
+ <enum name="GL_TEXTURE_DEPTH_EXT"/>
+ <enum name="GL_TEXTURE_FILTER4_SIZE_SGIS"/>
+ <enum name="GL_TEXTURE_GEQUAL_R_SGIX"/>
+ <enum name="GL_TEXTURE_GREEN_SIZE"/>
+ <enum name="GL_TEXTURE_HEIGHT"/>
+ <enum name="GL_TEXTURE_INTENSITY_SIZE"/>
+ <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
+ <enum name="GL_TEXTURE_LEQUAL_R_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_R_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_S_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_T_SGIX"/>
+ <enum name="GL_TEXTURE_LUMINANCE_SIZE"/>
+ <enum name="GL_TEXTURE_MAG_FILTER"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_R_SGIX"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_S_SGIX"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
+ <enum name="GL_TEXTURE_MAX_LEVEL_SGIS"/>
+ <enum name="GL_TEXTURE_MAX_LOD_SGIS"/>
+ <enum name="GL_TEXTURE_MIN_FILTER"/>
+ <enum name="GL_TEXTURE_MIN_LOD_SGIS"/>
+ <enum name="GL_TEXTURE_PRIORITY"/>
+ <enum name="GL_TEXTURE_RED_SIZE"/>
+ <enum name="GL_TEXTURE_RESIDENT"/>
+ <enum name="GL_TEXTURE_WIDTH"/>
+ <enum name="GL_TEXTURE_WRAP_Q_SGIS"/>
+ <enum name="GL_TEXTURE_WRAP_R_EXT"/>
+ <enum name="GL_TEXTURE_WRAP_S"/>
+ <enum name="GL_TEXTURE_WRAP_T"/>
+ </group>
+
+ <group name="HintMode">
+ <enum name="GL_DONT_CARE"/>
+ <enum name="GL_FASTEST"/>
+ <enum name="GL_NICEST"/>
+ </group>
+
+ <group name="HintTarget">
+ <enum name="GL_ALLOW_DRAW_FRG_HINT_PGI"/>
+ <enum name="GL_ALLOW_DRAW_MEM_HINT_PGI"/>
+ <enum name="GL_ALLOW_DRAW_OBJ_HINT_PGI"/>
+ <enum name="GL_ALLOW_DRAW_WIN_HINT_PGI"/>
+ <enum name="GL_ALWAYS_FAST_HINT_PGI"/>
+ <enum name="GL_ALWAYS_SOFT_HINT_PGI"/>
+ <enum name="GL_BACK_NORMALS_HINT_PGI"/>
+ <enum name="GL_BINNING_CONTROL_HINT_QCOM"/>
+ <enum name="GL_CLIP_FAR_HINT_PGI"/>
+ <enum name="GL_CLIP_NEAR_HINT_PGI"/>
+ <enum name="GL_CLIP_VOLUME_CLIPPING_HINT_EXT"/>
+ <enum name="GL_CONSERVE_MEMORY_HINT_PGI"/>
+ <enum name="GL_CONVOLUTION_HINT_SGIX"/>
+ <enum name="GL_FOG_HINT"/>
+ <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
+ <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB"/>
+ <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/>
+ <enum name="GL_FULL_STIPPLE_HINT_PGI"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT_SGIS"/>
+ <enum name="GL_LINE_QUALITY_HINT_SGIX"/>
+ <enum name="GL_LINE_SMOOTH_HINT"/>
+ <enum name="GL_MATERIAL_SIDE_HINT_PGI"/>
+ <enum name="GL_MAX_VERTEX_HINT_PGI"/>
+ <enum name="GL_MULTISAMPLE_FILTER_HINT_NV"/>
+ <enum name="GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI"/>
+ <enum name="GL_NATIVE_GRAPHICS_END_HINT_PGI"/>
+ <enum name="GL_PACK_CMYK_HINT_EXT"/>
+ <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+ <enum name="GL_PHONG_HINT_WIN"/>
+ <enum name="GL_POINT_SMOOTH_HINT"/>
+ <enum name="GL_POLYGON_SMOOTH_HINT"/>
+ <enum name="GL_PREFER_DOUBLEBUFFER_HINT_PGI"/>
+ <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+ <enum name="GL_RECLAIM_MEMORY_HINT_PGI"/>
+ <enum name="GL_SCALEBIAS_HINT_SGIX"/>
+ <enum name="GL_STRICT_DEPTHFUNC_HINT_PGI"/>
+ <enum name="GL_STRICT_LIGHTING_HINT_PGI"/>
+ <enum name="GL_STRICT_SCISSOR_HINT_PGI"/>
+ <enum name="GL_TEXTURE_COMPRESSION_HINT"/>
+ <enum name="GL_TEXTURE_COMPRESSION_HINT_ARB"/>
+ <enum name="GL_TEXTURE_MULTI_BUFFER_HINT_SGIX"/>
+ <enum name="GL_TEXTURE_STORAGE_HINT_APPLE"/>
+ <enum name="GL_TRANSFORM_HINT_APPLE"/>
+ <enum name="GL_UNPACK_CMYK_HINT_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_STORAGE_HINT_APPLE"/>
+ <enum name="GL_VERTEX_CONSISTENT_HINT_PGI"/>
+ <enum name="GL_VERTEX_DATA_HINT_PGI"/>
+ <enum name="GL_VERTEX_PRECLIP_HINT_SGIX"/>
+ <enum name="GL_VERTEX_PRECLIP_SGIX"/>
+ <enum name="GL_WIDE_LINE_HINT_PGI"/>
+ </group>
+
+ <group name="HistogramTargetEXT">
+ <enum name="GL_HISTOGRAM"/>
+ <enum name="GL_HISTOGRAM_EXT"/>
+ <enum name="GL_PROXY_HISTOGRAM"/>
+ <enum name="GL_PROXY_HISTOGRAM_EXT"/>
+ </group>
+
+ <group name="IndexPointerType">
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_SHORT"/>
+ </group>
+
+ <group name="InterleavedArrayFormat">
+ <enum name="GL_C3F_V3F"/>
+ <enum name="GL_C4F_N3F_V3F"/>
+ <enum name="GL_C4UB_V2F"/>
+ <enum name="GL_C4UB_V3F"/>
+ <enum name="GL_N3F_V3F"/>
+ <enum name="GL_T2F_C3F_V3F"/>
+ <enum name="GL_T2F_C4F_N3F_V3F"/>
+ <enum name="GL_T2F_C4UB_V3F"/>
+ <enum name="GL_T2F_N3F_V3F"/>
+ <enum name="GL_T2F_V3F"/>
+ <enum name="GL_T4F_C4F_N3F_V4F"/>
+ <enum name="GL_T4F_V4F"/>
+ <enum name="GL_V2F"/>
+ <enum name="GL_V3F"/>
+ </group>
+
+ <group name="LightEnvModeSGIX">
+ <enum name="GL_ADD"/>
+ <enum name="GL_MODULATE"/>
+ <enum name="GL_REPLACE"/>
+ </group>
+
+ <group name="LightEnvParameterSGIX">
+ <enum name="GL_LIGHT_ENV_MODE_SGIX"/>
+ </group>
+
+ <group name="LightModelColorControl">
+ <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
+ <enum name="GL_SEPARATE_SPECULAR_COLOR_EXT"/>
+ <enum name="GL_SINGLE_COLOR"/>
+ <enum name="GL_SINGLE_COLOR_EXT"/>
+ </group>
+
+ <group name="LightModelParameter">
+ <enum name="GL_LIGHT_MODEL_AMBIENT"/>
+ <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
+ <enum name="GL_LIGHT_MODEL_COLOR_CONTROL_EXT"/>
+ <enum name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
+ <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
+ </group>
+
+ <group name="LightName">
+ <enum name="GL_FRAGMENT_LIGHT0_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT1_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT2_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT3_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT4_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT5_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT6_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT7_SGIX"/>
+ <enum name="GL_LIGHT0"/>
+ <enum name="GL_LIGHT1"/>
+ <enum name="GL_LIGHT2"/>
+ <enum name="GL_LIGHT3"/>
+ <enum name="GL_LIGHT4"/>
+ <enum name="GL_LIGHT5"/>
+ <enum name="GL_LIGHT6"/>
+ <enum name="GL_LIGHT7"/>
+ </group>
+
+ <group name="LightParameter">
+ <enum name="GL_AMBIENT"/>
+ <enum name="GL_CONSTANT_ATTENUATION"/>
+ <enum name="GL_DIFFUSE"/>
+ <enum name="GL_LINEAR_ATTENUATION"/>
+ <enum name="GL_POSITION"/>
+ <enum name="GL_QUADRATIC_ATTENUATION"/>
+ <enum name="GL_SPECULAR"/>
+ <enum name="GL_SPOT_CUTOFF"/>
+ <enum name="GL_SPOT_DIRECTION"/>
+ <enum name="GL_SPOT_EXPONENT"/>
+ </group>
+
+ <group name="ListMode">
+ <enum name="GL_COMPILE"/>
+ <enum name="GL_COMPILE_AND_EXECUTE"/>
+ </group>
+
+ <group name="ListNameType">
+ <enum name="GL_2_BYTES"/>
+ <enum name="GL_3_BYTES"/>
+ <enum name="GL_4_BYTES"/>
+ <enum name="GL_BYTE"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_SHORT"/>
+ <enum name="GL_UNSIGNED_BYTE"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ </group>
+
+ <group name="ListParameterName">
+ <enum name="GL_LIST_PRIORITY_SGIX"/>
+ </group>
+
+ <group name="LogicOp">
+ <enum name="GL_AND"/>
+ <enum name="GL_AND_INVERTED"/>
+ <enum name="GL_AND_REVERSE"/>
+ <enum name="GL_CLEAR"/>
+ <enum name="GL_COPY"/>
+ <enum name="GL_COPY_INVERTED"/>
+ <enum name="GL_EQUIV"/>
+ <enum name="GL_INVERT"/>
+ <enum name="GL_NAND"/>
+ <enum name="GL_NOOP"/>
+ <enum name="GL_NOR"/>
+ <enum name="GL_OR"/>
+ <enum name="GL_OR_INVERTED"/>
+ <enum name="GL_OR_REVERSE"/>
+ <enum name="GL_SET"/>
+ <enum name="GL_XOR"/>
+ </group>
+
+ <group name="MapBufferUsageMask">
+ <enum name="GL_CLIENT_STORAGE_BIT"/>
+ <enum name="GL_DYNAMIC_STORAGE_BIT"/>
+ <enum name="GL_MAP_COHERENT_BIT"/>
+ <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+ <enum name="GL_MAP_FLUSH_EXPLICIT_BIT_EXT"/>
+ <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_BUFFER_BIT_EXT"/>
+ <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_RANGE_BIT_EXT"/>
+ <enum name="GL_MAP_PERSISTENT_BIT"/>
+ <enum name="GL_MAP_READ_BIT"/>
+ <enum name="GL_MAP_READ_BIT_EXT"/>
+ <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+ <enum name="GL_MAP_UNSYNCHRONIZED_BIT_EXT"/>
+ <enum name="GL_MAP_WRITE_BIT"/>
+ <enum name="GL_MAP_WRITE_BIT_EXT"/>
+ </group>
+
+ <group name="MapTarget">
+ <enum name="GL_GEOMETRY_DEFORMATION_SGIX"/>
+ <enum name="GL_MAP1_COLOR_4"/>
+ <enum name="GL_MAP1_INDEX"/>
+ <enum name="GL_MAP1_NORMAL"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP1_VERTEX_3"/>
+ <enum name="GL_MAP1_VERTEX_4"/>
+ <enum name="GL_MAP2_COLOR_4"/>
+ <enum name="GL_MAP2_INDEX"/>
+ <enum name="GL_MAP2_NORMAL"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP2_VERTEX_3"/>
+ <enum name="GL_MAP2_VERTEX_4"/>
+ <enum name="GL_TEXTURE_DEFORMATION_SGIX"/>
+ </group>
+
+ <group name="MapTextureFormatINTEL">
+ <enum name="GL_LAYOUT_DEFAULT_INTEL"/>
+ <enum name="GL_LAYOUT_LINEAR_CPU_CACHED_INTEL"/>
+ <enum name="GL_LAYOUT_LINEAR_INTEL"/>
+ </group>
+
+ <group name="MaterialFace">
+ <enum name="GL_BACK"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_FRONT_AND_BACK"/>
+ </group>
+
+ <group name="MaterialParameter">
+ <enum name="GL_AMBIENT"/>
+ <enum name="GL_AMBIENT_AND_DIFFUSE"/>
+ <enum name="GL_COLOR_INDEXES"/>
+ <enum name="GL_DIFFUSE"/>
+ <enum name="GL_EMISSION"/>
+ <enum name="GL_SHININESS"/>
+ <enum name="GL_SPECULAR"/>
+ </group>
+
+ <group name="MatrixMode">
+ <enum name="GL_MODELVIEW"/>
+ <enum name="GL_MODELVIEW0_EXT"/>
+ <enum name="GL_PROJECTION"/>
+ <enum name="GL_TEXTURE"/>
+ </group>
+
+ <group name="MemoryBarrierMask">
+ <enum name="GL_ALL_BARRIER_BITS"/>
+ <enum name="GL_ALL_BARRIER_BITS_EXT"/>
+ <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+ <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT_EXT"/>
+ <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_BUFFER_UPDATE_BARRIER_BIT_EXT"/>
+ <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_COMMAND_BARRIER_BIT"/>
+ <enum name="GL_COMMAND_BARRIER_BIT_EXT"/>
+ <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT_EXT"/>
+ <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+ <enum name="GL_FRAMEBUFFER_BARRIER_BIT_EXT"/>
+ <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_PIXEL_BUFFER_BARRIER_BIT_EXT"/>
+ <enum name="GL_QUERY_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV"/>
+ <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+ <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT"/>
+ <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_FETCH_BARRIER_BIT_EXT"/>
+ <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"/>
+ <enum name="GL_UNIFORM_BARRIER_BIT"/>
+ <enum name="GL_UNIFORM_BARRIER_BIT_EXT"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"/>
+ </group>
+
+ <group name="MeshMode1">
+ <enum name="GL_LINE"/>
+ <enum name="GL_POINT"/>
+ </group>
+
+ <group name="MeshMode2">
+ <enum name="GL_FILL"/>
+ <enum name="GL_LINE"/>
+ <enum name="GL_POINT"/>
+ </group>
+
+ <group name="MinmaxTargetEXT">
+ <enum name="GL_MINMAX"/>
+ <enum name="GL_MINMAX_EXT"/>
+ </group>
+
+ <group name="NormalPointerType">
+ <enum name="GL_BYTE"/>
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_SHORT"/>
+ </group>
+
+ <group name="PixelCopyType">
+ <enum name="GL_COLOR"/>
+ <enum name="GL_COLOR_EXT"/>
+ <enum name="GL_DEPTH"/>
+ <enum name="GL_DEPTH_EXT"/>
+ <enum name="GL_STENCIL"/>
+ <enum name="GL_STENCIL_EXT"/>
+ </group>
+
+ <group name="PixelFormat">
+ <enum name="GL_ABGR_EXT"/>
+ <enum name="GL_ALPHA"/>
+ <enum name="GL_BLUE"/>
+ <enum name="GL_CMYKA_EXT"/>
+ <enum name="GL_CMYK_EXT"/>
+ <enum name="GL_COLOR_INDEX"/>
+ <enum name="GL_DEPTH_COMPONENT"/>
+ <enum name="GL_GREEN"/>
+ <enum name="GL_LUMINANCE"/>
+ <enum name="GL_LUMINANCE_ALPHA"/>
+ <enum name="GL_RED"/>
+ <enum name="GL_RED_EXT"/>
+ <enum name="GL_RGB"/>
+ <enum name="GL_RGBA"/>
+ <enum name="GL_STENCIL_INDEX"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ <enum name="GL_YCRCB_422_SGIX"/>
+ <enum name="GL_YCRCB_444_SGIX"/>
+ </group>
+
+ <group name="InternalFormat" comment="Was PixelInternalFormat">
+ <enum name="GL_ALPHA12"/>
+ <enum name="GL_ALPHA16"/>
+ <enum name="GL_ALPHA16_ICC_SGIX"/>
+ <enum name="GL_ALPHA4"/>
+ <enum name="GL_ALPHA8"/>
+ <enum name="GL_ALPHA_ICC_SGIX"/>
+ <enum name="GL_DEPTH_COMPONENT16_SGIX"/>
+ <enum name="GL_DEPTH_COMPONENT24_SGIX"/>
+ <enum name="GL_DEPTH_COMPONENT32_SGIX"/>
+ <enum name="GL_DUAL_ALPHA12_SGIS"/>
+ <enum name="GL_DUAL_ALPHA16_SGIS"/>
+ <enum name="GL_DUAL_ALPHA4_SGIS"/>
+ <enum name="GL_DUAL_ALPHA8_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY12_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY16_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY4_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY8_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE12_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE16_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE4_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE8_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE_ALPHA4_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE_ALPHA8_SGIS"/>
+ <enum name="GL_INTENSITY"/>
+ <enum name="GL_INTENSITY12"/>
+ <enum name="GL_INTENSITY16"/>
+ <enum name="GL_INTENSITY16_ICC_SGIX"/>
+ <enum name="GL_INTENSITY4"/>
+ <enum name="GL_INTENSITY8"/>
+ <enum name="GL_INTENSITY_ICC_SGIX"/>
+ <enum name="GL_LUMINANCE12"/>
+ <enum name="GL_LUMINANCE12_ALPHA12"/>
+ <enum name="GL_LUMINANCE12_ALPHA4"/>
+ <enum name="GL_LUMINANCE16"/>
+ <enum name="GL_LUMINANCE16_ALPHA16"/>
+ <enum name="GL_LUMINANCE16_ALPHA8_ICC_SGIX"/>
+ <enum name="GL_LUMINANCE16_ICC_SGIX"/>
+ <enum name="GL_LUMINANCE4"/>
+ <enum name="GL_LUMINANCE4_ALPHA4"/>
+ <enum name="GL_LUMINANCE6_ALPHA2"/>
+ <enum name="GL_LUMINANCE8"/>
+ <enum name="GL_LUMINANCE8_ALPHA8"/>
+ <enum name="GL_LUMINANCE_ALPHA_ICC_SGIX"/>
+ <enum name="GL_LUMINANCE_ICC_SGIX"/>
+ <enum name="GL_QUAD_ALPHA4_SGIS"/>
+ <enum name="GL_QUAD_ALPHA8_SGIS"/>
+ <enum name="GL_QUAD_INTENSITY4_SGIS"/>
+ <enum name="GL_QUAD_INTENSITY8_SGIS"/>
+ <enum name="GL_QUAD_LUMINANCE4_SGIS"/>
+ <enum name="GL_QUAD_LUMINANCE8_SGIS"/>
+ <enum name="GL_R3_G3_B2"/>
+ <enum name="GL_R5_G6_B5_A8_ICC_SGIX"/>
+ <enum name="GL_R5_G6_B5_ICC_SGIX"/>
+ <enum name="GL_RGB10"/>
+ <enum name="GL_RGB10_A2"/>
+ <enum name="GL_RGB12"/>
+ <enum name="GL_RGB16"/>
+ <enum name="GL_RGB2_EXT"/>
+ <enum name="GL_RGB4"/>
+ <enum name="GL_RGB5"/>
+ <enum name="GL_RGB5_A1"/>
+ <enum name="GL_RGB8"/>
+ <enum name="GL_RGBA12"/>
+ <enum name="GL_RGBA16"/>
+ <enum name="GL_RGBA2"/>
+ <enum name="GL_RGBA4"/>
+ <enum name="GL_RGBA8"/>
+ <enum name="GL_RGBA_ICC_SGIX"/>
+ <enum name="GL_RGB_ICC_SGIX"/>
+ </group>
+
+ <group name="PixelMap">
+ <enum name="GL_PIXEL_MAP_A_TO_A"/>
+ <enum name="GL_PIXEL_MAP_B_TO_B"/>
+ <enum name="GL_PIXEL_MAP_G_TO_G"/>
+ <enum name="GL_PIXEL_MAP_I_TO_A"/>
+ <enum name="GL_PIXEL_MAP_I_TO_B"/>
+ <enum name="GL_PIXEL_MAP_I_TO_G"/>
+ <enum name="GL_PIXEL_MAP_I_TO_I"/>
+ <enum name="GL_PIXEL_MAP_I_TO_R"/>
+ <enum name="GL_PIXEL_MAP_R_TO_R"/>
+ <enum name="GL_PIXEL_MAP_S_TO_S"/>
+ </group>
+
+ <group name="PixelStoreParameter">
+ <enum name="GL_PACK_ALIGNMENT"/>
+ <enum name="GL_PACK_IMAGE_DEPTH_SGIS"/>
+ <enum name="GL_PACK_IMAGE_HEIGHT"/>
+ <enum name="GL_PACK_IMAGE_HEIGHT_EXT"/>
+ <enum name="GL_PACK_LSB_FIRST"/>
+ <enum name="GL_PACK_RESAMPLE_OML"/>
+ <enum name="GL_PACK_RESAMPLE_SGIX"/>
+ <enum name="GL_PACK_ROW_LENGTH"/>
+ <enum name="GL_PACK_SKIP_IMAGES"/>
+ <enum name="GL_PACK_SKIP_IMAGES_EXT"/>
+ <enum name="GL_PACK_SKIP_PIXELS"/>
+ <enum name="GL_PACK_SKIP_ROWS"/>
+ <enum name="GL_PACK_SKIP_VOLUMES_SGIS"/>
+ <enum name="GL_PACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum name="GL_PACK_SWAP_BYTES"/>
+ <enum name="GL_PIXEL_TILE_CACHE_SIZE_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_DEPTH_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_HEIGHT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_WIDTH_SGIX"/>
+ <enum name="GL_PIXEL_TILE_HEIGHT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_WIDTH_SGIX"/>
+ <enum name="GL_UNPACK_ALIGNMENT"/>
+ <enum name="GL_UNPACK_IMAGE_DEPTH_SGIS"/>
+ <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
+ <enum name="GL_UNPACK_IMAGE_HEIGHT_EXT"/>
+ <enum name="GL_UNPACK_LSB_FIRST"/>
+ <enum name="GL_UNPACK_RESAMPLE_OML"/>
+ <enum name="GL_UNPACK_RESAMPLE_SGIX"/>
+ <enum name="GL_UNPACK_ROW_LENGTH"/>
+ <enum name="GL_UNPACK_ROW_LENGTH_EXT"/>
+ <enum name="GL_UNPACK_SKIP_IMAGES"/>
+ <enum name="GL_UNPACK_SKIP_IMAGES_EXT"/>
+ <enum name="GL_UNPACK_SKIP_PIXELS"/>
+ <enum name="GL_UNPACK_SKIP_PIXELS_EXT"/>
+ <enum name="GL_UNPACK_SKIP_ROWS"/>
+ <enum name="GL_UNPACK_SKIP_ROWS_EXT"/>
+ <enum name="GL_UNPACK_SKIP_VOLUMES_SGIS"/>
+ <enum name="GL_UNPACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum name="GL_UNPACK_SWAP_BYTES"/>
+ </group>
+
+ <group name="PixelStoreResampleMode">
+ <enum name="GL_RESAMPLE_DECIMATE_SGIX"/>
+ <enum name="GL_RESAMPLE_REPLICATE_SGIX"/>
+ <enum name="GL_RESAMPLE_ZERO_FILL_SGIX"/>
+ </group>
+
+ <group name="PixelStoreSubsampleRate">
+ <enum name="GL_PIXEL_SUBSAMPLE_2424_SGIX"/>
+ <enum name="GL_PIXEL_SUBSAMPLE_4242_SGIX"/>
+ <enum name="GL_PIXEL_SUBSAMPLE_4444_SGIX"/>
+ </group>
+
+ <group name="PixelTexGenMode">
+ <enum name="GL_LUMINANCE"/>
+ <enum name="GL_LUMINANCE_ALPHA"/>
+ <enum name="GL_NONE"/>
+ <enum name="GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX"/>
+ <enum name="GL_RGB"/>
+ <enum name="GL_RGBA"/>
+ </group>
+
+ <group name="PixelTexGenParameterNameSGIS">
+ <enum name="GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"/>
+ <enum name="GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"/>
+ </group>
+
+ <group name="PixelTransferParameter">
+ <enum name="GL_ALPHA_BIAS"/>
+ <enum name="GL_ALPHA_SCALE"/>
+ <enum name="GL_BLUE_BIAS"/>
+ <enum name="GL_BLUE_SCALE"/>
+ <enum name="GL_DEPTH_BIAS"/>
+ <enum name="GL_DEPTH_SCALE"/>
+ <enum name="GL_GREEN_BIAS"/>
+ <enum name="GL_GREEN_SCALE"/>
+ <enum name="GL_INDEX_OFFSET"/>
+ <enum name="GL_INDEX_SHIFT"/>
+ <enum name="GL_MAP_COLOR"/>
+ <enum name="GL_MAP_STENCIL"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_BIAS"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_BIAS"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_BIAS"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_BIAS"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_SCALE_SGI"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_BIAS"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_BIAS"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_BIAS"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_RED_BIAS"/>
+ <enum name="GL_POST_CONVOLUTION_RED_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_RED_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_RED_SCALE_EXT"/>
+ <enum name="GL_RED_BIAS"/>
+ <enum name="GL_RED_SCALE"/>
+ </group>
+
+ <group name="PixelType">
+ <enum name="GL_BITMAP"/>
+ <enum name="GL_BYTE"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_SHORT"/>
+ <enum name="GL_UNSIGNED_BYTE"/>
+ <enum name="GL_UNSIGNED_BYTE_3_3_2"/>
+ <enum name="GL_UNSIGNED_BYTE_3_3_2_EXT"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ <enum name="GL_UNSIGNED_INT_10_10_10_2"/>
+ <enum name="GL_UNSIGNED_INT_10_10_10_2_EXT"/>
+ <enum name="GL_UNSIGNED_INT_8_8_8_8"/>
+ <enum name="GL_UNSIGNED_INT_8_8_8_8_EXT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4_EXT"/>
+ <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <enum name="GL_UNSIGNED_SHORT_5_5_5_1_EXT"/>
+ </group>
+
+ <group name="PointParameterNameSGIS">
+ <enum name="GL_DISTANCE_ATTENUATION_EXT"/>
+ <enum name="GL_DISTANCE_ATTENUATION_SGIS"/>
+ <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+ <enum name="GL_POINT_DISTANCE_ATTENUATION_ARB"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE_ARB"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE_EXT"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
+ <enum name="GL_POINT_SIZE_MAX"/>
+ <enum name="GL_POINT_SIZE_MAX_ARB"/>
+ <enum name="GL_POINT_SIZE_MAX_EXT"/>
+ <enum name="GL_POINT_SIZE_MAX_SGIS"/>
+ <enum name="GL_POINT_SIZE_MIN"/>
+ <enum name="GL_POINT_SIZE_MIN_ARB"/>
+ <enum name="GL_POINT_SIZE_MIN_EXT"/>
+ <enum name="GL_POINT_SIZE_MIN_SGIS"/>
+ </group>
+
+ <group name="PolygonMode">
+ <enum name="GL_FILL"/>
+ <enum name="GL_LINE"/>
+ <enum name="GL_POINT"/>
+ </group>
+
+ <group name="PrimitiveType">
+ <enum name="GL_LINES"/>
+ <enum name="GL_LINES_ADJACENCY"/>
+ <enum name="GL_LINES_ADJACENCY_ARB"/>
+ <enum name="GL_LINES_ADJACENCY_EXT"/>
+ <enum name="GL_LINE_LOOP"/>
+ <enum name="GL_LINE_STRIP"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY_ARB"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_PATCHES"/>
+ <enum name="GL_PATCHES_EXT"/>
+ <enum name="GL_POINTS"/>
+ <enum name="GL_POLYGON"/>
+ <enum name="GL_QUADS"/>
+ <enum name="GL_QUADS_EXT"/>
+ <enum name="GL_QUAD_STRIP"/>
+ <enum name="GL_TRIANGLES"/>
+ <enum name="GL_TRIANGLES_ADJACENCY"/>
+ <enum name="GL_TRIANGLES_ADJACENCY_ARB"/>
+ <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLE_FAN"/>
+ <enum name="GL_TRIANGLE_STRIP"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+ </group>
+
+ <group name="OcclusionQueryEventMaskAMD">
+ <enum name="GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_ALL_EVENT_BITS_AMD"/>
+ </group>
+
+ <group name="ReadBufferMode">
+ <enum name="GL_AUX0"/>
+ <enum name="GL_AUX1"/>
+ <enum name="GL_AUX2"/>
+ <enum name="GL_AUX3"/>
+ <enum name="GL_BACK"/>
+ <enum name="GL_BACK_LEFT"/>
+ <enum name="GL_BACK_RIGHT"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_FRONT_LEFT"/>
+ <enum name="GL_FRONT_RIGHT"/>
+ <enum name="GL_LEFT"/>
+ <enum name="GL_RIGHT"/>
+ </group>
+
+ <group name="RenderingMode">
+ <enum name="GL_FEEDBACK"/>
+ <enum name="GL_RENDER"/>
+ <enum name="GL_SELECT"/>
+ </group>
+
+ <group name="SamplePatternSGIS">
+ <enum name="GL_1PASS_EXT"/>
+ <enum name="GL_1PASS_SGIS"/>
+ <enum name="GL_2PASS_0_EXT"/>
+ <enum name="GL_2PASS_0_SGIS"/>
+ <enum name="GL_2PASS_1_EXT"/>
+ <enum name="GL_2PASS_1_SGIS"/>
+ <enum name="GL_4PASS_0_EXT"/>
+ <enum name="GL_4PASS_0_SGIS"/>
+ <enum name="GL_4PASS_1_EXT"/>
+ <enum name="GL_4PASS_1_SGIS"/>
+ <enum name="GL_4PASS_2_EXT"/>
+ <enum name="GL_4PASS_2_SGIS"/>
+ <enum name="GL_4PASS_3_EXT"/>
+ <enum name="GL_4PASS_3_SGIS"/>
+ </group>
+
+ <group name="SeparableTargetEXT">
+ <enum name="GL_SEPARABLE_2D"/>
+ <enum name="GL_SEPARABLE_2D_EXT"/>
+ </group>
+
+ <group name="ShadingModel">
+ <enum name="GL_FLAT"/>
+ <enum name="GL_SMOOTH"/>
+ </group>
+
+ <group name="StencilFunction">
+ <enum name="GL_ALWAYS"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_GEQUAL"/>
+ <enum name="GL_GREATER"/>
+ <enum name="GL_LEQUAL"/>
+ <enum name="GL_LESS"/>
+ <enum name="GL_NEVER"/>
+ <enum name="GL_NOTEQUAL"/>
+ </group>
+
+ <group name="StencilOp">
+ <enum name="GL_DECR"/>
+ <enum name="GL_INCR"/>
+ <enum name="GL_INVERT"/>
+ <enum name="GL_KEEP"/>
+ <enum name="GL_REPLACE"/>
+ <enum name="GL_ZERO"/>
+ </group>
+
+ <group name="StringName">
+ <enum name="GL_EXTENSIONS"/>
+ <enum name="GL_RENDERER"/>
+ <enum name="GL_VENDOR"/>
+ <enum name="GL_VERSION"/>
+ </group>
+
+ <group name="TexCoordPointerType">
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_SHORT"/>
+ </group>
+
+ <group name="TextureCoordName">
+ <enum name="GL_S"/>
+ <enum name="GL_T"/>
+ <enum name="GL_R"/>
+ <enum name="GL_Q"/>
+ </group>
+
+ <group name="TextureEnvMode">
+ <enum name="GL_ADD"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_DECAL"/>
+ <enum name="GL_MODULATE"/>
+ <enum name="GL_REPLACE_EXT"/>
+ <enum name="GL_TEXTURE_ENV_BIAS_SGIX"/>
+ </group>
+
+ <group name="TextureEnvParameter">
+ <enum name="GL_TEXTURE_ENV_COLOR"/>
+ <enum name="GL_TEXTURE_ENV_MODE"/>
+ </group>
+
+ <group name="TextureEnvTarget">
+ <enum name="GL_TEXTURE_ENV"/>
+ </group>
+
+ <group name="TextureFilterFuncSGIS">
+ <enum name="GL_FILTER4_SGIS"/>
+ </group>
+
+ <group name="TextureGenMode">
+ <enum name="GL_EYE_DISTANCE_TO_LINE_SGIS"/>
+ <enum name="GL_EYE_DISTANCE_TO_POINT_SGIS"/>
+ <enum name="GL_EYE_LINEAR"/>
+ <enum name="GL_OBJECT_DISTANCE_TO_LINE_SGIS"/>
+ <enum name="GL_OBJECT_DISTANCE_TO_POINT_SGIS"/>
+ <enum name="GL_OBJECT_LINEAR"/>
+ <enum name="GL_SPHERE_MAP"/>
+ </group>
+
+ <group name="TextureGenParameter">
+ <enum name="GL_EYE_LINE_SGIS"/>
+ <enum name="GL_EYE_PLANE"/>
+ <enum name="GL_EYE_POINT_SGIS"/>
+ <enum name="GL_OBJECT_LINE_SGIS"/>
+ <enum name="GL_OBJECT_PLANE"/>
+ <enum name="GL_OBJECT_POINT_SGIS"/>
+ <enum name="GL_TEXTURE_GEN_MODE"/>
+ </group>
+
+ <group name="TextureMagFilter">
+ <enum name="GL_FILTER4_SGIS"/>
+ <enum name="GL_LINEAR"/>
+ <enum name="GL_LINEAR_DETAIL_ALPHA_SGIS"/>
+ <enum name="GL_LINEAR_DETAIL_COLOR_SGIS"/>
+ <enum name="GL_LINEAR_DETAIL_SGIS"/>
+ <enum name="GL_LINEAR_SHARPEN_ALPHA_SGIS"/>
+ <enum name="GL_LINEAR_SHARPEN_COLOR_SGIS"/>
+ <enum name="GL_LINEAR_SHARPEN_SGIS"/>
+ <enum name="GL_NEAREST"/>
+ <enum name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+ </group>
+
+ <group name="TextureMinFilter">
+ <enum name="GL_FILTER4_SGIS"/>
+ <enum name="GL_LINEAR"/>
+ <enum name="GL_LINEAR_CLIPMAP_LINEAR_SGIX"/>
+ <enum name="GL_LINEAR_CLIPMAP_NEAREST_SGIX"/>
+ <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+ <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+ <enum name="GL_NEAREST"/>
+ <enum name="GL_NEAREST_CLIPMAP_LINEAR_SGIX"/>
+ <enum name="GL_NEAREST_CLIPMAP_NEAREST_SGIX"/>
+ <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+ <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+ <enum name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+ </group>
+
+ <group name="TextureParameterName">
+ <enum name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
+ <enum name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
+ <enum name="GL_DUAL_TEXTURE_SELECT_SGIS"/>
+ <enum name="GL_GENERATE_MIPMAP"/>
+ <enum name="GL_GENERATE_MIPMAP_SGIS"/>
+ <enum name="GL_POST_TEXTURE_FILTER_BIAS_SGIX"/>
+ <enum name="GL_POST_TEXTURE_FILTER_SCALE_SGIX"/>
+ <enum name="GL_QUAD_TEXTURE_SELECT_SGIS"/>
+ <enum name="GL_SHADOW_AMBIENT_SGIX"/>
+ <enum name="GL_TEXTURE_BORDER_COLOR"/>
+ <enum name="GL_TEXTURE_CLIPMAP_CENTER_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_FRAME_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+ <enum name="GL_TEXTURE_COMPARE_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_R_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_S_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_T_SGIX"/>
+ <enum name="GL_TEXTURE_MAG_FILTER"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_R_SGIX"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_S_SGIX"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
+ <enum name="GL_TEXTURE_MIN_FILTER"/>
+ <enum name="GL_TEXTURE_PRIORITY"/>
+ <enum name="GL_TEXTURE_PRIORITY_EXT"/>
+ <enum name="GL_TEXTURE_WRAP_Q_SGIS"/>
+ <enum name="GL_TEXTURE_WRAP_R"/>
+ <enum name="GL_TEXTURE_WRAP_R_EXT"/>
+ <enum name="GL_TEXTURE_WRAP_R_OES"/>
+ <enum name="GL_TEXTURE_WRAP_S"/>
+ <enum name="GL_TEXTURE_WRAP_T"/>
+ </group>
+
+ <group name="TextureTarget">
+ <enum name="GL_DETAIL_TEXTURE_2D_SGIS"/>
+ <enum name="GL_PROXY_TEXTURE_1D"/>
+ <enum name="GL_PROXY_TEXTURE_1D_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_2D"/>
+ <enum name="GL_PROXY_TEXTURE_2D_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_3D"/>
+ <enum name="GL_PROXY_TEXTURE_3D_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_4D_SGIS"/>
+ <enum name="GL_TEXTURE_1D"/>
+ <enum name="GL_TEXTURE_2D"/>
+ <enum name="GL_TEXTURE_3D"/>
+ <enum name="GL_TEXTURE_3D_EXT"/>
+ <enum name="GL_TEXTURE_3D_OES"/>
+ <enum name="GL_TEXTURE_4D_SGIS"/>
+ <enum name="GL_TEXTURE_BASE_LEVEL"/>
+ <enum name="GL_TEXTURE_BASE_LEVEL_SGIS"/>
+ <enum name="GL_TEXTURE_MAX_LEVEL"/>
+ <enum name="GL_TEXTURE_MAX_LEVEL_SGIS"/>
+ <enum name="GL_TEXTURE_MAX_LOD"/>
+ <enum name="GL_TEXTURE_MAX_LOD_SGIS"/>
+ <enum name="GL_TEXTURE_MIN_LOD"/>
+ <enum name="GL_TEXTURE_MIN_LOD_SGIS"/>
+ </group>
+
+ <group name="TextureWrapMode">
+ <enum name="GL_CLAMP"/>
+ <enum name="GL_CLAMP_TO_BORDER"/>
+ <enum name="GL_CLAMP_TO_BORDER_ARB"/>
+ <enum name="GL_CLAMP_TO_BORDER_NV"/>
+ <enum name="GL_CLAMP_TO_BORDER_SGIS"/>
+ <enum name="GL_CLAMP_TO_EDGE"/>
+ <enum name="GL_CLAMP_TO_EDGE_SGIS"/>
+ <enum name="GL_REPEAT"/>
+ </group>
+
+ <group name="UseProgramStageMask">
+ <enum name="GL_VERTEX_SHADER_BIT"/>
+ <enum name="GL_VERTEX_SHADER_BIT_EXT"/>
+ <enum name="GL_FRAGMENT_SHADER_BIT"/>
+ <enum name="GL_FRAGMENT_SHADER_BIT_EXT"/>
+ <enum name="GL_GEOMETRY_SHADER_BIT"/>
+ <enum name="GL_GEOMETRY_SHADER_BIT_EXT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
+ <enum name="GL_COMPUTE_SHADER_BIT"/>
+ <enum name="GL_ALL_SHADER_BITS"/>
+ <enum name="GL_ALL_SHADER_BITS_EXT"/>
+ </group>
+
+ <group name="VertexPointerType">
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_SHORT"/>
+ </group>
+ </groups>
+
+ <!-- SECTION: GL enumerant (token) definitions. -->
+
+ <!-- Bitmasks each have their own namespace, although bits are
+ sometimes reused for other purposes -->
+
+ <enums namespace="GL" group="AttribMask" type="bitmask">
+ <enum value="0x00000001" name="GL_CURRENT_BIT"/>
+ <enum value="0x00000002" name="GL_POINT_BIT"/>
+ <enum value="0x00000004" name="GL_LINE_BIT"/>
+ <enum value="0x00000008" name="GL_POLYGON_BIT"/>
+ <enum value="0x00000010" name="GL_POLYGON_STIPPLE_BIT"/>
+ <enum value="0x00000020" name="GL_PIXEL_MODE_BIT"/>
+ <enum value="0x00000040" name="GL_LIGHTING_BIT"/>
+ <enum value="0x00000080" name="GL_FOG_BIT"/>
+ <enum value="0x00000100" name="GL_DEPTH_BUFFER_BIT"/>
+ <enum value="0x00000200" name="GL_ACCUM_BUFFER_BIT"/>
+ <enum value="0x00000400" name="GL_STENCIL_BUFFER_BIT"/>
+ <enum value="0x00000800" name="GL_VIEWPORT_BIT"/>
+ <enum value="0x00001000" name="GL_TRANSFORM_BIT"/>
+ <enum value="0x00002000" name="GL_ENABLE_BIT"/>
+ <enum value="0x00004000" name="GL_COLOR_BUFFER_BIT"/>
+ <enum value="0x00008000" name="GL_HINT_BIT"/>
+ <enum value="0x00010000" name="GL_EVAL_BIT"/>
+ <enum value="0x00020000" name="GL_LIST_BIT"/>
+ <enum value="0x00040000" name="GL_TEXTURE_BIT"/>
+ <enum value="0x00080000" name="GL_SCISSOR_BIT"/>
+ <enum value="0x20000000" name="GL_MULTISAMPLE_BIT"/>
+ <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_ARB"/>
+ <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_EXT"/>
+ <enum value="0x20000000" name="GL_MULTISAMPLE_BIT_3DFX"/>
+ <enum value="0xFFFFFFFF" name="GL_ALL_ATTRIB_BITS" comment="Guaranteed to mark all attribute groups at once"/>
+ </enums>
+
+ <enums namespace="GL" group="ClearBufferMask" type="bitmask" comment="GL_{DEPTH,ACCUM,STENCIL,COLOR}_BUFFER_BIT also lie in this namespace">
+ <enum value="0x00008000" name="GL_COVERAGE_BUFFER_BIT_NV" comment="Collides with AttribMask bit GL_HINT_BIT. OK since this token is for OpenGL ES 2, which doesn't have attribute groups."/>
+ <!-- Also used: 0x00004700 for bits reused from AttribMask above -->
+ </enums>
+
+ <enums namespace="GL" group="ClientAttribMask" type="bitmask">
+ <enum value="0x00000001" name="GL_CLIENT_PIXEL_STORE_BIT"/>
+ <enum value="0x00000002" name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
+ <enum value="0xFFFFFFFF" name="GL_CLIENT_ALL_ATTRIB_BITS"/>
+ </enums>
+
+ <enums namespace="GL" group="ContextFlagMask" type="bitmask" comment="Should be shared with WGL/GLX, but aren't since the FORWARD_COMPATIBLE and DEBUG values are swapped vs. WGL/GLX.">
+ <enum value="0x00000001" name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"/>
+ <enum value="0x00000002" name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
+ <enum value="0x00000002" name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR"/>
+ <enum value="0x00000004" name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"/>
+ </enums>
+
+ <enums namespace="GL" group="ContextProfileMask" type="bitmask">
+ <enum value="0x00000001" name="GL_CONTEXT_CORE_PROFILE_BIT"/>
+ <enum value="0x00000002" name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"/>
+ </enums>
+
+ <enums namespace="GL" group="MapBufferUsageMask" type="bitmask">
+ <enum value="0x0001" name="GL_MAP_READ_BIT"/>
+ <enum value="0x0001" name="GL_MAP_READ_BIT_EXT"/>
+ <enum value="0x0002" name="GL_MAP_WRITE_BIT"/>
+ <enum value="0x0002" name="GL_MAP_WRITE_BIT_EXT"/>
+ <enum value="0x0004" name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+ <enum value="0x0004" name="GL_MAP_INVALIDATE_RANGE_BIT_EXT"/>
+ <enum value="0x0008" name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+ <enum value="0x0008" name="GL_MAP_INVALIDATE_BUFFER_BIT_EXT"/>
+ <enum value="0x0010" name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+ <enum value="0x0010" name="GL_MAP_FLUSH_EXPLICIT_BIT_EXT"/>
+ <enum value="0x0020" name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+ <enum value="0x0020" name="GL_MAP_UNSYNCHRONIZED_BIT_EXT"/>
+ <enum value="0x0040" name="GL_MAP_PERSISTENT_BIT"/>
+ <enum value="0x0080" name="GL_MAP_COHERENT_BIT"/>
+ <enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT"/>
+ <enum value="0x0200" name="GL_CLIENT_STORAGE_BIT"/>
+ <!-- 0x0400 reserved for future GL features -->
+ </enums>
+
+ <enums namespace="GL" group="MemoryBarrierMask" type="bitmask">
+ <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+ <enum value="0x00000001" name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"/>
+ <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+ <enum value="0x00000002" name="GL_ELEMENT_ARRAY_BARRIER_BIT_EXT"/>
+ <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT"/>
+ <enum value="0x00000004" name="GL_UNIFORM_BARRIER_BIT_EXT"/>
+ <enum value="0x00000008" name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+ <enum value="0x00000008" name="GL_TEXTURE_FETCH_BARRIER_BIT_EXT"/>
+ <enum value="0x00000010" name="GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV"/>
+ <enum value="0x00000020" name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+ <enum value="0x00000020" name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT"/>
+ <enum value="0x00000040" name="GL_COMMAND_BARRIER_BIT"/>
+ <enum value="0x00000040" name="GL_COMMAND_BARRIER_BIT_EXT"/>
+ <enum value="0x00000080" name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+ <enum value="0x00000080" name="GL_PIXEL_BUFFER_BARRIER_BIT_EXT"/>
+ <enum value="0x00000100" name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+ <enum value="0x00000100" name="GL_TEXTURE_UPDATE_BARRIER_BIT_EXT"/>
+ <enum value="0x00000200" name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+ <enum value="0x00000200" name="GL_BUFFER_UPDATE_BARRIER_BIT_EXT"/>
+ <enum value="0x00000400" name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+ <enum value="0x00000400" name="GL_FRAMEBUFFER_BARRIER_BIT_EXT"/>
+ <enum value="0x00000800" name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+ <enum value="0x00000800" name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"/>
+ <enum value="0x00001000" name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+ <enum value="0x00001000" name="GL_ATOMIC_COUNTER_BARRIER_BIT_EXT"/>
+ <enum value="0x00002000" name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+ <enum value="0x00004000" name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
+ <enum value="0x00008000" name="GL_QUERY_BUFFER_BARRIER_BIT"/>
+ <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS"/>
+ <enum value="0xFFFFFFFF" name="GL_ALL_BARRIER_BITS_EXT"/>
+ </enums>
+
+ <enums namespace="OcclusionQueryEventMaskAMD">
+ <enum value="0x00000001" name="GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"/>
+ <enum value="0x00000002" name="GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"/>
+ <enum value="0x00000004" name="GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"/>
+ <enum value="0x00000008" name="GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"/>
+ <enum value="0xFFFFFFFF" name="GL_QUERY_ALL_EVENT_BITS_AMD"/>
+ </enums>
+
+ <enums namespace="GL" group="SyncObjectMask" type="bitmask">
+ <enum value="0x00000001" name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+ <enum value="0x00000001" name="GL_SYNC_FLUSH_COMMANDS_BIT_APPLE"/>
+ </enums>
+
+ <enums namespace="GL" group="UseProgramStageMask" type="bitmask">
+ <enum value="0x00000001" name="GL_VERTEX_SHADER_BIT"/>
+ <enum value="0x00000001" name="GL_VERTEX_SHADER_BIT_EXT"/>
+ <enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT"/>
+ <enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT_EXT"/>
+ <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT"/>
+ <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT_EXT"/>
+ <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT"/>
+ <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
+ <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT"/>
+ <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
+ <enum value="0x00000020" name="GL_COMPUTE_SHADER_BIT"/>
+ <enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS"/>
+ <enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS_EXT"/>
+ </enums>
+
+ <!-- Bitmasks defined by vendor extensions -->
+
+ <enums namespace="GL" group="TextureStorageMaskAMD" type="bitmask">
+ <enum value="0x00000001" name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"/>
+ </enums>
+
+ <enums namespace="GL" group="FragmentShaderDestMaskATI" type="bitmask">
+ <enum value="0x00000001" name="GL_RED_BIT_ATI"/>
+ <enum value="0x00000002" name="GL_GREEN_BIT_ATI"/>
+ <enum value="0x00000004" name="GL_BLUE_BIT_ATI"/>
+ </enums>
+
+ <enums namespace="GL" group="FragmentShaderDestModMaskATI" type="bitmask">
+ <enum value="0x00000001" name="GL_2X_BIT_ATI"/>
+ <enum value="0x00000002" name="GL_4X_BIT_ATI"/>
+ <enum value="0x00000004" name="GL_8X_BIT_ATI"/>
+ <enum value="0x00000008" name="GL_HALF_BIT_ATI"/>
+ <enum value="0x00000010" name="GL_QUARTER_BIT_ATI"/>
+ <enum value="0x00000020" name="GL_EIGHTH_BIT_ATI"/>
+ <enum value="0x00000040" name="GL_SATURATE_BIT_ATI"/>
+ </enums>
+
+ <enums namespace="GL" group="FragmentShaderColorModMaskATI" type="bitmask">
+ <!-- Also used: 0x00000001 for GL_2X_BIT_ATI reused from FragmentShaderDestModMaskAT above -->
+ <enum value="0x00000002" name="GL_COMP_BIT_ATI"/>
+ <enum value="0x00000004" name="GL_NEGATE_BIT_ATI"/>
+ <enum value="0x00000008" name="GL_BIAS_BIT_ATI"/>
+ </enums>
+
+ <enums namespace="GL" group="TraceMaskMESA" type="bitmask">
+ <enum value="0x0001" name="GL_TRACE_OPERATIONS_BIT_MESA"/>
+ <enum value="0x0002" name="GL_TRACE_PRIMITIVES_BIT_MESA"/>
+ <enum value="0x0004" name="GL_TRACE_ARRAYS_BIT_MESA"/>
+ <enum value="0x0008" name="GL_TRACE_TEXTURES_BIT_MESA"/>
+ <enum value="0x0010" name="GL_TRACE_PIXELS_BIT_MESA"/>
+ <enum value="0x0020" name="GL_TRACE_ERRORS_BIT_MESA"/>
+ <enum value="0xFFFF" name="GL_TRACE_ALL_BITS_MESA"/>
+ </enums>
+
+ <enums namespace="GL" group="PathRenderingMaskNV" type="bitmask">
+ <enum value="0x01" name="GL_BOLD_BIT_NV"/>
+ <enum value="0x02" name="GL_ITALIC_BIT_NV"/>
+ <enum value="0x01" name="GL_GLYPH_WIDTH_BIT_NV"/>
+ <enum value="0x02" name="GL_GLYPH_HEIGHT_BIT_NV"/>
+ <enum value="0x04" name="GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV"/>
+ <enum value="0x08" name="GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV"/>
+ <enum value="0x10" name="GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV"/>
+ <enum value="0x20" name="GL_GLYPH_VERTICAL_BEARING_X_BIT_NV"/>
+ <enum value="0x40" name="GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV"/>
+ <enum value="0x80" name="GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV"/>
+ <enum value="0x100" name="GL_GLYPH_HAS_KERNING_BIT_NV"/>
+ <enum value="0x00010000" name="GL_FONT_X_MIN_BOUNDS_BIT_NV"/>
+ <enum value="0x00020000" name="GL_FONT_Y_MIN_BOUNDS_BIT_NV"/>
+ <enum value="0x00040000" name="GL_FONT_X_MAX_BOUNDS_BIT_NV"/>
+ <enum value="0x00080000" name="GL_FONT_Y_MAX_BOUNDS_BIT_NV"/>
+ <enum value="0x00100000" name="GL_FONT_UNITS_PER_EM_BIT_NV"/>
+ <enum value="0x00200000" name="GL_FONT_ASCENDER_BIT_NV"/>
+ <enum value="0x00400000" name="GL_FONT_DESCENDER_BIT_NV"/>
+ <enum value="0x00800000" name="GL_FONT_HEIGHT_BIT_NV"/>
+ <enum value="0x01000000" name="GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV"/>
+ <enum value="0x02000000" name="GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV"/>
+ <enum value="0x04000000" name="GL_FONT_UNDERLINE_POSITION_BIT_NV"/>
+ <enum value="0x08000000" name="GL_FONT_UNDERLINE_THICKNESS_BIT_NV"/>
+ <enum value="0x10000000" name="GL_FONT_HAS_KERNING_BIT_NV"/>
+ </enums>
+
+ <enums namespace="GL" group="PerformanceQueryCapsMaskINTEL" type="bitmask">
+ <enum value="0x00000000" name="GL_PERFQUERY_SINGLE_CONTEXT_INTEL"/>
+ <enum value="0x00000001" name="GL_PERFQUERY_GLOBAL_CONTEXT_INTEL"/>
+ </enums>
+
+ <enums namespace="GL" group="VertexHintsMaskPGI" type="bitmask">
+ <enum value="0x00000004" name="GL_VERTEX23_BIT_PGI"/>
+ <enum value="0x00000008" name="GL_VERTEX4_BIT_PGI"/>
+ <enum value="0x00010000" name="GL_COLOR3_BIT_PGI"/>
+ <enum value="0x00020000" name="GL_COLOR4_BIT_PGI"/>
+ <enum value="0x00040000" name="GL_EDGEFLAG_BIT_PGI"/>
+ <enum value="0x00080000" name="GL_INDEX_BIT_PGI"/>
+ <enum value="0x00100000" name="GL_MAT_AMBIENT_BIT_PGI"/>
+ <enum value="0x00200000" name="GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI"/>
+ <enum value="0x00400000" name="GL_MAT_DIFFUSE_BIT_PGI"/>
+ <enum value="0x00800000" name="GL_MAT_EMISSION_BIT_PGI"/>
+ <enum value="0x01000000" name="GL_MAT_COLOR_INDEXES_BIT_PGI"/>
+ <enum value="0x02000000" name="GL_MAT_SHININESS_BIT_PGI"/>
+ <enum value="0x04000000" name="GL_MAT_SPECULAR_BIT_PGI"/>
+ <enum value="0x08000000" name="GL_NORMAL_BIT_PGI"/>
+ <enum value="0x10000000" name="GL_TEXCOORD1_BIT_PGI"/>
+ <enum value="0x20000000" name="GL_TEXCOORD2_BIT_PGI"/>
+ <enum value="0x40000000" name="GL_TEXCOORD3_BIT_PGI"/>
+ <enum value="0x80000000" name="GL_TEXCOORD4_BIT_PGI"/>
+ </enums>
+
+ <enums namespace="GL" group="BufferBitQCOM" type="bitmask">
+ <enum value="0x00000001" name="GL_COLOR_BUFFER_BIT0_QCOM"/>
+ <enum value="0x00000002" name="GL_COLOR_BUFFER_BIT1_QCOM"/>
+ <enum value="0x00000004" name="GL_COLOR_BUFFER_BIT2_QCOM"/>
+ <enum value="0x00000008" name="GL_COLOR_BUFFER_BIT3_QCOM"/>
+ <enum value="0x00000010" name="GL_COLOR_BUFFER_BIT4_QCOM"/>
+ <enum value="0x00000020" name="GL_COLOR_BUFFER_BIT5_QCOM"/>
+ <enum value="0x00000040" name="GL_COLOR_BUFFER_BIT6_QCOM"/>
+ <enum value="0x00000080" name="GL_COLOR_BUFFER_BIT7_QCOM"/>
+ <enum value="0x00000100" name="GL_DEPTH_BUFFER_BIT0_QCOM"/>
+ <enum value="0x00000200" name="GL_DEPTH_BUFFER_BIT1_QCOM"/>
+ <enum value="0x00000400" name="GL_DEPTH_BUFFER_BIT2_QCOM"/>
+ <enum value="0x00000800" name="GL_DEPTH_BUFFER_BIT3_QCOM"/>
+ <enum value="0x00001000" name="GL_DEPTH_BUFFER_BIT4_QCOM"/>
+ <enum value="0x00002000" name="GL_DEPTH_BUFFER_BIT5_QCOM"/>
+ <enum value="0x00004000" name="GL_DEPTH_BUFFER_BIT6_QCOM"/>
+ <enum value="0x00008000" name="GL_DEPTH_BUFFER_BIT7_QCOM"/>
+ <enum value="0x00010000" name="GL_STENCIL_BUFFER_BIT0_QCOM"/>
+ <enum value="0x00020000" name="GL_STENCIL_BUFFER_BIT1_QCOM"/>
+ <enum value="0x00040000" name="GL_STENCIL_BUFFER_BIT2_QCOM"/>
+ <enum value="0x00080000" name="GL_STENCIL_BUFFER_BIT3_QCOM"/>
+ <enum value="0x00100000" name="GL_STENCIL_BUFFER_BIT4_QCOM"/>
+ <enum value="0x00200000" name="GL_STENCIL_BUFFER_BIT5_QCOM"/>
+ <enum value="0x00400000" name="GL_STENCIL_BUFFER_BIT6_QCOM"/>
+ <enum value="0x00800000" name="GL_STENCIL_BUFFER_BIT7_QCOM"/>
+ <enum value="0x01000000" name="GL_MULTISAMPLE_BUFFER_BIT0_QCOM"/>
+ <enum value="0x02000000" name="GL_MULTISAMPLE_BUFFER_BIT1_QCOM"/>
+ <enum value="0x04000000" name="GL_MULTISAMPLE_BUFFER_BIT2_QCOM"/>
+ <enum value="0x08000000" name="GL_MULTISAMPLE_BUFFER_BIT3_QCOM"/>
+ <enum value="0x10000000" name="GL_MULTISAMPLE_BUFFER_BIT4_QCOM"/>
+ <enum value="0x20000000" name="GL_MULTISAMPLE_BUFFER_BIT5_QCOM"/>
+ <enum value="0x40000000" name="GL_MULTISAMPLE_BUFFER_BIT6_QCOM"/>
+ <enum value="0x80000000" name="GL_MULTISAMPLE_BUFFER_BIT7_QCOM"/>
+ </enums>
+
+ <enums namespace="GL" group="FfdMaskSGIX" type="bitmask">
+ <enum value="0x00000001" name="GL_TEXTURE_DEFORMATION_BIT_SGIX"/>
+ <enum value="0x00000002" name="GL_GEOMETRY_DEFORMATION_BIT_SGIX"/>
+ </enums>
+
+ <!-- Non-bitmask enums with their own namespace. Generally small numbers
+ used for indexed access. -->
+
+ <enums namespace="GL" group="TriangleListSUN" vendor="SUN">
+ <enum value="0x0001" name="GL_RESTART_SUN"/>
+ <enum value="0x0002" name="GL_REPLACE_MIDDLE_SUN"/>
+ <enum value="0x0003" name="GL_REPLACE_OLDEST_SUN"/>
+ </enums>
+
+ <enums namespace="GL" group="MapTextureFormatINTEL" vendor="INTEL" comment="Texture memory layouts for INTEL_map_texture">
+ <enum value="0" name="GL_LAYOUT_DEFAULT_INTEL"/>
+ <enum value="1" name="GL_LAYOUT_LINEAR_INTEL"/>
+ <enum value="2" name="GL_LAYOUT_LINEAR_CPU_CACHED_INTEL"/>
+ </enums>
+
+ <enums namespace="GL" group="TransformFeedbackTokenNV" vendor="NV" comment="For NV_transform_feedback. No clue why small negative values are used">
+ <enum value="-2" name="GL_NEXT_BUFFER_NV"/>
+ <enum value="-3" name="GL_SKIP_COMPONENTS4_NV"/>
+ <enum value="-4" name="GL_SKIP_COMPONENTS3_NV"/>
+ <enum value="-5" name="GL_SKIP_COMPONENTS2_NV"/>
+ <enum value="-6" name="GL_SKIP_COMPONENTS1_NV"/>
+ </enums>
+
+ <enums namespace="GL" group="PathRenderingTokenNV" vendor="NV">
+ <enum value="0x00" name="GL_CLOSE_PATH_NV"/>
+ <enum value="0x02" name="GL_MOVE_TO_NV"/>
+ <enum value="0x03" name="GL_RELATIVE_MOVE_TO_NV"/>
+ <enum value="0x04" name="GL_LINE_TO_NV"/>
+ <enum value="0x05" name="GL_RELATIVE_LINE_TO_NV"/>
+ <enum value="0x06" name="GL_HORIZONTAL_LINE_TO_NV"/>
+ <enum value="0x07" name="GL_RELATIVE_HORIZONTAL_LINE_TO_NV"/>
+ <enum value="0x08" name="GL_VERTICAL_LINE_TO_NV"/>
+ <enum value="0x09" name="GL_RELATIVE_VERTICAL_LINE_TO_NV"/>
+ <enum value="0x0A" name="GL_QUADRATIC_CURVE_TO_NV"/>
+ <enum value="0x0B" name="GL_RELATIVE_QUADRATIC_CURVE_TO_NV"/>
+ <enum value="0x0C" name="GL_CUBIC_CURVE_TO_NV"/>
+ <enum value="0x0D" name="GL_RELATIVE_CUBIC_CURVE_TO_NV"/>
+ <enum value="0x0E" name="GL_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
+ <enum value="0x0F" name="GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
+ <enum value="0x10" name="GL_SMOOTH_CUBIC_CURVE_TO_NV"/>
+ <enum value="0x11" name="GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV"/>
+ <enum value="0x12" name="GL_SMALL_CCW_ARC_TO_NV"/>
+ <enum value="0x13" name="GL_RELATIVE_SMALL_CCW_ARC_TO_NV"/>
+ <enum value="0x14" name="GL_SMALL_CW_ARC_TO_NV"/>
+ <enum value="0x15" name="GL_RELATIVE_SMALL_CW_ARC_TO_NV"/>
+ <enum value="0x16" name="GL_LARGE_CCW_ARC_TO_NV"/>
+ <enum value="0x17" name="GL_RELATIVE_LARGE_CCW_ARC_TO_NV"/>
+ <enum value="0x18" name="GL_LARGE_CW_ARC_TO_NV"/>
+ <enum value="0x19" name="GL_RELATIVE_LARGE_CW_ARC_TO_NV"/>
+ <enum value="0xF0" name="GL_RESTART_PATH_NV"/>
+ <enum value="0xF2" name="GL_DUP_FIRST_CUBIC_CURVE_TO_NV"/>
+ <enum value="0xF4" name="GL_DUP_LAST_CUBIC_CURVE_TO_NV"/>
+ <enum value="0xF6" name="GL_RECT_NV"/>
+ <enum value="0xF8" name="GL_CIRCULAR_CCW_ARC_TO_NV"/>
+ <enum value="0xFA" name="GL_CIRCULAR_CW_ARC_TO_NV"/>
+ <enum value="0xFC" name="GL_CIRCULAR_TANGENT_ARC_TO_NV"/>
+ <enum value="0xFE" name="GL_ARC_TO_NV"/>
+ <enum value="0xFF" name="GL_RELATIVE_ARC_TO_NV"/>
+ </enums>
+
+ <!-- The default ("API") enum namespace starts here. While some
+ assigned values may overlap, and different parts of the
+ namespace are reserved for different purposes, it is a single
+ namespace. The "class" attribute indicates some of the reserved
+ purposes but is by no means complete (and cannot be, since many
+ tokens are reused for different purposes in different
+ extensions and API versions). -->
+
+ <enums namespace="GL" group="SpecialNumbers" vendor="ARB" comment="Tokens whose numeric value is intrinsically meaningful">
+ <enum value="0" name="GL_FALSE"/>
+ <enum value="0" name="GL_NO_ERROR"/>
+ <enum value="0" name="GL_ZERO"/>
+ <enum value="0" name="GL_NONE"/>
+ <enum value="0" name="GL_NONE_OES"/>
+ <enum value="1" name="GL_TRUE"/>
+ <enum value="1" name="GL_ONE"/>
+ <enum value="0xFFFFFFFF" name="GL_INVALID_INDEX" type="u" comment="Tagged as uint"/>
+ <enum value="0xFFFFFFFFFFFFFFFF" name="GL_TIMEOUT_IGNORED" type="ull" comment="Tagged as uint64"/>
+ <enum value="0xFFFFFFFFFFFFFFFF" name="GL_TIMEOUT_IGNORED_APPLE" type="ull" comment="Tagged as uint64"/>
+ <enum value="1" name="GL_VERSION_ES_CL_1_0" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
+ <enum value="1" name="GL_VERSION_ES_CM_1_1" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
+ <enum value="1" name="GL_VERSION_ES_CL_1_1" comment="Not an API enum. API definition macro for ES 1.0/1.1 headers"/>
+ </enums>
+
+ <enums namespace="GL" start="0x0000" end="0x7FFF" vendor="ARB" comment="Mostly OpenGL 1.0/1.1 enum assignments. Unused ranges should generally remain unused.">
+ <enum value="0x0000" name="GL_POINTS"/>
+ <enum value="0x0001" name="GL_LINES"/>
+ <enum value="0x0002" name="GL_LINE_LOOP"/>
+ <enum value="0x0003" name="GL_LINE_STRIP"/>
+ <enum value="0x0004" name="GL_TRIANGLES"/>
+ <enum value="0x0005" name="GL_TRIANGLE_STRIP"/>
+ <enum value="0x0006" name="GL_TRIANGLE_FAN"/>
+ <enum value="0x0007" name="GL_QUADS"/>
+ <enum value="0x0007" name="GL_QUADS_EXT"/>
+ <enum value="0x0008" name="GL_QUAD_STRIP"/>
+ <enum value="0x0009" name="GL_POLYGON"/>
+ <enum value="0x000A" name="GL_LINES_ADJACENCY"/>
+ <enum value="0x000A" name="GL_LINES_ADJACENCY_ARB"/>
+ <enum value="0x000A" name="GL_LINES_ADJACENCY_EXT"/>
+ <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY"/>
+ <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY_ARB"/>
+ <enum value="0x000B" name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+ <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY"/>
+ <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_ARB"/>
+ <enum value="0x000C" name="GL_TRIANGLES_ADJACENCY_EXT"/>
+ <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY"/>
+ <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
+ <enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+ <enum value="0x000E" name="GL_PATCHES"/>
+ <enum value="0x000E" name="GL_PATCHES_EXT"/>
+ <unused start="0x000F" end="0x00FF" comment="Unused for PrimitiveType"/>
+ <enum value="0x0100" name="GL_ACCUM"/>
+ <enum value="0x0101" name="GL_LOAD"/>
+ <enum value="0x0102" name="GL_RETURN"/>
+ <enum value="0x0103" name="GL_MULT"/>
+ <enum value="0x0104" name="GL_ADD"/>
+ <unused start="0x0105" end="0x01FF" comment="Unused for AccumOp"/>
+ <enum value="0x0200" name="GL_NEVER"/>
+ <enum value="0x0201" name="GL_LESS"/>
+ <enum value="0x0202" name="GL_EQUAL"/>
+ <enum value="0x0203" name="GL_LEQUAL"/>
+ <enum value="0x0204" name="GL_GREATER"/>
+ <enum value="0x0205" name="GL_NOTEQUAL"/>
+ <enum value="0x0206" name="GL_GEQUAL"/>
+ <enum value="0x0207" name="GL_ALWAYS"/>
+ <unused start="0x0208" end="0x02FF" comment="Unused for AlphaFunction"/>
+ <enum value="0x0300" name="GL_SRC_COLOR"/>
+ <enum value="0x0301" name="GL_ONE_MINUS_SRC_COLOR"/>
+ <enum value="0x0302" name="GL_SRC_ALPHA"/>
+ <enum value="0x0303" name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum value="0x0304" name="GL_DST_ALPHA"/>
+ <enum value="0x0305" name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum value="0x0306" name="GL_DST_COLOR"/>
+ <enum value="0x0307" name="GL_ONE_MINUS_DST_COLOR"/>
+ <enum value="0x0308" name="GL_SRC_ALPHA_SATURATE"/>
+ <unused start="0x0309" end="0x03FF" comment="Unused for BlendingFactor"/>
+ <enum value="0x0400" name="GL_FRONT_LEFT"/>
+ <enum value="0x0401" name="GL_FRONT_RIGHT"/>
+ <enum value="0x0402" name="GL_BACK_LEFT"/>
+ <enum value="0x0403" name="GL_BACK_RIGHT"/>
+ <enum value="0x0404" name="GL_FRONT"/>
+ <enum value="0x0405" name="GL_BACK"/>
+ <enum value="0x0406" name="GL_LEFT"/>
+ <enum value="0x0407" name="GL_RIGHT"/>
+ <enum value="0x0408" name="GL_FRONT_AND_BACK"/>
+ <enum value="0x0409" name="GL_AUX0"/>
+ <enum value="0x040A" name="GL_AUX1"/>
+ <enum value="0x040B" name="GL_AUX2"/>
+ <enum value="0x040C" name="GL_AUX3"/>
+ <unused start="0x040D" end="0x04FF" comment="Unused for DrawBufferMode"/>
+ <enum value="0x0500" name="GL_INVALID_ENUM"/>
+ <enum value="0x0501" name="GL_INVALID_VALUE"/>
+ <enum value="0x0502" name="GL_INVALID_OPERATION"/>
+ <enum value="0x0503" name="GL_STACK_OVERFLOW"/>
+ <enum value="0x0503" name="GL_STACK_OVERFLOW_KHR"/>
+ <enum value="0x0504" name="GL_STACK_UNDERFLOW"/>
+ <enum value="0x0504" name="GL_STACK_UNDERFLOW_KHR"/>
+ <enum value="0x0505" name="GL_OUT_OF_MEMORY"/>
+ <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+ <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_EXT"/>
+ <enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_OES"/>
+ <!-- 0x0507 reserved for future GL features -->
+ <unused start="0x0508" end="0x05FF" comment="Unused for ErrorCode"/>
+ <enum value="0x0600" name="GL_2D"/>
+ <enum value="0x0601" name="GL_3D"/>
+ <enum value="0x0602" name="GL_3D_COLOR"/>
+ <enum value="0x0603" name="GL_3D_COLOR_TEXTURE"/>
+ <enum value="0x0604" name="GL_4D_COLOR_TEXTURE"/>
+ <unused start="0x0605" end="0x06FF" comment="Unused for FeedbackType"/>
+ <enum value="0x0700" name="GL_PASS_THROUGH_TOKEN"/>
+ <enum value="0x0701" name="GL_POINT_TOKEN"/>
+ <enum value="0x0702" name="GL_LINE_TOKEN"/>
+ <enum value="0x0703" name="GL_POLYGON_TOKEN"/>
+ <enum value="0x0704" name="GL_BITMAP_TOKEN"/>
+ <enum value="0x0705" name="GL_DRAW_PIXEL_TOKEN"/>
+ <enum value="0x0706" name="GL_COPY_PIXEL_TOKEN"/>
+ <enum value="0x0707" name="GL_LINE_RESET_TOKEN"/>
+ <unused start="0x0708" end="0x07FF" comment="Unused for FeedbackToken"/>
+ <enum value="0x0800" name="GL_EXP"/>
+ <enum value="0x0801" name="GL_EXP2"/>
+ <unused start="0x0802" end="0x08FF" comment="Unused for FogMode"/>
+ <enum value="0x0900" name="GL_CW"/>
+ <enum value="0x0901" name="GL_CCW"/>
+ <unused start="0x0902" end="0x09FF" comment="Unused for FrontFaceDirection"/>
+ <enum value="0x0A00" name="GL_COEFF"/>
+ <enum value="0x0A01" name="GL_ORDER"/>
+ <enum value="0x0A02" name="GL_DOMAIN"/>
+ <unused start="0x0A03" end="0x0AFF" comment="Unused for GetMapQuery"/>
+ <enum value="0x0B00" name="GL_CURRENT_COLOR"/>
+ <enum value="0x0B01" name="GL_CURRENT_INDEX"/>
+ <enum value="0x0B02" name="GL_CURRENT_NORMAL"/>
+ <enum value="0x0B03" name="GL_CURRENT_TEXTURE_COORDS"/>
+ <enum value="0x0B04" name="GL_CURRENT_RASTER_COLOR"/>
+ <enum value="0x0B05" name="GL_CURRENT_RASTER_INDEX"/>
+ <enum value="0x0B06" name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
+ <enum value="0x0B07" name="GL_CURRENT_RASTER_POSITION"/>
+ <enum value="0x0B08" name="GL_CURRENT_RASTER_POSITION_VALID"/>
+ <enum value="0x0B09" name="GL_CURRENT_RASTER_DISTANCE"/>
+
+ <enum value="0x0B10" name="GL_POINT_SMOOTH"/>
+ <enum value="0x0B11" name="GL_POINT_SIZE"/>
+ <enum value="0x0B12" name="GL_POINT_SIZE_RANGE"/>
+ <enum value="0x0B12" name="GL_SMOOTH_POINT_SIZE_RANGE" alias="GL_POINT_SIZE_RANGE"/>
+ <enum value="0x0B13" name="GL_POINT_SIZE_GRANULARITY"/>
+ <enum value="0x0B13" name="GL_SMOOTH_POINT_SIZE_GRANULARITY" alias="GL_POINT_SIZE_GRANULARITY"/>
+
+ <enum value="0x0B20" name="GL_LINE_SMOOTH"/>
+ <enum value="0x0B21" name="GL_LINE_WIDTH"/>
+ <enum value="0x0B22" name="GL_LINE_WIDTH_RANGE"/>
+ <enum value="0x0B22" name="GL_SMOOTH_LINE_WIDTH_RANGE" alias="GL_LINE_WIDTH_RANGE"/>
+ <enum value="0x0B23" name="GL_LINE_WIDTH_GRANULARITY"/>
+ <enum value="0x0B23" name="GL_SMOOTH_LINE_WIDTH_GRANULARITY" alias="GL_LINE_WIDTH_GRANULARITY"/>
+ <enum value="0x0B24" name="GL_LINE_STIPPLE"/>
+ <enum value="0x0B25" name="GL_LINE_STIPPLE_PATTERN"/>
+ <enum value="0x0B26" name="GL_LINE_STIPPLE_REPEAT"/>
+
+ <enum value="0x0B30" name="GL_LIST_MODE"/>
+ <enum value="0x0B31" name="GL_MAX_LIST_NESTING"/>
+ <enum value="0x0B32" name="GL_LIST_BASE"/>
+ <enum value="0x0B33" name="GL_LIST_INDEX"/>
+
+ <enum value="0x0B40" name="GL_POLYGON_MODE"/>
+ <enum value="0x0B41" name="GL_POLYGON_SMOOTH"/>
+ <enum value="0x0B42" name="GL_POLYGON_STIPPLE"/>
+ <enum value="0x0B43" name="GL_EDGE_FLAG"/>
+ <enum value="0x0B44" name="GL_CULL_FACE"/>
+ <enum value="0x0B45" name="GL_CULL_FACE_MODE"/>
+ <enum value="0x0B46" name="GL_FRONT_FACE"/>
+
+ <enum value="0x0B50" name="GL_LIGHTING"/>
+ <enum value="0x0B51" name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
+ <enum value="0x0B52" name="GL_LIGHT_MODEL_TWO_SIDE"/>
+ <enum value="0x0B53" name="GL_LIGHT_MODEL_AMBIENT"/>
+ <enum value="0x0B54" name="GL_SHADE_MODEL"/>
+ <enum value="0x0B55" name="GL_COLOR_MATERIAL_FACE"/>
+ <enum value="0x0B56" name="GL_COLOR_MATERIAL_PARAMETER"/>
+ <enum value="0x0B57" name="GL_COLOR_MATERIAL"/>
+
+ <enum value="0x0B60" name="GL_FOG"/>
+ <enum value="0x0B61" name="GL_FOG_INDEX"/>
+ <enum value="0x0B62" name="GL_FOG_DENSITY"/>
+ <enum value="0x0B63" name="GL_FOG_START"/>
+ <enum value="0x0B64" name="GL_FOG_END"/>
+ <enum value="0x0B65" name="GL_FOG_MODE"/>
+ <enum value="0x0B66" name="GL_FOG_COLOR"/>
+
+ <enum value="0x0B70" name="GL_DEPTH_RANGE"/>
+ <enum value="0x0B71" name="GL_DEPTH_TEST"/>
+ <enum value="0x0B72" name="GL_DEPTH_WRITEMASK"/>
+ <enum value="0x0B73" name="GL_DEPTH_CLEAR_VALUE"/>
+ <enum value="0x0B74" name="GL_DEPTH_FUNC"/>
+
+ <enum value="0x0B80" name="GL_ACCUM_CLEAR_VALUE"/>
+
+ <enum value="0x0B90" name="GL_STENCIL_TEST"/>
+ <enum value="0x0B91" name="GL_STENCIL_CLEAR_VALUE"/>
+ <enum value="0x0B92" name="GL_STENCIL_FUNC"/>
+ <enum value="0x0B93" name="GL_STENCIL_VALUE_MASK"/>
+ <enum value="0x0B94" name="GL_STENCIL_FAIL"/>
+ <enum value="0x0B95" name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+ <enum value="0x0B96" name="GL_STENCIL_PASS_DEPTH_PASS"/>
+ <enum value="0x0B97" name="GL_STENCIL_REF"/>
+ <enum value="0x0B98" name="GL_STENCIL_WRITEMASK"/>
+
+ <enum value="0x0BA0" name="GL_MATRIX_MODE"/>
+ <enum value="0x0BA1" name="GL_NORMALIZE"/>
+ <enum value="0x0BA2" name="GL_VIEWPORT"/>
+ <enum value="0x0BA3" name="GL_MODELVIEW_STACK_DEPTH"/>
+ <enum value="0x0BA3" name="GL_MODELVIEW0_STACK_DEPTH_EXT"/>
+ <enum value="0x0BA4" name="GL_PROJECTION_STACK_DEPTH"/>
+ <enum value="0x0BA5" name="GL_TEXTURE_STACK_DEPTH"/>
+ <enum value="0x0BA6" name="GL_MODELVIEW_MATRIX"/>
+ <enum value="0x0BA6" name="GL_MODELVIEW0_MATRIX_EXT"/>
+ <enum value="0x0BA7" name="GL_PROJECTION_MATRIX"/>
+ <enum value="0x0BA8" name="GL_TEXTURE_MATRIX"/>
+
+ <enum value="0x0BB0" name="GL_ATTRIB_STACK_DEPTH"/>
+ <enum value="0x0BB1" name="GL_CLIENT_ATTRIB_STACK_DEPTH"/>
+
+ <enum value="0x0BC0" name="GL_ALPHA_TEST"/>
+ <enum value="0x0BC0" name="GL_ALPHA_TEST_QCOM"/>
+ <enum value="0x0BC1" name="GL_ALPHA_TEST_FUNC"/>
+ <enum value="0x0BC1" name="GL_ALPHA_TEST_FUNC_QCOM"/>
+ <enum value="0x0BC2" name="GL_ALPHA_TEST_REF"/>
+ <enum value="0x0BC2" name="GL_ALPHA_TEST_REF_QCOM"/>
+
+ <enum value="0x0BD0" name="GL_DITHER"/>
+
+ <enum value="0x0BE0" name="GL_BLEND_DST"/>
+ <enum value="0x0BE1" name="GL_BLEND_SRC"/>
+ <enum value="0x0BE2" name="GL_BLEND"/>
+
+ <enum value="0x0BF0" name="GL_LOGIC_OP_MODE"/>
+ <enum value="0x0BF1" name="GL_INDEX_LOGIC_OP"/>
+ <enum value="0x0BF1" name="GL_LOGIC_OP"/>
+ <enum value="0x0BF2" name="GL_COLOR_LOGIC_OP"/>
+
+ <enum value="0x0C00" name="GL_AUX_BUFFERS"/>
+ <enum value="0x0C01" name="GL_DRAW_BUFFER"/>
+ <enum value="0x0C01" name="GL_DRAW_BUFFER_EXT"/>
+ <enum value="0x0C02" name="GL_READ_BUFFER"/>
+ <enum value="0x0C02" name="GL_READ_BUFFER_EXT"/>
+ <enum value="0x0C02" name="GL_READ_BUFFER_NV"/>
+
+ <enum value="0x0C10" name="GL_SCISSOR_BOX"/>
+ <enum value="0x0C11" name="GL_SCISSOR_TEST"/>
+
+ <enum value="0x0C20" name="GL_INDEX_CLEAR_VALUE"/>
+ <enum value="0x0C21" name="GL_INDEX_WRITEMASK"/>
+ <enum value="0x0C22" name="GL_COLOR_CLEAR_VALUE"/>
+ <enum value="0x0C23" name="GL_COLOR_WRITEMASK"/>
+
+ <enum value="0x0C30" name="GL_INDEX_MODE"/>
+ <enum value="0x0C31" name="GL_RGBA_MODE"/>
+ <enum value="0x0C32" name="GL_DOUBLEBUFFER"/>
+ <enum value="0x0C33" name="GL_STEREO"/>
+
+ <enum value="0x0C40" name="GL_RENDER_MODE"/>
+
+ <enum value="0x0C50" name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+ <enum value="0x0C51" name="GL_POINT_SMOOTH_HINT"/>
+ <enum value="0x0C52" name="GL_LINE_SMOOTH_HINT"/>
+ <enum value="0x0C53" name="GL_POLYGON_SMOOTH_HINT"/>
+ <enum value="0x0C54" name="GL_FOG_HINT"/>
+
+ <enum value="0x0C60" name="GL_TEXTURE_GEN_S"/>
+ <enum value="0x0C61" name="GL_TEXTURE_GEN_T"/>
+ <enum value="0x0C62" name="GL_TEXTURE_GEN_R"/>
+ <enum value="0x0C63" name="GL_TEXTURE_GEN_Q"/>
+
+ <enum value="0x0C70" name="GL_PIXEL_MAP_I_TO_I"/>
+ <enum value="0x0C71" name="GL_PIXEL_MAP_S_TO_S"/>
+ <enum value="0x0C72" name="GL_PIXEL_MAP_I_TO_R"/>
+ <enum value="0x0C73" name="GL_PIXEL_MAP_I_TO_G"/>
+ <enum value="0x0C74" name="GL_PIXEL_MAP_I_TO_B"/>
+ <enum value="0x0C75" name="GL_PIXEL_MAP_I_TO_A"/>
+ <enum value="0x0C76" name="GL_PIXEL_MAP_R_TO_R"/>
+ <enum value="0x0C77" name="GL_PIXEL_MAP_G_TO_G"/>
+ <enum value="0x0C78" name="GL_PIXEL_MAP_B_TO_B"/>
+ <enum value="0x0C79" name="GL_PIXEL_MAP_A_TO_A"/>
+
+ <enum value="0x0CB0" name="GL_PIXEL_MAP_I_TO_I_SIZE"/>
+ <enum value="0x0CB1" name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
+ <enum value="0x0CB2" name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
+ <enum value="0x0CB3" name="GL_PIXEL_MAP_I_TO_G_SIZE"/>
+ <enum value="0x0CB4" name="GL_PIXEL_MAP_I_TO_B_SIZE"/>
+ <enum value="0x0CB5" name="GL_PIXEL_MAP_I_TO_A_SIZE"/>
+ <enum value="0x0CB6" name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
+ <enum value="0x0CB7" name="GL_PIXEL_MAP_G_TO_G_SIZE"/>
+ <enum value="0x0CB8" name="GL_PIXEL_MAP_B_TO_B_SIZE"/>
+ <enum value="0x0CB9" name="GL_PIXEL_MAP_A_TO_A_SIZE"/>
+
+ <enum value="0x0CF0" name="GL_UNPACK_SWAP_BYTES"/>
+ <enum value="0x0CF1" name="GL_UNPACK_LSB_FIRST"/>
+ <enum value="0x0CF2" name="GL_UNPACK_ROW_LENGTH"/>
+ <enum value="0x0CF2" name="GL_UNPACK_ROW_LENGTH_EXT"/>
+ <enum value="0x0CF3" name="GL_UNPACK_SKIP_ROWS"/>
+ <enum value="0x0CF3" name="GL_UNPACK_SKIP_ROWS_EXT"/>
+ <enum value="0x0CF4" name="GL_UNPACK_SKIP_PIXELS"/>
+ <enum value="0x0CF4" name="GL_UNPACK_SKIP_PIXELS_EXT"/>
+ <enum value="0x0CF5" name="GL_UNPACK_ALIGNMENT"/>
+
+ <enum value="0x0D00" name="GL_PACK_SWAP_BYTES"/>
+ <enum value="0x0D01" name="GL_PACK_LSB_FIRST"/>
+ <enum value="0x0D02" name="GL_PACK_ROW_LENGTH"/>
+ <enum value="0x0D03" name="GL_PACK_SKIP_ROWS"/>
+ <enum value="0x0D04" name="GL_PACK_SKIP_PIXELS"/>
+ <enum value="0x0D05" name="GL_PACK_ALIGNMENT"/>
+
+ <enum value="0x0D10" name="GL_MAP_COLOR"/>
+ <enum value="0x0D11" name="GL_MAP_STENCIL"/>
+ <enum value="0x0D12" name="GL_INDEX_SHIFT"/>
+ <enum value="0x0D13" name="GL_INDEX_OFFSET"/>
+ <enum value="0x0D14" name="GL_RED_SCALE"/>
+ <enum value="0x0D15" name="GL_RED_BIAS"/>
+ <enum value="0x0D16" name="GL_ZOOM_X"/>
+ <enum value="0x0D17" name="GL_ZOOM_Y"/>
+ <enum value="0x0D18" name="GL_GREEN_SCALE"/>
+ <enum value="0x0D19" name="GL_GREEN_BIAS"/>
+ <enum value="0x0D1A" name="GL_BLUE_SCALE"/>
+ <enum value="0x0D1B" name="GL_BLUE_BIAS"/>
+ <enum value="0x0D1C" name="GL_ALPHA_SCALE"/>
+ <enum value="0x0D1D" name="GL_ALPHA_BIAS"/>
+ <enum value="0x0D1E" name="GL_DEPTH_SCALE"/>
+ <enum value="0x0D1F" name="GL_DEPTH_BIAS"/>
+
+ <enum value="0x0D30" name="GL_MAX_EVAL_ORDER"/>
+ <enum value="0x0D31" name="GL_MAX_LIGHTS"/>
+ <enum value="0x0D32" name="GL_MAX_CLIP_PLANES"/>
+ <enum value="0x0D32" name="GL_MAX_CLIP_PLANES_IMG"/>
+ <enum value="0x0D32" name="GL_MAX_CLIP_DISTANCES" alias="GL_MAX_CLIP_PLANES"/>
+ <enum value="0x0D33" name="GL_MAX_TEXTURE_SIZE"/>
+ <enum value="0x0D34" name="GL_MAX_PIXEL_MAP_TABLE"/>
+ <enum value="0x0D35" name="GL_MAX_ATTRIB_STACK_DEPTH"/>
+ <enum value="0x0D36" name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+ <enum value="0x0D37" name="GL_MAX_NAME_STACK_DEPTH"/>
+ <enum value="0x0D38" name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+ <enum value="0x0D39" name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+ <enum value="0x0D3A" name="GL_MAX_VIEWPORT_DIMS"/>
+ <enum value="0x0D3B" name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"/>
+
+ <enum value="0x0D50" name="GL_SUBPIXEL_BITS"/>
+ <enum value="0x0D51" name="GL_INDEX_BITS"/>
+ <enum value="0x0D52" name="GL_RED_BITS"/>
+ <enum value="0x0D53" name="GL_GREEN_BITS"/>
+ <enum value="0x0D54" name="GL_BLUE_BITS"/>
+ <enum value="0x0D55" name="GL_ALPHA_BITS"/>
+ <enum value="0x0D56" name="GL_DEPTH_BITS"/>
+ <enum value="0x0D57" name="GL_STENCIL_BITS"/>
+ <enum value="0x0D58" name="GL_ACCUM_RED_BITS"/>
+ <enum value="0x0D59" name="GL_ACCUM_GREEN_BITS"/>
+ <enum value="0x0D5A" name="GL_ACCUM_BLUE_BITS"/>
+ <enum value="0x0D5B" name="GL_ACCUM_ALPHA_BITS"/>
+
+ <enum value="0x0D70" name="GL_NAME_STACK_DEPTH"/>
+
+ <enum value="0x0D80" name="GL_AUTO_NORMAL"/>
+
+ <enum value="0x0D90" name="GL_MAP1_COLOR_4"/>
+ <enum value="0x0D91" name="GL_MAP1_INDEX"/>
+ <enum value="0x0D92" name="GL_MAP1_NORMAL"/>
+ <enum value="0x0D93" name="GL_MAP1_TEXTURE_COORD_1"/>
+ <enum value="0x0D94" name="GL_MAP1_TEXTURE_COORD_2"/>
+ <enum value="0x0D95" name="GL_MAP1_TEXTURE_COORD_3"/>
+ <enum value="0x0D96" name="GL_MAP1_TEXTURE_COORD_4"/>
+ <enum value="0x0D97" name="GL_MAP1_VERTEX_3"/>
+ <enum value="0x0D98" name="GL_MAP1_VERTEX_4"/>
+
+ <enum value="0x0DB0" name="GL_MAP2_COLOR_4"/>
+ <enum value="0x0DB1" name="GL_MAP2_INDEX"/>
+ <enum value="0x0DB2" name="GL_MAP2_NORMAL"/>
+ <enum value="0x0DB3" name="GL_MAP2_TEXTURE_COORD_1"/>
+ <enum value="0x0DB4" name="GL_MAP2_TEXTURE_COORD_2"/>
+ <enum value="0x0DB5" name="GL_MAP2_TEXTURE_COORD_3"/>
+ <enum value="0x0DB6" name="GL_MAP2_TEXTURE_COORD_4"/>
+ <enum value="0x0DB7" name="GL_MAP2_VERTEX_3"/>
+ <enum value="0x0DB8" name="GL_MAP2_VERTEX_4"/>
+
+ <enum value="0x0DD0" name="GL_MAP1_GRID_DOMAIN"/>
+ <enum value="0x0DD1" name="GL_MAP1_GRID_SEGMENTS"/>
+ <enum value="0x0DD2" name="GL_MAP2_GRID_DOMAIN"/>
+ <enum value="0x0DD3" name="GL_MAP2_GRID_SEGMENTS"/>
+
+ <enum value="0x0DE0" name="GL_TEXTURE_1D"/>
+ <enum value="0x0DE1" name="GL_TEXTURE_2D"/>
+
+ <enum value="0x0DF0" name="GL_FEEDBACK_BUFFER_POINTER"/>
+ <enum value="0x0DF1" name="GL_FEEDBACK_BUFFER_SIZE"/>
+ <enum value="0x0DF2" name="GL_FEEDBACK_BUFFER_TYPE"/>
+ <enum value="0x0DF3" name="GL_SELECTION_BUFFER_POINTER"/>
+ <enum value="0x0DF4" name="GL_SELECTION_BUFFER_SIZE"/>
+ <unused start="0x0DF5" end="0xFFFF" comment="Unused for GetPName"/>
+ <enum value="0x1000" name="GL_TEXTURE_WIDTH"/>
+ <enum value="0x1001" name="GL_TEXTURE_HEIGHT"/>
+ <enum value="0x1003" name="GL_TEXTURE_INTERNAL_FORMAT"/>
+ <enum value="0x1003" name="GL_TEXTURE_COMPONENTS"/>
+ <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR"/>
+ <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_EXT"/>
+ <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_NV"/>
+ <enum value="0x1005" name="GL_TEXTURE_BORDER"/>
+ <!-- 0x1006 reserved for future GL features -->
+ <unused start="0x1007" end="0x10FF" comment="Unused for GetTextureParameter"/>
+ <enum value="0x1100" name="GL_DONT_CARE"/>
+ <enum value="0x1101" name="GL_FASTEST"/>
+ <enum value="0x1102" name="GL_NICEST"/>
+ <unused start="0x1103" end="0x11FF" comment="Unused for HintMode"/>
+ <enum value="0x1200" name="GL_AMBIENT"/>
+ <enum value="0x1201" name="GL_DIFFUSE"/>
+ <enum value="0x1202" name="GL_SPECULAR"/>
+ <enum value="0x1203" name="GL_POSITION"/>
+ <enum value="0x1204" name="GL_SPOT_DIRECTION"/>
+ <enum value="0x1205" name="GL_SPOT_EXPONENT"/>
+ <enum value="0x1206" name="GL_SPOT_CUTOFF"/>
+ <enum value="0x1207" name="GL_CONSTANT_ATTENUATION"/>
+ <enum value="0x1208" name="GL_LINEAR_ATTENUATION"/>
+ <enum value="0x1209" name="GL_QUADRATIC_ATTENUATION"/>
+ <unused start="0x1210" end="0x12FF" comment="Unused for LightParameter"/>
+ <enum value="0x1300" name="GL_COMPILE"/>
+ <enum value="0x1301" name="GL_COMPILE_AND_EXECUTE"/>
+ <unused start="0x1302" end="0x13FF" comment="Unused for ListMode"/>
+ <enum value="0x1400" name="GL_BYTE"/>
+ <enum value="0x1401" name="GL_UNSIGNED_BYTE"/>
+ <enum value="0x1402" name="GL_SHORT"/>
+ <enum value="0x1403" name="GL_UNSIGNED_SHORT"/>
+ <enum value="0x1404" name="GL_INT"/>
+ <enum value="0x1405" name="GL_UNSIGNED_INT"/>
+ <enum value="0x1406" name="GL_FLOAT"/>
+ <enum value="0x1407" name="GL_2_BYTES"/>
+ <enum value="0x1408" name="GL_3_BYTES"/>
+ <enum value="0x1409" name="GL_4_BYTES"/>
+ <enum value="0x140A" name="GL_DOUBLE"/>
+ <enum value="0x140A" name="GL_DOUBLE_EXT"/>
+ <enum value="0x140B" name="GL_HALF_FLOAT"/>
+ <enum value="0x140B" name="GL_HALF_FLOAT_ARB"/>
+ <enum value="0x140B" name="GL_HALF_FLOAT_NV"/>
+ <enum value="0x140B" name="GL_HALF_APPLE"/>
+ <enum value="0x140C" name="GL_FIXED"/>
+ <enum value="0x140C" name="GL_FIXED_OES"/>
+ <unused start="0x140D" comment="Leave gap to preserve even/odd int/uint token values"/>
+ <enum value="0x140E" name="GL_INT64_NV"/>
+ <enum value="0x140F" name="GL_UNSIGNED_INT64_ARB"/>
+ <enum value="0x140F" name="GL_UNSIGNED_INT64_NV"/>
+ <unused start="0x1410" end="0x14FF" comment="Unused for DataType"/>
+ <enum value="0x1500" name="GL_CLEAR"/>
+ <enum value="0x1501" name="GL_AND"/>
+ <enum value="0x1502" name="GL_AND_REVERSE"/>
+ <enum value="0x1503" name="GL_COPY"/>
+ <enum value="0x1504" name="GL_AND_INVERTED"/>
+ <enum value="0x1505" name="GL_NOOP"/>
+ <enum value="0x1506" name="GL_XOR"/>
+ <enum value="0x1506" name="GL_XOR_NV"/>
+ <enum value="0x1507" name="GL_OR"/>
+ <enum value="0x1508" name="GL_NOR"/>
+ <enum value="0x1509" name="GL_EQUIV"/>
+ <enum value="0x150A" name="GL_INVERT"/>
+ <enum value="0x150B" name="GL_OR_REVERSE"/>
+ <enum value="0x150C" name="GL_COPY_INVERTED"/>
+ <enum value="0x150D" name="GL_OR_INVERTED"/>
+ <enum value="0x150E" name="GL_NAND"/>
+ <enum value="0x150F" name="GL_SET"/>
+ <unused start="0x1510" end="0x15FF" comment="Unused for LogicOp"/>
+ <enum value="0x1600" name="GL_EMISSION"/>
+ <enum value="0x1601" name="GL_SHININESS"/>
+ <enum value="0x1602" name="GL_AMBIENT_AND_DIFFUSE"/>
+ <enum value="0x1603" name="GL_COLOR_INDEXES"/>
+ <unused start="0x1604" end="0x16FF" comment="Unused for MaterialParameter"/>
+ <enum value="0x1700" name="GL_MODELVIEW"/>
+ <enum value="0x1700" name="GL_MODELVIEW0_ARB"/>
+ <enum value="0x1700" name="GL_MODELVIEW0_EXT"/>
+ <enum value="0x1701" name="GL_PROJECTION"/>
+ <enum value="0x1702" name="GL_TEXTURE"/>
+ <unused start="0x1703" end="0x17FF" comment="Unused for MatrixMode"/>
+ <enum value="0x1800" name="GL_COLOR"/>
+ <enum value="0x1800" name="GL_COLOR_EXT"/>
+ <enum value="0x1801" name="GL_DEPTH"/>
+ <enum value="0x1801" name="GL_DEPTH_EXT"/>
+ <enum value="0x1802" name="GL_STENCIL"/>
+ <enum value="0x1802" name="GL_STENCIL_EXT"/>
+ <unused start="0x1803" end="0x18FF" comment="Unused for PixelCopyType"/>
+ <enum value="0x1900" name="GL_COLOR_INDEX"/>
+ <enum value="0x1901" name="GL_STENCIL_INDEX"/>
+ <enum value="0x1901" name="GL_STENCIL_INDEX_OES"/>
+ <enum value="0x1902" name="GL_DEPTH_COMPONENT"/>
+ <enum value="0x1903" name="GL_RED"/>
+ <enum value="0x1903" name="GL_RED_EXT"/>
+ <enum value="0x1903" name="GL_RED_NV"/>
+ <enum value="0x1904" name="GL_GREEN"/>
+ <enum value="0x1904" name="GL_GREEN_NV"/>
+ <enum value="0x1905" name="GL_BLUE"/>
+ <enum value="0x1905" name="GL_BLUE_NV"/>
+ <enum value="0x1906" name="GL_ALPHA"/>
+ <enum value="0x1907" name="GL_RGB"/>
+ <enum value="0x1908" name="GL_RGBA"/>
+ <enum value="0x1909" name="GL_LUMINANCE"/>
+ <enum value="0x190A" name="GL_LUMINANCE_ALPHA"/>
+ <unused start="0x1910" end="0x19FF" comment="Unused for PixelFormat"/>
+ <enum value="0x1A00" name="GL_BITMAP"/>
+ <unused start="0x1A01" end="0x1AFF" comment="Unused for PixelType"/>
+ <enum value="0x1B00" name="GL_POINT"/>
+ <enum value="0x1B01" name="GL_LINE"/>
+ <enum value="0x1B02" name="GL_FILL"/>
+ <unused start="0x1B03" end="0x1BFF" comment="Unused for PolygonMode"/>
+ <enum value="0x1C00" name="GL_RENDER"/>
+ <enum value="0x1C01" name="GL_FEEDBACK"/>
+ <enum value="0x1C02" name="GL_SELECT"/>
+ <unused start="0x1C03" end="0x1CFF" comment="Unused for RenderingMode"/>
+ <enum value="0x1D00" name="GL_FLAT"/>
+ <enum value="0x1D01" name="GL_SMOOTH"/>
+ <unused start="0x1D02" end="0x1DFF" comment="Unused for ShadingModel"/>
+ <enum value="0x1E00" name="GL_KEEP"/>
+ <enum value="0x1E01" name="GL_REPLACE"/>
+ <enum value="0x1E02" name="GL_INCR"/>
+ <enum value="0x1E03" name="GL_DECR"/>
+ <unused start="0x1E04" end="0x1EFF" comment="Unused for StencilOp"/>
+ <enum value="0x1F00" name="GL_VENDOR"/>
+ <enum value="0x1F01" name="GL_RENDERER"/>
+ <enum value="0x1F02" name="GL_VERSION"/>
+ <enum value="0x1F03" name="GL_EXTENSIONS"/>
+ <unused start="0x1F04" end="0x1FFF" comment="Unused for StringName"/>
+ <enum value="0x2000" name="GL_S"/>
+ <enum value="0x2001" name="GL_T"/>
+ <enum value="0x2002" name="GL_R"/>
+ <enum value="0x2003" name="GL_Q"/>
+ <unused start="0x2004" end="0x20FF" comment="Unused for TextureCoordName"/>
+ <enum value="0x2100" name="GL_MODULATE"/>
+ <enum value="0x2101" name="GL_DECAL"/>
+ <unused start="0x2102" end="0x21FF" comment="Unused for TextureEnvMode"/>
+ <enum value="0x2200" name="GL_TEXTURE_ENV_MODE"/>
+ <enum value="0x2201" name="GL_TEXTURE_ENV_COLOR"/>
+ <unused start="0x2202" end="0x22FF" comment="Unused for TextureEnvParameter"/>
+ <enum value="0x2300" name="GL_TEXTURE_ENV"/>
+ <unused start="0x2301" end="0x23FF" comment="Unused for TextureEnvTarget"/>
+ <enum value="0x2400" name="GL_EYE_LINEAR"/>
+ <enum value="0x2401" name="GL_OBJECT_LINEAR"/>
+ <enum value="0x2402" name="GL_SPHERE_MAP"/>
+ <unused start="0x2403" end="0x24FF" comment="Unused for TextureGenMode"/>
+ <enum value="0x2500" name="GL_TEXTURE_GEN_MODE"/>
+ <enum value="0x2500" name="GL_TEXTURE_GEN_MODE_OES"/>
+ <enum value="0x2501" name="GL_OBJECT_PLANE"/>
+ <enum value="0x2502" name="GL_EYE_PLANE"/>
+ <unused start="0x2503" end="0x25FF" comment="Unused for TextureGenParameter"/>
+ <enum value="0x2600" name="GL_NEAREST"/>
+ <enum value="0x2601" name="GL_LINEAR"/>
+ <unused start="0x2602" end="0x26FF" comment="Unused for TextureMagFilter"/>
+ <enum value="0x2700" name="GL_NEAREST_MIPMAP_NEAREST"/>
+ <enum value="0x2701" name="GL_LINEAR_MIPMAP_NEAREST"/>
+ <enum value="0x2702" name="GL_NEAREST_MIPMAP_LINEAR"/>
+ <enum value="0x2703" name="GL_LINEAR_MIPMAP_LINEAR"/>
+ <unused start="0x2704" end="0x27FF" comment="Unused for TextureMinFilter"/>
+ <enum value="0x2800" name="GL_TEXTURE_MAG_FILTER"/>
+ <enum value="0x2801" name="GL_TEXTURE_MIN_FILTER"/>
+ <enum value="0x2802" name="GL_TEXTURE_WRAP_S"/>
+ <enum value="0x2803" name="GL_TEXTURE_WRAP_T"/>
+ <unused start="0x2804" end="0x28FF" comment="Unused for TextureParameterName"/>
+ <enum value="0x2900" name="GL_CLAMP"/>
+ <enum value="0x2901" name="GL_REPEAT"/>
+ <unused start="0x2902" end="0x29FF" comment="Unused for TextureWrapMode"/>
+ <enum value="0x2A00" name="GL_POLYGON_OFFSET_UNITS"/>
+ <enum value="0x2A01" name="GL_POLYGON_OFFSET_POINT"/>
+ <enum value="0x2A02" name="GL_POLYGON_OFFSET_LINE"/>
+ <unused start="0x2A03" end="0x2A09" comment="Unused for PolygonOffset"/>
+ <enum value="0x2A10" name="GL_R3_G3_B2"/>
+ <unused start="0x2A11" end="0x2A1F" comment="Unused for InternalFormat"/>
+ <enum value="0x2A20" name="GL_V2F"/>
+ <enum value="0x2A21" name="GL_V3F"/>
+ <enum value="0x2A22" name="GL_C4UB_V2F"/>
+ <enum value="0x2A23" name="GL_C4UB_V3F"/>
+ <enum value="0x2A24" name="GL_C3F_V3F"/>
+ <enum value="0x2A25" name="GL_N3F_V3F"/>
+ <enum value="0x2A26" name="GL_C4F_N3F_V3F"/>
+ <enum value="0x2A27" name="GL_T2F_V3F"/>
+ <enum value="0x2A28" name="GL_T4F_V4F"/>
+ <enum value="0x2A29" name="GL_T2F_C4UB_V3F"/>
+ <enum value="0x2A2A" name="GL_T2F_C3F_V3F"/>
+ <enum value="0x2A2B" name="GL_T2F_N3F_V3F"/>
+ <enum value="0x2A2C" name="GL_T2F_C4F_N3F_V3F"/>
+ <enum value="0x2A2D" name="GL_T4F_C4F_N3F_V4F"/>
+ <unused start="0x2A2E" end="0x2FFF" comment="Unused for InterleavedArrayFormat"/>
+ <enum value="0x3000" name="GL_CLIP_PLANE0"/>
+ <enum value="0x3000" name="GL_CLIP_PLANE0_IMG"/>
+ <enum value="0x3000" name="GL_CLIP_DISTANCE0" alias="GL_CLIP_PLANE0"/>
+ <enum value="0x3001" name="GL_CLIP_PLANE1"/>
+ <enum value="0x3001" name="GL_CLIP_PLANE1_IMG"/>
+ <enum value="0x3001" name="GL_CLIP_DISTANCE1" alias="GL_CLIP_PLANE1"/>
+ <enum value="0x3002" name="GL_CLIP_PLANE2"/>
+ <enum value="0x3002" name="GL_CLIP_PLANE2_IMG"/>
+ <enum value="0x3002" name="GL_CLIP_DISTANCE2" alias="GL_CLIP_PLANE2"/>
+ <enum value="0x3003" name="GL_CLIP_PLANE3"/>
+ <enum value="0x3003" name="GL_CLIP_PLANE3_IMG"/>
+ <enum value="0x3003" name="GL_CLIP_DISTANCE3" alias="GL_CLIP_PLANE3"/>
+ <enum value="0x3004" name="GL_CLIP_PLANE4"/>
+ <enum value="0x3004" name="GL_CLIP_PLANE4_IMG"/>
+ <enum value="0x3004" name="GL_CLIP_DISTANCE4" alias="GL_CLIP_PLANE4"/>
+ <enum value="0x3005" name="GL_CLIP_PLANE5"/>
+ <enum value="0x3005" name="GL_CLIP_PLANE5_IMG"/>
+ <enum value="0x3005" name="GL_CLIP_DISTANCE5" alias="GL_CLIP_PLANE5"/>
+ <enum value="0x3006" name="GL_CLIP_DISTANCE6"/>
+ <enum value="0x3007" name="GL_CLIP_DISTANCE7"/>
+ <unused start="0x3008" end="0x3FFF" comment="Unused for ClipPlaneName"/>
+ <enum value="0x4000" name="GL_LIGHT0"/>
+ <enum value="0x4001" name="GL_LIGHT1"/>
+ <enum value="0x4002" name="GL_LIGHT2"/>
+ <enum value="0x4003" name="GL_LIGHT3"/>
+ <enum value="0x4004" name="GL_LIGHT4"/>
+ <enum value="0x4005" name="GL_LIGHT5"/>
+ <enum value="0x4006" name="GL_LIGHT6"/>
+ <enum value="0x4007" name="GL_LIGHT7"/>
+ <unused start="0x4008" end="0x4FFF" comment="Unused for LightName"/>
+ <unused start="0x5000" end="0x5FFF" comment="Unused. Do not use."/>
+ <unused start="0x6000" end="0x6FFF" comment="Experimental (internal/test only) range. DO NOT SHIP VALUES IN THIS RANGE."/>
+ <unused start="0x7000" end="0x7FFF" comment="Unused. Do not use."/>
+ </enums>
+
+ <enums namespace="GL" start="0x8000" end="0x80BF" vendor="ARB" comment="The primary GL enumerant space begins here. All modern enum allocations are in this range. These enums are mostly assigned the default class since it's a great deal of not very useful work to be more specific">
+ <enum value="0x8000" name="GL_ABGR_EXT"/>
+ <enum value="0x8001" name="GL_CONSTANT_COLOR"/>
+ <enum value="0x8001" name="GL_CONSTANT_COLOR_EXT"/>
+ <enum value="0x8002" name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+ <enum value="0x8002" name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
+ <enum value="0x8003" name="GL_CONSTANT_ALPHA"/>
+ <enum value="0x8003" name="GL_CONSTANT_ALPHA_EXT"/>
+ <enum value="0x8004" name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+ <enum value="0x8004" name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
+ <enum value="0x8005" name="GL_BLEND_COLOR"/>
+ <enum value="0x8005" name="GL_BLEND_COLOR_EXT"/>
+ <enum value="0x8006" name="GL_FUNC_ADD"/>
+ <enum value="0x8006" name="GL_FUNC_ADD_EXT"/>
+ <enum value="0x8006" name="GL_FUNC_ADD_OES"/>
+ <enum value="0x8007" name="GL_MIN"/>
+ <enum value="0x8007" name="GL_MIN_EXT"/>
+ <enum value="0x8008" name="GL_MAX"/>
+ <enum value="0x8008" name="GL_MAX_EXT"/>
+ <enum value="0x8009" name="GL_BLEND_EQUATION"/>
+ <enum value="0x8009" name="GL_BLEND_EQUATION_EXT"/>
+ <enum value="0x8009" name="GL_BLEND_EQUATION_OES"/>
+ <enum value="0x8009" name="GL_BLEND_EQUATION_RGB"/>
+ <enum value="0x8009" name="GL_BLEND_EQUATION_RGB_EXT"/>
+ <enum value="0x8009" name="GL_BLEND_EQUATION_RGB_OES"/>
+ <enum value="0x800A" name="GL_FUNC_SUBTRACT"/>
+ <enum value="0x800A" name="GL_FUNC_SUBTRACT_EXT"/>
+ <enum value="0x800A" name="GL_FUNC_SUBTRACT_OES"/>
+ <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT"/>
+ <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT_EXT"/>
+ <enum value="0x800B" name="GL_FUNC_REVERSE_SUBTRACT_OES"/>
+ <enum value="0x800C" name="GL_CMYK_EXT"/>
+ <enum value="0x800D" name="GL_CMYKA_EXT"/>
+ <enum value="0x800E" name="GL_PACK_CMYK_HINT_EXT"/>
+ <enum value="0x800F" name="GL_UNPACK_CMYK_HINT_EXT"/>
+ <enum value="0x8010" name="GL_CONVOLUTION_1D"/>
+ <enum value="0x8010" name="GL_CONVOLUTION_1D_EXT"/>
+ <enum value="0x8011" name="GL_CONVOLUTION_2D"/>
+ <enum value="0x8011" name="GL_CONVOLUTION_2D_EXT"/>
+ <enum value="0x8012" name="GL_SEPARABLE_2D"/>
+ <enum value="0x8012" name="GL_SEPARABLE_2D_EXT"/>
+ <enum value="0x8013" name="GL_CONVOLUTION_BORDER_MODE"/>
+ <enum value="0x8013" name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
+ <enum value="0x8014" name="GL_CONVOLUTION_FILTER_SCALE"/>
+ <enum value="0x8014" name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
+ <enum value="0x8015" name="GL_CONVOLUTION_FILTER_BIAS"/>
+ <enum value="0x8015" name="GL_CONVOLUTION_FILTER_BIAS_EXT"/>
+ <enum value="0x8016" name="GL_REDUCE"/>
+ <enum value="0x8016" name="GL_REDUCE_EXT"/>
+ <enum value="0x8017" name="GL_CONVOLUTION_FORMAT"/>
+ <enum value="0x8017" name="GL_CONVOLUTION_FORMAT_EXT"/>
+ <enum value="0x8018" name="GL_CONVOLUTION_WIDTH"/>
+ <enum value="0x8018" name="GL_CONVOLUTION_WIDTH_EXT"/>
+ <enum value="0x8019" name="GL_CONVOLUTION_HEIGHT"/>
+ <enum value="0x8019" name="GL_CONVOLUTION_HEIGHT_EXT"/>
+ <enum value="0x801A" name="GL_MAX_CONVOLUTION_WIDTH"/>
+ <enum value="0x801A" name="GL_MAX_CONVOLUTION_WIDTH_EXT"/>
+ <enum value="0x801B" name="GL_MAX_CONVOLUTION_HEIGHT"/>
+ <enum value="0x801B" name="GL_MAX_CONVOLUTION_HEIGHT_EXT"/>
+ <enum value="0x801C" name="GL_POST_CONVOLUTION_RED_SCALE"/>
+ <enum value="0x801C" name="GL_POST_CONVOLUTION_RED_SCALE_EXT"/>
+ <enum value="0x801D" name="GL_POST_CONVOLUTION_GREEN_SCALE"/>
+ <enum value="0x801D" name="GL_POST_CONVOLUTION_GREEN_SCALE_EXT"/>
+ <enum value="0x801E" name="GL_POST_CONVOLUTION_BLUE_SCALE"/>
+ <enum value="0x801E" name="GL_POST_CONVOLUTION_BLUE_SCALE_EXT"/>
+ <enum value="0x801F" name="GL_POST_CONVOLUTION_ALPHA_SCALE"/>
+ <enum value="0x801F" name="GL_POST_CONVOLUTION_ALPHA_SCALE_EXT"/>
+ <enum value="0x8020" name="GL_POST_CONVOLUTION_RED_BIAS"/>
+ <enum value="0x8020" name="GL_POST_CONVOLUTION_RED_BIAS_EXT"/>
+ <enum value="0x8021" name="GL_POST_CONVOLUTION_GREEN_BIAS"/>
+ <enum value="0x8021" name="GL_POST_CONVOLUTION_GREEN_BIAS_EXT"/>
+ <enum value="0x8022" name="GL_POST_CONVOLUTION_BLUE_BIAS"/>
+ <enum value="0x8022" name="GL_POST_CONVOLUTION_BLUE_BIAS_EXT"/>
+ <enum value="0x8023" name="GL_POST_CONVOLUTION_ALPHA_BIAS"/>
+ <enum value="0x8023" name="GL_POST_CONVOLUTION_ALPHA_BIAS_EXT"/>
+ <enum value="0x8024" name="GL_HISTOGRAM"/>
+ <enum value="0x8024" name="GL_HISTOGRAM_EXT"/>
+ <enum value="0x8025" name="GL_PROXY_HISTOGRAM"/>
+ <enum value="0x8025" name="GL_PROXY_HISTOGRAM_EXT"/>
+ <enum value="0x8026" name="GL_HISTOGRAM_WIDTH"/>
+ <enum value="0x8026" name="GL_HISTOGRAM_WIDTH_EXT"/>
+ <enum value="0x8027" name="GL_HISTOGRAM_FORMAT"/>
+ <enum value="0x8027" name="GL_HISTOGRAM_FORMAT_EXT"/>
+ <enum value="0x8028" name="GL_HISTOGRAM_RED_SIZE"/>
+ <enum value="0x8028" name="GL_HISTOGRAM_RED_SIZE_EXT"/>
+ <enum value="0x8029" name="GL_HISTOGRAM_GREEN_SIZE"/>
+ <enum value="0x8029" name="GL_HISTOGRAM_GREEN_SIZE_EXT"/>
+ <enum value="0x802A" name="GL_HISTOGRAM_BLUE_SIZE"/>
+ <enum value="0x802A" name="GL_HISTOGRAM_BLUE_SIZE_EXT"/>
+ <enum value="0x802B" name="GL_HISTOGRAM_ALPHA_SIZE"/>
+ <enum value="0x802B" name="GL_HISTOGRAM_ALPHA_SIZE_EXT"/>
+ <enum value="0x802C" name="GL_HISTOGRAM_LUMINANCE_SIZE"/>
+ <enum value="0x802C" name="GL_HISTOGRAM_LUMINANCE_SIZE_EXT"/>
+ <enum value="0x802D" name="GL_HISTOGRAM_SINK"/>
+ <enum value="0x802D" name="GL_HISTOGRAM_SINK_EXT"/>
+ <enum value="0x802E" name="GL_MINMAX"/>
+ <enum value="0x802E" name="GL_MINMAX_EXT"/>
+ <enum value="0x802F" name="GL_MINMAX_FORMAT"/>
+ <enum value="0x802F" name="GL_MINMAX_FORMAT_EXT"/>
+ <enum value="0x8030" name="GL_MINMAX_SINK"/>
+ <enum value="0x8030" name="GL_MINMAX_SINK_EXT"/>
+ <enum value="0x8031" name="GL_TABLE_TOO_LARGE_EXT"/>
+ <enum value="0x8031" name="GL_TABLE_TOO_LARGE"/>
+ <enum value="0x8032" name="GL_UNSIGNED_BYTE_3_3_2"/>
+ <enum value="0x8032" name="GL_UNSIGNED_BYTE_3_3_2_EXT"/>
+ <enum value="0x8033" name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <enum value="0x8033" name="GL_UNSIGNED_SHORT_4_4_4_4_EXT"/>
+ <enum value="0x8034" name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <enum value="0x8034" name="GL_UNSIGNED_SHORT_5_5_5_1_EXT"/>
+ <enum value="0x8035" name="GL_UNSIGNED_INT_8_8_8_8"/>
+ <enum value="0x8035" name="GL_UNSIGNED_INT_8_8_8_8_EXT"/>
+ <enum value="0x8036" name="GL_UNSIGNED_INT_10_10_10_2"/>
+ <enum value="0x8036" name="GL_UNSIGNED_INT_10_10_10_2_EXT"/>
+ <enum value="0x8037" name="GL_POLYGON_OFFSET_EXT"/>
+ <enum value="0x8037" name="GL_POLYGON_OFFSET_FILL"/>
+ <enum value="0x8038" name="GL_POLYGON_OFFSET_FACTOR"/>
+ <enum value="0x8038" name="GL_POLYGON_OFFSET_FACTOR_EXT"/>
+ <enum value="0x8039" name="GL_POLYGON_OFFSET_BIAS_EXT"/>
+ <enum value="0x803A" name="GL_RESCALE_NORMAL"/>
+ <enum value="0x803A" name="GL_RESCALE_NORMAL_EXT"/>
+ <enum value="0x803B" name="GL_ALPHA4"/>
+ <enum value="0x803B" name="GL_ALPHA4_EXT"/>
+ <enum value="0x803C" name="GL_ALPHA8"/>
+ <enum value="0x803C" name="GL_ALPHA8_EXT"/>
+ <enum value="0x803C" name="GL_ALPHA8_OES"/>
+ <enum value="0x803D" name="GL_ALPHA12"/>
+ <enum value="0x803D" name="GL_ALPHA12_EXT"/>
+ <enum value="0x803E" name="GL_ALPHA16"/>
+ <enum value="0x803E" name="GL_ALPHA16_EXT"/>
+ <enum value="0x803F" name="GL_LUMINANCE4"/>
+ <enum value="0x803F" name="GL_LUMINANCE4_EXT"/>
+ <enum value="0x8040" name="GL_LUMINANCE8"/>
+ <enum value="0x8040" name="GL_LUMINANCE8_EXT"/>
+ <enum value="0x8040" name="GL_LUMINANCE8_OES"/>
+ <enum value="0x8041" name="GL_LUMINANCE12"/>
+ <enum value="0x8041" name="GL_LUMINANCE12_EXT"/>
+ <enum value="0x8042" name="GL_LUMINANCE16"/>
+ <enum value="0x8042" name="GL_LUMINANCE16_EXT"/>
+ <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4"/>
+ <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4_EXT"/>
+ <enum value="0x8043" name="GL_LUMINANCE4_ALPHA4_OES"/>
+ <enum value="0x8044" name="GL_LUMINANCE6_ALPHA2"/>
+ <enum value="0x8044" name="GL_LUMINANCE6_ALPHA2_EXT"/>
+ <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8"/>
+ <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8_EXT"/>
+ <enum value="0x8045" name="GL_LUMINANCE8_ALPHA8_OES"/>
+ <enum value="0x8046" name="GL_LUMINANCE12_ALPHA4"/>
+ <enum value="0x8046" name="GL_LUMINANCE12_ALPHA4_EXT"/>
+ <enum value="0x8047" name="GL_LUMINANCE12_ALPHA12"/>
+ <enum value="0x8047" name="GL_LUMINANCE12_ALPHA12_EXT"/>
+ <enum value="0x8048" name="GL_LUMINANCE16_ALPHA16"/>
+ <enum value="0x8048" name="GL_LUMINANCE16_ALPHA16_EXT"/>
+ <enum value="0x8049" name="GL_INTENSITY"/>
+ <enum value="0x8049" name="GL_INTENSITY_EXT"/>
+ <enum value="0x804A" name="GL_INTENSITY4"/>
+ <enum value="0x804A" name="GL_INTENSITY4_EXT"/>
+ <enum value="0x804B" name="GL_INTENSITY8"/>
+ <enum value="0x804B" name="GL_INTENSITY8_EXT"/>
+ <enum value="0x804C" name="GL_INTENSITY12"/>
+ <enum value="0x804C" name="GL_INTENSITY12_EXT"/>
+ <enum value="0x804D" name="GL_INTENSITY16"/>
+ <enum value="0x804D" name="GL_INTENSITY16_EXT"/>
+ <enum value="0x804E" name="GL_RGB2_EXT"/>
+ <enum value="0x804F" name="GL_RGB4"/>
+ <enum value="0x804F" name="GL_RGB4_EXT"/>
+ <enum value="0x8050" name="GL_RGB5"/>
+ <enum value="0x8050" name="GL_RGB5_EXT"/>
+ <enum value="0x8051" name="GL_RGB8"/>
+ <enum value="0x8051" name="GL_RGB8_EXT"/>
+ <enum value="0x8051" name="GL_RGB8_OES"/>
+ <enum value="0x8052" name="GL_RGB10"/>
+ <enum value="0x8052" name="GL_RGB10_EXT"/>
+ <enum value="0x8053" name="GL_RGB12"/>
+ <enum value="0x8053" name="GL_RGB12_EXT"/>
+ <enum value="0x8054" name="GL_RGB16"/>
+ <enum value="0x8054" name="GL_RGB16_EXT"/>
+ <enum value="0x8055" name="GL_RGBA2"/>
+ <enum value="0x8055" name="GL_RGBA2_EXT"/>
+ <enum value="0x8056" name="GL_RGBA4"/>
+ <enum value="0x8056" name="GL_RGBA4_EXT"/>
+ <enum value="0x8056" name="GL_RGBA4_OES"/>
+ <enum value="0x8057" name="GL_RGB5_A1"/>
+ <enum value="0x8057" name="GL_RGB5_A1_EXT"/>
+ <enum value="0x8057" name="GL_RGB5_A1_OES"/>
+ <enum value="0x8058" name="GL_RGBA8"/>
+ <enum value="0x8058" name="GL_RGBA8_EXT"/>
+ <enum value="0x8058" name="GL_RGBA8_OES"/>
+ <enum value="0x8059" name="GL_RGB10_A2"/>
+ <enum value="0x8059" name="GL_RGB10_A2_EXT"/>
+ <enum value="0x805A" name="GL_RGBA12"/>
+ <enum value="0x805A" name="GL_RGBA12_EXT"/>
+ <enum value="0x805B" name="GL_RGBA16"/>
+ <enum value="0x805B" name="GL_RGBA16_EXT"/>
+ <enum value="0x805C" name="GL_TEXTURE_RED_SIZE"/>
+ <enum value="0x805C" name="GL_TEXTURE_RED_SIZE_EXT"/>
+ <enum value="0x805D" name="GL_TEXTURE_GREEN_SIZE"/>
+ <enum value="0x805D" name="GL_TEXTURE_GREEN_SIZE_EXT"/>
+ <enum value="0x805E" name="GL_TEXTURE_BLUE_SIZE"/>
+ <enum value="0x805E" name="GL_TEXTURE_BLUE_SIZE_EXT"/>
+ <enum value="0x805F" name="GL_TEXTURE_ALPHA_SIZE"/>
+ <enum value="0x805F" name="GL_TEXTURE_ALPHA_SIZE_EXT"/>
+ <enum value="0x8060" name="GL_TEXTURE_LUMINANCE_SIZE"/>
+ <enum value="0x8060" name="GL_TEXTURE_LUMINANCE_SIZE_EXT"/>
+ <enum value="0x8061" name="GL_TEXTURE_INTENSITY_SIZE"/>
+ <enum value="0x8061" name="GL_TEXTURE_INTENSITY_SIZE_EXT"/>
+ <enum value="0x8062" name="GL_REPLACE_EXT"/>
+ <enum value="0x8063" name="GL_PROXY_TEXTURE_1D"/>
+ <enum value="0x8063" name="GL_PROXY_TEXTURE_1D_EXT"/>
+ <enum value="0x8064" name="GL_PROXY_TEXTURE_2D"/>
+ <enum value="0x8064" name="GL_PROXY_TEXTURE_2D_EXT"/>
+ <enum value="0x8065" name="GL_TEXTURE_TOO_LARGE_EXT"/>
+ <enum value="0x8066" name="GL_TEXTURE_PRIORITY"/>
+ <enum value="0x8066" name="GL_TEXTURE_PRIORITY_EXT"/>
+ <enum value="0x8067" name="GL_TEXTURE_RESIDENT"/>
+ <enum value="0x8067" name="GL_TEXTURE_RESIDENT_EXT"/>
+ <enum value="0x8068" name="GL_TEXTURE_1D_BINDING_EXT"/>
+ <enum value="0x8068" name="GL_TEXTURE_BINDING_1D"/>
+ <enum value="0x8069" name="GL_TEXTURE_2D_BINDING_EXT"/>
+ <enum value="0x8069" name="GL_TEXTURE_BINDING_2D"/>
+ <enum value="0x806A" name="GL_TEXTURE_3D_BINDING_EXT"/>
+ <enum value="0x806A" name="GL_TEXTURE_3D_BINDING_OES"/>
+ <enum value="0x806A" name="GL_TEXTURE_BINDING_3D"/>
+ <enum value="0x806A" name="GL_TEXTURE_BINDING_3D_OES"/>
+ <enum value="0x806B" name="GL_PACK_SKIP_IMAGES"/>
+ <enum value="0x806B" name="GL_PACK_SKIP_IMAGES_EXT"/>
+ <enum value="0x806C" name="GL_PACK_IMAGE_HEIGHT"/>
+ <enum value="0x806C" name="GL_PACK_IMAGE_HEIGHT_EXT"/>
+ <enum value="0x806D" name="GL_UNPACK_SKIP_IMAGES"/>
+ <enum value="0x806D" name="GL_UNPACK_SKIP_IMAGES_EXT"/>
+ <enum value="0x806E" name="GL_UNPACK_IMAGE_HEIGHT"/>
+ <enum value="0x806E" name="GL_UNPACK_IMAGE_HEIGHT_EXT"/>
+ <enum value="0x806F" name="GL_TEXTURE_3D"/>
+ <enum value="0x806F" name="GL_TEXTURE_3D_EXT"/>
+ <enum value="0x806F" name="GL_TEXTURE_3D_OES"/>
+ <enum value="0x8070" name="GL_PROXY_TEXTURE_3D"/>
+ <enum value="0x8070" name="GL_PROXY_TEXTURE_3D_EXT"/>
+ <enum value="0x8071" name="GL_TEXTURE_DEPTH"/>
+ <enum value="0x8071" name="GL_TEXTURE_DEPTH_EXT"/>
+ <enum value="0x8072" name="GL_TEXTURE_WRAP_R"/>
+ <enum value="0x8072" name="GL_TEXTURE_WRAP_R_EXT"/>
+ <enum value="0x8072" name="GL_TEXTURE_WRAP_R_OES"/>
+ <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE"/>
+ <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE_EXT"/>
+ <enum value="0x8073" name="GL_MAX_3D_TEXTURE_SIZE_OES"/>
+ <enum value="0x8074" name="GL_VERTEX_ARRAY"/>
+ <enum value="0x8074" name="GL_VERTEX_ARRAY_EXT"/>
+ <enum value="0x8074" name="GL_VERTEX_ARRAY_KHR"/>
+ <enum value="0x8075" name="GL_NORMAL_ARRAY"/>
+ <enum value="0x8075" name="GL_NORMAL_ARRAY_EXT"/>
+ <enum value="0x8076" name="GL_COLOR_ARRAY"/>
+ <enum value="0x8076" name="GL_COLOR_ARRAY_EXT"/>
+ <enum value="0x8077" name="GL_INDEX_ARRAY"/>
+ <enum value="0x8077" name="GL_INDEX_ARRAY_EXT"/>
+ <enum value="0x8078" name="GL_TEXTURE_COORD_ARRAY"/>
+ <enum value="0x8078" name="GL_TEXTURE_COORD_ARRAY_EXT"/>
+ <enum value="0x8079" name="GL_EDGE_FLAG_ARRAY"/>
+ <enum value="0x8079" name="GL_EDGE_FLAG_ARRAY_EXT"/>
+ <enum value="0x807A" name="GL_VERTEX_ARRAY_SIZE"/>
+ <enum value="0x807A" name="GL_VERTEX_ARRAY_SIZE_EXT"/>
+ <enum value="0x807B" name="GL_VERTEX_ARRAY_TYPE"/>
+ <enum value="0x807B" name="GL_VERTEX_ARRAY_TYPE_EXT"/>
+ <enum value="0x807C" name="GL_VERTEX_ARRAY_STRIDE"/>
+ <enum value="0x807C" name="GL_VERTEX_ARRAY_STRIDE_EXT"/>
+ <enum value="0x807D" name="GL_VERTEX_ARRAY_COUNT_EXT"/>
+ <enum value="0x807E" name="GL_NORMAL_ARRAY_TYPE"/>
+ <enum value="0x807E" name="GL_NORMAL_ARRAY_TYPE_EXT"/>
+ <enum value="0x807F" name="GL_NORMAL_ARRAY_STRIDE"/>
+ <enum value="0x807F" name="GL_NORMAL_ARRAY_STRIDE_EXT"/>
+ <enum value="0x8080" name="GL_NORMAL_ARRAY_COUNT_EXT"/>
+ <enum value="0x8081" name="GL_COLOR_ARRAY_SIZE"/>
+ <enum value="0x8081" name="GL_COLOR_ARRAY_SIZE_EXT"/>
+ <enum value="0x8082" name="GL_COLOR_ARRAY_TYPE"/>
+ <enum value="0x8082" name="GL_COLOR_ARRAY_TYPE_EXT"/>
+ <enum value="0x8083" name="GL_COLOR_ARRAY_STRIDE"/>
+ <enum value="0x8083" name="GL_COLOR_ARRAY_STRIDE_EXT"/>
+ <enum value="0x8084" name="GL_COLOR_ARRAY_COUNT_EXT"/>
+ <enum value="0x8085" name="GL_INDEX_ARRAY_TYPE"/>
+ <enum value="0x8085" name="GL_INDEX_ARRAY_TYPE_EXT"/>
+ <enum value="0x8086" name="GL_INDEX_ARRAY_STRIDE"/>
+ <enum value="0x8086" name="GL_INDEX_ARRAY_STRIDE_EXT"/>
+ <enum value="0x8087" name="GL_INDEX_ARRAY_COUNT_EXT"/>
+ <enum value="0x8088" name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+ <enum value="0x8088" name="GL_TEXTURE_COORD_ARRAY_SIZE_EXT"/>
+ <enum value="0x8089" name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+ <enum value="0x8089" name="GL_TEXTURE_COORD_ARRAY_TYPE_EXT"/>
+ <enum value="0x808A" name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+ <enum value="0x808A" name="GL_TEXTURE_COORD_ARRAY_STRIDE_EXT"/>
+ <enum value="0x808B" name="GL_TEXTURE_COORD_ARRAY_COUNT_EXT"/>
+ <enum value="0x808C" name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
+ <enum value="0x808C" name="GL_EDGE_FLAG_ARRAY_STRIDE_EXT"/>
+ <enum value="0x808D" name="GL_EDGE_FLAG_ARRAY_COUNT_EXT"/>
+ <enum value="0x808E" name="GL_VERTEX_ARRAY_POINTER"/>
+ <enum value="0x808E" name="GL_VERTEX_ARRAY_POINTER_EXT"/>
+ <enum value="0x808F" name="GL_NORMAL_ARRAY_POINTER"/>
+ <enum value="0x808F" name="GL_NORMAL_ARRAY_POINTER_EXT"/>
+ <enum value="0x8090" name="GL_COLOR_ARRAY_POINTER"/>
+ <enum value="0x8090" name="GL_COLOR_ARRAY_POINTER_EXT"/>
+ <enum value="0x8091" name="GL_INDEX_ARRAY_POINTER"/>
+ <enum value="0x8091" name="GL_INDEX_ARRAY_POINTER_EXT"/>
+ <enum value="0x8092" name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+ <enum value="0x8092" name="GL_TEXTURE_COORD_ARRAY_POINTER_EXT"/>
+ <enum value="0x8093" name="GL_EDGE_FLAG_ARRAY_POINTER"/>
+ <enum value="0x8093" name="GL_EDGE_FLAG_ARRAY_POINTER_EXT"/>
+ <enum value="0x8094" name="GL_INTERLACE_SGIX"/>
+ <enum value="0x8095" name="GL_DETAIL_TEXTURE_2D_SGIS"/>
+ <enum value="0x8096" name="GL_DETAIL_TEXTURE_2D_BINDING_SGIS"/>
+ <enum value="0x8097" name="GL_LINEAR_DETAIL_SGIS"/>
+ <enum value="0x8098" name="GL_LINEAR_DETAIL_ALPHA_SGIS"/>
+ <enum value="0x8099" name="GL_LINEAR_DETAIL_COLOR_SGIS"/>
+ <enum value="0x809A" name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
+ <enum value="0x809B" name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
+ <enum value="0x809C" name="GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"/>
+ <enum value="0x809D" name="GL_MULTISAMPLE"/>
+ <enum value="0x809D" name="GL_MULTISAMPLE_ARB"/>
+ <enum value="0x809D" name="GL_MULTISAMPLE_EXT"/>
+ <enum value="0x809D" name="GL_MULTISAMPLE_SGIS"/>
+ <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_COVERAGE_ARB"/>
+ <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_MASK_EXT"/>
+ <enum value="0x809E" name="GL_SAMPLE_ALPHA_TO_MASK_SGIS"/>
+ <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE"/>
+ <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_ARB"/>
+ <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_EXT"/>
+ <enum value="0x809F" name="GL_SAMPLE_ALPHA_TO_ONE_SGIS"/>
+ <enum value="0x80A0" name="GL_SAMPLE_COVERAGE"/>
+ <enum value="0x80A0" name="GL_SAMPLE_COVERAGE_ARB"/>
+ <enum value="0x80A0" name="GL_SAMPLE_MASK_EXT"/>
+ <enum value="0x80A0" name="GL_SAMPLE_MASK_SGIS"/>
+ <enum value="0x80A1" name="GL_1PASS_EXT"/>
+ <enum value="0x80A1" name="GL_1PASS_SGIS"/>
+ <enum value="0x80A2" name="GL_2PASS_0_EXT"/>
+ <enum value="0x80A2" name="GL_2PASS_0_SGIS"/>
+ <enum value="0x80A3" name="GL_2PASS_1_EXT"/>
+ <enum value="0x80A3" name="GL_2PASS_1_SGIS"/>
+ <enum value="0x80A4" name="GL_4PASS_0_EXT"/>
+ <enum value="0x80A4" name="GL_4PASS_0_SGIS"/>
+ <enum value="0x80A5" name="GL_4PASS_1_EXT"/>
+ <enum value="0x80A5" name="GL_4PASS_1_SGIS"/>
+ <enum value="0x80A6" name="GL_4PASS_2_EXT"/>
+ <enum value="0x80A6" name="GL_4PASS_2_SGIS"/>
+ <enum value="0x80A7" name="GL_4PASS_3_EXT"/>
+ <enum value="0x80A7" name="GL_4PASS_3_SGIS"/>
+ <enum value="0x80A8" name="GL_SAMPLE_BUFFERS"/>
+ <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_ARB"/>
+ <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_EXT"/>
+ <enum value="0x80A8" name="GL_SAMPLE_BUFFERS_SGIS"/>
+ <enum value="0x80A9" name="GL_SAMPLES"/>
+ <enum value="0x80A9" name="GL_SAMPLES_ARB"/>
+ <enum value="0x80A9" name="GL_SAMPLES_EXT"/>
+ <enum value="0x80A9" name="GL_SAMPLES_SGIS"/>
+ <enum value="0x80AA" name="GL_SAMPLE_COVERAGE_VALUE"/>
+ <enum value="0x80AA" name="GL_SAMPLE_COVERAGE_VALUE_ARB"/>
+ <enum value="0x80AA" name="GL_SAMPLE_MASK_VALUE_EXT"/>
+ <enum value="0x80AA" name="GL_SAMPLE_MASK_VALUE_SGIS"/>
+ <enum value="0x80AB" name="GL_SAMPLE_COVERAGE_INVERT"/>
+ <enum value="0x80AB" name="GL_SAMPLE_COVERAGE_INVERT_ARB"/>
+ <enum value="0x80AB" name="GL_SAMPLE_MASK_INVERT_EXT"/>
+ <enum value="0x80AB" name="GL_SAMPLE_MASK_INVERT_SGIS"/>
+ <enum value="0x80AC" name="GL_SAMPLE_PATTERN_EXT"/>
+ <enum value="0x80AC" name="GL_SAMPLE_PATTERN_SGIS"/>
+ <enum value="0x80AD" name="GL_LINEAR_SHARPEN_SGIS"/>
+ <enum value="0x80AE" name="GL_LINEAR_SHARPEN_ALPHA_SGIS"/>
+ <enum value="0x80AF" name="GL_LINEAR_SHARPEN_COLOR_SGIS"/>
+ <enum value="0x80B0" name="GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"/>
+ <enum value="0x80B1" name="GL_COLOR_MATRIX"/>
+ <enum value="0x80B1" name="GL_COLOR_MATRIX_SGI"/>
+ <enum value="0x80B2" name="GL_COLOR_MATRIX_STACK_DEPTH"/>
+ <enum value="0x80B2" name="GL_COLOR_MATRIX_STACK_DEPTH_SGI"/>
+ <enum value="0x80B3" name="GL_MAX_COLOR_MATRIX_STACK_DEPTH"/>
+ <enum value="0x80B3" name="GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI"/>
+ <enum value="0x80B4" name="GL_POST_COLOR_MATRIX_RED_SCALE"/>
+ <enum value="0x80B4" name="GL_POST_COLOR_MATRIX_RED_SCALE_SGI"/>
+ <enum value="0x80B5" name="GL_POST_COLOR_MATRIX_GREEN_SCALE"/>
+ <enum value="0x80B5" name="GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI"/>
+ <enum value="0x80B6" name="GL_POST_COLOR_MATRIX_BLUE_SCALE"/>
+ <enum value="0x80B6" name="GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI"/>
+ <enum value="0x80B7" name="GL_POST_COLOR_MATRIX_ALPHA_SCALE"/>
+ <enum value="0x80B7" name="GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI"/>
+ <enum value="0x80B8" name="GL_POST_COLOR_MATRIX_RED_BIAS"/>
+ <enum value="0x80B8" name="GL_POST_COLOR_MATRIX_RED_BIAS_SGI"/>
+ <enum value="0x80B9" name="GL_POST_COLOR_MATRIX_GREEN_BIAS"/>
+ <enum value="0x80B9" name="GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI"/>
+ <enum value="0x80BA" name="GL_POST_COLOR_MATRIX_BLUE_BIAS"/>
+ <enum value="0x80BA" name="GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI"/>
+ <enum value="0x80BB" name="GL_POST_COLOR_MATRIX_ALPHA_BIAS"/>
+ <enum value="0x80BB" name="GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI"/>
+ <enum value="0x80BC" name="GL_TEXTURE_COLOR_TABLE_SGI"/>
+ <enum value="0x80BD" name="GL_PROXY_TEXTURE_COLOR_TABLE_SGI"/>
+ <enum value="0x80BE" name="GL_TEXTURE_ENV_BIAS_SGIX"/>
+ <enum value="0x80BF" name="GL_SHADOW_AMBIENT_SGIX"/>
+ <enum value="0x80BF" name="GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x80C0" end="0x80CF" vendor="ZiiLabs">
+ <unused start="0x80C0" end="0x80C7" vendor="ZiiLabs"/>
+ <enum value="0x80C8" name="GL_BLEND_DST_RGB"/>
+ <enum value="0x80C8" name="GL_BLEND_DST_RGB_EXT"/>
+ <enum value="0x80C8" name="GL_BLEND_DST_RGB_OES"/>
+ <enum value="0x80C9" name="GL_BLEND_SRC_RGB"/>
+ <enum value="0x80C9" name="GL_BLEND_SRC_RGB_EXT"/>
+ <enum value="0x80C9" name="GL_BLEND_SRC_RGB_OES"/>
+ <enum value="0x80CA" name="GL_BLEND_DST_ALPHA"/>
+ <enum value="0x80CA" name="GL_BLEND_DST_ALPHA_EXT"/>
+ <enum value="0x80CA" name="GL_BLEND_DST_ALPHA_OES"/>
+ <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA"/>
+ <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA_EXT"/>
+ <enum value="0x80CB" name="GL_BLEND_SRC_ALPHA_OES"/>
+ <enum value="0x80CC" name="GL_422_EXT"/>
+ <enum value="0x80CD" name="GL_422_REV_EXT"/>
+ <enum value="0x80CE" name="GL_422_AVERAGE_EXT"/>
+ <enum value="0x80CF" name="GL_422_REV_AVERAGE_EXT"/>
+ </enums>
+
+ <enums namespace="GL" start="0x80D0" end="0x80DF" vendor="SGI">
+ <enum value="0x80D0" name="GL_COLOR_TABLE"/>
+ <enum value="0x80D0" name="GL_COLOR_TABLE_SGI"/>
+ <enum value="0x80D1" name="GL_POST_CONVOLUTION_COLOR_TABLE"/>
+ <enum value="0x80D1" name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum value="0x80D2" name="GL_POST_COLOR_MATRIX_COLOR_TABLE"/>
+ <enum value="0x80D2" name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum value="0x80D3" name="GL_PROXY_COLOR_TABLE"/>
+ <enum value="0x80D3" name="GL_PROXY_COLOR_TABLE_SGI"/>
+ <enum value="0x80D4" name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE"/>
+ <enum value="0x80D4" name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum value="0x80D5" name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE"/>
+ <enum value="0x80D5" name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum value="0x80D6" name="GL_COLOR_TABLE_SCALE"/>
+ <enum value="0x80D6" name="GL_COLOR_TABLE_SCALE_SGI"/>
+ <enum value="0x80D7" name="GL_COLOR_TABLE_BIAS"/>
+ <enum value="0x80D7" name="GL_COLOR_TABLE_BIAS_SGI"/>
+ <enum value="0x80D8" name="GL_COLOR_TABLE_FORMAT"/>
+ <enum value="0x80D8" name="GL_COLOR_TABLE_FORMAT_SGI"/>
+ <enum value="0x80D9" name="GL_COLOR_TABLE_WIDTH"/>
+ <enum value="0x80D9" name="GL_COLOR_TABLE_WIDTH_SGI"/>
+ <enum value="0x80DA" name="GL_COLOR_TABLE_RED_SIZE"/>
+ <enum value="0x80DA" name="GL_COLOR_TABLE_RED_SIZE_SGI"/>
+ <enum value="0x80DB" name="GL_COLOR_TABLE_GREEN_SIZE"/>
+ <enum value="0x80DB" name="GL_COLOR_TABLE_GREEN_SIZE_SGI"/>
+ <enum value="0x80DC" name="GL_COLOR_TABLE_BLUE_SIZE"/>
+ <enum value="0x80DC" name="GL_COLOR_TABLE_BLUE_SIZE_SGI"/>
+ <enum value="0x80DD" name="GL_COLOR_TABLE_ALPHA_SIZE"/>
+ <enum value="0x80DD" name="GL_COLOR_TABLE_ALPHA_SIZE_SGI"/>
+ <enum value="0x80DE" name="GL_COLOR_TABLE_LUMINANCE_SIZE"/>
+ <enum value="0x80DE" name="GL_COLOR_TABLE_LUMINANCE_SIZE_SGI"/>
+ <enum value="0x80DF" name="GL_COLOR_TABLE_INTENSITY_SIZE"/>
+ <enum value="0x80DF" name="GL_COLOR_TABLE_INTENSITY_SIZE_SGI"/>
+ </enums>
+
+ <enums namespace="GL" start="0x80E0" end="0x810F" vendor="MS">
+ <enum value="0x80E0" name="GL_BGR"/>
+ <enum value="0x80E0" name="GL_BGR_EXT"/>
+ <enum value="0x80E1" name="GL_BGRA"/>
+ <enum value="0x80E1" name="GL_BGRA_EXT"/>
+ <enum value="0x80E1" name="GL_BGRA_IMG"/>
+ <enum value="0x80E2" name="GL_COLOR_INDEX1_EXT"/>
+ <enum value="0x80E3" name="GL_COLOR_INDEX2_EXT"/>
+ <enum value="0x80E4" name="GL_COLOR_INDEX4_EXT"/>
+ <enum value="0x80E5" name="GL_COLOR_INDEX8_EXT"/>
+ <enum value="0x80E6" name="GL_COLOR_INDEX12_EXT"/>
+ <enum value="0x80E7" name="GL_COLOR_INDEX16_EXT"/>
+ <enum value="0x80E8" name="GL_MAX_ELEMENTS_VERTICES"/>
+ <enum value="0x80E8" name="GL_MAX_ELEMENTS_VERTICES_EXT"/>
+ <enum value="0x80E9" name="GL_MAX_ELEMENTS_INDICES"/>
+ <enum value="0x80E9" name="GL_MAX_ELEMENTS_INDICES_EXT"/>
+ <enum value="0x80EA" name="GL_PHONG_WIN"/>
+ <enum value="0x80EB" name="GL_PHONG_HINT_WIN"/>
+ <enum value="0x80EC" name="GL_FOG_SPECULAR_TEXTURE_WIN"/>
+ <enum value="0x80ED" name="GL_TEXTURE_INDEX_SIZE_EXT"/>
+ <enum value="0x80EE" name="GL_PARAMETER_BUFFER_ARB"/>
+ <enum value="0x80EF" name="GL_PARAMETER_BUFFER_BINDING_ARB"/>
+ <enum value="0x80F0" name="GL_CLIP_VOLUME_CLIPPING_HINT_EXT"/>
+ <unused start="0x80F1" end="0x810F" vendor="MS"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8110" end="0x814F" vendor="SGI">
+ <enum value="0x8110" name="GL_DUAL_ALPHA4_SGIS"/>
+ <enum value="0x8111" name="GL_DUAL_ALPHA8_SGIS"/>
+ <enum value="0x8112" name="GL_DUAL_ALPHA12_SGIS"/>
+ <enum value="0x8113" name="GL_DUAL_ALPHA16_SGIS"/>
+ <enum value="0x8114" name="GL_DUAL_LUMINANCE4_SGIS"/>
+ <enum value="0x8115" name="GL_DUAL_LUMINANCE8_SGIS"/>
+ <enum value="0x8116" name="GL_DUAL_LUMINANCE12_SGIS"/>
+ <enum value="0x8117" name="GL_DUAL_LUMINANCE16_SGIS"/>
+ <enum value="0x8118" name="GL_DUAL_INTENSITY4_SGIS"/>
+ <enum value="0x8119" name="GL_DUAL_INTENSITY8_SGIS"/>
+ <enum value="0x811A" name="GL_DUAL_INTENSITY12_SGIS"/>
+ <enum value="0x811B" name="GL_DUAL_INTENSITY16_SGIS"/>
+ <enum value="0x811C" name="GL_DUAL_LUMINANCE_ALPHA4_SGIS"/>
+ <enum value="0x811D" name="GL_DUAL_LUMINANCE_ALPHA8_SGIS"/>
+ <enum value="0x811E" name="GL_QUAD_ALPHA4_SGIS"/>
+ <enum value="0x811F" name="GL_QUAD_ALPHA8_SGIS"/>
+ <enum value="0x8120" name="GL_QUAD_LUMINANCE4_SGIS"/>
+ <enum value="0x8121" name="GL_QUAD_LUMINANCE8_SGIS"/>
+ <enum value="0x8122" name="GL_QUAD_INTENSITY4_SGIS"/>
+ <enum value="0x8123" name="GL_QUAD_INTENSITY8_SGIS"/>
+ <enum value="0x8124" name="GL_DUAL_TEXTURE_SELECT_SGIS"/>
+ <enum value="0x8125" name="GL_QUAD_TEXTURE_SELECT_SGIS"/>
+ <enum value="0x8126" name="GL_POINT_SIZE_MIN"/>
+ <enum value="0x8126" name="GL_POINT_SIZE_MIN_ARB"/>
+ <enum value="0x8126" name="GL_POINT_SIZE_MIN_EXT"/>
+ <enum value="0x8126" name="GL_POINT_SIZE_MIN_SGIS"/>
+ <enum value="0x8127" name="GL_POINT_SIZE_MAX"/>
+ <enum value="0x8127" name="GL_POINT_SIZE_MAX_ARB"/>
+ <enum value="0x8127" name="GL_POINT_SIZE_MAX_EXT"/>
+ <enum value="0x8127" name="GL_POINT_SIZE_MAX_SGIS"/>
+ <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+ <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_ARB"/>
+ <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_EXT"/>
+ <enum value="0x8128" name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
+ <enum value="0x8129" name="GL_DISTANCE_ATTENUATION_EXT"/>
+ <enum value="0x8129" name="GL_DISTANCE_ATTENUATION_SGIS"/>
+ <enum value="0x8129" name="GL_POINT_DISTANCE_ATTENUATION"/>
+ <enum value="0x8129" name="GL_POINT_DISTANCE_ATTENUATION_ARB"/>
+ <enum value="0x812A" name="GL_FOG_FUNC_SGIS"/>
+ <enum value="0x812B" name="GL_FOG_FUNC_POINTS_SGIS"/>
+ <enum value="0x812C" name="GL_MAX_FOG_FUNC_POINTS_SGIS"/>
+ <enum value="0x812D" name="GL_CLAMP_TO_BORDER"/>
+ <enum value="0x812D" name="GL_CLAMP_TO_BORDER_ARB"/>
+ <enum value="0x812D" name="GL_CLAMP_TO_BORDER_EXT"/>
+ <enum value="0x812D" name="GL_CLAMP_TO_BORDER_NV"/>
+ <enum value="0x812D" name="GL_CLAMP_TO_BORDER_SGIS"/>
+ <enum value="0x812E" name="GL_TEXTURE_MULTI_BUFFER_HINT_SGIX"/>
+ <enum value="0x812F" name="GL_CLAMP_TO_EDGE"/>
+ <enum value="0x812F" name="GL_CLAMP_TO_EDGE_SGIS"/>
+ <enum value="0x8130" name="GL_PACK_SKIP_VOLUMES_SGIS"/>
+ <enum value="0x8131" name="GL_PACK_IMAGE_DEPTH_SGIS"/>
+ <enum value="0x8132" name="GL_UNPACK_SKIP_VOLUMES_SGIS"/>
+ <enum value="0x8133" name="GL_UNPACK_IMAGE_DEPTH_SGIS"/>
+ <enum value="0x8134" name="GL_TEXTURE_4D_SGIS"/>
+ <enum value="0x8135" name="GL_PROXY_TEXTURE_4D_SGIS"/>
+ <enum value="0x8136" name="GL_TEXTURE_4DSIZE_SGIS"/>
+ <enum value="0x8137" name="GL_TEXTURE_WRAP_Q_SGIS"/>
+ <enum value="0x8138" name="GL_MAX_4D_TEXTURE_SIZE_SGIS"/>
+ <enum value="0x8139" name="GL_PIXEL_TEX_GEN_SGIX"/>
+ <enum value="0x813A" name="GL_TEXTURE_MIN_LOD"/>
+ <enum value="0x813A" name="GL_TEXTURE_MIN_LOD_SGIS"/>
+ <enum value="0x813B" name="GL_TEXTURE_MAX_LOD"/>
+ <enum value="0x813B" name="GL_TEXTURE_MAX_LOD_SGIS"/>
+ <enum value="0x813C" name="GL_TEXTURE_BASE_LEVEL"/>
+ <enum value="0x813C" name="GL_TEXTURE_BASE_LEVEL_SGIS"/>
+ <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL"/>
+ <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL_APPLE"/>
+ <enum value="0x813D" name="GL_TEXTURE_MAX_LEVEL_SGIS"/>
+ <enum value="0x813E" name="GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX"/>
+ <enum value="0x813F" name="GL_PIXEL_TILE_CACHE_INCREMENT_SGIX"/>
+ <enum value="0x8140" name="GL_PIXEL_TILE_WIDTH_SGIX"/>
+ <enum value="0x8141" name="GL_PIXEL_TILE_HEIGHT_SGIX"/>
+ <enum value="0x8142" name="GL_PIXEL_TILE_GRID_WIDTH_SGIX"/>
+ <enum value="0x8143" name="GL_PIXEL_TILE_GRID_HEIGHT_SGIX"/>
+ <enum value="0x8144" name="GL_PIXEL_TILE_GRID_DEPTH_SGIX"/>
+ <enum value="0x8145" name="GL_PIXEL_TILE_CACHE_SIZE_SGIX"/>
+ <enum value="0x8146" name="GL_FILTER4_SGIS"/>
+ <enum value="0x8147" name="GL_TEXTURE_FILTER4_SIZE_SGIS"/>
+ <enum value="0x8148" name="GL_SPRITE_SGIX"/>
+ <enum value="0x8149" name="GL_SPRITE_MODE_SGIX"/>
+ <enum value="0x814A" name="GL_SPRITE_AXIS_SGIX"/>
+ <enum value="0x814B" name="GL_SPRITE_TRANSLATION_SGIX"/>
+ <enum value="0x814C" name="GL_SPRITE_AXIAL_SGIX"/>
+ <enum value="0x814D" name="GL_SPRITE_OBJECT_ALIGNED_SGIX"/>
+ <enum value="0x814E" name="GL_SPRITE_EYE_ALIGNED_SGIX"/>
+ <enum value="0x814F" name="GL_TEXTURE_4D_BINDING_SGIS"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8150" end="0x816F" vendor="HP">
+ <enum value="0x8150" name="GL_IGNORE_BORDER_HP"/>
+ <enum value="0x8151" name="GL_CONSTANT_BORDER"/>
+ <enum value="0x8151" name="GL_CONSTANT_BORDER_HP"/>
+ <unused start="0x8152" vendor="HP" comment="GL_WRAP_BORDER = 0x8152 was proposed, but not actually promoted to core"/>
+ <enum value="0x8153" name="GL_REPLICATE_BORDER"/>
+ <enum value="0x8153" name="GL_REPLICATE_BORDER_HP"/>
+ <enum value="0x8154" name="GL_CONVOLUTION_BORDER_COLOR"/>
+ <enum value="0x8154" name="GL_CONVOLUTION_BORDER_COLOR_HP"/>
+ <enum value="0x8155" name="GL_IMAGE_SCALE_X_HP"/>
+ <enum value="0x8156" name="GL_IMAGE_SCALE_Y_HP"/>
+ <enum value="0x8157" name="GL_IMAGE_TRANSLATE_X_HP"/>
+ <enum value="0x8158" name="GL_IMAGE_TRANSLATE_Y_HP"/>
+ <enum value="0x8159" name="GL_IMAGE_ROTATE_ANGLE_HP"/>
+ <enum value="0x815A" name="GL_IMAGE_ROTATE_ORIGIN_X_HP"/>
+ <enum value="0x815B" name="GL_IMAGE_ROTATE_ORIGIN_Y_HP"/>
+ <enum value="0x815C" name="GL_IMAGE_MAG_FILTER_HP"/>
+ <enum value="0x815D" name="GL_IMAGE_MIN_FILTER_HP"/>
+ <enum value="0x815E" name="GL_IMAGE_CUBIC_WEIGHT_HP"/>
+ <enum value="0x815F" name="GL_CUBIC_HP"/>
+ <enum value="0x8160" name="GL_AVERAGE_HP"/>
+ <enum value="0x8161" name="GL_IMAGE_TRANSFORM_2D_HP"/>
+ <enum value="0x8162" name="GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
+ <enum value="0x8163" name="GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
+ <unused start="0x8164" vendor="HP"/>
+ <enum value="0x8165" name="GL_OCCLUSION_TEST_HP"/>
+ <enum value="0x8166" name="GL_OCCLUSION_TEST_RESULT_HP"/>
+ <enum value="0x8167" name="GL_TEXTURE_LIGHTING_MODE_HP"/>
+ <enum value="0x8168" name="GL_TEXTURE_POST_SPECULAR_HP"/>
+ <enum value="0x8169" name="GL_TEXTURE_PRE_SPECULAR_HP"/>
+ <unused start="0x816A" end="0x816F" vendor="HP"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8170" end="0x81CF" vendor="SGI">
+ <enum value="0x8170" name="GL_LINEAR_CLIPMAP_LINEAR_SGIX"/>
+ <enum value="0x8171" name="GL_TEXTURE_CLIPMAP_CENTER_SGIX"/>
+ <enum value="0x8172" name="GL_TEXTURE_CLIPMAP_FRAME_SGIX"/>
+ <enum value="0x8173" name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX"/>
+ <enum value="0x8174" name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+ <enum value="0x8175" name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"/>
+ <enum value="0x8176" name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX"/>
+ <enum value="0x8177" name="GL_MAX_CLIPMAP_DEPTH_SGIX"/>
+ <enum value="0x8178" name="GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+ <enum value="0x8179" name="GL_POST_TEXTURE_FILTER_BIAS_SGIX"/>
+ <enum value="0x817A" name="GL_POST_TEXTURE_FILTER_SCALE_SGIX"/>
+ <enum value="0x817B" name="GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX"/>
+ <enum value="0x817C" name="GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX"/>
+ <enum value="0x817D" name="GL_REFERENCE_PLANE_SGIX"/>
+ <enum value="0x817E" name="GL_REFERENCE_PLANE_EQUATION_SGIX"/>
+ <enum value="0x817F" name="GL_IR_INSTRUMENT1_SGIX"/>
+ <enum value="0x8180" name="GL_INSTRUMENT_BUFFER_POINTER_SGIX"/>
+ <enum value="0x8181" name="GL_INSTRUMENT_MEASUREMENTS_SGIX"/>
+ <enum value="0x8182" name="GL_LIST_PRIORITY_SGIX"/>
+ <enum value="0x8183" name="GL_CALLIGRAPHIC_FRAGMENT_SGIX"/>
+ <enum value="0x8184" name="GL_PIXEL_TEX_GEN_Q_CEILING_SGIX"/>
+ <enum value="0x8185" name="GL_PIXEL_TEX_GEN_Q_ROUND_SGIX"/>
+ <enum value="0x8186" name="GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX"/>
+ <enum value="0x8187" name="GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX"/>
+ <enum value="0x8188" name="GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX"/>
+ <enum value="0x8189" name="GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX"/>
+ <enum value="0x818A" name="GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX"/>
+ <enum value="0x818B" name="GL_FRAMEZOOM_SGIX"/>
+ <enum value="0x818C" name="GL_FRAMEZOOM_FACTOR_SGIX"/>
+ <enum value="0x818D" name="GL_MAX_FRAMEZOOM_FACTOR_SGIX"/>
+ <enum value="0x818E" name="GL_TEXTURE_LOD_BIAS_S_SGIX"/>
+ <enum value="0x818F" name="GL_TEXTURE_LOD_BIAS_T_SGIX"/>
+ <enum value="0x8190" name="GL_TEXTURE_LOD_BIAS_R_SGIX"/>
+ <enum value="0x8191" name="GL_GENERATE_MIPMAP"/>
+ <enum value="0x8191" name="GL_GENERATE_MIPMAP_SGIS"/>
+ <enum value="0x8192" name="GL_GENERATE_MIPMAP_HINT"/>
+ <enum value="0x8192" name="GL_GENERATE_MIPMAP_HINT_SGIS"/>
+ <unused start="0x8193" end="0x8193" comment="Incomplete extension SGIX_spotlight_cutoff"/>
+ <!-- <enum value="0x8193" name="GL_SPOT_CUTOFF_DELTA_SGIX"/> -->
+ <enum value="0x8194" name="GL_GEOMETRY_DEFORMATION_SGIX"/>
+ <enum value="0x8195" name="GL_TEXTURE_DEFORMATION_SGIX"/>
+ <enum value="0x8196" name="GL_DEFORMATIONS_MASK_SGIX"/>
+ <enum value="0x8197" name="GL_MAX_DEFORMATION_ORDER_SGIX"/>
+ <enum value="0x8198" name="GL_FOG_OFFSET_SGIX"/>
+ <enum value="0x8199" name="GL_FOG_OFFSET_VALUE_SGIX"/>
+ <enum value="0x819A" name="GL_TEXTURE_COMPARE_SGIX"/>
+ <enum value="0x819B" name="GL_TEXTURE_COMPARE_OPERATOR_SGIX"/>
+ <enum value="0x819C" name="GL_TEXTURE_LEQUAL_R_SGIX"/>
+ <enum value="0x819D" name="GL_TEXTURE_GEQUAL_R_SGIX"/>
+ <unused start="0x819E" end="0x81A4" comment="Private (internal) extension SGIX_igloo_interface"/>
+ <!-- <enum value="0x819E" name="GL_IGLOO_FULLSCREEN_SGIX"/> -->
+ <!-- <enum value="0x819F" name="GL_IGLOO_VIEWPORT_OFFSET_SGIX"/> -->
+ <!-- <enum value="0x81A0" name="GL_IGLOO_SWAPTMESH_SGIX"/> -->
+ <!-- <enum value="0x81A1" name="GL_IGLOO_COLORNORMAL_SGIX"/> -->
+ <!-- <enum value="0x81A2" name="GL_IGLOO_IRISGL_MODE_SGIX"/> -->
+ <!-- <enum value="0x81A3" name="GL_IGLOO_LMC_COLOR_SGIX"/> -->
+ <!-- <enum value="0x81A4" name="GL_IGLOO_TMESHMODE_SGIX"/> -->
+ <enum value="0x81A5" name="GL_DEPTH_COMPONENT16"/>
+ <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_ARB"/>
+ <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_OES"/>
+ <enum value="0x81A5" name="GL_DEPTH_COMPONENT16_SGIX"/>
+ <enum value="0x81A6" name="GL_DEPTH_COMPONENT24"/>
+ <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_ARB"/>
+ <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_OES"/>
+ <enum value="0x81A6" name="GL_DEPTH_COMPONENT24_SGIX"/>
+ <enum value="0x81A7" name="GL_DEPTH_COMPONENT32"/>
+ <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_ARB"/>
+ <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_OES"/>
+ <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_SGIX"/>
+ <enum value="0x81A8" name="GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"/>
+ <enum value="0x81A9" name="GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"/>
+ <enum value="0x81AA" name="GL_CULL_VERTEX_EXT"/>
+ <enum value="0x81AB" name="GL_CULL_VERTEX_EYE_POSITION_EXT"/>
+ <enum value="0x81AC" name="GL_CULL_VERTEX_OBJECT_POSITION_EXT"/>
+ <enum value="0x81AD" name="GL_IUI_V2F_EXT"/>
+ <enum value="0x81AE" name="GL_IUI_V3F_EXT"/>
+ <enum value="0x81AF" name="GL_IUI_N3F_V2F_EXT"/>
+ <enum value="0x81B0" name="GL_IUI_N3F_V3F_EXT"/>
+ <enum value="0x81B1" name="GL_T2F_IUI_V2F_EXT"/>
+ <enum value="0x81B2" name="GL_T2F_IUI_V3F_EXT"/>
+ <enum value="0x81B3" name="GL_T2F_IUI_N3F_V2F_EXT"/>
+ <enum value="0x81B4" name="GL_T2F_IUI_N3F_V3F_EXT"/>
+ <enum value="0x81B5" name="GL_INDEX_TEST_EXT"/>
+ <enum value="0x81B6" name="GL_INDEX_TEST_FUNC_EXT"/>
+ <enum value="0x81B7" name="GL_INDEX_TEST_REF_EXT"/>
+ <enum value="0x81B8" name="GL_INDEX_MATERIAL_EXT"/>
+ <enum value="0x81B9" name="GL_INDEX_MATERIAL_PARAMETER_EXT"/>
+ <enum value="0x81BA" name="GL_INDEX_MATERIAL_FACE_EXT"/>
+ <enum value="0x81BB" name="GL_YCRCB_422_SGIX"/>
+ <enum value="0x81BC" name="GL_YCRCB_444_SGIX"/>
+ <unused start="0x81BD" end="0x81C3" comment="Incomplete extension SGI_complex_type"/>
+ <!-- <enum value="0x81BD" name="GL_COMPLEX_UNSIGNED_BYTE_SGI"/> -->
+ <!-- <enum value="0x81BE" name="GL_COMPLEX_BYTE_SGI"/> -->
+ <!-- <enum value="0x81BF" name="GL_COMPLEX_UNSIGNED_SHORT_SGI"/> -->
+ <!-- <enum value="0x81C0" name="GL_COMPLEX_SHORT_SGI"/> -->
+ <!-- <enum value="0x81C1" name="GL_COMPLEX_UNSIGNED_INT_SGI"/> -->
+ <!-- <enum value="0x81C2" name="GL_COMPLEX_INT_SGI"/> -->
+ <!-- <enum value="0x81C3" name="GL_COMPLEX_FLOAT_SGI"/> -->
+ <unused start="0x81C4" end="0x81CA" comment="Incomplete extension SGI_fft"/>
+ <!-- <enum value="0x81C4" name="GL_PIXEL_TRANSFORM_OPERATOR_SGI"/> -->
+ <!-- <enum value="0x81C5" name="GL_CONVOLUTION_SGI"/> -->
+ <!-- <enum value="0x81C6" name="GL_FFT_1D_SGI"/> -->
+ <!-- <enum value="0x81C7" name="GL_PIXEL_TRANSFORM_SGI"/> -->
+ <!-- <enum value="0x81C8" name="GL_MAX_FFT_WIDTH_SGI"/> -->
+ <!-- <enum value="0x81C9" name="GL_SORT_SGI"/> -->
+ <!-- <enum value="0x81CA" name="GL_TRANSPOSE_SGI"/> -->
+ <unused start="0x81CB" end="0x81CF" comment="Incomplete extension SGIX_nurbs_eval"/>
+ <!-- <enum value="0x81CB" name="GL_MAP1_VERTEX_3_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81CC" name="GL_MAP1_VERTEX_4_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81CD" name="GL_MAP1_INDEX_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81CE" name="GL_MAP1_COLOR_4_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81CF" name="GL_MAP1_NORMAL_NURBS_SGIX"/> -->
+ </enums>
+
+ <enums namespace="GL" start="0x81D0" end="0x81DF" vendor="SUN">
+ <unused start="0x81D0" end="0x81D1" vendor="SUN"/>
+ <unused start="0x81D2" end="0x81D3" comment="No extension spec SUNX_surface_hint"/>
+ <!-- <enum value="0x81D2" name="GL_SURFACE_SIZE_HINT_SUNX"/> -->
+ <!-- <enum value="0x81D3" name="GL_LARGE_SUNX"/> -->
+ <enum value="0x81D4" name="GL_WRAP_BORDER_SUN"/>
+ <enum value="0x81D5" name="GL_UNPACK_CONSTANT_DATA_SUNX"/>
+ <enum value="0x81D6" name="GL_TEXTURE_CONSTANT_DATA_SUNX"/>
+ <enum value="0x81D7" name="GL_TRIANGLE_LIST_SUN"/>
+ <enum value="0x81D8" name="GL_REPLACEMENT_CODE_SUN"/>
+ <enum value="0x81D9" name="GL_GLOBAL_ALPHA_SUN"/>
+ <enum value="0x81DA" name="GL_GLOBAL_ALPHA_FACTOR_SUN"/>
+ <unused start="0x81DB" end="0x81DF" vendor="SUN"/>
+ </enums>
+
+ <enums namespace="GL" start="0x81E0" end="0x81FF" vendor="SGI">
+ <unused start="0x81E0" end="0x81EE" comment="Incomplete extension SGIX_nurbs_eval"/>
+ <!-- <enum value="0x81E0" name="GL_MAP1_TEXTURE_COORD_1_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E1" name="GL_MAP1_TEXTURE_COORD_2_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E2" name="GL_MAP1_TEXTURE_COORD_3_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E3" name="GL_MAP1_TEXTURE_COORD_4_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E4" name="GL_MAP2_VERTEX_3_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E5" name="GL_MAP2_VERTEX_4_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E6" name="GL_MAP2_INDEX_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E7" name="GL_MAP2_COLOR_4_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E8" name="GL_MAP2_NORMAL_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81E9" name="GL_MAP2_TEXTURE_COORD_1_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81EA" name="GL_MAP2_TEXTURE_COORD_2_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81EB" name="GL_MAP2_TEXTURE_COORD_3_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81EC" name="GL_MAP2_TEXTURE_COORD_4_NURBS_SGIX"/> -->
+ <!-- <enum value="0x81ED" name="GL_NURBS_KNOT_COUNT_SGIX"/> -->
+ <!-- <enum value="0x81EE" name="GL_NURBS_KNOT_VECTOR_SGIX"/> -->
+ <enum value="0x81EF" name="GL_TEXTURE_COLOR_WRITEMASK_SGIS"/>
+ <enum value="0x81F0" name="GL_EYE_DISTANCE_TO_POINT_SGIS"/>
+ <enum value="0x81F1" name="GL_OBJECT_DISTANCE_TO_POINT_SGIS"/>
+ <enum value="0x81F2" name="GL_EYE_DISTANCE_TO_LINE_SGIS"/>
+ <enum value="0x81F3" name="GL_OBJECT_DISTANCE_TO_LINE_SGIS"/>
+ <enum value="0x81F4" name="GL_EYE_POINT_SGIS"/>
+ <enum value="0x81F5" name="GL_OBJECT_POINT_SGIS"/>
+ <enum value="0x81F6" name="GL_EYE_LINE_SGIS"/>
+ <enum value="0x81F7" name="GL_OBJECT_LINE_SGIS"/>
+ <enum value="0x81F8" name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
+ <enum value="0x81F8" name="GL_LIGHT_MODEL_COLOR_CONTROL_EXT"/>
+ <enum value="0x81F9" name="GL_SINGLE_COLOR"/>
+ <enum value="0x81F9" name="GL_SINGLE_COLOR_EXT"/>
+ <enum value="0x81FA" name="GL_SEPARATE_SPECULAR_COLOR"/>
+ <enum value="0x81FA" name="GL_SEPARATE_SPECULAR_COLOR_EXT"/>
+ <enum value="0x81FB" name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
+ <unused start="0x81FC" end="0x81FD" comment="Incomplete extension SGIX_fog_scale"/>
+ <!-- <enum value="0x81FC" name="GL_FOG_SCALE_SGIX"/> -->
+ <!-- <enum value="0x81FD" name="GL_FOG_SCALE_VALUE_SGIX"/> -->
+ <unused start="0x81FE" end="0x81FF" comment="Incomplete extension SGIX_fog_blend"/>
+ <!-- <enum value="0x81FE" name="GL_FOG_BLEND_ALPHA_SGIX"/> -->
+ <!-- <enum value="0x81FF" name="GL_FOG_BLEND_COLOR_SGIX"/> -->
+ </enums>
+
+ <enums namespace="GL" start="0x8200" end="0x820F" vendor="AMD" comment="Range released by MS 2002/9/16">
+ <enum value="0x8200" name="GL_TEXT_FRAGMENT_SHADER_ATI"/>
+ <unused start="0x8201" end="0x820F" vendor="AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8210" end="0x823F" vendor="ARB">
+ <enum value="0x8210" name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+ <enum value="0x8210" name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"/>
+ <enum value="0x8211" name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+ <enum value="0x8211" name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT"/>
+ <enum value="0x8212" name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"/>
+ <enum value="0x8213" name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"/>
+ <enum value="0x8214" name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"/>
+ <enum value="0x8215" name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"/>
+ <enum value="0x8216" name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"/>
+ <enum value="0x8217" name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"/>
+ <enum value="0x8218" name="GL_FRAMEBUFFER_DEFAULT"/>
+ <enum value="0x8219" name="GL_FRAMEBUFFER_UNDEFINED"/>
+ <enum value="0x8219" name="GL_FRAMEBUFFER_UNDEFINED_OES"/>
+ <enum value="0x821A" name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+ <enum value="0x821B" name="GL_MAJOR_VERSION"/>
+ <enum value="0x821C" name="GL_MINOR_VERSION"/>
+ <enum value="0x821D" name="GL_NUM_EXTENSIONS"/>
+ <enum value="0x821E" name="GL_CONTEXT_FLAGS"/>
+ <enum value="0x821F" name="GL_BUFFER_IMMUTABLE_STORAGE"/>
+ <enum value="0x8220" name="GL_BUFFER_STORAGE_FLAGS"/>
+ <enum value="0x8221" name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED" comment="Proposed for Bug 10364"/>
+ <enum value="0x8222" name="GL_INDEX"/>
+ <unused start="0x8223" vendor="ARB" comment="GL_DEPTH_BUFFER = 0x8223 not actually used in the API"/>
+ <unused start="0x8224" vendor="ARB" comment="GL_STENCIL_BUFFER = 0x8224 not actually used in the API"/>
+ <enum value="0x8225" name="GL_COMPRESSED_RED"/>
+ <enum value="0x8226" name="GL_COMPRESSED_RG"/>
+ <enum value="0x8227" name="GL_RG"/>
+ <enum value="0x8227" name="GL_RG_EXT"/>
+ <enum value="0x8228" name="GL_RG_INTEGER"/>
+ <enum value="0x8229" name="GL_R8"/>
+ <enum value="0x8229" name="GL_R8_EXT"/>
+ <enum value="0x822A" name="GL_R16"/>
+ <enum value="0x822B" name="GL_RG8"/>
+ <enum value="0x822B" name="GL_RG8_EXT"/>
+ <enum value="0x822C" name="GL_RG16"/>
+ <enum value="0x822D" name="GL_R16F"/>
+ <enum value="0x822D" name="GL_R16F_EXT"/>
+ <enum value="0x822E" name="GL_R32F"/>
+ <enum value="0x822E" name="GL_R32F_EXT"/>
+ <enum value="0x822F" name="GL_RG16F"/>
+ <enum value="0x822F" name="GL_RG16F_EXT"/>
+ <enum value="0x8230" name="GL_RG32F"/>
+ <enum value="0x8230" name="GL_RG32F_EXT"/>
+ <enum value="0x8231" name="GL_R8I"/>
+ <enum value="0x8232" name="GL_R8UI"/>
+ <enum value="0x8233" name="GL_R16I"/>
+ <enum value="0x8234" name="GL_R16UI"/>
+ <enum value="0x8235" name="GL_R32I"/>
+ <enum value="0x8236" name="GL_R32UI"/>
+ <enum value="0x8237" name="GL_RG8I"/>
+ <enum value="0x8238" name="GL_RG8UI"/>
+ <enum value="0x8239" name="GL_RG16I"/>
+ <enum value="0x823A" name="GL_RG16UI"/>
+ <enum value="0x823B" name="GL_RG32I"/>
+ <enum value="0x823C" name="GL_RG32UI"/>
+ <unused start="0x823D" end="0x823F" vendor="ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8240" end="0x82AF" vendor="ARB" comment="Range released by MS on 2002/9/16">
+ <enum value="0x8240" name="GL_SYNC_CL_EVENT_ARB"/>
+ <enum value="0x8241" name="GL_SYNC_CL_EVENT_COMPLETE_ARB"/>
+ <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
+ <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"/>
+ <enum value="0x8242" name="GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR"/>
+ <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
+ <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"/>
+ <enum value="0x8243" name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR"/>
+ <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION"/>
+ <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION_ARB"/>
+ <enum value="0x8244" name="GL_DEBUG_CALLBACK_FUNCTION_KHR"/>
+ <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM"/>
+ <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM_ARB"/>
+ <enum value="0x8245" name="GL_DEBUG_CALLBACK_USER_PARAM_KHR"/>
+ <enum value="0x8246" name="GL_DEBUG_SOURCE_API"/>
+ <enum value="0x8246" name="GL_DEBUG_SOURCE_API_ARB"/>
+ <enum value="0x8246" name="GL_DEBUG_SOURCE_API_KHR"/>
+ <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM"/>
+ <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"/>
+ <enum value="0x8247" name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR"/>
+ <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER"/>
+ <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"/>
+ <enum value="0x8248" name="GL_DEBUG_SOURCE_SHADER_COMPILER_KHR"/>
+ <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY"/>
+ <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY_ARB"/>
+ <enum value="0x8249" name="GL_DEBUG_SOURCE_THIRD_PARTY_KHR"/>
+ <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION"/>
+ <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION_ARB"/>
+ <enum value="0x824A" name="GL_DEBUG_SOURCE_APPLICATION_KHR"/>
+ <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER"/>
+ <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER_ARB"/>
+ <enum value="0x824B" name="GL_DEBUG_SOURCE_OTHER_KHR"/>
+ <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR"/>
+ <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR_ARB"/>
+ <enum value="0x824C" name="GL_DEBUG_TYPE_ERROR_KHR"/>
+ <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"/>
+ <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"/>
+ <enum value="0x824D" name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR"/>
+ <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"/>
+ <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"/>
+ <enum value="0x824E" name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR"/>
+ <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY"/>
+ <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY_ARB"/>
+ <enum value="0x824F" name="GL_DEBUG_TYPE_PORTABILITY_KHR"/>
+ <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE"/>
+ <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE_ARB"/>
+ <enum value="0x8250" name="GL_DEBUG_TYPE_PERFORMANCE_KHR"/>
+ <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER"/>
+ <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER_ARB"/>
+ <enum value="0x8251" name="GL_DEBUG_TYPE_OTHER_KHR"/>
+ <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET_ARB"/>
+ <enum value="0x8252" name="GL_LOSE_CONTEXT_ON_RESET_EXT"/>
+ <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET_ARB"/>
+ <enum value="0x8253" name="GL_GUILTY_CONTEXT_RESET_EXT"/>
+ <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET_ARB"/>
+ <enum value="0x8254" name="GL_INNOCENT_CONTEXT_RESET_EXT"/>
+ <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET_ARB"/>
+ <enum value="0x8255" name="GL_UNKNOWN_CONTEXT_RESET_EXT"/>
+ <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY_ARB"/>
+ <enum value="0x8256" name="GL_RESET_NOTIFICATION_STRATEGY_EXT"/>
+ <enum value="0x8257" name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+ <enum value="0x8258" name="GL_PROGRAM_SEPARABLE"/>
+ <enum value="0x8258" name="GL_PROGRAM_SEPARABLE_EXT"/>
+ <enum value="0x8259" name="GL_ACTIVE_PROGRAM"/>
+ <enum value="0x8259" api="gles2" name="GL_ACTIVE_PROGRAM_EXT" comment="For the OpenGL ES version of EXT_separate_shader_objects"/>
+ <enum value="0x825A" name="GL_PROGRAM_PIPELINE_BINDING"/>
+ <enum value="0x825A" name="GL_PROGRAM_PIPELINE_BINDING_EXT"/>
+ <enum value="0x825B" name="GL_MAX_VIEWPORTS"/>
+ <enum value="0x825C" name="GL_VIEWPORT_SUBPIXEL_BITS"/>
+ <enum value="0x825D" name="GL_VIEWPORT_BOUNDS_RANGE"/>
+ <enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX"/>
+ <enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX_EXT"/>
+ <enum value="0x825F" name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
+ <enum value="0x8260" name="GL_UNDEFINED_VERTEX"/>
+ <enum value="0x8260" name="GL_UNDEFINED_VERTEX_EXT"/>
+ <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_ARB"/>
+ <enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_EXT"/>
+ <enum value="0x8262" name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+ <enum value="0x8263" name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum value="0x8264" name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x8265" name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+ <enum value="0x8266" name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum value="0x8267" name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum value="0x8268" name="GL_DEBUG_TYPE_MARKER"/>
+ <enum value="0x8268" name="GL_DEBUG_TYPE_MARKER_KHR"/>
+ <enum value="0x8269" name="GL_DEBUG_TYPE_PUSH_GROUP"/>
+ <enum value="0x8269" name="GL_DEBUG_TYPE_PUSH_GROUP_KHR"/>
+ <enum value="0x826A" name="GL_DEBUG_TYPE_POP_GROUP"/>
+ <enum value="0x826A" name="GL_DEBUG_TYPE_POP_GROUP_KHR"/>
+ <enum value="0x826B" name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
+ <enum value="0x826B" name="GL_DEBUG_SEVERITY_NOTIFICATION_KHR"/>
+ <enum value="0x826C" name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
+ <enum value="0x826C" name="GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+ <enum value="0x826D" name="GL_DEBUG_GROUP_STACK_DEPTH"/>
+ <enum value="0x826D" name="GL_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+ <enum value="0x826E" name="GL_MAX_UNIFORM_LOCATIONS"/>
+ <enum value="0x826F" name="GL_INTERNALFORMAT_SUPPORTED"/>
+ <enum value="0x8270" name="GL_INTERNALFORMAT_PREFERRED"/>
+ <enum value="0x8271" name="GL_INTERNALFORMAT_RED_SIZE"/>
+ <enum value="0x8272" name="GL_INTERNALFORMAT_GREEN_SIZE"/>
+ <enum value="0x8273" name="GL_INTERNALFORMAT_BLUE_SIZE"/>
+ <enum value="0x8274" name="GL_INTERNALFORMAT_ALPHA_SIZE"/>
+ <enum value="0x8275" name="GL_INTERNALFORMAT_DEPTH_SIZE"/>
+ <enum value="0x8276" name="GL_INTERNALFORMAT_STENCIL_SIZE"/>
+ <enum value="0x8277" name="GL_INTERNALFORMAT_SHARED_SIZE"/>
+ <enum value="0x8278" name="GL_INTERNALFORMAT_RED_TYPE"/>
+ <enum value="0x8279" name="GL_INTERNALFORMAT_GREEN_TYPE"/>
+ <enum value="0x827A" name="GL_INTERNALFORMAT_BLUE_TYPE"/>
+ <enum value="0x827B" name="GL_INTERNALFORMAT_ALPHA_TYPE"/>
+ <enum value="0x827C" name="GL_INTERNALFORMAT_DEPTH_TYPE"/>
+ <enum value="0x827D" name="GL_INTERNALFORMAT_STENCIL_TYPE"/>
+ <enum value="0x827E" name="GL_MAX_WIDTH"/>
+ <enum value="0x827F" name="GL_MAX_HEIGHT"/>
+ <enum value="0x8280" name="GL_MAX_DEPTH"/>
+ <enum value="0x8281" name="GL_MAX_LAYERS"/>
+ <enum value="0x8282" name="GL_MAX_COMBINED_DIMENSIONS"/>
+ <enum value="0x8283" name="GL_COLOR_COMPONENTS"/>
+ <enum value="0x8284" name="GL_DEPTH_COMPONENTS"/>
+ <enum value="0x8285" name="GL_STENCIL_COMPONENTS"/>
+ <enum value="0x8286" name="GL_COLOR_RENDERABLE"/>
+ <enum value="0x8287" name="GL_DEPTH_RENDERABLE"/>
+ <enum value="0x8288" name="GL_STENCIL_RENDERABLE"/>
+ <enum value="0x8289" name="GL_FRAMEBUFFER_RENDERABLE"/>
+ <enum value="0x828A" name="GL_FRAMEBUFFER_RENDERABLE_LAYERED"/>
+ <enum value="0x828B" name="GL_FRAMEBUFFER_BLEND"/>
+ <enum value="0x828C" name="GL_READ_PIXELS"/>
+ <enum value="0x828D" name="GL_READ_PIXELS_FORMAT"/>
+ <enum value="0x828E" name="GL_READ_PIXELS_TYPE"/>
+ <enum value="0x828F" name="GL_TEXTURE_IMAGE_FORMAT"/>
+ <enum value="0x8290" name="GL_TEXTURE_IMAGE_TYPE"/>
+ <enum value="0x8291" name="GL_GET_TEXTURE_IMAGE_FORMAT"/>
+ <enum value="0x8292" name="GL_GET_TEXTURE_IMAGE_TYPE"/>
+ <enum value="0x8293" name="GL_MIPMAP"/>
+ <enum value="0x8294" name="GL_MANUAL_GENERATE_MIPMAP"/>
+ <enum value="0x8295" name="GL_AUTO_GENERATE_MIPMAP" comment="Should be deprecated"/>
+ <enum value="0x8296" name="GL_COLOR_ENCODING"/>
+ <enum value="0x8297" name="GL_SRGB_READ"/>
+ <enum value="0x8298" name="GL_SRGB_WRITE"/>
+ <enum value="0x8299" name="GL_SRGB_DECODE_ARB"/>
+ <enum value="0x829A" name="GL_FILTER"/>
+ <enum value="0x829B" name="GL_VERTEX_TEXTURE"/>
+ <enum value="0x829C" name="GL_TESS_CONTROL_TEXTURE"/>
+ <enum value="0x829D" name="GL_TESS_EVALUATION_TEXTURE"/>
+ <enum value="0x829E" name="GL_GEOMETRY_TEXTURE"/>
+ <enum value="0x829F" name="GL_FRAGMENT_TEXTURE"/>
+ <enum value="0x82A0" name="GL_COMPUTE_TEXTURE"/>
+ <enum value="0x82A1" name="GL_TEXTURE_SHADOW"/>
+ <enum value="0x82A2" name="GL_TEXTURE_GATHER"/>
+ <enum value="0x82A3" name="GL_TEXTURE_GATHER_SHADOW"/>
+ <enum value="0x82A4" name="GL_SHADER_IMAGE_LOAD"/>
+ <enum value="0x82A5" name="GL_SHADER_IMAGE_STORE"/>
+ <enum value="0x82A6" name="GL_SHADER_IMAGE_ATOMIC"/>
+ <enum value="0x82A7" name="GL_IMAGE_TEXEL_SIZE"/>
+ <enum value="0x82A8" name="GL_IMAGE_COMPATIBILITY_CLASS"/>
+ <enum value="0x82A9" name="GL_IMAGE_PIXEL_FORMAT"/>
+ <enum value="0x82AA" name="GL_IMAGE_PIXEL_TYPE"/>
+ <unused start="0x82AB" vendor="ARB"/>
+ <enum value="0x82AC" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST"/>
+ <enum value="0x82AD" name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST"/>
+ <enum value="0x82AE" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE"/>
+ <enum value="0x82AF" name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE"/>
+ </enums>
+
+ <enums namespace="GL" start="0x82B0" end="0x830F" vendor="ARB" comment="Range reclaimed from ADD on 2012/05/10">
+ <unused start="0x82B0" vendor="ARB"/>
+ <enum value="0x82B1" name="GL_TEXTURE_COMPRESSED_BLOCK_WIDTH"/>
+ <enum value="0x82B2" name="GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum value="0x82B3" name="GL_TEXTURE_COMPRESSED_BLOCK_SIZE"/>
+ <enum value="0x82B4" name="GL_CLEAR_BUFFER"/>
+ <enum value="0x82B5" name="GL_TEXTURE_VIEW"/>
+ <enum value="0x82B6" name="GL_VIEW_COMPATIBILITY_CLASS"/>
+ <enum value="0x82B7" name="GL_FULL_SUPPORT"/>
+ <enum value="0x82B8" name="GL_CAVEAT_SUPPORT"/>
+ <enum value="0x82B9" name="GL_IMAGE_CLASS_4_X_32"/>
+ <enum value="0x82BA" name="GL_IMAGE_CLASS_2_X_32"/>
+ <enum value="0x82BB" name="GL_IMAGE_CLASS_1_X_32"/>
+ <enum value="0x82BC" name="GL_IMAGE_CLASS_4_X_16"/>
+ <enum value="0x82BD" name="GL_IMAGE_CLASS_2_X_16"/>
+ <enum value="0x82BE" name="GL_IMAGE_CLASS_1_X_16"/>
+ <enum value="0x82BF" name="GL_IMAGE_CLASS_4_X_8"/>
+ <enum value="0x82C0" name="GL_IMAGE_CLASS_2_X_8"/>
+ <enum value="0x82C1" name="GL_IMAGE_CLASS_1_X_8"/>
+ <enum value="0x82C2" name="GL_IMAGE_CLASS_11_11_10"/>
+ <enum value="0x82C3" name="GL_IMAGE_CLASS_10_10_10_2"/>
+ <enum value="0x82C4" name="GL_VIEW_CLASS_128_BITS"/>
+ <enum value="0x82C5" name="GL_VIEW_CLASS_96_BITS"/>
+ <enum value="0x82C6" name="GL_VIEW_CLASS_64_BITS"/>
+ <enum value="0x82C7" name="GL_VIEW_CLASS_48_BITS"/>
+ <enum value="0x82C8" name="GL_VIEW_CLASS_32_BITS"/>
+ <enum value="0x82C9" name="GL_VIEW_CLASS_24_BITS"/>
+ <enum value="0x82CA" name="GL_VIEW_CLASS_16_BITS"/>
+ <enum value="0x82CB" name="GL_VIEW_CLASS_8_BITS"/>
+ <enum value="0x82CC" name="GL_VIEW_CLASS_S3TC_DXT1_RGB"/>
+ <enum value="0x82CD" name="GL_VIEW_CLASS_S3TC_DXT1_RGBA"/>
+ <enum value="0x82CE" name="GL_VIEW_CLASS_S3TC_DXT3_RGBA"/>
+ <enum value="0x82CF" name="GL_VIEW_CLASS_S3TC_DXT5_RGBA"/>
+ <enum value="0x82D0" name="GL_VIEW_CLASS_RGTC1_RED"/>
+ <enum value="0x82D1" name="GL_VIEW_CLASS_RGTC2_RG"/>
+ <enum value="0x82D2" name="GL_VIEW_CLASS_BPTC_UNORM"/>
+ <enum value="0x82D3" name="GL_VIEW_CLASS_BPTC_FLOAT"/>
+ <enum value="0x82D4" name="GL_VERTEX_ATTRIB_BINDING"/>
+ <enum value="0x82D5" name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum value="0x82D6" name="GL_VERTEX_BINDING_DIVISOR"/>
+ <enum value="0x82D7" name="GL_VERTEX_BINDING_OFFSET"/>
+ <enum value="0x82D8" name="GL_VERTEX_BINDING_STRIDE"/>
+ <enum value="0x82D9" name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum value="0x82DA" name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+ <enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
+ <enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL_EXT"/>
+ <enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
+ <enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS_EXT"/>
+ <enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER"/>
+ <enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER_EXT"/>
+ <enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
+ <enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS_EXT"/>
+ <enum value="0x82DF" name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+ <enum value="0x82E0" name="GL_BUFFER"/>
+ <enum value="0x82E0" name="GL_BUFFER_KHR"/>
+ <enum value="0x82E1" name="GL_SHADER"/>
+ <enum value="0x82E1" name="GL_SHADER_KHR"/>
+ <enum value="0x82E2" name="GL_PROGRAM"/>
+ <enum value="0x82E2" name="GL_PROGRAM_KHR"/>
+ <enum value="0x82E3" name="GL_QUERY"/>
+ <enum value="0x82E3" name="GL_QUERY_KHR"/>
+ <enum value="0x82E4" name="GL_PROGRAM_PIPELINE"/>
+ <enum value="0x82E5" name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
+ <enum value="0x82E6" name="GL_SAMPLER"/>
+ <enum value="0x82E6" name="GL_SAMPLER_KHR"/>
+ <enum value="0x82E7" name="GL_DISPLAY_LIST"/>
+ <enum value="0x82E8" name="GL_MAX_LABEL_LENGTH"/>
+ <enum value="0x82E8" name="GL_MAX_LABEL_LENGTH_KHR"/>
+ <enum value="0x82E9" name="GL_NUM_SHADING_LANGUAGE_VERSIONS"/>
+ <!-- 0x82EA - 0x82FC reserved for future GL features -->
+ <unused start="0x82FD" end="0x830F" vendor="ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8310" end="0x832F" vendor="SGI">
+ <enum value="0x8310" name="GL_DEPTH_PASS_INSTRUMENT_SGIX"/>
+ <enum value="0x8311" name="GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX"/>
+ <enum value="0x8312" name="GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX"/>
+ <enum value="0x8313" name="GL_FRAGMENTS_INSTRUMENT_SGIX"/>
+ <enum value="0x8314" name="GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX"/>
+ <enum value="0x8315" name="GL_FRAGMENTS_INSTRUMENT_MAX_SGIX"/>
+ <enum value="0x8316" name="GL_CONVOLUTION_HINT_SGIX"/>
+ <unused start="0x8317" comment="Incomplete extension SGIX_color_matrix_accuracy"/>
+ <!-- <enum value="0x8317" name="GL_COLOR_MATRIX_HINT"/> -->
+ <enum value="0x8318" name="GL_YCRCB_SGIX"/>
+ <enum value="0x8319" name="GL_YCRCBA_SGIX"/>
+ <enum value="0x831A" name="GL_UNPACK_COMPRESSED_SIZE_SGIX"/>
+ <enum value="0x831B" name="GL_PACK_MAX_COMPRESSED_SIZE_SGIX"/>
+ <enum value="0x831C" name="GL_PACK_COMPRESSED_SIZE_SGIX"/>
+ <enum value="0x831D" name="GL_SLIM8U_SGIX"/>
+ <enum value="0x831E" name="GL_SLIM10U_SGIX"/>
+ <enum value="0x831F" name="GL_SLIM12S_SGIX"/>
+ <enum value="0x8320" name="GL_ALPHA_MIN_SGIX"/>
+ <enum value="0x8321" name="GL_ALPHA_MAX_SGIX"/>
+ <enum value="0x8322" name="GL_SCALEBIAS_HINT_SGIX"/>
+ <unused start="0x8323" end="0x8328" comment="Incomplete extension SGIX_fog_layers"/>
+ <!-- <enum value="0x8323" name="GL_FOG_TYPE_SGIX"/> -->
+ <!-- <enum value="0x8324" name="GL_UNIFORM_SGIX"/> -->
+ <!-- <enum value="0x8325" name="GL_LAYERED_SGIX"/> -->
+ <!-- <enum value="0x8326" name="GL_FOG_GROUND_PLANE_SGIX"/> -->
+ <!-- <enum value="0x8327" name="GL_FOG_LAYERS_POINTS_SGIX"/> -->
+ <!-- <enum value="0x8328" name="GL_MAX_FOG_LAYERS_POINTS_SGIX"/> -->
+ <enum value="0x8329" name="GL_ASYNC_MARKER_SGIX"/>
+ <unused start="0x832A" comment="Incomplete extension SGIX_texture_phase"/>
+ <!-- <enum value="0x832A" name="GL_PHASE_SGIX"/> -->
+ <enum value="0x832B" name="GL_PIXEL_TEX_GEN_MODE_SGIX"/>
+ <enum value="0x832C" name="GL_ASYNC_HISTOGRAM_SGIX"/>
+ <enum value="0x832D" name="GL_MAX_ASYNC_HISTOGRAM_SGIX"/>
+ <unused start="0x832E" end="0x832F" comment="Incomplete extension SGIX_texture_mipmap_anisotropic"/>
+ <!-- <enum value="0x832E" name="GL_TEXTURE_MIPMAP_ANISOTROPY_SGIX"/> -->
+ <!-- <enum value="0x832F" name="GL_MAX_MIPMAP_ANISOTROPY_SGIX"/> -->
+ </enums>
+
+ <enums namespace="GL" start="0x8330" end="0x833F" vendor="SUN">
+ <enum value="0x8330" name="GL_PIXEL_TRANSFORM_2D_EXT"/>
+ <enum value="0x8331" name="GL_PIXEL_MAG_FILTER_EXT"/>
+ <enum value="0x8332" name="GL_PIXEL_MIN_FILTER_EXT"/>
+ <enum value="0x8333" name="GL_PIXEL_CUBIC_WEIGHT_EXT"/>
+ <enum value="0x8334" name="GL_CUBIC_EXT"/>
+ <enum value="0x8335" name="GL_AVERAGE_EXT"/>
+ <enum value="0x8336" name="GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
+ <enum value="0x8337" name="GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
+ <enum value="0x8338" name="GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"/>
+ <unused start="0x8339" end="0x833F" vendor="SUN"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8340" end="0x836F" vendor="SGI">
+ <unused start="0x8340" end="0x8348" comment="Incomplete extension SGIX_cube_map"/>
+ <!-- <enum value="0x8340" name="GL_ENV_MAP_SGIX"/> -->
+ <!-- <enum value="0x8341" name="GL_CUBE_MAP_SGIX"/> -->
+ <!-- <enum value="0x8342" name="GL_CUBE_MAP_ZP_SGIX"/> -->
+ <!-- <enum value="0x8343" name="GL_CUBE_MAP_ZN_SGIX"/> -->
+ <!-- <enum value="0x8344" name="GL_CUBE_MAP_XN_SGIX"/> -->
+ <!-- <enum value="0x8345" name="GL_CUBE_MAP_XP_SGIX"/> -->
+ <!-- <enum value="0x8346" name="GL_CUBE_MAP_YN_SGIX"/> -->
+ <!-- <enum value="0x8347" name="GL_CUBE_MAP_YP_SGIX"/> -->
+ <!-- <enum value="0x8348" name="GL_CUBE_MAP_BINDING_SGIX"/> -->
+ <enum value="0x8349" name="GL_FRAGMENT_MATERIAL_EXT"/>
+ <enum value="0x834A" name="GL_FRAGMENT_NORMAL_EXT"/>
+ <!-- Unfortunately, there was a collision promoting to EXT
+ from SGIX. Use fog_coord's value of 0x8452 instead of
+ the old assigned FRAGMENT_DEPTH_EXT (0x834B). -->
+ <enum value="0x834C" name="GL_FRAGMENT_COLOR_EXT"/>
+ <enum value="0x834D" name="GL_ATTENUATION_EXT"/>
+ <enum value="0x834E" name="GL_SHADOW_ATTENUATION_EXT"/>
+ <enum value="0x834F" name="GL_TEXTURE_APPLICATION_MODE_EXT"/>
+ <enum value="0x8350" name="GL_TEXTURE_LIGHT_EXT"/>
+ <enum value="0x8351" name="GL_TEXTURE_MATERIAL_FACE_EXT"/>
+ <enum value="0x8352" name="GL_TEXTURE_MATERIAL_PARAMETER_EXT"/>
+ <enum value="0x8353" name="GL_PIXEL_TEXTURE_SGIS"/>
+ <enum value="0x8354" name="GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"/>
+ <enum value="0x8355" name="GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"/>
+ <enum value="0x8356" name="GL_PIXEL_GROUP_COLOR_SGIS"/>
+ <unused start="0x8357" end="0x8359" comment="Incomplete extension SGIX_pixel_texture_bits"/>
+ <!-- <enum value="0x8357" name="GL_COLOR_TO_TEXTURE_COORD_SGIX"/> -->
+ <!-- <enum value="0x8358" name="GL_COLOR_BIT_PATTERN_SGIX"/> -->
+ <!-- <enum value="0x8359" name="GL_COLOR_VALUE_SGIX"/> -->
+ <unused start="0x835A" comment="Incomplete extension SGIX_pixel_texture_lod"/>
+ <!-- <enum value="0x835A" name="GL_PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX"/> -->
+ <enum value="0x835B" name="GL_LINE_QUALITY_HINT_SGIX"/>
+ <enum value="0x835C" name="GL_ASYNC_TEX_IMAGE_SGIX"/>
+ <enum value="0x835D" name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
+ <enum value="0x835E" name="GL_ASYNC_READ_PIXELS_SGIX"/>
+ <enum value="0x835F" name="GL_MAX_ASYNC_TEX_IMAGE_SGIX"/>
+ <enum value="0x8360" name="GL_MAX_ASYNC_DRAW_PIXELS_SGIX"/>
+ <enum value="0x8361" name="GL_MAX_ASYNC_READ_PIXELS_SGIX"/>
+ <enum value="0x8362" name="GL_UNSIGNED_BYTE_2_3_3_REV"/>
+ <enum value="0x8362" name="GL_UNSIGNED_BYTE_2_3_3_REV_EXT"/>
+ <enum value="0x8363" name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <enum value="0x8363" name="GL_UNSIGNED_SHORT_5_6_5_EXT"/>
+ <enum value="0x8364" name="GL_UNSIGNED_SHORT_5_6_5_REV"/>
+ <enum value="0x8364" name="GL_UNSIGNED_SHORT_5_6_5_REV_EXT"/>
+ <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV"/>
+ <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/>
+ <enum value="0x8365" name="GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG"/>
+ <enum value="0x8366" name="GL_UNSIGNED_SHORT_1_5_5_5_REV"/>
+ <enum value="0x8366" name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
+ <enum value="0x8367" name="GL_UNSIGNED_INT_8_8_8_8_REV"/>
+ <enum value="0x8367" name="GL_UNSIGNED_INT_8_8_8_8_REV_EXT"/>
+ <enum value="0x8368" name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+ <enum value="0x8368" name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT"/>
+ <enum value="0x8369" name="GL_TEXTURE_MAX_CLAMP_S_SGIX"/>
+ <enum value="0x836A" name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
+ <enum value="0x836B" name="GL_TEXTURE_MAX_CLAMP_R_SGIX"/>
+ <unused start="0x836C" end="0x836E" comment="Incomplete extension SGIX_fog_texture"/>
+ <!-- <enum value="0x836C" name="GL_FRAGMENT_FOG_SGIX"/> -->
+ <!-- <enum value="0x836D" name="GL_TEXTURE_FOG_SGIX"/> -->
+ <!-- <enum value="0x836E" name="GL_FOG_PATCHY_FACTOR_SGIX"/> -->
+ <unused start="0x836F" comment="Incomplete extension SGIX_fog_factor_to_alpha"/>
+ <!-- <enum value="0x836F" name="GL_FOG_FACTOR_TO_ALPHA_SGIX"/> -->
+ </enums>
+
+ <enums namespace="GL" start="0x8370" end="0x837F" vendor="HP">
+ <!-- NOTE: IBM is using values in this range, because of a
+ bobble when an employee left DEC for IBM at the same
+ time as they were assigned the range. their registry
+ became inconsistent. It's unknown whether HP has any
+ conflicts. They have never reported using any values in
+ this range. Lesson: assigned ranges belong to vendors,
+ not engineers! -->
+ <enum value="0x8370" name="GL_MIRRORED_REPEAT"/>
+ <enum value="0x8370" name="GL_MIRRORED_REPEAT_ARB"/>
+ <enum value="0x8370" name="GL_MIRRORED_REPEAT_IBM"/>
+ <enum value="0x8370" name="GL_MIRRORED_REPEAT_OES"/>
+ <unused start="0x8371" end="0x837F" vendor="HP"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8380" end="0x839F" vendor="IBM">
+ <unused start="0x8380" end="0x839F" vendor="IBM"/>
+ </enums>
+
+ <enums namespace="GL" start="0x83A0" end="0x83BF" vendor="S3">
+ <enum value="0x83A0" name="GL_RGB_S3TC"/>
+ <enum value="0x83A1" name="GL_RGB4_S3TC"/>
+ <enum value="0x83A2" name="GL_RGBA_S3TC"/>
+ <enum value="0x83A3" name="GL_RGBA4_S3TC"/>
+ <enum value="0x83A4" name="GL_RGBA_DXT5_S3TC"/>
+ <enum value="0x83A5" name="GL_RGBA4_DXT5_S3TC"/>
+ <unused start="0x83A6" end="0x83BF" vendor="S3"/>
+ </enums>
+
+ <enums namespace="GL" start="0x83C0" end="0x83EF" vendor="SGI" comment="Most of this could be reclaimed">
+ <unused start="0x83C0" end="0x83CA" comment="Withdrawn extension SGIS_multitexture"/>
+ <!-- <enum value="0x83C0" name="GL_SELECTED_TEXTURE_SGIS"/> -->
+ <!-- <enum value="0x83C1" name="GL_SELECTED_TEXTURE_COORD_SET_SGIS"/> -->
+ <!-- <enum value="0x83C2" name="GL_SELECTED_TEXTURE_TRANSFORM_SGIS"/> -->
+ <!-- <enum value="0x83C3" name="GL_MAX_TEXTURES_SGIS"/> -->
+ <!-- <enum value="0x83C4" name="GL_MAX_TEXTURE_COORD_SETS_SGIS"/> -->
+ <!-- <enum value="0x83C5" name="GL_TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS"/> -->
+ <!-- <enum value="0x83C6" name="GL_TEXTURE_ENV_COORD_SET_SGIS"/> -->
+ <!-- <enum value="0x83C7" name="GL_TEXTURE0_SGIS"/> -->
+ <!-- <enum value="0x83C8" name="GL_TEXTURE1_SGIS"/> -->
+ <!-- <enum value="0x83C9" name="GL_TEXTURE2_SGIS"/> -->
+ <!-- <enum value="0x83CA" name="GL_TEXTURE3_SGIS"/> -->
+ <unused start="0x83CB" end="0x83E5" vendor="SGI"/>
+ <unused start="0x83E6" end="0x83E9" comment="Incomplete extension SGIX_bali_g_instruments"/>
+ <!-- <enum value="0x83E6" name="GL_BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX"/> -->
+ <!-- <enum value="0x83E7" name="GL_BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX"/> -->
+ <!-- <enum value="0x83E8" name="GL_BALI_NUM_PRIMS_REJECT_INSTRUMENT_SGIX"/> -->
+ <!-- <enum value="0x83E9" name="GL_BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT_SGIX"/> -->
+ <unused start="0x83EA" end="0x83EC" comment="Incomplete extension SGIX_bali_r_instruments"/>
+ <!-- <enum value="0x83EA" name="GL_BALI_FRAGMENTS_GENERATED_INSTRUMENT_SGIX"/> -->
+ <!-- <enum value="0x83EB" name="GL_BALI_DEPTH_PASS_INSTRUMENT_SGIX"/> -->
+ <!-- <enum value="0x83EC" name="GL_BALI_R_CHIP_COUNT_SGIX"/> -->
+ <unused start="0x83ED" comment="Incomplete extension SGIX_occlusion_instrument"/>
+ <!-- <enum value="0x83ED" name="GL_OCCLUSION_INSTRUMENT_SGIX"/> -->
+ <enum value="0x83EE" name="GL_VERTEX_PRECLIP_SGIX"/>
+ <enum value="0x83EF" name="GL_VERTEX_PRECLIP_HINT_SGIX"/>
+ </enums>
+
+ <enums namespace="GL" start="0x83F0" end="0x83FF" vendor="INTEL">
+ <!-- This block was reclaimed from NTP, who never shipped
+ it, and reassigned to Intel. -->
+ <enum value="0x83F0" name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
+ <enum value="0x83F1" name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"/>
+ <enum value="0x83F2" name="GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE"/>
+ <enum value="0x83F2" name="GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"/>
+ <enum value="0x83F3" name="GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE"/>
+ <enum value="0x83F3" name="GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"/>
+ <enum value="0x83F4" name="GL_PARALLEL_ARRAYS_INTEL"/>
+ <enum value="0x83F5" name="GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <enum value="0x83F6" name="GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <enum value="0x83F7" name="GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <enum value="0x83F8" name="GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <enum value="0x83F9" name="GL_PERFQUERY_DONOT_FLUSH_INTEL"/>
+ <enum value="0x83FA" name="GL_PERFQUERY_FLUSH_INTEL"/>
+ <enum value="0x83FB" name="GL_PERFQUERY_WAIT_INTEL"/>
+ <unused start="0x83FC" end="0x83FE" vendor="INTEL"/>
+ <enum value="0x83FF" name="GL_TEXTURE_MEMORY_LAYOUT_INTEL"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8400" end="0x846F" vendor="SGI">
+ <enum value="0x8400" name="GL_FRAGMENT_LIGHTING_SGIX"/>
+ <enum value="0x8401" name="GL_FRAGMENT_COLOR_MATERIAL_SGIX"/>
+ <enum value="0x8402" name="GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX"/>
+ <enum value="0x8403" name="GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX"/>
+ <enum value="0x8404" name="GL_MAX_FRAGMENT_LIGHTS_SGIX"/>
+ <enum value="0x8405" name="GL_MAX_ACTIVE_LIGHTS_SGIX"/>
+ <enum value="0x8406" name="GL_CURRENT_RASTER_NORMAL_SGIX"/>
+ <enum value="0x8407" name="GL_LIGHT_ENV_MODE_SGIX"/>
+ <enum value="0x8408" name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"/>
+ <enum value="0x8409" name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"/>
+ <enum value="0x840A" name="GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"/>
+ <enum value="0x840B" name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"/>
+ <enum value="0x840C" name="GL_FRAGMENT_LIGHT0_SGIX"/>
+ <enum value="0x840D" name="GL_FRAGMENT_LIGHT1_SGIX"/>
+ <enum value="0x840E" name="GL_FRAGMENT_LIGHT2_SGIX"/>
+ <enum value="0x840F" name="GL_FRAGMENT_LIGHT3_SGIX"/>
+ <enum value="0x8410" name="GL_FRAGMENT_LIGHT4_SGIX"/>
+ <enum value="0x8411" name="GL_FRAGMENT_LIGHT5_SGIX"/>
+ <enum value="0x8412" name="GL_FRAGMENT_LIGHT6_SGIX"/>
+ <enum value="0x8413" name="GL_FRAGMENT_LIGHT7_SGIX"/>
+ <unused start="0x8414" end="0x842B" vendor="SGI"/>
+ <enum value="0x842C" name="GL_PACK_RESAMPLE_SGIX"/>
+ <enum value="0x842D" name="GL_UNPACK_RESAMPLE_SGIX"/>
+ <enum value="0x842E" name="GL_RESAMPLE_REPLICATE_SGIX"/>
+ <enum value="0x842F" name="GL_RESAMPLE_ZERO_FILL_SGIX"/>
+ <enum value="0x8430" name="GL_RESAMPLE_DECIMATE_SGIX"/>
+ <unused start="0x8431" end="0x8435" vendor="SGI"/>
+ <!-- Incomplete extension SGIX_fragment_lighting -->
+ <!-- <enum value="0x8436" name="GL_EYE_SPACE_SGIX"/> -->
+ <!-- <enum value="0x8437" name="GL_TANGENT_SPACE_SGIX"/> -->
+ <!-- <enum value="0x8438" name="GL_OBJECT_SPACE_SGIX"/> -->
+ <!-- <enum value="0x8439" name="GL_TANGENT_ARRAY_SGIX"/> -->
+ <!-- <enum value="0x843A" name="GL_BINORMAL_ARRAY_SGIX"/> -->
+ <!-- <enum value="0x843B" name="GL_CURRENT_TANGENT_SGIX"/> -->
+ <!-- <enum value="0x843C" name="GL_CURRENT_BINORMAL_SGIX"/> -->
+ <!-- <enum value="0x843D" name="GL_FRAGMENT_LIGHT_SPACE_SGIX"/> -->
+ <!-- <enum value="0x843E" name="GL_TANGENT_ARRAY_TYPE_SGIX"/> -->
+ <!-- <enum value="0x843F" name="GL_TANGENT_ARRAY_STRIDE_SGIX"/> -->
+ <!-- <enum value="0x8440" name="GL_TANGENT_ARRAY_COUNT_SGIX"/> -->
+ <!-- <enum value="0x8441" name="GL_BINORMAL_ARRAY_TYPE_SGIX"/> -->
+ <!-- <enum value="0x8442" name="GL_BINORMAL_ARRAY_STRIDE_SGIX"/> -->
+ <!-- <enum value="0x8443" name="GL_BINORMAL_ARRAY_COUNT_SGIX"/> -->
+ <!-- <enum value="0x8444" name="GL_TANGENT_ARRAY_POINTER_SGIX"/> -->
+ <!-- <enum value="0x8445" name="GL_BINORMAL_ARRAY_POINTER_SGIX"/> -->
+ <!-- <enum value="0x8446" name="GL_MAP1_TANGENT_SGIX"/> -->
+ <!-- <enum value="0x8447" name="GL_MAP2_TANGENT_SGIX"/> -->
+ <!-- <enum value="0x8448" name="GL_MAP1_BINORMAL_SGIX"/> -->
+ <!-- <enum value="0x8449" name="GL_MAP2_BINORMAL_SGIX"/> -->
+ <enum value="0x8439" name="GL_TANGENT_ARRAY_EXT"/>
+ <enum value="0x843A" name="GL_BINORMAL_ARRAY_EXT"/>
+ <enum value="0x843B" name="GL_CURRENT_TANGENT_EXT"/>
+ <enum value="0x843C" name="GL_CURRENT_BINORMAL_EXT"/>
+ <unused start="0x844D" vendor="SGI"/>
+ <enum value="0x843E" name="GL_TANGENT_ARRAY_TYPE_EXT"/>
+ <enum value="0x843F" name="GL_TANGENT_ARRAY_STRIDE_EXT"/>
+ <enum value="0x8440" name="GL_BINORMAL_ARRAY_TYPE_EXT"/>
+ <enum value="0x8441" name="GL_BINORMAL_ARRAY_STRIDE_EXT"/>
+ <enum value="0x8442" name="GL_TANGENT_ARRAY_POINTER_EXT"/>
+ <enum value="0x8443" name="GL_BINORMAL_ARRAY_POINTER_EXT"/>
+ <enum value="0x8444" name="GL_MAP1_TANGENT_EXT"/>
+ <enum value="0x8445" name="GL_MAP2_TANGENT_EXT"/>
+ <enum value="0x8446" name="GL_MAP1_BINORMAL_EXT"/>
+ <enum value="0x8447" name="GL_MAP2_BINORMAL_EXT"/>
+ <unused start="0x8448" end="0x8449" comment="Incomplete extension SGIX_fragment_lighting"/>
+ <unused start="0x844A" end="0x844C" comment="Incomplete extension SGIX_bali_timer_instruments"/>
+ <!-- <enum value="0x844A" name="GL_BALI_GEOM_TIMER_INSTRUMENT_SGIX"/> -->
+ <!-- <enum value="0x844B" name="GL_BALI_RASTER_TIMER_INSTRUMENT_SGIX"/> -->
+ <!-- <enum value="0x844C" name="GL_BALI_INSTRUMENT_TIME_UNIT_SGIX"/> -->
+ <enum value="0x844D" name="GL_NEAREST_CLIPMAP_NEAREST_SGIX"/>
+ <enum value="0x844E" name="GL_NEAREST_CLIPMAP_LINEAR_SGIX"/>
+ <enum value="0x844F" name="GL_LINEAR_CLIPMAP_NEAREST_SGIX"/>
+ <!-- 0x8450-0x845F range brokered for Id Software -->
+ <enum value="0x8450" name="GL_FOG_COORDINATE_SOURCE"/>
+ <enum value="0x8450" name="GL_FOG_COORDINATE_SOURCE_EXT"/>
+ <enum value="0x8450" name="GL_FOG_COORD_SRC" alias="GL_FOG_COORDINATE_SOURCE"/>
+ <enum value="0x8451" name="GL_FOG_COORDINATE"/>
+ <enum value="0x8451" name="GL_FOG_COORD" alias="GL_FOG_COORDINATE"/>
+ <enum value="0x8451" name="GL_FOG_COORDINATE_EXT"/>
+ <enum value="0x8452" name="GL_FRAGMENT_DEPTH"/>
+ <enum value="0x8452" name="GL_FRAGMENT_DEPTH_EXT"/>
+ <enum value="0x8453" name="GL_CURRENT_FOG_COORDINATE"/>
+ <enum value="0x8453" name="GL_CURRENT_FOG_COORD" alias="GL_CURRENT_FOG_COORDINATE"/>
+ <enum value="0x8453" name="GL_CURRENT_FOG_COORDINATE_EXT"/>
+ <enum value="0x8454" name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+ <enum value="0x8454" name="GL_FOG_COORDINATE_ARRAY_TYPE_EXT"/>
+ <enum value="0x8454" name="GL_FOG_COORD_ARRAY_TYPE" alias="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+ <enum value="0x8455" name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+ <enum value="0x8455" name="GL_FOG_COORDINATE_ARRAY_STRIDE_EXT"/>
+ <enum value="0x8455" name="GL_FOG_COORD_ARRAY_STRIDE" alias="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+ <enum value="0x8456" name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+ <enum value="0x8456" name="GL_FOG_COORDINATE_ARRAY_POINTER_EXT"/>
+ <enum value="0x8456" name="GL_FOG_COORD_ARRAY_POINTER" alias="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+ <enum value="0x8457" name="GL_FOG_COORDINATE_ARRAY"/>
+ <enum value="0x8457" name="GL_FOG_COORDINATE_ARRAY_EXT"/>
+ <enum value="0x8457" name="GL_FOG_COORD_ARRAY" alias="GL_FOG_COORDINATE_ARRAY"/>
+ <enum value="0x8458" name="GL_COLOR_SUM"/>
+ <enum value="0x8458" name="GL_COLOR_SUM_ARB"/>
+ <enum value="0x8458" name="GL_COLOR_SUM_EXT"/>
+ <enum value="0x8459" name="GL_CURRENT_SECONDARY_COLOR"/>
+ <enum value="0x8459" name="GL_CURRENT_SECONDARY_COLOR_EXT"/>
+ <enum value="0x845A" name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
+ <enum value="0x845A" name="GL_SECONDARY_COLOR_ARRAY_SIZE_EXT"/>
+ <enum value="0x845B" name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
+ <enum value="0x845B" name="GL_SECONDARY_COLOR_ARRAY_TYPE_EXT"/>
+ <enum value="0x845C" name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
+ <enum value="0x845C" name="GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT"/>
+ <enum value="0x845D" name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
+ <enum value="0x845D" name="GL_SECONDARY_COLOR_ARRAY_POINTER_EXT"/>
+ <enum value="0x845E" name="GL_SECONDARY_COLOR_ARRAY"/>
+ <enum value="0x845E" name="GL_SECONDARY_COLOR_ARRAY_EXT"/>
+ <enum value="0x845F" name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
+ <unused start="0x8460" end="0x846B" comment="Incomplete extension SGIX_icc_texture"/>
+ <!-- <enum value="0x8460" name="GL_RGB_ICC_SGIX"/> -->
+ <!-- <enum value="0x8461" name="GL_RGBA_ICC_SGIX"/> -->
+ <!-- <enum value="0x8462" name="GL_ALPHA_ICC_SGIX"/> -->
+ <!-- <enum value="0x8463" name="GL_LUMINANCE_ICC_SGIX"/> -->
+ <!-- <enum value="0x8464" name="GL_INTENSITY_ICC_SGIX"/> -->
+ <!-- <enum value="0x8465" name="GL_LUMINANCE_ALPHA_ICC_SGIX"/> -->
+ <!-- <enum value="0x8466" name="GL_R5_G6_B5_ICC_SGIX"/> -->
+ <!-- <enum value="0x8467" name="GL_R5_G6_B5_A8_ICC_SGIX"/> -->
+ <!-- <enum value="0x8468" name="GL_ALPHA16_ICC_SGIX"/> -->
+ <!-- <enum value="0x8469" name="GL_LUMINANCE16_ICC_SGIX"/> -->
+ <!-- <enum value="0x846A" name="GL_INTENSITY16_ICC_SGIX"/> -->
+ <!-- <enum value="0x846B" name="GL_LUMINANCE16_ALPHA8_ICC_SGIX"/> -->
+ <unused start="0x846C" vendor="SGI"/>
+ <enum value="0x846D" name="GL_ALIASED_POINT_SIZE_RANGE"/>
+ <enum value="0x846E" name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+ <unused start="0x846F" vendor="SGI"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8470" end="0x848F" vendor="AMD">
+ <unused start="0x8470" end="0x848F" vendor="AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8490" end="0x849F" vendor="REND">
+ <enum value="0x8490" name="GL_SCREEN_COORDINATES_REND"/>
+ <enum value="0x8491" name="GL_INVERTED_SCREEN_W_REND"/>
+ <unused start="0x8492" end="0x849F" vendor="REND"/>
+ </enums>
+
+ <enums namespace="GL" start="0x84A0" end="0x84BF" vendor="AMD">
+ <unused start="0x84A0" end="0x84BF" vendor="AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x84C0" end="0x84EF" vendor="ARB">
+ <enum value="0x84C0" name="GL_TEXTURE0"/>
+ <enum value="0x84C0" name="GL_TEXTURE0_ARB"/>
+ <enum value="0x84C1" name="GL_TEXTURE1"/>
+ <enum value="0x84C1" name="GL_TEXTURE1_ARB"/>
+ <enum value="0x84C2" name="GL_TEXTURE2"/>
+ <enum value="0x84C2" name="GL_TEXTURE2_ARB"/>
+ <enum value="0x84C3" name="GL_TEXTURE3"/>
+ <enum value="0x84C3" name="GL_TEXTURE3_ARB"/>
+ <enum value="0x84C4" name="GL_TEXTURE4"/>
+ <enum value="0x84C4" name="GL_TEXTURE4_ARB"/>
+ <enum value="0x84C5" name="GL_TEXTURE5"/>
+ <enum value="0x84C5" name="GL_TEXTURE5_ARB"/>
+ <enum value="0x84C6" name="GL_TEXTURE6"/>
+ <enum value="0x84C6" name="GL_TEXTURE6_ARB"/>
+ <enum value="0x84C7" name="GL_TEXTURE7"/>
+ <enum value="0x84C7" name="GL_TEXTURE7_ARB"/>
+ <enum value="0x84C8" name="GL_TEXTURE8"/>
+ <enum value="0x84C8" name="GL_TEXTURE8_ARB"/>
+ <enum value="0x84C9" name="GL_TEXTURE9"/>
+ <enum value="0x84C9" name="GL_TEXTURE9_ARB"/>
+ <enum value="0x84CA" name="GL_TEXTURE10"/>
+ <enum value="0x84CA" name="GL_TEXTURE10_ARB"/>
+ <enum value="0x84CB" name="GL_TEXTURE11"/>
+ <enum value="0x84CB" name="GL_TEXTURE11_ARB"/>
+ <enum value="0x84CC" name="GL_TEXTURE12"/>
+ <enum value="0x84CC" name="GL_TEXTURE12_ARB"/>
+ <enum value="0x84CD" name="GL_TEXTURE13"/>
+ <enum value="0x84CD" name="GL_TEXTURE13_ARB"/>
+ <enum value="0x84CE" name="GL_TEXTURE14"/>
+ <enum value="0x84CE" name="GL_TEXTURE14_ARB"/>
+ <enum value="0x84CF" name="GL_TEXTURE15"/>
+ <enum value="0x84CF" name="GL_TEXTURE15_ARB"/>
+ <enum value="0x84D0" name="GL_TEXTURE16"/>
+ <enum value="0x84D0" name="GL_TEXTURE16_ARB"/>
+ <enum value="0x84D1" name="GL_TEXTURE17"/>
+ <enum value="0x84D1" name="GL_TEXTURE17_ARB"/>
+ <enum value="0x84D2" name="GL_TEXTURE18"/>
+ <enum value="0x84D2" name="GL_TEXTURE18_ARB"/>
+ <enum value="0x84D3" name="GL_TEXTURE19"/>
+ <enum value="0x84D3" name="GL_TEXTURE19_ARB"/>
+ <enum value="0x84D4" name="GL_TEXTURE20"/>
+ <enum value="0x84D4" name="GL_TEXTURE20_ARB"/>
+ <enum value="0x84D5" name="GL_TEXTURE21"/>
+ <enum value="0x84D5" name="GL_TEXTURE21_ARB"/>
+ <enum value="0x84D6" name="GL_TEXTURE22"/>
+ <enum value="0x84D6" name="GL_TEXTURE22_ARB"/>
+ <enum value="0x84D7" name="GL_TEXTURE23"/>
+ <enum value="0x84D7" name="GL_TEXTURE23_ARB"/>
+ <enum value="0x84D8" name="GL_TEXTURE24"/>
+ <enum value="0x84D8" name="GL_TEXTURE24_ARB"/>
+ <enum value="0x84D9" name="GL_TEXTURE25"/>
+ <enum value="0x84D9" name="GL_TEXTURE25_ARB"/>
+ <enum value="0x84DA" name="GL_TEXTURE26"/>
+ <enum value="0x84DA" name="GL_TEXTURE26_ARB"/>
+ <enum value="0x84DB" name="GL_TEXTURE27"/>
+ <enum value="0x84DB" name="GL_TEXTURE27_ARB"/>
+ <enum value="0x84DC" name="GL_TEXTURE28"/>
+ <enum value="0x84DC" name="GL_TEXTURE28_ARB"/>
+ <enum value="0x84DD" name="GL_TEXTURE29"/>
+ <enum value="0x84DD" name="GL_TEXTURE29_ARB"/>
+ <enum value="0x84DE" name="GL_TEXTURE30"/>
+ <enum value="0x84DE" name="GL_TEXTURE30_ARB"/>
+ <enum value="0x84DF" name="GL_TEXTURE31"/>
+ <enum value="0x84DF" name="GL_TEXTURE31_ARB"/>
+ <enum value="0x84E0" name="GL_ACTIVE_TEXTURE"/>
+ <enum value="0x84E0" name="GL_ACTIVE_TEXTURE_ARB"/>
+ <enum value="0x84E1" name="GL_CLIENT_ACTIVE_TEXTURE"/>
+ <enum value="0x84E1" name="GL_CLIENT_ACTIVE_TEXTURE_ARB"/>
+ <enum value="0x84E2" name="GL_MAX_TEXTURE_UNITS"/>
+ <enum value="0x84E2" name="GL_MAX_TEXTURE_UNITS_ARB"/>
+ <enum value="0x84E3" name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
+ <enum value="0x84E3" name="GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"/>
+ <enum value="0x84E4" name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
+ <enum value="0x84E4" name="GL_TRANSPOSE_PROJECTION_MATRIX_ARB"/>
+ <enum value="0x84E5" name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
+ <enum value="0x84E5" name="GL_TRANSPOSE_TEXTURE_MATRIX_ARB"/>
+ <enum value="0x84E6" name="GL_TRANSPOSE_COLOR_MATRIX"/>
+ <enum value="0x84E6" name="GL_TRANSPOSE_COLOR_MATRIX_ARB"/>
+ <enum value="0x84E7" name="GL_SUBTRACT"/>
+ <enum value="0x84E7" name="GL_SUBTRACT_ARB"/>
+ <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE"/>
+ <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE_EXT"/>
+ <enum value="0x84E8" name="GL_MAX_RENDERBUFFER_SIZE_OES"/>
+ <enum value="0x84E9" name="GL_COMPRESSED_ALPHA"/>
+ <enum value="0x84E9" name="GL_COMPRESSED_ALPHA_ARB"/>
+ <enum value="0x84EA" name="GL_COMPRESSED_LUMINANCE"/>
+ <enum value="0x84EA" name="GL_COMPRESSED_LUMINANCE_ARB"/>
+ <enum value="0x84EB" name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
+ <enum value="0x84EB" name="GL_COMPRESSED_LUMINANCE_ALPHA_ARB"/>
+ <enum value="0x84EC" name="GL_COMPRESSED_INTENSITY"/>
+ <enum value="0x84EC" name="GL_COMPRESSED_INTENSITY_ARB"/>
+ <enum value="0x84ED" name="GL_COMPRESSED_RGB"/>
+ <enum value="0x84ED" name="GL_COMPRESSED_RGB_ARB"/>
+ <enum value="0x84EE" name="GL_COMPRESSED_RGBA"/>
+ <enum value="0x84EE" name="GL_COMPRESSED_RGBA_ARB"/>
+ <enum value="0x84EF" name="GL_TEXTURE_COMPRESSION_HINT"/>
+ <enum value="0x84EF" name="GL_TEXTURE_COMPRESSION_HINT_ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x84F0" end="0x855F" vendor="NV">
+ <enum value="0x84F0" name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum value="0x84F1" name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum value="0x84F2" name="GL_ALL_COMPLETED_NV"/>
+ <enum value="0x84F3" name="GL_FENCE_STATUS_NV"/>
+ <enum value="0x84F4" name="GL_FENCE_CONDITION_NV"/>
+ <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE"/>
+ <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE_ARB"/>
+ <enum value="0x84F5" name="GL_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE"/>
+ <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE_ARB"/>
+ <enum value="0x84F6" name="GL_TEXTURE_BINDING_RECTANGLE_NV"/>
+ <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE"/>
+ <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE_ARB"/>
+ <enum value="0x84F7" name="GL_PROXY_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE"/>
+ <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB"/>
+ <enum value="0x84F8" name="GL_MAX_RECTANGLE_TEXTURE_SIZE_NV"/>
+ <enum value="0x84F9" name="GL_DEPTH_STENCIL"/>
+ <enum value="0x84F9" name="GL_DEPTH_STENCIL_EXT"/>
+ <enum value="0x84F9" name="GL_DEPTH_STENCIL_NV"/>
+ <enum value="0x84F9" name="GL_DEPTH_STENCIL_OES"/>
+ <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8"/>
+ <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_EXT"/>
+ <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_NV"/>
+ <enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_OES"/>
+ <unused start="0x84FB" end="0x84FC" vendor="NV"/>
+ <enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS"/>
+ <enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS_EXT"/>
+ <enum value="0x84FE" name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/>
+ <enum value="0x84FF" name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"/>
+ <enum value="0x8500" name="GL_TEXTURE_FILTER_CONTROL"/>
+ <enum value="0x8500" name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
+ <enum value="0x8501" name="GL_TEXTURE_LOD_BIAS"/>
+ <enum value="0x8501" name="GL_TEXTURE_LOD_BIAS_EXT"/>
+ <enum value="0x8502" name="GL_MODELVIEW1_STACK_DEPTH_EXT"/>
+ <enum value="0x8503" name="GL_COMBINE4_NV"/>
+ <enum value="0x8504" name="GL_MAX_SHININESS_NV"/>
+ <enum value="0x8505" name="GL_MAX_SPOT_EXPONENT_NV"/>
+ <enum value="0x8506" name="GL_MODELVIEW1_MATRIX_EXT"/>
+ <enum value="0x8507" name="GL_INCR_WRAP"/>
+ <enum value="0x8507" name="GL_INCR_WRAP_EXT"/>
+ <enum value="0x8507" name="GL_INCR_WRAP_OES"/>
+ <enum value="0x8508" name="GL_DECR_WRAP"/>
+ <enum value="0x8508" name="GL_DECR_WRAP_EXT"/>
+ <enum value="0x8508" name="GL_DECR_WRAP_OES"/>
+ <enum value="0x8509" name="GL_VERTEX_WEIGHTING_EXT"/>
+ <enum value="0x850A" name="GL_MODELVIEW1_ARB"/>
+ <enum value="0x850A" name="GL_MODELVIEW1_EXT"/>
+ <enum value="0x850B" name="GL_CURRENT_VERTEX_WEIGHT_EXT"/>
+ <enum value="0x850C" name="GL_VERTEX_WEIGHT_ARRAY_EXT"/>
+ <enum value="0x850D" name="GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"/>
+ <enum value="0x850E" name="GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"/>
+ <enum value="0x850F" name="GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"/>
+ <enum value="0x8510" name="GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"/>
+ <enum value="0x8511" name="GL_NORMAL_MAP"/>
+ <enum value="0x8511" name="GL_NORMAL_MAP_ARB"/>
+ <enum value="0x8511" name="GL_NORMAL_MAP_EXT"/>
+ <enum value="0x8511" name="GL_NORMAL_MAP_NV"/>
+ <enum value="0x8511" name="GL_NORMAL_MAP_OES"/>
+ <enum value="0x8512" name="GL_REFLECTION_MAP"/>
+ <enum value="0x8512" name="GL_REFLECTION_MAP_ARB"/>
+ <enum value="0x8512" name="GL_REFLECTION_MAP_EXT"/>
+ <enum value="0x8512" name="GL_REFLECTION_MAP_NV"/>
+ <enum value="0x8512" name="GL_REFLECTION_MAP_OES"/>
+ <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP"/>
+ <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_ARB"/>
+ <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_EXT"/>
+ <enum value="0x8513" name="GL_TEXTURE_CUBE_MAP_OES"/>
+ <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP"/>
+ <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_ARB"/>
+ <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_EXT"/>
+ <enum value="0x8514" name="GL_TEXTURE_BINDING_CUBE_MAP_OES"/>
+ <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
+ <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"/>
+ <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT"/>
+ <enum value="0x8515" name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES"/>
+ <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
+ <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"/>
+ <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT"/>
+ <enum value="0x8516" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES"/>
+ <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
+ <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"/>
+ <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT"/>
+ <enum value="0x8517" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES"/>
+ <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
+ <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"/>
+ <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT"/>
+ <enum value="0x8518" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES"/>
+ <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
+ <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"/>
+ <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT"/>
+ <enum value="0x8519" name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES"/>
+ <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
+ <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"/>
+ <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT"/>
+ <enum value="0x851A" name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES"/>
+ <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP"/>
+ <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARB"/>
+ <enum value="0x851B" name="GL_PROXY_TEXTURE_CUBE_MAP_EXT"/>
+ <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+ <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB"/>
+ <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT"/>
+ <enum value="0x851C" name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES"/>
+ <enum value="0x851D" name="GL_VERTEX_ARRAY_RANGE_APPLE"/>
+ <enum value="0x851D" name="GL_VERTEX_ARRAY_RANGE_NV"/>
+ <enum value="0x851E" name="GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE"/>
+ <enum value="0x851E" name="GL_VERTEX_ARRAY_RANGE_LENGTH_NV"/>
+ <enum value="0x851F" name="GL_VERTEX_ARRAY_RANGE_VALID_NV"/>
+ <enum value="0x851F" name="GL_VERTEX_ARRAY_STORAGE_HINT_APPLE"/>
+ <enum value="0x8520" name="GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV"/>
+ <enum value="0x8521" name="GL_VERTEX_ARRAY_RANGE_POINTER_APPLE"/>
+ <enum value="0x8521" name="GL_VERTEX_ARRAY_RANGE_POINTER_NV"/>
+ <enum value="0x8522" name="GL_REGISTER_COMBINERS_NV"/>
+ <enum value="0x8523" name="GL_VARIABLE_A_NV"/>
+ <enum value="0x8524" name="GL_VARIABLE_B_NV"/>
+ <enum value="0x8525" name="GL_VARIABLE_C_NV"/>
+ <enum value="0x8526" name="GL_VARIABLE_D_NV"/>
+ <enum value="0x8527" name="GL_VARIABLE_E_NV"/>
+ <enum value="0x8528" name="GL_VARIABLE_F_NV"/>
+ <enum value="0x8529" name="GL_VARIABLE_G_NV"/>
+ <enum value="0x852A" name="GL_CONSTANT_COLOR0_NV"/>
+ <enum value="0x852B" name="GL_CONSTANT_COLOR1_NV"/>
+ <enum value="0x852C" name="GL_PRIMARY_COLOR_NV"/>
+ <enum value="0x852D" name="GL_SECONDARY_COLOR_NV"/>
+ <enum value="0x852E" name="GL_SPARE0_NV"/>
+ <enum value="0x852F" name="GL_SPARE1_NV"/>
+ <enum value="0x8530" name="GL_DISCARD_NV"/>
+ <enum value="0x8531" name="GL_E_TIMES_F_NV"/>
+ <enum value="0x8532" name="GL_SPARE0_PLUS_SECONDARY_COLOR_NV"/>
+ <enum value="0x8533" name="GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV"/>
+ <enum value="0x8534" name="GL_MULTISAMPLE_FILTER_HINT_NV"/>
+ <enum value="0x8535" name="GL_PER_STAGE_CONSTANTS_NV"/>
+ <enum value="0x8536" name="GL_UNSIGNED_IDENTITY_NV"/>
+ <enum value="0x8537" name="GL_UNSIGNED_INVERT_NV"/>
+ <enum value="0x8538" name="GL_EXPAND_NORMAL_NV"/>
+ <enum value="0x8539" name="GL_EXPAND_NEGATE_NV"/>
+ <enum value="0x853A" name="GL_HALF_BIAS_NORMAL_NV"/>
+ <enum value="0x853B" name="GL_HALF_BIAS_NEGATE_NV"/>
+ <enum value="0x853C" name="GL_SIGNED_IDENTITY_NV"/>
+ <enum value="0x853D" name="GL_SIGNED_NEGATE_NV"/>
+ <enum value="0x853E" name="GL_SCALE_BY_TWO_NV"/>
+ <enum value="0x853F" name="GL_SCALE_BY_FOUR_NV"/>
+ <enum value="0x8540" name="GL_SCALE_BY_ONE_HALF_NV"/>
+ <enum value="0x8541" name="GL_BIAS_BY_NEGATIVE_ONE_HALF_NV"/>
+ <enum value="0x8542" name="GL_COMBINER_INPUT_NV"/>
+ <enum value="0x8543" name="GL_COMBINER_MAPPING_NV"/>
+ <enum value="0x8544" name="GL_COMBINER_COMPONENT_USAGE_NV"/>
+ <enum value="0x8545" name="GL_COMBINER_AB_DOT_PRODUCT_NV"/>
+ <enum value="0x8546" name="GL_COMBINER_CD_DOT_PRODUCT_NV"/>
+ <enum value="0x8547" name="GL_COMBINER_MUX_SUM_NV"/>
+ <enum value="0x8548" name="GL_COMBINER_SCALE_NV"/>
+ <enum value="0x8549" name="GL_COMBINER_BIAS_NV"/>
+ <enum value="0x854A" name="GL_COMBINER_AB_OUTPUT_NV"/>
+ <enum value="0x854B" name="GL_COMBINER_CD_OUTPUT_NV"/>
+ <enum value="0x854C" name="GL_COMBINER_SUM_OUTPUT_NV"/>
+ <enum value="0x854D" name="GL_MAX_GENERAL_COMBINERS_NV"/>
+ <enum value="0x854E" name="GL_NUM_GENERAL_COMBINERS_NV"/>
+ <enum value="0x854F" name="GL_COLOR_SUM_CLAMP_NV"/>
+ <enum value="0x8550" name="GL_COMBINER0_NV"/>
+ <enum value="0x8551" name="GL_COMBINER1_NV"/>
+ <enum value="0x8552" name="GL_COMBINER2_NV"/>
+ <enum value="0x8553" name="GL_COMBINER3_NV"/>
+ <enum value="0x8554" name="GL_COMBINER4_NV"/>
+ <enum value="0x8555" name="GL_COMBINER5_NV"/>
+ <enum value="0x8556" name="GL_COMBINER6_NV"/>
+ <enum value="0x8557" name="GL_COMBINER7_NV"/>
+ <enum value="0x8558" name="GL_PRIMITIVE_RESTART_NV"/>
+ <enum value="0x8559" name="GL_PRIMITIVE_RESTART_INDEX_NV"/>
+ <enum value="0x855A" name="GL_FOG_DISTANCE_MODE_NV"/>
+ <enum value="0x855B" name="GL_EYE_RADIAL_NV"/>
+ <enum value="0x855C" name="GL_EYE_PLANE_ABSOLUTE_NV"/>
+ <enum value="0x855D" name="GL_EMBOSS_LIGHT_NV"/>
+ <enum value="0x855E" name="GL_EMBOSS_CONSTANT_NV"/>
+ <enum value="0x855F" name="GL_EMBOSS_MAP_NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8560" end="0x856F" vendor="ZiiLabs">
+ <enum value="0x8560" name="GL_RED_MIN_CLAMP_INGR"/>
+ <enum value="0x8561" name="GL_GREEN_MIN_CLAMP_INGR"/>
+ <enum value="0x8562" name="GL_BLUE_MIN_CLAMP_INGR"/>
+ <enum value="0x8563" name="GL_ALPHA_MIN_CLAMP_INGR"/>
+ <enum value="0x8564" name="GL_RED_MAX_CLAMP_INGR"/>
+ <enum value="0x8565" name="GL_GREEN_MAX_CLAMP_INGR"/>
+ <enum value="0x8566" name="GL_BLUE_MAX_CLAMP_INGR"/>
+ <enum value="0x8567" name="GL_ALPHA_MAX_CLAMP_INGR"/>
+ <enum value="0x8568" name="GL_INTERLACE_READ_INGR"/>
+ <unused start="0x8569" end="0x856F" vendor="ZiiLabs"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8570" end="0x859F" group="RegisterCombinerPname" vendor="AMD/NV">
+ <enum value="0x8570" name="GL_COMBINE"/>
+ <enum value="0x8570" name="GL_COMBINE_ARB"/>
+ <enum value="0x8570" name="GL_COMBINE_EXT"/>
+ <enum value="0x8571" name="GL_COMBINE_RGB"/>
+ <enum value="0x8571" name="GL_COMBINE_RGB_ARB"/>
+ <enum value="0x8571" name="GL_COMBINE_RGB_EXT"/>
+ <enum value="0x8572" name="GL_COMBINE_ALPHA"/>
+ <enum value="0x8572" name="GL_COMBINE_ALPHA_ARB"/>
+ <enum value="0x8572" name="GL_COMBINE_ALPHA_EXT"/>
+ <enum value="0x8573" name="GL_RGB_SCALE"/>
+ <enum value="0x8573" name="GL_RGB_SCALE_ARB"/>
+ <enum value="0x8573" name="GL_RGB_SCALE_EXT"/>
+ <enum value="0x8574" name="GL_ADD_SIGNED"/>
+ <enum value="0x8574" name="GL_ADD_SIGNED_ARB"/>
+ <enum value="0x8574" name="GL_ADD_SIGNED_EXT"/>
+ <enum value="0x8575" name="GL_INTERPOLATE"/>
+ <enum value="0x8575" name="GL_INTERPOLATE_ARB"/>
+ <enum value="0x8575" name="GL_INTERPOLATE_EXT"/>
+ <enum value="0x8576" name="GL_CONSTANT"/>
+ <enum value="0x8576" name="GL_CONSTANT_ARB"/>
+ <enum value="0x8576" name="GL_CONSTANT_EXT"/>
+ <enum value="0x8577" name="GL_PRIMARY_COLOR"/>
+ <enum value="0x8577" name="GL_PRIMARY_COLOR_ARB"/>
+ <enum value="0x8577" name="GL_PRIMARY_COLOR_EXT"/>
+ <enum value="0x8578" name="GL_PREVIOUS"/>
+ <enum value="0x8578" name="GL_PREVIOUS_ARB"/>
+ <enum value="0x8578" name="GL_PREVIOUS_EXT"/>
+ <unused start="0x8579" end="0x857F" comment="Additional combiner enums only"/>
+ <enum value="0x8580" name="GL_SOURCE0_RGB"/>
+ <enum value="0x8580" name="GL_SOURCE0_RGB_ARB"/>
+ <enum value="0x8580" name="GL_SOURCE0_RGB_EXT"/>
+ <enum value="0x8580" name="GL_SRC0_RGB" alias="GL_SOURCE0_RGB"/>
+ <enum value="0x8581" name="GL_SOURCE1_RGB"/>
+ <enum value="0x8581" name="GL_SOURCE1_RGB_ARB"/>
+ <enum value="0x8581" name="GL_SOURCE1_RGB_EXT"/>
+ <enum value="0x8581" name="GL_SRC1_RGB" alias="GL_SOURCE1_RGB"/>
+ <enum value="0x8582" name="GL_SOURCE2_RGB"/>
+ <enum value="0x8582" name="GL_SOURCE2_RGB_ARB"/>
+ <enum value="0x8582" name="GL_SOURCE2_RGB_EXT"/>
+ <enum value="0x8582" name="GL_SRC2_RGB" alias="GL_SOURCE2_RGB"/>
+ <enum value="0x8583" name="GL_SOURCE3_RGB_NV"/>
+ <unused start="0x8584" end="0x8587" comment="Additional combiner enums only"/>
+ <enum value="0x8588" name="GL_SOURCE0_ALPHA"/>
+ <enum value="0x8588" name="GL_SOURCE0_ALPHA_ARB"/>
+ <enum value="0x8588" name="GL_SOURCE0_ALPHA_EXT"/>
+ <enum value="0x8588" name="GL_SRC0_ALPHA" alias="GL_SOURCE0_ALPHA"/>
+ <enum value="0x8589" name="GL_SOURCE1_ALPHA"/>
+ <enum value="0x8589" name="GL_SOURCE1_ALPHA_ARB"/>
+ <enum value="0x8589" name="GL_SOURCE1_ALPHA_EXT"/>
+ <enum value="0x8589" name="GL_SRC1_ALPHA" alias="GL_SOURCE1_ALPHA"/>
+ <enum value="0x858A" name="GL_SOURCE2_ALPHA"/>
+ <enum value="0x858A" name="GL_SOURCE2_ALPHA_ARB"/>
+ <enum value="0x858A" name="GL_SOURCE2_ALPHA_EXT"/>
+ <enum value="0x858A" name="GL_SRC2_ALPHA" alias="GL_SOURCE2_ALPHA"/>
+ <enum value="0x858B" name="GL_SOURCE3_ALPHA_NV"/>
+ <unused start="0x858C" end="0x858F" comment="Additional combiner enums only"/>
+ <enum value="0x8590" name="GL_OPERAND0_RGB"/>
+ <enum value="0x8590" name="GL_OPERAND0_RGB_ARB"/>
+ <enum value="0x8590" name="GL_OPERAND0_RGB_EXT"/>
+ <enum value="0x8591" name="GL_OPERAND1_RGB"/>
+ <enum value="0x8591" name="GL_OPERAND1_RGB_ARB"/>
+ <enum value="0x8591" name="GL_OPERAND1_RGB_EXT"/>
+ <enum value="0x8592" name="GL_OPERAND2_RGB"/>
+ <enum value="0x8592" name="GL_OPERAND2_RGB_ARB"/>
+ <enum value="0x8592" name="GL_OPERAND2_RGB_EXT"/>
+ <enum value="0x8593" name="GL_OPERAND3_RGB_NV"/>
+ <unused start="0x8594" end="0x8597" comment="Additional combiner enums only"/>
+ <enum value="0x8598" name="GL_OPERAND0_ALPHA"/>
+ <enum value="0x8598" name="GL_OPERAND0_ALPHA_ARB"/>
+ <enum value="0x8598" name="GL_OPERAND0_ALPHA_EXT"/>
+ <enum value="0x8599" name="GL_OPERAND1_ALPHA"/>
+ <enum value="0x8599" name="GL_OPERAND1_ALPHA_ARB"/>
+ <enum value="0x8599" name="GL_OPERAND1_ALPHA_EXT"/>
+ <enum value="0x859A" name="GL_OPERAND2_ALPHA"/>
+ <enum value="0x859A" name="GL_OPERAND2_ALPHA_ARB"/>
+ <enum value="0x859A" name="GL_OPERAND2_ALPHA_EXT"/>
+ <enum value="0x859B" name="GL_OPERAND3_ALPHA_NV"/>
+ <unused start="0x859C" end="0x859F" comment="Additional combiner enums only"/>
+ </enums>
+
+ <enums namespace="GL" start="0x85A0" end="0x85AF" vendor="SGI">
+ <enum value="0x85A0" name="GL_PACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum value="0x85A1" name="GL_UNPACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum value="0x85A2" name="GL_PIXEL_SUBSAMPLE_4444_SGIX"/>
+ <enum value="0x85A3" name="GL_PIXEL_SUBSAMPLE_2424_SGIX"/>
+ <enum value="0x85A4" name="GL_PIXEL_SUBSAMPLE_4242_SGIX"/>
+ <unused start="0x85A5" end="0x85AD" comment="Incomplete extension SGIS_color_range"/>
+ <!-- <enum value="0x85A5" name="GL_EXTENDED_RANGE_SGIS"/> -->
+ <!-- <enum value="0x85A6" name="GL_MIN_RED_SGIS"/> -->
+ <!-- <enum value="0x85A7" name="GL_MAX_RED_SGIS"/> -->
+ <!-- <enum value="0x85A8" name="GL_MIN_GREEN_SGIS"/> -->
+ <!-- <enum value="0x85A9" name="GL_MAX_GREEN_SGIS"/> -->
+ <!-- <enum value="0x85AA" name="GL_MIN_BLUE_SGIS"/> -->
+ <!-- <enum value="0x85AB" name="GL_MAX_BLUE_SGIS"/> -->
+ <!-- <enum value="0x85AC" name="GL_MIN_ALPHA_SGIS"/> -->
+ <!-- <enum value="0x85AD" name="GL_MAX_ALPHA_SGIS"/> -->
+ <enum value="0x85AE" name="GL_PERTURB_EXT"/>
+ <enum value="0x85AF" name="GL_TEXTURE_NORMAL_EXT"/>
+ </enums>
+
+ <enums namespace="GL" start="0x85B0" end="0x85BF" vendor="APPLE">
+ <enum value="0x85B0" name="GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE"/>
+ <enum value="0x85B1" name="GL_TRANSFORM_HINT_APPLE"/>
+ <enum value="0x85B2" name="GL_UNPACK_CLIENT_STORAGE_APPLE"/>
+ <enum value="0x85B3" name="GL_BUFFER_OBJECT_APPLE"/>
+ <enum value="0x85B4" name="GL_STORAGE_CLIENT_APPLE"/>
+ <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING"/>
+ <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_APPLE"/>
+ <enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_OES"/>
+ <unused start="0x85B6" vendor="APPLE" comment="Unknown extension (Khronos bug 632)"/>
+ <!-- <enum value="0x85B6" name="GL_TEXTURE_MINIMIZE_STORAGE_APPLE"/> -->
+ <enum value="0x85B7" name="GL_TEXTURE_RANGE_LENGTH_APPLE"/>
+ <enum value="0x85B8" name="GL_TEXTURE_RANGE_POINTER_APPLE"/>
+ <enum value="0x85B9" name="GL_YCBCR_422_APPLE"/>
+ <enum value="0x85BA" name="GL_UNSIGNED_SHORT_8_8_APPLE"/>
+ <enum value="0x85BA" name="GL_UNSIGNED_SHORT_8_8_MESA"/>
+ <enum value="0x85BB" name="GL_UNSIGNED_SHORT_8_8_REV_APPLE"/>
+ <enum value="0x85BB" name="GL_UNSIGNED_SHORT_8_8_REV_MESA"/>
+ <enum value="0x85BC" name="GL_TEXTURE_STORAGE_HINT_APPLE"/>
+ <enum value="0x85BD" name="GL_STORAGE_PRIVATE_APPLE"/>
+ <enum value="0x85BE" name="GL_STORAGE_CACHED_APPLE"/>
+ <enum value="0x85BF" name="GL_STORAGE_SHARED_APPLE"/>
+ </enums>
+
+ <enums namespace="GL" start="0x85C0" end="0x85CF" vendor="SUN">
+ <enum value="0x85C0" name="GL_REPLACEMENT_CODE_ARRAY_SUN"/>
+ <enum value="0x85C1" name="GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN"/>
+ <enum value="0x85C2" name="GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN"/>
+ <enum value="0x85C3" name="GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN"/>
+ <enum value="0x85C4" name="GL_R1UI_V3F_SUN"/>
+ <enum value="0x85C5" name="GL_R1UI_C4UB_V3F_SUN"/>
+ <enum value="0x85C6" name="GL_R1UI_C3F_V3F_SUN"/>
+ <enum value="0x85C7" name="GL_R1UI_N3F_V3F_SUN"/>
+ <enum value="0x85C8" name="GL_R1UI_C4F_N3F_V3F_SUN"/>
+ <enum value="0x85C9" name="GL_R1UI_T2F_V3F_SUN"/>
+ <enum value="0x85CA" name="GL_R1UI_T2F_N3F_V3F_SUN"/>
+ <enum value="0x85CB" name="GL_R1UI_T2F_C4F_N3F_V3F_SUN"/>
+ <enum value="0x85CC" name="GL_SLICE_ACCUM_SUN"/>
+ <unused start="0x85CD" end="0x85CF" vendor="SUN"/>
+ </enums>
+
+ <enums namespace="GL" start="0x85D0" end="0x85DF" vendor="ZiiLabs" comment="3Dlabs private extension for Autodesk">
+ <unused start="0x85D0" end="0x85D1" comment="Unknown 3Dlabs private extension for Autodesk (but we know the enum values)"/>
+ <!-- <enum value="0x85D0" name="GL_FACET_NORMAL_AUTODESK"/> -->
+ <!-- <enum value="0x85D1" name="GL_FACET_NORMAL_ARRAY_AUTODESK"/> -->
+ <unused start="0x85D2" end="0x85DF" vendor="ZiiLabs"/>
+ </enums>
+
+ <enums namespace="GL" start="0x85E0" end="0x85FF" vendor="SGI">
+ <unused start="0x85E0" end="0x85FB" comment="Incomplete extension SGIX_texture_range"/>
+ <!-- <enum value="0x85E0" name="GL_RGB_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E1" name="GL_RGBA_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E2" name="GL_ALPHA_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E3" name="GL_LUMINANCE_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E4" name="GL_INTENSITY_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E5" name="GL_LUMINANCE_ALPHA_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E6" name="GL_RGB16_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E7" name="GL_RGBA16_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E8" name="GL_ALPHA16_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85E9" name="GL_LUMINANCE16_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85EA" name="GL_INTENSITY16_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85EB" name="GL_LUMINANCE16_ALPHA16_SIGNED_SGIX"/> -->
+ <!-- <enum value="0x85EC" name="GL_RGB_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85ED" name="GL_RGBA_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85EE" name="GL_ALPHA_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85EF" name="GL_LUMINANCE_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F0" name="GL_INTENSITY_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F1" name="GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F2" name="GL_RGB16_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F3" name="GL_RGBA16_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F4" name="GL_ALPHA16_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F5" name="GL_LUMINANCE16_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F6" name="GL_INTENSITY16_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F7" name="GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX"/> -->
+ <!-- <enum value="0x85F8" name="GL_MIN_LUMINANCE_SGIS"/> -->
+ <!-- <enum value="0x85F9" name="GL_MAX_LUMINANCE_SGIS"/> -->
+ <!-- <enum value="0x85FA" name="GL_MIN_INTENSITY_SGIS"/> -->
+ <!-- <enum value="0x85FB" name="GL_MAX_INTENSITY_SGIS"/> -->
+ <unused start="0x85FC" end="0x85FF" vendor="SGI"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8600" end="0x861F" vendor="SUN">
+ <unused start="0x8600" end="0x8613" vendor="SUN"/>
+ <enum value="0x8614" name="GL_QUAD_MESH_SUN"/>
+ <enum value="0x8615" name="GL_TRIANGLE_MESH_SUN"/>
+ <unused start="0x8614" end="0x861F" vendor="SUN"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8620" end="0x867F" vendor="NV">
+ <enum value="0x8620" name="GL_VERTEX_PROGRAM_ARB"/>
+ <enum value="0x8620" name="GL_VERTEX_PROGRAM_NV"/>
+ <enum value="0x8621" name="GL_VERTEX_STATE_PROGRAM_NV"/>
+ <enum value="0x8622" name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+ <enum value="0x8622" name="GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"/>
+ <enum value="0x8623" name="GL_ATTRIB_ARRAY_SIZE_NV"/>
+ <enum value="0x8623" name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+ <enum value="0x8623" name="GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"/>
+ <enum value="0x8624" name="GL_ATTRIB_ARRAY_STRIDE_NV"/>
+ <enum value="0x8624" name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+ <enum value="0x8624" name="GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"/>
+ <enum value="0x8625" name="GL_ATTRIB_ARRAY_TYPE_NV"/>
+ <enum value="0x8625" name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+ <enum value="0x8625" name="GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"/>
+ <enum value="0x8626" name="GL_CURRENT_ATTRIB_NV"/>
+ <enum value="0x8626" name="GL_CURRENT_VERTEX_ATTRIB"/>
+ <enum value="0x8626" name="GL_CURRENT_VERTEX_ATTRIB_ARB"/>
+ <enum value="0x8627" name="GL_PROGRAM_LENGTH_ARB"/>
+ <enum value="0x8627" name="GL_PROGRAM_LENGTH_NV"/>
+ <enum value="0x8628" name="GL_PROGRAM_STRING_ARB"/>
+ <enum value="0x8628" name="GL_PROGRAM_STRING_NV"/>
+ <enum value="0x8629" name="GL_MODELVIEW_PROJECTION_NV"/>
+ <enum value="0x862A" name="GL_IDENTITY_NV"/>
+ <enum value="0x862B" name="GL_INVERSE_NV"/>
+ <enum value="0x862C" name="GL_TRANSPOSE_NV"/>
+ <enum value="0x862D" name="GL_INVERSE_TRANSPOSE_NV"/>
+ <enum value="0x862E" name="GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"/>
+ <enum value="0x862E" name="GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV"/>
+ <enum value="0x862F" name="GL_MAX_PROGRAM_MATRICES_ARB"/>
+ <enum value="0x862F" name="GL_MAX_TRACK_MATRICES_NV"/>
+ <enum value="0x8630" name="GL_MATRIX0_NV"/>
+ <enum value="0x8631" name="GL_MATRIX1_NV"/>
+ <enum value="0x8632" name="GL_MATRIX2_NV"/>
+ <enum value="0x8633" name="GL_MATRIX3_NV"/>
+ <enum value="0x8634" name="GL_MATRIX4_NV"/>
+ <enum value="0x8635" name="GL_MATRIX5_NV"/>
+ <enum value="0x8636" name="GL_MATRIX6_NV"/>
+ <enum value="0x8637" name="GL_MATRIX7_NV"/>
+ <unused start="0x8638" end="0x863F" comment="Reserved for MATRIX{8-15}_NV"/>
+ <!-- <enum value="0x8638" name="GL_MATRIX8_NV"/> -->
+ <!-- <enum value="0x8639" name="GL_MATRIX9_NV"/> -->
+ <!-- <enum value="0x863A" name="GL_MATRIX10_NV"/> -->
+ <!-- <enum value="0x863B" name="GL_MATRIX11_NV"/> -->
+ <!-- <enum value="0x863C" name="GL_MATRIX12_NV"/> -->
+ <!-- <enum value="0x863D" name="GL_MATRIX13_NV"/> -->
+ <!-- <enum value="0x863E" name="GL_MATRIX14_NV"/> -->
+ <!-- <enum value="0x863F" name="GL_MATRIX15_NV"/> -->
+ <enum value="0x8640" name="GL_CURRENT_MATRIX_STACK_DEPTH_ARB"/>
+ <enum value="0x8640" name="GL_CURRENT_MATRIX_STACK_DEPTH_NV"/>
+ <enum value="0x8641" name="GL_CURRENT_MATRIX_ARB"/>
+ <enum value="0x8641" name="GL_CURRENT_MATRIX_NV"/>
+ <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE"/>
+ <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE_ARB"/>
+ <enum value="0x8642" name="GL_VERTEX_PROGRAM_POINT_SIZE_NV"/>
+ <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE" alias="GL_VERTEX_PROGRAM_POINT_SIZE"/>
+ <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE_ARB"/>
+ <enum value="0x8642" name="GL_PROGRAM_POINT_SIZE_EXT"/>
+ <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
+ <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE_ARB"/>
+ <enum value="0x8643" name="GL_VERTEX_PROGRAM_TWO_SIDE_NV"/>
+ <enum value="0x8644" name="GL_PROGRAM_PARAMETER_NV"/>
+ <enum value="0x8645" name="GL_ATTRIB_ARRAY_POINTER_NV"/>
+ <enum value="0x8645" name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
+ <enum value="0x8645" name="GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"/>
+ <enum value="0x8646" name="GL_PROGRAM_TARGET_NV"/>
+ <enum value="0x8647" name="GL_PROGRAM_RESIDENT_NV"/>
+ <enum value="0x8648" name="GL_TRACK_MATRIX_NV"/>
+ <enum value="0x8649" name="GL_TRACK_MATRIX_TRANSFORM_NV"/>
+ <enum value="0x864A" name="GL_VERTEX_PROGRAM_BINDING_NV"/>
+ <enum value="0x864B" name="GL_PROGRAM_ERROR_POSITION_ARB"/>
+ <enum value="0x864B" name="GL_PROGRAM_ERROR_POSITION_NV"/>
+ <enum value="0x864C" name="GL_OFFSET_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x864D" name="GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV"/>
+ <enum value="0x864E" name="GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x864F" name="GL_DEPTH_CLAMP"/>
+ <enum value="0x864F" name="GL_DEPTH_CLAMP_NV"/>
+ <enum value="0x8650" name="GL_VERTEX_ATTRIB_ARRAY0_NV"/>
+ <enum value="0x8651" name="GL_VERTEX_ATTRIB_ARRAY1_NV"/>
+ <enum value="0x8652" name="GL_VERTEX_ATTRIB_ARRAY2_NV"/>
+ <enum value="0x8653" name="GL_VERTEX_ATTRIB_ARRAY3_NV"/>
+ <enum value="0x8654" name="GL_VERTEX_ATTRIB_ARRAY4_NV"/>
+ <enum value="0x8655" name="GL_VERTEX_ATTRIB_ARRAY5_NV"/>
+ <enum value="0x8656" name="GL_VERTEX_ATTRIB_ARRAY6_NV"/>
+ <enum value="0x8657" name="GL_VERTEX_ATTRIB_ARRAY7_NV"/>
+ <enum value="0x8658" name="GL_VERTEX_ATTRIB_ARRAY8_NV"/>
+ <enum value="0x8659" name="GL_VERTEX_ATTRIB_ARRAY9_NV"/>
+ <enum value="0x865A" name="GL_VERTEX_ATTRIB_ARRAY10_NV"/>
+ <enum value="0x865B" name="GL_VERTEX_ATTRIB_ARRAY11_NV"/>
+ <enum value="0x865C" name="GL_VERTEX_ATTRIB_ARRAY12_NV"/>
+ <enum value="0x865D" name="GL_VERTEX_ATTRIB_ARRAY13_NV"/>
+ <enum value="0x865E" name="GL_VERTEX_ATTRIB_ARRAY14_NV"/>
+ <enum value="0x865F" name="GL_VERTEX_ATTRIB_ARRAY15_NV"/>
+ <enum value="0x8660" name="GL_MAP1_VERTEX_ATTRIB0_4_NV"/>
+ <enum value="0x8661" name="GL_MAP1_VERTEX_ATTRIB1_4_NV"/>
+ <enum value="0x8662" name="GL_MAP1_VERTEX_ATTRIB2_4_NV"/>
+ <enum value="0x8663" name="GL_MAP1_VERTEX_ATTRIB3_4_NV"/>
+ <enum value="0x8664" name="GL_MAP1_VERTEX_ATTRIB4_4_NV"/>
+ <enum value="0x8665" name="GL_MAP1_VERTEX_ATTRIB5_4_NV"/>
+ <enum value="0x8666" name="GL_MAP1_VERTEX_ATTRIB6_4_NV"/>
+ <enum value="0x8667" name="GL_MAP1_VERTEX_ATTRIB7_4_NV"/>
+ <enum value="0x8668" name="GL_MAP1_VERTEX_ATTRIB8_4_NV"/>
+ <enum value="0x8669" name="GL_MAP1_VERTEX_ATTRIB9_4_NV"/>
+ <enum value="0x866A" name="GL_MAP1_VERTEX_ATTRIB10_4_NV"/>
+ <enum value="0x866B" name="GL_MAP1_VERTEX_ATTRIB11_4_NV"/>
+ <enum value="0x866C" name="GL_MAP1_VERTEX_ATTRIB12_4_NV"/>
+ <enum value="0x866D" name="GL_MAP1_VERTEX_ATTRIB13_4_NV"/>
+ <enum value="0x866E" name="GL_MAP1_VERTEX_ATTRIB14_4_NV"/>
+ <enum value="0x866F" name="GL_MAP1_VERTEX_ATTRIB15_4_NV"/>
+ <enum value="0x8670" name="GL_MAP2_VERTEX_ATTRIB0_4_NV"/>
+ <enum value="0x8671" name="GL_MAP2_VERTEX_ATTRIB1_4_NV"/>
+ <enum value="0x8672" name="GL_MAP2_VERTEX_ATTRIB2_4_NV"/>
+ <enum value="0x8673" name="GL_MAP2_VERTEX_ATTRIB3_4_NV"/>
+ <enum value="0x8674" name="GL_MAP2_VERTEX_ATTRIB4_4_NV"/>
+ <enum value="0x8675" name="GL_MAP2_VERTEX_ATTRIB5_4_NV"/>
+ <enum value="0x8676" name="GL_MAP2_VERTEX_ATTRIB6_4_NV"/>
+ <enum value="0x8677" name="GL_MAP2_VERTEX_ATTRIB7_4_NV"/>
+ <enum value="0x8677" name="GL_PROGRAM_BINDING_ARB" comment="NOT an alias. Accidental reuse of GL_MAP2_VERTEX_ATTRIB7_4_NV"/>
+ <enum value="0x8678" name="GL_MAP2_VERTEX_ATTRIB8_4_NV"/>
+ <enum value="0x8679" name="GL_MAP2_VERTEX_ATTRIB9_4_NV"/>
+ <enum value="0x867A" name="GL_MAP2_VERTEX_ATTRIB10_4_NV"/>
+ <enum value="0x867B" name="GL_MAP2_VERTEX_ATTRIB11_4_NV"/>
+ <enum value="0x867C" name="GL_MAP2_VERTEX_ATTRIB12_4_NV"/>
+ <enum value="0x867D" name="GL_MAP2_VERTEX_ATTRIB13_4_NV"/>
+ <enum value="0x867E" name="GL_MAP2_VERTEX_ATTRIB14_4_NV"/>
+ <enum value="0x867F" name="GL_MAP2_VERTEX_ATTRIB15_4_NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8680" end="0x869F" vendor="Pixelfusion">
+ <unused start="0x8680" end="0x869F" vendor="Pixelfusion"/>
+ </enums>
+
+ <enums namespace="GL" start="0x86A0" end="0x86AF" vendor="ARB">
+ <enum value="0x86A0" name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE"/>
+ <enum value="0x86A0" name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB"/>
+ <enum value="0x86A1" name="GL_TEXTURE_COMPRESSED"/>
+ <enum value="0x86A1" name="GL_TEXTURE_COMPRESSED_ARB"/>
+ <enum value="0x86A2" name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum value="0x86A2" name="GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB"/>
+ <enum value="0x86A3" name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum value="0x86A3" name="GL_COMPRESSED_TEXTURE_FORMATS_ARB"/>
+ <enum value="0x86A4" name="GL_MAX_VERTEX_UNITS_ARB"/>
+ <enum value="0x86A4" name="GL_MAX_VERTEX_UNITS_OES"/>
+ <enum value="0x86A5" name="GL_ACTIVE_VERTEX_UNITS_ARB"/>
+ <enum value="0x86A6" name="GL_WEIGHT_SUM_UNITY_ARB"/>
+ <enum value="0x86A7" name="GL_VERTEX_BLEND_ARB"/>
+ <enum value="0x86A8" name="GL_CURRENT_WEIGHT_ARB"/>
+ <enum value="0x86A9" name="GL_WEIGHT_ARRAY_TYPE_ARB"/>
+ <enum value="0x86A9" name="GL_WEIGHT_ARRAY_TYPE_OES"/>
+ <enum value="0x86AA" name="GL_WEIGHT_ARRAY_STRIDE_ARB"/>
+ <enum value="0x86AA" name="GL_WEIGHT_ARRAY_STRIDE_OES"/>
+ <enum value="0x86AB" name="GL_WEIGHT_ARRAY_SIZE_ARB"/>
+ <enum value="0x86AB" name="GL_WEIGHT_ARRAY_SIZE_OES"/>
+ <enum value="0x86AC" name="GL_WEIGHT_ARRAY_POINTER_ARB"/>
+ <enum value="0x86AC" name="GL_WEIGHT_ARRAY_POINTER_OES"/>
+ <enum value="0x86AD" name="GL_WEIGHT_ARRAY_ARB"/>
+ <enum value="0x86AD" name="GL_WEIGHT_ARRAY_OES"/>
+ <enum value="0x86AE" name="GL_DOT3_RGB"/>
+ <enum value="0x86AE" name="GL_DOT3_RGB_ARB"/>
+ <enum value="0x86AF" name="GL_DOT3_RGBA"/>
+ <enum value="0x86AF" name="GL_DOT3_RGBA_ARB"/>
+ <enum value="0x86AF" name="GL_DOT3_RGBA_IMG"/>
+ </enums>
+
+ <enums namespace="GL" start="0x86B0" end="0x86BF" vendor="3DFX">
+ <enum value="0x86B0" name="GL_COMPRESSED_RGB_FXT1_3DFX"/>
+ <enum value="0x86B1" name="GL_COMPRESSED_RGBA_FXT1_3DFX"/>
+ <enum value="0x86B2" name="GL_MULTISAMPLE_3DFX"/>
+ <enum value="0x86B3" name="GL_SAMPLE_BUFFERS_3DFX"/>
+ <enum value="0x86B4" name="GL_SAMPLES_3DFX"/>
+ <unused start="0x86B5" end="0x86BF" vendor="3DFX"/>
+ </enums>
+
+ <enums namespace="GL" start="0x86C0" end="0x871F" vendor="NV">
+ <enum value="0x86C0" name="GL_EVAL_2D_NV"/>
+ <enum value="0x86C1" name="GL_EVAL_TRIANGULAR_2D_NV"/>
+ <enum value="0x86C2" name="GL_MAP_TESSELLATION_NV"/>
+ <enum value="0x86C3" name="GL_MAP_ATTRIB_U_ORDER_NV"/>
+ <enum value="0x86C4" name="GL_MAP_ATTRIB_V_ORDER_NV"/>
+ <enum value="0x86C5" name="GL_EVAL_FRACTIONAL_TESSELLATION_NV"/>
+ <enum value="0x86C6" name="GL_EVAL_VERTEX_ATTRIB0_NV"/>
+ <enum value="0x86C7" name="GL_EVAL_VERTEX_ATTRIB1_NV"/>
+ <enum value="0x86C8" name="GL_EVAL_VERTEX_ATTRIB2_NV"/>
+ <enum value="0x86C9" name="GL_EVAL_VERTEX_ATTRIB3_NV"/>
+ <enum value="0x86CA" name="GL_EVAL_VERTEX_ATTRIB4_NV"/>
+ <enum value="0x86CB" name="GL_EVAL_VERTEX_ATTRIB5_NV"/>
+ <enum value="0x86CC" name="GL_EVAL_VERTEX_ATTRIB6_NV"/>
+ <enum value="0x86CD" name="GL_EVAL_VERTEX_ATTRIB7_NV"/>
+ <enum value="0x86CE" name="GL_EVAL_VERTEX_ATTRIB8_NV"/>
+ <enum value="0x86CF" name="GL_EVAL_VERTEX_ATTRIB9_NV"/>
+ <enum value="0x86D0" name="GL_EVAL_VERTEX_ATTRIB10_NV"/>
+ <enum value="0x86D1" name="GL_EVAL_VERTEX_ATTRIB11_NV"/>
+ <enum value="0x86D2" name="GL_EVAL_VERTEX_ATTRIB12_NV"/>
+ <enum value="0x86D3" name="GL_EVAL_VERTEX_ATTRIB13_NV"/>
+ <enum value="0x86D4" name="GL_EVAL_VERTEX_ATTRIB14_NV"/>
+ <enum value="0x86D5" name="GL_EVAL_VERTEX_ATTRIB15_NV"/>
+ <enum value="0x86D6" name="GL_MAX_MAP_TESSELLATION_NV"/>
+ <enum value="0x86D7" name="GL_MAX_RATIONAL_EVAL_ORDER_NV"/>
+ <enum value="0x86D8" name="GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"/>
+ <enum value="0x86D9" name="GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV"/>
+ <enum value="0x86DA" name="GL_UNSIGNED_INT_S8_S8_8_8_NV"/>
+ <enum value="0x86DB" name="GL_UNSIGNED_INT_8_8_S8_S8_REV_NV"/>
+ <enum value="0x86DC" name="GL_DSDT_MAG_INTENSITY_NV"/>
+ <enum value="0x86DD" name="GL_SHADER_CONSISTENT_NV"/>
+ <enum value="0x86DE" name="GL_TEXTURE_SHADER_NV"/>
+ <enum value="0x86DF" name="GL_SHADER_OPERATION_NV"/>
+ <enum value="0x86E0" name="GL_CULL_MODES_NV"/>
+ <enum value="0x86E1" name="GL_OFFSET_TEXTURE_MATRIX_NV"/>
+ <enum value="0x86E1" name="GL_OFFSET_TEXTURE_2D_MATRIX_NV" alias="GL_OFFSET_TEXTURE_MATRIX_NV"/>
+ <enum value="0x86E2" name="GL_OFFSET_TEXTURE_SCALE_NV"/>
+ <enum value="0x86E2" name="GL_OFFSET_TEXTURE_2D_SCALE_NV" alias="GL_OFFSET_TEXTURE_SCALE_NV"/>
+ <enum value="0x86E3" name="GL_OFFSET_TEXTURE_BIAS_NV"/>
+ <enum value="0x86E3" name="GL_OFFSET_TEXTURE_2D_BIAS_NV" alias="GL_OFFSET_TEXTURE_BIAS_NV"/>
+ <enum value="0x86E4" name="GL_PREVIOUS_TEXTURE_INPUT_NV"/>
+ <enum value="0x86E5" name="GL_CONST_EYE_NV"/>
+ <enum value="0x86E6" name="GL_PASS_THROUGH_NV"/>
+ <enum value="0x86E7" name="GL_CULL_FRAGMENT_NV"/>
+ <enum value="0x86E8" name="GL_OFFSET_TEXTURE_2D_NV"/>
+ <enum value="0x86E9" name="GL_DEPENDENT_AR_TEXTURE_2D_NV"/>
+ <enum value="0x86EA" name="GL_DEPENDENT_GB_TEXTURE_2D_NV"/>
+ <enum value="0x86EB" name="GL_SURFACE_STATE_NV"/>
+ <enum value="0x86EC" name="GL_DOT_PRODUCT_NV"/>
+ <enum value="0x86ED" name="GL_DOT_PRODUCT_DEPTH_REPLACE_NV"/>
+ <enum value="0x86EE" name="GL_DOT_PRODUCT_TEXTURE_2D_NV"/>
+ <enum value="0x86EF" name="GL_DOT_PRODUCT_TEXTURE_3D_NV"/>
+ <enum value="0x86F0" name="GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV"/>
+ <enum value="0x86F1" name="GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV"/>
+ <enum value="0x86F2" name="GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV"/>
+ <enum value="0x86F3" name="GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV"/>
+ <enum value="0x86F4" name="GL_HILO_NV"/>
+ <enum value="0x86F5" name="GL_DSDT_NV"/>
+ <enum value="0x86F6" name="GL_DSDT_MAG_NV"/>
+ <enum value="0x86F7" name="GL_DSDT_MAG_VIB_NV"/>
+ <enum value="0x86F8" name="GL_HILO16_NV"/>
+ <enum value="0x86F9" name="GL_SIGNED_HILO_NV"/>
+ <enum value="0x86FA" name="GL_SIGNED_HILO16_NV"/>
+ <enum value="0x86FB" name="GL_SIGNED_RGBA_NV"/>
+ <enum value="0x86FC" name="GL_SIGNED_RGBA8_NV"/>
+ <enum value="0x86FD" name="GL_SURFACE_REGISTERED_NV"/>
+ <enum value="0x86FE" name="GL_SIGNED_RGB_NV"/>
+ <enum value="0x86FF" name="GL_SIGNED_RGB8_NV"/>
+ <enum value="0x8700" name="GL_SURFACE_MAPPED_NV"/>
+ <enum value="0x8701" name="GL_SIGNED_LUMINANCE_NV"/>
+ <enum value="0x8702" name="GL_SIGNED_LUMINANCE8_NV"/>
+ <enum value="0x8703" name="GL_SIGNED_LUMINANCE_ALPHA_NV"/>
+ <enum value="0x8704" name="GL_SIGNED_LUMINANCE8_ALPHA8_NV"/>
+ <enum value="0x8705" name="GL_SIGNED_ALPHA_NV"/>
+ <enum value="0x8706" name="GL_SIGNED_ALPHA8_NV"/>
+ <enum value="0x8707" name="GL_SIGNED_INTENSITY_NV"/>
+ <enum value="0x8708" name="GL_SIGNED_INTENSITY8_NV"/>
+ <enum value="0x8709" name="GL_DSDT8_NV"/>
+ <enum value="0x870A" name="GL_DSDT8_MAG8_NV"/>
+ <enum value="0x870B" name="GL_DSDT8_MAG8_INTENSITY8_NV"/>
+ <enum value="0x870C" name="GL_SIGNED_RGB_UNSIGNED_ALPHA_NV"/>
+ <enum value="0x870D" name="GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV"/>
+ <enum value="0x870E" name="GL_HI_SCALE_NV"/>
+ <enum value="0x870F" name="GL_LO_SCALE_NV"/>
+ <enum value="0x8710" name="GL_DS_SCALE_NV"/>
+ <enum value="0x8711" name="GL_DT_SCALE_NV"/>
+ <enum value="0x8712" name="GL_MAGNITUDE_SCALE_NV"/>
+ <enum value="0x8713" name="GL_VIBRANCE_SCALE_NV"/>
+ <enum value="0x8714" name="GL_HI_BIAS_NV"/>
+ <enum value="0x8715" name="GL_LO_BIAS_NV"/>
+ <enum value="0x8716" name="GL_DS_BIAS_NV"/>
+ <enum value="0x8717" name="GL_DT_BIAS_NV"/>
+ <enum value="0x8718" name="GL_MAGNITUDE_BIAS_NV"/>
+ <enum value="0x8719" name="GL_VIBRANCE_BIAS_NV"/>
+ <enum value="0x871A" name="GL_TEXTURE_BORDER_VALUES_NV"/>
+ <enum value="0x871B" name="GL_TEXTURE_HI_SIZE_NV"/>
+ <enum value="0x871C" name="GL_TEXTURE_LO_SIZE_NV"/>
+ <enum value="0x871D" name="GL_TEXTURE_DS_SIZE_NV"/>
+ <enum value="0x871E" name="GL_TEXTURE_DT_SIZE_NV"/>
+ <enum value="0x871F" name="GL_TEXTURE_MAG_SIZE_NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8720" end="0x873F" vendor="ARB">
+ <unused start="0x8720" end="0x8721" comment="MODELVIEW0/1 already exist"/>
+ <enum value="0x8722" name="GL_MODELVIEW2_ARB"/>
+ <enum value="0x8723" name="GL_MODELVIEW3_ARB"/>
+ <enum value="0x8724" name="GL_MODELVIEW4_ARB"/>
+ <enum value="0x8725" name="GL_MODELVIEW5_ARB"/>
+ <enum value="0x8726" name="GL_MODELVIEW6_ARB"/>
+ <enum value="0x8727" name="GL_MODELVIEW7_ARB"/>
+ <enum value="0x8728" name="GL_MODELVIEW8_ARB"/>
+ <enum value="0x8729" name="GL_MODELVIEW9_ARB"/>
+ <enum value="0x872A" name="GL_MODELVIEW10_ARB"/>
+ <enum value="0x872B" name="GL_MODELVIEW11_ARB"/>
+ <enum value="0x872C" name="GL_MODELVIEW12_ARB"/>
+ <enum value="0x872D" name="GL_MODELVIEW13_ARB"/>
+ <enum value="0x872E" name="GL_MODELVIEW14_ARB"/>
+ <enum value="0x872F" name="GL_MODELVIEW15_ARB"/>
+ <enum value="0x8730" name="GL_MODELVIEW16_ARB"/>
+ <enum value="0x8731" name="GL_MODELVIEW17_ARB"/>
+ <enum value="0x8732" name="GL_MODELVIEW18_ARB"/>
+ <enum value="0x8733" name="GL_MODELVIEW19_ARB"/>
+ <enum value="0x8734" name="GL_MODELVIEW20_ARB"/>
+ <enum value="0x8735" name="GL_MODELVIEW21_ARB"/>
+ <enum value="0x8736" name="GL_MODELVIEW22_ARB"/>
+ <enum value="0x8737" name="GL_MODELVIEW23_ARB"/>
+ <enum value="0x8738" name="GL_MODELVIEW24_ARB"/>
+ <enum value="0x8739" name="GL_MODELVIEW25_ARB"/>
+ <enum value="0x873A" name="GL_MODELVIEW26_ARB"/>
+ <enum value="0x873B" name="GL_MODELVIEW27_ARB"/>
+ <enum value="0x873C" name="GL_MODELVIEW28_ARB"/>
+ <enum value="0x873D" name="GL_MODELVIEW29_ARB"/>
+ <enum value="0x873E" name="GL_MODELVIEW30_ARB"/>
+ <enum value="0x873F" name="GL_MODELVIEW31_ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8740" end="0x874F" vendor="AMD">
+ <enum value="0x8740" name="GL_DOT3_RGB_EXT"/>
+ <enum value="0x8740" name="GL_Z400_BINARY_AMD" comment="NOT an alias. Accidental reuse of GL_DOT3_RGB_EXT"/>
+ <enum value="0x8741" name="GL_DOT3_RGBA_EXT"/>
+ <enum value="0x8741" name="GL_PROGRAM_BINARY_LENGTH_OES" comment="NOT an alias. Accidental reuse of GL_DOT3_RGBA_EXT"/>
+ <enum value="0x8741" name="GL_PROGRAM_BINARY_LENGTH"/>
+ <enum value="0x8742" name="GL_MIRROR_CLAMP_ATI"/>
+ <enum value="0x8742" name="GL_MIRROR_CLAMP_EXT"/>
+ <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE"/>
+ <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE_ATI"/>
+ <enum value="0x8743" name="GL_MIRROR_CLAMP_TO_EDGE_EXT"/>
+ <enum value="0x8744" name="GL_MODULATE_ADD_ATI"/>
+ <enum value="0x8745" name="GL_MODULATE_SIGNED_ADD_ATI"/>
+ <enum value="0x8746" name="GL_MODULATE_SUBTRACT_ATI"/>
+ <unused start="0x8747" end="0x8749" vendor="AMD"/>
+ <enum value="0x874A" name="GL_SET_AMD"/>
+ <enum value="0x874B" name="GL_REPLACE_VALUE_AMD"/>
+ <enum value="0x874C" name="GL_STENCIL_OP_VALUE_AMD"/>
+ <enum value="0x874D" name="GL_STENCIL_BACK_OP_VALUE_AMD"/>
+ <enum value="0x874E" name="GL_VERTEX_ATTRIB_ARRAY_LONG"/>
+ <enum value="0x874F" name="GL_OCCLUSION_QUERY_EVENT_MASK_AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8750" end="0x875F" vendor="MESA">
+ <enum value="0x8750" name="GL_DEPTH_STENCIL_MESA"/>
+ <enum value="0x8751" name="GL_UNSIGNED_INT_24_8_MESA"/>
+ <enum value="0x8752" name="GL_UNSIGNED_INT_8_24_REV_MESA"/>
+ <enum value="0x8753" name="GL_UNSIGNED_SHORT_15_1_MESA"/>
+ <enum value="0x8754" name="GL_UNSIGNED_SHORT_1_15_REV_MESA"/>
+ <enum value="0x8755" name="GL_TRACE_MASK_MESA"/>
+ <enum value="0x8756" name="GL_TRACE_NAME_MESA"/>
+ <enum value="0x8757" name="GL_YCBCR_MESA"/>
+ <enum value="0x8758" name="GL_PACK_INVERT_MESA"/>
+ <enum value="0x8759" name="GL_DEBUG_OBJECT_MESA" comment="NOT an alias. Accidental reuse of GL_TEXTURE_1D_STACK_MESAX"/>
+ <enum value="0x8759" name="GL_TEXTURE_1D_STACK_MESAX"/>
+ <enum value="0x875A" name="GL_DEBUG_PRINT_MESA" comment="NOT an alias. Accidental reuse of GL_TEXTURE_2D_STACK_MESAX"/>
+ <enum value="0x875A" name="GL_TEXTURE_2D_STACK_MESAX"/>
+ <enum value="0x875B" name="GL_DEBUG_ASSERT_MESA" comment="NOT an alias. Accidental reuse of GL_PROXY_TEXTURE_1D_STACK_MESAX"/>
+ <enum value="0x875B" name="GL_PROXY_TEXTURE_1D_STACK_MESAX"/>
+ <enum value="0x875C" name="GL_PROXY_TEXTURE_2D_STACK_MESAX"/>
+ <enum value="0x875D" name="GL_TEXTURE_1D_STACK_BINDING_MESAX"/>
+ <enum value="0x875E" name="GL_TEXTURE_2D_STACK_BINDING_MESAX"/>
+ <unused start="0x875F" vendor="MESA"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8760" end="0x883F" vendor="AMD">
+ <enum value="0x8760" name="GL_STATIC_ATI"/>
+ <enum value="0x8761" name="GL_DYNAMIC_ATI"/>
+ <enum value="0x8762" name="GL_PRESERVE_ATI"/>
+ <enum value="0x8763" name="GL_DISCARD_ATI"/>
+ <enum value="0x8764" name="GL_BUFFER_SIZE"/>
+ <enum value="0x8764" name="GL_BUFFER_SIZE_ARB"/>
+ <enum value="0x8764" name="GL_OBJECT_BUFFER_SIZE_ATI"/>
+ <enum value="0x8765" name="GL_BUFFER_USAGE"/>
+ <enum value="0x8765" name="GL_BUFFER_USAGE_ARB"/>
+ <enum value="0x8765" name="GL_OBJECT_BUFFER_USAGE_ATI"/>
+ <enum value="0x8766" name="GL_ARRAY_OBJECT_BUFFER_ATI"/>
+ <enum value="0x8767" name="GL_ARRAY_OBJECT_OFFSET_ATI"/>
+ <enum value="0x8768" name="GL_ELEMENT_ARRAY_ATI"/>
+ <enum value="0x8769" name="GL_ELEMENT_ARRAY_TYPE_ATI"/>
+ <enum value="0x876A" name="GL_ELEMENT_ARRAY_POINTER_ATI"/>
+ <enum value="0x876B" name="GL_MAX_VERTEX_STREAMS_ATI"/>
+ <enum value="0x876C" name="GL_VERTEX_STREAM0_ATI"/>
+ <enum value="0x876D" name="GL_VERTEX_STREAM1_ATI"/>
+ <enum value="0x876E" name="GL_VERTEX_STREAM2_ATI"/>
+ <enum value="0x876F" name="GL_VERTEX_STREAM3_ATI"/>
+ <enum value="0x8770" name="GL_VERTEX_STREAM4_ATI"/>
+ <enum value="0x8771" name="GL_VERTEX_STREAM5_ATI"/>
+ <enum value="0x8772" name="GL_VERTEX_STREAM6_ATI"/>
+ <enum value="0x8773" name="GL_VERTEX_STREAM7_ATI"/>
+ <enum value="0x8774" name="GL_VERTEX_SOURCE_ATI"/>
+ <enum value="0x8775" name="GL_BUMP_ROT_MATRIX_ATI"/>
+ <enum value="0x8776" name="GL_BUMP_ROT_MATRIX_SIZE_ATI"/>
+ <enum value="0x8777" name="GL_BUMP_NUM_TEX_UNITS_ATI"/>
+ <enum value="0x8778" name="GL_BUMP_TEX_UNITS_ATI"/>
+ <enum value="0x8779" name="GL_DUDV_ATI"/>
+ <enum value="0x877A" name="GL_DU8DV8_ATI"/>
+ <enum value="0x877B" name="GL_BUMP_ENVMAP_ATI"/>
+ <enum value="0x877C" name="GL_BUMP_TARGET_ATI"/>
+ <unused start="0x877D" end="0x877F" vendor="AMD"/>
+ <enum value="0x8780" name="GL_VERTEX_SHADER_EXT"/>
+ <enum value="0x8781" name="GL_VERTEX_SHADER_BINDING_EXT"/>
+ <enum value="0x8782" name="GL_OP_INDEX_EXT"/>
+ <enum value="0x8783" name="GL_OP_NEGATE_EXT"/>
+ <enum value="0x8784" name="GL_OP_DOT3_EXT"/>
+ <enum value="0x8785" name="GL_OP_DOT4_EXT"/>
+ <enum value="0x8786" name="GL_OP_MUL_EXT"/>
+ <enum value="0x8787" name="GL_OP_ADD_EXT"/>
+ <enum value="0x8788" name="GL_OP_MADD_EXT"/>
+ <enum value="0x8789" name="GL_OP_FRAC_EXT"/>
+ <enum value="0x878A" name="GL_OP_MAX_EXT"/>
+ <enum value="0x878B" name="GL_OP_MIN_EXT"/>
+ <enum value="0x878C" name="GL_OP_SET_GE_EXT"/>
+ <enum value="0x878D" name="GL_OP_SET_LT_EXT"/>
+ <enum value="0x878E" name="GL_OP_CLAMP_EXT"/>
+ <enum value="0x878F" name="GL_OP_FLOOR_EXT"/>
+ <enum value="0x8790" name="GL_OP_ROUND_EXT"/>
+ <enum value="0x8791" name="GL_OP_EXP_BASE_2_EXT"/>
+ <enum value="0x8792" name="GL_OP_LOG_BASE_2_EXT"/>
+ <enum value="0x8793" name="GL_OP_POWER_EXT"/>
+ <enum value="0x8794" name="GL_OP_RECIP_EXT"/>
+ <enum value="0x8795" name="GL_OP_RECIP_SQRT_EXT"/>
+ <enum value="0x8796" name="GL_OP_SUB_EXT"/>
+ <enum value="0x8797" name="GL_OP_CROSS_PRODUCT_EXT"/>
+ <enum value="0x8798" name="GL_OP_MULTIPLY_MATRIX_EXT"/>
+ <enum value="0x8799" name="GL_OP_MOV_EXT"/>
+ <enum value="0x879A" name="GL_OUTPUT_VERTEX_EXT"/>
+ <enum value="0x879B" name="GL_OUTPUT_COLOR0_EXT"/>
+ <enum value="0x879C" name="GL_OUTPUT_COLOR1_EXT"/>
+ <enum value="0x879D" name="GL_OUTPUT_TEXTURE_COORD0_EXT"/>
+ <enum value="0x879E" name="GL_OUTPUT_TEXTURE_COORD1_EXT"/>
+ <enum value="0x879F" name="GL_OUTPUT_TEXTURE_COORD2_EXT"/>
+ <enum value="0x87A0" name="GL_OUTPUT_TEXTURE_COORD3_EXT"/>
+ <enum value="0x87A1" name="GL_OUTPUT_TEXTURE_COORD4_EXT"/>
+ <enum value="0x87A2" name="GL_OUTPUT_TEXTURE_COORD5_EXT"/>
+ <enum value="0x87A3" name="GL_OUTPUT_TEXTURE_COORD6_EXT"/>
+ <enum value="0x87A4" name="GL_OUTPUT_TEXTURE_COORD7_EXT"/>
+ <enum value="0x87A5" name="GL_OUTPUT_TEXTURE_COORD8_EXT"/>
+ <enum value="0x87A6" name="GL_OUTPUT_TEXTURE_COORD9_EXT"/>
+ <enum value="0x87A7" name="GL_OUTPUT_TEXTURE_COORD10_EXT"/>
+ <enum value="0x87A8" name="GL_OUTPUT_TEXTURE_COORD11_EXT"/>
+ <enum value="0x87A9" name="GL_OUTPUT_TEXTURE_COORD12_EXT"/>
+ <enum value="0x87AA" name="GL_OUTPUT_TEXTURE_COORD13_EXT"/>
+ <enum value="0x87AB" name="GL_OUTPUT_TEXTURE_COORD14_EXT"/>
+ <enum value="0x87AC" name="GL_OUTPUT_TEXTURE_COORD15_EXT"/>
+ <enum value="0x87AD" name="GL_OUTPUT_TEXTURE_COORD16_EXT"/>
+ <enum value="0x87AE" name="GL_OUTPUT_TEXTURE_COORD17_EXT"/>
+ <enum value="0x87AF" name="GL_OUTPUT_TEXTURE_COORD18_EXT"/>
+ <enum value="0x87B0" name="GL_OUTPUT_TEXTURE_COORD19_EXT"/>
+ <enum value="0x87B1" name="GL_OUTPUT_TEXTURE_COORD20_EXT"/>
+ <enum value="0x87B2" name="GL_OUTPUT_TEXTURE_COORD21_EXT"/>
+ <enum value="0x87B3" name="GL_OUTPUT_TEXTURE_COORD22_EXT"/>
+ <enum value="0x87B4" name="GL_OUTPUT_TEXTURE_COORD23_EXT"/>
+ <enum value="0x87B5" name="GL_OUTPUT_TEXTURE_COORD24_EXT"/>
+ <enum value="0x87B6" name="GL_OUTPUT_TEXTURE_COORD25_EXT"/>
+ <enum value="0x87B7" name="GL_OUTPUT_TEXTURE_COORD26_EXT"/>
+ <enum value="0x87B8" name="GL_OUTPUT_TEXTURE_COORD27_EXT"/>
+ <enum value="0x87B9" name="GL_OUTPUT_TEXTURE_COORD28_EXT"/>
+ <enum value="0x87BA" name="GL_OUTPUT_TEXTURE_COORD29_EXT"/>
+ <enum value="0x87BB" name="GL_OUTPUT_TEXTURE_COORD30_EXT"/>
+ <enum value="0x87BC" name="GL_OUTPUT_TEXTURE_COORD31_EXT"/>
+ <enum value="0x87BD" name="GL_OUTPUT_FOG_EXT"/>
+ <enum value="0x87BE" name="GL_SCALAR_EXT"/>
+ <enum value="0x87BF" name="GL_VECTOR_EXT"/>
+ <enum value="0x87C0" name="GL_MATRIX_EXT"/>
+ <enum value="0x87C1" name="GL_VARIANT_EXT"/>
+ <enum value="0x87C2" name="GL_INVARIANT_EXT"/>
+ <enum value="0x87C3" name="GL_LOCAL_CONSTANT_EXT"/>
+ <enum value="0x87C4" name="GL_LOCAL_EXT"/>
+ <enum value="0x87C5" name="GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+ <enum value="0x87C6" name="GL_MAX_VERTEX_SHADER_VARIANTS_EXT"/>
+ <enum value="0x87C7" name="GL_MAX_VERTEX_SHADER_INVARIANTS_EXT"/>
+ <enum value="0x87C8" name="GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+ <enum value="0x87C9" name="GL_MAX_VERTEX_SHADER_LOCALS_EXT"/>
+ <enum value="0x87CA" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+ <enum value="0x87CB" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT"/>
+ <enum value="0x87CC" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+ <enum value="0x87CD" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT"/>
+ <enum value="0x87CE" name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT"/>
+ <enum value="0x87CF" name="GL_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+ <enum value="0x87D0" name="GL_VERTEX_SHADER_VARIANTS_EXT"/>
+ <enum value="0x87D1" name="GL_VERTEX_SHADER_INVARIANTS_EXT"/>
+ <enum value="0x87D2" name="GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+ <enum value="0x87D3" name="GL_VERTEX_SHADER_LOCALS_EXT"/>
+ <enum value="0x87D4" name="GL_VERTEX_SHADER_OPTIMIZED_EXT"/>
+ <enum value="0x87D5" name="GL_X_EXT"/>
+ <enum value="0x87D6" name="GL_Y_EXT"/>
+ <enum value="0x87D7" name="GL_Z_EXT"/>
+ <enum value="0x87D8" name="GL_W_EXT"/>
+ <enum value="0x87D9" name="GL_NEGATIVE_X_EXT"/>
+ <enum value="0x87DA" name="GL_NEGATIVE_Y_EXT"/>
+ <enum value="0x87DB" name="GL_NEGATIVE_Z_EXT"/>
+ <enum value="0x87DC" name="GL_NEGATIVE_W_EXT"/>
+ <enum value="0x87DD" name="GL_ZERO_EXT"/>
+ <enum value="0x87DE" name="GL_ONE_EXT"/>
+ <enum value="0x87DF" name="GL_NEGATIVE_ONE_EXT"/>
+ <enum value="0x87E0" name="GL_NORMALIZED_RANGE_EXT"/>
+ <enum value="0x87E1" name="GL_FULL_RANGE_EXT"/>
+ <enum value="0x87E2" name="GL_CURRENT_VERTEX_EXT"/>
+ <enum value="0x87E3" name="GL_MVP_MATRIX_EXT"/>
+ <enum value="0x87E4" name="GL_VARIANT_VALUE_EXT"/>
+ <enum value="0x87E5" name="GL_VARIANT_DATATYPE_EXT"/>
+ <enum value="0x87E6" name="GL_VARIANT_ARRAY_STRIDE_EXT"/>
+ <enum value="0x87E7" name="GL_VARIANT_ARRAY_TYPE_EXT"/>
+ <enum value="0x87E8" name="GL_VARIANT_ARRAY_EXT"/>
+ <enum value="0x87E9" name="GL_VARIANT_ARRAY_POINTER_EXT"/>
+ <enum value="0x87EA" name="GL_INVARIANT_VALUE_EXT"/>
+ <enum value="0x87EB" name="GL_INVARIANT_DATATYPE_EXT"/>
+ <enum value="0x87EC" name="GL_LOCAL_CONSTANT_VALUE_EXT"/>
+ <enum value="0x87ED" name="GL_LOCAL_CONSTANT_DATATYPE_EXT"/>
+ <enum value="0x87EE" name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD"/>
+ <enum value="0x87F0" name="GL_PN_TRIANGLES_ATI"/>
+ <enum value="0x87F1" name="GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
+ <enum value="0x87F2" name="GL_PN_TRIANGLES_POINT_MODE_ATI"/>
+ <enum value="0x87F3" name="GL_PN_TRIANGLES_NORMAL_MODE_ATI"/>
+ <enum value="0x87F4" name="GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
+ <enum value="0x87F5" name="GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI"/>
+ <enum value="0x87F6" name="GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI"/>
+ <enum value="0x87F7" name="GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI"/>
+ <enum value="0x87F8" name="GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI"/>
+ <enum value="0x87F9" name="GL_3DC_X_AMD"/>
+ <enum value="0x87FA" name="GL_3DC_XY_AMD"/>
+ <enum value="0x87FB" name="GL_VBO_FREE_MEMORY_ATI"/>
+ <enum value="0x87FC" name="GL_TEXTURE_FREE_MEMORY_ATI"/>
+ <enum value="0x87FD" name="GL_RENDERBUFFER_FREE_MEMORY_ATI"/>
+ <enum value="0x87FE" name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+ <enum value="0x87FE" name="GL_NUM_PROGRAM_BINARY_FORMATS_OES"/>
+ <enum value="0x87FF" name="GL_PROGRAM_BINARY_FORMATS"/>
+ <enum value="0x87FF" name="GL_PROGRAM_BINARY_FORMATS_OES"/>
+ <enum value="0x8800" name="GL_STENCIL_BACK_FUNC"/>
+ <enum value="0x8800" name="GL_STENCIL_BACK_FUNC_ATI"/>
+ <enum value="0x8801" name="GL_STENCIL_BACK_FAIL"/>
+ <enum value="0x8801" name="GL_STENCIL_BACK_FAIL_ATI"/>
+ <enum value="0x8802" name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
+ <enum value="0x8802" name="GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI"/>
+ <enum value="0x8803" name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
+ <enum value="0x8803" name="GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI"/>
+ <enum value="0x8804" name="GL_FRAGMENT_PROGRAM_ARB"/>
+ <enum value="0x8805" name="GL_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
+ <enum value="0x8806" name="GL_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
+ <enum value="0x8807" name="GL_PROGRAM_TEX_INDIRECTIONS_ARB"/>
+ <enum value="0x8808" name="GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
+ <enum value="0x8809" name="GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
+ <enum value="0x880A" name="GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
+ <enum value="0x880B" name="GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
+ <enum value="0x880C" name="GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
+ <enum value="0x880D" name="GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"/>
+ <enum value="0x880E" name="GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
+ <enum value="0x880F" name="GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
+ <enum value="0x8810" name="GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
+ <unused start="0x8811" end="0x8813" vendor="AMD"/>
+ <enum value="0x8814" name="GL_RGBA32F"/>
+ <enum value="0x8814" name="GL_RGBA32F_ARB"/>
+ <enum value="0x8814" name="GL_RGBA32F_EXT"/>
+ <enum value="0x8814" name="GL_RGBA_FLOAT32_APPLE"/>
+ <enum value="0x8814" name="GL_RGBA_FLOAT32_ATI"/>
+ <enum value="0x8815" name="GL_RGB32F"/>
+ <enum value="0x8815" name="GL_RGB32F_ARB"/>
+ <enum value="0x8815" name="GL_RGB32F_EXT"/>
+ <enum value="0x8815" name="GL_RGB_FLOAT32_APPLE"/>
+ <enum value="0x8815" name="GL_RGB_FLOAT32_ATI"/>
+ <enum value="0x8816" name="GL_ALPHA32F_ARB"/>
+ <enum value="0x8816" name="GL_ALPHA32F_EXT"/>
+ <enum value="0x8816" name="GL_ALPHA_FLOAT32_APPLE"/>
+ <enum value="0x8816" name="GL_ALPHA_FLOAT32_ATI"/>
+ <enum value="0x8817" name="GL_INTENSITY32F_ARB"/>
+ <enum value="0x8817" name="GL_INTENSITY_FLOAT32_APPLE"/>
+ <enum value="0x8817" name="GL_INTENSITY_FLOAT32_ATI"/>
+ <enum value="0x8818" name="GL_LUMINANCE32F_ARB"/>
+ <enum value="0x8818" name="GL_LUMINANCE32F_EXT"/>
+ <enum value="0x8818" name="GL_LUMINANCE_FLOAT32_APPLE"/>
+ <enum value="0x8818" name="GL_LUMINANCE_FLOAT32_ATI"/>
+ <enum value="0x8819" name="GL_LUMINANCE_ALPHA32F_ARB"/>
+ <enum value="0x8819" name="GL_LUMINANCE_ALPHA32F_EXT"/>
+ <enum value="0x8819" name="GL_LUMINANCE_ALPHA_FLOAT32_APPLE"/>
+ <enum value="0x8819" name="GL_LUMINANCE_ALPHA_FLOAT32_ATI"/>
+ <enum value="0x881A" name="GL_RGBA16F"/>
+ <enum value="0x881A" name="GL_RGBA16F_ARB"/>
+ <enum value="0x881A" name="GL_RGBA16F_EXT"/>
+ <enum value="0x881A" name="GL_RGBA_FLOAT16_APPLE"/>
+ <enum value="0x881A" name="GL_RGBA_FLOAT16_ATI"/>
+ <enum value="0x881B" name="GL_RGB16F"/>
+ <enum value="0x881B" name="GL_RGB16F_ARB"/>
+ <enum value="0x881B" name="GL_RGB16F_EXT"/>
+ <enum value="0x881B" name="GL_RGB_FLOAT16_APPLE"/>
+ <enum value="0x881B" name="GL_RGB_FLOAT16_ATI"/>
+ <enum value="0x881C" name="GL_ALPHA16F_ARB"/>
+ <enum value="0x881C" name="GL_ALPHA16F_EXT"/>
+ <enum value="0x881C" name="GL_ALPHA_FLOAT16_APPLE"/>
+ <enum value="0x881C" name="GL_ALPHA_FLOAT16_ATI"/>
+ <enum value="0x881D" name="GL_INTENSITY16F_ARB"/>
+ <enum value="0x881D" name="GL_INTENSITY_FLOAT16_APPLE"/>
+ <enum value="0x881D" name="GL_INTENSITY_FLOAT16_ATI"/>
+ <enum value="0x881E" name="GL_LUMINANCE16F_ARB"/>
+ <enum value="0x881E" name="GL_LUMINANCE16F_EXT"/>
+ <enum value="0x881E" name="GL_LUMINANCE_FLOAT16_APPLE"/>
+ <enum value="0x881E" name="GL_LUMINANCE_FLOAT16_ATI"/>
+ <enum value="0x881F" name="GL_LUMINANCE_ALPHA16F_ARB"/>
+ <enum value="0x881F" name="GL_LUMINANCE_ALPHA16F_EXT"/>
+ <enum value="0x881F" name="GL_LUMINANCE_ALPHA_FLOAT16_APPLE"/>
+ <enum value="0x881F" name="GL_LUMINANCE_ALPHA_FLOAT16_ATI"/>
+ <!-- RGBA_FLOAT_MODE_ARB equivalent to TYPE_RGBA_FLOAT_ATI -->
+ <enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ARB"/>
+ <enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ATI"/>
+ <unused start="0x8821" end="0x8822" vendor="AMD"/>
+ <enum value="0x8823" name="GL_WRITEONLY_RENDERING_QCOM"/>
+ <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS"/>
+ <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_ARB"/>
+ <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_ATI"/>
+ <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_EXT"/>
+ <enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_NV"/>
+ <enum value="0x8825" name="GL_DRAW_BUFFER0"/>
+ <enum value="0x8825" name="GL_DRAW_BUFFER0_ARB"/>
+ <enum value="0x8825" name="GL_DRAW_BUFFER0_ATI"/>
+ <enum value="0x8825" name="GL_DRAW_BUFFER0_EXT"/>
+ <enum value="0x8825" name="GL_DRAW_BUFFER0_NV"/>
+ <enum value="0x8826" name="GL_DRAW_BUFFER1"/>
+ <enum value="0x8826" name="GL_DRAW_BUFFER1_ARB"/>
+ <enum value="0x8826" name="GL_DRAW_BUFFER1_ATI"/>
+ <enum value="0x8826" name="GL_DRAW_BUFFER1_EXT"/>
+ <enum value="0x8826" name="GL_DRAW_BUFFER1_NV"/>
+ <enum value="0x8827" name="GL_DRAW_BUFFER2"/>
+ <enum value="0x8827" name="GL_DRAW_BUFFER2_ARB"/>
+ <enum value="0x8827" name="GL_DRAW_BUFFER2_ATI"/>
+ <enum value="0x8827" name="GL_DRAW_BUFFER2_EXT"/>
+ <enum value="0x8827" name="GL_DRAW_BUFFER2_NV"/>
+ <enum value="0x8828" name="GL_DRAW_BUFFER3"/>
+ <enum value="0x8828" name="GL_DRAW_BUFFER3_ARB"/>
+ <enum value="0x8828" name="GL_DRAW_BUFFER3_ATI"/>
+ <enum value="0x8828" name="GL_DRAW_BUFFER3_EXT"/>
+ <enum value="0x8828" name="GL_DRAW_BUFFER3_NV"/>
+ <enum value="0x8829" name="GL_DRAW_BUFFER4"/>
+ <enum value="0x8829" name="GL_DRAW_BUFFER4_ARB"/>
+ <enum value="0x8829" name="GL_DRAW_BUFFER4_ATI"/>
+ <enum value="0x8829" name="GL_DRAW_BUFFER4_EXT"/>
+ <enum value="0x8829" name="GL_DRAW_BUFFER4_NV"/>
+ <enum value="0x882A" name="GL_DRAW_BUFFER5"/>
+ <enum value="0x882A" name="GL_DRAW_BUFFER5_ARB"/>
+ <enum value="0x882A" name="GL_DRAW_BUFFER5_ATI"/>
+ <enum value="0x882A" name="GL_DRAW_BUFFER5_EXT"/>
+ <enum value="0x882A" name="GL_DRAW_BUFFER5_NV"/>
+ <enum value="0x882B" name="GL_DRAW_BUFFER6"/>
+ <enum value="0x882B" name="GL_DRAW_BUFFER6_ARB"/>
+ <enum value="0x882B" name="GL_DRAW_BUFFER6_ATI"/>
+ <enum value="0x882B" name="GL_DRAW_BUFFER6_EXT"/>
+ <enum value="0x882B" name="GL_DRAW_BUFFER6_NV"/>
+ <enum value="0x882C" name="GL_DRAW_BUFFER7"/>
+ <enum value="0x882C" name="GL_DRAW_BUFFER7_ARB"/>
+ <enum value="0x882C" name="GL_DRAW_BUFFER7_ATI"/>
+ <enum value="0x882C" name="GL_DRAW_BUFFER7_EXT"/>
+ <enum value="0x882C" name="GL_DRAW_BUFFER7_NV"/>
+ <enum value="0x882D" name="GL_DRAW_BUFFER8"/>
+ <enum value="0x882D" name="GL_DRAW_BUFFER8_ARB"/>
+ <enum value="0x882D" name="GL_DRAW_BUFFER8_ATI"/>
+ <enum value="0x882D" name="GL_DRAW_BUFFER8_EXT"/>
+ <enum value="0x882D" name="GL_DRAW_BUFFER8_NV"/>
+ <enum value="0x882E" name="GL_DRAW_BUFFER9"/>
+ <enum value="0x882E" name="GL_DRAW_BUFFER9_ARB"/>
+ <enum value="0x882E" name="GL_DRAW_BUFFER9_ATI"/>
+ <enum value="0x882E" name="GL_DRAW_BUFFER9_EXT"/>
+ <enum value="0x882E" name="GL_DRAW_BUFFER9_NV"/>
+ <enum value="0x882F" name="GL_DRAW_BUFFER10"/>
+ <enum value="0x882F" name="GL_DRAW_BUFFER10_ARB"/>
+ <enum value="0x882F" name="GL_DRAW_BUFFER10_ATI"/>
+ <enum value="0x882F" name="GL_DRAW_BUFFER10_EXT"/>
+ <enum value="0x882F" name="GL_DRAW_BUFFER10_NV"/>
+ <enum value="0x8830" name="GL_DRAW_BUFFER11"/>
+ <enum value="0x8830" name="GL_DRAW_BUFFER11_ARB"/>
+ <enum value="0x8830" name="GL_DRAW_BUFFER11_ATI"/>
+ <enum value="0x8830" name="GL_DRAW_BUFFER11_EXT"/>
+ <enum value="0x8830" name="GL_DRAW_BUFFER11_NV"/>
+ <enum value="0x8831" name="GL_DRAW_BUFFER12"/>
+ <enum value="0x8831" name="GL_DRAW_BUFFER12_ARB"/>
+ <enum value="0x8831" name="GL_DRAW_BUFFER12_ATI"/>
+ <enum value="0x8831" name="GL_DRAW_BUFFER12_EXT"/>
+ <enum value="0x8831" name="GL_DRAW_BUFFER12_NV"/>
+ <enum value="0x8832" name="GL_DRAW_BUFFER13"/>
+ <enum value="0x8832" name="GL_DRAW_BUFFER13_ARB"/>
+ <enum value="0x8832" name="GL_DRAW_BUFFER13_ATI"/>
+ <enum value="0x8832" name="GL_DRAW_BUFFER13_EXT"/>
+ <enum value="0x8832" name="GL_DRAW_BUFFER13_NV"/>
+ <enum value="0x8833" name="GL_DRAW_BUFFER14"/>
+ <enum value="0x8833" name="GL_DRAW_BUFFER14_ARB"/>
+ <enum value="0x8833" name="GL_DRAW_BUFFER14_ATI"/>
+ <enum value="0x8833" name="GL_DRAW_BUFFER14_EXT"/>
+ <enum value="0x8833" name="GL_DRAW_BUFFER14_NV"/>
+ <enum value="0x8834" name="GL_DRAW_BUFFER15"/>
+ <enum value="0x8834" name="GL_DRAW_BUFFER15_ARB"/>
+ <enum value="0x8834" name="GL_DRAW_BUFFER15_ATI"/>
+ <enum value="0x8834" name="GL_DRAW_BUFFER15_EXT"/>
+ <enum value="0x8834" name="GL_DRAW_BUFFER15_NV"/>
+ <enum value="0x8835" name="GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI"/>
+ <unused start="0x8836" vendor="AMD"/>
+ <enum value="0x8837" name="GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI" comment="Defined by Mesa but not ATI"/>
+ <unused start="0x8838" end="0x883C" vendor="AMD"/>
+ <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA"/>
+ <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_EXT"/>
+ <enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_OES"/>
+ <unused start="0x883E" vendor="AMD"/>
+ <enum value="0x883F" name="GL_SUBSAMPLE_DISTANCE_AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8840" end="0x884F" vendor="ARB">
+ <enum value="0x8840" name="GL_MATRIX_PALETTE_ARB"/>
+ <enum value="0x8840" name="GL_MATRIX_PALETTE_OES"/>
+ <enum value="0x8841" name="GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"/>
+ <enum value="0x8842" name="GL_MAX_PALETTE_MATRICES_ARB"/>
+ <enum value="0x8842" name="GL_MAX_PALETTE_MATRICES_OES"/>
+ <enum value="0x8843" name="GL_CURRENT_PALETTE_MATRIX_ARB"/>
+ <enum value="0x8843" name="GL_CURRENT_PALETTE_MATRIX_OES"/>
+ <enum value="0x8844" name="GL_MATRIX_INDEX_ARRAY_ARB"/>
+ <enum value="0x8844" name="GL_MATRIX_INDEX_ARRAY_OES"/>
+ <enum value="0x8845" name="GL_CURRENT_MATRIX_INDEX_ARB"/>
+ <enum value="0x8846" name="GL_MATRIX_INDEX_ARRAY_SIZE_ARB"/>
+ <enum value="0x8846" name="GL_MATRIX_INDEX_ARRAY_SIZE_OES"/>
+ <enum value="0x8847" name="GL_MATRIX_INDEX_ARRAY_TYPE_ARB"/>
+ <enum value="0x8847" name="GL_MATRIX_INDEX_ARRAY_TYPE_OES"/>
+ <enum value="0x8848" name="GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"/>
+ <enum value="0x8848" name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES"/>
+ <enum value="0x8849" name="GL_MATRIX_INDEX_ARRAY_POINTER_ARB"/>
+ <enum value="0x8849" name="GL_MATRIX_INDEX_ARRAY_POINTER_OES"/>
+ <enum value="0x884A" name="GL_TEXTURE_DEPTH_SIZE"/>
+ <enum value="0x884A" name="GL_TEXTURE_DEPTH_SIZE_ARB"/>
+ <enum value="0x884B" name="GL_DEPTH_TEXTURE_MODE"/>
+ <enum value="0x884B" name="GL_DEPTH_TEXTURE_MODE_ARB"/>
+ <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE"/>
+ <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE_ARB"/>
+ <enum value="0x884C" name="GL_TEXTURE_COMPARE_MODE_EXT"/>
+ <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC"/>
+ <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC_ARB"/>
+ <enum value="0x884D" name="GL_TEXTURE_COMPARE_FUNC_EXT"/>
+ <enum value="0x884E" name="GL_COMPARE_R_TO_TEXTURE"/>
+ <enum value="0x884E" name="GL_COMPARE_R_TO_TEXTURE_ARB"/>
+ <enum value="0x884E" name="GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT"/>
+ <enum value="0x884E" name="GL_COMPARE_REF_TO_TEXTURE" alias="GL_COMPARE_R_TO_TEXTURE"/>
+ <enum value="0x884E" name="GL_COMPARE_REF_TO_TEXTURE_EXT"/>
+ <enum value="0x884F" name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8850" end="0x891F" vendor="NV">
+ <enum value="0x8850" name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV"/>
+ <enum value="0x8851" name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV"/>
+ <enum value="0x8852" name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x8853" name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV"/>
+ <enum value="0x8854" name="GL_OFFSET_HILO_TEXTURE_2D_NV"/>
+ <enum value="0x8855" name="GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x8856" name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV"/>
+ <enum value="0x8857" name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x8858" name="GL_DEPENDENT_HILO_TEXTURE_2D_NV"/>
+ <enum value="0x8859" name="GL_DEPENDENT_RGB_TEXTURE_3D_NV"/>
+ <enum value="0x885A" name="GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV"/>
+ <enum value="0x885B" name="GL_DOT_PRODUCT_PASS_THROUGH_NV"/>
+ <enum value="0x885C" name="GL_DOT_PRODUCT_TEXTURE_1D_NV"/>
+ <enum value="0x885D" name="GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV"/>
+ <enum value="0x885E" name="GL_HILO8_NV"/>
+ <enum value="0x885F" name="GL_SIGNED_HILO8_NV"/>
+ <enum value="0x8860" name="GL_FORCE_BLUE_TO_ONE_NV"/>
+ <enum value="0x8861" name="GL_POINT_SPRITE"/>
+ <enum value="0x8861" name="GL_POINT_SPRITE_ARB"/>
+ <enum value="0x8861" name="GL_POINT_SPRITE_NV"/>
+ <enum value="0x8861" name="GL_POINT_SPRITE_OES"/>
+ <enum value="0x8862" name="GL_COORD_REPLACE"/>
+ <enum value="0x8862" name="GL_COORD_REPLACE_ARB"/>
+ <enum value="0x8862" name="GL_COORD_REPLACE_NV"/>
+ <enum value="0x8862" name="GL_COORD_REPLACE_OES"/>
+ <enum value="0x8863" name="GL_POINT_SPRITE_R_MODE_NV"/>
+ <enum value="0x8864" name="GL_PIXEL_COUNTER_BITS_NV"/>
+ <enum value="0x8864" name="GL_QUERY_COUNTER_BITS"/>
+ <enum value="0x8864" name="GL_QUERY_COUNTER_BITS_ARB"/>
+ <enum value="0x8864" name="GL_QUERY_COUNTER_BITS_EXT"/>
+ <enum value="0x8865" name="GL_CURRENT_OCCLUSION_QUERY_ID_NV"/>
+ <enum value="0x8865" name="GL_CURRENT_QUERY"/>
+ <enum value="0x8865" name="GL_CURRENT_QUERY_ARB"/>
+ <enum value="0x8865" name="GL_CURRENT_QUERY_EXT"/>
+ <enum value="0x8866" name="GL_PIXEL_COUNT_NV"/>
+ <enum value="0x8866" name="GL_QUERY_RESULT"/>
+ <enum value="0x8866" name="GL_QUERY_RESULT_ARB"/>
+ <enum value="0x8866" name="GL_QUERY_RESULT_EXT"/>
+ <enum value="0x8867" name="GL_PIXEL_COUNT_AVAILABLE_NV"/>
+ <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE"/>
+ <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE_ARB"/>
+ <enum value="0x8867" name="GL_QUERY_RESULT_AVAILABLE_EXT"/>
+ <enum value="0x8868" name="GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"/>
+ <enum value="0x8869" name="GL_MAX_VERTEX_ATTRIBS"/>
+ <enum value="0x8869" name="GL_MAX_VERTEX_ATTRIBS_ARB"/>
+ <enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+ <enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"/>
+ <unused start="0x886B" vendor="NV"/>
+ <enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+ <enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT"/>
+ <enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+ <enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT"/>
+ <enum value="0x886E" name="GL_DEPTH_STENCIL_TO_RGBA_NV"/>
+ <enum value="0x886F" name="GL_DEPTH_STENCIL_TO_BGRA_NV"/>
+ <enum value="0x8870" name="GL_FRAGMENT_PROGRAM_NV"/>
+ <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS"/>
+ <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS_ARB"/>
+ <enum value="0x8871" name="GL_MAX_TEXTURE_COORDS_NV"/>
+ <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum value="0x8872" name="GL_MAX_TEXTURE_IMAGE_UNITS_NV"/>
+ <enum value="0x8873" name="GL_FRAGMENT_PROGRAM_BINDING_NV"/>
+ <enum value="0x8874" name="GL_PROGRAM_ERROR_STRING_ARB"/>
+ <enum value="0x8874" name="GL_PROGRAM_ERROR_STRING_NV"/>
+ <enum value="0x8875" name="GL_PROGRAM_FORMAT_ASCII_ARB"/>
+ <enum value="0x8876" name="GL_PROGRAM_FORMAT_ARB"/>
+ <unused start="0x8877" vendor="NV" comment="Should have been assigned to PROGRAM_BINDING_ARB"/>
+ <enum value="0x8878" name="GL_WRITE_PIXEL_DATA_RANGE_NV"/>
+ <enum value="0x8879" name="GL_READ_PIXEL_DATA_RANGE_NV"/>
+ <enum value="0x887A" name="GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"/>
+ <enum value="0x887B" name="GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"/>
+ <enum value="0x887C" name="GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"/>
+ <enum value="0x887D" name="GL_READ_PIXEL_DATA_RANGE_POINTER_NV"/>
+ <unused start="0x887E" vendor="NV"/>
+ <enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+ <enum value="0x8880" name="GL_FLOAT_R_NV"/>
+ <enum value="0x8881" name="GL_FLOAT_RG_NV"/>
+ <enum value="0x8882" name="GL_FLOAT_RGB_NV"/>
+ <enum value="0x8883" name="GL_FLOAT_RGBA_NV"/>
+ <enum value="0x8884" name="GL_FLOAT_R16_NV"/>
+ <enum value="0x8885" name="GL_FLOAT_R32_NV"/>
+ <enum value="0x8886" name="GL_FLOAT_RG16_NV"/>
+ <enum value="0x8887" name="GL_FLOAT_RG32_NV"/>
+ <enum value="0x8888" name="GL_FLOAT_RGB16_NV"/>
+ <enum value="0x8889" name="GL_FLOAT_RGB32_NV"/>
+ <enum value="0x888A" name="GL_FLOAT_RGBA16_NV"/>
+ <enum value="0x888B" name="GL_FLOAT_RGBA32_NV"/>
+ <enum value="0x888C" name="GL_TEXTURE_FLOAT_COMPONENTS_NV"/>
+ <enum value="0x888D" name="GL_FLOAT_CLEAR_COLOR_VALUE_NV"/>
+ <enum value="0x888E" name="GL_FLOAT_RGBA_MODE_NV"/>
+ <enum value="0x888F" name="GL_TEXTURE_UNSIGNED_REMAP_MODE_NV"/>
+ <enum value="0x8890" name="GL_DEPTH_BOUNDS_TEST_EXT"/>
+ <enum value="0x8891" name="GL_DEPTH_BOUNDS_EXT"/>
+ <enum value="0x8892" name="GL_ARRAY_BUFFER"/>
+ <enum value="0x8892" name="GL_ARRAY_BUFFER_ARB"/>
+ <enum value="0x8893" name="GL_ELEMENT_ARRAY_BUFFER"/>
+ <enum value="0x8893" name="GL_ELEMENT_ARRAY_BUFFER_ARB"/>
+ <enum value="0x8894" name="GL_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x8894" name="GL_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x8895" name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x8895" name="GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x8896" name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x8896" name="GL_VERTEX_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x8897" name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x8897" name="GL_NORMAL_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x8898" name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x8898" name="GL_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x8899" name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x8899" name="GL_INDEX_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x889A" name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x889A" name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x889B" name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x889B" name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x889C" name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x889C" name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x889D" name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x889D" name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x889D" name="GL_FOG_COORD_ARRAY_BUFFER_BINDING" alias="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x889E" name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES"/>
+ <enum value="0x889F" name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+ <enum value="0x889F" name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum value="0x88A0" name="GL_PROGRAM_INSTRUCTIONS_ARB"/>
+ <enum value="0x88A1" name="GL_MAX_PROGRAM_INSTRUCTIONS_ARB"/>
+ <enum value="0x88A2" name="GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+ <enum value="0x88A3" name="GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+ <enum value="0x88A4" name="GL_PROGRAM_TEMPORARIES_ARB"/>
+ <enum value="0x88A5" name="GL_MAX_PROGRAM_TEMPORARIES_ARB"/>
+ <enum value="0x88A6" name="GL_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+ <enum value="0x88A7" name="GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+ <enum value="0x88A8" name="GL_PROGRAM_PARAMETERS_ARB"/>
+ <enum value="0x88A9" name="GL_MAX_PROGRAM_PARAMETERS_ARB"/>
+ <enum value="0x88AA" name="GL_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+ <enum value="0x88AB" name="GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+ <enum value="0x88AC" name="GL_PROGRAM_ATTRIBS_ARB"/>
+ <enum value="0x88AD" name="GL_MAX_PROGRAM_ATTRIBS_ARB"/>
+ <enum value="0x88AE" name="GL_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+ <enum value="0x88AF" name="GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+ <enum value="0x88B0" name="GL_PROGRAM_ADDRESS_REGISTERS_ARB"/>
+ <enum value="0x88B1" name="GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"/>
+ <enum value="0x88B2" name="GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
+ <enum value="0x88B3" name="GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
+ <enum value="0x88B4" name="GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"/>
+ <enum value="0x88B5" name="GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"/>
+ <enum value="0x88B6" name="GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"/>
+ <enum value="0x88B7" name="GL_TRANSPOSE_CURRENT_MATRIX_ARB"/>
+ <enum value="0x88B8" name="GL_READ_ONLY"/>
+ <enum value="0x88B8" name="GL_READ_ONLY_ARB"/>
+ <enum value="0x88B9" name="GL_WRITE_ONLY"/>
+ <enum value="0x88B9" name="GL_WRITE_ONLY_ARB"/>
+ <enum value="0x88B9" name="GL_WRITE_ONLY_OES"/>
+ <enum value="0x88BA" name="GL_READ_WRITE"/>
+ <enum value="0x88BA" name="GL_READ_WRITE_ARB"/>
+ <enum value="0x88BB" name="GL_BUFFER_ACCESS"/>
+ <enum value="0x88BB" name="GL_BUFFER_ACCESS_ARB"/>
+ <enum value="0x88BB" name="GL_BUFFER_ACCESS_OES"/>
+ <enum value="0x88BC" name="GL_BUFFER_MAPPED"/>
+ <enum value="0x88BC" name="GL_BUFFER_MAPPED_ARB"/>
+ <enum value="0x88BC" name="GL_BUFFER_MAPPED_OES"/>
+ <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER"/>
+ <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER_ARB"/>
+ <enum value="0x88BD" name="GL_BUFFER_MAP_POINTER_OES"/>
+ <enum value="0x88BE" name="GL_WRITE_DISCARD_NV"/>
+ <enum value="0x88BF" name="GL_TIME_ELAPSED"/>
+ <enum value="0x88BF" name="GL_TIME_ELAPSED_EXT"/>
+ <enum value="0x88C0" name="GL_MATRIX0_ARB"/>
+ <enum value="0x88C1" name="GL_MATRIX1_ARB"/>
+ <enum value="0x88C2" name="GL_MATRIX2_ARB"/>
+ <enum value="0x88C3" name="GL_MATRIX3_ARB"/>
+ <enum value="0x88C4" name="GL_MATRIX4_ARB"/>
+ <enum value="0x88C5" name="GL_MATRIX5_ARB"/>
+ <enum value="0x88C6" name="GL_MATRIX6_ARB"/>
+ <enum value="0x88C7" name="GL_MATRIX7_ARB"/>
+ <enum value="0x88C8" name="GL_MATRIX8_ARB"/>
+ <enum value="0x88C9" name="GL_MATRIX9_ARB"/>
+ <enum value="0x88CA" name="GL_MATRIX10_ARB"/>
+ <enum value="0x88CB" name="GL_MATRIX11_ARB"/>
+ <enum value="0x88CC" name="GL_MATRIX12_ARB"/>
+ <enum value="0x88CD" name="GL_MATRIX13_ARB"/>
+ <enum value="0x88CE" name="GL_MATRIX14_ARB"/>
+ <enum value="0x88CF" name="GL_MATRIX15_ARB"/>
+ <enum value="0x88D0" name="GL_MATRIX16_ARB"/>
+ <enum value="0x88D1" name="GL_MATRIX17_ARB"/>
+ <enum value="0x88D2" name="GL_MATRIX18_ARB"/>
+ <enum value="0x88D3" name="GL_MATRIX19_ARB"/>
+ <enum value="0x88D4" name="GL_MATRIX20_ARB"/>
+ <enum value="0x88D5" name="GL_MATRIX21_ARB"/>
+ <enum value="0x88D6" name="GL_MATRIX22_ARB"/>
+ <enum value="0x88D7" name="GL_MATRIX23_ARB"/>
+ <enum value="0x88D8" name="GL_MATRIX24_ARB"/>
+ <enum value="0x88D9" name="GL_MATRIX25_ARB"/>
+ <enum value="0x88DA" name="GL_MATRIX26_ARB"/>
+ <enum value="0x88DB" name="GL_MATRIX27_ARB"/>
+ <enum value="0x88DC" name="GL_MATRIX28_ARB"/>
+ <enum value="0x88DD" name="GL_MATRIX29_ARB"/>
+ <enum value="0x88DE" name="GL_MATRIX30_ARB"/>
+ <enum value="0x88DF" name="GL_MATRIX31_ARB"/>
+ <enum value="0x88E0" name="GL_STREAM_DRAW"/>
+ <enum value="0x88E0" name="GL_STREAM_DRAW_ARB"/>
+ <enum value="0x88E1" name="GL_STREAM_READ"/>
+ <enum value="0x88E1" name="GL_STREAM_READ_ARB"/>
+ <enum value="0x88E2" name="GL_STREAM_COPY"/>
+ <enum value="0x88E2" name="GL_STREAM_COPY_ARB"/>
+ <unused start="0x88E3" vendor="NV" comment="To extend ARB_vbo"/>
+ <enum value="0x88E4" name="GL_STATIC_DRAW"/>
+ <enum value="0x88E4" name="GL_STATIC_DRAW_ARB"/>
+ <enum value="0x88E5" name="GL_STATIC_READ"/>
+ <enum value="0x88E5" name="GL_STATIC_READ_ARB"/>
+ <enum value="0x88E6" name="GL_STATIC_COPY"/>
+ <enum value="0x88E6" name="GL_STATIC_COPY_ARB"/>
+ <unused start="0x88E7" vendor="NV" comment="To extend ARB_vbo"/>
+ <enum value="0x88E8" name="GL_DYNAMIC_DRAW"/>
+ <enum value="0x88E8" name="GL_DYNAMIC_DRAW_ARB"/>
+ <enum value="0x88E9" name="GL_DYNAMIC_READ"/>
+ <enum value="0x88E9" name="GL_DYNAMIC_READ_ARB"/>
+ <enum value="0x88EA" name="GL_DYNAMIC_COPY"/>
+ <enum value="0x88EA" name="GL_DYNAMIC_COPY_ARB"/>
+ <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER"/>
+ <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER_ARB"/>
+ <enum value="0x88EB" name="GL_PIXEL_PACK_BUFFER_EXT"/>
+ <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER"/>
+ <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER_ARB"/>
+ <enum value="0x88EC" name="GL_PIXEL_UNPACK_BUFFER_EXT"/>
+ <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING"/>
+ <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING_ARB"/>
+ <enum value="0x88ED" name="GL_PIXEL_PACK_BUFFER_BINDING_EXT"/>
+ <enum value="0x88EE" name="GL_ETC1_SRGB8_NV"/>
+ <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
+ <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING_ARB"/>
+ <enum value="0x88EF" name="GL_PIXEL_UNPACK_BUFFER_BINDING_EXT"/>
+ <enum value="0x88F0" name="GL_DEPTH24_STENCIL8"/>
+ <enum value="0x88F0" name="GL_DEPTH24_STENCIL8_EXT"/>
+ <enum value="0x88F0" name="GL_DEPTH24_STENCIL8_OES"/>
+ <enum value="0x88F1" name="GL_TEXTURE_STENCIL_SIZE"/>
+ <enum value="0x88F1" name="GL_TEXTURE_STENCIL_SIZE_EXT"/>
+ <enum value="0x88F2" name="GL_STENCIL_TAG_BITS_EXT"/>
+ <enum value="0x88F3" name="GL_STENCIL_CLEAR_TAG_VALUE_EXT"/>
+ <enum value="0x88F4" name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
+ <enum value="0x88F5" name="GL_MAX_PROGRAM_CALL_DEPTH_NV"/>
+ <enum value="0x88F6" name="GL_MAX_PROGRAM_IF_DEPTH_NV"/>
+ <enum value="0x88F7" name="GL_MAX_PROGRAM_LOOP_DEPTH_NV"/>
+ <enum value="0x88F8" name="GL_MAX_PROGRAM_LOOP_COUNT_NV"/>
+ <enum value="0x88F9" name="GL_SRC1_COLOR"/>
+ <enum value="0x88FA" name="GL_ONE_MINUS_SRC1_COLOR"/>
+ <enum value="0x88FB" name="GL_ONE_MINUS_SRC1_ALPHA"/>
+ <enum value="0x88FC" name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"/>
+ <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+ <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT"/>
+ <enum value="0x88FD" name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV"/>
+ <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+ <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE"/>
+ <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"/>
+ <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT"/>
+ <enum value="0x88FE" name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV"/>
+ <enum value="0x88FF" name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
+ <enum value="0x88FF" name="GL_MAX_ARRAY_TEXTURE_LAYERS_EXT"/>
+ <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
+ <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET_EXT"/>
+ <enum value="0x8904" name="GL_MIN_PROGRAM_TEXEL_OFFSET_NV"/>
+ <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
+ <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET_EXT"/>
+ <enum value="0x8905" name="GL_MAX_PROGRAM_TEXEL_OFFSET_NV"/>
+ <enum value="0x8906" name="GL_PROGRAM_ATTRIB_COMPONENTS_NV"/>
+ <enum value="0x8907" name="GL_PROGRAM_RESULT_COMPONENTS_NV"/>
+ <enum value="0x8908" name="GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"/>
+ <enum value="0x8909" name="GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"/>
+ <enum value="0x8910" name="GL_STENCIL_TEST_TWO_SIDE_EXT"/>
+ <enum value="0x8911" name="GL_ACTIVE_STENCIL_FACE_EXT"/>
+ <enum value="0x8912" name="GL_MIRROR_CLAMP_TO_BORDER_EXT"/>
+ <unused start="0x8913" vendor="NV"/>
+ <enum value="0x8914" name="GL_SAMPLES_PASSED"/>
+ <enum value="0x8914" name="GL_SAMPLES_PASSED_ARB"/>
+ <unused start="0x8915" vendor="NV"/>
+ <enum value="0x8916" name="GL_GEOMETRY_VERTICES_OUT"/>
+ <enum value="0x8916" name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"/>
+ <enum value="0x8917" name="GL_GEOMETRY_INPUT_TYPE"/>
+ <enum value="0x8917" name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"/>
+ <enum value="0x8918" name="GL_GEOMETRY_OUTPUT_TYPE"/>
+ <enum value="0x8918" name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"/>
+ <enum value="0x8919" name="GL_SAMPLER_BINDING"/>
+ <enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR"/>
+ <enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR_ARB"/>
+ <enum value="0x891B" name="GL_CLAMP_FRAGMENT_COLOR"/>
+ <enum value="0x891B" name="GL_CLAMP_FRAGMENT_COLOR_ARB"/>
+ <enum value="0x891C" name="GL_CLAMP_READ_COLOR"/>
+ <enum value="0x891C" name="GL_CLAMP_READ_COLOR_ARB"/>
+ <enum value="0x891D" name="GL_FIXED_ONLY"/>
+ <enum value="0x891D" name="GL_FIXED_ONLY_ARB"/>
+ <enum value="0x891E" name="GL_TESS_CONTROL_PROGRAM_NV"/>
+ <enum value="0x891F" name="GL_TESS_EVALUATION_PROGRAM_NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8920" end="0x897F" vendor="AMD">
+ <enum value="0x8920" name="GL_FRAGMENT_SHADER_ATI"/>
+ <enum value="0x8921" name="GL_REG_0_ATI"/>
+ <enum value="0x8922" name="GL_REG_1_ATI"/>
+ <enum value="0x8923" name="GL_REG_2_ATI"/>
+ <enum value="0x8924" name="GL_REG_3_ATI"/>
+ <enum value="0x8925" name="GL_REG_4_ATI"/>
+ <enum value="0x8926" name="GL_REG_5_ATI"/>
+ <enum value="0x8927" name="GL_REG_6_ATI"/>
+ <enum value="0x8928" name="GL_REG_7_ATI"/>
+ <enum value="0x8929" name="GL_REG_8_ATI"/>
+ <enum value="0x892A" name="GL_REG_9_ATI"/>
+ <enum value="0x892B" name="GL_REG_10_ATI"/>
+ <enum value="0x892C" name="GL_REG_11_ATI"/>
+ <enum value="0x892D" name="GL_REG_12_ATI"/>
+ <enum value="0x892E" name="GL_REG_13_ATI"/>
+ <enum value="0x892F" name="GL_REG_14_ATI"/>
+ <enum value="0x8930" name="GL_REG_15_ATI"/>
+ <enum value="0x8931" name="GL_REG_16_ATI"/>
+ <enum value="0x8932" name="GL_REG_17_ATI"/>
+ <enum value="0x8933" name="GL_REG_18_ATI"/>
+ <enum value="0x8934" name="GL_REG_19_ATI"/>
+ <enum value="0x8935" name="GL_REG_20_ATI"/>
+ <enum value="0x8936" name="GL_REG_21_ATI"/>
+ <enum value="0x8937" name="GL_REG_22_ATI"/>
+ <enum value="0x8938" name="GL_REG_23_ATI"/>
+ <enum value="0x8939" name="GL_REG_24_ATI"/>
+ <enum value="0x893A" name="GL_REG_25_ATI"/>
+ <enum value="0x893B" name="GL_REG_26_ATI"/>
+ <enum value="0x893C" name="GL_REG_27_ATI"/>
+ <enum value="0x893D" name="GL_REG_28_ATI"/>
+ <enum value="0x893E" name="GL_REG_29_ATI"/>
+ <enum value="0x893F" name="GL_REG_30_ATI"/>
+ <enum value="0x8940" name="GL_REG_31_ATI"/>
+ <enum value="0x8941" name="GL_CON_0_ATI"/>
+ <enum value="0x8942" name="GL_CON_1_ATI"/>
+ <enum value="0x8943" name="GL_CON_2_ATI"/>
+ <enum value="0x8944" name="GL_CON_3_ATI"/>
+ <enum value="0x8945" name="GL_CON_4_ATI"/>
+ <enum value="0x8946" name="GL_CON_5_ATI"/>
+ <enum value="0x8947" name="GL_CON_6_ATI"/>
+ <enum value="0x8948" name="GL_CON_7_ATI"/>
+ <enum value="0x8949" name="GL_CON_8_ATI"/>
+ <enum value="0x894A" name="GL_CON_9_ATI"/>
+ <enum value="0x894B" name="GL_CON_10_ATI"/>
+ <enum value="0x894C" name="GL_CON_11_ATI"/>
+ <enum value="0x894D" name="GL_CON_12_ATI"/>
+ <enum value="0x894E" name="GL_CON_13_ATI"/>
+ <enum value="0x894F" name="GL_CON_14_ATI"/>
+ <enum value="0x8950" name="GL_CON_15_ATI"/>
+ <enum value="0x8951" name="GL_CON_16_ATI"/>
+ <enum value="0x8952" name="GL_CON_17_ATI"/>
+ <enum value="0x8953" name="GL_CON_18_ATI"/>
+ <enum value="0x8954" name="GL_CON_19_ATI"/>
+ <enum value="0x8955" name="GL_CON_20_ATI"/>
+ <enum value="0x8956" name="GL_CON_21_ATI"/>
+ <enum value="0x8957" name="GL_CON_22_ATI"/>
+ <enum value="0x8958" name="GL_CON_23_ATI"/>
+ <enum value="0x8959" name="GL_CON_24_ATI"/>
+ <enum value="0x895A" name="GL_CON_25_ATI"/>
+ <enum value="0x895B" name="GL_CON_26_ATI"/>
+ <enum value="0x895C" name="GL_CON_27_ATI"/>
+ <enum value="0x895D" name="GL_CON_28_ATI"/>
+ <enum value="0x895E" name="GL_CON_29_ATI"/>
+ <enum value="0x895F" name="GL_CON_30_ATI"/>
+ <enum value="0x8960" name="GL_CON_31_ATI"/>
+ <enum value="0x8961" name="GL_MOV_ATI"/>
+ <enum value="0x8963" name="GL_ADD_ATI"/>
+ <enum value="0x8964" name="GL_MUL_ATI"/>
+ <enum value="0x8965" name="GL_SUB_ATI"/>
+ <enum value="0x8966" name="GL_DOT3_ATI"/>
+ <enum value="0x8967" name="GL_DOT4_ATI"/>
+ <enum value="0x8968" name="GL_MAD_ATI"/>
+ <enum value="0x8969" name="GL_LERP_ATI"/>
+ <enum value="0x896A" name="GL_CND_ATI"/>
+ <enum value="0x896B" name="GL_CND0_ATI"/>
+ <enum value="0x896C" name="GL_DOT2_ADD_ATI"/>
+ <enum value="0x896D" name="GL_SECONDARY_INTERPOLATOR_ATI"/>
+ <enum value="0x896E" name="GL_NUM_FRAGMENT_REGISTERS_ATI"/>
+ <enum value="0x896F" name="GL_NUM_FRAGMENT_CONSTANTS_ATI"/>
+ <enum value="0x8970" name="GL_NUM_PASSES_ATI"/>
+ <enum value="0x8971" name="GL_NUM_INSTRUCTIONS_PER_PASS_ATI"/>
+ <enum value="0x8972" name="GL_NUM_INSTRUCTIONS_TOTAL_ATI"/>
+ <enum value="0x8973" name="GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI"/>
+ <enum value="0x8974" name="GL_NUM_LOOPBACK_COMPONENTS_ATI"/>
+ <enum value="0x8975" name="GL_COLOR_ALPHA_PAIRING_ATI"/>
+ <enum value="0x8976" name="GL_SWIZZLE_STR_ATI"/>
+ <enum value="0x8977" name="GL_SWIZZLE_STQ_ATI"/>
+ <enum value="0x8978" name="GL_SWIZZLE_STR_DR_ATI"/>
+ <enum value="0x8979" name="GL_SWIZZLE_STQ_DQ_ATI"/>
+ <enum value="0x897A" name="GL_SWIZZLE_STRQ_ATI"/>
+ <enum value="0x897B" name="GL_SWIZZLE_STRQ_DQ_ATI"/>
+ <unused start="0x897C" end="0x897F" vendor="AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8980" end="0x898F" vendor="OML">
+ <enum value="0x8980" name="GL_INTERLACE_OML"/>
+ <enum value="0x8981" name="GL_INTERLACE_READ_OML"/>
+ <enum value="0x8982" name="GL_FORMAT_SUBSAMPLE_24_24_OML"/>
+ <enum value="0x8983" name="GL_FORMAT_SUBSAMPLE_244_244_OML"/>
+ <enum value="0x8984" name="GL_PACK_RESAMPLE_OML"/>
+ <enum value="0x8985" name="GL_UNPACK_RESAMPLE_OML"/>
+ <enum value="0x8986" name="GL_RESAMPLE_REPLICATE_OML"/>
+ <enum value="0x8987" name="GL_RESAMPLE_ZERO_FILL_OML"/>
+ <enum value="0x8988" name="GL_RESAMPLE_AVERAGE_OML"/>
+ <enum value="0x8989" name="GL_RESAMPLE_DECIMATE_OML"/>
+ <enum value="0x898A" name="GL_POINT_SIZE_ARRAY_TYPE_OES"/>
+ <enum value="0x898B" name="GL_POINT_SIZE_ARRAY_STRIDE_OES"/>
+ <enum value="0x898C" name="GL_POINT_SIZE_ARRAY_POINTER_OES"/>
+ <enum value="0x898D" name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+ <enum value="0x898E" name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+ <enum value="0x898F" name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8990" end="0x899F" vendor="ZiiLabs">
+ <unused start="0x8990" end="0x899F" vendor="ZiiLabs"/>
+ </enums>
+
+ <enums namespace="GL" start="0x89A0" end="0x89FF" vendor="Matrox">
+ <unused start="0x89A0" end="0x89FF" vendor="Matrox"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8A00" end="0x8A7F" vendor="APPLE">
+ <enum value="0x8A00" name="GL_VERTEX_ATTRIB_MAP1_APPLE"/>
+ <enum value="0x8A01" name="GL_VERTEX_ATTRIB_MAP2_APPLE"/>
+ <enum value="0x8A02" name="GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE"/>
+ <enum value="0x8A03" name="GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE"/>
+ <enum value="0x8A04" name="GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE"/>
+ <enum value="0x8A05" name="GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE"/>
+ <enum value="0x8A06" name="GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE"/>
+ <enum value="0x8A07" name="GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE"/>
+ <enum value="0x8A08" name="GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE"/>
+ <enum value="0x8A09" name="GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE"/>
+ <enum value="0x8A0A" name="GL_DRAW_PIXELS_APPLE"/>
+ <enum value="0x8A0B" name="GL_FENCE_APPLE"/>
+ <enum value="0x8A0C" name="GL_ELEMENT_ARRAY_APPLE"/>
+ <enum value="0x8A0D" name="GL_ELEMENT_ARRAY_TYPE_APPLE"/>
+ <enum value="0x8A0E" name="GL_ELEMENT_ARRAY_POINTER_APPLE"/>
+ <enum value="0x8A0F" name="GL_COLOR_FLOAT_APPLE"/>
+ <unused start="0x8A10" vendor="APPLE" comment="Unknown extension (Khronos bug 632)"/>
+ <!-- <enum value="0x8A10" name="GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE"/> -->
+ <enum value="0x8A11" name="GL_UNIFORM_BUFFER"/>
+ <enum value="0x8A12" name="GL_BUFFER_SERIALIZED_MODIFY_APPLE"/>
+ <enum value="0x8A13" name="GL_BUFFER_FLUSHING_UNMAP_APPLE"/>
+ <enum value="0x8A14" name="GL_AUX_DEPTH_STENCIL_APPLE"/>
+ <enum value="0x8A15" name="GL_PACK_ROW_BYTES_APPLE"/>
+ <enum value="0x8A16" name="GL_UNPACK_ROW_BYTES_APPLE"/>
+ <unused start="0x8A17" end="0x8A18" vendor="APPLE"/>
+ <enum value="0x8A19" name="GL_RELEASED_APPLE"/>
+ <enum value="0x8A1A" name="GL_VOLATILE_APPLE"/>
+ <enum value="0x8A1B" name="GL_RETAINED_APPLE"/>
+ <enum value="0x8A1C" name="GL_UNDEFINED_APPLE"/>
+ <enum value="0x8A1D" name="GL_PURGEABLE_APPLE"/>
+ <unused start="0x8A1E" vendor="APPLE"/>
+ <enum value="0x8A1F" name="GL_RGB_422_APPLE"/>
+ <unused start="0x8A20" end="0x8A27" vendor="APPLE"/>
+ <enum value="0x8A28" name="GL_UNIFORM_BUFFER_BINDING"/>
+ <enum value="0x8A29" name="GL_UNIFORM_BUFFER_START"/>
+ <enum value="0x8A2A" name="GL_UNIFORM_BUFFER_SIZE"/>
+ <enum value="0x8A2B" name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+ <enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+ <enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT"/>
+ <enum value="0x8A2D" name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+ <enum value="0x8A2E" name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+ <enum value="0x8A2F" name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+ <enum value="0x8A30" name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+ <enum value="0x8A31" name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+ <enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+ <enum value="0x8A33" name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+ <enum value="0x8A34" name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum value="0x8A35" name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+ <enum value="0x8A36" name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+ <enum value="0x8A37" name="GL_UNIFORM_TYPE"/>
+ <enum value="0x8A38" name="GL_UNIFORM_SIZE"/>
+ <enum value="0x8A39" name="GL_UNIFORM_NAME_LENGTH"/>
+ <enum value="0x8A3A" name="GL_UNIFORM_BLOCK_INDEX"/>
+ <enum value="0x8A3B" name="GL_UNIFORM_OFFSET"/>
+ <enum value="0x8A3C" name="GL_UNIFORM_ARRAY_STRIDE"/>
+ <enum value="0x8A3D" name="GL_UNIFORM_MATRIX_STRIDE"/>
+ <enum value="0x8A3E" name="GL_UNIFORM_IS_ROW_MAJOR"/>
+ <enum value="0x8A3F" name="GL_UNIFORM_BLOCK_BINDING"/>
+ <enum value="0x8A40" name="GL_UNIFORM_BLOCK_DATA_SIZE"/>
+ <enum value="0x8A41" name="GL_UNIFORM_BLOCK_NAME_LENGTH"/>
+ <enum value="0x8A42" name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
+ <enum value="0x8A43" name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
+ <enum value="0x8A44" name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum value="0x8A45" name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum value="0x8A46" name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <unused start="0x8A47" vendor="APPLE"/>
+ <enum value="0x8A48" name="GL_TEXTURE_SRGB_DECODE_EXT"/>
+ <enum value="0x8A49" name="GL_DECODE_EXT"/>
+ <enum value="0x8A4A" name="GL_SKIP_DECODE_EXT"/>
+ <unused start="0x8A4B" end="0x8A4E" vendor="APPLE"/>
+ <enum value="0x8A4F" name="GL_PROGRAM_PIPELINE_OBJECT_EXT"/>
+ <unused start="0x8A50" vendor="APPLE"/>
+ <enum value="0x8A51" name="GL_RGB_RAW_422_APPLE"/>
+ <enum value="0x8A52" name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
+ <enum value="0x8A53" name="GL_SYNC_OBJECT_APPLE"/>
+ <enum value="0x8A54" name="GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT"/>
+ <enum value="0x8A55" name="GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT"/>
+ <enum value="0x8A56" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT"/>
+ <enum value="0x8A57" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT"/>
+ <unused start="0x8A58" end="0x8A7F" vendor="APPLE"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8A80" end="0x8AEF" vendor="Matrox">
+ <unused start="0x8A80" end="0x8AEF" vendor="Matrox"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8AF0" end="0x8B2F" vendor="Chromium" comment="For Brian Paul">
+ <unused start="0x8AF0" end="0x8B2F" vendor="Chromium"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8B30" end="0x8B3F" group="ShaderType" vendor="ARB">
+ <enum value="0x8B30" name="GL_FRAGMENT_SHADER"/>
+ <enum value="0x8B30" name="GL_FRAGMENT_SHADER_ARB"/>
+ <enum value="0x8B31" name="GL_VERTEX_SHADER"/>
+ <enum value="0x8B31" name="GL_VERTEX_SHADER_ARB"/>
+ <unused start="0x8B32" end="0x8B3F" comment="For shader types"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8B40" end="0x8B47" group="ContainerType" vendor="ARB">
+ <enum value="0x8B40" name="GL_PROGRAM_OBJECT_ARB"/>
+ <enum value="0x8B40" name="GL_PROGRAM_OBJECT_EXT"/>
+ <unused start="0x8B41" end="0x8B47" comment="For container types"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8B48" end="0x8B4F" vendor="ARB">
+ <enum value="0x8B48" name="GL_SHADER_OBJECT_ARB"/>
+ <enum value="0x8B48" name="GL_SHADER_OBJECT_EXT"/>
+ <enum value="0x8B49" name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
+ <enum value="0x8B49" name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB"/>
+ <enum value="0x8B4A" name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum value="0x8B4A" name="GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB"/>
+ <enum value="0x8B4B" name="GL_MAX_VARYING_FLOATS"/>
+ <enum value="0x8B4B" name="GL_MAX_VARYING_COMPONENTS" alias="MAX_VARYING_FLOATS"/>
+ <enum value="0x8B4B" name="GL_MAX_VARYING_COMPONENTS_EXT"/>
+ <enum value="0x8B4B" name="GL_MAX_VARYING_FLOATS_ARB"/>
+ <enum value="0x8B4C" name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8B4C" name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum value="0x8B4D" name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8B4D" name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum value="0x8B4E" name="GL_OBJECT_TYPE_ARB"/>
+ <enum value="0x8B4F" name="GL_SHADER_TYPE"/>
+ <enum value="0x8B4F" name="GL_OBJECT_SUBTYPE_ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8B50" end="0x8B7F" group="AttributeType" vendor="ARB">
+ <enum value="0x8B50" name="GL_FLOAT_VEC2"/>
+ <enum value="0x8B50" name="GL_FLOAT_VEC2_ARB"/>
+ <enum value="0x8B51" name="GL_FLOAT_VEC3"/>
+ <enum value="0x8B51" name="GL_FLOAT_VEC3_ARB"/>
+ <enum value="0x8B52" name="GL_FLOAT_VEC4"/>
+ <enum value="0x8B52" name="GL_FLOAT_VEC4_ARB"/>
+ <enum value="0x8B53" name="GL_INT_VEC2"/>
+ <enum value="0x8B53" name="GL_INT_VEC2_ARB"/>
+ <enum value="0x8B54" name="GL_INT_VEC3"/>
+ <enum value="0x8B54" name="GL_INT_VEC3_ARB"/>
+ <enum value="0x8B55" name="GL_INT_VEC4"/>
+ <enum value="0x8B55" name="GL_INT_VEC4_ARB"/>
+ <enum value="0x8B56" name="GL_BOOL"/>
+ <enum value="0x8B56" name="GL_BOOL_ARB"/>
+ <enum value="0x8B57" name="GL_BOOL_VEC2"/>
+ <enum value="0x8B57" name="GL_BOOL_VEC2_ARB"/>
+ <enum value="0x8B58" name="GL_BOOL_VEC3"/>
+ <enum value="0x8B58" name="GL_BOOL_VEC3_ARB"/>
+ <enum value="0x8B59" name="GL_BOOL_VEC4"/>
+ <enum value="0x8B59" name="GL_BOOL_VEC4_ARB"/>
+ <enum value="0x8B5A" name="GL_FLOAT_MAT2"/>
+ <enum value="0x8B5A" name="GL_FLOAT_MAT2_ARB"/>
+ <enum value="0x8B5B" name="GL_FLOAT_MAT3"/>
+ <enum value="0x8B5B" name="GL_FLOAT_MAT3_ARB"/>
+ <enum value="0x8B5C" name="GL_FLOAT_MAT4"/>
+ <enum value="0x8B5C" name="GL_FLOAT_MAT4_ARB"/>
+ <enum value="0x8B5D" name="GL_SAMPLER_1D"/>
+ <enum value="0x8B5D" name="GL_SAMPLER_1D_ARB"/>
+ <enum value="0x8B5E" name="GL_SAMPLER_2D"/>
+ <enum value="0x8B5E" name="GL_SAMPLER_2D_ARB"/>
+ <enum value="0x8B5F" name="GL_SAMPLER_3D"/>
+ <enum value="0x8B5F" name="GL_SAMPLER_3D_ARB"/>
+ <enum value="0x8B5F" name="GL_SAMPLER_3D_OES"/>
+ <enum value="0x8B60" name="GL_SAMPLER_CUBE"/>
+ <enum value="0x8B60" name="GL_SAMPLER_CUBE_ARB"/>
+ <enum value="0x8B61" name="GL_SAMPLER_1D_SHADOW"/>
+ <enum value="0x8B61" name="GL_SAMPLER_1D_SHADOW_ARB"/>
+ <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW"/>
+ <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW_ARB"/>
+ <enum value="0x8B62" name="GL_SAMPLER_2D_SHADOW_EXT"/>
+ <enum value="0x8B63" name="GL_SAMPLER_2D_RECT"/>
+ <enum value="0x8B63" name="GL_SAMPLER_2D_RECT_ARB"/>
+ <enum value="0x8B64" name="GL_SAMPLER_2D_RECT_SHADOW"/>
+ <enum value="0x8B64" name="GL_SAMPLER_2D_RECT_SHADOW_ARB"/>
+ <enum value="0x8B65" name="GL_FLOAT_MAT2x3"/>
+ <enum value="0x8B65" name="GL_FLOAT_MAT2x3_NV"/>
+ <enum value="0x8B66" name="GL_FLOAT_MAT2x4"/>
+ <enum value="0x8B66" name="GL_FLOAT_MAT2x4_NV"/>
+ <enum value="0x8B67" name="GL_FLOAT_MAT3x2"/>
+ <enum value="0x8B67" name="GL_FLOAT_MAT3x2_NV"/>
+ <enum value="0x8B68" name="GL_FLOAT_MAT3x4"/>
+ <enum value="0x8B68" name="GL_FLOAT_MAT3x4_NV"/>
+ <enum value="0x8B69" name="GL_FLOAT_MAT4x2"/>
+ <enum value="0x8B69" name="GL_FLOAT_MAT4x2_NV"/>
+ <enum value="0x8B6A" name="GL_FLOAT_MAT4x3"/>
+ <enum value="0x8B6A" name="GL_FLOAT_MAT4x3_NV"/>
+ <unused start="0x8B6B" end="0x8B7F" comment="For attribute types"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8B80" end="0x8B8F" vendor="ARB">
+ <enum value="0x8B80" name="GL_DELETE_STATUS"/>
+ <enum value="0x8B80" name="GL_OBJECT_DELETE_STATUS_ARB"/>
+ <enum value="0x8B81" name="GL_COMPILE_STATUS"/>
+ <enum value="0x8B81" name="GL_OBJECT_COMPILE_STATUS_ARB"/>
+ <enum value="0x8B82" name="GL_LINK_STATUS"/>
+ <enum value="0x8B82" name="GL_OBJECT_LINK_STATUS_ARB"/>
+ <enum value="0x8B83" name="GL_VALIDATE_STATUS"/>
+ <enum value="0x8B83" name="GL_OBJECT_VALIDATE_STATUS_ARB"/>
+ <enum value="0x8B84" name="GL_INFO_LOG_LENGTH"/>
+ <enum value="0x8B84" name="GL_OBJECT_INFO_LOG_LENGTH_ARB"/>
+ <enum value="0x8B85" name="GL_ATTACHED_SHADERS"/>
+ <enum value="0x8B85" name="GL_OBJECT_ATTACHED_OBJECTS_ARB"/>
+ <enum value="0x8B86" name="GL_ACTIVE_UNIFORMS"/>
+ <enum value="0x8B86" name="GL_OBJECT_ACTIVE_UNIFORMS_ARB"/>
+ <enum value="0x8B87" name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+ <enum value="0x8B87" name="GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB"/>
+ <enum value="0x8B88" name="GL_SHADER_SOURCE_LENGTH"/>
+ <enum value="0x8B88" name="GL_OBJECT_SHADER_SOURCE_LENGTH_ARB"/>
+ <enum value="0x8B89" name="GL_ACTIVE_ATTRIBUTES"/>
+ <enum value="0x8B89" name="GL_OBJECT_ACTIVE_ATTRIBUTES_ARB"/>
+ <enum value="0x8B8A" name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+ <enum value="0x8B8A" name="GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB"/>
+ <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
+ <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB"/>
+ <enum value="0x8B8B" name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/>
+ <enum value="0x8B8C" name="GL_SHADING_LANGUAGE_VERSION"/>
+ <enum value="0x8B8C" name="GL_SHADING_LANGUAGE_VERSION_ARB"/>
+ <enum value="0x8B8D" name="GL_CURRENT_PROGRAM"/>
+ <enum value="0x8B8D" api="gl" name="GL_ACTIVE_PROGRAM_EXT" alias="GL_CURRENT_PROGRAM" comment="For the OpenGL version of EXT_separate_shader_objects"/>
+ <unused start="0x8B8E" end="0x8B8F" vendor="ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8B90" end="0x8B9F" vendor="OES">
+ <enum value="0x8B90" name="GL_PALETTE4_RGB8_OES"/>
+ <enum value="0x8B91" name="GL_PALETTE4_RGBA8_OES"/>
+ <enum value="0x8B92" name="GL_PALETTE4_R5_G6_B5_OES"/>
+ <enum value="0x8B93" name="GL_PALETTE4_RGBA4_OES"/>
+ <enum value="0x8B94" name="GL_PALETTE4_RGB5_A1_OES"/>
+ <enum value="0x8B95" name="GL_PALETTE8_RGB8_OES"/>
+ <enum value="0x8B96" name="GL_PALETTE8_RGBA8_OES"/>
+ <enum value="0x8B97" name="GL_PALETTE8_R5_G6_B5_OES"/>
+ <enum value="0x8B98" name="GL_PALETTE8_RGBA4_OES"/>
+ <enum value="0x8B99" name="GL_PALETTE8_RGB5_A1_OES"/>
+ <enum value="0x8B9A" name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
+ <enum value="0x8B9A" name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES"/>
+ <enum value="0x8B9B" name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+ <enum value="0x8B9B" name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES"/>
+ <enum value="0x8B9C" name="GL_POINT_SIZE_ARRAY_OES"/>
+ <enum value="0x8B9D" name="GL_TEXTURE_CROP_RECT_OES"/>
+ <enum value="0x8B9E" name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"/>
+ <enum value="0x8B9F" name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8BA0" end="0x8BAF" vendor="Seaweed">
+ <unused start="0x8BA0" end="0x8BAF" vendor="Seaweed"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8BB0" end="0x8BBF" vendor="MESA">
+ <enum value="0x8BB0" name="GL_FRAGMENT_PROGRAM_POSITION_MESA"/>
+ <enum value="0x8BB1" name="GL_FRAGMENT_PROGRAM_CALLBACK_MESA"/>
+ <enum value="0x8BB2" name="GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA"/>
+ <enum value="0x8BB3" name="GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA"/>
+ <enum value="0x8BB4" name="GL_VERTEX_PROGRAM_POSITION_MESA"/>
+ <enum value="0x8BB5" name="GL_VERTEX_PROGRAM_CALLBACK_MESA"/>
+ <enum value="0x8BB6" name="GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA"/>
+ <enum value="0x8BB7" name="GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8BC0" end="0x8BFF" vendor="AMD">
+ <enum value="0x8BC0" name="GL_COUNTER_TYPE_AMD"/>
+ <enum value="0x8BC1" name="GL_COUNTER_RANGE_AMD"/>
+ <enum value="0x8BC2" name="GL_UNSIGNED_INT64_AMD"/>
+ <enum value="0x8BC3" name="GL_PERCENTAGE_AMD"/>
+ <enum value="0x8BC4" name="GL_PERFMON_RESULT_AVAILABLE_AMD"/>
+ <enum value="0x8BC5" name="GL_PERFMON_RESULT_SIZE_AMD"/>
+ <enum value="0x8BC6" name="GL_PERFMON_RESULT_AMD"/>
+ <unused start="0x8BC7" end="0x8BD1" vendor="AMD"/>
+ <enum value="0x8BD2" name="GL_TEXTURE_WIDTH_QCOM"/>
+ <enum value="0x8BD3" name="GL_TEXTURE_HEIGHT_QCOM"/>
+ <enum value="0x8BD4" name="GL_TEXTURE_DEPTH_QCOM"/>
+ <enum value="0x8BD5" name="GL_TEXTURE_INTERNAL_FORMAT_QCOM"/>
+ <enum value="0x8BD6" name="GL_TEXTURE_FORMAT_QCOM"/>
+ <enum value="0x8BD7" name="GL_TEXTURE_TYPE_QCOM"/>
+ <enum value="0x8BD8" name="GL_TEXTURE_IMAGE_VALID_QCOM"/>
+ <enum value="0x8BD9" name="GL_TEXTURE_NUM_LEVELS_QCOM"/>
+ <enum value="0x8BDA" name="GL_TEXTURE_TARGET_QCOM"/>
+ <enum value="0x8BDB" name="GL_TEXTURE_OBJECT_VALID_QCOM"/>
+ <enum value="0x8BDC" name="GL_STATE_RESTORE"/>
+ <unused start="0x8BDD" end="0x8BFF" vendor="AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8C00" end="0x8C0F" vendor="IMG">
+ <enum value="0x8C00" name="GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"/>
+ <enum value="0x8C01" name="GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"/>
+ <enum value="0x8C02" name="GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"/>
+ <enum value="0x8C03" name="GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"/>
+ <enum value="0x8C04" name="GL_MODULATE_COLOR_IMG"/>
+ <enum value="0x8C05" name="GL_RECIP_ADD_SIGNED_ALPHA_IMG"/>
+ <enum value="0x8C06" name="GL_TEXTURE_ALPHA_MODULATE_IMG"/>
+ <enum value="0x8C07" name="GL_FACTOR_ALPHA_MODULATE_IMG"/>
+ <enum value="0x8C08" name="GL_FRAGMENT_ALPHA_MODULATE_IMG"/>
+ <enum value="0x8C09" name="GL_ADD_BLEND_IMG"/>
+ <enum value="0x8C0A" name="GL_SGX_BINARY_IMG"/>
+ <unused start="0x8C0B" end="0x8C0F" vendor="IMG"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8C10" end="0x8C8F" vendor="NV" comment="For Pat Brown">
+ <enum value="0x8C10" name="GL_TEXTURE_RED_TYPE"/>
+ <enum value="0x8C10" name="GL_TEXTURE_RED_TYPE_ARB"/>
+ <enum value="0x8C11" name="GL_TEXTURE_GREEN_TYPE"/>
+ <enum value="0x8C11" name="GL_TEXTURE_GREEN_TYPE_ARB"/>
+ <enum value="0x8C12" name="GL_TEXTURE_BLUE_TYPE"/>
+ <enum value="0x8C12" name="GL_TEXTURE_BLUE_TYPE_ARB"/>
+ <enum value="0x8C13" name="GL_TEXTURE_ALPHA_TYPE"/>
+ <enum value="0x8C13" name="GL_TEXTURE_ALPHA_TYPE_ARB"/>
+ <enum value="0x8C14" name="GL_TEXTURE_LUMINANCE_TYPE"/>
+ <enum value="0x8C14" name="GL_TEXTURE_LUMINANCE_TYPE_ARB"/>
+ <enum value="0x8C15" name="GL_TEXTURE_INTENSITY_TYPE"/>
+ <enum value="0x8C15" name="GL_TEXTURE_INTENSITY_TYPE_ARB"/>
+ <enum value="0x8C16" name="GL_TEXTURE_DEPTH_TYPE"/>
+ <enum value="0x8C16" name="GL_TEXTURE_DEPTH_TYPE_ARB"/>
+ <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED"/>
+ <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED_ARB"/>
+ <enum value="0x8C17" name="GL_UNSIGNED_NORMALIZED_EXT"/>
+ <enum value="0x8C18" name="GL_TEXTURE_1D_ARRAY"/>
+ <enum value="0x8C18" name="GL_TEXTURE_1D_ARRAY_EXT"/>
+ <enum value="0x8C19" name="GL_PROXY_TEXTURE_1D_ARRAY"/>
+ <enum value="0x8C19" name="GL_PROXY_TEXTURE_1D_ARRAY_EXT"/>
+ <enum value="0x8C1A" name="GL_TEXTURE_2D_ARRAY"/>
+ <enum value="0x8C1A" name="GL_TEXTURE_2D_ARRAY_EXT"/>
+ <enum value="0x8C1B" name="GL_PROXY_TEXTURE_2D_ARRAY"/>
+ <enum value="0x8C1B" name="GL_PROXY_TEXTURE_2D_ARRAY_EXT"/>
+ <enum value="0x8C1C" name="GL_TEXTURE_BINDING_1D_ARRAY"/>
+ <enum value="0x8C1C" name="GL_TEXTURE_BINDING_1D_ARRAY_EXT"/>
+ <enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY"/>
+ <enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY_EXT"/>
+ <unused start="0x8C1E" end="0x8C25" vendor="NV"/>
+ <enum value="0x8C26" name="GL_GEOMETRY_PROGRAM_NV"/>
+ <enum value="0x8C27" name="GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"/>
+ <enum value="0x8C28" name="GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"/>
+ <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum value="0x8C29" name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum value="0x8C2A" name="GL_TEXTURE_BUFFER"/>
+ <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_ARB"/>
+ <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_EXT"/>
+ <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING" comment="Equivalent to GL_TEXTURE_BUFFER_ARB query, but named more consistently"/>
+ <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING_EXT"/>
+ <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
+ <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_ARB"/>
+ <enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
+ <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER"/>
+ <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER_ARB"/>
+ <enum value="0x8C2C" name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
+ <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING"/>
+ <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"/>
+ <enum value="0x8C2D" name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
+ <enum value="0x8C2E" name="GL_TEXTURE_BUFFER_FORMAT_ARB"/>
+ <enum value="0x8C2E" name="GL_TEXTURE_BUFFER_FORMAT_EXT"/>
+ <enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED"/>
+ <enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED_EXT"/>
+ <unused start="0x8C30" end="0x8C35" vendor="NV"/>
+ <enum value="0x8C36" name="GL_SAMPLE_SHADING"/>
+ <enum value="0x8C36" name="GL_SAMPLE_SHADING_ARB"/>
+ <enum value="0x8C36" name="GL_SAMPLE_SHADING_OES"/>
+ <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE"/>
+ <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE_ARB"/>
+ <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE_OES"/>
+ <unused start="0x8C38" end="0x8C39" vendor="NV"/>
+ <enum value="0x8C3A" name="GL_R11F_G11F_B10F"/>
+ <enum value="0x8C3A" name="GL_R11F_G11F_B10F_EXT"/>
+ <enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+ <enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV_EXT"/>
+ <enum value="0x8C3C" name="GL_RGBA_SIGNED_COMPONENTS_EXT"/>
+ <enum value="0x8C3D" name="GL_RGB9_E5"/>
+ <enum value="0x8C3D" name="GL_RGB9_E5_EXT"/>
+ <enum value="0x8C3E" name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
+ <enum value="0x8C3E" name="GL_UNSIGNED_INT_5_9_9_9_REV_EXT"/>
+ <enum value="0x8C3F" name="GL_TEXTURE_SHARED_SIZE"/>
+ <enum value="0x8C3F" name="GL_TEXTURE_SHARED_SIZE_EXT"/>
+ <enum value="0x8C40" name="GL_SRGB"/>
+ <enum value="0x8C40" name="GL_SRGB_EXT"/>
+ <enum value="0x8C41" name="GL_SRGB8"/>
+ <enum value="0x8C41" name="GL_SRGB8_EXT"/>
+ <enum value="0x8C41" name="GL_SRGB8_NV"/>
+ <enum value="0x8C42" name="GL_SRGB_ALPHA"/>
+ <enum value="0x8C42" name="GL_SRGB_ALPHA_EXT"/>
+ <enum value="0x8C43" name="GL_SRGB8_ALPHA8"/>
+ <enum value="0x8C43" name="GL_SRGB8_ALPHA8_EXT"/>
+ <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA"/>
+ <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA_EXT"/>
+ <enum value="0x8C44" name="GL_SLUMINANCE_ALPHA_NV"/>
+ <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8"/>
+ <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8_EXT"/>
+ <enum value="0x8C45" name="GL_SLUMINANCE8_ALPHA8_NV"/>
+ <enum value="0x8C46" name="GL_SLUMINANCE"/>
+ <enum value="0x8C46" name="GL_SLUMINANCE_EXT"/>
+ <enum value="0x8C46" name="GL_SLUMINANCE_NV"/>
+ <enum value="0x8C47" name="GL_SLUMINANCE8"/>
+ <enum value="0x8C47" name="GL_SLUMINANCE8_EXT"/>
+ <enum value="0x8C47" name="GL_SLUMINANCE8_NV"/>
+ <enum value="0x8C48" name="GL_COMPRESSED_SRGB"/>
+ <enum value="0x8C48" name="GL_COMPRESSED_SRGB_EXT"/>
+ <enum value="0x8C49" name="GL_COMPRESSED_SRGB_ALPHA"/>
+ <enum value="0x8C49" name="GL_COMPRESSED_SRGB_ALPHA_EXT"/>
+ <enum value="0x8C4A" name="GL_COMPRESSED_SLUMINANCE"/>
+ <enum value="0x8C4A" name="GL_COMPRESSED_SLUMINANCE_EXT"/>
+ <enum value="0x8C4B" name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
+ <enum value="0x8C4B" name="GL_COMPRESSED_SLUMINANCE_ALPHA_EXT"/>
+ <enum value="0x8C4C" name="GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"/>
+ <enum value="0x8C4C" name="GL_COMPRESSED_SRGB_S3TC_DXT1_NV"/>
+ <enum value="0x8C4D" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"/>
+ <enum value="0x8C4D" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV"/>
+ <enum value="0x8C4E" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"/>
+ <enum value="0x8C4E" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV"/>
+ <enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
+ <enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV"/>
+ <unused start="0x8C50" end="0x8C6F" vendor="NV"/>
+ <enum value="0x8C70" name="GL_COMPRESSED_LUMINANCE_LATC1_EXT"/>
+ <enum value="0x8C71" name="GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"/>
+ <enum value="0x8C72" name="GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT"/>
+ <enum value="0x8C73" name="GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT"/>
+ <enum value="0x8C74" name="GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum value="0x8C75" name="GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum value="0x8C76" name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
+ <enum value="0x8C76" name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT"/>
+ <enum value="0x8C77" name="GL_BACK_PRIMARY_COLOR_NV"/>
+ <enum value="0x8C78" name="GL_BACK_SECONDARY_COLOR_NV"/>
+ <enum value="0x8C79" name="GL_TEXTURE_COORD_NV"/>
+ <enum value="0x8C7A" name="GL_CLIP_DISTANCE_NV"/>
+ <enum value="0x8C7B" name="GL_VERTEX_ID_NV"/>
+ <enum value="0x8C7C" name="GL_PRIMITIVE_ID_NV"/>
+ <enum value="0x8C7D" name="GL_GENERIC_ATTRIB_NV"/>
+ <enum value="0x8C7E" name="GL_TRANSFORM_FEEDBACK_ATTRIBS_NV"/>
+ <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
+ <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT"/>
+ <enum value="0x8C7F" name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV"/>
+ <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
+ <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT"/>
+ <enum value="0x8C80" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV"/>
+ <enum value="0x8C81" name="GL_ACTIVE_VARYINGS_NV"/>
+ <enum value="0x8C82" name="GL_ACTIVE_VARYING_MAX_LENGTH_NV"/>
+ <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
+ <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS_EXT"/>
+ <enum value="0x8C83" name="GL_TRANSFORM_FEEDBACK_VARYINGS_NV"/>
+ <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+ <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT"/>
+ <enum value="0x8C84" name="GL_TRANSFORM_FEEDBACK_BUFFER_START_NV"/>
+ <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+ <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT"/>
+ <enum value="0x8C85" name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV"/>
+ <enum value="0x8C86" name="GL_TRANSFORM_FEEDBACK_RECORD_NV"/>
+ <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED"/>
+ <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED_EXT"/>
+ <enum value="0x8C87" name="GL_PRIMITIVES_GENERATED_NV"/>
+ <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
+ <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT"/>
+ <enum value="0x8C88" name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV"/>
+ <enum value="0x8C89" name="GL_RASTERIZER_DISCARD"/>
+ <enum value="0x8C89" name="GL_RASTERIZER_DISCARD_EXT"/>
+ <enum value="0x8C89" name="GL_RASTERIZER_DISCARD_NV"/>
+ <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
+ <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT"/>
+ <enum value="0x8C8A" name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV"/>
+ <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
+ <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT"/>
+ <enum value="0x8C8B" name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV"/>
+ <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS"/>
+ <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS_EXT"/>
+ <enum value="0x8C8C" name="GL_INTERLEAVED_ATTRIBS_NV"/>
+ <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS"/>
+ <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS_EXT"/>
+ <enum value="0x8C8D" name="GL_SEPARATE_ATTRIBS_NV"/>
+ <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+ <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER_EXT"/>
+ <enum value="0x8C8E" name="GL_TRANSFORM_FEEDBACK_BUFFER_NV"/>
+ <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+ <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT"/>
+ <enum value="0x8C8F" name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8C90" end="0x8C9F" vendor="QCOM" comment="For Affie Munshi, OpenGL ES extensions">
+ <!-- Reassigned from ATI to QCOM at time of
+ mobile/desktop split (bug 5874) -->
+ <unused start="0x8C90" end="0x8C91" vendor="QCOM"/>
+ <enum value="0x8C92" name="GL_ATC_RGB_AMD"/>
+ <enum value="0x8C93" name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"/>
+ <unused start="0x8C94" end="0x8C9F" vendor="QCOM"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8CA0" end="0x8CAF" vendor="ARB">
+ <enum value="0x8CA0" name="GL_POINT_SPRITE_COORD_ORIGIN"/>
+ <enum value="0x8CA1" name="GL_LOWER_LEFT"/>
+ <enum value="0x8CA2" name="GL_UPPER_LEFT"/>
+ <enum value="0x8CA3" name="GL_STENCIL_BACK_REF"/>
+ <enum value="0x8CA4" name="GL_STENCIL_BACK_VALUE_MASK"/>
+ <enum value="0x8CA5" name="GL_STENCIL_BACK_WRITEMASK"/>
+ <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+ <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_ANGLE"/>
+ <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_APPLE"/>
+ <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_EXT"/>
+ <enum value="0x8CA6" name="GL_DRAW_FRAMEBUFFER_BINDING_NV"/>
+ <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING"/>
+ <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_ANGLE"/>
+ <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_EXT"/>
+ <enum value="0x8CA6" name="GL_FRAMEBUFFER_BINDING_OES"/>
+ <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING"/>
+ <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_ANGLE"/>
+ <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_EXT"/>
+ <enum value="0x8CA7" name="GL_RENDERBUFFER_BINDING_OES"/>
+ <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER"/>
+ <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_ANGLE"/>
+ <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_APPLE"/>
+ <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_EXT"/>
+ <enum value="0x8CA8" name="GL_READ_FRAMEBUFFER_NV"/>
+ <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER"/>
+ <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_ANGLE"/>
+ <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_APPLE"/>
+ <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_EXT"/>
+ <enum value="0x8CA9" name="GL_DRAW_FRAMEBUFFER_NV"/>
+ <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING"/>
+ <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_ANGLE"/>
+ <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_APPLE"/>
+ <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_EXT"/>
+ <enum value="0x8CAA" name="GL_READ_FRAMEBUFFER_BINDING_NV"/>
+ <enum value="0x8CAB" name="GL_RENDERBUFFER_COVERAGE_SAMPLES_NV"/>
+ <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES"/>
+ <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_ANGLE"/>
+ <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_APPLE"/>
+ <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_EXT"/>
+ <enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_NV"/>
+ <enum value="0x8CAC" name="GL_DEPTH_COMPONENT32F"/>
+ <enum value="0x8CAD" name="GL_DEPTH32F_STENCIL8"/>
+ <unused start="0x8CAE" end="0x8CAF" vendor="ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8CB0" end="0x8CCF" vendor="ZiiLabs" comment="For Barthold Lichtenbelt 2004/12/1">
+ <unused start="0x8CB0" end="0x8CCF" vendor="ZiiLabs"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8CD0" end="0x8D5F" vendor="ARB" comment="Framebuffer object specification + headroom">
+ <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+ <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT"/>
+ <enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES"/>
+ <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+ <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT"/>
+ <enum value="0x8CD1" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"/>
+ <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+ <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT"/>
+ <enum value="0x8CD2" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES"/>
+ <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+ <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT"/>
+ <enum value="0x8CD3" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES"/>
+ <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT"/>
+ <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES"/>
+ <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+ <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
+ <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE"/>
+ <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE_EXT"/>
+ <enum value="0x8CD5" name="GL_FRAMEBUFFER_COMPLETE_OES"/>
+ <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
+ <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT"/>
+ <enum value="0x8CD6" name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"/>
+ <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
+ <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT"/>
+ <enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"/>
+ <unused start="0x8CD8" vendor="ARB" comment="Removed 2005/09/26 in revision #117 of the FBO extension spec"/>
+ <!-- <enum value="0x8CD8" name="GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT"/> -->
+ <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
+ <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"/>
+ <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES"/>
+ <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT"/>
+ <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES"/>
+ <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"/>
+ <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT"/>
+ <enum value="0x8CDB" name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES"/>
+ <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"/>
+ <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT"/>
+ <enum value="0x8CDC" name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES"/>
+ <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+ <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_EXT"/>
+ <enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_OES"/>
+ <unused start="0x8CDE" vendor="ARB" comment="Removed 2005/05/31 in revision #113 of the FBO extension spec"/>
+ <!-- <enum value="0x8CDE" name="GL_FRAMEBUFFER_STATUS_ERROR_EXT"/> -->
+ <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS"/>
+ <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS_EXT"/>
+ <enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS_NV"/>
+ <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0"/>
+ <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_EXT"/>
+ <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_NV"/>
+ <enum value="0x8CE0" name="GL_COLOR_ATTACHMENT0_OES"/>
+ <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1"/>
+ <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1_EXT"/>
+ <enum value="0x8CE1" name="GL_COLOR_ATTACHMENT1_NV"/>
+ <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2"/>
+ <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2_EXT"/>
+ <enum value="0x8CE2" name="GL_COLOR_ATTACHMENT2_NV"/>
+ <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3"/>
+ <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3_EXT"/>
+ <enum value="0x8CE3" name="GL_COLOR_ATTACHMENT3_NV"/>
+ <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4"/>
+ <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4_EXT"/>
+ <enum value="0x8CE4" name="GL_COLOR_ATTACHMENT4_NV"/>
+ <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5"/>
+ <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5_EXT"/>
+ <enum value="0x8CE5" name="GL_COLOR_ATTACHMENT5_NV"/>
+ <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6"/>
+ <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6_EXT"/>
+ <enum value="0x8CE6" name="GL_COLOR_ATTACHMENT6_NV"/>
+ <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7"/>
+ <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7_EXT"/>
+ <enum value="0x8CE7" name="GL_COLOR_ATTACHMENT7_NV"/>
+ <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8"/>
+ <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8_EXT"/>
+ <enum value="0x8CE8" name="GL_COLOR_ATTACHMENT8_NV"/>
+ <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9"/>
+ <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9_EXT"/>
+ <enum value="0x8CE9" name="GL_COLOR_ATTACHMENT9_NV"/>
+ <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10"/>
+ <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10_EXT"/>
+ <enum value="0x8CEA" name="GL_COLOR_ATTACHMENT10_NV"/>
+ <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11"/>
+ <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11_EXT"/>
+ <enum value="0x8CEB" name="GL_COLOR_ATTACHMENT11_NV"/>
+ <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12"/>
+ <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12_EXT"/>
+ <enum value="0x8CEC" name="GL_COLOR_ATTACHMENT12_NV"/>
+ <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13"/>
+ <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13_EXT"/>
+ <enum value="0x8CED" name="GL_COLOR_ATTACHMENT13_NV"/>
+ <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14"/>
+ <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14_EXT"/>
+ <enum value="0x8CEE" name="GL_COLOR_ATTACHMENT14_NV"/>
+ <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15"/>
+ <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_EXT"/>
+ <enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_NV"/>
+ <unused start="0x8CF0" end="0x8CFF" vendor="ARB" comment="For color attachments 16-31"/>
+ <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT"/>
+ <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_EXT"/>
+ <enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_OES"/>
+ <unused start="0x8D01" end="0x8D1F" vendor="ARB" comment="For depth attachments 16-31"/>
+ <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT"/>
+ <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_EXT"/>
+ <enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_OES"/>
+ <unused start="0x8D21" end="0x8D3F" vendor="ARB" comment="For stencil attachments 16-31"/>
+ <enum value="0x8D40" name="GL_FRAMEBUFFER"/>
+ <enum value="0x8D40" name="GL_FRAMEBUFFER_EXT"/>
+ <enum value="0x8D40" name="GL_FRAMEBUFFER_OES"/>
+ <enum value="0x8D41" name="GL_RENDERBUFFER"/>
+ <enum value="0x8D41" name="GL_RENDERBUFFER_EXT"/>
+ <enum value="0x8D41" name="GL_RENDERBUFFER_OES"/>
+ <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH"/>
+ <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH_EXT"/>
+ <enum value="0x8D42" name="GL_RENDERBUFFER_WIDTH_OES"/>
+ <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT"/>
+ <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT_EXT"/>
+ <enum value="0x8D43" name="GL_RENDERBUFFER_HEIGHT_OES"/>
+ <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+ <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_EXT"/>
+ <enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
+ <unused start="0x8D45" vendor="ARB" comment="Was for GL_STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead"/>
+ <enum value="0x8D46" name="GL_STENCIL_INDEX1"/>
+ <enum value="0x8D46" name="GL_STENCIL_INDEX1_EXT"/>
+ <enum value="0x8D46" name="GL_STENCIL_INDEX1_OES"/>
+ <enum value="0x8D47" name="GL_STENCIL_INDEX4"/>
+ <enum value="0x8D47" name="GL_STENCIL_INDEX4_EXT"/>
+ <enum value="0x8D47" name="GL_STENCIL_INDEX4_OES"/>
+ <enum value="0x8D48" name="GL_STENCIL_INDEX8"/>
+ <enum value="0x8D48" name="GL_STENCIL_INDEX8_EXT"/>
+ <enum value="0x8D48" name="GL_STENCIL_INDEX8_OES"/>
+ <enum value="0x8D49" name="GL_STENCIL_INDEX16"/>
+ <enum value="0x8D49" name="GL_STENCIL_INDEX16_EXT"/>
+ <unused start="0x8D4A" end="0x8D4F" vendor="ARB" comment="For additional stencil formats"/>
+ <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE"/>
+ <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_EXT"/>
+ <enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_OES"/>
+ <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE"/>
+ <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE_EXT"/>
+ <enum value="0x8D51" name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
+ <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE"/>
+ <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE_EXT"/>
+ <enum value="0x8D52" name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
+ <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+ <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE_EXT"/>
+ <enum value="0x8D53" name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
+ <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+ <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE_EXT"/>
+ <enum value="0x8D54" name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
+ <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+ <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE_EXT"/>
+ <enum value="0x8D55" name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
+ <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+ <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE"/>
+ <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE"/>
+ <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT"/>
+ <enum value="0x8D56" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV"/>
+ <enum value="0x8D57" name="GL_MAX_SAMPLES"/>
+ <enum value="0x8D57" name="GL_MAX_SAMPLES_ANGLE"/>
+ <enum value="0x8D57" name="GL_MAX_SAMPLES_APPLE"/>
+ <enum value="0x8D57" name="GL_MAX_SAMPLES_EXT"/>
+ <enum value="0x8D57" name="GL_MAX_SAMPLES_NV"/>
+ <unused start="0x8D58" end="0x8D5F" vendor="ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8D60" end="0x8D6F" vendor="OES">
+ <enum value="0x8D60" name="GL_TEXTURE_GEN_STR_OES"/>
+ <enum value="0x8D61" name="GL_HALF_FLOAT_OES"/>
+ <enum value="0x8D62" name="GL_RGB565_OES"/>
+ <enum value="0x8D62" name="GL_RGB565"/>
+ <unused start="0x8D63" vendor="OES" comment="Was GL_TEXTURE_IMMUTABLE_LEVELS in draft ES 3.0 spec"/>
+ <enum value="0x8D64" name="GL_ETC1_RGB8_OES"/>
+ <enum value="0x8D65" name="GL_TEXTURE_EXTERNAL_OES"/>
+ <enum value="0x8D66" name="GL_SAMPLER_EXTERNAL_OES"/>
+ <enum value="0x8D67" name="GL_TEXTURE_BINDING_EXTERNAL_OES"/>
+ <enum value="0x8D68" name="GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"/>
+ <enum value="0x8D69" name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+ <enum value="0x8D6A" name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+ <enum value="0x8D6A" name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT"/>
+ <enum value="0x8D6B" name="GL_MAX_ELEMENT_INDEX"/>
+ <enum value="0x8D6C" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"/>
+ <unused start="0x8D6D" end="0x8D6F" vendor="OES"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8D70" end="0x8DEF" vendor="NV" comment="For Pat Brown 2005/10/13">
+ <enum value="0x8D70" name="GL_RGBA32UI"/>
+ <enum value="0x8D70" name="GL_RGBA32UI_EXT"/>
+ <enum value="0x8D71" name="GL_RGB32UI"/>
+ <enum value="0x8D71" name="GL_RGB32UI_EXT"/>
+ <enum value="0x8D72" name="GL_ALPHA32UI_EXT"/>
+ <enum value="0x8D73" name="GL_INTENSITY32UI_EXT"/>
+ <enum value="0x8D74" name="GL_LUMINANCE32UI_EXT"/>
+ <enum value="0x8D75" name="GL_LUMINANCE_ALPHA32UI_EXT"/>
+ <enum value="0x8D76" name="GL_RGBA16UI"/>
+ <enum value="0x8D76" name="GL_RGBA16UI_EXT"/>
+ <enum value="0x8D77" name="GL_RGB16UI"/>
+ <enum value="0x8D77" name="GL_RGB16UI_EXT"/>
+ <enum value="0x8D78" name="GL_ALPHA16UI_EXT"/>
+ <enum value="0x8D79" name="GL_INTENSITY16UI_EXT"/>
+ <enum value="0x8D7A" name="GL_LUMINANCE16UI_EXT"/>
+ <enum value="0x8D7B" name="GL_LUMINANCE_ALPHA16UI_EXT"/>
+ <enum value="0x8D7C" name="GL_RGBA8UI"/>
+ <enum value="0x8D7C" name="GL_RGBA8UI_EXT"/>
+ <enum value="0x8D7D" name="GL_RGB8UI"/>
+ <enum value="0x8D7D" name="GL_RGB8UI_EXT"/>
+ <enum value="0x8D7E" name="GL_ALPHA8UI_EXT"/>
+ <enum value="0x8D7F" name="GL_INTENSITY8UI_EXT"/>
+ <enum value="0x8D80" name="GL_LUMINANCE8UI_EXT"/>
+ <enum value="0x8D81" name="GL_LUMINANCE_ALPHA8UI_EXT"/>
+ <enum value="0x8D82" name="GL_RGBA32I"/>
+ <enum value="0x8D82" name="GL_RGBA32I_EXT"/>
+ <enum value="0x8D83" name="GL_RGB32I"/>
+ <enum value="0x8D83" name="GL_RGB32I_EXT"/>
+ <enum value="0x8D84" name="GL_ALPHA32I_EXT"/>
+ <enum value="0x8D85" name="GL_INTENSITY32I_EXT"/>
+ <enum value="0x8D86" name="GL_LUMINANCE32I_EXT"/>
+ <enum value="0x8D87" name="GL_LUMINANCE_ALPHA32I_EXT"/>
+ <enum value="0x8D88" name="GL_RGBA16I"/>
+ <enum value="0x8D88" name="GL_RGBA16I_EXT"/>
+ <enum value="0x8D89" name="GL_RGB16I"/>
+ <enum value="0x8D89" name="GL_RGB16I_EXT"/>
+ <enum value="0x8D8A" name="GL_ALPHA16I_EXT"/>
+ <enum value="0x8D8B" name="GL_INTENSITY16I_EXT"/>
+ <enum value="0x8D8C" name="GL_LUMINANCE16I_EXT"/>
+ <enum value="0x8D8D" name="GL_LUMINANCE_ALPHA16I_EXT"/>
+ <enum value="0x8D8E" name="GL_RGBA8I"/>
+ <enum value="0x8D8E" name="GL_RGBA8I_EXT"/>
+ <enum value="0x8D8F" name="GL_RGB8I"/>
+ <enum value="0x8D8F" name="GL_RGB8I_EXT"/>
+ <enum value="0x8D90" name="GL_ALPHA8I_EXT"/>
+ <enum value="0x8D91" name="GL_INTENSITY8I_EXT"/>
+ <enum value="0x8D92" name="GL_LUMINANCE8I_EXT"/>
+ <enum value="0x8D93" name="GL_LUMINANCE_ALPHA8I_EXT"/>
+ <enum value="0x8D94" name="GL_RED_INTEGER"/>
+ <enum value="0x8D94" name="GL_RED_INTEGER_EXT"/>
+ <enum value="0x8D95" name="GL_GREEN_INTEGER"/>
+ <enum value="0x8D95" name="GL_GREEN_INTEGER_EXT"/>
+ <enum value="0x8D96" name="GL_BLUE_INTEGER"/>
+ <enum value="0x8D96" name="GL_BLUE_INTEGER_EXT"/>
+ <enum value="0x8D97" name="GL_ALPHA_INTEGER"/>
+ <enum value="0x8D97" name="GL_ALPHA_INTEGER_EXT"/>
+ <enum value="0x8D98" name="GL_RGB_INTEGER"/>
+ <enum value="0x8D98" name="GL_RGB_INTEGER_EXT"/>
+ <enum value="0x8D99" name="GL_RGBA_INTEGER"/>
+ <enum value="0x8D99" name="GL_RGBA_INTEGER_EXT"/>
+ <enum value="0x8D9A" name="GL_BGR_INTEGER"/>
+ <enum value="0x8D9A" name="GL_BGR_INTEGER_EXT"/>
+ <enum value="0x8D9B" name="GL_BGRA_INTEGER"/>
+ <enum value="0x8D9B" name="GL_BGRA_INTEGER_EXT"/>
+ <enum value="0x8D9C" name="GL_LUMINANCE_INTEGER_EXT"/>
+ <enum value="0x8D9D" name="GL_LUMINANCE_ALPHA_INTEGER_EXT"/>
+ <enum value="0x8D9E" name="GL_RGBA_INTEGER_MODE_EXT"/>
+ <enum value="0x8D9F" name="GL_INT_2_10_10_10_REV"/>
+ <enum value="0x8DA0" name="GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV"/>
+ <enum value="0x8DA1" name="GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"/>
+ <enum value="0x8DA2" name="GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum value="0x8DA3" name="GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum value="0x8DA4" name="GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum value="0x8DA5" name="GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"/>
+ <enum value="0x8DA6" name="GL_MAX_PROGRAM_GENERIC_RESULTS_NV"/>
+ <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
+ <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"/>
+ <enum value="0x8DA7" name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+ <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
+ <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"/>
+ <enum value="0x8DA8" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+ <enum value="0x8DA9" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"/>
+ <enum value="0x8DA9" name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT"/>
+ <!-- Also see the odd namespace "NVTransformFeedbackToken" above -->
+ <enum value="0x8DAA" name="GL_LAYER_NV"/>
+ <enum value="0x8DAB" name="GL_DEPTH_COMPONENT32F_NV"/>
+ <enum value="0x8DAC" name="GL_DEPTH32F_STENCIL8_NV"/>
+ <enum value="0x8DAD" name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+ <enum value="0x8DAD" name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"/>
+ <enum value="0x8DAE" name="GL_SHADER_INCLUDE_ARB"/>
+ <enum value="0x8DAF" name="GL_DEPTH_BUFFER_FLOAT_MODE_NV"/>
+ <unused start="0x8DB0" end="0x8DB8" vendor="NV"/>
+ <enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB"/>
+ <enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB_EXT"/>
+ <enum value="0x8DBA" name="GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
+ <enum value="0x8DBB" name="GL_COMPRESSED_RED_RGTC1"/>
+ <enum value="0x8DBB" name="GL_COMPRESSED_RED_RGTC1_EXT"/>
+ <enum value="0x8DBC" name="GL_COMPRESSED_SIGNED_RED_RGTC1"/>
+ <enum value="0x8DBC" name="GL_COMPRESSED_SIGNED_RED_RGTC1_EXT"/>
+ <enum value="0x8DBD" name="GL_COMPRESSED_RED_GREEN_RGTC2_EXT"/>
+ <enum value="0x8DBD" name="GL_COMPRESSED_RG_RGTC2"/>
+ <enum value="0x8DBE" name="GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"/>
+ <enum value="0x8DBE" name="GL_COMPRESSED_SIGNED_RG_RGTC2"/>
+ <enum value="0x8DC0" name="GL_SAMPLER_1D_ARRAY"/>
+ <enum value="0x8DC0" name="GL_SAMPLER_1D_ARRAY_EXT"/>
+ <enum value="0x8DC1" name="GL_SAMPLER_2D_ARRAY"/>
+ <enum value="0x8DC1" name="GL_SAMPLER_2D_ARRAY_EXT"/>
+ <enum value="0x8DC2" name="GL_SAMPLER_BUFFER"/>
+ <enum value="0x8DC2" name="GL_SAMPLER_BUFFER_EXT"/>
+ <enum value="0x8DC3" name="GL_SAMPLER_1D_ARRAY_SHADOW"/>
+ <enum value="0x8DC3" name="GL_SAMPLER_1D_ARRAY_SHADOW_EXT"/>
+ <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
+ <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW_EXT"/>
+ <enum value="0x8DC4" name="GL_SAMPLER_2D_ARRAY_SHADOW_NV"/>
+ <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW"/>
+ <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW_EXT"/>
+ <enum value="0x8DC5" name="GL_SAMPLER_CUBE_SHADOW_NV"/>
+ <enum value="0x8DC6" name="GL_UNSIGNED_INT_VEC2"/>
+ <enum value="0x8DC6" name="GL_UNSIGNED_INT_VEC2_EXT"/>
+ <enum value="0x8DC7" name="GL_UNSIGNED_INT_VEC3"/>
+ <enum value="0x8DC7" name="GL_UNSIGNED_INT_VEC3_EXT"/>
+ <enum value="0x8DC8" name="GL_UNSIGNED_INT_VEC4"/>
+ <enum value="0x8DC8" name="GL_UNSIGNED_INT_VEC4_EXT"/>
+ <enum value="0x8DC9" name="GL_INT_SAMPLER_1D"/>
+ <enum value="0x8DC9" name="GL_INT_SAMPLER_1D_EXT"/>
+ <enum value="0x8DCA" name="GL_INT_SAMPLER_2D"/>
+ <enum value="0x8DCA" name="GL_INT_SAMPLER_2D_EXT"/>
+ <enum value="0x8DCB" name="GL_INT_SAMPLER_3D"/>
+ <enum value="0x8DCB" name="GL_INT_SAMPLER_3D_EXT"/>
+ <enum value="0x8DCC" name="GL_INT_SAMPLER_CUBE"/>
+ <enum value="0x8DCC" name="GL_INT_SAMPLER_CUBE_EXT"/>
+ <enum value="0x8DCD" name="GL_INT_SAMPLER_2D_RECT"/>
+ <enum value="0x8DCD" name="GL_INT_SAMPLER_2D_RECT_EXT"/>
+ <enum value="0x8DCE" name="GL_INT_SAMPLER_1D_ARRAY"/>
+ <enum value="0x8DCE" name="GL_INT_SAMPLER_1D_ARRAY_EXT"/>
+ <enum value="0x8DCF" name="GL_INT_SAMPLER_2D_ARRAY"/>
+ <enum value="0x8DCF" name="GL_INT_SAMPLER_2D_ARRAY_EXT"/>
+ <enum value="0x8DD0" name="GL_INT_SAMPLER_BUFFER"/>
+ <enum value="0x8DD0" name="GL_INT_SAMPLER_BUFFER_EXT"/>
+ <enum value="0x8DD1" name="GL_UNSIGNED_INT_SAMPLER_1D"/>
+ <enum value="0x8DD1" name="GL_UNSIGNED_INT_SAMPLER_1D_EXT"/>
+ <enum value="0x8DD2" name="GL_UNSIGNED_INT_SAMPLER_2D"/>
+ <enum value="0x8DD2" name="GL_UNSIGNED_INT_SAMPLER_2D_EXT"/>
+ <enum value="0x8DD3" name="GL_UNSIGNED_INT_SAMPLER_3D"/>
+ <enum value="0x8DD3" name="GL_UNSIGNED_INT_SAMPLER_3D_EXT"/>
+ <enum value="0x8DD4" name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
+ <enum value="0x8DD4" name="GL_UNSIGNED_INT_SAMPLER_CUBE_EXT"/>
+ <enum value="0x8DD5" name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
+ <enum value="0x8DD5" name="GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT"/>
+ <enum value="0x8DD6" name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"/>
+ <enum value="0x8DD6" name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT"/>
+ <enum value="0x8DD7" name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
+ <enum value="0x8DD7" name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT"/>
+ <enum value="0x8DD8" name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+ <enum value="0x8DD8" name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
+ <enum value="0x8DD9" name="GL_GEOMETRY_SHADER"/>
+ <enum value="0x8DD9" name="GL_GEOMETRY_SHADER_ARB"/>
+ <enum value="0x8DD9" name="GL_GEOMETRY_SHADER_EXT"/>
+ <enum value="0x8DDA" name="GL_GEOMETRY_VERTICES_OUT_ARB"/>
+ <enum value="0x8DDA" name="GL_GEOMETRY_VERTICES_OUT_EXT"/>
+ <enum value="0x8DDB" name="GL_GEOMETRY_INPUT_TYPE_ARB"/>
+ <enum value="0x8DDB" name="GL_GEOMETRY_INPUT_TYPE_EXT"/>
+ <enum value="0x8DDC" name="GL_GEOMETRY_OUTPUT_TYPE_ARB"/>
+ <enum value="0x8DDC" name="GL_GEOMETRY_OUTPUT_TYPE_EXT"/>
+ <enum value="0x8DDD" name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"/>
+ <enum value="0x8DDD" name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT"/>
+ <enum value="0x8DDE" name="GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"/>
+ <enum value="0x8DDE" name="GL_MAX_VERTEX_VARYING_COMPONENTS_EXT"/>
+ <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
+ <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"/>
+ <enum value="0x8DDF" name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+ <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
+ <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB"/>
+ <enum value="0x8DE0" name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
+ <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
+ <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"/>
+ <enum value="0x8DE1" name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+ <enum value="0x8DE2" name="GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT"/>
+ <enum value="0x8DE3" name="GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT"/>
+ <enum value="0x8DE4" name="GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"/>
+ <enum value="0x8DE5" name="GL_ACTIVE_SUBROUTINES"/>
+ <enum value="0x8DE6" name="GL_ACTIVE_SUBROUTINE_UNIFORMS"/>
+ <enum value="0x8DE7" name="GL_MAX_SUBROUTINES"/>
+ <enum value="0x8DE8" name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
+ <enum value="0x8DE9" name="GL_NAMED_STRING_LENGTH_ARB"/>
+ <enum value="0x8DEA" name="GL_NAMED_STRING_TYPE_ARB"/>
+ <unused start="0x8DEB" end="0x8DEC" vendor="NV"/>
+ <enum value="0x8DED" name="GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"/>
+ <enum value="0x8DEE" name="GL_UNIFORM_BUFFER_EXT"/>
+ <enum value="0x8DEF" name="GL_UNIFORM_BUFFER_BINDING_EXT"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8DF0" end="0x8E0F" vendor="OES">
+ <enum value="0x8DF0" name="GL_LOW_FLOAT"/>
+ <enum value="0x8DF1" name="GL_MEDIUM_FLOAT"/>
+ <enum value="0x8DF2" name="GL_HIGH_FLOAT"/>
+ <enum value="0x8DF3" name="GL_LOW_INT"/>
+ <enum value="0x8DF4" name="GL_MEDIUM_INT"/>
+ <enum value="0x8DF5" name="GL_HIGH_INT"/>
+ <enum value="0x8DF6" name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
+ <enum value="0x8DF7" name="GL_INT_10_10_10_2_OES"/>
+ <enum value="0x8DF8" name="GL_SHADER_BINARY_FORMATS"/>
+ <enum value="0x8DF9" name="GL_NUM_SHADER_BINARY_FORMATS"/>
+ <enum value="0x8DFA" name="GL_SHADER_COMPILER"/>
+ <enum value="0x8DFB" name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+ <enum value="0x8DFC" name="GL_MAX_VARYING_VECTORS"/>
+ <enum value="0x8DFD" name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+ <unused start="0x8DFE" end="0x8E0F" vendor="OES"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8E10" end="0x8E8F" vendor="NV" comment="For Michael Gold 2006/08/07">
+ <enum value="0x8E10" name="GL_RENDERBUFFER_COLOR_SAMPLES_NV"/>
+ <enum value="0x8E11" name="GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"/>
+ <enum value="0x8E12" name="GL_MULTISAMPLE_COVERAGE_MODES_NV"/>
+ <enum value="0x8E13" name="GL_QUERY_WAIT"/>
+ <enum value="0x8E13" name="GL_QUERY_WAIT_NV"/>
+ <enum value="0x8E14" name="GL_QUERY_NO_WAIT"/>
+ <enum value="0x8E14" name="GL_QUERY_NO_WAIT_NV"/>
+ <enum value="0x8E15" name="GL_QUERY_BY_REGION_WAIT"/>
+ <enum value="0x8E15" name="GL_QUERY_BY_REGION_WAIT_NV"/>
+ <enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT"/>
+ <enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT_NV"/>
+ <!-- 0x8E17 - 0x8E1A reserved for future GL features -->
+ <unused start="0x8E1B" end="0x8E1D" vendor="NV"/>
+ <enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+ <enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+ <enum value="0x8E20" name="GL_COLOR_SAMPLES_NV"/>
+ <unused start="0x8E21" vendor="NV"/>
+ <enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK"/>
+ <enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK_NV"/>
+ <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
+ <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_PAUSED" alias="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
+ <enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV"/>
+ <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
+ <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_ACTIVE" alias="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
+ <enum value="0x8E24" name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV"/>
+ <enum value="0x8E25" name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+ <enum value="0x8E25" name="GL_TRANSFORM_FEEDBACK_BINDING_NV"/>
+ <enum value="0x8E26" name="GL_FRAME_NV"/>
+ <enum value="0x8E27" name="GL_FIELDS_NV"/>
+ <enum value="0x8E28" name="GL_CURRENT_TIME_NV"/>
+ <enum value="0x8E28" name="GL_TIMESTAMP"/>
+ <enum value="0x8E28" name="GL_TIMESTAMP_EXT"/>
+ <enum value="0x8E29" name="GL_NUM_FILL_STREAMS_NV"/>
+ <enum value="0x8E2A" name="GL_PRESENT_TIME_NV"/>
+ <enum value="0x8E2B" name="GL_PRESENT_DURATION_NV"/>
+ <enum value="0x8E2C" name="GL_DEPTH_COMPONENT16_NONLINEAR_NV"/>
+ <enum value="0x8E2D" name="GL_PROGRAM_MATRIX_EXT"/>
+ <enum value="0x8E2E" name="GL_TRANSPOSE_PROGRAM_MATRIX_EXT"/>
+ <enum value="0x8E2F" name="GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"/>
+ <unused start="0x8E30" end="0x8E41" vendor="NV"/>
+ <enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R"/>
+ <enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R_EXT"/>
+ <enum value="0x8E43" name="GL_TEXTURE_SWIZZLE_G"/>
+ <enum value="0x8E43" name="GL_TEXTURE_SWIZZLE_G_EXT"/>
+ <enum value="0x8E44" name="GL_TEXTURE_SWIZZLE_B"/>
+ <enum value="0x8E44" name="GL_TEXTURE_SWIZZLE_B_EXT"/>
+ <enum value="0x8E45" name="GL_TEXTURE_SWIZZLE_A"/>
+ <enum value="0x8E45" name="GL_TEXTURE_SWIZZLE_A_EXT"/>
+ <enum value="0x8E46" name="GL_TEXTURE_SWIZZLE_RGBA"/>
+ <enum value="0x8E46" name="GL_TEXTURE_SWIZZLE_RGBA_EXT"/>
+ <enum value="0x8E47" name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"/>
+ <enum value="0x8E48" name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH"/>
+ <enum value="0x8E49" name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"/>
+ <enum value="0x8E4A" name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
+ <enum value="0x8E4B" name="GL_COMPATIBLE_SUBROUTINES"/>
+ <enum value="0x8E4C" name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"/>
+ <enum value="0x8E4C" name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT"/>
+ <enum value="0x8E4D" name="GL_FIRST_VERTEX_CONVENTION"/>
+ <enum value="0x8E4D" name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
+ <enum value="0x8E4E" name="GL_LAST_VERTEX_CONVENTION"/>
+ <enum value="0x8E4E" name="GL_LAST_VERTEX_CONVENTION_EXT"/>
+ <enum value="0x8E4F" name="GL_PROVOKING_VERTEX"/>
+ <enum value="0x8E4F" name="GL_PROVOKING_VERTEX_EXT"/>
+ <enum value="0x8E50" name="GL_SAMPLE_POSITION"/>
+ <enum value="0x8E50" name="GL_SAMPLE_POSITION_NV"/>
+ <enum value="0x8E51" name="GL_SAMPLE_MASK"/>
+ <enum value="0x8E51" name="GL_SAMPLE_MASK_NV"/>
+ <enum value="0x8E52" name="GL_SAMPLE_MASK_VALUE"/>
+ <enum value="0x8E52" name="GL_SAMPLE_MASK_VALUE_NV"/>
+ <enum value="0x8E53" name="GL_TEXTURE_BINDING_RENDERBUFFER_NV"/>
+ <enum value="0x8E54" name="GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"/>
+ <enum value="0x8E55" name="GL_TEXTURE_RENDERBUFFER_NV"/>
+ <enum value="0x8E56" name="GL_SAMPLER_RENDERBUFFER_NV"/>
+ <enum value="0x8E57" name="GL_INT_SAMPLER_RENDERBUFFER_NV"/>
+ <enum value="0x8E58" name="GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"/>
+ <enum value="0x8E59" name="GL_MAX_SAMPLE_MASK_WORDS"/>
+ <enum value="0x8E59" name="GL_MAX_SAMPLE_MASK_WORDS_NV"/>
+ <enum value="0x8E5A" name="GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV"/>
+ <enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+ <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+ <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
+ <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+ <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
+ <enum value="0x8E5D" name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+ <enum value="0x8E5D" name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES"/>
+ <enum value="0x8E5D" name="GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV"/>
+ <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
+ <enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
+ <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
+ <enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
+ <unused start="0x8E60" end="0x8E6F" vendor="NV"/>
+ <enum value="0x8E70" name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
+ <enum value="0x8E71" name="GL_MAX_VERTEX_STREAMS"/>
+ <enum value="0x8E72" name="GL_PATCH_VERTICES"/>
+ <enum value="0x8E72" name="GL_PATCH_VERTICES_EXT"/>
+ <enum value="0x8E73" name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
+ <enum value="0x8E73" name="GL_PATCH_DEFAULT_INNER_LEVEL_EXT"/>
+ <enum value="0x8E74" name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
+ <enum value="0x8E74" name="GL_PATCH_DEFAULT_OUTER_LEVEL_EXT"/>
+ <enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+ <enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT"/>
+ <enum value="0x8E76" name="GL_TESS_GEN_MODE"/>
+ <enum value="0x8E76" name="GL_TESS_GEN_MODE_EXT"/>
+ <enum value="0x8E77" name="GL_TESS_GEN_SPACING"/>
+ <enum value="0x8E77" name="GL_TESS_GEN_SPACING_EXT"/>
+ <enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER"/>
+ <enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER_EXT"/>
+ <enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE"/>
+ <enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE_EXT"/>
+ <enum value="0x8E7A" name="GL_ISOLINES"/>
+ <enum value="0x8E7A" name="GL_ISOLINES_EXT"/>
+ <enum value="0x8E7B" name="GL_FRACTIONAL_ODD"/>
+ <enum value="0x8E7B" name="GL_FRACTIONAL_ODD_EXT"/>
+ <enum value="0x8E7C" name="GL_FRACTIONAL_EVEN"/>
+ <enum value="0x8E7C" name="GL_FRACTIONAL_EVEN_EXT"/>
+ <enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES"/>
+ <enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES_EXT"/>
+ <enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL"/>
+ <enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL_EXT"/>
+ <enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+ <enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+ <enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+ <enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT"/>
+ <enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+ <enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS_EXT"/>
+ <enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+ <enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+ <enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+ <enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT"/>
+ <enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER"/>
+ <enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER_EXT"/>
+ <enum value="0x8E88" name="GL_TESS_CONTROL_SHADER"/>
+ <enum value="0x8E88" name="GL_TESS_CONTROL_SHADER_EXT"/>
+ <enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
+ <enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT"/>
+ <enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
+ <enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT"/>
+ <unused start="0x8E8B" vendor="NV"/>
+ <enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM"/>
+ <enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"/>
+ <enum value="0x8E8D" name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM"/>
+ <enum value="0x8E8D" name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"/>
+ <enum value="0x8E8E" name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT"/>
+ <enum value="0x8E8E" name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"/>
+ <enum value="0x8E8F" name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT"/>
+ <enum value="0x8E8F" name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8E90" end="0x8E9F" vendor="QNX" comment="For QNX_texture_tiling, QNX_complex_polygon, QNX_stippled_lines (Khronos bug 696)">
+ <unused start="0x8E90" end="0x8E9F" vendor="QNX"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8EA0" end="0x8EAF" vendor="IMG">
+ <unused start="0x8EA0" end="0x8EAF" vendor="IMG"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8EB0" end="0x8EBF" vendor="OES" comment="For Affie Munshi 2007/07/20">
+ <unused start="0x8EB0" end="0x8EBF" vendor="OES"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8EC0" end="0x8ECF" vendor="Vincent">
+ <unused start="0x8EC0" end="0x8ECF" vendor="Vincent"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8ED0" end="0x8F4F" vendor="NV" comment="For Pat Brown, Khronos bug 3191">
+ <enum value="0x8ED0" name="GL_COVERAGE_COMPONENT_NV"/>
+ <enum value="0x8ED1" name="GL_COVERAGE_COMPONENT4_NV"/>
+ <enum value="0x8ED2" name="GL_COVERAGE_ATTACHMENT_NV"/>
+ <enum value="0x8ED3" name="GL_COVERAGE_BUFFERS_NV"/>
+ <enum value="0x8ED4" name="GL_COVERAGE_SAMPLES_NV"/>
+ <enum value="0x8ED5" name="GL_COVERAGE_ALL_FRAGMENTS_NV"/>
+ <enum value="0x8ED6" name="GL_COVERAGE_EDGE_FRAGMENTS_NV"/>
+ <enum value="0x8ED7" name="GL_COVERAGE_AUTOMATIC_NV"/>
+ <unused start="0x8ED8" end="0x8F1C" vendor="NV"/>
+ <enum value="0x8F1D" name="GL_BUFFER_GPU_ADDRESS_NV"/>
+ <enum value="0x8F1E" name="GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"/>
+ <enum value="0x8F1F" name="GL_ELEMENT_ARRAY_UNIFIED_NV"/>
+ <enum value="0x8F20" name="GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F21" name="GL_VERTEX_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F22" name="GL_NORMAL_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F23" name="GL_COLOR_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F24" name="GL_INDEX_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F25" name="GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F26" name="GL_EDGE_FLAG_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F27" name="GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F28" name="GL_FOG_COORD_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F29" name="GL_ELEMENT_ARRAY_ADDRESS_NV"/>
+ <enum value="0x8F2A" name="GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F2B" name="GL_VERTEX_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F2C" name="GL_NORMAL_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F2D" name="GL_COLOR_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F2E" name="GL_INDEX_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F2F" name="GL_TEXTURE_COORD_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F30" name="GL_EDGE_FLAG_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F31" name="GL_SECONDARY_COLOR_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F32" name="GL_FOG_COORD_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F33" name="GL_ELEMENT_ARRAY_LENGTH_NV"/>
+ <enum value="0x8F34" name="GL_GPU_ADDRESS_NV"/>
+ <enum value="0x8F35" name="GL_MAX_SHADER_BUFFER_ADDRESS_NV"/>
+ <enum value="0x8F36" name="GL_COPY_READ_BUFFER"/>
+ <enum value="0x8F36" name="GL_COPY_READ_BUFFER_NV"/>
+ <enum value="0x8F36" name="GL_COPY_READ_BUFFER_BINDING" alias="GL_COPY_READ_BUFFER"/>
+ <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER"/>
+ <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER_NV"/>
+ <enum value="0x8F37" name="GL_COPY_WRITE_BUFFER_BINDING" alias="GL_COPY_WRITE_BUFFER"/>
+ <enum value="0x8F38" name="GL_MAX_IMAGE_UNITS"/>
+ <enum value="0x8F38" name="GL_MAX_IMAGE_UNITS_EXT"/>
+ <enum value="0x8F39" name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+ <enum value="0x8F39" name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT"/>
+ <enum value="0x8F39" name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES" alias="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+ <enum value="0x8F3A" name="GL_IMAGE_BINDING_NAME"/>
+ <enum value="0x8F3A" name="GL_IMAGE_BINDING_NAME_EXT"/>
+ <enum value="0x8F3B" name="GL_IMAGE_BINDING_LEVEL"/>
+ <enum value="0x8F3B" name="GL_IMAGE_BINDING_LEVEL_EXT"/>
+ <enum value="0x8F3C" name="GL_IMAGE_BINDING_LAYERED"/>
+ <enum value="0x8F3C" name="GL_IMAGE_BINDING_LAYERED_EXT"/>
+ <enum value="0x8F3D" name="GL_IMAGE_BINDING_LAYER"/>
+ <enum value="0x8F3D" name="GL_IMAGE_BINDING_LAYER_EXT"/>
+ <enum value="0x8F3E" name="GL_IMAGE_BINDING_ACCESS"/>
+ <enum value="0x8F3E" name="GL_IMAGE_BINDING_ACCESS_EXT"/>
+ <enum value="0x8F3F" name="GL_DRAW_INDIRECT_BUFFER"/>
+ <enum value="0x8F40" name="GL_DRAW_INDIRECT_UNIFIED_NV"/>
+ <enum value="0x8F41" name="GL_DRAW_INDIRECT_ADDRESS_NV"/>
+ <enum value="0x8F42" name="GL_DRAW_INDIRECT_LENGTH_NV"/>
+ <enum value="0x8F43" name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+ <enum value="0x8F44" name="GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"/>
+ <enum value="0x8F45" name="GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"/>
+ <enum value="0x8F46" name="GL_DOUBLE_MAT2"/>
+ <enum value="0x8F46" name="GL_DOUBLE_MAT2_EXT"/>
+ <enum value="0x8F47" name="GL_DOUBLE_MAT3"/>
+ <enum value="0x8F47" name="GL_DOUBLE_MAT3_EXT"/>
+ <enum value="0x8F48" name="GL_DOUBLE_MAT4"/>
+ <enum value="0x8F48" name="GL_DOUBLE_MAT4_EXT"/>
+ <enum value="0x8F49" name="GL_DOUBLE_MAT2x3"/>
+ <enum value="0x8F49" name="GL_DOUBLE_MAT2x3_EXT"/>
+ <enum value="0x8F4A" name="GL_DOUBLE_MAT2x4"/>
+ <enum value="0x8F4A" name="GL_DOUBLE_MAT2x4_EXT"/>
+ <enum value="0x8F4B" name="GL_DOUBLE_MAT3x2"/>
+ <enum value="0x8F4B" name="GL_DOUBLE_MAT3x2_EXT"/>
+ <enum value="0x8F4C" name="GL_DOUBLE_MAT3x4"/>
+ <enum value="0x8F4C" name="GL_DOUBLE_MAT3x4_EXT"/>
+ <enum value="0x8F4D" name="GL_DOUBLE_MAT4x2"/>
+ <enum value="0x8F4D" name="GL_DOUBLE_MAT4x2_EXT"/>
+ <enum value="0x8F4E" name="GL_DOUBLE_MAT4x3"/>
+ <enum value="0x8F4E" name="GL_DOUBLE_MAT4x3_EXT"/>
+ <enum value="0x8F4F" name="GL_VERTEX_BINDING_BUFFER"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8F50" end="0x8F5F" vendor="ZiiLabs" comment="For Jon Kennedy, Khronos public bug 75">
+ <unused start="0x8F50" end="0x8F5F" vendor="ZiiLabs"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8F60" end="0x8F6F" vendor="ARM" comment="For Remi Pedersen, Khronos bug 3745">
+ <enum value="0x8F60" name="GL_MALI_SHADER_BINARY_ARM"/>
+ <enum value="0x8F61" name="GL_MALI_PROGRAM_BINARY_ARM"/>
+ <unused start="0x8F62" vendor="ARM"/>
+ <enum value="0x8F63" name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+ <enum value="0x8F64" name="GL_SHADER_PIXEL_LOCAL_STORAGE_EXT"/>
+ <enum value="0x8F65" name="GL_FETCH_PER_SAMPLE_ARM"/>
+ <enum value="0x8F66" name="GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM"/>
+ <enum value="0x8F67" name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT"/>
+ <unused start="0x8F68" end="0x8F6F" vendor="ARM"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with EGL.">
+ <unused start="0x8F70" end="0x8F7F" vendor="HI"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8F80" end="0x8F8F" vendor="Zebra" comment="For Mike Weiblen, public bug 910">
+ <unused start="0x8F80" end="0x8F8F" vendor="Zebra"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8F90" end="0x8F9F" vendor="ARB">
+ <enum value="0x8F90" name="GL_RED_SNORM"/>
+ <enum value="0x8F91" name="GL_RG_SNORM"/>
+ <enum value="0x8F92" name="GL_RGB_SNORM"/>
+ <enum value="0x8F93" name="GL_RGBA_SNORM"/>
+ <enum value="0x8F94" name="GL_R8_SNORM"/>
+ <enum value="0x8F95" name="GL_RG8_SNORM"/>
+ <enum value="0x8F96" name="GL_RGB8_SNORM"/>
+ <enum value="0x8F97" name="GL_RGBA8_SNORM"/>
+ <enum value="0x8F98" name="GL_R16_SNORM"/>
+ <enum value="0x8F99" name="GL_RG16_SNORM"/>
+ <enum value="0x8F9A" name="GL_RGB16_SNORM"/>
+ <enum value="0x8F9B" name="GL_RGBA16_SNORM"/>
+ <enum value="0x8F9C" name="GL_SIGNED_NORMALIZED"/>
+ <enum value="0x8F9D" name="GL_PRIMITIVE_RESTART"/>
+ <enum value="0x8F9E" name="GL_PRIMITIVE_RESTART_INDEX"/>
+ <enum value="0x8F9F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8FA0" end="0x8FBF" vendor="QCOM" comment="For Maurice Ribble, bug 4512">
+ <enum value="0x8FA0" name="GL_PERFMON_GLOBAL_MODE_QCOM"/>
+ <unused start="0x8FA1" end="0x8FAF" vendor="QCOM"/>
+ <enum value="0x8FB0" name="GL_BINNING_CONTROL_HINT_QCOM"/>
+ <enum value="0x8FB1" name="GL_CPU_OPTIMIZED_QCOM"/>
+ <enum value="0x8FB2" name="GL_GPU_OPTIMIZED_QCOM"/>
+ <enum value="0x8FB3" name="GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM"/>
+ <unused start="0x8FB4" end="0x8FBA" vendor="QCOM"/>
+ <enum value="0x8FBB" name="GL_GPU_DISJOINT_EXT"/>
+ <unused start="0x8FBC" end="0x8FBF" vendor="QCOM"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8FC0" end="0x8FDF" vendor="VIV" comment="For Frido Garritsen, bug 4526">
+ <enum value="0x8FC4" name="GL_SHADER_BINARY_VIV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8FE0" end="0x8FFF" vendor="NV" comment="For Pat Brown, bug 4935">
+ <enum value="0x8FE0" name="GL_INT8_NV"/>
+ <enum value="0x8FE1" name="GL_INT8_VEC2_NV"/>
+ <enum value="0x8FE2" name="GL_INT8_VEC3_NV"/>
+ <enum value="0x8FE3" name="GL_INT8_VEC4_NV"/>
+ <enum value="0x8FE4" name="GL_INT16_NV"/>
+ <enum value="0x8FE5" name="GL_INT16_VEC2_NV"/>
+ <enum value="0x8FE6" name="GL_INT16_VEC3_NV"/>
+ <enum value="0x8FE7" name="GL_INT16_VEC4_NV"/>
+ <enum value="0x8FE9" name="GL_INT64_VEC2_NV"/>
+ <enum value="0x8FEA" name="GL_INT64_VEC3_NV"/>
+ <enum value="0x8FEB" name="GL_INT64_VEC4_NV"/>
+ <enum value="0x8FEC" name="GL_UNSIGNED_INT8_NV"/>
+ <enum value="0x8FED" name="GL_UNSIGNED_INT8_VEC2_NV"/>
+ <enum value="0x8FEE" name="GL_UNSIGNED_INT8_VEC3_NV"/>
+ <enum value="0x8FEF" name="GL_UNSIGNED_INT8_VEC4_NV"/>
+ <enum value="0x8FF0" name="GL_UNSIGNED_INT16_NV"/>
+ <enum value="0x8FF1" name="GL_UNSIGNED_INT16_VEC2_NV"/>
+ <enum value="0x8FF2" name="GL_UNSIGNED_INT16_VEC3_NV"/>
+ <enum value="0x8FF3" name="GL_UNSIGNED_INT16_VEC4_NV"/>
+ <enum value="0x8FF5" name="GL_UNSIGNED_INT64_VEC2_NV"/>
+ <enum value="0x8FF6" name="GL_UNSIGNED_INT64_VEC3_NV"/>
+ <enum value="0x8FF7" name="GL_UNSIGNED_INT64_VEC4_NV"/>
+ <enum value="0x8FF8" name="GL_FLOAT16_NV"/>
+ <enum value="0x8FF9" name="GL_FLOAT16_VEC2_NV"/>
+ <enum value="0x8FFA" name="GL_FLOAT16_VEC3_NV"/>
+ <enum value="0x8FFB" name="GL_FLOAT16_VEC4_NV"/>
+ <enum value="0x8FFC" name="GL_DOUBLE_VEC2"/>
+ <enum value="0x8FFC" name="GL_DOUBLE_VEC2_EXT"/>
+ <enum value="0x8FFD" name="GL_DOUBLE_VEC3"/>
+ <enum value="0x8FFD" name="GL_DOUBLE_VEC3_EXT"/>
+ <enum value="0x8FFE" name="GL_DOUBLE_VEC4"/>
+ <enum value="0x8FFE" name="GL_DOUBLE_VEC4_EXT"/>
+ <unused start="0x8FFF" vendor="NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9000" end="0x901F" vendor="AMD" comment="For Bill Licea-Kane">
+ <enum value="0x9001" name="GL_SAMPLER_BUFFER_AMD"/>
+ <enum value="0x9002" name="GL_INT_SAMPLER_BUFFER_AMD"/>
+ <enum value="0x9003" name="GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"/>
+ <enum value="0x9004" name="GL_TESSELLATION_MODE_AMD"/>
+ <enum value="0x9005" name="GL_TESSELLATION_FACTOR_AMD"/>
+ <enum value="0x9006" name="GL_DISCRETE_AMD"/>
+ <enum value="0x9007" name="GL_CONTINUOUS_AMD"/>
+ <unused start="0x9008" vendor="AMD"/>
+ <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+ <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
+ <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"/>
+ <enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
+ <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
+ <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB"/>
+ <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT"/>
+ <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+ <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+ <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x9010" name="GL_ALPHA_SNORM"/>
+ <enum value="0x9011" name="GL_LUMINANCE_SNORM"/>
+ <enum value="0x9012" name="GL_LUMINANCE_ALPHA_SNORM"/>
+ <enum value="0x9013" name="GL_INTENSITY_SNORM"/>
+ <enum value="0x9014" name="GL_ALPHA8_SNORM"/>
+ <enum value="0x9015" name="GL_LUMINANCE8_SNORM"/>
+ <enum value="0x9016" name="GL_LUMINANCE8_ALPHA8_SNORM"/>
+ <enum value="0x9017" name="GL_INTENSITY8_SNORM"/>
+ <enum value="0x9018" name="GL_ALPHA16_SNORM"/>
+ <enum value="0x9019" name="GL_LUMINANCE16_SNORM"/>
+ <enum value="0x901A" name="GL_LUMINANCE16_ALPHA16_SNORM"/>
+ <enum value="0x901B" name="GL_INTENSITY16_SNORM"/>
+ <enum value="0x901C" name="GL_FACTOR_MIN_AMD"/>
+ <enum value="0x901D" name="GL_FACTOR_MAX_AMD"/>
+ <enum value="0x901E" name="GL_DEPTH_CLAMP_NEAR_AMD"/>
+ <enum value="0x901F" name="GL_DEPTH_CLAMP_FAR_AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9020" end="0x90FF" vendor="NV" comment="For Pat Brown, bug 4935">
+ <enum value="0x9020" name="GL_VIDEO_BUFFER_NV"/>
+ <enum value="0x9021" name="GL_VIDEO_BUFFER_BINDING_NV"/>
+ <enum value="0x9022" name="GL_FIELD_UPPER_NV"/>
+ <enum value="0x9023" name="GL_FIELD_LOWER_NV"/>
+ <enum value="0x9024" name="GL_NUM_VIDEO_CAPTURE_STREAMS_NV"/>
+ <enum value="0x9025" name="GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV"/>
+ <enum value="0x9026" name="GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV"/>
+ <enum value="0x9027" name="GL_LAST_VIDEO_CAPTURE_STATUS_NV"/>
+ <enum value="0x9028" name="GL_VIDEO_BUFFER_PITCH_NV"/>
+ <enum value="0x9029" name="GL_VIDEO_COLOR_CONVERSION_MATRIX_NV"/>
+ <enum value="0x902A" name="GL_VIDEO_COLOR_CONVERSION_MAX_NV"/>
+ <enum value="0x902B" name="GL_VIDEO_COLOR_CONVERSION_MIN_NV"/>
+ <enum value="0x902C" name="GL_VIDEO_COLOR_CONVERSION_OFFSET_NV"/>
+ <enum value="0x902D" name="GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV"/>
+ <enum value="0x902E" name="GL_PARTIAL_SUCCESS_NV"/>
+ <enum value="0x902F" name="GL_SUCCESS_NV"/>
+ <enum value="0x9030" name="GL_FAILURE_NV"/>
+ <enum value="0x9031" name="GL_YCBYCR8_422_NV"/>
+ <enum value="0x9032" name="GL_YCBAYCR8A_4224_NV"/>
+ <enum value="0x9033" name="GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV"/>
+ <enum value="0x9034" name="GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV"/>
+ <enum value="0x9035" name="GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV"/>
+ <enum value="0x9036" name="GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV"/>
+ <enum value="0x9037" name="GL_Z4Y12Z4CB12Z4CR12_444_NV"/>
+ <enum value="0x9038" name="GL_VIDEO_CAPTURE_FRAME_WIDTH_NV"/>
+ <enum value="0x9039" name="GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV"/>
+ <enum value="0x903A" name="GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"/>
+ <enum value="0x903B" name="GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"/>
+ <enum value="0x903C" name="GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"/>
+ <unused start="0x903D" end="0x9044" vendor="NV"/>
+ <enum value="0x9045" name="GL_TEXTURE_COVERAGE_SAMPLES_NV"/>
+ <enum value="0x9046" name="GL_TEXTURE_COLOR_SAMPLES_NV"/>
+ <enum value="0x9047" name="GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX"/>
+ <enum value="0x9048" name="GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX"/>
+ <enum value="0x9049" name="GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX"/>
+ <enum value="0x904A" name="GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX"/>
+ <enum value="0x904B" name="GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX"/>
+ <enum value="0x904C" name="GL_IMAGE_1D"/>
+ <enum value="0x904C" name="GL_IMAGE_1D_EXT"/>
+ <enum value="0x904D" name="GL_IMAGE_2D"/>
+ <enum value="0x904D" name="GL_IMAGE_2D_EXT"/>
+ <enum value="0x904E" name="GL_IMAGE_3D"/>
+ <enum value="0x904E" name="GL_IMAGE_3D_EXT"/>
+ <enum value="0x904F" name="GL_IMAGE_2D_RECT"/>
+ <enum value="0x904F" name="GL_IMAGE_2D_RECT_EXT"/>
+ <enum value="0x9050" name="GL_IMAGE_CUBE"/>
+ <enum value="0x9050" name="GL_IMAGE_CUBE_EXT"/>
+ <enum value="0x9051" name="GL_IMAGE_BUFFER"/>
+ <enum value="0x9051" name="GL_IMAGE_BUFFER_EXT"/>
+ <enum value="0x9052" name="GL_IMAGE_1D_ARRAY"/>
+ <enum value="0x9052" name="GL_IMAGE_1D_ARRAY_EXT"/>
+ <enum value="0x9053" name="GL_IMAGE_2D_ARRAY"/>
+ <enum value="0x9053" name="GL_IMAGE_2D_ARRAY_EXT"/>
+ <enum value="0x9054" name="GL_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum value="0x9054" name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x9055" name="GL_IMAGE_2D_MULTISAMPLE"/>
+ <enum value="0x9055" name="GL_IMAGE_2D_MULTISAMPLE_EXT"/>
+ <enum value="0x9056" name="GL_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x9056" name="GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+ <enum value="0x9057" name="GL_INT_IMAGE_1D"/>
+ <enum value="0x9057" name="GL_INT_IMAGE_1D_EXT"/>
+ <enum value="0x9058" name="GL_INT_IMAGE_2D"/>
+ <enum value="0x9058" name="GL_INT_IMAGE_2D_EXT"/>
+ <enum value="0x9059" name="GL_INT_IMAGE_3D"/>
+ <enum value="0x9059" name="GL_INT_IMAGE_3D_EXT"/>
+ <enum value="0x905A" name="GL_INT_IMAGE_2D_RECT"/>
+ <enum value="0x905A" name="GL_INT_IMAGE_2D_RECT_EXT"/>
+ <enum value="0x905B" name="GL_INT_IMAGE_CUBE"/>
+ <enum value="0x905B" name="GL_INT_IMAGE_CUBE_EXT"/>
+ <enum value="0x905C" name="GL_INT_IMAGE_BUFFER"/>
+ <enum value="0x905C" name="GL_INT_IMAGE_BUFFER_EXT"/>
+ <enum value="0x905D" name="GL_INT_IMAGE_1D_ARRAY"/>
+ <enum value="0x905D" name="GL_INT_IMAGE_1D_ARRAY_EXT"/>
+ <enum value="0x905E" name="GL_INT_IMAGE_2D_ARRAY"/>
+ <enum value="0x905E" name="GL_INT_IMAGE_2D_ARRAY_EXT"/>
+ <enum value="0x905F" name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum value="0x905F" name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x9060" name="GL_INT_IMAGE_2D_MULTISAMPLE"/>
+ <enum value="0x9060" name="GL_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
+ <enum value="0x9061" name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x9061" name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+ <enum value="0x9062" name="GL_UNSIGNED_INT_IMAGE_1D"/>
+ <enum value="0x9062" name="GL_UNSIGNED_INT_IMAGE_1D_EXT"/>
+ <enum value="0x9063" name="GL_UNSIGNED_INT_IMAGE_2D"/>
+ <enum value="0x9063" name="GL_UNSIGNED_INT_IMAGE_2D_EXT"/>
+ <enum value="0x9064" name="GL_UNSIGNED_INT_IMAGE_3D"/>
+ <enum value="0x9064" name="GL_UNSIGNED_INT_IMAGE_3D_EXT"/>
+ <enum value="0x9065" name="GL_UNSIGNED_INT_IMAGE_2D_RECT"/>
+ <enum value="0x9065" name="GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT"/>
+ <enum value="0x9066" name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+ <enum value="0x9066" name="GL_UNSIGNED_INT_IMAGE_CUBE_EXT"/>
+ <enum value="0x9067" name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
+ <enum value="0x9067" name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
+ <enum value="0x9068" name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY"/>
+ <enum value="0x9068" name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT"/>
+ <enum value="0x9069" name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+ <enum value="0x9069" name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT"/>
+ <enum value="0x906A" name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum value="0x906A" name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum value="0x906B" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"/>
+ <enum value="0x906B" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
+ <enum value="0x906C" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x906C" name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+ <enum value="0x906D" name="GL_MAX_IMAGE_SAMPLES"/>
+ <enum value="0x906D" name="GL_MAX_IMAGE_SAMPLES_EXT"/>
+ <enum value="0x906E" name="GL_IMAGE_BINDING_FORMAT"/>
+ <enum value="0x906E" name="GL_IMAGE_BINDING_FORMAT_EXT"/>
+ <enum value="0x906F" name="GL_RGB10_A2UI"/>
+ <enum value="0x9070" name="GL_PATH_FORMAT_SVG_NV"/>
+ <enum value="0x9071" name="GL_PATH_FORMAT_PS_NV"/>
+ <enum value="0x9072" name="GL_STANDARD_FONT_NAME_NV"/>
+ <enum value="0x9073" name="GL_SYSTEM_FONT_NAME_NV"/>
+ <enum value="0x9074" name="GL_FILE_NAME_NV"/>
+ <enum value="0x9075" name="GL_PATH_STROKE_WIDTH_NV"/>
+ <enum value="0x9076" name="GL_PATH_END_CAPS_NV"/>
+ <enum value="0x9077" name="GL_PATH_INITIAL_END_CAP_NV"/>
+ <enum value="0x9078" name="GL_PATH_TERMINAL_END_CAP_NV"/>
+ <enum value="0x9079" name="GL_PATH_JOIN_STYLE_NV"/>
+ <enum value="0x907A" name="GL_PATH_MITER_LIMIT_NV"/>
+ <enum value="0x907B" name="GL_PATH_DASH_CAPS_NV"/>
+ <enum value="0x907C" name="GL_PATH_INITIAL_DASH_CAP_NV"/>
+ <enum value="0x907D" name="GL_PATH_TERMINAL_DASH_CAP_NV"/>
+ <enum value="0x907E" name="GL_PATH_DASH_OFFSET_NV"/>
+ <enum value="0x907F" name="GL_PATH_CLIENT_LENGTH_NV"/>
+ <enum value="0x9080" name="GL_PATH_FILL_MODE_NV"/>
+ <enum value="0x9081" name="GL_PATH_FILL_MASK_NV"/>
+ <enum value="0x9082" name="GL_PATH_FILL_COVER_MODE_NV"/>
+ <enum value="0x9083" name="GL_PATH_STROKE_COVER_MODE_NV"/>
+ <enum value="0x9084" name="GL_PATH_STROKE_MASK_NV"/>
+ <!-- <enum value="0x9085" name="GL_PATH_SAMPLE_QUALITY_NV" comment="Removed from extension"/> -->
+ <!-- <enum value="0x9086" name="GL_PATH_STROKE_BOUND_NV" comment="Removed from extension"/> -->
+ <!-- <enum value="0x9087" name="GL_PATH_STROKE_OVERSAMPLE_COUNT_NV" comment="Removed from extension"/> -->
+ <enum value="0x9088" name="GL_COUNT_UP_NV"/>
+ <enum value="0x9089" name="GL_COUNT_DOWN_NV"/>
+ <enum value="0x908A" name="GL_PATH_OBJECT_BOUNDING_BOX_NV"/>
+ <enum value="0x908B" name="GL_CONVEX_HULL_NV"/>
+ <!-- <enum value="0x908C" name="GL_MULTI_HULLS_NV" comment="Removed from extension"/> -->
+ <enum value="0x908D" name="GL_BOUNDING_BOX_NV"/>
+ <enum value="0x908E" name="GL_TRANSLATE_X_NV"/>
+ <enum value="0x908F" name="GL_TRANSLATE_Y_NV"/>
+ <enum value="0x9090" name="GL_TRANSLATE_2D_NV"/>
+ <enum value="0x9091" name="GL_TRANSLATE_3D_NV"/>
+ <enum value="0x9092" name="GL_AFFINE_2D_NV"/>
+ <!-- <enum value="0x9093" name="GL_PROJECTIVE_2D_NV" comment="Removed from extension"/> -->
+ <enum value="0x9094" name="GL_AFFINE_3D_NV"/>
+ <!-- <enum value="0x9095" name="GL_PROJECTIVE_3D_NV" comment="Removed from extension"/> -->
+ <enum value="0x9096" name="GL_TRANSPOSE_AFFINE_2D_NV"/>
+ <!-- <enum value="0x9097" name="GL_TRANSPOSE_PROJECTIVE_2D_NV" comment="Removed from extension"/> -->
+ <enum value="0x9098" name="GL_TRANSPOSE_AFFINE_3D_NV"/>
+ <!-- <enum value="0x9099" name="GL_TRANSPOSE_PROJECTIVE_3D_NV" comment="Removed from extension"/> -->
+ <enum value="0x909A" name="GL_UTF8_NV"/>
+ <enum value="0x909B" name="GL_UTF16_NV"/>
+ <enum value="0x909C" name="GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV"/>
+ <enum value="0x909D" name="GL_PATH_COMMAND_COUNT_NV"/>
+ <enum value="0x909E" name="GL_PATH_COORD_COUNT_NV"/>
+ <enum value="0x909F" name="GL_PATH_DASH_ARRAY_COUNT_NV"/>
+ <enum value="0x90A0" name="GL_PATH_COMPUTED_LENGTH_NV"/>
+ <enum value="0x90A1" name="GL_PATH_FILL_BOUNDING_BOX_NV"/>
+ <enum value="0x90A2" name="GL_PATH_STROKE_BOUNDING_BOX_NV"/>
+ <enum value="0x90A3" name="GL_SQUARE_NV"/>
+ <enum value="0x90A4" name="GL_ROUND_NV"/>
+ <enum value="0x90A5" name="GL_TRIANGULAR_NV"/>
+ <enum value="0x90A6" name="GL_BEVEL_NV"/>
+ <enum value="0x90A7" name="GL_MITER_REVERT_NV"/>
+ <enum value="0x90A8" name="GL_MITER_TRUNCATE_NV"/>
+ <enum value="0x90A9" name="GL_SKIP_MISSING_GLYPH_NV"/>
+ <enum value="0x90AA" name="GL_USE_MISSING_GLYPH_NV"/>
+ <enum value="0x90AB" name="GL_PATH_ERROR_POSITION_NV"/>
+ <enum value="0x90AC" name="GL_PATH_FOG_GEN_MODE_NV"/>
+ <enum value="0x90AD" name="GL_ACCUM_ADJACENT_PAIRS_NV"/>
+ <enum value="0x90AE" name="GL_ADJACENT_PAIRS_NV"/>
+ <enum value="0x90AF" name="GL_FIRST_TO_REST_NV"/>
+ <enum value="0x90B0" name="GL_PATH_GEN_MODE_NV"/>
+ <enum value="0x90B1" name="GL_PATH_GEN_COEFF_NV"/>
+ <enum value="0x90B2" name="GL_PATH_GEN_COLOR_FORMAT_NV"/>
+ <enum value="0x90B3" name="GL_PATH_GEN_COMPONENTS_NV"/>
+ <enum value="0x90B4" name="GL_PATH_DASH_OFFSET_RESET_NV"/>
+ <enum value="0x90B5" name="GL_MOVE_TO_RESETS_NV"/>
+ <enum value="0x90B6" name="GL_MOVE_TO_CONTINUES_NV"/>
+ <enum value="0x90B7" name="GL_PATH_STENCIL_FUNC_NV"/>
+ <enum value="0x90B8" name="GL_PATH_STENCIL_REF_NV"/>
+ <enum value="0x90B9" name="GL_PATH_STENCIL_VALUE_MASK_NV"/>
+ <enum value="0x90BA" name="GL_SCALED_RESOLVE_FASTEST_EXT"/>
+ <enum value="0x90BB" name="GL_SCALED_RESOLVE_NICEST_EXT"/>
+ <enum value="0x90BC" name="GL_MIN_MAP_BUFFER_ALIGNMENT"/>
+ <enum value="0x90BD" name="GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV"/>
+ <enum value="0x90BE" name="GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV"/>
+ <enum value="0x90BF" name="GL_PATH_COVER_DEPTH_FUNC_NV"/>
+ <unused start="0x90C0" end="0x90C6" vendor="NV"/>
+ <enum value="0x90C7" name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+ <enum value="0x90C8" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+ <enum value="0x90C9" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+ <enum value="0x90CA" name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+ <enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+ <enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT"/>
+ <enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+ <enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT"/>
+ <enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+ <enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT"/>
+ <enum value="0x90CE" name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+ <enum value="0x90CF" name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+ <enum value="0x90D0" name="GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV"/>
+ <enum value="0x90D1" name="GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV"/>
+ <enum value="0x90D2" name="GL_SHADER_STORAGE_BUFFER"/>
+ <enum value="0x90D3" name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+ <enum value="0x90D4" name="GL_SHADER_STORAGE_BUFFER_START"/>
+ <enum value="0x90D5" name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+ <enum value="0x90D6" name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum value="0x90DA" name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90DB" name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90DC" name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90DD" name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+ <enum value="0x90DE" name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+ <enum value="0x90DF" name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+ <unused start="0x90E0" vendor="NV"/>
+ <enum value="0x90E1" name="GL_SYNC_X11_FENCE_EXT"/>
+ <unused start="0x90E2" end="0x90E9" vendor="NV"/>
+ <enum value="0x90EA" name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+ <enum value="0x90EB" name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+ <enum value="0x90EB" name="GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+ <enum value="0x90EC" name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum value="0x90ED" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum value="0x90EE" name="GL_DISPATCH_INDIRECT_BUFFER"/>
+ <enum value="0x90EF" name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+ <enum value="0x90F0" name="GL_COLOR_ATTACHMENT_EXT"/>
+ <enum value="0x90F1" name="GL_MULTIVIEW_EXT"/>
+ <enum value="0x90F2" name="GL_MAX_MULTIVIEW_BUFFERS_EXT"/>
+ <enum value="0x90F3" name="GL_CONTEXT_ROBUST_ACCESS_EXT"/>
+ <unused start="0x90F4" end="0x90FA" vendor="NV"/>
+ <enum value="0x90FB" name="GL_COMPUTE_PROGRAM_NV"/>
+ <enum value="0x90FC" name="GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <unused start="0x90FD" end="0x90FF" vendor="NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9100" end="0x912F" vendor="ARB">
+ <enum value="0x9100" name="GL_TEXTURE_2D_MULTISAMPLE"/>
+ <enum value="0x9101" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
+ <enum value="0x9102" name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x9102" name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum value="0x9103" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x9104" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+ <enum value="0x9105" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x9105" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum value="0x9106" name="GL_TEXTURE_SAMPLES"/>
+ <enum value="0x9107" name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+ <enum value="0x9108" name="GL_SAMPLER_2D_MULTISAMPLE"/>
+ <enum value="0x9109" name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum value="0x910A" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum value="0x910B" name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x910B" name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum value="0x910C" name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x910C" name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum value="0x910D" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x910D" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum value="0x910E" name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+ <enum value="0x910F" name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+ <enum value="0x9110" name="GL_MAX_INTEGER_SAMPLES"/>
+ <enum value="0x9111" name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+ <enum value="0x9111" name="GL_MAX_SERVER_WAIT_TIMEOUT_APPLE"/>
+ <enum value="0x9112" name="GL_OBJECT_TYPE"/>
+ <enum value="0x9112" name="GL_OBJECT_TYPE_APPLE"/>
+ <enum value="0x9113" name="GL_SYNC_CONDITION"/>
+ <enum value="0x9113" name="GL_SYNC_CONDITION_APPLE"/>
+ <enum value="0x9114" name="GL_SYNC_STATUS"/>
+ <enum value="0x9114" name="GL_SYNC_STATUS_APPLE"/>
+ <enum value="0x9115" name="GL_SYNC_FLAGS"/>
+ <enum value="0x9115" name="GL_SYNC_FLAGS_APPLE"/>
+ <enum value="0x9116" name="GL_SYNC_FENCE"/>
+ <enum value="0x9116" name="GL_SYNC_FENCE_APPLE"/>
+ <enum value="0x9117" name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+ <enum value="0x9117" name="GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE"/>
+ <enum value="0x9118" name="GL_UNSIGNALED"/>
+ <enum value="0x9118" name="GL_UNSIGNALED_APPLE"/>
+ <enum value="0x9119" name="GL_SIGNALED"/>
+ <enum value="0x9119" name="GL_SIGNALED_APPLE"/>
+ <enum value="0x911A" name="GL_ALREADY_SIGNALED"/>
+ <enum value="0x911A" name="GL_ALREADY_SIGNALED_APPLE"/>
+ <enum value="0x911B" name="GL_TIMEOUT_EXPIRED"/>
+ <enum value="0x911B" name="GL_TIMEOUT_EXPIRED_APPLE"/>
+ <enum value="0x911C" name="GL_CONDITION_SATISFIED"/>
+ <enum value="0x911C" name="GL_CONDITION_SATISFIED_APPLE"/>
+ <enum value="0x911D" name="GL_WAIT_FAILED"/>
+ <enum value="0x911D" name="GL_WAIT_FAILED_APPLE"/>
+ <enum value="0x911F" name="GL_BUFFER_ACCESS_FLAGS"/>
+ <enum value="0x9120" name="GL_BUFFER_MAP_LENGTH"/>
+ <enum value="0x9121" name="GL_BUFFER_MAP_OFFSET"/>
+ <enum value="0x9122" name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
+ <enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
+ <enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT"/>
+ <enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
+ <enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT"/>
+ <enum value="0x9125" name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
+ <enum value="0x9126" name="GL_CONTEXT_PROFILE_MASK"/>
+ <enum value="0x9127" name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
+ <enum value="0x9128" name="GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum value="0x9129" name="GL_UNPACK_COMPRESSED_BLOCK_DEPTH"/>
+ <enum value="0x912A" name="GL_UNPACK_COMPRESSED_BLOCK_SIZE"/>
+ <enum value="0x912B" name="GL_PACK_COMPRESSED_BLOCK_WIDTH"/>
+ <enum value="0x912C" name="GL_PACK_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum value="0x912D" name="GL_PACK_COMPRESSED_BLOCK_DEPTH"/>
+ <enum value="0x912E" name="GL_PACK_COMPRESSED_BLOCK_SIZE"/>
+ <enum value="0x912F" name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
+ <enum value="0x912F" name="GL_TEXTURE_IMMUTABLE_FORMAT_EXT"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9130" end="0x913F" vendor="IMG" comment="Khronos bug 882">
+ <enum value="0x9130" name="GL_SGX_PROGRAM_BINARY_IMG"/>
+ <unused start="0x9131" end="0x9132" vendor="IMG"/>
+ <enum value="0x9133" name="GL_RENDERBUFFER_SAMPLES_IMG"/>
+ <enum value="0x9134" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG"/>
+ <enum value="0x9135" name="GL_MAX_SAMPLES_IMG"/>
+ <enum value="0x9136" name="GL_TEXTURE_SAMPLES_IMG"/>
+ <enum value="0x9137" name="GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG"/>
+ <enum value="0x9138" name="GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG"/>
+ <unused start="0x9139" end="0x913F" vendor="IMG"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9140" end="0x923F" vendor="AMD" comment="Khronos bugs 5899, 6004">
+ <unused start="0x9140" end="0x9142" vendor="AMD"/>
+ <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
+ <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"/>
+ <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"/>
+ <enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_KHR"/>
+ <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
+ <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"/>
+ <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"/>
+ <enum value="0x9144" name="GL_MAX_DEBUG_LOGGED_MESSAGES_KHR"/>
+ <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES"/>
+ <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_AMD"/>
+ <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_ARB"/>
+ <enum value="0x9145" name="GL_DEBUG_LOGGED_MESSAGES_KHR"/>
+ <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH"/>
+ <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_AMD"/>
+ <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_ARB"/>
+ <enum value="0x9146" name="GL_DEBUG_SEVERITY_HIGH_KHR"/>
+ <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM"/>
+ <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_AMD"/>
+ <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_ARB"/>
+ <enum value="0x9147" name="GL_DEBUG_SEVERITY_MEDIUM_KHR"/>
+ <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW"/>
+ <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_AMD"/>
+ <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_ARB"/>
+ <enum value="0x9148" name="GL_DEBUG_SEVERITY_LOW_KHR"/>
+ <enum value="0x9149" name="GL_DEBUG_CATEGORY_API_ERROR_AMD"/>
+ <enum value="0x914A" name="GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"/>
+ <enum value="0x914B" name="GL_DEBUG_CATEGORY_DEPRECATION_AMD"/>
+ <enum value="0x914C" name="GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"/>
+ <enum value="0x914D" name="GL_DEBUG_CATEGORY_PERFORMANCE_AMD"/>
+ <enum value="0x914E" name="GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"/>
+ <enum value="0x914F" name="GL_DEBUG_CATEGORY_APPLICATION_AMD"/>
+ <enum value="0x9150" name="GL_DEBUG_CATEGORY_OTHER_AMD"/>
+ <enum value="0x9151" name="GL_BUFFER_OBJECT_EXT"/>
+ <enum value="0x9151" name="GL_DATA_BUFFER_AMD"/>
+ <enum value="0x9152" name="GL_PERFORMANCE_MONITOR_AMD"/>
+ <enum value="0x9153" name="GL_QUERY_OBJECT_AMD"/>
+ <enum value="0x9153" name="GL_QUERY_OBJECT_EXT"/>
+ <enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_AMD"/>
+ <enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_EXT"/>
+ <enum value="0x9155" name="GL_SAMPLER_OBJECT_AMD"/>
+ <unused start="0x9156" end="0x915F" vendor="AMD"/>
+ <enum value="0x9160" name="GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD"/>
+ <unused start="0x9161" vendor="AMD"/>
+ <enum value="0x9192" name="GL_QUERY_BUFFER"/>
+ <enum value="0x9192" name="GL_QUERY_BUFFER_AMD"/>
+ <enum value="0x9193" name="GL_QUERY_BUFFER_BINDING"/>
+ <enum value="0x9193" name="GL_QUERY_BUFFER_BINDING_AMD"/>
+ <enum value="0x9194" name="GL_QUERY_RESULT_NO_WAIT"/>
+ <enum value="0x9194" name="GL_QUERY_RESULT_NO_WAIT_AMD"/>
+ <enum value="0x9195" name="GL_VIRTUAL_PAGE_SIZE_X_ARB"/>
+ <enum value="0x9195" name="GL_VIRTUAL_PAGE_SIZE_X_AMD"/>
+ <enum value="0x9196" name="GL_VIRTUAL_PAGE_SIZE_Y_ARB"/>
+ <enum value="0x9196" name="GL_VIRTUAL_PAGE_SIZE_Y_AMD"/>
+ <enum value="0x9197" name="GL_VIRTUAL_PAGE_SIZE_Z_ARB"/>
+ <enum value="0x9197" name="GL_VIRTUAL_PAGE_SIZE_Z_AMD"/>
+ <enum value="0x9198" name="GL_MAX_SPARSE_TEXTURE_SIZE_ARB"/>
+ <enum value="0x9198" name="GL_MAX_SPARSE_TEXTURE_SIZE_AMD"/>
+ <enum value="0x9199" name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"/>
+ <enum value="0x9199" name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"/>
+ <enum value="0x919A" name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"/>
+ <enum value="0x919A" name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"/>
+ <enum value="0x919B" name="GL_MIN_SPARSE_LEVEL_ARB"/>
+ <enum value="0x919B" name="GL_MIN_SPARSE_LEVEL_AMD"/>
+ <enum value="0x919C" name="GL_MIN_LOD_WARNING_AMD"/>
+ <enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET"/>
+ <enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET_EXT"/>
+ <enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE"/>
+ <enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE_EXT"/>
+ <enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT"/>
+ <enum value="0x91A0" name="GL_STREAM_RASTERIZATION_AMD"/>
+ <unused start="0x91A1" end="0x91A3" vendor="AMD"/>
+ <enum value="0x91A4" name="GL_VERTEX_ELEMENT_SWIZZLE_AMD"/>
+ <enum value="0x91A5" name="GL_VERTEX_ID_SWIZZLE_AMD"/>
+ <enum value="0x91A6" name="GL_TEXTURE_SPARSE_ARB"/>
+ <enum value="0x91A7" name="GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"/>
+ <enum value="0x91A8" name="GL_NUM_VIRTUAL_PAGE_SIZES_ARB"/>
+ <enum value="0x91A9" name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"/>
+ <unused start="0x91AA" end="0x91B8" vendor="AMD"/>
+ <enum value="0x91B9" name="GL_COMPUTE_SHADER"/>
+ <unused start="0x91BA" vendor="AMD"/>
+ <enum value="0x91BB" name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+ <enum value="0x91BC" name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x91BD" name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+ <enum value="0x91BE" name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+ <enum value="0x91BF" name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum value="0x91BF" name="GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+ <unused start="0x91C0" end="0x923F" vendor="AMD"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9240" end="0x924F" vendor="WEBGL" comment="Khronos bug 6473,6884">
+ <enum value="0x9240" name="GL_UNPACK_FLIP_Y_WEBGL"/>
+ <enum value="0x9241" name="GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL"/>
+ <enum value="0x9242" name="GL_CONTEXT_LOST_WEBGL"/>
+ <enum value="0x9243" name="GL_UNPACK_COLORSPACE_CONVERSION_WEBGL"/>
+ <enum value="0x9244" name="GL_BROWSER_DEFAULT_WEBGL"/>
+ <unused start="0x9245" end="0x924F" vendor="WEBGL"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9250" end="0x925F" vendor="DMP" comment="For Eisaku Ohbuchi via email">
+ <enum value="0x9250" name="GL_SHADER_BINARY_DMP"/>
+ <unused start="0x9251" end="0x925F" vendor="DMP"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9260" end="0x926F" vendor="FJ" comment="Khronos bug 7486">
+ <enum value="0x9260" name="GL_GCCSO_SHADER_BINARY_FJ"/>
+ <unused start="0x9261" end="0x926F" vendor="FJ"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9270" end="0x927F" vendor="OES" comment="Khronos bug 7625">
+ <enum value="0x9270" name="GL_COMPRESSED_R11_EAC"/>
+ <enum value="0x9270" name="GL_COMPRESSED_R11_EAC_OES"/>
+ <enum value="0x9271" name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+ <enum value="0x9271" name="GL_COMPRESSED_SIGNED_R11_EAC_OES"/>
+ <enum value="0x9272" name="GL_COMPRESSED_RG11_EAC"/>
+ <enum value="0x9272" name="GL_COMPRESSED_RG11_EAC_OES"/>
+ <enum value="0x9273" name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
+ <enum value="0x9273" name="GL_COMPRESSED_SIGNED_RG11_EAC_OES"/>
+ <enum value="0x9274" name="GL_COMPRESSED_RGB8_ETC2"/>
+ <enum value="0x9274" name="GL_COMPRESSED_RGB8_ETC2_OES"/>
+ <enum value="0x9275" name="GL_COMPRESSED_SRGB8_ETC2"/>
+ <enum value="0x9275" name="GL_COMPRESSED_SRGB8_ETC2_OES"/>
+ <enum value="0x9276" name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum value="0x9276" name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES"/>
+ <enum value="0x9277" name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum value="0x9277" name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES"/>
+ <enum value="0x9278" name="GL_COMPRESSED_RGBA8_ETC2_EAC"/>
+ <enum value="0x9278" name="GL_COMPRESSED_RGBA8_ETC2_EAC_OES"/>
+ <enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
+ <enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES"/>
+ <unused start="0x927A" end="0x927F" vendor="OES"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9280" end="0x937F" vendor="NV" comment="Khronos bug 7658">
+ <enum value="0x9280" name="GL_BLEND_PREMULTIPLIED_SRC_NV"/>
+ <enum value="0x9281" name="GL_BLEND_OVERLAP_NV"/>
+ <enum value="0x9282" name="GL_UNCORRELATED_NV"/>
+ <enum value="0x9283" name="GL_DISJOINT_NV"/>
+ <enum value="0x9284" name="GL_CONJOINT_NV"/>
+ <enum value="0x9285" name="GL_BLEND_ADVANCED_COHERENT_KHR"/>
+ <enum value="0x9285" name="GL_BLEND_ADVANCED_COHERENT_NV"/>
+ <enum value="0x9286" name="GL_SRC_NV"/>
+ <enum value="0x9287" name="GL_DST_NV"/>
+ <enum value="0x9288" name="GL_SRC_OVER_NV"/>
+ <enum value="0x9289" name="GL_DST_OVER_NV"/>
+ <enum value="0x928A" name="GL_SRC_IN_NV"/>
+ <enum value="0x928B" name="GL_DST_IN_NV"/>
+ <enum value="0x928C" name="GL_SRC_OUT_NV"/>
+ <enum value="0x928D" name="GL_DST_OUT_NV"/>
+ <enum value="0x928E" name="GL_SRC_ATOP_NV"/>
+ <enum value="0x928F" name="GL_DST_ATOP_NV"/>
+ <unused start="0x9290" vendor="NV"/>
+ <enum value="0x9291" name="GL_PLUS_NV"/>
+ <enum value="0x9292" name="GL_PLUS_DARKER_NV"/>
+ <unused start="0x9293" vendor="NV"/>
+ <enum value="0x9294" name="GL_MULTIPLY_KHR"/>
+ <enum value="0x9294" name="GL_MULTIPLY_NV"/>
+ <enum value="0x9295" name="GL_SCREEN_KHR"/>
+ <enum value="0x9295" name="GL_SCREEN_NV"/>
+ <enum value="0x9296" name="GL_OVERLAY_KHR"/>
+ <enum value="0x9296" name="GL_OVERLAY_NV"/>
+ <enum value="0x9297" name="GL_DARKEN_KHR"/>
+ <enum value="0x9297" name="GL_DARKEN_NV"/>
+ <enum value="0x9298" name="GL_LIGHTEN_KHR"/>
+ <enum value="0x9298" name="GL_LIGHTEN_NV"/>
+ <enum value="0x9299" name="GL_COLORDODGE_KHR"/>
+ <enum value="0x9299" name="GL_COLORDODGE_NV"/>
+ <enum value="0x929A" name="GL_COLORBURN_KHR"/>
+ <enum value="0x929A" name="GL_COLORBURN_NV"/>
+ <enum value="0x929B" name="GL_HARDLIGHT_KHR"/>
+ <enum value="0x929B" name="GL_HARDLIGHT_NV"/>
+ <enum value="0x929C" name="GL_SOFTLIGHT_KHR"/>
+ <enum value="0x929C" name="GL_SOFTLIGHT_NV"/>
+ <unused start="0x929D" vendor="NV"/>
+ <enum value="0x929E" name="GL_DIFFERENCE_KHR"/>
+ <enum value="0x929E" name="GL_DIFFERENCE_NV"/>
+ <enum value="0x929F" name="GL_MINUS_NV"/>
+ <enum value="0x92A0" name="GL_EXCLUSION_KHR"/>
+ <enum value="0x92A0" name="GL_EXCLUSION_NV"/>
+ <enum value="0x92A1" name="GL_CONTRAST_NV"/>
+ <unused start="0x92A2" vendor="NV"/>
+ <enum value="0x92A3" name="GL_INVERT_RGB_NV"/>
+ <enum value="0x92A4" name="GL_LINEARDODGE_NV"/>
+ <enum value="0x92A5" name="GL_LINEARBURN_NV"/>
+ <enum value="0x92A6" name="GL_VIVIDLIGHT_NV"/>
+ <enum value="0x92A7" name="GL_LINEARLIGHT_NV"/>
+ <enum value="0x92A8" name="GL_PINLIGHT_NV"/>
+ <enum value="0x92A9" name="GL_HARDMIX_NV"/>
+ <unused start="0x92AA" end="0x92AC" vendor="NV"/>
+ <enum value="0x92AD" name="GL_HSL_HUE_KHR"/>
+ <enum value="0x92AD" name="GL_HSL_HUE_NV"/>
+ <enum value="0x92AE" name="GL_HSL_SATURATION_KHR"/>
+ <enum value="0x92AE" name="GL_HSL_SATURATION_NV"/>
+ <enum value="0x92AF" name="GL_HSL_COLOR_KHR"/>
+ <enum value="0x92AF" name="GL_HSL_COLOR_NV"/>
+ <enum value="0x92B0" name="GL_HSL_LUMINOSITY_KHR"/>
+ <enum value="0x92B0" name="GL_HSL_LUMINOSITY_NV"/>
+ <enum value="0x92B1" name="GL_PLUS_CLAMPED_NV"/>
+ <enum value="0x92B2" name="GL_PLUS_CLAMPED_ALPHA_NV"/>
+ <enum value="0x92B3" name="GL_MINUS_CLAMPED_NV"/>
+ <enum value="0x92B4" name="GL_INVERT_OVG_NV"/>
+ <unused start="0x92B5" end="0x92BD" vendor="NV"/>
+ <enum value="0x92BE" name="GL_PRIMITIVE_BOUNDING_BOX_EXT"/>
+ <unused start="0x92BF" vendor="NV"/>
+ <enum value="0x92C0" name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum value="0x92C1" name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+ <enum value="0x92C2" name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+ <enum value="0x92C3" name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum value="0x92C4" name="GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE"/>
+ <enum value="0x92C5" name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS"/>
+ <enum value="0x92C6" name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES"/>
+ <enum value="0x92C7" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum value="0x92C8" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum value="0x92C9" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum value="0x92CA" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum value="0x92CB" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum value="0x92CC" name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum value="0x92D0" name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92D1" name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92D2" name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+ <enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+ <enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT"/>
+ <enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+ <enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT"/>
+ <enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+ <enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT"/>
+ <enum value="0x92D6" name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+ <enum value="0x92D7" name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+ <enum value="0x92D8" name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum value="0x92D9" name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92DA" name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum value="0x92DB" name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
+ <enum value="0x92DC" name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+ <unused start="0x92DC" end="0x92DF" vendor="NV"/>
+ <enum value="0x92E0" name="GL_DEBUG_OUTPUT"/>
+ <enum value="0x92E0" name="GL_DEBUG_OUTPUT_KHR"/>
+ <enum value="0x92E1" name="GL_UNIFORM"/>
+ <enum value="0x92E2" name="GL_UNIFORM_BLOCK"/>
+ <enum value="0x92E3" name="GL_PROGRAM_INPUT"/>
+ <enum value="0x92E4" name="GL_PROGRAM_OUTPUT"/>
+ <enum value="0x92E5" name="GL_BUFFER_VARIABLE"/>
+ <enum value="0x92E6" name="GL_SHADER_STORAGE_BLOCK"/>
+ <enum value="0x92E7" name="GL_IS_PER_PATCH"/>
+ <enum value="0x92E7" name="GL_IS_PER_PATCH_EXT"/>
+ <enum value="0x92E8" name="GL_VERTEX_SUBROUTINE"/>
+ <enum value="0x92E9" name="GL_TESS_CONTROL_SUBROUTINE"/>
+ <enum value="0x92EA" name="GL_TESS_EVALUATION_SUBROUTINE"/>
+ <enum value="0x92EB" name="GL_GEOMETRY_SUBROUTINE"/>
+ <enum value="0x92EC" name="GL_FRAGMENT_SUBROUTINE"/>
+ <enum value="0x92ED" name="GL_COMPUTE_SUBROUTINE"/>
+ <enum value="0x92EE" name="GL_VERTEX_SUBROUTINE_UNIFORM"/>
+ <enum value="0x92EF" name="GL_TESS_CONTROL_SUBROUTINE_UNIFORM"/>
+ <enum value="0x92F0" name="GL_TESS_EVALUATION_SUBROUTINE_UNIFORM"/>
+ <enum value="0x92F1" name="GL_GEOMETRY_SUBROUTINE_UNIFORM"/>
+ <enum value="0x92F2" name="GL_FRAGMENT_SUBROUTINE_UNIFORM"/>
+ <enum value="0x92F3" name="GL_COMPUTE_SUBROUTINE_UNIFORM"/>
+ <enum value="0x92F4" name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+ <enum value="0x92F5" name="GL_ACTIVE_RESOURCES"/>
+ <enum value="0x92F6" name="GL_MAX_NAME_LENGTH"/>
+ <enum value="0x92F7" name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+ <enum value="0x92F8" name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES"/>
+ <enum value="0x92F9" name="GL_NAME_LENGTH"/>
+ <enum value="0x92FA" name="GL_TYPE"/>
+ <enum value="0x92FB" name="GL_ARRAY_SIZE"/>
+ <enum value="0x92FC" name="GL_OFFSET"/>
+ <enum value="0x92FD" name="GL_BLOCK_INDEX"/>
+ <enum value="0x92FE" name="GL_ARRAY_STRIDE"/>
+ <enum value="0x92FF" name="GL_MATRIX_STRIDE"/>
+ <enum value="0x9300" name="GL_IS_ROW_MAJOR"/>
+ <enum value="0x9301" name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum value="0x9302" name="GL_BUFFER_BINDING"/>
+ <enum value="0x9303" name="GL_BUFFER_DATA_SIZE"/>
+ <enum value="0x9304" name="GL_NUM_ACTIVE_VARIABLES"/>
+ <enum value="0x9305" name="GL_ACTIVE_VARIABLES"/>
+ <enum value="0x9306" name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT"/>
+ <enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT"/>
+ <enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT"/>
+ <enum value="0x930A" name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum value="0x930B" name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum value="0x930C" name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+ <enum value="0x930D" name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+ <enum value="0x930E" name="GL_LOCATION"/>
+ <enum value="0x930F" name="GL_LOCATION_INDEX"/>
+ <enum value="0x9310" name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+ <enum value="0x9311" name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+ <enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+ <enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"/>
+ <enum value="0x9313" name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+ <enum value="0x9314" name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+ <enum value="0x9315" name="GL_MAX_FRAMEBUFFER_WIDTH"/>
+ <enum value="0x9316" name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+ <enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+ <enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS_EXT"/>
+ <enum value="0x9318" name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+ <unused start="0x9319" end="0x9338" vendor="NV"/>
+ <enum value="0x9339" name="GL_WARP_SIZE_NV"/>
+ <enum value="0x933A" name="GL_WARPS_PER_SM_NV"/>
+ <enum value="0x933B" name="GL_SM_COUNT_NV"/>
+ <unused start="0x933C" end="0x9343" vendor="NV"/>
+ <enum value="0x9344" name="GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"/>
+ <enum value="0x9345" name="GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"/>
+ <unused start="0x9346" end="0x9349" vendor="NV"/>
+ <enum value="0x934A" name="GL_LOCATION_COMPONENT"/>
+ <enum value="0x934B" name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
+ <enum value="0x934C" name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
+ <unused start="0x934D" end="0x9364" vendor="NV"/>
+ <enum value="0x9365" name="GL_CLEAR_TEXTURE"/>
+ <unused start="0x9366" end="0x937F" vendor="NV"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9380" end="0x939F" vendor="ARB">
+ <enum value="0x9380" name="GL_NUM_SAMPLE_COUNTS"/>
+ <unused start="0x9381" end="0x939F" vendor="ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x93A0" end="0x93AF" vendor="ANGLE" comment="Khronos bug 8100">
+ <enum value="0x93A0" name="GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE"/>
+ <enum value="0x93A1" name="GL_BGRA8_EXT"/>
+ <enum value="0x93A2" name="GL_TEXTURE_USAGE_ANGLE"/>
+ <enum value="0x93A3" name="GL_FRAMEBUFFER_ATTACHMENT_ANGLE"/>
+ <enum value="0x93A4" name="GL_PACK_REVERSE_ROW_ORDER_ANGLE"/>
+ <unused start="0x93A5" vendor="ANGLE"/>
+ <enum value="0x93A6" name="GL_PROGRAM_BINARY_ANGLE"/>
+ <unused start="0x93A7" end="0x93AF" vendor="ANGLE"/>
+ </enums>
+
+ <enums namespace="GL" start="0x93B0" end="0x93EF" vendor="OES" comment="Khronos bug 8853">
+ <enum value="0x93B0" name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
+ <enum value="0x93B1" name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
+ <enum value="0x93B2" name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
+ <enum value="0x93B3" name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
+ <enum value="0x93B4" name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
+ <enum value="0x93B5" name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
+ <enum value="0x93B6" name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
+ <enum value="0x93B7" name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
+ <enum value="0x93B8" name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
+ <enum value="0x93B9" name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
+ <enum value="0x93BA" name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
+ <enum value="0x93BB" name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
+ <enum value="0x93BC" name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
+ <enum value="0x93BD" name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
+ <unused start="0x93BE" end="0x93BF" vendor="OES"/>
+ <enum value="0x93C0" name="GL_COMPRESSED_RGBA_ASTC_3x3x3_OES"/>
+ <enum value="0x93C1" name="GL_COMPRESSED_RGBA_ASTC_4x3x3_OES"/>
+ <enum value="0x93C2" name="GL_COMPRESSED_RGBA_ASTC_4x4x3_OES"/>
+ <enum value="0x93C3" name="GL_COMPRESSED_RGBA_ASTC_4x4x4_OES"/>
+ <enum value="0x93C4" name="GL_COMPRESSED_RGBA_ASTC_5x4x4_OES"/>
+ <enum value="0x93C5" name="GL_COMPRESSED_RGBA_ASTC_5x5x4_OES"/>
+ <enum value="0x93C6" name="GL_COMPRESSED_RGBA_ASTC_5x5x5_OES"/>
+ <enum value="0x93C7" name="GL_COMPRESSED_RGBA_ASTC_6x5x5_OES"/>
+ <enum value="0x93C8" name="GL_COMPRESSED_RGBA_ASTC_6x6x5_OES"/>
+ <enum value="0x93C9" name="GL_COMPRESSED_RGBA_ASTC_6x6x6_OES"/>
+ <unused start="0x93CA" end="0x93CF" vendor="OES"/>
+ <enum value="0x93D0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
+ <enum value="0x93D1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
+ <enum value="0x93D2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
+ <enum value="0x93D3" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
+ <enum value="0x93D4" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
+ <enum value="0x93D5" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
+ <enum value="0x93D6" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
+ <enum value="0x93D7" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
+ <enum value="0x93D8" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
+ <enum value="0x93D9" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
+ <enum value="0x93DA" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
+ <enum value="0x93DB" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
+ <enum value="0x93DC" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
+ <enum value="0x93DD" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
+ <unused start="0x93DE" end="0x93DF" vendor="OES"/>
+ <enum value="0x93E0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES"/>
+ <enum value="0x93E1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES"/>
+ <enum value="0x93E2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES"/>
+ <enum value="0x93E3" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES"/>
+ <enum value="0x93E4" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES"/>
+ <enum value="0x93E5" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES"/>
+ <enum value="0x93E6" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES"/>
+ <enum value="0x93E7" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES"/>
+ <enum value="0x93E8" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES"/>
+ <enum value="0x93E9" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES"/>
+ <unused start="0x93EA" end="0x93EF" vendor="OES"/>
+ </enums>
+
+ <enums namespace="GL" start="0x93F0" end="0x94EF" vendor="APPLE" comment="Khronos bug 10233">
+ <enum value="0x93F0" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG"/>
+ <enum value="0x93F1" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG"/>
+ <unused start="0x93F2" end="0x94EF" vendor="APPLE"/>
+ </enums>
+
+ <enums namespace="GL" start="0x94F0" end="0x950F" vendor="INTEL" comment="Khronos bug 11345">
+ <enum value="0x94F0" name="GL_PERFQUERY_COUNTER_EVENT_INTEL"/>
+ <enum value="0x94F1" name="GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL"/>
+ <enum value="0x94F2" name="GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL"/>
+ <enum value="0x94F3" name="GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL"/>
+ <enum value="0x94F4" name="GL_PERFQUERY_COUNTER_RAW_INTEL"/>
+ <enum value="0x94F5" name="GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL"/>
+ <unused start="0x94F6" end="0x94F7" vendor="INTEL"/>
+ <enum value="0x94F8" name="GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL"/>
+ <enum value="0x94F9" name="GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL"/>
+ <enum value="0x94FA" name="GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL"/>
+ <enum value="0x94FB" name="GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL"/>
+ <enum value="0x94FC" name="GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL"/>
+ <enum value="0x94FD" name="GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL"/>
+ <enum value="0x94FE" name="GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL"/>
+ <enum value="0x94FF" name="GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL"/>
+ <enum value="0x9500" name="GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL"/>
+ <unused start="0x9501" end="0x950F" vendor="INTEL"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9510" end="0x952F" vendor="Broadcom" comment="Khronos bug 12203">
+ <unused start="0x9510" end="0x952F" vendor="Broadcom"/>
+ </enums>
+
+<!-- Enums reservable for future use. To reserve a new range, allocate one
+ or more multiples of 16 starting at the lowest available point in this
+ block and note it in a new <enums> block immediately above.
+
+ Please remember that new enumerant allocations must be obtained by
+ request to the Khronos API registrar (see comments at the top of this
+ file) File requests in the Khronos Bugzilla, OpenGL project, Registry
+ component. -->
+
+ <enums namespace="GL" start="0x9530" end="99999" vendor="ARB" comment="RESERVED FOR FUTURE ALLOCATIONS BY KHRONOS">
+ <unused start="0x9530" end="99999" comment="RESERVED"/>
+ </enums>
+
+<!-- Historical large block allocations, all unused except (in older days) by IBM -->
+ <enums namespace="GL" start="100000" end="100999" vendor="ARB" comment="GLU enums"/>
+ <enums namespace="GL" start="101000" end="101999" vendor="ARB" comment="Conformance test enums"/>
+ <enums namespace="GL" start="102000" end="102999" vendor="ARB" comment="Unused, unlikely to ever be used"/>
+
+ <enums namespace="GL" start="103000" end="103999" vendor="IBM" comment="IBM is out of the graphics hardware business. Most of this range will remain unused.">
+ <enum value="0x19262" name="GL_RASTER_POSITION_UNCLIPPED_IBM"/>
+ <enum value="103050" name="GL_CULL_VERTEX_IBM"/>
+ <enum value="103060" name="GL_ALL_STATIC_DATA_IBM"/>
+ <enum value="103061" name="GL_STATIC_VERTEX_ARRAY_IBM"/>
+ <enum value="103070" name="GL_VERTEX_ARRAY_LIST_IBM"/>
+ <enum value="103071" name="GL_NORMAL_ARRAY_LIST_IBM"/>
+ <enum value="103072" name="GL_COLOR_ARRAY_LIST_IBM"/>
+ <enum value="103073" name="GL_INDEX_ARRAY_LIST_IBM"/>
+ <enum value="103074" name="GL_TEXTURE_COORD_ARRAY_LIST_IBM"/>
+ <enum value="103075" name="GL_EDGE_FLAG_ARRAY_LIST_IBM"/>
+ <enum value="103076" name="GL_FOG_COORDINATE_ARRAY_LIST_IBM"/>
+ <enum value="103077" name="GL_SECONDARY_COLOR_ARRAY_LIST_IBM"/>
+ <enum value="103080" name="GL_VERTEX_ARRAY_LIST_STRIDE_IBM"/>
+ <enum value="103081" name="GL_NORMAL_ARRAY_LIST_STRIDE_IBM"/>
+ <enum value="103082" name="GL_COLOR_ARRAY_LIST_STRIDE_IBM"/>
+ <enum value="103083" name="GL_INDEX_ARRAY_LIST_STRIDE_IBM"/>
+ <enum value="103084" name="GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM"/>
+ <enum value="103085" name="GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM"/>
+ <enum value="103086" name="GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM"/>
+ <enum value="103087" name="GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM"/>
+ </enums>
+
+ <enums namespace="GL" start="104000" end="104999" vendor="NEC" comment="NEC may be out of the graphics hardware business?"/>
+ <enums namespace="GL" start="105000" end="105999" vendor="Compaq" comment="Compaq was acquired by HP"/>
+ <enums namespace="GL" start="106000" end="106999" vendor="KPC" comment="Kubota Pacific is out of business"/>
+ <enums namespace="GL" start="107000" end="107999" vendor="PGI" comment="Portland Graphics was acquired by Template Graphics, which is out of business">
+ <!-- lots of <unused> areas here which won't be computed yet -->
+ <enum value="0x1A1F8" name="GL_PREFER_DOUBLEBUFFER_HINT_PGI"/>
+ <enum value="0x1A1FD" name="GL_CONSERVE_MEMORY_HINT_PGI"/>
+ <enum value="0x1A1FE" name="GL_RECLAIM_MEMORY_HINT_PGI"/>
+ <enum value="0x1A202" name="GL_NATIVE_GRAPHICS_HANDLE_PGI"/>
+ <enum value="0x1A203" name="GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI"/>
+ <enum value="0x1A204" name="GL_NATIVE_GRAPHICS_END_HINT_PGI"/>
+ <enum value="0x1A20C" name="GL_ALWAYS_FAST_HINT_PGI"/>
+ <enum value="0x1A20D" name="GL_ALWAYS_SOFT_HINT_PGI"/>
+ <enum value="0x1A20E" name="GL_ALLOW_DRAW_OBJ_HINT_PGI"/>
+ <enum value="0x1A20F" name="GL_ALLOW_DRAW_WIN_HINT_PGI"/>
+ <enum value="0x1A210" name="GL_ALLOW_DRAW_FRG_HINT_PGI"/>
+ <enum value="0x1A211" name="GL_ALLOW_DRAW_MEM_HINT_PGI"/>
+ <enum value="0x1A216" name="GL_STRICT_DEPTHFUNC_HINT_PGI"/>
+ <enum value="0x1A217" name="GL_STRICT_LIGHTING_HINT_PGI"/>
+ <enum value="0x1A218" name="GL_STRICT_SCISSOR_HINT_PGI"/>
+ <enum value="0x1A219" name="GL_FULL_STIPPLE_HINT_PGI"/>
+ <enum value="0x1A220" name="GL_CLIP_NEAR_HINT_PGI"/>
+ <enum value="0x1A221" name="GL_CLIP_FAR_HINT_PGI"/>
+ <enum value="0x1A222" name="GL_WIDE_LINE_HINT_PGI"/>
+ <enum value="0x1A223" name="GL_BACK_NORMALS_HINT_PGI"/>
+ <enum value="0x1A22A" name="GL_VERTEX_DATA_HINT_PGI"/>
+ <enum value="0x1A22B" name="GL_VERTEX_CONSISTENT_HINT_PGI"/>
+ <enum value="0x1A22C" name="GL_MATERIAL_SIDE_HINT_PGI"/>
+ <enum value="0x1A22D" name="GL_MAX_VERTEX_HINT_PGI"/>
+ </enums>
+
+ <enums namespace="GL" start="108000" end="108999" vendor="ES" comment="Evans and Sutherland is out of the graphics hardware business"/>
+
+ <!-- SECTION: GL command definitions. -->
+ <commands namespace="GL">
+ <command>
+ <proto>void <name>glAccum</name></proto>
+ <param group="AccumOp"><ptype>GLenum</ptype> <name>op</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>value</name></param>
+ <glx type="render" opcode="137"/>
+ </command>
+ <command>
+ <proto>void <name>glAccumxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLfixed</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glActiveProgramEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glActiveShaderProgram</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glActiveShaderProgramEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glActiveStencilFaceEXT</name></proto>
+ <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
+ <glx type="render" opcode="4220"/>
+ </command>
+ <command>
+ <proto>void <name>glActiveTexture</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+ <glx type="render" opcode="197"/>
+ </command>
+ <command>
+ <proto>void <name>glActiveTextureARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+ <alias name="glActiveTexture"/>
+ <glx type="render" opcode="197"/>
+ </command>
+ <command>
+ <proto>void <name>glActiveVaryingNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAlphaFragmentOp1ATI</name></proto>
+ <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAlphaFragmentOp2ATI</name></proto>
+ <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAlphaFragmentOp3ATI</name></proto>
+ <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg3</name></param>
+ <param><ptype>GLuint</ptype> <name>arg3Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg3Mod</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAlphaFunc</name></proto>
+ <param group="AlphaFunction"><ptype>GLenum</ptype> <name>func</name></param>
+ <param><ptype>GLfloat</ptype> <name>ref</name></param>
+ <glx type="render" opcode="159"/>
+ </command>
+ <command>
+ <proto>void <name>glAlphaFuncQCOM</name></proto>
+ <param><ptype>GLenum</ptype> <name>func</name></param>
+ <param><ptype>GLclampf</ptype> <name>ref</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAlphaFuncx</name></proto>
+ <param><ptype>GLenum</ptype> <name>func</name></param>
+ <param><ptype>GLfixed</ptype> <name>ref</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAlphaFuncxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>func</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>ref</name></param>
+ </command>
+ <command>
+ <proto>void <name>glApplyTextureEXT</name></proto>
+ <param group="LightTextureModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreProgramsResidentNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+ <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
+ <glx type="vendor" opcode="1293"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreTexturesResident</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
+ <glx type="single" opcode="143"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glAreTexturesResidentEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ <param group="Boolean" len="n"><ptype>GLboolean</ptype> *<name>residences</name></param>
+ <glx type="vendor" opcode="11"/>
+ </command>
+ <command>
+ <proto>void <name>glArrayElement</name></proto>
+ <param><ptype>GLint</ptype> <name>i</name></param>
+ </command>
+ <command>
+ <proto>void <name>glArrayElementEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>i</name></param>
+ <alias name="glArrayElement"/>
+ </command>
+ <command>
+ <proto>void <name>glArrayObjectATI</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLuint</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAsyncMarkerSGIX</name></proto>
+ <param><ptype>GLuint</ptype> <name>marker</name></param>
+ </command>
+ <command>
+ <proto>void <name>glAttachObjectARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>containerObj</name></param>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
+ <alias name="glAttachShader"/>
+ </command>
+ <command>
+ <proto>void <name>glAttachShader</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBegin</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="4"/>
+ </command>
+ <command>
+ <proto>void <name>glBeginConditionalRender</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginConditionalRenderNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>mode</name></param>
+ <alias name="glBeginConditionalRender"/>
+ <glx type="render" opcode="348"/>
+ </command>
+ <command>
+ <proto>void <name>glBeginConditionalRenderNVX</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginFragmentShaderATI</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glBeginOcclusionQueryNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginPerfMonitorAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>monitor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginPerfQueryINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginQuery</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <glx type="render" opcode="231"/>
+ </command>
+ <command>
+ <proto>void <name>glBeginQueryARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <alias name="glBeginQuery"/>
+ </command>
+ <command>
+ <proto>void <name>glBeginQueryEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginQueryIndexed</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginTransformFeedback</name></proto>
+ <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBeginTransformFeedbackEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+ <alias name="glBeginTransformFeedback"/>
+ </command>
+ <command>
+ <proto>void <name>glBeginTransformFeedbackNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>primitiveMode</name></param>
+ <alias name="glBeginTransformFeedback"/>
+ </command>
+ <command>
+ <proto>void <name>glBeginVertexShaderEXT</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glBeginVideoCaptureNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindAttribLocation</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindAttribLocationARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param>const <ptype>GLcharARB</ptype> *<name>name</name></param>
+ <alias name="glBindAttribLocation"/>
+ </command>
+ <command>
+ <proto>void <name>glBindBuffer</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <alias name="glBindBuffer"/>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferBase</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferBaseEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <alias name="glBindBufferBase"/>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferBaseNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <alias name="glBindBufferBase"/>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferOffsetEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferOffsetNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <alias name="glBindBufferOffsetEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferRange</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferRangeEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <alias name="glBindBufferRange"/>
+ </command>
+ <command>
+ <proto>void <name>glBindBufferRangeNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <alias name="glBindBufferRange"/>
+ </command>
+ <command>
+ <proto>void <name>glBindBuffersBase</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindBuffersRange</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+ <param len="count">const <ptype>GLintptr</ptype> *<name>offsets</name></param>
+ <param len="count">const <ptype>GLsizeiptr</ptype> *<name>sizes</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindFragDataLocation</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>color</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindFragDataLocationEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>color</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ <alias name="glBindFragDataLocation"/>
+ </command>
+ <command>
+ <proto>void <name>glBindFragDataLocationIndexed</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>colorNumber</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindFragmentShaderATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindFramebuffer</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <glx type="render" opcode="236"/>
+ </command>
+ <command>
+ <proto>void <name>glBindFramebufferEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <glx type="render" opcode="4319"/>
+ </command>
+ <command>
+ <proto>void <name>glBindFramebufferOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindImageTexture</name></proto>
+ <param><ptype>GLuint</ptype> <name>unit</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>layered</name></param>
+ <param><ptype>GLint</ptype> <name>layer</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindImageTextureEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>layered</name></param>
+ <param><ptype>GLint</ptype> <name>layer</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ <param><ptype>GLint</ptype> <name>format</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindImageTextures</name></proto>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glBindLightParameterEXT</name></proto>
+ <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="LightParameter"><ptype>GLenum</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glBindMaterialParameterEXT</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindMultiTextureEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glBindParameterEXT</name></proto>
+ <param group="VertexShaderParameterEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindProgramARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <glx type="render" opcode="4180"/>
+ </command>
+ <command>
+ <proto>void <name>glBindProgramNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <alias name="glBindProgramARB"/>
+ <glx type="render" opcode="4180"/>
+ </command>
+ <command>
+ <proto>void <name>glBindProgramPipeline</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindProgramPipelineEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindRenderbuffer</name></proto>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <glx type="render" opcode="235"/>
+ </command>
+ <command>
+ <proto>void <name>glBindRenderbufferEXT</name></proto>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <glx type="render" opcode="4316"/>
+ </command>
+ <command>
+ <proto>void <name>glBindRenderbufferOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindSampler</name></proto>
+ <param><ptype>GLuint</ptype> <name>unit</name></param>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindSamplers</name></proto>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>samplers</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glBindTexGenParameterEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>unit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindTexture</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <glx type="render" opcode="4117"/>
+ </command>
+ <command>
+ <proto>void <name>glBindTextureEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <alias name="glBindTexture"/>
+ <glx type="render" opcode="4117"/>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glBindTextureUnitParameterEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>unit</name></param>
+ <param group="VertexShaderTextureUnitParameter"><ptype>GLenum</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindTextures</name></proto>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindTransformFeedback</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindTransformFeedbackNV</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindVertexArray</name></proto>
+ <param><ptype>GLuint</ptype> <name>array</name></param>
+ <glx type="render" opcode="350"/>
+ </command>
+ <command>
+ <proto>void <name>glBindVertexArrayAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>array</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindVertexArrayOES</name></proto>
+ <param><ptype>GLuint</ptype> <name>array</name></param>
+ <alias name="glBindVertexArray"/>
+ </command>
+ <command>
+ <proto>void <name>glBindVertexBuffer</name></proto>
+ <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindVertexBuffers</name></proto>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+ <param len="count">const <ptype>GLintptr</ptype> *<name>offsets</name></param>
+ <param len="count">const <ptype>GLsizei</ptype> *<name>strides</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindVertexShaderEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindVideoCaptureStreamBufferNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>frame_region</name></param>
+ <param group="BufferOffsetARB"><ptype>GLintptrARB</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBindVideoCaptureStreamTextureNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>frame_region</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3bEXT</name></proto>
+ <param><ptype>GLbyte</ptype> <name>bx</name></param>
+ <param><ptype>GLbyte</ptype> <name>by</name></param>
+ <param><ptype>GLbyte</ptype> <name>bz</name></param>
+ <vecequiv name="glBinormal3bvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3bvEXT</name></proto>
+ <param len="3">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3dEXT</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>bx</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>by</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>bz</name></param>
+ <vecequiv name="glBinormal3dvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3dvEXT</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3fEXT</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>bx</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>by</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>bz</name></param>
+ <vecequiv name="glBinormal3fvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3fvEXT</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3iEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>bx</name></param>
+ <param><ptype>GLint</ptype> <name>by</name></param>
+ <param><ptype>GLint</ptype> <name>bz</name></param>
+ <vecequiv name="glBinormal3ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3ivEXT</name></proto>
+ <param len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3sEXT</name></proto>
+ <param><ptype>GLshort</ptype> <name>bx</name></param>
+ <param><ptype>GLshort</ptype> <name>by</name></param>
+ <param><ptype>GLshort</ptype> <name>bz</name></param>
+ <vecequiv name="glBinormal3svEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glBinormal3svEXT</name></proto>
+ <param len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBinormalPointerEXT</name></proto>
+ <param group="BinormalPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBitmap</name></proto>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>xorig</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>yorig</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>xmove</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>ymove</name></param>
+ <param len="COMPSIZE(width,height)">const <ptype>GLubyte</ptype> *<name>bitmap</name></param>
+ <glx type="render" opcode="5"/>
+ <glx type="render" opcode="311" name="glBitmapPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glBitmapxOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLfixed</ptype> <name>xorig</name></param>
+ <param><ptype>GLfixed</ptype> <name>yorig</name></param>
+ <param><ptype>GLfixed</ptype> <name>xmove</name></param>
+ <param><ptype>GLfixed</ptype> <name>ymove</name></param>
+ <param len="COMPSIZE(width,height)">const <ptype>GLubyte</ptype> *<name>bitmap</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendBarrierNV</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glBlendBarrierKHR</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glBlendColor</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>blue</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>alpha</name></param>
+ <glx type="render" opcode="4096"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendColorEXT</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>blue</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>alpha</name></param>
+ <alias name="glBlendColor"/>
+ <glx type="render" opcode="4096"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendColorxOES</name></proto>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>red</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>green</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>blue</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>alpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquation</name></proto>
+ <param group="BlendEquationMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="4097"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationEXT</name></proto>
+ <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
+ <alias name="glBlendEquation"/>
+ <glx type="render" opcode="4097"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationIndexedAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <alias name="glBlendEquationi"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationSeparate</name></proto>
+ <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ <glx type="render" opcode="4228"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationSeparateEXT</name></proto>
+ <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param group="BlendEquationModeEXT"><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ <alias name="glBlendEquationSeparate"/>
+ <glx type="render" opcode="4228"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationSeparateIndexedAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ <alias name="glBlendEquationSeparatei"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationSeparateOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationSeparatei</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationSeparateiARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ <alias name="glBlendEquationSeparatei"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationSeparateiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ <alias name="glBlendEquationSeparatei"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationi</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <alias name="glBlendEquationi"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendEquationiARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <alias name="glBlendEquationi"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFunc</name></proto>
+ <param group="BlendingFactorSrc"><ptype>GLenum</ptype> <name>sfactor</name></param>
+ <param group="BlendingFactorDest"><ptype>GLenum</ptype> <name>dfactor</name></param>
+ <glx type="render" opcode="160"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncIndexedAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>src</name></param>
+ <param><ptype>GLenum</ptype> <name>dst</name></param>
+ <alias name="glBlendFunci"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparate</name></proto>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
+ <glx type="render" opcode="4134"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparateEXT</name></proto>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
+ <alias name="glBlendFuncSeparate"/>
+ <glx type="render" opcode="4134"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparateINGR</name></proto>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorRGB</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorRGB</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>sfactorAlpha</name></param>
+ <param group="BlendFuncSeparateParameterEXT"><ptype>GLenum</ptype> <name>dfactorAlpha</name></param>
+ <alias name="glBlendFuncSeparate"/>
+ <glx type="render" opcode="4134"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparateIndexedAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+ <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+ <alias name="glBlendFuncSeparatei"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparateOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+ <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparatei</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+ <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparateiARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+ <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+ <alias name="glBlendFuncSeparatei"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFuncSeparateiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+ <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+ <alias name="glBlendFuncSeparatei"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFunci</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>src</name></param>
+ <param><ptype>GLenum</ptype> <name>dst</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlendFunciARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>src</name></param>
+ <param><ptype>GLenum</ptype> <name>dst</name></param>
+ <alias name="glBlendFunci"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendFunciEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>src</name></param>
+ <param><ptype>GLenum</ptype> <name>dst</name></param>
+ <alias name="glBlendFunci"/>
+ </command>
+ <command>
+ <proto>void <name>glBlendParameteriNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlitFramebuffer</name></proto>
+ <param><ptype>GLint</ptype> <name>srcX0</name></param>
+ <param><ptype>GLint</ptype> <name>srcY0</name></param>
+ <param><ptype>GLint</ptype> <name>srcX1</name></param>
+ <param><ptype>GLint</ptype> <name>srcY1</name></param>
+ <param><ptype>GLint</ptype> <name>dstX0</name></param>
+ <param><ptype>GLint</ptype> <name>dstY0</name></param>
+ <param><ptype>GLint</ptype> <name>dstX1</name></param>
+ <param><ptype>GLint</ptype> <name>dstY1</name></param>
+ <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <param><ptype>GLenum</ptype> <name>filter</name></param>
+ <glx type="render" opcode="4330"/>
+ </command>
+ <command>
+ <proto>void <name>glBlitFramebufferANGLE</name></proto>
+ <param><ptype>GLint</ptype> <name>srcX0</name></param>
+ <param><ptype>GLint</ptype> <name>srcY0</name></param>
+ <param><ptype>GLint</ptype> <name>srcX1</name></param>
+ <param><ptype>GLint</ptype> <name>srcY1</name></param>
+ <param><ptype>GLint</ptype> <name>dstX0</name></param>
+ <param><ptype>GLint</ptype> <name>dstY0</name></param>
+ <param><ptype>GLint</ptype> <name>dstX1</name></param>
+ <param><ptype>GLint</ptype> <name>dstY1</name></param>
+ <param><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <param><ptype>GLenum</ptype> <name>filter</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBlitFramebufferEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>srcX0</name></param>
+ <param><ptype>GLint</ptype> <name>srcY0</name></param>
+ <param><ptype>GLint</ptype> <name>srcX1</name></param>
+ <param><ptype>GLint</ptype> <name>srcY1</name></param>
+ <param><ptype>GLint</ptype> <name>dstX0</name></param>
+ <param><ptype>GLint</ptype> <name>dstY0</name></param>
+ <param><ptype>GLint</ptype> <name>dstX1</name></param>
+ <param><ptype>GLint</ptype> <name>dstY1</name></param>
+ <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <param><ptype>GLenum</ptype> <name>filter</name></param>
+ <alias name="glBlitFramebuffer"/>
+ <glx type="render" opcode="4330"/>
+ </command>
+ <command>
+ <proto>void <name>glBlitFramebufferNV</name></proto>
+ <param><ptype>GLint</ptype> <name>srcX0</name></param>
+ <param><ptype>GLint</ptype> <name>srcY0</name></param>
+ <param><ptype>GLint</ptype> <name>srcX1</name></param>
+ <param><ptype>GLint</ptype> <name>srcY1</name></param>
+ <param><ptype>GLint</ptype> <name>dstX0</name></param>
+ <param><ptype>GLint</ptype> <name>dstY0</name></param>
+ <param><ptype>GLint</ptype> <name>dstX1</name></param>
+ <param><ptype>GLint</ptype> <name>dstY1</name></param>
+ <param><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <param><ptype>GLenum</ptype> <name>filter</name></param>
+ <alias name="glBlitFramebuffer"/>
+ </command>
+ <command>
+ <proto>void <name>glBufferAddressRangeNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>address</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBufferData</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="size">const void *<name>data</name></param>
+ <param group="BufferUsageARB"><ptype>GLenum</ptype> <name>usage</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBufferDataARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferSizeARB"><ptype>GLsizeiptrARB</ptype> <name>size</name></param>
+ <param len="size">const void *<name>data</name></param>
+ <param group="BufferUsageARB"><ptype>GLenum</ptype> <name>usage</name></param>
+ <alias name="glBufferData"/>
+ </command>
+ <command>
+ <proto>void <name>glBufferParameteriAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBufferStorage</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="size">const void *<name>data</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBufferSubData</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="size">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glBufferSubDataARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferOffsetARB"><ptype>GLintptrARB</ptype> <name>offset</name></param>
+ <param group="BufferSizeARB"><ptype>GLsizeiptrARB</ptype> <name>size</name></param>
+ <param len="size">const void *<name>data</name></param>
+ <alias name="glBufferSubData"/>
+ </command>
+ <command>
+ <proto>void <name>glCallList</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <glx type="render" opcode="1"/>
+ </command>
+ <command>
+ <proto>void <name>glCallLists</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="ListNameType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(n,type)">const void *<name>lists</name></param>
+ <glx type="render" opcode="2"/>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glCheckFramebufferStatus</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <glx type="vendor" opcode="1427"/>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glCheckFramebufferStatusEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glCheckFramebufferStatus"/>
+ <glx type="vendor" opcode="1427"/>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glCheckFramebufferStatusOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto group="FramebufferStatus"><ptype>GLenum</ptype> <name>glCheckNamedFramebufferStatusEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClampColor</name></proto>
+ <param group="ClampColorTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ClampColorModeARB"><ptype>GLenum</ptype> <name>clamp</name></param>
+ <glx type="render" opcode="234"/>
+ </command>
+ <command>
+ <proto>void <name>glClampColorARB</name></proto>
+ <param group="ClampColorTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ClampColorModeARB"><ptype>GLenum</ptype> <name>clamp</name></param>
+ <alias name="glClampColor"/>
+ <glx type="render" opcode="234"/>
+ </command>
+ <command>
+ <proto>void <name>glClear</name></proto>
+ <param group="ClearBufferMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <glx type="render" opcode="127"/>
+ </command>
+ <command>
+ <proto>void <name>glClearAccum</name></proto>
+ <param><ptype>GLfloat</ptype> <name>red</name></param>
+ <param><ptype>GLfloat</ptype> <name>green</name></param>
+ <param><ptype>GLfloat</ptype> <name>blue</name></param>
+ <param><ptype>GLfloat</ptype> <name>alpha</name></param>
+ <glx type="render" opcode="128"/>
+ </command>
+ <command>
+ <proto>void <name>glClearAccumxOES</name></proto>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>red</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>green</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>blue</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>alpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearBufferData</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearBufferSubData</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearBufferfi</name></proto>
+ <param><ptype>GLenum</ptype> <name>buffer</name></param>
+ <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
+ <param><ptype>GLfloat</ptype> <name>depth</name></param>
+ <param><ptype>GLint</ptype> <name>stencil</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearBufferfv</name></proto>
+ <param><ptype>GLenum</ptype> <name>buffer</name></param>
+ <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
+ <param len="COMPSIZE(buffer)">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearBufferiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>buffer</name></param>
+ <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
+ <param len="COMPSIZE(buffer)">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearBufferuiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>buffer</name></param>
+ <param group="DrawBufferName"><ptype>GLint</ptype> <name>drawbuffer</name></param>
+ <param len="COMPSIZE(buffer)">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearColor</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>blue</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>alpha</name></param>
+ <glx type="render" opcode="130"/>
+ </command>
+ <command>
+ <proto>void <name>glClearColorIiEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>red</name></param>
+ <param><ptype>GLint</ptype> <name>green</name></param>
+ <param><ptype>GLint</ptype> <name>blue</name></param>
+ <param><ptype>GLint</ptype> <name>alpha</name></param>
+ <glx type="render" opcode="4292"/>
+ </command>
+ <command>
+ <proto>void <name>glClearColorIuiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>red</name></param>
+ <param><ptype>GLuint</ptype> <name>green</name></param>
+ <param><ptype>GLuint</ptype> <name>blue</name></param>
+ <param><ptype>GLuint</ptype> <name>alpha</name></param>
+ <glx type="render" opcode="4293"/>
+ </command>
+ <command>
+ <proto>void <name>glClearColorx</name></proto>
+ <param><ptype>GLfixed</ptype> <name>red</name></param>
+ <param><ptype>GLfixed</ptype> <name>green</name></param>
+ <param><ptype>GLfixed</ptype> <name>blue</name></param>
+ <param><ptype>GLfixed</ptype> <name>alpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearColorxOES</name></proto>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>red</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>green</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>blue</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>alpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearDepth</name></proto>
+ <param><ptype>GLdouble</ptype> <name>depth</name></param>
+ <glx type="render" opcode="132"/>
+ </command>
+ <command>
+ <proto>void <name>glClearDepthdNV</name></proto>
+ <param><ptype>GLdouble</ptype> <name>depth</name></param>
+ <glx type="render" opcode="4284"/>
+ </command>
+ <command>
+ <proto>void <name>glClearDepthf</name></proto>
+ <param><ptype>GLfloat</ptype> <name>d</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearDepthfOES</name></proto>
+ <param group="ClampedFloat32"><ptype>GLclampf</ptype> <name>depth</name></param>
+ <glx type="render" opcode="4308"/>
+ <alias name="glClearDepthf"/>
+ </command>
+ <command>
+ <proto>void <name>glClearDepthx</name></proto>
+ <param><ptype>GLfixed</ptype> <name>depth</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearDepthxOES</name></proto>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>depth</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearIndex</name></proto>
+ <param group="MaskedColorIndexValueF"><ptype>GLfloat</ptype> <name>c</name></param>
+ <glx type="render" opcode="129"/>
+ </command>
+ <command>
+ <proto>void <name>glClearNamedBufferDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearNamedBufferSubDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearStencil</name></proto>
+ <param group="StencilValue"><ptype>GLint</ptype> <name>s</name></param>
+ <glx type="render" opcode="131"/>
+ </command>
+ <command>
+ <proto>void <name>glClearTexImage</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClearTexSubImage</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type)">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClientActiveTexture</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClientActiveTextureARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texture</name></param>
+ <alias name="glClientActiveTexture"/>
+ </command>
+ <command>
+ <proto>void <name>glClientActiveVertexStreamATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClientAttribDefaultEXT</name></proto>
+ <param group="ClientAttribMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glClientWaitSync</name></proto>
+ <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ <param><ptype>GLuint64</ptype> <name>timeout</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glClientWaitSyncAPPLE</name></proto>
+ <param><ptype>GLsync</ptype> <name>sync</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ <param><ptype>GLuint64</ptype> <name>timeout</name></param>
+ <alias name="glClientWaitSync"/>
+ </command>
+ <command>
+ <proto>void <name>glClipPlane</name></proto>
+ <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>equation</name></param>
+ <glx type="render" opcode="77"/>
+ </command>
+ <command>
+ <proto>void <name>glClipPlanef</name></proto>
+ <param><ptype>GLenum</ptype> <name>p</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>eqn</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClipPlanefIMG</name></proto>
+ <param><ptype>GLenum</ptype> <name>p</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>eqn</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClipPlanefOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>equation</name></param>
+ <glx type="render" opcode="4312"/>
+ </command>
+ <command>
+ <proto>void <name>glClipPlanex</name></proto>
+ <param><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>equation</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClipPlanexIMG</name></proto>
+ <param><ptype>GLenum</ptype> <name>p</name></param>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>eqn</name></param>
+ </command>
+ <command>
+ <proto>void <name>glClipPlanexOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>equation</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor3b</name></proto>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>red</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>green</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3bv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3bv</name></proto>
+ <param group="ColorB" len="3">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="6"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3d</name></proto>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>red</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>green</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3dv</name></proto>
+ <param group="ColorD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="7"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3f</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3fVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor3fVertex3fvSUN</name></proto>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor3fv</name></proto>
+ <param group="ColorF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="8"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>red</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>green</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3hvNV</name></proto>
+ <param group="Half16NV" len="3">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4244"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3i</name></proto>
+ <param group="ColorI"><ptype>GLint</ptype> <name>red</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>green</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3iv</name></proto>
+ <param group="ColorI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="9"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3s</name></proto>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>red</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>green</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3sv</name></proto>
+ <param group="ColorS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="10"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3ub</name></proto>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>red</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>green</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3ubv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3ubv</name></proto>
+ <param group="ColorUB" len="3">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="11"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3ui</name></proto>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>red</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>green</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3uiv</name></proto>
+ <param group="ColorUI" len="3">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="12"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3us</name></proto>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>red</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>green</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>blue</name></param>
+ <vecequiv name="glColor3usv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3usv</name></proto>
+ <param group="ColorUS" len="3">const <ptype>GLushort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="13"/>
+ </command>
+ <command>
+ <proto>void <name>glColor3xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>red</name></param>
+ <param><ptype>GLfixed</ptype> <name>green</name></param>
+ <param><ptype>GLfixed</ptype> <name>blue</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor3xvOES</name></proto>
+ <param len="3">const <ptype>GLfixed</ptype> *<name>components</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4b</name></proto>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>red</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>green</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>blue</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4bv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4bv</name></proto>
+ <param group="ColorB" len="4">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="14"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4d</name></proto>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>red</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>green</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>blue</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4dv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4dv</name></proto>
+ <param group="ColorD" len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="15"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4f</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>blue</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4fNormal3fVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4fNormal3fVertex3fvSUN</name></proto>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4fv</name></proto>
+ <param group="ColorF" len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="16"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>red</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>green</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>blue</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4hvNV</name></proto>
+ <param group="Half16NV" len="4">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4245"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4i</name></proto>
+ <param group="ColorI"><ptype>GLint</ptype> <name>red</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>green</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>blue</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4iv</name></proto>
+ <param group="ColorI" len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="17"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4s</name></proto>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>red</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>green</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>blue</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4sv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4sv</name></proto>
+ <param group="ColorS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="18"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4ub</name></proto>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>red</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>green</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>blue</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4ubv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4ubVertex2fSUN</name></proto>
+ <param><ptype>GLubyte</ptype> <name>r</name></param>
+ <param><ptype>GLubyte</ptype> <name>g</name></param>
+ <param><ptype>GLubyte</ptype> <name>b</name></param>
+ <param><ptype>GLubyte</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4ubVertex2fvSUN</name></proto>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>c</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4ubVertex3fSUN</name></proto>
+ <param><ptype>GLubyte</ptype> <name>r</name></param>
+ <param><ptype>GLubyte</ptype> <name>g</name></param>
+ <param><ptype>GLubyte</ptype> <name>b</name></param>
+ <param><ptype>GLubyte</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4ubVertex3fvSUN</name></proto>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4ubv</name></proto>
+ <param group="ColorUB" len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="19"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4ui</name></proto>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>red</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>green</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>blue</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4uiv</name></proto>
+ <param group="ColorUI" len="4">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="20"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4us</name></proto>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>red</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>green</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>blue</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>alpha</name></param>
+ <vecequiv name="glColor4usv"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4usv</name></proto>
+ <param group="ColorUS" len="4">const <ptype>GLushort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="21"/>
+ </command>
+ <command>
+ <proto>void <name>glColor4x</name></proto>
+ <param><ptype>GLfixed</ptype> <name>red</name></param>
+ <param><ptype>GLfixed</ptype> <name>green</name></param>
+ <param><ptype>GLfixed</ptype> <name>blue</name></param>
+ <param><ptype>GLfixed</ptype> <name>alpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>red</name></param>
+ <param><ptype>GLfixed</ptype> <name>green</name></param>
+ <param><ptype>GLfixed</ptype> <name>blue</name></param>
+ <param><ptype>GLfixed</ptype> <name>alpha</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColor4xvOES</name></proto>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>components</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorFormatNV</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorFragmentOp1ATI</name></proto>
+ <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMask</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorFragmentOp2ATI</name></proto>
+ <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMask</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorFragmentOp3ATI</name></proto>
+ <param group="FragmentOpATI"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMask</name></param>
+ <param><ptype>GLuint</ptype> <name>dstMod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1Mod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2Mod</name></param>
+ <param><ptype>GLuint</ptype> <name>arg3</name></param>
+ <param><ptype>GLuint</ptype> <name>arg3Rep</name></param>
+ <param><ptype>GLuint</ptype> <name>arg3Mod</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorMask</name></proto>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>red</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>green</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>blue</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>alpha</name></param>
+ <glx type="render" opcode="134"/>
+ </command>
+ <command>
+ <proto>void <name>glColorMaskIndexedEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>r</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>g</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
+ <alias name="glColorMaski"/>
+ </command>
+ <command>
+ <proto>void <name>glColorMaski</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>r</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>g</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorMaskiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>r</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>g</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
+ <alias name="glColorMaski"/>
+ </command>
+ <command>
+ <proto>void <name>glColorMaterial</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="ColorMaterialParameter"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="78"/>
+ </command>
+ <command>
+ <proto>void <name>glColorP3ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>color</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorP3uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>color</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorP4ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>color</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorP4uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>color</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorPointer</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorPointerEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(size,type,stride,count)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorPointerListIBM</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorPointervINTEL</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="4">const void **<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glColorSubTable</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>start</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,count)">const void *<name>data</name></param>
+ <glx type="render" opcode="195"/>
+ <glx type="render" opcode="312" name="glColorSubTablePBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glColorSubTableEXT</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>start</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,count)">const void *<name>data</name></param>
+ <alias name="glColorSubTable"/>
+ </command>
+ <command>
+ <proto>void <name>glColorTable</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>table</name></param>
+ <glx type="render" opcode="2053"/>
+ <glx type="render" opcode="313" name="glColorTablePBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glColorTableEXT</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>table</name></param>
+ <alias name="glColorTable"/>
+ </command>
+ <command>
+ <proto>void <name>glColorTableParameterfv</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="2054"/>
+ </command>
+ <command>
+ <proto>void <name>glColorTableParameterfvSGI</name></proto>
+ <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glColorTableParameterfv"/>
+ <glx type="render" opcode="2054"/>
+ </command>
+ <command>
+ <proto>void <name>glColorTableParameteriv</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="2055"/>
+ </command>
+ <command>
+ <proto>void <name>glColorTableParameterivSGI</name></proto>
+ <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glColorTableParameteriv"/>
+ <glx type="render" opcode="2055"/>
+ </command>
+ <command>
+ <proto>void <name>glColorTableSGI</name></proto>
+ <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>table</name></param>
+ <alias name="glColorTable"/>
+ <glx type="render" opcode="2053"/>
+ </command>
+ <command>
+ <proto>void <name>glCombinerInputNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerPortionNV"><ptype>GLenum</ptype> <name>portion</name></param>
+ <param group="CombinerVariableNV"><ptype>GLenum</ptype> <name>variable</name></param>
+ <param group="CombinerRegisterNV"><ptype>GLenum</ptype> <name>input</name></param>
+ <param group="CombinerMappingNV"><ptype>GLenum</ptype> <name>mapping</name></param>
+ <param group="CombinerComponentUsageNV"><ptype>GLenum</ptype> <name>componentUsage</name></param>
+ <glx type="render" opcode="4140"/>
+ </command>
+ <command>
+ <proto>void <name>glCombinerOutputNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerPortionNV"><ptype>GLenum</ptype> <name>portion</name></param>
+ <param group="CombinerRegisterNV"><ptype>GLenum</ptype> <name>abOutput</name></param>
+ <param group="CombinerRegisterNV"><ptype>GLenum</ptype> <name>cdOutput</name></param>
+ <param group="CombinerRegisterNV"><ptype>GLenum</ptype> <name>sumOutput</name></param>
+ <param group="CombinerScaleNV"><ptype>GLenum</ptype> <name>scale</name></param>
+ <param group="CombinerBiasNV"><ptype>GLenum</ptype> <name>bias</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>abDotProduct</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>cdDotProduct</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>muxSum</name></param>
+ <glx type="render" opcode="4141"/>
+ </command>
+ <command>
+ <proto>void <name>glCombinerParameterfNV</name></proto>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="4136"/>
+ </command>
+ <command>
+ <proto>void <name>glCombinerParameterfvNV</name></proto>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4137"/>
+ </command>
+ <command>
+ <proto>void <name>glCombinerParameteriNV</name></proto>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="4138"/>
+ </command>
+ <command>
+ <proto>void <name>glCombinerParameterivNV</name></proto>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4139"/>
+ </command>
+ <command>
+ <proto>void <name>glCombinerStageParameterfvNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompileShader</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompileShaderARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>shaderObj</name></param>
+ <alias name="glCompileShader"/>
+ </command>
+ <command>
+ <proto>void <name>glCompileShaderIncludeARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLchar</ptype> *const*<name>path</name></param>
+ <param len="count">const <ptype>GLint</ptype> *<name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedMultiTexImage1DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedMultiTexImage2DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedMultiTexImage3DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedMultiTexSubImage1DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedMultiTexSubImage2DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedMultiTexSubImage3DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexImage1D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <glx type="render" opcode="214"/>
+ <glx type="render" opcode="314" name="glCompressedTexImage1DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexImage1DARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexImage1D"/>
+ <glx type="render" opcode="214"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexImage2D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <glx type="render" opcode="215"/>
+ <glx type="render" opcode="315" name="glCompressedTexImage2DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexImage2DARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexImage2D"/>
+ <glx type="render" opcode="215"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexImage3D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <glx type="render" opcode="216"/>
+ <glx type="render" opcode="316" name="glCompressedTexImage3DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexImage3DARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexImage3D"/>
+ <glx type="render" opcode="216"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexImage3DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexImage3D"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexSubImage1D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <glx type="render" opcode="217"/>
+ <glx type="render" opcode="317" name="glCompressedTexSubImage1DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexSubImage1DARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexSubImage1D"/>
+ <glx type="render" opcode="217"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexSubImage2D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <glx type="render" opcode="218"/>
+ <glx type="render" opcode="318" name="glCompressedTexSubImage2DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexSubImage2DARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexSubImage2D"/>
+ <glx type="render" opcode="218"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexSubImage3D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <glx type="render" opcode="219"/>
+ <glx type="render" opcode="319" name="glCompressedTexSubImage3DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexSubImage3DARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param group="CompressedTextureARB" len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexSubImage3D"/>
+ <glx type="render" opcode="219"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTexSubImage3DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>data</name></param>
+ <alias name="glCompressedTexSubImage3D"/>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTextureImage1DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTextureImage2DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTextureImage3DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTextureSubImage1DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTextureSubImage2DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCompressedTextureSubImage3DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>imageSize</name></param>
+ <param len="imageSize">const void *<name>bits</name></param>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionFilter1D</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>image</name></param>
+ <glx type="render" opcode="4101"/>
+ <glx type="render" opcode="320" name="glConvolutionFilter1DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionFilter1DEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>image</name></param>
+ <alias name="glConvolutionFilter1D"/>
+ <glx type="render" opcode="4101"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionFilter2D</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>image</name></param>
+ <glx type="render" opcode="4102"/>
+ <glx type="render" opcode="321" name="glConvolutionFilter2DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionFilter2DEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>image</name></param>
+ <alias name="glConvolutionFilter2D"/>
+ <glx type="render" opcode="4102"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameterf</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>params</name></param>
+ <glx type="render" opcode="4103"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameterfEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>params</name></param>
+ <alias name="glConvolutionParameterf"/>
+ <glx type="render" opcode="4103"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameterfv</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4104"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameterfvEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glConvolutionParameterfv"/>
+ <glx type="render" opcode="4104"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameteri</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>params</name></param>
+ <glx type="render" opcode="4105"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameteriEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>params</name></param>
+ <alias name="glConvolutionParameteri"/>
+ <glx type="render" opcode="4105"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameteriv</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4106"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameterivEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glConvolutionParameteriv"/>
+ <glx type="render" opcode="4106"/>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameterxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glConvolutionParameterxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyBufferSubData</name></proto>
+ <param><ptype>GLenum</ptype> <name>readTarget</name></param>
+ <param><ptype>GLenum</ptype> <name>writeTarget</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>readOffset</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>writeOffset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyBufferSubDataNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>readTarget</name></param>
+ <param><ptype>GLenum</ptype> <name>writeTarget</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>readOffset</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>writeOffset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <alias name="glCopyBufferSubData"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyColorSubTable</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>start</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <glx type="render" opcode="196"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyColorSubTableEXT</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>start</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <alias name="glCopyColorSubTable"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyColorTable</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <glx type="render" opcode="2056"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyColorTableSGI</name></proto>
+ <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <alias name="glCopyColorTable"/>
+ <glx type="render" opcode="2056"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyConvolutionFilter1D</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <glx type="render" opcode="4107"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyConvolutionFilter1DEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <alias name="glCopyConvolutionFilter1D"/>
+ <glx type="render" opcode="4107"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyConvolutionFilter2D</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <glx type="render" opcode="4108"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyConvolutionFilter2DEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glCopyConvolutionFilter2D"/>
+ <glx type="render" opcode="4108"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyImageSubData</name></proto>
+ <param><ptype>GLuint</ptype> <name>srcName</name></param>
+ <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+ <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+ <param><ptype>GLint</ptype> <name>srcX</name></param>
+ <param><ptype>GLint</ptype> <name>srcY</name></param>
+ <param><ptype>GLint</ptype> <name>srcZ</name></param>
+ <param><ptype>GLuint</ptype> <name>dstName</name></param>
+ <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+ <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+ <param><ptype>GLint</ptype> <name>dstX</name></param>
+ <param><ptype>GLint</ptype> <name>dstY</name></param>
+ <param><ptype>GLint</ptype> <name>dstZ</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcWidth</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyImageSubDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>srcName</name></param>
+ <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+ <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+ <param><ptype>GLint</ptype> <name>srcX</name></param>
+ <param><ptype>GLint</ptype> <name>srcY</name></param>
+ <param><ptype>GLint</ptype> <name>srcZ</name></param>
+ <param><ptype>GLuint</ptype> <name>dstName</name></param>
+ <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+ <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+ <param><ptype>GLint</ptype> <name>dstX</name></param>
+ <param><ptype>GLint</ptype> <name>dstY</name></param>
+ <param><ptype>GLint</ptype> <name>dstZ</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcWidth</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
+ <alias name="glCopyImageSubData"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyImageSubDataNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>srcName</name></param>
+ <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+ <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+ <param><ptype>GLint</ptype> <name>srcX</name></param>
+ <param><ptype>GLint</ptype> <name>srcY</name></param>
+ <param><ptype>GLint</ptype> <name>srcZ</name></param>
+ <param><ptype>GLuint</ptype> <name>dstName</name></param>
+ <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+ <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+ <param><ptype>GLint</ptype> <name>dstX</name></param>
+ <param><ptype>GLint</ptype> <name>dstY</name></param>
+ <param><ptype>GLint</ptype> <name>dstZ</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <glx type="render" opcode="4291"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyMultiTexImage1DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyMultiTexImage2DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyMultiTexSubImage1DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyMultiTexSubImage2DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyMultiTexSubImage3DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyPathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>resultPath</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>srcPath</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyPixels</name></proto>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelCopyType"><ptype>GLenum</ptype> <name>type</name></param>
+ <glx type="render" opcode="172"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexImage1D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <glx type="render" opcode="4119"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexImage1DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <alias name="glCopyTexImage1D"/>
+ <glx type="render" opcode="4119"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexImage2D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <glx type="render" opcode="4120"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexImage2DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <alias name="glCopyTexImage2D"/>
+ <glx type="render" opcode="4120"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexSubImage1D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <glx type="render" opcode="4121"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexSubImage1DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <alias name="glCopyTexSubImage1D"/>
+ <glx type="render" opcode="4121"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexSubImage2D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <glx type="render" opcode="4122"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexSubImage2DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glCopyTexSubImage2D"/>
+ <glx type="render" opcode="4122"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexSubImage3D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <glx type="render" opcode="4123"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexSubImage3DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glCopyTexSubImage3D"/>
+ <glx type="render" opcode="4123"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTexSubImage3DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glCopyTexSubImage3D"/>
+ </command>
+ <command>
+ <proto>void <name>glCopyTextureImage1DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyTextureImage2DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyTextureLevelsAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>destinationTexture</name></param>
+ <param><ptype>GLuint</ptype> <name>sourceTexture</name></param>
+ <param><ptype>GLint</ptype> <name>sourceBaseLevel</name></param>
+ <param><ptype>GLsizei</ptype> <name>sourceLevelCount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyTextureSubImage1DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyTextureSubImage2DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCopyTextureSubImage3DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCoverFillPathInstancedNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
+ <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
+ <param group="PathCoverMode"><ptype>GLenum</ptype> <name>coverMode</name></param>
+ <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
+ <param len="COMPSIZE(numPaths,transformType)">const <ptype>GLfloat</ptype> *<name>transformValues</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCoverFillPathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathCoverMode"><ptype>GLenum</ptype> <name>coverMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCoverStrokePathInstancedNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
+ <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
+ <param group="PathCoverMode"><ptype>GLenum</ptype> <name>coverMode</name></param>
+ <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
+ <param len="COMPSIZE(numPaths,transformType)">const <ptype>GLfloat</ptype> *<name>transformValues</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCoverStrokePathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathCoverMode"><ptype>GLenum</ptype> <name>coverMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCoverageMaskNV</name></proto>
+ <param><ptype>GLboolean</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCoverageOperationNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>operation</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCreatePerfQueryINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryId</name></param>
+ <param><ptype>GLuint</ptype> *<name>queryHandle</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glCreateProgram</name></proto>
+ </command>
+ <command>
+ <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glCreateProgramObjectARB</name></proto>
+ <alias name="glCreateProgram"/>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glCreateShader</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ </command>
+ <command>
+ <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glCreateShaderObjectARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>shaderType</name></param>
+ <alias name="glCreateShader"/>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glCreateShaderProgramEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>string</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glCreateShaderProgramv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLchar</ptype> *const*<name>strings</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glCreateShaderProgramvEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLchar</ptype> **<name>strings</name></param>
+ </command>
+ <command>
+ <proto group="sync"><ptype>GLsync</ptype> <name>glCreateSyncFromCLeventARB</name></proto>
+ <param group="cl_context"><ptype>struct _cl_context</ptype> *<name>context</name></param>
+ <param group="cl_event"><ptype>struct _cl_event</ptype> *<name>event</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCullFace</name></proto>
+ <param group="CullFaceMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="79"/>
+ </command>
+ <command>
+ <proto>void <name>glCullParameterdvEXT</name></proto>
+ <param group="CullParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCullParameterfvEXT</name></proto>
+ <param group="CullParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glCurrentPaletteMatrixARB</name></proto>
+ <param><ptype>GLint</ptype> <name>index</name></param>
+ <glx type="render" opcode="4329"/>
+ </command>
+ <command>
+ <proto>void <name>glCurrentPaletteMatrixOES</name></proto>
+ <param><ptype>GLuint</ptype> <name>matrixpaletteindex</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageCallback</name></proto>
+ <param><ptype>GLDEBUGPROC</ptype> <name>callback</name></param>
+ <param>const void *<name>userParam</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageCallbackAMD</name></proto>
+ <param><ptype>GLDEBUGPROCAMD</ptype> <name>callback</name></param>
+ <param>void *<name>userParam</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageCallbackARB</name></proto>
+ <param><ptype>GLDEBUGPROCARB</ptype> <name>callback</name></param>
+ <param len="COMPSIZE(callback)">const void *<name>userParam</name></param>
+ <alias name="glDebugMessageCallback"/>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageCallbackKHR</name></proto>
+ <param><ptype>GLDEBUGPROCKHR</ptype> <name>callback</name></param>
+ <param>const void *<name>userParam</name></param>
+ <alias name="glDebugMessageCallback"/>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageControl</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>enabled</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageControlARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>enabled</name></param>
+ <alias name="glDebugMessageControl"/>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageControlKHR</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param>const <ptype>GLuint</ptype> *<name>ids</name></param>
+ <param><ptype>GLboolean</ptype> <name>enabled</name></param>
+ <alias name="glDebugMessageControl"/>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageEnableAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>category</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>enabled</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageInsert</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="COMPSIZE(buf,length)">const <ptype>GLchar</ptype> *<name>buf</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageInsertAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>category</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="length">const <ptype>GLchar</ptype> *<name>buf</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageInsertARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="length">const <ptype>GLchar</ptype> *<name>buf</name></param>
+ <alias name="glDebugMessageInsert"/>
+ </command>
+ <command>
+ <proto>void <name>glDebugMessageInsertKHR</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>severity</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>buf</name></param>
+ <alias name="glDebugMessageInsert"/>
+ </command>
+ <command>
+ <proto>void <name>glDeformSGIX</name></proto>
+ <param group="FfdMaskSGIX"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <glx type="render" opcode="2075"/>
+ </command>
+ <command>
+ <proto>void <name>glDeformationMap3dSGIX</name></proto>
+ <param group="FfdTargetSGIX"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>ustride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>vstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>w1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>w2</name></param>
+ <param><ptype>GLint</ptype> <name>wstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>worder</name></param>
+ <param group="CoordD" len="COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)">const <ptype>GLdouble</ptype> *<name>points</name></param>
+ <glx type="render" opcode="2073"/>
+ </command>
+ <command>
+ <proto>void <name>glDeformationMap3fSGIX</name></proto>
+ <param group="FfdTargetSGIX"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>ustride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>vstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>w1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>w2</name></param>
+ <param><ptype>GLint</ptype> <name>wstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>worder</name></param>
+ <param group="CoordF" len="COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="render" opcode="2074"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteAsyncMarkersSGIX</name></proto>
+ <param><ptype>GLuint</ptype> <name>marker</name></param>
+ <param><ptype>GLsizei</ptype> <name>range</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteBuffers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteBuffersARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>buffers</name></param>
+ <alias name="glDeleteBuffers"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteFencesAPPLE</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="FenceNV" len="n">const <ptype>GLuint</ptype> *<name>fences</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteFencesNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="FenceNV" len="n">const <ptype>GLuint</ptype> *<name>fences</name></param>
+ <glx type="vendor" opcode="1276"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteFragmentShaderATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteFramebuffers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
+ <glx type="render" opcode="4320"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteFramebuffersEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
+ <alias name="glDeleteFramebuffers"/>
+ <glx type="render" opcode="4320"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteFramebuffersOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>framebuffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteLists</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param><ptype>GLsizei</ptype> <name>range</name></param>
+ <glx type="single" opcode="103"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteNamedStringARB</name></proto>
+ <param><ptype>GLint</ptype> <name>namelen</name></param>
+ <param len="namelen">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteNamesAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>identifier</name></param>
+ <param><ptype>GLuint</ptype> <name>num</name></param>
+ <param len="num">const <ptype>GLuint</ptype> *<name>names</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteObjectARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteOcclusionQueriesNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeletePathsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>range</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeletePerfMonitorsAMD</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>monitors</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeletePerfQueryINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteProgram</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <glx type="single" opcode="202"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteProgramPipelines</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>pipelines</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteProgramPipelinesEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>pipelines</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteProgramsARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+ <glx type="vendor" opcode="1294"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteProgramsNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+ <alias name="glDeleteProgramsARB"/>
+ <glx type="vendor" opcode="1294"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteQueries</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ <glx type="single" opcode="161"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteQueriesARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ <alias name="glDeleteQueries"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteQueriesEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteRenderbuffers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+ <glx type="render" opcode="4317"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteRenderbuffersEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+ <alias name="glDeleteRenderbuffers"/>
+ <glx type="render" opcode="4317"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteRenderbuffersOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteSamplers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>samplers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteShader</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <glx type="single" opcode="195"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteSync</name></proto>
+ <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteSyncAPPLE</name></proto>
+ <param><ptype>GLsync</ptype> <name>sync</name></param>
+ <alias name="glDeleteSync"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteTextures</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ <glx type="single" opcode="144"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteTexturesEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ <glx type="vendor" opcode="12"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteTransformFeedbacks</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDeleteTransformFeedbacksNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>ids</name></param>
+ <alias name="glDeleteTransformFeedbacks"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteVertexArrays</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
+ <glx type="render" opcode="351"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteVertexArraysAPPLE</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
+ <alias name="glDeleteVertexArrays"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteVertexArraysOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>arrays</name></param>
+ <alias name="glDeleteVertexArrays"/>
+ </command>
+ <command>
+ <proto>void <name>glDeleteVertexShaderEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDepthBoundsEXT</name></proto>
+ <param group="ClampedFloat64"><ptype>GLclampd</ptype> <name>zmin</name></param>
+ <param group="ClampedFloat64"><ptype>GLclampd</ptype> <name>zmax</name></param>
+ <glx type="render" opcode="4229"/>
+ </command>
+ <command>
+ <proto>void <name>glDepthBoundsdNV</name></proto>
+ <param><ptype>GLdouble</ptype> <name>zmin</name></param>
+ <param><ptype>GLdouble</ptype> <name>zmax</name></param>
+ <glx type="render" opcode="4285"/>
+ </command>
+ <command>
+ <proto>void <name>glDepthFunc</name></proto>
+ <param group="DepthFunction"><ptype>GLenum</ptype> <name>func</name></param>
+ <glx type="render" opcode="164"/>
+ </command>
+ <command>
+ <proto>void <name>glDepthMask</name></proto>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>flag</name></param>
+ <glx type="render" opcode="135"/>
+ </command>
+ <command>
+ <proto>void <name>glDepthRange</name></proto>
+ <param><ptype>GLdouble</ptype> <name>near</name></param>
+ <param><ptype>GLdouble</ptype> <name>far</name></param>
+ <glx type="render" opcode="174"/>
+ </command>
+ <command>
+ <proto>void <name>glDepthRangeArrayv</name></proto>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(count)">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDepthRangeIndexed</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>n</name></param>
+ <param><ptype>GLdouble</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDepthRangedNV</name></proto>
+ <param><ptype>GLdouble</ptype> <name>zNear</name></param>
+ <param><ptype>GLdouble</ptype> <name>zFar</name></param>
+ <glx type="render" opcode="4283"/>
+ </command>
+ <command>
+ <proto>void <name>glDepthRangef</name></proto>
+ <param><ptype>GLfloat</ptype> <name>n</name></param>
+ <param><ptype>GLfloat</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDepthRangefOES</name></proto>
+ <param group="ClampedFloat32"><ptype>GLclampf</ptype> <name>n</name></param>
+ <param group="ClampedFloat32"><ptype>GLclampf</ptype> <name>f</name></param>
+ <glx type="render" opcode="4309"/>
+ <alias name="glDepthRangef"/>
+ </command>
+ <command>
+ <proto>void <name>glDepthRangex</name></proto>
+ <param><ptype>GLfixed</ptype> <name>n</name></param>
+ <param><ptype>GLfixed</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDepthRangexOES</name></proto>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>n</name></param>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDetachObjectARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>containerObj</name></param>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>attachedObj</name></param>
+ <alias name="glDetachShader"/>
+ </command>
+ <command>
+ <proto>void <name>glDetachShader</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDetailTexFuncSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n*2">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="render" opcode="2051"/>
+ </command>
+ <command>
+ <proto>void <name>glDisable</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>cap</name></param>
+ <glx type="render" opcode="138"/>
+ </command>
+ <command>
+ <proto>void <name>glDisableClientState</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableClientStateIndexedEXT</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableClientStateiEXT</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableDriverControlQCOM</name></proto>
+ <param><ptype>GLuint</ptype> <name>driverControl</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableIndexedEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glDisablei"/>
+ </command>
+ <command>
+ <proto>void <name>glDisableVariantClientStateEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableVertexArrayAttribEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableVertexArrayEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableVertexAttribAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableVertexAttribArray</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableVertexAttribArrayARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glDisableVertexAttribArray"/>
+ </command>
+ <command>
+ <proto>void <name>glDisablei</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDisableiEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glDisablei"/>
+ </command>
+ <command>
+ <proto>void <name>glDiscardFramebufferEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
+ <param len="numAttachments">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDispatchCompute</name></proto>
+ <param><ptype>GLuint</ptype> <name>num_groups_x</name></param>
+ <param><ptype>GLuint</ptype> <name>num_groups_y</name></param>
+ <param><ptype>GLuint</ptype> <name>num_groups_z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDispatchComputeGroupSizeARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>num_groups_x</name></param>
+ <param><ptype>GLuint</ptype> <name>num_groups_y</name></param>
+ <param><ptype>GLuint</ptype> <name>num_groups_z</name></param>
+ <param><ptype>GLuint</ptype> <name>group_size_x</name></param>
+ <param><ptype>GLuint</ptype> <name>group_size_y</name></param>
+ <param><ptype>GLuint</ptype> <name>group_size_z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDispatchComputeIndirect</name></proto>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>indirect</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawArrays</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <glx type="render" opcode="193"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawArraysEXT</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <alias name="glDrawArrays"/>
+ <glx type="render" opcode="4116"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawArraysIndirect</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param>const void *<name>indirect</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawArraysInstanced</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawArraysInstancedANGLE</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawArraysInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawArraysInstancedARB</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawArraysInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawArraysInstancedBaseInstance</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
+ </command>
+ <command comment="primcount should be renamed to instanceCount for OpenGL ES">
+ <proto>void <name>glDrawArraysInstancedEXT</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>start</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawArraysInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawArraysInstancedNV</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawArraysInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawBuffer</name></proto>
+ <param group="DrawBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="126"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawBuffers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="DrawBufferModeATI" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+ <glx type="render" opcode="233"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawBuffersARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="DrawBufferModeATI" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+ <alias name="glDrawBuffers"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawBuffersATI</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="DrawBufferModeATI" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+ <alias name="glDrawBuffers"/>
+ <glx type="render" opcode="233"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawBuffersEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param>const <ptype>GLenum</ptype> *<name>bufs</name></param>
+ <alias name="glDrawBuffers"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawBuffersIndexedEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLenum</ptype> *<name>location</name></param>
+ <param len="n">const <ptype>GLint</ptype> *<name>indices</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawBuffersNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementArrayAPPLE</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementArrayATI</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElements</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsBaseVertex</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLint</ptype> <name>basevertex</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsIndirect</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param>const void *<name>indirect</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsInstanced</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsInstancedANGLE</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawElementsInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsInstancedARB</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawElementsInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsInstancedBaseInstance</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="count">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsInstancedBaseVertex</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ <param><ptype>GLint</ptype> <name>basevertex</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsInstancedBaseVertexBaseInstance</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="count">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ <param><ptype>GLint</ptype> <name>basevertex</name></param>
+ <param><ptype>GLuint</ptype> <name>baseinstance</name></param>
+ </command>
+ <command comment="primcount should be renamed to instanceCount for OpenGL ES">
+ <proto>void <name>glDrawElementsInstancedEXT</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawElementsInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawElementsInstancedNV</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glDrawElementsInstanced"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawMeshArraysSUN</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawPixels</name></proto>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="173"/>
+ <glx type="render" opcode="322" name="glDrawPixelsPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawRangeElementArrayAPPLE</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>start</name></param>
+ <param><ptype>GLuint</ptype> <name>end</name></param>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawRangeElementArrayATI</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>start</name></param>
+ <param><ptype>GLuint</ptype> <name>end</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawRangeElements</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>start</name></param>
+ <param><ptype>GLuint</ptype> <name>end</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawRangeElementsBaseVertex</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>start</name></param>
+ <param><ptype>GLuint</ptype> <name>end</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <param><ptype>GLint</ptype> <name>basevertex</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawRangeElementsEXT</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>start</name></param>
+ <param><ptype>GLuint</ptype> <name>end</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(count,type)">const void *<name>indices</name></param>
+ <alias name="glDrawRangeElements"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexfOES</name></proto>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>width</name></param>
+ <param><ptype>GLfloat</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexfvOES</name></proto>
+ <param>const <ptype>GLfloat</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexiOES</name></proto>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <param><ptype>GLint</ptype> <name>width</name></param>
+ <param><ptype>GLint</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexivOES</name></proto>
+ <param>const <ptype>GLint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexsOES</name></proto>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <param><ptype>GLshort</ptype> <name>width</name></param>
+ <param><ptype>GLshort</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexsvOES</name></proto>
+ <param>const <ptype>GLshort</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTextureNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLfloat</ptype> <name>x0</name></param>
+ <param><ptype>GLfloat</ptype> <name>y0</name></param>
+ <param><ptype>GLfloat</ptype> <name>x1</name></param>
+ <param><ptype>GLfloat</ptype> <name>y1</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>s0</name></param>
+ <param><ptype>GLfloat</ptype> <name>t0</name></param>
+ <param><ptype>GLfloat</ptype> <name>s1</name></param>
+ <param><ptype>GLfloat</ptype> <name>t1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ <param><ptype>GLfixed</ptype> <name>width</name></param>
+ <param><ptype>GLfixed</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTexxvOES</name></proto>
+ <param>const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTransformFeedback</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTransformFeedbackInstanced</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTransformFeedbackNV</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <alias name="glDrawTransformFeedback"/>
+ </command>
+ <command>
+ <proto>void <name>glDrawTransformFeedbackStream</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ </command>
+ <command>
+ <proto>void <name>glDrawTransformFeedbackStreamInstanced</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLsizei</ptype> <name>instancecount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEGLImageTargetRenderbufferStorageOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLeglImageOES</ptype> <name>image</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEGLImageTargetTexture2DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLeglImageOES</ptype> <name>image</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEdgeFlag</name></proto>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>flag</name></param>
+ <vecequiv name="glEdgeFlagv"/>
+ </command>
+ <command>
+ <proto>void <name>glEdgeFlagFormatNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEdgeFlagPointer</name></proto>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEdgeFlagPointerEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean" len="COMPSIZE(stride,count)">const <ptype>GLboolean</ptype> *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEdgeFlagPointerListIBM</name></proto>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param group="BooleanPointer" len="COMPSIZE(stride)">const <ptype>GLboolean</ptype> **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEdgeFlagv</name></proto>
+ <param group="Boolean" len="1">const <ptype>GLboolean</ptype> *<name>flag</name></param>
+ <glx type="render" opcode="22"/>
+ </command>
+ <command>
+ <proto>void <name>glElementPointerAPPLE</name></proto>
+ <param group="ElementPointerTypeATI"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(type)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glElementPointerATI</name></proto>
+ <param group="ElementPointerTypeATI"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(type)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnable</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>cap</name></param>
+ <glx type="render" opcode="139"/>
+ </command>
+ <command>
+ <proto>void <name>glEnableClientState</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableClientStateIndexedEXT</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableClientStateiEXT</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableDriverControlQCOM</name></proto>
+ <param><ptype>GLuint</ptype> <name>driverControl</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableIndexedEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glEnablei"/>
+ </command>
+ <command>
+ <proto>void <name>glEnableVariantClientStateEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableVertexArrayAttribEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableVertexArrayEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableVertexAttribAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableVertexAttribArray</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableVertexAttribArrayARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glEnableVertexAttribArray"/>
+ </command>
+ <command>
+ <proto>void <name>glEnablei</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEnableiEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glEnablei"/>
+ </command>
+ <command>
+ <proto>void <name>glEnd</name></proto>
+ <glx type="render" opcode="23"/>
+ </command>
+ <command>
+ <proto>void <name>glEndConditionalRender</name></proto>
+ <glx type="render" opcode="349"/>
+ </command>
+ <command>
+ <proto>void <name>glEndConditionalRenderNV</name></proto>
+ <alias name="glEndConditionalRender"/>
+ </command>
+ <command>
+ <proto>void <name>glEndConditionalRenderNVX</name></proto>
+ <alias name="glEndConditionalRender"/>
+ </command>
+ <command>
+ <proto>void <name>glEndFragmentShaderATI</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glEndList</name></proto>
+ <glx type="single" opcode="102"/>
+ </command>
+ <command>
+ <proto>void <name>glEndOcclusionQueryNV</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glEndPerfMonitorAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>monitor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEndPerfQueryINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEndQuery</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <glx type="render" opcode="232"/>
+ </command>
+ <command>
+ <proto>void <name>glEndQueryARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glEndQuery"/>
+ </command>
+ <command>
+ <proto>void <name>glEndQueryEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEndQueryIndexed</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEndTilingQCOM</name></proto>
+ <param><ptype>GLbitfield</ptype> <name>preserveMask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEndTransformFeedback</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glEndTransformFeedbackEXT</name></proto>
+ <alias name="glEndTransformFeedback"/>
+ </command>
+ <command>
+ <proto>void <name>glEndTransformFeedbackNV</name></proto>
+ <alias name="glEndTransformFeedback"/>
+ </command>
+ <command>
+ <proto>void <name>glEndVertexShaderEXT</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glEndVideoCaptureNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord1d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u</name></param>
+ <vecequiv name="glEvalCoord1dv"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord1dv</name></proto>
+ <param group="CoordD" len="1">const <ptype>GLdouble</ptype> *<name>u</name></param>
+ <glx type="render" opcode="151"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord1f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u</name></param>
+ <vecequiv name="glEvalCoord1fv"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord1fv</name></proto>
+ <param group="CoordF" len="1">const <ptype>GLfloat</ptype> *<name>u</name></param>
+ <glx type="render" opcode="152"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord1xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>u</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord1xvOES</name></proto>
+ <param len="1">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord2d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v</name></param>
+ <vecequiv name="glEvalCoord2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord2dv</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>u</name></param>
+ <glx type="render" opcode="153"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord2f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v</name></param>
+ <vecequiv name="glEvalCoord2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord2fv</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>u</name></param>
+ <glx type="render" opcode="154"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord2xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>u</name></param>
+ <param><ptype>GLfixed</ptype> <name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEvalCoord2xvOES</name></proto>
+ <param len="2">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEvalMapsNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="EvalMapsModeNV"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glEvalMesh1</name></proto>
+ <param group="MeshMode1"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>i1</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>i2</name></param>
+ <glx type="render" opcode="155"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalMesh2</name></proto>
+ <param group="MeshMode2"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>i1</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>i2</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>j1</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>j2</name></param>
+ <glx type="render" opcode="157"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalPoint1</name></proto>
+ <param><ptype>GLint</ptype> <name>i</name></param>
+ <glx type="render" opcode="156"/>
+ </command>
+ <command>
+ <proto>void <name>glEvalPoint2</name></proto>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>i</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>j</name></param>
+ <glx type="render" opcode="158"/>
+ </command>
+ <command>
+ <proto>void <name>glExecuteProgramNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4181"/>
+ </command>
+ <command>
+ <proto>void <name>glExtGetBufferPointervQCOM</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param>void **<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetBuffersQCOM</name></proto>
+ <param len="maxBuffers"><ptype>GLuint</ptype> *<name>buffers</name></param>
+ <param><ptype>GLint</ptype> <name>maxBuffers</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>numBuffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetFramebuffersQCOM</name></proto>
+ <param len="maxFramebuffers"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+ <param><ptype>GLint</ptype> <name>maxFramebuffers</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>numFramebuffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetProgramBinarySourceQCOM</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLchar</ptype> *<name>source</name></param>
+ <param><ptype>GLint</ptype> *<name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetProgramsQCOM</name></proto>
+ <param len="maxPrograms"><ptype>GLuint</ptype> *<name>programs</name></param>
+ <param><ptype>GLint</ptype> <name>maxPrograms</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>numPrograms</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetRenderbuffersQCOM</name></proto>
+ <param len="maxRenderbuffers"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+ <param><ptype>GLint</ptype> <name>maxRenderbuffers</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>numRenderbuffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetShadersQCOM</name></proto>
+ <param len="maxShaders"><ptype>GLuint</ptype> *<name>shaders</name></param>
+ <param><ptype>GLint</ptype> <name>maxShaders</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>numShaders</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetTexLevelParameterivQCOM</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetTexSubImageQCOM</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param>void *<name>texels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtGetTexturesQCOM</name></proto>
+ <param><ptype>GLuint</ptype> *<name>textures</name></param>
+ <param><ptype>GLint</ptype> <name>maxTextures</name></param>
+ <param><ptype>GLint</ptype> *<name>numTextures</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glExtIsProgramBinaryQCOM</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtTexObjectStateOverrideiQCOM</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glExtractComponentEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>res</name></param>
+ <param><ptype>GLuint</ptype> <name>src</name></param>
+ <param><ptype>GLuint</ptype> <name>num</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFeedbackBuffer</name></proto>
+ <param><ptype>GLsizei</ptype> <name>size</name></param>
+ <param group="FeedbackType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="FeedbackElement" len="size"><ptype>GLfloat</ptype> *<name>buffer</name></param>
+ <glx type="single" opcode="105"/>
+ </command>
+ <command>
+ <proto>void <name>glFeedbackBufferxOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="n">const <ptype>GLfixed</ptype> *<name>buffer</name></param>
+ </command>
+ <command>
+ <proto group="sync"><ptype>GLsync</ptype> <name>glFenceSync</name></proto>
+ <param><ptype>GLenum</ptype> <name>condition</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLsync</ptype> <name>glFenceSyncAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>condition</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ <alias name="glFenceSync"/>
+ </command>
+ <command>
+ <proto>void <name>glFinalCombinerInputNV</name></proto>
+ <param group="CombinerVariableNV"><ptype>GLenum</ptype> <name>variable</name></param>
+ <param group="CombinerRegisterNV"><ptype>GLenum</ptype> <name>input</name></param>
+ <param group="CombinerMappingNV"><ptype>GLenum</ptype> <name>mapping</name></param>
+ <param group="CombinerComponentUsageNV"><ptype>GLenum</ptype> <name>componentUsage</name></param>
+ <glx type="render" opcode="4142"/>
+ </command>
+ <command>
+ <proto>void <name>glFinish</name></proto>
+ <glx type="single" opcode="108"/>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glFinishAsyncSGIX</name></proto>
+ <param len="1"><ptype>GLuint</ptype> *<name>markerp</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFinishFenceAPPLE</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFinishFenceNV</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ <glx type="vendor" opcode="1312"/>
+ </command>
+ <command>
+ <proto>void <name>glFinishObjectAPPLE</name></proto>
+ <param group="ObjectTypeAPPLE"><ptype>GLenum</ptype> <name>object</name></param>
+ <param><ptype>GLint</ptype> <name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFinishTextureSUNX</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glFlush</name></proto>
+ <glx type="single" opcode="142"/>
+ </command>
+ <command>
+ <proto>void <name>glFlushMappedBufferRange</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFlushMappedBufferRangeAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <alias name="glFlushMappedBufferRange"/>
+ </command>
+ <command>
+ <proto>void <name>glFlushMappedBufferRangeEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ <alias name="glFlushMappedBufferRange"/>
+ </command>
+ <command>
+ <proto>void <name>glFlushMappedNamedBufferRangeEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFlushPixelDataRangeNV</name></proto>
+ <param group="PixelDataRangeTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFlushRasterSGIX</name></proto>
+ <glx type="vendor" opcode="4105"/>
+ </command>
+ <command>
+ <proto>void <name>glFlushStaticDataIBM</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFlushVertexArrayRangeAPPLE</name></proto>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="length">void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFlushVertexArrayRangeNV</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordFormatNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordPointer</name></proto>
+ <param group="FogPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordPointerEXT</name></proto>
+ <param group="FogPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ <alias name="glFogCoordPointer"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordPointerListIBM</name></proto>
+ <param group="FogPointerTypeIBM"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordd</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>coord</name></param>
+ <vecequiv name="glFogCoorddv"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoorddEXT</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>coord</name></param>
+ <alias name="glFogCoordd"/>
+ <vecequiv name="glFogCoorddvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoorddv</name></proto>
+ <param group="CoordD" len="1">const <ptype>GLdouble</ptype> *<name>coord</name></param>
+ <glx type="render" opcode="4125"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoorddvEXT</name></proto>
+ <param group="CoordD" len="1">const <ptype>GLdouble</ptype> *<name>coord</name></param>
+ <alias name="glFogCoorddv"/>
+ <glx type="render" opcode="4125"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordf</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>coord</name></param>
+ <vecequiv name="glFogCoordfv"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordfEXT</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>coord</name></param>
+ <alias name="glFogCoordf"/>
+ <vecequiv name="glFogCoordfvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordfv</name></proto>
+ <param group="CoordF" len="1">const <ptype>GLfloat</ptype> *<name>coord</name></param>
+ <glx type="render" opcode="4124"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordfvEXT</name></proto>
+ <param group="CoordF" len="1">const <ptype>GLfloat</ptype> *<name>coord</name></param>
+ <alias name="glFogCoordfv"/>
+ <glx type="render" opcode="4124"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordhNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>fog</name></param>
+ <vecequiv name="glFogCoordhvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glFogCoordhvNV</name></proto>
+ <param group="Half16NV" len="1">const <ptype>GLhalfNV</ptype> *<name>fog</name></param>
+ <glx type="render" opcode="4254"/>
+ </command>
+ <command>
+ <proto>void <name>glFogFuncSGIS</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n*2">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="render" opcode="2067"/>
+ </command>
+ <command>
+ <proto>void <name>glFogf</name></proto>
+ <param group="FogParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="80"/>
+ </command>
+ <command>
+ <proto>void <name>glFogfv</name></proto>
+ <param group="FogParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="81"/>
+ </command>
+ <command>
+ <proto>void <name>glFogi</name></proto>
+ <param group="FogParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="82"/>
+ </command>
+ <command>
+ <proto>void <name>glFogiv</name></proto>
+ <param group="FogParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="83"/>
+ </command>
+ <command>
+ <proto>void <name>glFogx</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFogxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFogxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFogxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentColorMaterialSGIX</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightModelfSGIX</name></proto>
+ <param group="FragmentLightModelParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightModelfvSGIX</name></proto>
+ <param group="FragmentLightModelParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightModeliSGIX</name></proto>
+ <param group="FragmentLightModelParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightModelivSGIX</name></proto>
+ <param group="FragmentLightModelParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightfSGIX</name></proto>
+ <param group="FragmentLightNameSGIX"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="FragmentLightParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightfvSGIX</name></proto>
+ <param group="FragmentLightNameSGIX"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="FragmentLightParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightiSGIX</name></proto>
+ <param group="FragmentLightNameSGIX"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="FragmentLightParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentLightivSGIX</name></proto>
+ <param group="FragmentLightNameSGIX"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="FragmentLightParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentMaterialfSGIX</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentMaterialfvSGIX</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentMaterialiSGIX</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFragmentMaterialivSGIX</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFrameTerminatorGREMEDY</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glFrameZoomSGIX</name></proto>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>factor</name></param>
+ <glx type="render" opcode="2072"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferDrawBufferEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="DrawBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferDrawBuffersEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="DrawBufferMode" len="n">const <ptype>GLenum</ptype> *<name>bufs</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferParameteri</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferReadBufferEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="ReadBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferRenderbuffer</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <glx type="render" opcode="4324"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferRenderbufferEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <alias name="glFramebufferRenderbuffer"/>
+ <glx type="render" opcode="4324"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferRenderbufferOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture1D</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <glx type="render" opcode="4321"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture1DEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <alias name="glFramebufferTexture1D"/>
+ <glx type="render" opcode="4321"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture2D</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <glx type="render" opcode="4322"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture2DEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <alias name="glFramebufferTexture2D"/>
+ <glx type="render" opcode="4322"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture2DMultisampleEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture2DMultisampleIMG</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture2DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture3D</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <glx type="render" opcode="4323"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture3DEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <alias name="glFramebufferTexture3D"/>
+ <glx type="render" opcode="4323"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTexture3DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <alias name="glFramebufferTexture3D"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTextureARB</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <alias name="glFramebufferTexture"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTextureEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <alias name="glFramebufferTextureARB"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTextureFaceARB</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>face</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTextureFaceEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>face</name></param>
+ <alias name="glFramebufferTextureFaceARB"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTextureLayer</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
+ <glx type="render" opcode="237"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTextureLayerARB</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
+ <alias name="glFramebufferTextureLayer"/>
+ </command>
+ <command>
+ <proto>void <name>glFramebufferTextureLayerEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
+ <alias name="glFramebufferTextureLayer"/>
+ </command>
+ <command>
+ <proto>void <name>glFreeObjectBufferATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFrontFace</name></proto>
+ <param group="FrontFaceDirection"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="84"/>
+ </command>
+ <command>
+ <proto>void <name>glFrustum</name></proto>
+ <param><ptype>GLdouble</ptype> <name>left</name></param>
+ <param><ptype>GLdouble</ptype> <name>right</name></param>
+ <param><ptype>GLdouble</ptype> <name>bottom</name></param>
+ <param><ptype>GLdouble</ptype> <name>top</name></param>
+ <param><ptype>GLdouble</ptype> <name>zNear</name></param>
+ <param><ptype>GLdouble</ptype> <name>zFar</name></param>
+ <glx type="render" opcode="175"/>
+ </command>
+ <command>
+ <proto>void <name>glFrustumf</name></proto>
+ <param><ptype>GLfloat</ptype> <name>l</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>n</name></param>
+ <param><ptype>GLfloat</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFrustumfOES</name></proto>
+ <param><ptype>GLfloat</ptype> <name>l</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>n</name></param>
+ <param><ptype>GLfloat</ptype> <name>f</name></param>
+ <glx type="render" opcode="4310"/>
+ </command>
+ <command>
+ <proto>void <name>glFrustumx</name></proto>
+ <param><ptype>GLfixed</ptype> <name>l</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ <param><ptype>GLfixed</ptype> <name>b</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>n</name></param>
+ <param><ptype>GLfixed</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glFrustumxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>l</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ <param><ptype>GLfixed</ptype> <name>b</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>n</name></param>
+ <param><ptype>GLfixed</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGenAsyncMarkersSGIX</name></proto>
+ <param><ptype>GLsizei</ptype> <name>range</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenBuffers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>buffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenBuffersARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>buffers</name></param>
+ <alias name="glGenBuffers"/>
+ </command>
+ <command>
+ <proto>void <name>glGenFencesAPPLE</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="FenceNV" len="n"><ptype>GLuint</ptype> *<name>fences</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenFencesNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="FenceNV" len="n"><ptype>GLuint</ptype> *<name>fences</name></param>
+ <glx type="vendor" opcode="1277"/>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGenFragmentShadersATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>range</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenFramebuffers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+ <glx type="vendor" opcode="1426"/>
+ </command>
+ <command>
+ <proto>void <name>glGenFramebuffersEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+ <alias name="glGenFramebuffers"/>
+ <glx type="vendor" opcode="1426"/>
+ </command>
+ <command>
+ <proto>void <name>glGenFramebuffersOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>framebuffers</name></param>
+ </command>
+ <command>
+ <proto group="List"><ptype>GLuint</ptype> <name>glGenLists</name></proto>
+ <param><ptype>GLsizei</ptype> <name>range</name></param>
+ <glx type="single" opcode="104"/>
+ </command>
+ <command>
+ <proto>void <name>glGenNamesAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>identifier</name></param>
+ <param><ptype>GLuint</ptype> <name>num</name></param>
+ <param len="num"><ptype>GLuint</ptype> *<name>names</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenOcclusionQueriesNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+ </command>
+ <command>
+ <proto group="Path"><ptype>GLuint</ptype> <name>glGenPathsNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>range</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenPerfMonitorsAMD</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>monitors</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenProgramPipelines</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>pipelines</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenProgramPipelinesEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>pipelines</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenProgramsARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>programs</name></param>
+ <glx type="vendor" opcode="1295"/>
+ </command>
+ <command>
+ <proto>void <name>glGenProgramsNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>programs</name></param>
+ <alias name="glGenProgramsARB"/>
+ <glx type="vendor" opcode="1295"/>
+ </command>
+ <command>
+ <proto>void <name>glGenQueries</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+ <glx type="single" opcode="162"/>
+ </command>
+ <command>
+ <proto>void <name>glGenQueriesARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+ <alias name="glGenQueries"/>
+ </command>
+ <command>
+ <proto>void <name>glGenQueriesEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenRenderbuffers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+ <glx type="vendor" opcode="1423"/>
+ </command>
+ <command>
+ <proto>void <name>glGenRenderbuffersEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+ <alias name="glGenRenderbuffers"/>
+ <glx type="vendor" opcode="1423"/>
+ </command>
+ <command>
+ <proto>void <name>glGenRenderbuffersOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>renderbuffers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenSamplers</name></proto>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count"><ptype>GLuint</ptype> *<name>samplers</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGenSymbolsEXT</name></proto>
+ <param group="DataTypeEXT"><ptype>GLenum</ptype> <name>datatype</name></param>
+ <param group="VertexShaderStorageTypeEXT"><ptype>GLenum</ptype> <name>storagetype</name></param>
+ <param group="ParameterRangeEXT"><ptype>GLenum</ptype> <name>range</name></param>
+ <param><ptype>GLuint</ptype> <name>components</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenTextures</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n"><ptype>GLuint</ptype> *<name>textures</name></param>
+ <glx type="single" opcode="145"/>
+ </command>
+ <command>
+ <proto>void <name>glGenTexturesEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n"><ptype>GLuint</ptype> *<name>textures</name></param>
+ <glx type="vendor" opcode="13"/>
+ </command>
+ <command>
+ <proto>void <name>glGenTransformFeedbacks</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenTransformFeedbacksNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>ids</name></param>
+ <alias name="glGenTransformFeedbacks"/>
+ </command>
+ <command>
+ <proto>void <name>glGenVertexArrays</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
+ <glx type="single" opcode="206"/>
+ </command>
+ <command>
+ <proto>void <name>glGenVertexArraysAPPLE</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
+ <alias name="glGenVertexArrays"/>
+ </command>
+ <command>
+ <proto>void <name>glGenVertexArraysOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n"><ptype>GLuint</ptype> *<name>arrays</name></param>
+ <alias name="glGenVertexArrays"/>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGenVertexShadersEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>range</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenerateMipmap</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <glx type="render" opcode="4325"/>
+ </command>
+ <command>
+ <proto>void <name>glGenerateMipmapEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glGenerateMipmap"/>
+ <glx type="render" opcode="4325"/>
+ </command>
+ <command>
+ <proto>void <name>glGenerateMipmapOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenerateMultiTexMipmapEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGenerateTextureMipmapEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveAtomicCounterBufferiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>bufferIndex</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveAttrib</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveAttribARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxLength</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+ <param len="maxLength"><ptype>GLcharARB</ptype> *<name>name</name></param>
+ <alias name="glGetActiveAttrib"/>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveSubroutineName</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufsize"><ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveSubroutineUniformName</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufsize"><ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveSubroutineUniformiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveUniform</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveUniformARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxLength</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>size</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+ <param len="maxLength"><ptype>GLcharARB</ptype> *<name>name</name></param>
+ <alias name="glGetActiveUniform"/>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveUniformBlockName</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>uniformBlockIndex</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>uniformBlockName</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveUniformBlockiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>uniformBlockIndex</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(program, uniformBlockIndex, pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveUniformName</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>uniformIndex</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>uniformName</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveUniformsiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>uniformCount</name></param>
+ <param len="uniformCount">const <ptype>GLuint</ptype> *<name>uniformIndices</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(uniformCount, pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetActiveVaryingNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>size</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+ <param len="COMPSIZE(program,index,bufSize)"><ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetArrayObjectfvATI</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetArrayObjectivATI</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>array</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command comment="Could be an alias of glGetAttachedShaders except that GLhandleARB is different on MacOS X">
+ <proto>void <name>glGetAttachedObjectsARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>containerObj</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxCount</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>count</name></param>
+ <param group="handleARB" len="maxCount"><ptype>GLhandleARB</ptype> *<name>obj</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetAttachedShaders</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxCount</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>count</name></param>
+ <param len="maxCount"><ptype>GLuint</ptype> *<name>shaders</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetAttribLocation</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetAttribLocationARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <param>const <ptype>GLcharARB</ptype> *<name>name</name></param>
+ <alias name="glGetAttribLocation"/>
+ </command>
+ <command>
+ <proto>void <name>glGetBooleanIndexedvEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Boolean" len="COMPSIZE(target)"><ptype>GLboolean</ptype> *<name>data</name></param>
+ <alias name="glGetBooleani_v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetBooleani_v</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Boolean" len="COMPSIZE(target)"><ptype>GLboolean</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetBooleanv</name></proto>
+ <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="Boolean" len="COMPSIZE(pname)"><ptype>GLboolean</ptype> *<name>data</name></param>
+ <glx type="single" opcode="112"/>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferParameteri64v</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferPNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferParameteriv</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferPNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferParameterivARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferPNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetBufferParameteriv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferParameterui64vNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferPointerv</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferPointerNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferPointervARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferPointerNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>params</name></param>
+ <alias name="glGetBufferPointerv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferPointervOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param>void **<name>params</name></param>
+ <alias name="glGetBufferPointerv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferSubData</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="size">void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetBufferSubDataARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferOffsetARB"><ptype>GLintptrARB</ptype> <name>offset</name></param>
+ <param group="BufferSizeARB"><ptype>GLsizeiptrARB</ptype> <name>size</name></param>
+ <param len="size">void *<name>data</name></param>
+ <alias name="glGetBufferSubData"/>
+ </command>
+ <command>
+ <proto>void <name>glGetClipPlane</name></proto>
+ <param group="ClipPlaneName"><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>equation</name></param>
+ <glx type="single" opcode="113"/>
+ </command>
+ <command>
+ <proto>void <name>glGetClipPlanef</name></proto>
+ <param><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>equation</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetClipPlanefOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>equation</name></param>
+ <glx type="vendor" opcode="1421"/>
+ </command>
+ <command>
+ <proto>void <name>glGetClipPlanex</name></proto>
+ <param><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4"><ptype>GLfixed</ptype> *<name>equation</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetClipPlanexOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>plane</name></param>
+ <param len="4"><ptype>GLfixed</ptype> *<name>equation</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTable</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>table</name></param>
+ <glx type="single" opcode="147"/>
+ <glx type="render" opcode="334" name="glGetColorTablePBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableEXT</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>data</name></param>
+ <alias name="glGetColorTable"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableParameterfv</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="148"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableParameterfvEXT</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glGetColorTableParameterfv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableParameterfvSGI</name></proto>
+ <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="4099"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableParameteriv</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="149"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableParameterivEXT</name></proto>
+ <param group="ColorTableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetColorTableParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetColorTableParameteriv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableParameterivSGI</name></proto>
+ <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetColorTableParameterPNameSGI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="4100"/>
+ </command>
+ <command>
+ <proto>void <name>glGetColorTableSGI</name></proto>
+ <param group="ColorTableTargetSGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>table</name></param>
+ <glx type="vendor" opcode="4098"/>
+ </command>
+ <command>
+ <proto>void <name>glGetCombinerInputParameterfvNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerPortionNV"><ptype>GLenum</ptype> <name>portion</name></param>
+ <param group="CombinerVariableNV"><ptype>GLenum</ptype> <name>variable</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1270"/>
+ </command>
+ <command>
+ <proto>void <name>glGetCombinerInputParameterivNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerPortionNV"><ptype>GLenum</ptype> <name>portion</name></param>
+ <param group="CombinerVariableNV"><ptype>GLenum</ptype> <name>variable</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1271"/>
+ </command>
+ <command>
+ <proto>void <name>glGetCombinerOutputParameterfvNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerPortionNV"><ptype>GLenum</ptype> <name>portion</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1272"/>
+ </command>
+ <command>
+ <proto>void <name>glGetCombinerOutputParameterivNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerPortionNV"><ptype>GLenum</ptype> <name>portion</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1273"/>
+ </command>
+ <command>
+ <proto>void <name>glGetCombinerStageParameterfvNV</name></proto>
+ <param group="CombinerStageNV"><ptype>GLenum</ptype> <name>stage</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetCompressedMultiTexImageEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>lod</name></param>
+ <param len="COMPSIZE(target,lod)">void *<name>img</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetCompressedTexImage</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CompressedTextureARB" len="COMPSIZE(target,level)">void *<name>img</name></param>
+ <glx type="single" opcode="160"/>
+ <glx type="render" opcode="335" name="glGetCompressedTexImagePBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetCompressedTexImageARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CompressedTextureARB" len="COMPSIZE(target,level)">void *<name>img</name></param>
+ <alias name="glGetCompressedTexImage"/>
+ <glx type="single" opcode="160"/>
+ </command>
+ <command>
+ <proto>void <name>glGetCompressedTextureImageEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>lod</name></param>
+ <param len="COMPSIZE(target,lod)">void *<name>img</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetConvolutionFilter</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>image</name></param>
+ <glx type="single" opcode="150"/>
+ <glx type="render" opcode="336" name="glGetConvolutionFilterPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetConvolutionFilterEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>image</name></param>
+ <glx type="vendor" opcode="1"/>
+ </command>
+ <command>
+ <proto>void <name>glGetConvolutionParameterfv</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetConvolutionParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="151"/>
+ </command>
+ <command>
+ <proto>void <name>glGetConvolutionParameterfvEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="2"/>
+ </command>
+ <command>
+ <proto>void <name>glGetConvolutionParameteriv</name></proto>
+ <param group="ConvolutionTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetConvolutionParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="152"/>
+ </command>
+ <command>
+ <proto>void <name>glGetConvolutionParameterivEXT</name></proto>
+ <param group="ConvolutionTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ConvolutionParameterEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="3"/>
+ </command>
+ <command>
+ <proto>void <name>glGetConvolutionParameterxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLog</name></proto>
+ <param><ptype>GLuint</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>sources</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>types</name></param>
+ <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>severities</name></param>
+ <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>messageLog</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLogAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>categories</name></param>
+ <param len="count"><ptype>GLuint</ptype> *<name>severities</name></param>
+ <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
+ <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
+ <param len="bufsize"><ptype>GLchar</ptype> *<name>message</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLogARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>sources</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>types</name></param>
+ <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>severities</name></param>
+ <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>messageLog</name></param>
+ <alias name="glGetDebugMessageLog"/>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGetDebugMessageLogKHR</name></proto>
+ <param><ptype>GLuint</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>sources</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>types</name></param>
+ <param len="count"><ptype>GLuint</ptype> *<name>ids</name></param>
+ <param len="count"><ptype>GLenum</ptype> *<name>severities</name></param>
+ <param len="count"><ptype>GLsizei</ptype> *<name>lengths</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>messageLog</name></param>
+ <alias name="glGetDebugMessageLog"/>
+ </command>
+ <command>
+ <proto>void <name>glGetDetailTexFuncSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="vendor" opcode="4096"/>
+ </command>
+ <command>
+ <proto>void <name>glGetDoubleIndexedvEXT</name></proto>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLdouble</ptype> *<name>data</name></param>
+ <alias name="glGetDoublei_v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetDoublei_v</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLdouble</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetDoublei_vEXT</name></proto>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <alias name="glGetDoublei_v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetDoublev</name></proto>
+ <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>data</name></param>
+ <glx type="single" opcode="114"/>
+ </command>
+ <command>
+ <proto>void <name>glGetDriverControlStringQCOM</name></proto>
+ <param><ptype>GLuint</ptype> <name>driverControl</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>driverControlString</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetDriverControlsQCOM</name></proto>
+ <param><ptype>GLint</ptype> *<name>num</name></param>
+ <param><ptype>GLsizei</ptype> <name>size</name></param>
+ <param len="size"><ptype>GLuint</ptype> *<name>driverControls</name></param>
+ </command>
+ <command>
+ <proto group="ErrorCode"><ptype>GLenum</ptype> <name>glGetError</name></proto>
+ <glx type="single" opcode="115"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFenceivNV</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ <param group="FenceParameterNameNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1280"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFinalCombinerInputParameterfvNV</name></proto>
+ <param group="CombinerVariableNV"><ptype>GLenum</ptype> <name>variable</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1274"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFinalCombinerInputParameterivNV</name></proto>
+ <param group="CombinerVariableNV"><ptype>GLenum</ptype> <name>variable</name></param>
+ <param group="CombinerParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1275"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFirstPerfQueryIdINTEL</name></proto>
+ <param><ptype>GLuint</ptype> *<name>queryId</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFixedv</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFixedvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFloatIndexedvEXT</name></proto>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>data</name></param>
+ <alias name="glGetFloati_v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFloati_v</name></proto>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFloati_vEXT</name></proto>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glGetFloati_v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFloatv</name></proto>
+ <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>data</name></param>
+ <glx type="single" opcode="116"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFogFuncSGIS</name></proto>
+ <param len="COMPSIZE()"><ptype>GLfloat</ptype> *<name>points</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetFragDataIndex</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetFragDataLocation</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetFragDataLocationEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ <alias name="glGetFragDataLocation"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFragmentLightfvSGIX</name></proto>
+ <param group="FragmentLightNameSGIX"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="FragmentLightParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFragmentLightivSGIX</name></proto>
+ <param group="FragmentLightNameSGIX"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="FragmentLightParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFragmentMaterialfvSGIX</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFragmentMaterialivSGIX</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFramebufferAttachmentParameteriv</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1428"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFramebufferAttachmentParameterivEXT</name></proto>
+ <param group="FramebufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetFramebufferAttachmentParameteriv"/>
+ <glx type="vendor" opcode="1428"/>
+ </command>
+ <command>
+ <proto>void <name>glGetFramebufferAttachmentParameterivOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFramebufferParameteriv</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetFramebufferParameterivEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="GetFramebufferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusARB</name></proto>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glGetGraphicsResetStatusEXT</name></proto>
+ </command>
+ <command>
+ <proto group="handleARB"><ptype>GLhandleARB</ptype> <name>glGetHandleARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetHistogram</name></proto>
+ <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
+ <glx type="single" opcode="154"/>
+ <glx type="render" opcode="337" name="glGetHistogramPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetHistogramEXT</name></proto>
+ <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
+ <glx type="vendor" opcode="5"/>
+ </command>
+ <command>
+ <proto>void <name>glGetHistogramParameterfv</name></proto>
+ <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetHistogramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="155"/>
+ </command>
+ <command>
+ <proto>void <name>glGetHistogramParameterfvEXT</name></proto>
+ <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetHistogramParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="6"/>
+ </command>
+ <command>
+ <proto>void <name>glGetHistogramParameteriv</name></proto>
+ <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetHistogramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="156"/>
+ </command>
+ <command>
+ <proto>void <name>glGetHistogramParameterivEXT</name></proto>
+ <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetHistogramParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="7"/>
+ </command>
+ <command>
+ <proto>void <name>glGetHistogramParameterxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint64</ptype> <name>glGetImageHandleARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLboolean</ptype> <name>layered</name></param>
+ <param><ptype>GLint</ptype> <name>layer</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint64</ptype> <name>glGetImageHandleNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>layered</name></param>
+ <param><ptype>GLint</ptype> <name>layer</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetImageTransformParameterfvHP</name></proto>
+ <param group="ImageTransformTargetHP"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetImageTransformParameterivHP</name></proto>
+ <param group="ImageTransformTargetHP"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetInfoLogARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxLength</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="maxLength"><ptype>GLcharARB</ptype> *<name>infoLog</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetInstrumentsSGIX</name></proto>
+ <glx type="vendor" opcode="4102"/>
+ </command>
+ <command>
+ <proto>void <name>glGetInteger64i_v</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLint64</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetInteger64v</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetInteger64vAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint64</ptype> *<name>params</name></param>
+ <alias name="glGetInteger64v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetIntegerIndexedvEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLint</ptype> *<name>data</name></param>
+ <alias name="glGetIntegeri_v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetIntegeri_v</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLint</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetIntegeri_vEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetIntegerui64i_vNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>value</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(value)"><ptype>GLuint64EXT</ptype> *<name>result</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetIntegerui64vNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(value)"><ptype>GLuint64EXT</ptype> *<name>result</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetIntegerv</name></proto>
+ <param group="GetPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>data</name></param>
+ <glx type="single" opcode="117"/>
+ </command>
+ <command>
+ <proto>void <name>glGetInternalformati64v</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLint64</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetInternalformativ</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetInvariantBooleanvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param group="Boolean" len="COMPSIZE(id)"><ptype>GLboolean</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetInvariantFloatvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(id)"><ptype>GLfloat</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetInvariantIntegervEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(id)"><ptype>GLint</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetLightfv</name></proto>
+ <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="118"/>
+ </command>
+ <command>
+ <proto>void <name>glGetLightiv</name></proto>
+ <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="119"/>
+ </command>
+ <command>
+ <proto>void <name>glGetLightxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>light</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetLightxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>light</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetLightxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>light</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetListParameterfvSGIX</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param group="ListParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetListParameterivSGIX</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param group="ListParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetLocalConstantBooleanvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param group="Boolean" len="COMPSIZE(id)"><ptype>GLboolean</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetLocalConstantFloatvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(id)"><ptype>GLfloat</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetLocalConstantIntegervEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(id)"><ptype>GLint</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMapAttribParameterfvNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="MapAttribParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMapAttribParameterivNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="MapAttribParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMapControlPointsNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="MapTypeNV"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>ustride</name></param>
+ <param><ptype>GLsizei</ptype> <name>vstride</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>packed</name></param>
+ <param len="COMPSIZE(target)">void *<name>points</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMapParameterfvNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="MapParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(target,pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMapParameterivNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="MapParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(target,pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMapdv</name></proto>
+ <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetMapQuery"><ptype>GLenum</ptype> <name>query</name></param>
+ <param len="COMPSIZE(target,query)"><ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="single" opcode="120"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMapfv</name></proto>
+ <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetMapQuery"><ptype>GLenum</ptype> <name>query</name></param>
+ <param len="COMPSIZE(target,query)"><ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="single" opcode="121"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMapiv</name></proto>
+ <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetMapQuery"><ptype>GLenum</ptype> <name>query</name></param>
+ <param len="COMPSIZE(target,query)"><ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="single" opcode="122"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMapxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>query</name></param>
+ <param len="COMPSIZE(query)"><ptype>GLfixed</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMaterialfv</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="123"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMaterialiv</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="124"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMaterialxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMaterialxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMaterialxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMinmax</name></proto>
+ <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
+ <glx type="single" opcode="157"/>
+ <glx type="render" opcode="338" name="glGetMinmaxPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMinmaxEXT</name></proto>
+ <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>values</name></param>
+ <glx type="vendor" opcode="8"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMinmaxParameterfv</name></proto>
+ <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetMinmaxParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="158"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMinmaxParameterfvEXT</name></proto>
+ <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetMinmaxParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="9"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMinmaxParameteriv</name></proto>
+ <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetMinmaxParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="159"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMinmaxParameterivEXT</name></proto>
+ <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetMinmaxParameterPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="10"/>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexEnvfvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexEnvivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexGendvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexGenfvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexGenivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexImageEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,level,format,type)">void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexLevelParameterfvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexLevelParameterivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexParameterIivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexParameterIuivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexParameterfvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultiTexParameterivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultisamplefv</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>val</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetMultisamplefvNV</name></proto>
+ <param group="GetMultisamplePNameNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2"><ptype>GLfloat</ptype> *<name>val</name></param>
+ <alias name="glGetMultisamplefv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedBufferParameterivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="VertexBufferObjectParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedBufferParameterui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="VertexBufferObjectParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedBufferPointervEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="VertexBufferObjectParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedBufferSubDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="COMPSIZE(size)">void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedFramebufferAttachmentParameterivEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="FramebufferAttachmentParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedFramebufferParameterivEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="GetFramebufferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedProgramLocalParameterIivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedProgramLocalParameterIuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedProgramLocalParameterdvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedProgramLocalParameterfvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedProgramStringEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ProgramStringProperty"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(program,pname)">void *<name>string</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedProgramivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ProgramProperty"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedRenderbufferParameterivEXT</name></proto>
+ <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <param group="RenderbufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedStringARB</name></proto>
+ <param><ptype>GLint</ptype> <name>namelen</name></param>
+ <param len="namelen">const <ptype>GLchar</ptype> *<name>name</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>stringlen</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>string</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNamedStringivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>namelen</name></param>
+ <param len="namelen">const <ptype>GLchar</ptype> *<name>name</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetNextPerfQueryIdINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryId</name></param>
+ <param><ptype>GLuint</ptype> *<name>nextQueryId</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectBufferfvATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectBufferivATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectLabel</name></proto>
+ <param><ptype>GLenum</ptype> <name>identifier</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectLabelEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>object</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectLabelKHR</name></proto>
+ <param><ptype>GLenum</ptype> <name>identifier</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
+ <alias name="glGetObjectLabel"/>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectParameterfvARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectParameterivAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>objectType</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectParameterivARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectPtrLabel</name></proto>
+ <param>const void *<name>ptr</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetObjectPtrLabelKHR</name></proto>
+ <param>const void *<name>ptr</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>label</name></param>
+ <alias name="glGetObjectPtrLabel"/>
+ </command>
+ <command>
+ <proto>void <name>glGetOcclusionQueryivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="OcclusionQueryParameterNameNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetOcclusionQueryuivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="OcclusionQueryParameterNameNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathColorGenfvNV</name></proto>
+ <param group="PathColor"><ptype>GLenum</ptype> <name>color</name></param>
+ <param group="PathGenMode"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathColorGenivNV</name></proto>
+ <param group="PathColor"><ptype>GLenum</ptype> <name>color</name></param>
+ <param group="PathGenMode"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathCommandsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathCommand" len="COMPSIZE(path)"><ptype>GLubyte</ptype> *<name>commands</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathCoordsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param len="COMPSIZE(path)"><ptype>GLfloat</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathDashArrayNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param len="COMPSIZE(path)"><ptype>GLfloat</ptype> *<name>dashArray</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLfloat</ptype> <name>glGetPathLengthNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>startSegment</name></param>
+ <param><ptype>GLsizei</ptype> <name>numSegments</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathMetricRangeNV</name></proto>
+ <param group="PathMetricMask"><ptype>GLbitfield</ptype> <name>metricQueryMask</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>firstPathName</name></param>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(metricQueryMask,numPaths,stride)"><ptype>GLfloat</ptype> *<name>metrics</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathMetricsNV</name></proto>
+ <param group="PathMetricMask"><ptype>GLbitfield</ptype> <name>metricQueryMask</name></param>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
+ <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(metricQueryMask,numPaths,stride)"><ptype>GLfloat</ptype> *<name>metrics</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathParameterfvNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathParameterivNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathSpacingNV</name></proto>
+ <param group="PathListMode"><ptype>GLenum</ptype> <name>pathListMode</name></param>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
+ <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
+ <param><ptype>GLfloat</ptype> <name>advanceScale</name></param>
+ <param><ptype>GLfloat</ptype> <name>kerningScale</name></param>
+ <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
+ <param len="COMPSIZE(pathListMode,numPaths)"><ptype>GLfloat</ptype> *<name>returnedSpacing</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathTexGenfvNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texCoordSet</name></param>
+ <param group="PathGenMode"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPathTexGenivNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texCoordSet</name></param>
+ <param group="PathGenMode"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfCounterInfoINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryId</name></param>
+ <param><ptype>GLuint</ptype> <name>counterId</name></param>
+ <param><ptype>GLuint</ptype> <name>counterNameLength</name></param>
+ <param><ptype>GLchar</ptype> *<name>counterName</name></param>
+ <param><ptype>GLuint</ptype> <name>counterDescLength</name></param>
+ <param><ptype>GLchar</ptype> *<name>counterDesc</name></param>
+ <param><ptype>GLuint</ptype> *<name>counterOffset</name></param>
+ <param><ptype>GLuint</ptype> *<name>counterDataSize</name></param>
+ <param><ptype>GLuint</ptype> *<name>counterTypeEnum</name></param>
+ <param><ptype>GLuint</ptype> *<name>counterDataTypeEnum</name></param>
+ <param><ptype>GLuint64</ptype> *<name>rawCounterMaxValue</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfMonitorCounterDataAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>monitor</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLsizei</ptype> <name>dataSize</name></param>
+ <param len="dataSize"><ptype>GLuint</ptype> *<name>data</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>bytesWritten</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfMonitorCounterInfoAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>group</name></param>
+ <param><ptype>GLuint</ptype> <name>counter</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfMonitorCounterStringAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>group</name></param>
+ <param><ptype>GLuint</ptype> <name>counter</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>counterString</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfMonitorCountersAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>group</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>numCounters</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>maxActiveCounters</name></param>
+ <param><ptype>GLsizei</ptype> <name>counterSize</name></param>
+ <param len="counterSize"><ptype>GLuint</ptype> *<name>counters</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfMonitorGroupStringAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>group</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>groupString</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfMonitorGroupsAMD</name></proto>
+ <param len="1"><ptype>GLint</ptype> *<name>numGroups</name></param>
+ <param><ptype>GLsizei</ptype> <name>groupsSize</name></param>
+ <param len="groupsSize"><ptype>GLuint</ptype> *<name>groups</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfQueryDataINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryHandle</name></param>
+ <param><ptype>GLuint</ptype> <name>flags</name></param>
+ <param><ptype>GLsizei</ptype> <name>dataSize</name></param>
+ <param><ptype>GLvoid</ptype> *<name>data</name></param>
+ <param><ptype>GLuint</ptype> *<name>bytesWritten</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfQueryIdByNameINTEL</name></proto>
+ <param><ptype>GLchar</ptype> *<name>queryName</name></param>
+ <param><ptype>GLuint</ptype> *<name>queryId</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPerfQueryInfoINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>queryId</name></param>
+ <param><ptype>GLuint</ptype> <name>queryNameLength</name></param>
+ <param><ptype>GLchar</ptype> *<name>queryName</name></param>
+ <param><ptype>GLuint</ptype> *<name>dataSize</name></param>
+ <param><ptype>GLuint</ptype> *<name>noCounters</name></param>
+ <param><ptype>GLuint</ptype> *<name>noInstances</name></param>
+ <param><ptype>GLuint</ptype> *<name>capsMask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelMapfv</name></proto>
+ <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+ <param len="COMPSIZE(map)"><ptype>GLfloat</ptype> *<name>values</name></param>
+ <glx type="single" opcode="125"/>
+ <glx type="render" opcode="339" name="glGetPixelMapfvPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelMapuiv</name></proto>
+ <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+ <param len="COMPSIZE(map)"><ptype>GLuint</ptype> *<name>values</name></param>
+ <glx type="single" opcode="126"/>
+ <glx type="render" opcode="340" name="glGetPixelMapuivPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelMapusv</name></proto>
+ <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+ <param len="COMPSIZE(map)"><ptype>GLushort</ptype> *<name>values</name></param>
+ <glx type="single" opcode="127"/>
+ <glx type="render" opcode="341" name="glGetPixelMapusvPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelMapxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>map</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size"><ptype>GLfixed</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelTexGenParameterfvSGIS</name></proto>
+ <param group="PixelTexGenParameterNameSGIS"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelTexGenParameterivSGIS</name></proto>
+ <param group="PixelTexGenParameterNameSGIS"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelTransformParameterfvEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="2051"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPixelTransformParameterivEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="2052"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPointerIndexedvEXT</name></proto>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">void **<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPointeri_vEXT</name></proto>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">void **<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetPointerv</name></proto>
+ <param group="GetPointervPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>params</name></param>
+ <glx type="single" opcode="208"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPointervEXT</name></proto>
+ <param group="GetPointervPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>params</name></param>
+ <alias name="glGetPointerv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPointervKHR</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param>void **<name>params</name></param>
+ <alias name="glGetPointerv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetPolygonStipple</name></proto>
+ <param len="COMPSIZE()"><ptype>GLubyte</ptype> *<name>mask</name></param>
+ <glx type="single" opcode="128"/>
+ <glx type="render" opcode="342" name="glGetPolygonStipplePBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramBinary</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>binaryFormat</name></param>
+ <param len="bufSize">void *<name>binary</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramBinaryOES</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>binaryFormat</name></param>
+ <param len="bufSize">void *<name>binary</name></param>
+ <alias name="glGetProgramBinary"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramEnvParameterIivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramEnvParameterIuivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramEnvParameterdvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramEnvParameterfvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramInfoLog</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
+ <glx type="single" opcode="201"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramInterfaceiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramLocalParameterIivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramLocalParameterIuivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramLocalParameterdvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramLocalParameterfvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramNamedParameterdvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1311"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramNamedParameterfvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1310"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramParameterdvNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1297"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramParameterfvNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1296"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramPipelineInfoLog</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramPipelineInfoLogEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramPipelineiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramPipelineivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGetProgramResourceIndex</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetProgramResourceLocation</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetProgramResourceLocationIndex</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramResourceName</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramResourceiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>programInterface</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>propCount</name></param>
+ <param len="propCount">const <ptype>GLenum</ptype> *<name>props</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramStageiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramStringARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ProgramStringPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(target,pname)">void *<name>string</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramStringNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="ProgramCharacterNV" len="COMPSIZE(id,pname)"><ptype>GLubyte</ptype> *<name>program</name></param>
+ <glx type="vendor" opcode="1299"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramSubroutineParameteruivNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLuint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="199"/>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramivARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ProgramPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetProgramivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1298"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryIndexediv</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjecti64v</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjecti64vEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint64</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1328"/>
+ <alias name="glGetQueryObjecti64v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="165"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetQueryObjectiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetQueryObjectiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectui64v</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint64</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectui64vEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint64</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1329"/>
+ <alias name="glGetQueryObjectui64v"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectuiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="166"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectuivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ <alias name="glGetQueryObjectuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryObjectuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="164"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryivARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetQueryiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetQueryivEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetRenderbufferParameteriv</name></proto>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1424"/>
+ </command>
+ <command>
+ <proto>void <name>glGetRenderbufferParameterivEXT</name></proto>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetRenderbufferParameteriv"/>
+ <glx type="vendor" opcode="1424"/>
+ </command>
+ <command>
+ <proto>void <name>glGetRenderbufferParameterivOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetSamplerParameterIiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetSamplerParameterIivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetSamplerParameterIiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetSamplerParameterIuiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetSamplerParameterIuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ <alias name="glGetSamplerParameterIuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetSamplerParameterfv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetSamplerParameteriv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetSeparableFilter</name></proto>
+ <param group="SeparableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>row</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>column</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>span</name></param>
+ <glx type="single" opcode="153"/>
+ <glx type="render" opcode="343" name="glGetSeparableFilterPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetSeparableFilterEXT</name></proto>
+ <param group="SeparableTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>row</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>column</name></param>
+ <param len="COMPSIZE(target,format,type)">void *<name>span</name></param>
+ <glx type="vendor" opcode="4"/>
+ </command>
+ <command>
+ <proto>void <name>glGetShaderInfoLog</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>infoLog</name></param>
+ <glx type="single" opcode="200"/>
+ </command>
+ <command>
+ <proto>void <name>glGetShaderPrecisionFormat</name></proto>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLenum</ptype> <name>precisiontype</name></param>
+ <param len="2"><ptype>GLint</ptype> *<name>range</name></param>
+ <param len="2"><ptype>GLint</ptype> *<name>precision</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetShaderSource</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>source</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetShaderSourceARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>obj</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxLength</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="maxLength"><ptype>GLcharARB</ptype> *<name>source</name></param>
+ <alias name="glGetShaderSource"/>
+ </command>
+ <command>
+ <proto>void <name>glGetShaderiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="198"/>
+ </command>
+ <command>
+ <proto>void <name>glGetSharpenTexFuncSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param len="COMPSIZE(target)"><ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="vendor" opcode="4097"/>
+ </command>
+ <command>
+ <proto group="String">const <ptype>GLubyte</ptype> *<name>glGetString</name></proto>
+ <param group="StringName"><ptype>GLenum</ptype> <name>name</name></param>
+ <glx type="single" opcode="129"/>
+ </command>
+ <command>
+ <proto group="String">const <ptype>GLubyte</ptype> *<name>glGetStringi</name></proto>
+ <param><ptype>GLenum</ptype> <name>name</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGetSubroutineIndex</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetSubroutineUniformLocation</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetSynciv</name></proto>
+ <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetSyncivAPPLE</name></proto>
+ <param><ptype>GLsync</ptype> <name>sync</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>values</name></param>
+ <alias name="glGetSynciv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexBumpParameterfvATI</name></proto>
+ <param group="GetTexBumpParameterATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexBumpParameterivATI</name></proto>
+ <param group="GetTexBumpParameterATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexEnvfv</name></proto>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="130"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexEnviv</name></proto>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="131"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexEnvxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexEnvxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexFilterFuncSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureFilterSGIS"><ptype>GLenum</ptype> <name>filter</name></param>
+ <param len="COMPSIZE(target,filter)"><ptype>GLfloat</ptype> *<name>weights</name></param>
+ <glx type="vendor" opcode="4101"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexGendv</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <glx type="single" opcode="132"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexGenfv</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="133"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexGenfvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexGeniv</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="134"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexGenivOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexGenxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexImage</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,level,format,type)">void *<name>pixels</name></param>
+ <glx type="single" opcode="135"/>
+ <glx type="render" opcode="344" name="glGetTexImagePBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexLevelParameterfv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="138"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexLevelParameteriv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="139"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexLevelParameterxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterIiv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="203"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterIivEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetTexParameterIiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterIuiv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="204"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterIuivEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ <alias name="glGetTexParameterIuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterPointervAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterfv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="single" opcode="136"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameteriv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="single" opcode="137"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTexParameterxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint64</ptype> <name>glGetTextureHandleARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint64</ptype> <name>glGetTextureHandleNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTextureImageEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,level,format,type)">void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTextureLevelParameterfvEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTextureLevelParameterivEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTextureParameterIivEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTextureParameterIuivEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTextureParameterfvEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTextureParameterivEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="GetTextureParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint64</ptype> <name>glGetTextureSamplerHandleARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint64</ptype> <name>glGetTextureSamplerHandleNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTrackMatrixivNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>address</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1300"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTransformFeedbackVarying</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>size</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTransformFeedbackVaryingEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>size</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>type</name></param>
+ <param len="bufSize"><ptype>GLchar</ptype> *<name>name</name></param>
+ <alias name="glGetTransformFeedbackVarying"/>
+ </command>
+ <command>
+ <proto>void <name>glGetTransformFeedbackVaryingNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>location</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetTranslatedShaderSourceANGLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufsize</name></param>
+ <param len="1"><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param><ptype>GLchar</ptype> *<name>source</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glGetUniformBlockIndex</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param len="COMPSIZE()">const <ptype>GLchar</ptype> *<name>uniformBlockName</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetUniformBufferSizeEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformIndices</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>uniformCount</name></param>
+ <param len="COMPSIZE(uniformCount)">const <ptype>GLchar</ptype> *const*<name>uniformNames</name></param>
+ <param len="COMPSIZE(uniformCount)"><ptype>GLuint</ptype> *<name>uniformIndices</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetUniformLocation</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetUniformLocationARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <param>const <ptype>GLcharARB</ptype> *<name>name</name></param>
+ <alias name="glGetUniformLocation"/>
+ </command>
+ <command>
+ <proto group="BufferOffset"><ptype>GLintptr</ptype> <name>glGetUniformOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformSubroutineuiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="1"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformdv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformfv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformfvARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glGetUniformfv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformi64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformivARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetUniformiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program,location)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformuiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program,location)"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetUniformuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param len="COMPSIZE(program,location)"><ptype>GLuint</ptype> *<name>params</name></param>
+ <alias name="glGetUniformuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVariantArrayObjectfvATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVariantArrayObjectivATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVariantBooleanvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param group="Boolean" len="COMPSIZE(id)"><ptype>GLboolean</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVariantFloatvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(id)"><ptype>GLfloat</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVariantIntegervEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(id)"><ptype>GLint</ptype> *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVariantPointervEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="GetVariantValueEXT"><ptype>GLenum</ptype> <name>value</name></param>
+ <param len="COMPSIZE(id)">void **<name>data</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glGetVaryingLocationNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param len="COMPSIZE(name)">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexArrayIntegeri_vEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexArrayIntegervEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexArrayPointeri_vEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param>void **<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexArrayPointervEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribArrayObjectfvATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribArrayObjectivATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="ArrayObjectPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribIiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribIivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribIiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribIuiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribIuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLuint</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribIuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribLdv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribLdvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribLdv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribLi64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribLui64vARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribLui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribPointerv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPointerPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>pointer</name></param>
+ <glx type="single" opcode="209"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribPointervARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPointerPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>pointer</name></param>
+ <alias name="glGetVertexAttribPointerv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribPointervNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">void **<name>pointer</name></param>
+ <alias name="glGetVertexAttribPointerv"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribdv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1301"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribdvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribdv"/>
+ <glx type="vendor" opcode="1301"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribdvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribdv"/>
+ <glx type="vendor" opcode="1301"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribfv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1302"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribfvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribfv"/>
+ <glx type="vendor" opcode="1302"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribfvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribfv"/>
+ <glx type="vendor" opcode="1302"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="vendor" opcode="1303"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribPropertyARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="4"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribiv"/>
+ <glx type="vendor" opcode="1303"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVertexAttribivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetVertexAttribiv"/>
+ <glx type="vendor" opcode="1303"/>
+ </command>
+ <command>
+ <proto>void <name>glGetVideoCaptureStreamdvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVideoCaptureStreamfvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVideoCaptureStreamivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVideoCaptureivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVideoi64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_slot</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVideoivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_slot</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVideoui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_slot</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint64EXT</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetVideouivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_slot</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnColorTableARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>table</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnCompressedTexImageARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>lod</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>img</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnConvolutionFilterARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>image</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnHistogramARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnMapdvARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>query</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnMapfvARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>query</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnMapivARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>query</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnMinmaxARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>reset</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnPixelMapfvARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>map</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLfloat</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnPixelMapuivARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>map</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLuint</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnPixelMapusvARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>map</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLushort</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnPolygonStippleARB</name></proto>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLubyte</ptype> *<name>pattern</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnSeparableFilterARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>rowBufSize</name></param>
+ <param len="rowBufSize">void *<name>row</name></param>
+ <param><ptype>GLsizei</ptype> <name>columnBufSize</name></param>
+ <param len="columnBufSize">void *<name>column</name></param>
+ <param len="0">void *<name>span</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnTexImageARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>img</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnUniformdvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnUniformfvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnUniformfvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnUniformivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnUniformivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGetnUniformuivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize"><ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactorbSUN</name></proto>
+ <param><ptype>GLbyte</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactordSUN</name></proto>
+ <param><ptype>GLdouble</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactorfSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactoriSUN</name></proto>
+ <param><ptype>GLint</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactorsSUN</name></proto>
+ <param><ptype>GLshort</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactorubSUN</name></proto>
+ <param><ptype>GLubyte</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactoruiSUN</name></proto>
+ <param><ptype>GLuint</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glGlobalAlphaFactorusSUN</name></proto>
+ <param><ptype>GLushort</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glHint</name></proto>
+ <param group="HintTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="HintMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="85"/>
+ </command>
+ <command>
+ <proto>void <name>glHintPGI</name></proto>
+ <param group="HintTargetPGI"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glHistogram</name></proto>
+ <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
+ <glx type="render" opcode="4110"/>
+ </command>
+ <command>
+ <proto>void <name>glHistogramEXT</name></proto>
+ <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
+ <alias name="glHistogram"/>
+ <glx type="render" opcode="4110"/>
+ </command>
+ <command>
+ <proto>void <name>glIglooInterfaceSGIX</name></proto>
+ <param group="IglooFunctionSelectSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="IglooParameterSGIX" len="COMPSIZE(pname)">const void *<name>params</name></param>
+ <glx type="render" opcode="200"/>
+ </command>
+ <command>
+ <proto>void <name>glImageTransformParameterfHP</name></proto>
+ <param group="ImageTransformTargetHP"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glImageTransformParameterfvHP</name></proto>
+ <param group="ImageTransformTargetHP"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glImageTransformParameteriHP</name></proto>
+ <param group="ImageTransformTargetHP"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glImageTransformParameterivHP</name></proto>
+ <param group="ImageTransformTargetHP"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ImageTransformPNameHP"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto group="sync"><ptype>GLsync</ptype> <name>glImportSyncEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>external_sync_type</name></param>
+ <param><ptype>GLintptr</ptype> <name>external_sync</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexFormatNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexFuncEXT</name></proto>
+ <param group="IndexFunctionEXT"><ptype>GLenum</ptype> <name>func</name></param>
+ <param group="ClampedFloat32"><ptype>GLclampf</ptype> <name>ref</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexMask</name></proto>
+ <param group="MaskedColorIndexValueI"><ptype>GLuint</ptype> <name>mask</name></param>
+ <glx type="render" opcode="136"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexMaterialEXT</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="IndexMaterialParameterEXT"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexPointer</name></proto>
+ <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexPointerEXT</name></proto>
+ <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(type,stride,count)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexPointerListIBM</name></proto>
+ <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexd</name></proto>
+ <param group="ColorIndexValueD"><ptype>GLdouble</ptype> <name>c</name></param>
+ <vecequiv name="glIndexdv"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexdv</name></proto>
+ <param group="ColorIndexValueD" len="1">const <ptype>GLdouble</ptype> *<name>c</name></param>
+ <glx type="render" opcode="24"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexf</name></proto>
+ <param group="ColorIndexValueF"><ptype>GLfloat</ptype> <name>c</name></param>
+ <vecequiv name="glIndexfv"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexfv</name></proto>
+ <param group="ColorIndexValueF" len="1">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <glx type="render" opcode="25"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexi</name></proto>
+ <param group="ColorIndexValueI"><ptype>GLint</ptype> <name>c</name></param>
+ <vecequiv name="glIndexiv"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexiv</name></proto>
+ <param group="ColorIndexValueI" len="1">const <ptype>GLint</ptype> *<name>c</name></param>
+ <glx type="render" opcode="26"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexs</name></proto>
+ <param group="ColorIndexValueS"><ptype>GLshort</ptype> <name>c</name></param>
+ <vecequiv name="glIndexsv"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexsv</name></proto>
+ <param group="ColorIndexValueS" len="1">const <ptype>GLshort</ptype> *<name>c</name></param>
+ <glx type="render" opcode="27"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexub</name></proto>
+ <param group="ColorIndexValueUB"><ptype>GLubyte</ptype> <name>c</name></param>
+ <vecequiv name="glIndexubv"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexubv</name></proto>
+ <param group="ColorIndexValueUB" len="1">const <ptype>GLubyte</ptype> *<name>c</name></param>
+ <glx type="render" opcode="194"/>
+ </command>
+ <command>
+ <proto>void <name>glIndexxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>component</name></param>
+ </command>
+ <command>
+ <proto>void <name>glIndexxvOES</name></proto>
+ <param len="1">const <ptype>GLfixed</ptype> *<name>component</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInitNames</name></proto>
+ <glx type="render" opcode="121"/>
+ </command>
+ <command>
+ <proto>void <name>glInsertComponentEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>res</name></param>
+ <param><ptype>GLuint</ptype> <name>src</name></param>
+ <param><ptype>GLuint</ptype> <name>num</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInsertEventMarkerEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>marker</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInstrumentsBufferSGIX</name></proto>
+ <param><ptype>GLsizei</ptype> <name>size</name></param>
+ <param len="size"><ptype>GLint</ptype> *<name>buffer</name></param>
+ <glx type="vendor" opcode="4103"/>
+ </command>
+ <command>
+ <proto>void <name>glInterleavedArrays</name></proto>
+ <param group="InterleavedArrayFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(format,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInterpolatePathsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>resultPath</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathA</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathB</name></param>
+ <param><ptype>GLfloat</ptype> <name>weight</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInvalidateBufferData</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInvalidateBufferSubData</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInvalidateFramebuffer</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
+ <param len="numAttachments">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInvalidateSubFramebuffer</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
+ <param len="numAttachments">const <ptype>GLenum</ptype> *<name>attachments</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInvalidateTexImage</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ </command>
+ <command>
+ <proto>void <name>glInvalidateTexSubImage</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsAsyncMarkerSGIX</name></proto>
+ <param><ptype>GLuint</ptype> <name>marker</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsBuffer</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsBufferARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <alias name="glIsBuffer"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsBufferResidentNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnabled</name></proto>
+ <param group="EnableCap"><ptype>GLenum</ptype> <name>cap</name></param>
+ <glx type="single" opcode="140"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnabledIndexedEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glIsEnabledi"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnabledi</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnablediEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glIsEnabledi"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFenceAPPLE</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFenceNV</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ <glx type="vendor" opcode="1278"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFramebuffer</name></proto>
+ <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <glx type="vendor" opcode="1425"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFramebufferEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <alias name="glIsFramebuffer"/>
+ <glx type="vendor" opcode="1425"/>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsFramebufferOES</name></proto>
+ <param><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsImageHandleResidentARB</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsImageHandleResidentNV</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsList</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <glx type="single" opcode="141"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNameAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>identifier</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNamedBufferResidentNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsNamedStringARB</name></proto>
+ <param><ptype>GLint</ptype> <name>namelen</name></param>
+ <param len="namelen">const <ptype>GLchar</ptype> *<name>name</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsObjectBufferATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsOcclusionQueryNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsPathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsPointInFillPathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsPointInStrokePathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgram</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <glx type="single" opcode="197"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgramARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <glx type="vendor" opcode="1304"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgramNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <alias name="glIsProgramARB"/>
+ <glx type="vendor" opcode="1304"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsProgramPipeline</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsProgramPipelineEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsQuery</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <glx type="single" opcode="163"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsQueryARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <alias name="glIsQuery"/>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsQueryEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsRenderbuffer</name></proto>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <glx type="vendor" opcode="1422"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsRenderbufferEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <alias name="glIsRenderbuffer"/>
+ <glx type="vendor" opcode="1422"/>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsRenderbufferOES</name></proto>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsSampler</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsShader</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <glx type="single" opcode="196"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsSync</name></proto>
+ <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsSyncAPPLE</name></proto>
+ <param><ptype>GLsync</ptype> <name>sync</name></param>
+ <alias name="glIsSync"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTexture</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <glx type="single" opcode="146"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTextureEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <glx type="vendor" opcode="14"/>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsTextureHandleResidentARB</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTextureHandleResidentNV</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTransformFeedback</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsTransformFeedbackNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <alias name="glIsTransformFeedback"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVariantEnabledEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="VariantCapEXT"><ptype>GLenum</ptype> <name>cap</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVertexArray</name></proto>
+ <param><ptype>GLuint</ptype> <name>array</name></param>
+ <glx type="single" opcode="207"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVertexArrayAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>array</name></param>
+ <alias name="glIsVertexArray"/>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glIsVertexArrayOES</name></proto>
+ <param><ptype>GLuint</ptype> <name>array</name></param>
+ <alias name="glIsVertexArray"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsVertexAttribEnabledAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLabelObjectEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>object</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>label</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightEnviSGIX</name></proto>
+ <param group="LightEnvParameterSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightModelf</name></proto>
+ <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="90"/>
+ </command>
+ <command>
+ <proto>void <name>glLightModelfv</name></proto>
+ <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="91"/>
+ </command>
+ <command>
+ <proto>void <name>glLightModeli</name></proto>
+ <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="92"/>
+ </command>
+ <command>
+ <proto>void <name>glLightModeliv</name></proto>
+ <param group="LightModelParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="93"/>
+ </command>
+ <command>
+ <proto>void <name>glLightModelx</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightModelxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightModelxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightModelxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightf</name></proto>
+ <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="86"/>
+ </command>
+ <command>
+ <proto>void <name>glLightfv</name></proto>
+ <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="87"/>
+ </command>
+ <command>
+ <proto>void <name>glLighti</name></proto>
+ <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="88"/>
+ </command>
+ <command>
+ <proto>void <name>glLightiv</name></proto>
+ <param group="LightName"><ptype>GLenum</ptype> <name>light</name></param>
+ <param group="LightParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="89"/>
+ </command>
+ <command>
+ <proto>void <name>glLightx</name></proto>
+ <param><ptype>GLenum</ptype> <name>light</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>light</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>light</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLightxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>light</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLineStipple</name></proto>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>factor</name></param>
+ <param group="LineStipple"><ptype>GLushort</ptype> <name>pattern</name></param>
+ <glx type="render" opcode="94"/>
+ </command>
+ <command>
+ <proto>void <name>glLineWidth</name></proto>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>width</name></param>
+ <glx type="render" opcode="95"/>
+ </command>
+ <command>
+ <proto>void <name>glLineWidthx</name></proto>
+ <param><ptype>GLfixed</ptype> <name>width</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLineWidthxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>width</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLinkProgram</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLinkProgramARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <alias name="glLinkProgram"/>
+ </command>
+ <command>
+ <proto>void <name>glListBase</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>base</name></param>
+ <glx type="render" opcode="3"/>
+ </command>
+ <command>
+ <proto>void <name>glListParameterfSGIX</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param group="ListParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="2078"/>
+ </command>
+ <command>
+ <proto>void <name>glListParameterfvSGIX</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param group="ListParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="2079"/>
+ </command>
+ <command>
+ <proto>void <name>glListParameteriSGIX</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param group="ListParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="2080"/>
+ </command>
+ <command>
+ <proto>void <name>glListParameterivSGIX</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param group="ListParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="2081"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadIdentity</name></proto>
+ <glx type="render" opcode="176"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadIdentityDeformationMapSGIX</name></proto>
+ <param group="FfdMaskSGIX"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <glx type="render" opcode="2076"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadMatrixd</name></proto>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ <glx type="render" opcode="178"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadMatrixf</name></proto>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ <glx type="render" opcode="177"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadMatrixx</name></proto>
+ <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLoadMatrixxOES</name></proto>
+ <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLoadName</name></proto>
+ <param group="SelectName"><ptype>GLuint</ptype> <name>name</name></param>
+ <glx type="render" opcode="122"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadPaletteFromModelViewMatrixOES</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glLoadProgramNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="len">const <ptype>GLubyte</ptype> *<name>program</name></param>
+ <glx type="render" opcode="4183"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadTransposeMatrixd</name></proto>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLoadTransposeMatrixdARB</name></proto>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ <alias name="glLoadTransposeMatrixd"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadTransposeMatrixf</name></proto>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLoadTransposeMatrixfARB</name></proto>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ <alias name="glLoadTransposeMatrixf"/>
+ </command>
+ <command>
+ <proto>void <name>glLoadTransposeMatrixxOES</name></proto>
+ <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLockArraysEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ </command>
+ <command>
+ <proto>void <name>glLogicOp</name></proto>
+ <param group="LogicOp"><ptype>GLenum</ptype> <name>opcode</name></param>
+ <glx type="render" opcode="161"/>
+ </command>
+ <command>
+ <proto>void <name>glMakeBufferNonResidentNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeBufferResidentNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeImageHandleNonResidentARB</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeImageHandleNonResidentNV</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeImageHandleResidentARB</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeImageHandleResidentNV</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeNamedBufferNonResidentNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeNamedBufferResidentNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeTextureHandleNonResidentARB</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeTextureHandleNonResidentNV</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeTextureHandleResidentARB</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMakeTextureHandleResidentNV</name></proto>
+ <param><ptype>GLuint64</ptype> <name>handle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMap1d</name></proto>
+ <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>order</name></param>
+ <param group="CoordD" len="COMPSIZE(target,stride,order)">const <ptype>GLdouble</ptype> *<name>points</name></param>
+ <glx type="render" opcode="143"/>
+ </command>
+ <command>
+ <proto>void <name>glMap1f</name></proto>
+ <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>order</name></param>
+ <param group="CoordF" len="COMPSIZE(target,stride,order)">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="render" opcode="144"/>
+ </command>
+ <command>
+ <proto>void <name>glMap1xOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLfixed</ptype> <name>u1</name></param>
+ <param><ptype>GLfixed</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param><ptype>GLint</ptype> <name>order</name></param>
+ <param><ptype>GLfixed</ptype> <name>points</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMap2d</name></proto>
+ <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>ustride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>vstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
+ <param group="CoordD" len="COMPSIZE(target,ustride,uorder,vstride,vorder)">const <ptype>GLdouble</ptype> *<name>points</name></param>
+ <glx type="render" opcode="145"/>
+ </command>
+ <command>
+ <proto>void <name>glMap2f</name></proto>
+ <param group="MapTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>ustride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>vstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
+ <param group="CoordF" len="COMPSIZE(target,ustride,uorder,vstride,vorder)">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="render" opcode="146"/>
+ </command>
+ <command>
+ <proto>void <name>glMap2xOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLfixed</ptype> <name>u1</name></param>
+ <param><ptype>GLfixed</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>ustride</name></param>
+ <param><ptype>GLint</ptype> <name>uorder</name></param>
+ <param><ptype>GLfixed</ptype> <name>v1</name></param>
+ <param><ptype>GLfixed</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>vstride</name></param>
+ <param><ptype>GLint</ptype> <name>vorder</name></param>
+ <param><ptype>GLfixed</ptype> <name>points</name></param>
+ </command>
+ <command>
+ <proto>void *<name>glMapBuffer</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferAccessARB"><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void *<name>glMapBufferARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferAccessARB"><ptype>GLenum</ptype> <name>access</name></param>
+ <alias name="glMapBuffer"/>
+ </command>
+ <command>
+ <proto>void *<name>glMapBufferOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ <alias name="glMapBuffer"/>
+ </command>
+ <command>
+ <proto>void *<name>glMapBufferRange</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ <param group="BufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
+ <glx type="single" opcode="205"/>
+ </command>
+ <command>
+ <proto>void *<name>glMapBufferRangeEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ <param><ptype>GLbitfield</ptype> <name>access</name></param>
+ <alias name="glMapBufferRange"/>
+ </command>
+ <command>
+ <proto>void <name>glMapControlPointsNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="MapTypeNV"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>ustride</name></param>
+ <param><ptype>GLsizei</ptype> <name>vstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>packed</name></param>
+ <param len="COMPSIZE(target,uorder,vorder)">const void *<name>points</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapGrid1d</name></proto>
+ <param><ptype>GLint</ptype> <name>un</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u2</name></param>
+ <glx type="render" opcode="147"/>
+ </command>
+ <command>
+ <proto>void <name>glMapGrid1f</name></proto>
+ <param><ptype>GLint</ptype> <name>un</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u2</name></param>
+ <glx type="render" opcode="148"/>
+ </command>
+ <command>
+ <proto>void <name>glMapGrid1xOES</name></proto>
+ <param><ptype>GLint</ptype> <name>n</name></param>
+ <param><ptype>GLfixed</ptype> <name>u1</name></param>
+ <param><ptype>GLfixed</ptype> <name>u2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapGrid2d</name></proto>
+ <param><ptype>GLint</ptype> <name>un</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>vn</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v2</name></param>
+ <glx type="render" opcode="149"/>
+ </command>
+ <command>
+ <proto>void <name>glMapGrid2f</name></proto>
+ <param><ptype>GLint</ptype> <name>un</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>vn</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v2</name></param>
+ <glx type="render" opcode="150"/>
+ </command>
+ <command>
+ <proto>void <name>glMapGrid2xOES</name></proto>
+ <param><ptype>GLint</ptype> <name>n</name></param>
+ <param><ptype>GLfixed</ptype> <name>u1</name></param>
+ <param><ptype>GLfixed</ptype> <name>u2</name></param>
+ <param><ptype>GLfixed</ptype> <name>v1</name></param>
+ <param><ptype>GLfixed</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void *<name>glMapNamedBufferEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="VertexBufferObjectAccess"><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void *<name>glMapNamedBufferRangeEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>length</name></param>
+ <param group="BufferAccessMask"><ptype>GLbitfield</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void *<name>glMapObjectBufferATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapParameterfvNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="MapParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(target,pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapParameterivNV</name></proto>
+ <param group="EvalTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="MapParameterNV"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(target,pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void *<name>glMapTexture2DINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLbitfield</ptype> <name>access</name></param>
+ <param len="1"><ptype>GLint</ptype> *<name>stride</name></param>
+ <param len="1"><ptype>GLenum</ptype> *<name>layout</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapVertexAttrib1dAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>size</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>order</name></param>
+ <param group="CoordD" len="COMPSIZE(size,stride,order)">const <ptype>GLdouble</ptype> *<name>points</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapVertexAttrib1fAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>size</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>order</name></param>
+ <param group="CoordF" len="COMPSIZE(size,stride,order)">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapVertexAttrib2dAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>size</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>ustride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>vstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
+ <param group="CoordD" len="COMPSIZE(size,ustride,uorder,vstride,vorder)">const <ptype>GLdouble</ptype> *<name>points</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMapVertexAttrib2fAPPLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>size</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>u2</name></param>
+ <param><ptype>GLint</ptype> <name>ustride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>uorder</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>vstride</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>vorder</name></param>
+ <param group="CoordF" len="COMPSIZE(size,ustride,uorder,vstride,vorder)">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMaterialf</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="96"/>
+ </command>
+ <command>
+ <proto>void <name>glMaterialfv</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="97"/>
+ </command>
+ <command>
+ <proto>void <name>glMateriali</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="98"/>
+ </command>
+ <command>
+ <proto>void <name>glMaterialiv</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="99"/>
+ </command>
+ <command>
+ <proto>void <name>glMaterialx</name></proto>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMaterialxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMaterialxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMaterialxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixFrustumEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLdouble</ptype> <name>left</name></param>
+ <param><ptype>GLdouble</ptype> <name>right</name></param>
+ <param><ptype>GLdouble</ptype> <name>bottom</name></param>
+ <param><ptype>GLdouble</ptype> <name>top</name></param>
+ <param><ptype>GLdouble</ptype> <name>zNear</name></param>
+ <param><ptype>GLdouble</ptype> <name>zFar</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixIndexPointerARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="MatrixIndexPointerTypeARB"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixIndexPointerOES</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixIndexubvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLubyte</ptype> *<name>indices</name></param>
+ <glx type="render" opcode="4326"/>
+ </command>
+ <command>
+ <proto>void <name>glMatrixIndexuivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLuint</ptype> *<name>indices</name></param>
+ <glx type="render" opcode="4328"/>
+ </command>
+ <command>
+ <proto>void <name>glMatrixIndexusvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLushort</ptype> *<name>indices</name></param>
+ <glx type="render" opcode="4327"/>
+ </command>
+ <command>
+ <proto>void <name>glMatrixLoadIdentityEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixLoadTransposedEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixLoadTransposefEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixLoaddEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixLoadfEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixMode</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="179"/>
+ </command>
+ <command>
+ <proto>void <name>glMatrixMultTransposedEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixMultTransposefEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixMultdEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixMultfEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixOrthoEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLdouble</ptype> <name>left</name></param>
+ <param><ptype>GLdouble</ptype> <name>right</name></param>
+ <param><ptype>GLdouble</ptype> <name>bottom</name></param>
+ <param><ptype>GLdouble</ptype> <name>top</name></param>
+ <param><ptype>GLdouble</ptype> <name>zNear</name></param>
+ <param><ptype>GLdouble</ptype> <name>zFar</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixPopEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixPushEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixRotatedEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLdouble</ptype> <name>angle</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixRotatefEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLfloat</ptype> <name>angle</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixScaledEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixScalefEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixTranslatedEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMatrixTranslatefEXT</name></proto>
+ <param group="MatrixMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMemoryBarrier</name></proto>
+ <param><ptype>GLbitfield</ptype> <name>barriers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMemoryBarrierByRegion</name></proto>
+ <param><ptype>GLbitfield</ptype> <name>barriers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMemoryBarrierEXT</name></proto>
+ <param><ptype>GLbitfield</ptype> <name>barriers</name></param>
+ <alias name="glMemoryBarrier"/>
+ </command>
+ <command>
+ <proto>void <name>glMinSampleShading</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMinSampleShadingARB</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
+ <alias name="glMinSampleShading"/>
+ </command>
+ <command>
+ <proto>void <name>glMinSampleShadingOES</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
+ <alias name="glMinSampleShading"/>
+ </command>
+ <command>
+ <proto>void <name>glMinmax</name></proto>
+ <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
+ <glx type="render" opcode="4111"/>
+ </command>
+ <command>
+ <proto>void <name>glMinmaxEXT</name></proto>
+ <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>sink</name></param>
+ <alias name="glMinmax"/>
+ <glx type="render" opcode="4111"/>
+ </command>
+ <command>
+ <proto>void <name>glMultMatrixd</name></proto>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ <glx type="render" opcode="181"/>
+ </command>
+ <command>
+ <proto>void <name>glMultMatrixf</name></proto>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ <glx type="render" opcode="180"/>
+ </command>
+ <command>
+ <proto>void <name>glMultMatrixx</name></proto>
+ <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultMatrixxOES</name></proto>
+ <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultTransposeMatrixd</name></proto>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultTransposeMatrixdARB</name></proto>
+ <param len="16">const <ptype>GLdouble</ptype> *<name>m</name></param>
+ <alias name="glMultTransposeMatrixd"/>
+ </command>
+ <command>
+ <proto>void <name>glMultTransposeMatrixf</name></proto>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultTransposeMatrixfARB</name></proto>
+ <param len="16">const <ptype>GLfloat</ptype> *<name>m</name></param>
+ <alias name="glMultTransposeMatrixf"/>
+ </command>
+ <command>
+ <proto>void <name>glMultTransposeMatrixxOES</name></proto>
+ <param len="16">const <ptype>GLfixed</ptype> *<name>m</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawArrays</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>first</name></param>
+ <param len="COMPSIZE(drawcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawArraysEXT</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="COMPSIZE(primcount)">const <ptype>GLint</ptype> *<name>first</name></param>
+ <param len="COMPSIZE(primcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glMultiDrawArrays"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawArraysIndirect</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="COMPSIZE(drawcount,stride)">const void *<name>indirect</name></param>
+ <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawArraysIndirectAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param>const void *<name>indirect</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <alias name="glMultiDrawArraysIndirect"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawArraysIndirectBindlessNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param>const void *<name>indirect</name></param>
+ <param><ptype>GLsizei</ptype> <name>drawCount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLint</ptype> <name>vertexBufferCount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawArraysIndirectCountARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLintptr</ptype> <name>indirect</name></param>
+ <param><ptype>GLintptr</ptype> <name>drawcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxdrawcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElementArrayAPPLE</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="primcount">const <ptype>GLint</ptype> *<name>first</name></param>
+ <param len="primcount">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElements</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="COMPSIZE(drawcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(drawcount)">const void *const*<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElementsBaseVertex</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="COMPSIZE(drawcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(drawcount)">const void *const*<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+ <param len="COMPSIZE(drawcount)">const <ptype>GLint</ptype> *<name>basevertex</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElementsEXT</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param len="COMPSIZE(primcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(primcount)">const void *const*<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <alias name="glMultiDrawElements"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElementsIndirect</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(drawcount,stride)">const void *<name>indirect</name></param>
+ <param><ptype>GLsizei</ptype> <name>drawcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElementsIndirectAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param>const void *<name>indirect</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <alias name="glMultiDrawElementsIndirect"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElementsIndirectBindlessNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param>const void *<name>indirect</name></param>
+ <param><ptype>GLsizei</ptype> <name>drawCount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLint</ptype> <name>vertexBufferCount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawElementsIndirectCountARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLintptr</ptype> <name>indirect</name></param>
+ <param><ptype>GLintptr</ptype> <name>drawcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>maxdrawcount</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiDrawRangeElementArrayAPPLE</name></proto>
+ <param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
+ <param><ptype>GLuint</ptype> <name>start</name></param>
+ <param><ptype>GLuint</ptype> <name>end</name></param>
+ <param len="primcount">const <ptype>GLint</ptype> *<name>first</name></param>
+ <param len="primcount">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiModeDrawArraysIBM</name></proto>
+ <param group="PrimitiveType" len="COMPSIZE(primcount)">const <ptype>GLenum</ptype> *<name>mode</name></param>
+ <param len="COMPSIZE(primcount)">const <ptype>GLint</ptype> *<name>first</name></param>
+ <param len="COMPSIZE(primcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <param><ptype>GLint</ptype> <name>modestride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiModeDrawElementsIBM</name></proto>
+ <param group="PrimitiveType" len="COMPSIZE(primcount)">const <ptype>GLenum</ptype> *<name>mode</name></param>
+ <param len="COMPSIZE(primcount)">const <ptype>GLsizei</ptype> *<name>count</name></param>
+ <param group="DrawElementsType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(primcount)">const void *const*<name>indices</name></param>
+ <param><ptype>GLsizei</ptype> <name>primcount</name></param>
+ <param><ptype>GLint</ptype> <name>modestride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexBufferEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TypeEnum"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1bOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1bvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="1">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1d</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1dv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1dARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1dv"/>
+ <alias name="glMultiTexCoord1d"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1dv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="198"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1dvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord1dv"/>
+ <glx type="render" opcode="198"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1f</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1fv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1fARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1fv"/>
+ <alias name="glMultiTexCoord1f"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1fv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="1">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="199"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1fvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="1">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord1fv"/>
+ <glx type="render" opcode="199"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1hNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1hvNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV" len="1">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4250"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1i</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1iv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1iARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1iv"/>
+ <alias name="glMultiTexCoord1i"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1iv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="1">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="200"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1ivARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="1">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord1iv"/>
+ <glx type="render" opcode="200"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1s</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1sv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1sARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <vecequiv name="glMultiTexCoord1sv"/>
+ <alias name="glMultiTexCoord1s"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1sv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="1">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="201"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1svARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="1">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord1sv"/>
+ <glx type="render" opcode="201"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1xOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord1xvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="1">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2bOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ <param><ptype>GLbyte</ptype> <name>t</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2bvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="2">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2d</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2dARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2dv"/>
+ <alias name="glMultiTexCoord2d"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2dv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="202"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2dvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord2dv"/>
+ <glx type="render" opcode="202"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2f</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2fARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2fv"/>
+ <alias name="glMultiTexCoord2f"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2fv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="203"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2fvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord2fv"/>
+ <glx type="render" opcode="203"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2hNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2hvNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV" len="2">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4251"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2i</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2iARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2iv"/>
+ <alias name="glMultiTexCoord2i"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2iv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="204"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2ivARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord2iv"/>
+ <glx type="render" opcode="204"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2s</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2sv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2sARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <vecequiv name="glMultiTexCoord2sv"/>
+ <alias name="glMultiTexCoord2s"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2sv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="205"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2svARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord2sv"/>
+ <glx type="render" opcode="205"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2xOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord2xvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="2">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3bOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ <param><ptype>GLbyte</ptype> <name>t</name></param>
+ <param><ptype>GLbyte</ptype> <name>r</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3bvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="3">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3d</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3dARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3dv"/>
+ <alias name="glMultiTexCoord3d"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3dv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="206"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3dvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord3dv"/>
+ <glx type="render" opcode="206"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3f</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3fARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3fv"/>
+ <alias name="glMultiTexCoord3f"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3fv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="207"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3fvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord3fv"/>
+ <glx type="render" opcode="207"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3hNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>t</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3hvNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV" len="3">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4252"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3i</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3iARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3iv"/>
+ <alias name="glMultiTexCoord3i"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3iv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="208"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3ivARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord3iv"/>
+ <glx type="render" opcode="208"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3s</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3sARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>r</name></param>
+ <vecequiv name="glMultiTexCoord3sv"/>
+ <alias name="glMultiTexCoord3s"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3sv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="209"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3svARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord3sv"/>
+ <glx type="render" opcode="209"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3xOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord3xvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="3">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4bOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ <param><ptype>GLbyte</ptype> <name>t</name></param>
+ <param><ptype>GLbyte</ptype> <name>r</name></param>
+ <param><ptype>GLbyte</ptype> <name>q</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4bvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4d</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>r</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4dv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4dARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>r</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4dv"/>
+ <alias name="glMultiTexCoord4d"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4dv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="210"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4dvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordD" len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord4dv"/>
+ <glx type="render" opcode="210"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4f</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>r</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4fARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>r</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4fv"/>
+ <alias name="glMultiTexCoord4f"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4fv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="211"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4fvARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordF" len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord4fv"/>
+ <glx type="render" opcode="211"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4hNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>t</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>r</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4hvNV</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="Half16NV" len="4">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4253"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4i</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>r</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4iARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>r</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4iv"/>
+ <alias name="glMultiTexCoord4i"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4iv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="212"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4ivARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordI" len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord4iv"/>
+ <glx type="render" opcode="212"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4s</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>r</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4sv"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4sARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>r</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>q</name></param>
+ <vecequiv name="glMultiTexCoord4sv"/>
+ <alias name="glMultiTexCoord4s"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4sv</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="213"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4svARB</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CoordS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glMultiTexCoord4sv"/>
+ <glx type="render" opcode="213"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4x</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ <param><ptype>GLfixed</ptype> <name>q</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4xOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ <param><ptype>GLfixed</ptype> <name>q</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoord4xvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP1ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP1uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP2ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP2uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP3ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP3uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP4ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordP4uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexCoordPointerEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexEnvfEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <vecequiv name="glMultiTexEnvfvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexEnvfvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexEnviEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <vecequiv name="glMultiTexEnvivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexEnvivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexGendEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLdouble</ptype> <name>param</name></param>
+ <vecequiv name="glMultiTexGendvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexGendvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexGenfEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <vecequiv name="glMultiTexGenfvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexGenfvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexGeniEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <vecequiv name="glMultiTexGenivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexGenivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexImage1DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexImage2DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexImage3DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexParameterIivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexParameterIuivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexParameterfEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <vecequiv name="glMultiTexParameterfvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexParameterfvEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexParameteriEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <vecequiv name="glMultiTexParameterivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexParameterivEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexRenderbufferEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexSubImage1DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexSubImage2DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glMultiTexSubImage3DEXT</name></proto>
+ <param group="TextureUnit"><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedBufferDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="COMPSIZE(size)">const void *<name>data</name></param>
+ <param group="VertexBufferObjectUsage"><ptype>GLenum</ptype> <name>usage</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedBufferStorageEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="size">const void *<name>data</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedBufferSubDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <param len="COMPSIZE(size)">const void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedCopyBufferSubDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>readBuffer</name></param>
+ <param><ptype>GLuint</ptype> <name>writeBuffer</name></param>
+ <param><ptype>GLintptr</ptype> <name>readOffset</name></param>
+ <param><ptype>GLintptr</ptype> <name>writeOffset</name></param>
+ <param><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferParameteriEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferRenderbufferEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>renderbuffertarget</name></param>
+ <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferTexture1DEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferTexture2DEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferTexture3DEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>textarget</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferTextureEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferTextureFaceEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>face</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedFramebufferTextureLayerEXT</name></proto>
+ <param group="Framebuffer"><ptype>GLuint</ptype> <name>framebuffer</name></param>
+ <param group="FramebufferAttachment"><ptype>GLenum</ptype> <name>attachment</name></param>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>layer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameter4dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glNamedProgramLocalParameter4dvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameter4dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameter4fEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glNamedProgramLocalParameter4fvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameter4fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameterI4iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <param><ptype>GLint</ptype> <name>w</name></param>
+ <vecequiv name="glNamedProgramLocalParameterI4ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameterI4ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameterI4uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>z</name></param>
+ <param><ptype>GLuint</ptype> <name>w</name></param>
+ <vecequiv name="glNamedProgramLocalParameterI4uivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameterI4uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParameters4fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParametersI4ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramLocalParametersI4uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedProgramStringEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ProgramFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="len">const void *<name>string</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedRenderbufferStorageEXT</name></proto>
+ <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedRenderbufferStorageMultisampleCoverageEXT</name></proto>
+ <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
+ <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedRenderbufferStorageMultisampleEXT</name></proto>
+ <param group="Renderbuffer"><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNamedStringARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>namelen</name></param>
+ <param len="namelen">const <ptype>GLchar</ptype> *<name>name</name></param>
+ <param><ptype>GLint</ptype> <name>stringlen</name></param>
+ <param len="stringlen">const <ptype>GLchar</ptype> *<name>string</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNewList</name></proto>
+ <param group="List"><ptype>GLuint</ptype> <name>list</name></param>
+ <param group="ListMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="single" opcode="101"/>
+ </command>
+ <command>
+ <proto><ptype>GLuint</ptype> <name>glNewObjectBufferATI</name></proto>
+ <param><ptype>GLsizei</ptype> <name>size</name></param>
+ <param len="size">const void *<name>pointer</name></param>
+ <param group="ArrayObjectUsageATI"><ptype>GLenum</ptype> <name>usage</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormal3b</name></proto>
+ <param><ptype>GLbyte</ptype> <name>nx</name></param>
+ <param><ptype>GLbyte</ptype> <name>ny</name></param>
+ <param><ptype>GLbyte</ptype> <name>nz</name></param>
+ <vecequiv name="glNormal3bv"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3bv</name></proto>
+ <param len="3">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="28"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>nx</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>ny</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>nz</name></param>
+ <vecequiv name="glNormal3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3dv</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="29"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>nz</name></param>
+ <vecequiv name="glNormal3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3fVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormal3fVertex3fvSUN</name></proto>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormal3fv</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="30"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>nx</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>ny</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>nz</name></param>
+ <vecequiv name="glNormal3hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3hvNV</name></proto>
+ <param group="Half16NV" len="3">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4243"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3i</name></proto>
+ <param><ptype>GLint</ptype> <name>nx</name></param>
+ <param><ptype>GLint</ptype> <name>ny</name></param>
+ <param><ptype>GLint</ptype> <name>nz</name></param>
+ <vecequiv name="glNormal3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3iv</name></proto>
+ <param len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="31"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3s</name></proto>
+ <param><ptype>GLshort</ptype> <name>nx</name></param>
+ <param><ptype>GLshort</ptype> <name>ny</name></param>
+ <param><ptype>GLshort</ptype> <name>nz</name></param>
+ <vecequiv name="glNormal3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3sv</name></proto>
+ <param len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="32"/>
+ </command>
+ <command>
+ <proto>void <name>glNormal3x</name></proto>
+ <param><ptype>GLfixed</ptype> <name>nx</name></param>
+ <param><ptype>GLfixed</ptype> <name>ny</name></param>
+ <param><ptype>GLfixed</ptype> <name>nz</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormal3xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>nx</name></param>
+ <param><ptype>GLfixed</ptype> <name>ny</name></param>
+ <param><ptype>GLfixed</ptype> <name>nz</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormal3xvOES</name></proto>
+ <param len="3">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalFormatNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalP3ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalP3uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalPointer</name></proto>
+ <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalPointerEXT</name></proto>
+ <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(type,stride,count)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalPointerListIBM</name></proto>
+ <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalPointervINTEL</name></proto>
+ <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="4">const void **<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3bATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLbyte</ptype> <name>nx</name></param>
+ <param><ptype>GLbyte</ptype> <name>ny</name></param>
+ <param><ptype>GLbyte</ptype> <name>nz</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3bvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3dATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLdouble</ptype> <name>nx</name></param>
+ <param><ptype>GLdouble</ptype> <name>ny</name></param>
+ <param><ptype>GLdouble</ptype> <name>nz</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3dvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3fATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3fvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3iATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLint</ptype> <name>nx</name></param>
+ <param><ptype>GLint</ptype> <name>ny</name></param>
+ <param><ptype>GLint</ptype> <name>nz</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3ivATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3sATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLshort</ptype> <name>nx</name></param>
+ <param><ptype>GLshort</ptype> <name>ny</name></param>
+ <param><ptype>GLshort</ptype> <name>nz</name></param>
+ </command>
+ <command>
+ <proto>void <name>glNormalStream3svATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLshort</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glObjectLabel</name></proto>
+ <param><ptype>GLenum</ptype> <name>identifier</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="COMPSIZE(label,length)">const <ptype>GLchar</ptype> *<name>label</name></param>
+ </command>
+ <command>
+ <proto>void <name>glObjectLabelKHR</name></proto>
+ <param><ptype>GLenum</ptype> <name>identifier</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>label</name></param>
+ <alias name="glObjectLabel"/>
+ </command>
+ <command>
+ <proto>void <name>glObjectPtrLabel</name></proto>
+ <param>const void *<name>ptr</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="COMPSIZE(label,length)">const <ptype>GLchar</ptype> *<name>label</name></param>
+ </command>
+ <command>
+ <proto>void <name>glObjectPtrLabelKHR</name></proto>
+ <param>const void *<name>ptr</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>label</name></param>
+ <alias name="glObjectPtrLabel"/>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glObjectPurgeableAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>objectType</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLenum</ptype> <name>option</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glObjectUnpurgeableAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>objectType</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLenum</ptype> <name>option</name></param>
+ </command>
+ <command>
+ <proto>void <name>glOrtho</name></proto>
+ <param><ptype>GLdouble</ptype> <name>left</name></param>
+ <param><ptype>GLdouble</ptype> <name>right</name></param>
+ <param><ptype>GLdouble</ptype> <name>bottom</name></param>
+ <param><ptype>GLdouble</ptype> <name>top</name></param>
+ <param><ptype>GLdouble</ptype> <name>zNear</name></param>
+ <param><ptype>GLdouble</ptype> <name>zFar</name></param>
+ <glx type="render" opcode="182"/>
+ </command>
+ <command>
+ <proto>void <name>glOrthof</name></proto>
+ <param><ptype>GLfloat</ptype> <name>l</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>n</name></param>
+ <param><ptype>GLfloat</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glOrthofOES</name></proto>
+ <param><ptype>GLfloat</ptype> <name>l</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>n</name></param>
+ <param><ptype>GLfloat</ptype> <name>f</name></param>
+ <glx type="render" opcode="4311"/>
+ </command>
+ <command>
+ <proto>void <name>glOrthox</name></proto>
+ <param><ptype>GLfixed</ptype> <name>l</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ <param><ptype>GLfixed</ptype> <name>b</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>n</name></param>
+ <param><ptype>GLfixed</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glOrthoxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>l</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ <param><ptype>GLfixed</ptype> <name>b</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>n</name></param>
+ <param><ptype>GLfixed</ptype> <name>f</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPNTrianglesfATI</name></proto>
+ <param group="PNTrianglesPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPNTrianglesiATI</name></proto>
+ <param group="PNTrianglesPNameATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPassTexCoordATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>coord</name></param>
+ <param group="SwizzleOpATI"><ptype>GLenum</ptype> <name>swizzle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPassThrough</name></proto>
+ <param group="FeedbackElement"><ptype>GLfloat</ptype> <name>token</name></param>
+ <glx type="render" opcode="123"/>
+ </command>
+ <command>
+ <proto>void <name>glPassThroughxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>token</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPatchParameterfv</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPatchParameteri</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPatchParameteriEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ <alias name="glPatchParameteri"/>
+ </command>
+ <command>
+ <proto>void <name>glPathColorGenNV</name></proto>
+ <param group="PathColor"><ptype>GLenum</ptype> <name>color</name></param>
+ <param group="PathGenMode"><ptype>GLenum</ptype> <name>genMode</name></param>
+ <param group="PathColorFormat"><ptype>GLenum</ptype> <name>colorFormat</name></param>
+ <param len="COMPSIZE(genMode,colorFormat)">const <ptype>GLfloat</ptype> *<name>coeffs</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathCommandsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>numCommands</name></param>
+ <param group="PathCommand" len="numCommands">const <ptype>GLubyte</ptype> *<name>commands</name></param>
+ <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
+ <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
+ <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathCoordsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
+ <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
+ <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathCoverDepthFuncNV</name></proto>
+ <param group="DepthFunction"><ptype>GLenum</ptype> <name>func</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathDashArrayNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>dashCount</name></param>
+ <param len="dashCount">const <ptype>GLfloat</ptype> *<name>dashArray</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathFogGenNV</name></proto>
+ <param group="PathGenMode"><ptype>GLenum</ptype> <name>genMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathGlyphRangeNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>firstPathName</name></param>
+ <param group="PathFontTarget"><ptype>GLenum</ptype> <name>fontTarget</name></param>
+ <param len="COMPSIZE(fontTarget,fontName)">const void *<name>fontName</name></param>
+ <param group="PathFontStyle"><ptype>GLbitfield</ptype> <name>fontStyle</name></param>
+ <param><ptype>GLuint</ptype> <name>firstGlyph</name></param>
+ <param><ptype>GLsizei</ptype> <name>numGlyphs</name></param>
+ <param group="PathHandleMissingGlyphs"><ptype>GLenum</ptype> <name>handleMissingGlyphs</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathParameterTemplate</name></param>
+ <param><ptype>GLfloat</ptype> <name>emScale</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathGlyphsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>firstPathName</name></param>
+ <param group="PathFontTarget"><ptype>GLenum</ptype> <name>fontTarget</name></param>
+ <param len="COMPSIZE(fontTarget,fontName)">const void *<name>fontName</name></param>
+ <param group="PathFontStyle"><ptype>GLbitfield</ptype> <name>fontStyle</name></param>
+ <param><ptype>GLsizei</ptype> <name>numGlyphs</name></param>
+ <param group="PathElementType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(numGlyphs,type,charcodes)">const void *<name>charcodes</name></param>
+ <param group="PathHandleMissingGlyphs"><ptype>GLenum</ptype> <name>handleMissingGlyphs</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathParameterTemplate</name></param>
+ <param><ptype>GLfloat</ptype> <name>emScale</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathParameterfNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathParameterfvNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathParameteriNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathParameterivNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathStencilDepthOffsetNV</name></proto>
+ <param><ptype>GLfloat</ptype> <name>factor</name></param>
+ <param><ptype>GLfloat</ptype> <name>units</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathStencilFuncNV</name></proto>
+ <param group="StencilFunction"><ptype>GLenum</ptype> <name>func</name></param>
+ <param group="ClampedStencilValue"><ptype>GLint</ptype> <name>ref</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathStringNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathStringFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="length">const void *<name>pathString</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathSubCommandsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>commandStart</name></param>
+ <param><ptype>GLsizei</ptype> <name>commandsToDelete</name></param>
+ <param><ptype>GLsizei</ptype> <name>numCommands</name></param>
+ <param group="PathCommand" len="numCommands">const <ptype>GLubyte</ptype> *<name>commands</name></param>
+ <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
+ <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
+ <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathSubCoordsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>coordStart</name></param>
+ <param><ptype>GLsizei</ptype> <name>numCoords</name></param>
+ <param group="PathCoordType"><ptype>GLenum</ptype> <name>coordType</name></param>
+ <param len="COMPSIZE(numCoords,coordType)">const void *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPathTexGenNV</name></proto>
+ <param group="PathColor"><ptype>GLenum</ptype> <name>texCoordSet</name></param>
+ <param group="PathGenMode"><ptype>GLenum</ptype> <name>genMode</name></param>
+ <param><ptype>GLint</ptype> <name>components</name></param>
+ <param len="COMPSIZE(genMode,components)">const <ptype>GLfloat</ptype> *<name>coeffs</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPauseTransformFeedback</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glPauseTransformFeedbackNV</name></proto>
+ <alias name="glPauseTransformFeedback"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelDataRangeNV</name></proto>
+ <param group="PixelDataRangeTargetNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="length">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelMapfv</name></proto>
+ <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+ <param group="CheckedInt32"><ptype>GLsizei</ptype> <name>mapsize</name></param>
+ <param len="mapsize">const <ptype>GLfloat</ptype> *<name>values</name></param>
+ <glx type="render" opcode="168"/>
+ <glx type="render" opcode="323" name="glPixelMapfvPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelMapuiv</name></proto>
+ <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+ <param group="CheckedInt32"><ptype>GLsizei</ptype> <name>mapsize</name></param>
+ <param len="mapsize">const <ptype>GLuint</ptype> *<name>values</name></param>
+ <glx type="render" opcode="169"/>
+ <glx type="render" opcode="324" name="glPixelMapuivPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelMapusv</name></proto>
+ <param group="PixelMap"><ptype>GLenum</ptype> <name>map</name></param>
+ <param group="CheckedInt32"><ptype>GLsizei</ptype> <name>mapsize</name></param>
+ <param len="mapsize">const <ptype>GLushort</ptype> *<name>values</name></param>
+ <glx type="render" opcode="170"/>
+ <glx type="render" opcode="325" name="glPixelMapusvPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelMapx</name></proto>
+ <param><ptype>GLenum</ptype> <name>map</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLfixed</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelStoref</name></proto>
+ <param group="PixelStoreParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="single" opcode="109"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelStorei</name></proto>
+ <param group="PixelStoreParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="single" opcode="110"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelStorex</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelTexGenParameterfSGIS</name></proto>
+ <param group="PixelTexGenParameterNameSGIS"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelTexGenParameterfvSGIS</name></proto>
+ <param group="PixelTexGenParameterNameSGIS"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelTexGenParameteriSGIS</name></proto>
+ <param group="PixelTexGenParameterNameSGIS"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelTexGenParameterivSGIS</name></proto>
+ <param group="PixelTexGenParameterNameSGIS"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelTexGenSGIX</name></proto>
+ <param group="PixelTexGenModeSGIX"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="2059"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelTransferf</name></proto>
+ <param group="PixelTransferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="166"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelTransferi</name></proto>
+ <param group="PixelTransferParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="167"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelTransferxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelTransformParameterfEXT</name></proto>
+ <param group="PixelTransformTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelTransformPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="16385"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelTransformParameterfvEXT</name></proto>
+ <param group="PixelTransformTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelTransformPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelTransformParameteriEXT</name></proto>
+ <param group="PixelTransformTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelTransformPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="16386"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelTransformParameterivEXT</name></proto>
+ <param group="PixelTransformTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelTransformPNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="1">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPixelZoom</name></proto>
+ <param><ptype>GLfloat</ptype> <name>xfactor</name></param>
+ <param><ptype>GLfloat</ptype> <name>yfactor</name></param>
+ <glx type="render" opcode="165"/>
+ </command>
+ <command>
+ <proto>void <name>glPixelZoomxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>xfactor</name></param>
+ <param><ptype>GLfixed</ptype> <name>yfactor</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glPointAlongPathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param><ptype>GLsizei</ptype> <name>startSegment</name></param>
+ <param><ptype>GLsizei</ptype> <name>numSegments</name></param>
+ <param><ptype>GLfloat</ptype> <name>distance</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>x</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>y</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>tangentX</name></param>
+ <param len="1"><ptype>GLfloat</ptype> *<name>tangentY</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterf</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="2065"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterfARB</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <alias name="glPointParameterf"/>
+ <glx type="render" opcode="2065"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterfEXT</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <alias name="glPointParameterf"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterfSGIS</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <alias name="glPointParameterf"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterfv</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="2066"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterfvARB</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glPointParameterfv"/>
+ <glx type="render" opcode="2066"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterfvEXT</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glPointParameterfv"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterfvSGIS</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <alias name="glPointParameterfv"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameteri</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="4221"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameteriNV</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ <alias name="glPointParameteri"/>
+ <glx type="render" opcode="4221"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameteriv</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4222"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterivNV</name></proto>
+ <param group="PointParameterNameARB"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glPointParameteriv"/>
+ <glx type="render" opcode="4222"/>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterx</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPointParameterxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPointSize</name></proto>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>size</name></param>
+ <glx type="render" opcode="100"/>
+ </command>
+ <command>
+ <proto>void <name>glPointSizePointerOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPointSizex</name></proto>
+ <param><ptype>GLfixed</ptype> <name>size</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPointSizexOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>size</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glPollAsyncSGIX</name></proto>
+ <param len="1"><ptype>GLuint</ptype> *<name>markerp</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glPollInstrumentsSGIX</name></proto>
+ <param len="1"><ptype>GLint</ptype> *<name>marker_p</name></param>
+ <glx type="vendor" opcode="4104"/>
+ </command>
+ <command>
+ <proto>void <name>glPolygonMode</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="PolygonMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="101"/>
+ </command>
+ <command>
+ <proto>void <name>glPolygonOffset</name></proto>
+ <param><ptype>GLfloat</ptype> <name>factor</name></param>
+ <param><ptype>GLfloat</ptype> <name>units</name></param>
+ <glx type="render" opcode="192"/>
+ </command>
+ <command>
+ <proto>void <name>glPolygonOffsetEXT</name></proto>
+ <param><ptype>GLfloat</ptype> <name>factor</name></param>
+ <param><ptype>GLfloat</ptype> <name>bias</name></param>
+ <glx type="render" opcode="4098"/>
+ </command>
+ <command>
+ <proto>void <name>glPolygonOffsetx</name></proto>
+ <param><ptype>GLfixed</ptype> <name>factor</name></param>
+ <param><ptype>GLfixed</ptype> <name>units</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPolygonOffsetxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>factor</name></param>
+ <param><ptype>GLfixed</ptype> <name>units</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPolygonStipple</name></proto>
+ <param len="COMPSIZE()">const <ptype>GLubyte</ptype> *<name>mask</name></param>
+ <glx type="render" opcode="102"/>
+ <glx type="render" opcode="326" name="glPolygonStipplePBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glPopAttrib</name></proto>
+ <glx type="render" opcode="141"/>
+ </command>
+ <command>
+ <proto>void <name>glPopClientAttrib</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glPopDebugGroup</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glPopDebugGroupKHR</name></proto>
+ <alias name="glPopDebugGroup"/>
+ </command>
+ <command>
+ <proto>void <name>glPopGroupMarkerEXT</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glPopMatrix</name></proto>
+ <glx type="render" opcode="183"/>
+ </command>
+ <command>
+ <proto>void <name>glPopName</name></proto>
+ <glx type="render" opcode="124"/>
+ </command>
+ <command>
+ <proto>void <name>glPresentFrameDualFillNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_slot</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>minPresentTime</name></param>
+ <param><ptype>GLuint</ptype> <name>beginPresentTimeId</name></param>
+ <param><ptype>GLuint</ptype> <name>presentDurationId</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLenum</ptype> <name>target0</name></param>
+ <param><ptype>GLuint</ptype> <name>fill0</name></param>
+ <param><ptype>GLenum</ptype> <name>target1</name></param>
+ <param><ptype>GLuint</ptype> <name>fill1</name></param>
+ <param><ptype>GLenum</ptype> <name>target2</name></param>
+ <param><ptype>GLuint</ptype> <name>fill2</name></param>
+ <param><ptype>GLenum</ptype> <name>target3</name></param>
+ <param><ptype>GLuint</ptype> <name>fill3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPresentFrameKeyedNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_slot</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>minPresentTime</name></param>
+ <param><ptype>GLuint</ptype> <name>beginPresentTimeId</name></param>
+ <param><ptype>GLuint</ptype> <name>presentDurationId</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLenum</ptype> <name>target0</name></param>
+ <param><ptype>GLuint</ptype> <name>fill0</name></param>
+ <param><ptype>GLuint</ptype> <name>key0</name></param>
+ <param><ptype>GLenum</ptype> <name>target1</name></param>
+ <param><ptype>GLuint</ptype> <name>fill1</name></param>
+ <param><ptype>GLuint</ptype> <name>key1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPrimitiveRestartIndex</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPrimitiveRestartIndexNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPrimitiveRestartNV</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glPrioritizeTextures</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ <param len="n">const <ptype>GLfloat</ptype> *<name>priorities</name></param>
+ <glx type="render" opcode="4118"/>
+ </command>
+ <command>
+ <proto>void <name>glPrimitiveBoundingBoxEXT</name></proto>
+ <param><ptype>GLfloat</ptype> <name>minX</name></param>
+ <param><ptype>GLfloat</ptype> <name>minY</name></param>
+ <param><ptype>GLfloat</ptype> <name>minZ</name></param>
+ <param><ptype>GLfloat</ptype> <name>minW</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxX</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxY</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxZ</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxW</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPrioritizeTexturesEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ <param group="ClampedFloat32" len="n">const <ptype>GLclampf</ptype> *<name>priorities</name></param>
+ <alias name="glPrioritizeTextures"/>
+ <glx type="render" opcode="4118"/>
+ </command>
+ <command>
+ <proto>void <name>glPrioritizeTexturesxOES</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
+ <param group="ClampedFixed" len="n">const <ptype>GLfixed</ptype> *<name>priorities</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramBinary</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>binaryFormat</name></param>
+ <param len="length">const void *<name>binary</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramBinaryOES</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLenum</ptype> <name>binaryFormat</name></param>
+ <param len="length">const void *<name>binary</name></param>
+ <param><ptype>GLint</ptype> <name>length</name></param>
+ <alias name="glProgramBinary"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramBufferParametersIivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>bindingIndex</name></param>
+ <param><ptype>GLuint</ptype> <name>wordIndex</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramBufferParametersIuivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>bindingIndex</name></param>
+ <param><ptype>GLuint</ptype> <name>wordIndex</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramBufferParametersfvNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>bindingIndex</name></param>
+ <param><ptype>GLuint</ptype> <name>wordIndex</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameter4dARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glProgramEnvParameter4dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameter4dvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameter4fARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glProgramEnvParameter4fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameter4fvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameterI4iNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <param><ptype>GLint</ptype> <name>w</name></param>
+ <vecequiv name="glProgramEnvParameterI4ivNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameterI4ivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameterI4uiNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>z</name></param>
+ <param><ptype>GLuint</ptype> <name>w</name></param>
+ <vecequiv name="glProgramEnvParameterI4uivNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameterI4uivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParameters4fvEXT</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4281"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParametersI4ivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramEnvParametersI4uivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameter4dARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glProgramLocalParameter4dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameter4dvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameter4fARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glProgramLocalParameter4fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameter4fvARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameterI4iNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <param><ptype>GLint</ptype> <name>w</name></param>
+ <vecequiv name="glProgramLocalParameterI4ivNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameterI4ivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameterI4uiNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>z</name></param>
+ <param><ptype>GLuint</ptype> <name>w</name></param>
+ <vecequiv name="glProgramLocalParameterI4uivNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameterI4uivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParameters4fvEXT</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="4282"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParametersI4ivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramLocalParametersI4uivNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramNamedParameter4dNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glProgramNamedParameter4dvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramNamedParameter4dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4219"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramNamedParameter4fNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glProgramNamedParameter4fvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramNamedParameter4fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="1">const <ptype>GLubyte</ptype> *<name>name</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4218"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameter4dNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glProgramParameter4dvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameter4dvNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4185"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameter4fNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glProgramParameter4fvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameter4fvNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4184"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameteri</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameteriARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ <alias name="glProgramParameteri"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameteriEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param group="ProgramParameterPName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ <alias name="glProgramParameteri"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameters4dvNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4187"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramParameters4fvNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4186"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramStringARB</name></proto>
+ <param group="ProgramTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="ProgramFormatARB"><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="len">const void *<name>string</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramSubroutineParametersuivNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1d</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>v0</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="1">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1f</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1fEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <alias name="glProgramUniform1f"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="1">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform1fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1i</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <alias name="glProgramUniform1i"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="1">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform1iv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <alias name="glProgramUniform1ui"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform1uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform1uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2d</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>v0</name></param>
+ <param><ptype>GLdouble</ptype> <name>v1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2f</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2fEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <alias name="glProgramUniform2f"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2i</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <alias name="glProgramUniform2i"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="2">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <alias name="glProgramUniform2ui"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="2">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform2uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform2uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3d</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>v0</name></param>
+ <param><ptype>GLdouble</ptype> <name>v1</name></param>
+ <param><ptype>GLdouble</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3f</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3fEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ <alias name="glProgramUniform3f"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3i</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ <alias name="glProgramUniform3i"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="3">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ <alias name="glProgramUniform3ui"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="3">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform3uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform3uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4d</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>v0</name></param>
+ <param><ptype>GLdouble</ptype> <name>v1</name></param>
+ <param><ptype>GLdouble</ptype> <name>v2</name></param>
+ <param><ptype>GLdouble</ptype> <name>v3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4f</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ <param><ptype>GLfloat</ptype> <name>v3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4fEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ <param><ptype>GLfloat</ptype> <name>v3</name></param>
+ <alias name="glProgramUniform4f"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4i</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>v3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>z</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>v3</name></param>
+ <alias name="glProgramUniform4i"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ <param><ptype>GLuint</ptype> <name>v3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ <param><ptype>GLuint</ptype> <name>v3</name></param>
+ <alias name="glProgramUniform4ui"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniform4uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glProgramUniform4uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformHandleui64ARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformHandleui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformHandleui64vARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint64</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformHandleui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint64</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x3dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x3dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x3fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x3fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix2x3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x4dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x4dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x4fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix2x4fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix2x4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x2dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x2dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x2fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x2fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix3x2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x4dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x4dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x4fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix3x4fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix3x4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x2dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x2dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x2fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x2fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix4x2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x3dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x3dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x3fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformMatrix4x3fvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glProgramUniformMatrix4x3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramUniformui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProgramVertexLimitNV</name></proto>
+ <param group="ProgramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>limit</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProvokingVertex</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glProvokingVertexEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <alias name="glProvokingVertex"/>
+ </command>
+ <command>
+ <proto>void <name>glPushAttrib</name></proto>
+ <param group="AttribMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <glx type="render" opcode="142"/>
+ </command>
+ <command>
+ <proto>void <name>glPushClientAttrib</name></proto>
+ <param group="ClientAttribMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPushClientAttribDefaultEXT</name></proto>
+ <param group="ClientAttribMask"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPushDebugGroup</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="COMPSIZE(message,length)">const <ptype>GLchar</ptype> *<name>message</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPushDebugGroupKHR</name></proto>
+ <param><ptype>GLenum</ptype> <name>source</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>message</name></param>
+ <alias name="glPushDebugGroup"/>
+ </command>
+ <command>
+ <proto>void <name>glPushGroupMarkerEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param>const <ptype>GLchar</ptype> *<name>marker</name></param>
+ </command>
+ <command>
+ <proto>void <name>glPushMatrix</name></proto>
+ <glx type="render" opcode="184"/>
+ </command>
+ <command>
+ <proto>void <name>glPushName</name></proto>
+ <param group="SelectName"><ptype>GLuint</ptype> <name>name</name></param>
+ <glx type="render" opcode="125"/>
+ </command>
+ <command>
+ <proto>void <name>glQueryCounter</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto>void <name>glQueryCounterEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glQueryCounter"/>
+ </command>
+ <command>
+ <proto><ptype>GLbitfield</ptype> <name>glQueryMatrixxOES</name></proto>
+ <param len="16"><ptype>GLfixed</ptype> *<name>mantissa</name></param>
+ <param len="16"><ptype>GLint</ptype> *<name>exponent</name></param>
+ </command>
+ <command>
+ <proto>void <name>glQueryObjectParameteruiAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="OcclusionQueryEventMaskAMD"><ptype>GLuint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <vecequiv name="glRasterPos2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2dv</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="33"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <vecequiv name="glRasterPos2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2fv</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="34"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <vecequiv name="glRasterPos2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2iv</name></proto>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="35"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <vecequiv name="glRasterPos2sv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2sv</name></proto>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="36"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos2xvOES</name></proto>
+ <param len="2">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <vecequiv name="glRasterPos3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3dv</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="37"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <vecequiv name="glRasterPos3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3fv</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="38"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <vecequiv name="glRasterPos3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3iv</name></proto>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="39"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <vecequiv name="glRasterPos3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3sv</name></proto>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="40"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos3xvOES</name></proto>
+ <param len="3">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glRasterPos4dv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4dv</name></proto>
+ <param group="CoordD" len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="41"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glRasterPos4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4fv</name></proto>
+ <param group="CoordF" len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="42"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>w</name></param>
+ <vecequiv name="glRasterPos4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4iv</name></proto>
+ <param group="CoordI" len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="43"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>w</name></param>
+ <vecequiv name="glRasterPos4sv"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4sv</name></proto>
+ <param group="CoordS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="44"/>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ <param><ptype>GLfixed</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRasterPos4xvOES</name></proto>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReadBuffer</name></proto>
+ <param group="ReadBufferMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="171"/>
+ </command>
+ <command>
+ <proto>void <name>glReadBufferIndexedEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>src</name></param>
+ <param><ptype>GLint</ptype> <name>index</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReadBufferNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReadInstrumentsSGIX</name></proto>
+ <param><ptype>GLint</ptype> <name>marker</name></param>
+ <glx type="render" opcode="2077"/>
+ </command>
+ <command>
+ <proto>void <name>glReadPixels</name></proto>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">void *<name>pixels</name></param>
+ <glx type="single" opcode="111"/>
+ <glx type="render" opcode="345" name="glReadPixelsPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glReadnPixelsARB</name></proto>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReadnPixelsEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param len="bufSize">void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRectd</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y1</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x2</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y2</name></param>
+ <vecequiv name="glRectdv"/>
+ </command>
+ <command>
+ <proto>void <name>glRectdv</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v1</name></param>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v2</name></param>
+ <glx type="render" opcode="45"/>
+ </command>
+ <command>
+ <proto>void <name>glRectf</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y1</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x2</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y2</name></param>
+ <vecequiv name="glRectfv"/>
+ </command>
+ <command>
+ <proto>void <name>glRectfv</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v1</name></param>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v2</name></param>
+ <glx type="render" opcode="46"/>
+ </command>
+ <command>
+ <proto>void <name>glRecti</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x1</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y1</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x2</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y2</name></param>
+ <vecequiv name="glRectiv"/>
+ </command>
+ <command>
+ <proto>void <name>glRectiv</name></proto>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v1</name></param>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v2</name></param>
+ <glx type="render" opcode="47"/>
+ </command>
+ <command>
+ <proto>void <name>glRects</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x1</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y1</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x2</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y2</name></param>
+ <vecequiv name="glRectsv"/>
+ </command>
+ <command>
+ <proto>void <name>glRectsv</name></proto>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v1</name></param>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v2</name></param>
+ <glx type="render" opcode="48"/>
+ </command>
+ <command>
+ <proto>void <name>glRectxOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x1</name></param>
+ <param><ptype>GLfixed</ptype> <name>y1</name></param>
+ <param><ptype>GLfixed</ptype> <name>x2</name></param>
+ <param><ptype>GLfixed</ptype> <name>y2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRectxvOES</name></proto>
+ <param len="2">const <ptype>GLfixed</ptype> *<name>v1</name></param>
+ <param len="2">const <ptype>GLfixed</ptype> *<name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReferencePlaneSGIX</name></proto>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>equation</name></param>
+ <glx type="render" opcode="2071"/>
+ </command>
+ <command>
+ <proto>void <name>glReleaseShaderCompiler</name></proto>
+ </command>
+ <command>
+ <proto><ptype>GLint</ptype> <name>glRenderMode</name></proto>
+ <param group="RenderingMode"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="single" opcode="107"/>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorage</name></proto>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <glx type="render" opcode="4318"/>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageEXT</name></proto>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glRenderbufferStorage"/>
+ <glx type="render" opcode="4318"/>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageMultisample</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <glx type="render" opcode="4331"/>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageMultisampleANGLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageMultisampleAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageMultisampleCoverageNV</name></proto>
+ <param group="RenderbufferTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
+ <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageMultisampleEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glRenderbufferStorageMultisample"/>
+ <glx type="render" opcode="4331"/>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageMultisampleIMG</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageMultisampleNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glRenderbufferStorageMultisample"/>
+ </command>
+ <command>
+ <proto>void <name>glRenderbufferStorageOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodePointerSUN</name></proto>
+ <param group="ReplacementCodeTypeSUN"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void **<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeubSUN</name></proto>
+ <param><ptype>GLubyte</ptype> <name>code</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeubvSUN</name></proto>
+ <param len="COMPSIZE()">const <ptype>GLubyte</ptype> *<name>code</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiColor3fVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiColor3fVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiColor4fNormal3fVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiColor4fNormal3fVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiColor4ubVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLubyte</ptype> <name>r</name></param>
+ <param><ptype>GLubyte</ptype> <name>g</name></param>
+ <param><ptype>GLubyte</ptype> <name>b</name></param>
+ <param><ptype>GLubyte</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiColor4ubVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiNormal3fVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiNormal3fVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiSUN</name></proto>
+ <param><ptype>GLuint</ptype> <name>code</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiTexCoord2fVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiTexCoord2fVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiVertex3fSUN</name></proto>
+ <param group="ReplacementCodeSUN"><ptype>GLuint</ptype> <name>rc</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuiVertex3fvSUN</name></proto>
+ <param group="ReplacementCodeSUN" len="1">const <ptype>GLuint</ptype> *<name>rc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeuivSUN</name></proto>
+ <param len="COMPSIZE()">const <ptype>GLuint</ptype> *<name>code</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeusSUN</name></proto>
+ <param><ptype>GLushort</ptype> <name>code</name></param>
+ </command>
+ <command>
+ <proto>void <name>glReplacementCodeusvSUN</name></proto>
+ <param len="COMPSIZE()">const <ptype>GLushort</ptype> *<name>code</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRequestResidentProgramsNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLuint</ptype> *<name>programs</name></param>
+ <glx type="render" opcode="4182"/>
+ </command>
+ <command>
+ <proto>void <name>glResetHistogram</name></proto>
+ <param group="HistogramTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <glx type="render" opcode="4112"/>
+ </command>
+ <command>
+ <proto>void <name>glResetHistogramEXT</name></proto>
+ <param group="HistogramTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glResetHistogram"/>
+ <glx type="render" opcode="4112"/>
+ </command>
+ <command>
+ <proto>void <name>glResetMinmax</name></proto>
+ <param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <glx type="render" opcode="4113"/>
+ </command>
+ <command>
+ <proto>void <name>glResetMinmaxEXT</name></proto>
+ <param group="MinmaxTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glResetMinmax"/>
+ <glx type="render" opcode="4113"/>
+ </command>
+ <command>
+ <proto>void <name>glResizeBuffersMESA</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glResolveMultisampleFramebufferAPPLE</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glResumeTransformFeedback</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glResumeTransformFeedbackNV</name></proto>
+ <alias name="glResumeTransformFeedback"/>
+ </command>
+ <command>
+ <proto>void <name>glRotated</name></proto>
+ <param><ptype>GLdouble</ptype> <name>angle</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <glx type="render" opcode="185"/>
+ </command>
+ <command>
+ <proto>void <name>glRotatef</name></proto>
+ <param><ptype>GLfloat</ptype> <name>angle</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <glx type="render" opcode="186"/>
+ </command>
+ <command>
+ <proto>void <name>glRotatex</name></proto>
+ <param><ptype>GLfixed</ptype> <name>angle</name></param>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glRotatexOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>angle</name></param>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSampleCoverage</name></proto>
+ <param><ptype>GLfloat</ptype> <name>value</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
+ <glx type="render" opcode="229"/>
+ </command>
+ <command>
+ <proto>void <name>glSampleCoverageARB</name></proto>
+ <param><ptype>GLfloat</ptype> <name>value</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
+ <alias name="glSampleCoverage"/>
+ </command>
+ <command>
+ <proto>void <name>glSampleCoverageOES</name></proto>
+ <param group="ClampedFixed"><ptype>GLfixed</ptype> <name>value</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSampleCoveragex</name></proto>
+ <param><ptype>GLclampx</ptype> <name>value</name></param>
+ <param><ptype>GLboolean</ptype> <name>invert</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSampleCoveragexOES</name></proto>
+ <param><ptype>GLclampx</ptype> <name>value</name></param>
+ <param><ptype>GLboolean</ptype> <name>invert</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSampleMapATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param><ptype>GLuint</ptype> <name>interp</name></param>
+ <param group="SwizzleOpATI"><ptype>GLenum</ptype> <name>swizzle</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSampleMaskEXT</name></proto>
+ <param group="ClampedFloat32"><ptype>GLclampf</ptype> <name>value</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSampleMaskIndexedNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="SampleMaskNV"><ptype>GLbitfield</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSampleMaskSGIS</name></proto>
+ <param group="ClampedFloat32"><ptype>GLclampf</ptype> <name>value</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>invert</name></param>
+ <alias name="glSampleMaskEXT"/>
+ <glx type="render" opcode="2048"/>
+ </command>
+ <command>
+ <proto>void <name>glSampleMaski</name></proto>
+ <param><ptype>GLuint</ptype> <name>maskNumber</name></param>
+ <param><ptype>GLbitfield</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSamplePatternEXT</name></proto>
+ <param group="SamplePatternEXT"><ptype>GLenum</ptype> <name>pattern</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSamplePatternSGIS</name></proto>
+ <param group="SamplePatternSGIS"><ptype>GLenum</ptype> <name>pattern</name></param>
+ <alias name="glSamplePatternEXT"/>
+ <glx type="render" opcode="2049"/>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameterIiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameterIivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+ <alias name="glSamplerParameterIiv"/>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameterIuiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameterIuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>param</name></param>
+ <alias name="glSamplerParameterIuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameterf</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameterfv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameteri</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSamplerParameteriv</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glScaled</name></proto>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <glx type="render" opcode="187"/>
+ </command>
+ <command>
+ <proto>void <name>glScalef</name></proto>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <glx type="render" opcode="188"/>
+ </command>
+ <command>
+ <proto>void <name>glScalex</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glScalexOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glScissor</name></proto>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <glx type="render" opcode="103"/>
+ </command>
+ <command>
+ <proto>void <name>glScissorArrayv</name></proto>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glScissorIndexed</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>left</name></param>
+ <param><ptype>GLint</ptype> <name>bottom</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glScissorIndexedv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3b</name></proto>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>red</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>green</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3bv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3bEXT</name></proto>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>red</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>green</name></param>
+ <param group="ColorB"><ptype>GLbyte</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3b"/>
+ <vecequiv name="glSecondaryColor3bvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3bv</name></proto>
+ <param group="ColorB" len="3">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4126"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3bvEXT</name></proto>
+ <param group="ColorB" len="3">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3bv"/>
+ <glx type="render" opcode="4126"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3d</name></proto>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>red</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>green</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3dEXT</name></proto>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>red</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>green</name></param>
+ <param group="ColorD"><ptype>GLdouble</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3d"/>
+ <vecequiv name="glSecondaryColor3dvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3dv</name></proto>
+ <param group="ColorD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4130"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3dvEXT</name></proto>
+ <param group="ColorD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3dv"/>
+ <glx type="render" opcode="4130"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3f</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3fEXT</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3f"/>
+ <vecequiv name="glSecondaryColor3fvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3fv</name></proto>
+ <param group="ColorF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4129"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3fvEXT</name></proto>
+ <param group="ColorF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3fv"/>
+ <glx type="render" opcode="4129"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>red</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>green</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3hvNV</name></proto>
+ <param group="Half16NV" len="3">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4255"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3i</name></proto>
+ <param group="ColorI"><ptype>GLint</ptype> <name>red</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>green</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3iEXT</name></proto>
+ <param group="ColorI"><ptype>GLint</ptype> <name>red</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>green</name></param>
+ <param group="ColorI"><ptype>GLint</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3i"/>
+ <vecequiv name="glSecondaryColor3ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3iv</name></proto>
+ <param group="ColorI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4128"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3ivEXT</name></proto>
+ <param group="ColorI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3iv"/>
+ <glx type="render" opcode="4128"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3s</name></proto>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>red</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>green</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3sEXT</name></proto>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>red</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>green</name></param>
+ <param group="ColorS"><ptype>GLshort</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3s"/>
+ <vecequiv name="glSecondaryColor3svEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3sv</name></proto>
+ <param group="ColorS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4127"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3svEXT</name></proto>
+ <param group="ColorS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3sv"/>
+ <glx type="render" opcode="4127"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3ub</name></proto>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>red</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>green</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3ubv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3ubEXT</name></proto>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>red</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>green</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3ub"/>
+ <vecequiv name="glSecondaryColor3ubvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3ubv</name></proto>
+ <param group="ColorUB" len="3">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4131"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3ubvEXT</name></proto>
+ <param group="ColorUB" len="3">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3ubv"/>
+ <glx type="render" opcode="4131"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3ui</name></proto>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>red</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>green</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3uiEXT</name></proto>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>red</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>green</name></param>
+ <param group="ColorUI"><ptype>GLuint</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3ui"/>
+ <vecequiv name="glSecondaryColor3uivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3uiv</name></proto>
+ <param group="ColorUI" len="3">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4133"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3uivEXT</name></proto>
+ <param group="ColorUI" len="3">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3uiv"/>
+ <glx type="render" opcode="4133"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3us</name></proto>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>red</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>green</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>blue</name></param>
+ <vecequiv name="glSecondaryColor3usv"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3usEXT</name></proto>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>red</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>green</name></param>
+ <param group="ColorUS"><ptype>GLushort</ptype> <name>blue</name></param>
+ <alias name="glSecondaryColor3us"/>
+ <vecequiv name="glSecondaryColor3usvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3usv</name></proto>
+ <param group="ColorUS" len="3">const <ptype>GLushort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4132"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColor3usvEXT</name></proto>
+ <param group="ColorUS" len="3">const <ptype>GLushort</ptype> *<name>v</name></param>
+ <alias name="glSecondaryColor3usv"/>
+ <glx type="render" opcode="4132"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColorFormatNV</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColorP3ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>color</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColorP3uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>color</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColorPointer</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColorPointerEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ <alias name="glSecondaryColorPointer"/>
+ </command>
+ <command>
+ <proto>void <name>glSecondaryColorPointerListIBM</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="SecondaryColorPointerTypeIBM"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSelectBuffer</name></proto>
+ <param><ptype>GLsizei</ptype> <name>size</name></param>
+ <param group="SelectName" len="size"><ptype>GLuint</ptype> *<name>buffer</name></param>
+ <glx type="single" opcode="106"/>
+ </command>
+ <command>
+ <proto>void <name>glSelectPerfMonitorCountersAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>monitor</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>enable</name></param>
+ <param><ptype>GLuint</ptype> <name>group</name></param>
+ <param><ptype>GLint</ptype> <name>numCounters</name></param>
+ <param len="numCounters"><ptype>GLuint</ptype> *<name>counterList</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSeparableFilter2D</name></proto>
+ <param group="SeparableTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type,width)">const void *<name>row</name></param>
+ <param len="COMPSIZE(target,format,type,height)">const void *<name>column</name></param>
+ <glx type="render" opcode="4109"/>
+ <glx type="render" opcode="327" name="glSeparableFilter2DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glSeparableFilter2DEXT</name></proto>
+ <param group="SeparableTargetEXT"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(target,format,type,width)">const void *<name>row</name></param>
+ <param len="COMPSIZE(target,format,type,height)">const void *<name>column</name></param>
+ <alias name="glSeparableFilter2D"/>
+ <glx type="render" opcode="4109"/>
+ </command>
+ <command>
+ <proto>void <name>glSetFenceAPPLE</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSetFenceNV</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ <param group="FenceConditionNV"><ptype>GLenum</ptype> <name>condition</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSetFragmentShaderConstantATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>dst</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSetInvariantEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(id,type)">const void *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSetLocalConstantEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(id,type)">const void *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSetMultisamplefvAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>val</name></param>
+ </command>
+ <command>
+ <proto>void <name>glShadeModel</name></proto>
+ <param group="ShadingModel"><ptype>GLenum</ptype> <name>mode</name></param>
+ <glx type="render" opcode="104"/>
+ </command>
+ <command>
+ <proto>void <name>glShaderBinary</name></proto>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>shaders</name></param>
+ <param><ptype>GLenum</ptype> <name>binaryformat</name></param>
+ <param len="length">const void *<name>binary</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glShaderOp1EXT</name></proto>
+ <param group="VertexShaderOpEXT"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>res</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glShaderOp2EXT</name></proto>
+ <param group="VertexShaderOpEXT"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>res</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glShaderOp3EXT</name></proto>
+ <param group="VertexShaderOpEXT"><ptype>GLenum</ptype> <name>op</name></param>
+ <param><ptype>GLuint</ptype> <name>res</name></param>
+ <param><ptype>GLuint</ptype> <name>arg1</name></param>
+ <param><ptype>GLuint</ptype> <name>arg2</name></param>
+ <param><ptype>GLuint</ptype> <name>arg3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glShaderSource</name></proto>
+ <param><ptype>GLuint</ptype> <name>shader</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLchar</ptype> *const*<name>string</name></param>
+ <param len="count">const <ptype>GLint</ptype> *<name>length</name></param>
+ </command>
+ <command>
+ <proto>void <name>glShaderSourceARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>shaderObj</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLcharARB</ptype> **<name>string</name></param>
+ <param len="count">const <ptype>GLint</ptype> *<name>length</name></param>
+ <alias name="glShaderSource"/>
+ </command>
+ <command>
+ <proto>void <name>glShaderStorageBlockBinding</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>storageBlockIndex</name></param>
+ <param><ptype>GLuint</ptype> <name>storageBlockBinding</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSharpenTexFuncSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n*2">const <ptype>GLfloat</ptype> *<name>points</name></param>
+ <glx type="render" opcode="2052"/>
+ </command>
+ <command>
+ <proto>void <name>glSpriteParameterfSGIX</name></proto>
+ <param group="SpriteParameterNameSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="2060"/>
+ </command>
+ <command>
+ <proto>void <name>glSpriteParameterfvSGIX</name></proto>
+ <param group="SpriteParameterNameSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="2061"/>
+ </command>
+ <command>
+ <proto>void <name>glSpriteParameteriSGIX</name></proto>
+ <param group="SpriteParameterNameSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="2062"/>
+ </command>
+ <command>
+ <proto>void <name>glSpriteParameterivSGIX</name></proto>
+ <param group="SpriteParameterNameSGIX"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="2063"/>
+ </command>
+ <command>
+ <proto>void <name>glStartInstrumentsSGIX</name></proto>
+ <glx type="render" opcode="2069"/>
+ </command>
+ <command>
+ <proto>void <name>glStartTilingQCOM</name></proto>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>width</name></param>
+ <param><ptype>GLuint</ptype> <name>height</name></param>
+ <param><ptype>GLbitfield</ptype> <name>preserveMask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilClearTagEXT</name></proto>
+ <param><ptype>GLsizei</ptype> <name>stencilTagBits</name></param>
+ <param><ptype>GLuint</ptype> <name>stencilClearTag</name></param>
+ <glx type="render" opcode="4223"/>
+ </command>
+ <command>
+ <proto>void <name>glStencilFillPathInstancedNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
+ <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
+ <param group="PathFillMode"><ptype>GLenum</ptype> <name>fillMode</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
+ <param len="COMPSIZE(numPaths,transformType)">const <ptype>GLfloat</ptype> *<name>transformValues</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilFillPathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="PathFillMode"><ptype>GLenum</ptype> <name>fillMode</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilFunc</name></proto>
+ <param group="StencilFunction"><ptype>GLenum</ptype> <name>func</name></param>
+ <param group="StencilValue"><ptype>GLint</ptype> <name>ref</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ <glx type="render" opcode="162"/>
+ </command>
+ <command>
+ <proto>void <name>glStencilFuncSeparate</name></proto>
+ <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="StencilFunction"><ptype>GLenum</ptype> <name>func</name></param>
+ <param group="StencilValue"><ptype>GLint</ptype> <name>ref</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilFuncSeparateATI</name></proto>
+ <param group="StencilFunction"><ptype>GLenum</ptype> <name>frontfunc</name></param>
+ <param group="StencilFunction"><ptype>GLenum</ptype> <name>backfunc</name></param>
+ <param group="ClampedStencilValue"><ptype>GLint</ptype> <name>ref</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilMask</name></proto>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ <glx type="render" opcode="133"/>
+ </command>
+ <command>
+ <proto>void <name>glStencilMaskSeparate</name></proto>
+ <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilOp</name></proto>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>fail</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>zfail</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>zpass</name></param>
+ <glx type="render" opcode="163"/>
+ </command>
+ <command>
+ <proto>void <name>glStencilOpSeparate</name></proto>
+ <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>sfail</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>dpfail</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>dppass</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilOpSeparateATI</name></proto>
+ <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>sfail</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>dpfail</name></param>
+ <param group="StencilOp"><ptype>GLenum</ptype> <name>dppass</name></param>
+ <alias name="glStencilOpSeparate"/>
+ </command>
+ <command>
+ <proto>void <name>glStencilOpValueAMD</name></proto>
+ <param group="StencilFaceDirection"><ptype>GLenum</ptype> <name>face</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilStrokePathInstancedNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param group="PathElementType"><ptype>GLenum</ptype> <name>pathNameType</name></param>
+ <param group="PathElement" len="COMPSIZE(numPaths,pathNameType,paths)">const void *<name>paths</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>pathBase</name></param>
+ <param group="StencilValue"><ptype>GLint</ptype> <name>reference</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
+ <param len="COMPSIZE(numPaths,transformType)">const <ptype>GLfloat</ptype> *<name>transformValues</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStencilStrokePathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>path</name></param>
+ <param group="StencilValue"><ptype>GLint</ptype> <name>reference</name></param>
+ <param group="MaskedStencilValue"><ptype>GLuint</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glStopInstrumentsSGIX</name></proto>
+ <param><ptype>GLint</ptype> <name>marker</name></param>
+ <glx type="render" opcode="2070"/>
+ </command>
+ <command>
+ <proto>void <name>glStringMarkerGREMEDY</name></proto>
+ <param><ptype>GLsizei</ptype> <name>len</name></param>
+ <param len="len">const void *<name>string</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSwizzleEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>res</name></param>
+ <param><ptype>GLuint</ptype> <name>in</name></param>
+ <param group="VertexShaderCoordOutEXT"><ptype>GLenum</ptype> <name>outX</name></param>
+ <param group="VertexShaderCoordOutEXT"><ptype>GLenum</ptype> <name>outY</name></param>
+ <param group="VertexShaderCoordOutEXT"><ptype>GLenum</ptype> <name>outZ</name></param>
+ <param group="VertexShaderCoordOutEXT"><ptype>GLenum</ptype> <name>outW</name></param>
+ </command>
+ <command>
+ <proto>void <name>glSyncTextureINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTagSampleBufferSGIX</name></proto>
+ <glx type="render" opcode="2050"/>
+ </command>
+ <command>
+ <proto>void <name>glTangent3bEXT</name></proto>
+ <param><ptype>GLbyte</ptype> <name>tx</name></param>
+ <param><ptype>GLbyte</ptype> <name>ty</name></param>
+ <param><ptype>GLbyte</ptype> <name>tz</name></param>
+ <vecequiv name="glTangent3bvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glTangent3bvEXT</name></proto>
+ <param len="3">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTangent3dEXT</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>tx</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>ty</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>tz</name></param>
+ <vecequiv name="glTangent3dvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glTangent3dvEXT</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTangent3fEXT</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>tx</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>ty</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>tz</name></param>
+ <vecequiv name="glTangent3fvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glTangent3fvEXT</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTangent3iEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>tx</name></param>
+ <param><ptype>GLint</ptype> <name>ty</name></param>
+ <param><ptype>GLint</ptype> <name>tz</name></param>
+ <vecequiv name="glTangent3ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glTangent3ivEXT</name></proto>
+ <param len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTangent3sEXT</name></proto>
+ <param><ptype>GLshort</ptype> <name>tx</name></param>
+ <param><ptype>GLshort</ptype> <name>ty</name></param>
+ <param><ptype>GLshort</ptype> <name>tz</name></param>
+ <vecequiv name="glTangent3svEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glTangent3svEXT</name></proto>
+ <param len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTangentPointerEXT</name></proto>
+ <param group="TangentPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTbufferMask3DFX</name></proto>
+ <param><ptype>GLuint</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTessellationFactorAMD</name></proto>
+ <param><ptype>GLfloat</ptype> <name>factor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTessellationModeAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glTestFenceAPPLE</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glTestFenceNV</name></proto>
+ <param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
+ <glx type="vendor" opcode="1279"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glTestObjectAPPLE</name></proto>
+ <param group="ObjectTypeAPPLE"><ptype>GLenum</ptype> <name>object</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexBuffer</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexBufferARB</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <alias name="glTexBuffer"/>
+ </command>
+ <command>
+ <proto>void <name>glTexBufferEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <alias name="glTexBuffer"/>
+ </command>
+ <command>
+ <proto>void <name>glTexBufferRange</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexBufferRangeEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <alias name="glTexBufferRange"/>
+ </command>
+ <command>
+ <proto>void <name>glTexBumpParameterfvATI</name></proto>
+ <param group="TexBumpParameterATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexBumpParameterivATI</name></proto>
+ <param group="TexBumpParameterATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1bOES</name></proto>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1bvOES</name></proto>
+ <param len="1">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <vecequiv name="glTexCoord1dv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1dv</name></proto>
+ <param group="CoordD" len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="49"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <vecequiv name="glTexCoord1fv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1fv</name></proto>
+ <param group="CoordF" len="1">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="50"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <vecequiv name="glTexCoord1hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1hvNV</name></proto>
+ <param group="Half16NV" len="1">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4246"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <vecequiv name="glTexCoord1iv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1iv</name></proto>
+ <param group="CoordI" len="1">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="51"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <vecequiv name="glTexCoord1sv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1sv</name></proto>
+ <param group="CoordS" len="1">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="52"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord1xvOES</name></proto>
+ <param len="1">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2bOES</name></proto>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ <param><ptype>GLbyte</ptype> <name>t</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2bvOES</name></proto>
+ <param len="2">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <vecequiv name="glTexCoord2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2dv</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="53"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <vecequiv name="glTexCoord2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fColor3fVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fColor3fVertex3fvSUN</name></proto>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fColor4fNormal3fVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fColor4fNormal3fVertex3fvSUN</name></proto>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fColor4ubVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLubyte</ptype> <name>r</name></param>
+ <param><ptype>GLubyte</ptype> <name>g</name></param>
+ <param><ptype>GLubyte</ptype> <name>b</name></param>
+ <param><ptype>GLubyte</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fColor4ubVertex3fvSUN</name></proto>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fNormal3fVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fNormal3fVertex3fvSUN</name></proto>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fVertex3fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fVertex3fvSUN</name></proto>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2fv</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="54"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>t</name></param>
+ <vecequiv name="glTexCoord2hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2hvNV</name></proto>
+ <param group="Half16NV" len="2">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4247"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <vecequiv name="glTexCoord2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2iv</name></proto>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="55"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <vecequiv name="glTexCoord2sv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2sv</name></proto>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="56"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord2xvOES</name></proto>
+ <param len="2">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3bOES</name></proto>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ <param><ptype>GLbyte</ptype> <name>t</name></param>
+ <param><ptype>GLbyte</ptype> <name>r</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3bvOES</name></proto>
+ <param len="3">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>r</name></param>
+ <vecequiv name="glTexCoord3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3dv</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="57"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>r</name></param>
+ <vecequiv name="glTexCoord3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3fv</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="58"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>t</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>r</name></param>
+ <vecequiv name="glTexCoord3hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3hvNV</name></proto>
+ <param group="Half16NV" len="3">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4248"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>r</name></param>
+ <vecequiv name="glTexCoord3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3iv</name></proto>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="59"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>r</name></param>
+ <vecequiv name="glTexCoord3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3sv</name></proto>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="60"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord3xvOES</name></proto>
+ <param len="3">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4bOES</name></proto>
+ <param><ptype>GLbyte</ptype> <name>s</name></param>
+ <param><ptype>GLbyte</ptype> <name>t</name></param>
+ <param><ptype>GLbyte</ptype> <name>r</name></param>
+ <param><ptype>GLbyte</ptype> <name>q</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4bvOES</name></proto>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>s</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>t</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>r</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>q</name></param>
+ <vecequiv name="glTexCoord4dv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4dv</name></proto>
+ <param group="CoordD" len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="61"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>s</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>t</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>r</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>q</name></param>
+ <vecequiv name="glTexCoord4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4fColor4fNormal3fVertex4fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>p</name></param>
+ <param><ptype>GLfloat</ptype> <name>q</name></param>
+ <param><ptype>GLfloat</ptype> <name>r</name></param>
+ <param><ptype>GLfloat</ptype> <name>g</name></param>
+ <param><ptype>GLfloat</ptype> <name>b</name></param>
+ <param><ptype>GLfloat</ptype> <name>a</name></param>
+ <param><ptype>GLfloat</ptype> <name>nx</name></param>
+ <param><ptype>GLfloat</ptype> <name>ny</name></param>
+ <param><ptype>GLfloat</ptype> <name>nz</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4fColor4fNormal3fVertex4fvSUN</name></proto>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>c</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>n</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4fVertex4fSUN</name></proto>
+ <param><ptype>GLfloat</ptype> <name>s</name></param>
+ <param><ptype>GLfloat</ptype> <name>t</name></param>
+ <param><ptype>GLfloat</ptype> <name>p</name></param>
+ <param><ptype>GLfloat</ptype> <name>q</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4fVertex4fvSUN</name></proto>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>tc</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4fv</name></proto>
+ <param group="CoordF" len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="62"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>s</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>t</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>r</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>q</name></param>
+ <vecequiv name="glTexCoord4hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4hvNV</name></proto>
+ <param group="Half16NV" len="4">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4249"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>s</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>t</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>r</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>q</name></param>
+ <vecequiv name="glTexCoord4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4iv</name></proto>
+ <param group="CoordI" len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="63"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>s</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>t</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>r</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>q</name></param>
+ <vecequiv name="glTexCoord4sv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4sv</name></proto>
+ <param group="CoordS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="64"/>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>s</name></param>
+ <param><ptype>GLfixed</ptype> <name>t</name></param>
+ <param><ptype>GLfixed</ptype> <name>r</name></param>
+ <param><ptype>GLfixed</ptype> <name>q</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoord4xvOES</name></proto>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordFormatNV</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP1ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP1uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP2ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP2uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP3ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP3uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP4ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordP4uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordPointer</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordPointerEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(size,type,stride,count)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordPointerListIBM</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexCoordPointervINTEL</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="4">const void **<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexEnvf</name></proto>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="111"/>
+ </command>
+ <command>
+ <proto>void <name>glTexEnvfv</name></proto>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="112"/>
+ </command>
+ <command>
+ <proto>void <name>glTexEnvi</name></proto>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="113"/>
+ </command>
+ <command>
+ <proto>void <name>glTexEnviv</name></proto>
+ <param group="TextureEnvTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureEnvParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="114"/>
+ </command>
+ <command>
+ <proto>void <name>glTexEnvx</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexEnvxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexEnvxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexEnvxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexFilterFuncSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureFilterSGIS"><ptype>GLenum</ptype> <name>filter</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param len="n">const <ptype>GLfloat</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="2064"/>
+ </command>
+ <command>
+ <proto>void <name>glTexGend</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLdouble</ptype> <name>param</name></param>
+ <glx type="render" opcode="115"/>
+ </command>
+ <command>
+ <proto>void <name>glTexGendv</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLdouble</ptype> *<name>params</name></param>
+ <glx type="render" opcode="116"/>
+ </command>
+ <command>
+ <proto>void <name>glTexGenf</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="117"/>
+ </command>
+ <command>
+ <proto>void <name>glTexGenfOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexGenfv</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="118"/>
+ </command>
+ <command>
+ <proto>void <name>glTexGenfvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexGeni</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="119"/>
+ </command>
+ <command>
+ <proto>void <name>glTexGeniOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexGeniv</name></proto>
+ <param group="TextureCoordName"><ptype>GLenum</ptype> <name>coord</name></param>
+ <param group="TextureGenParameter"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="120"/>
+ </command>
+ <command>
+ <proto>void <name>glTexGenivOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexGenxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexGenxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>coord</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexImage1D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="109"/>
+ <glx type="render" opcode="328" name="glTexImage1DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glTexImage2D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="110"/>
+ <glx type="render" opcode="329" name="glTexImage2DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glTexImage2DMultisample</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexImage2DMultisampleCoverageNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
+ <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
+ <param><ptype>GLint</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexImage3D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="4114"/>
+ <glx type="render" opcode="330" name="glTexImage3DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glTexImage3DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ <alias name="glTexImage3D"/>
+ <glx type="render" opcode="4114"/>
+ </command>
+ <command>
+ <proto>void <name>glTexImage3DMultisample</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexImage3DMultisampleCoverageNV</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
+ <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
+ <param><ptype>GLint</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexImage3DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLint</ptype> <name>border</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ <alias name="glTexImage3D"/>
+ </command>
+ <command>
+ <proto>void <name>glTexImage4DSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLsizei</ptype> <name>size4d</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth,size4d)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="2057"/>
+ </command>
+ <command>
+ <proto>void <name>glTexPageCommitmentARB</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLboolean</ptype> <name>resident</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterIiv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="346"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterIivEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glTexParameterIiv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterIuiv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="347"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterIuivEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>params</name></param>
+ <alias name="glTexParameterIuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterf</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <glx type="render" opcode="105"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterfv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ <glx type="render" opcode="106"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameteri</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <glx type="render" opcode="107"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameteriv</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ <glx type="render" opcode="108"/>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterx</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterxOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfixed</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterxv</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexParameterxvOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfixed</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexRenderbufferNV</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage1D</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage1DEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <alias name="glTexStorage1D"/>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage2D</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage2DEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <alias name="glTexStorage2D"/>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage2DMultisample</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage3D</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage3DEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <alias name="glTexStorage3D"/>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage3DMultisample</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexStorage3DMultisampleOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ <alias name="glTexStorage3DMultisample"/>
+ </command>
+ <command>
+ <proto>void <name>glTexStorageSparseAMD</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLsizei</ptype> <name>layers</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage1D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="4099"/>
+ <glx type="render" opcode="331" name="glTexSubImage1DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage1DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+ <alias name="glTexSubImage1D"/>
+ <glx type="render" opcode="4099"/>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage2D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="4100"/>
+ <glx type="render" opcode="332" name="glTexSubImage2DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage2DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ <alias name="glTexSubImage2D"/>
+ <glx type="render" opcode="4100"/>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage3D</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="4115"/>
+ <glx type="render" opcode="333" name="glTexSubImage3DPBO" comment="PBO protocol"/>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage3DEXT</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ <alias name="glTexSubImage3D"/>
+ <glx type="render" opcode="4115"/>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage3DOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLenum</ptype> <name>format</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ <alias name="glTexSubImage3D"/>
+ </command>
+ <command>
+ <proto>void <name>glTexSubImage4DSGIS</name></proto>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>woffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLsizei</ptype> <name>size4d</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth,size4d)">const void *<name>pixels</name></param>
+ <glx type="render" opcode="2058"/>
+ </command>
+ <command>
+ <proto>void <name>glTextureBarrierNV</name></proto>
+ <glx type="render" opcode="4348"/>
+ </command>
+ <command>
+ <proto>void <name>glTextureBufferEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureBufferRangeEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureColorMaskSGIS</name></proto>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>red</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>green</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>blue</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>alpha</name></param>
+ <glx type="render" opcode="2082"/>
+ </command>
+ <command>
+ <proto>void <name>glTextureImage1DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureImage2DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureImage2DMultisampleCoverageNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
+ <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
+ <param><ptype>GLint</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureImage2DMultisampleNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLint</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureImage3DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="TextureComponentCount"><ptype>GLint</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>border</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureImage3DMultisampleCoverageNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>coverageSamples</name></param>
+ <param><ptype>GLsizei</ptype> <name>colorSamples</name></param>
+ <param><ptype>GLint</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureImage3DMultisampleNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLint</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedSampleLocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureLightEXT</name></proto>
+ <param group="LightTexturePNameEXT"><ptype>GLenum</ptype> <name>pname</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureMaterialEXT</name></proto>
+ <param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
+ <param group="MaterialParameter"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureNormalEXT</name></proto>
+ <param group="TextureNormalModeEXT"><ptype>GLenum</ptype> <name>mode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTexturePageCommitmentEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ <param><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLboolean</ptype> <name>resident</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureParameterIivEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureParameterIuivEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureParameterfEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32"><ptype>GLfloat</ptype> <name>param</name></param>
+ <vecequiv name="glTextureParameterfvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glTextureParameterfvEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedFloat32" len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureParameteriEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>param</name></param>
+ <vecequiv name="glTextureParameterivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glTextureParameterivEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="TextureParameterName"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param group="CheckedInt32" len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureRangeAPPLE</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="length">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureRenderbufferEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>renderbuffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureStorage1DEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureStorage2DEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureStorage2DMultisampleEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param group="TextureInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureStorage3DEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>levels</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureStorage3DMultisampleEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureStorageSparseAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalFormat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param><ptype>GLsizei</ptype> <name>layers</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureSubImage1DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureSubImage2DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureSubImage3DEXT</name></proto>
+ <param group="Texture"><ptype>GLuint</ptype> <name>texture</name></param>
+ <param group="TextureTarget"><ptype>GLenum</ptype> <name>target</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>level</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>xoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>yoffset</name></param>
+ <param group="CheckedInt32"><ptype>GLint</ptype> <name>zoffset</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="PixelFormat"><ptype>GLenum</ptype> <name>format</name></param>
+ <param group="PixelType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="COMPSIZE(format,type,width,height,depth)">const void *<name>pixels</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureView</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>origtexture</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>minlevel</name></param>
+ <param><ptype>GLuint</ptype> <name>numlevels</name></param>
+ <param><ptype>GLuint</ptype> <name>minlayer</name></param>
+ <param><ptype>GLuint</ptype> <name>numlayers</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTextureViewEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>origtexture</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>minlevel</name></param>
+ <param><ptype>GLuint</ptype> <name>numlevels</name></param>
+ <param><ptype>GLuint</ptype> <name>minlayer</name></param>
+ <param><ptype>GLuint</ptype> <name>numlayers</name></param>
+ <alias name="glTextureView"/>
+ </command>
+ <command>
+ <proto>void <name>glTrackMatrixNV</name></proto>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>address</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>matrix</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>transform</name></param>
+ <glx type="render" opcode="4188"/>
+ </command>
+ <command>
+ <proto>void <name>glTransformFeedbackAttribsNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>attribs</name></param>
+ <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTransformFeedbackStreamAttribsNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLint</ptype> *<name>attribs</name></param>
+ <param><ptype>GLsizei</ptype> <name>nbuffers</name></param>
+ <param len="nbuffers">const <ptype>GLint</ptype> *<name>bufstreams</name></param>
+ <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTransformFeedbackVaryings</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLchar</ptype> *const*<name>varyings</name></param>
+ <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTransformFeedbackVaryingsEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLchar</ptype> *const*<name>varyings</name></param>
+ <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
+ <alias name="glTransformFeedbackVaryings"/>
+ </command>
+ <command>
+ <proto>void <name>glTransformFeedbackVaryingsNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLint</ptype> *<name>locations</name></param>
+ <param><ptype>GLenum</ptype> <name>bufferMode</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTransformPathNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>resultPath</name></param>
+ <param group="Path"><ptype>GLuint</ptype> <name>srcPath</name></param>
+ <param group="PathTransformType"><ptype>GLenum</ptype> <name>transformType</name></param>
+ <param len="COMPSIZE(transformType)">const <ptype>GLfloat</ptype> *<name>transformValues</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTranslated</name></proto>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <glx type="render" opcode="189"/>
+ </command>
+ <command>
+ <proto>void <name>glTranslatef</name></proto>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <glx type="render" opcode="190"/>
+ </command>
+ <command>
+ <proto>void <name>glTranslatex</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glTranslatexOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1d</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1f</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1fARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <alias name="glUniform1f"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform1fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1fvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniform1fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform1i</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1i64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1i64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1iARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <alias name="glUniform1i"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform1iv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1ivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glUniform1iv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform1ui</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1ui64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1ui64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1uiEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <alias name="glUniform1ui"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform1uiv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform1uivEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glUniform1uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform2d</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2f</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2fARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <alias name="glUniform2f"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform2fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2fvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniform2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform2i</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2i64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2i64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2iARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <alias name="glUniform2i"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform2iv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2ivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glUniform2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform2ui</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2ui64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2ui64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2uiEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <alias name="glUniform2ui"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform2uiv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform2uivEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glUniform2uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform3d</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3f</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3fARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ <alias name="glUniform3f"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform3fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3fvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniform3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform3i</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3i64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3i64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3iARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ <alias name="glUniform3i"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform3iv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3ivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glUniform3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform3ui</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3ui64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3ui64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3uiEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ <alias name="glUniform3ui"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform3uiv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform3uivEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glUniform3uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform4d</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4f</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ <param><ptype>GLfloat</ptype> <name>v3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4fARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLfloat</ptype> <name>v0</name></param>
+ <param><ptype>GLfloat</ptype> <name>v1</name></param>
+ <param><ptype>GLfloat</ptype> <name>v2</name></param>
+ <param><ptype>GLfloat</ptype> <name>v3</name></param>
+ <alias name="glUniform4f"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform4fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4fvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniform4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform4i</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>v3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4i64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>z</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4i64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4iARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLint</ptype> <name>v0</name></param>
+ <param><ptype>GLint</ptype> <name>v1</name></param>
+ <param><ptype>GLint</ptype> <name>v2</name></param>
+ <param><ptype>GLint</ptype> <name>v3</name></param>
+ <alias name="glUniform4i"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform4iv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4ivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
+ <alias name="glUniform4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform4ui</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ <param><ptype>GLuint</ptype> <name>v3</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4ui64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4ui64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4uiEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>v0</name></param>
+ <param><ptype>GLuint</ptype> <name>v1</name></param>
+ <param><ptype>GLuint</ptype> <name>v2</name></param>
+ <param><ptype>GLuint</ptype> <name>v3</name></param>
+ <alias name="glUniform4ui"/>
+ </command>
+ <command>
+ <proto>void <name>glUniform4uiv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniform4uivEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <alias name="glUniform4uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformBlockBinding</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLuint</ptype> <name>uniformBlockIndex</name></param>
+ <param><ptype>GLuint</ptype> <name>uniformBlockBinding</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformBufferEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformHandleui64ARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformHandleui64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformHandleui64vARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint64</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformHandleui64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint64</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2fvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2x3dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2x3fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <glx type="render" opcode="305"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2x3fvNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix2x3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2x4dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2x4fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <glx type="render" opcode="307"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix2x4fvNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix2x4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*9">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3fvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3x2dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3x2fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <glx type="render" opcode="306"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3x2fvNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix3x2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3x4dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3x4fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <glx type="render" opcode="309"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix3x4fvNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix3x4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*16">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4fvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4x2dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4x2fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <glx type="render" opcode="308"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4x2fvNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix4x2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4x3dv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4x3fv</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <glx type="render" opcode="310"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformMatrix4x3fvNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <alias name="glUniformMatrix4x3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glUniformSubroutinesuiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>shadertype</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLuint</ptype> *<name>indices</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformui64NV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUniformui64vNV</name></proto>
+ <param><ptype>GLint</ptype> <name>location</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*1">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUnlockArraysEXT</name></proto>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glUnmapBuffer</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glUnmapBufferARB</name></proto>
+ <param group="BufferTargetARB"><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glUnmapBuffer"/>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glUnmapBufferOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <alias name="glUnmapBuffer"/>
+ </command>
+ <command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glUnmapNamedBufferEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUnmapObjectBufferATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUnmapTexture2DINTEL</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLint</ptype> <name>level</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUpdateObjectBufferATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLuint</ptype> <name>offset</name></param>
+ <param><ptype>GLsizei</ptype> <name>size</name></param>
+ <param len="size">const void *<name>pointer</name></param>
+ <param group="PreserveModeATI"><ptype>GLenum</ptype> <name>preserve</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUseProgram</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUseProgramObjectARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <alias name="glUseProgram"/>
+ </command>
+ <command>
+ <proto>void <name>glUseProgramStages</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLbitfield</ptype> <name>stages</name></param>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUseProgramStagesEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ <param><ptype>GLbitfield</ptype> <name>stages</name></param>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glUseShaderProgramEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVDPAUFiniNV</name></proto>
+ </command>
+ <command>
+ <proto>void <name>glVDPAUGetSurfaceivNV</name></proto>
+ <param group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>surface</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLsizei</ptype> <name>bufSize</name></param>
+ <param><ptype>GLsizei</ptype> *<name>length</name></param>
+ <param len="bufSize"><ptype>GLint</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVDPAUInitNV</name></proto>
+ <param>const void *<name>vdpDevice</name></param>
+ <param>const void *<name>getProcAddress</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>glVDPAUIsSurfaceNV</name></proto>
+ <param group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>surface</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVDPAUMapSurfacesNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>numSurfaces</name></param>
+ <param group="vdpauSurfaceNV" len="numSurfaces">const <ptype>GLvdpauSurfaceNV</ptype> *<name>surfaces</name></param>
+ </command>
+ <command>
+ <proto group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>glVDPAURegisterOutputSurfaceNV</name></proto>
+ <param>const void *<name>vdpSurface</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>numTextureNames</name></param>
+ <param len="numTextureNames">const <ptype>GLuint</ptype> *<name>textureNames</name></param>
+ </command>
+ <command>
+ <proto group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>glVDPAURegisterVideoSurfaceNV</name></proto>
+ <param>const void *<name>vdpSurface</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>numTextureNames</name></param>
+ <param len="numTextureNames">const <ptype>GLuint</ptype> *<name>textureNames</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVDPAUSurfaceAccessNV</name></proto>
+ <param group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>surface</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVDPAUUnmapSurfacesNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>numSurface</name></param>
+ <param group="vdpauSurfaceNV" len="numSurface">const <ptype>GLvdpauSurfaceNV</ptype> *<name>surfaces</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVDPAUUnregisterSurfaceNV</name></proto>
+ <param group="vdpauSurfaceNV"><ptype>GLvdpauSurfaceNV</ptype> <name>surface</name></param>
+ </command>
+ <command>
+ <proto>void <name>glValidateProgram</name></proto>
+ <param><ptype>GLuint</ptype> <name>program</name></param>
+ </command>
+ <command>
+ <proto>void <name>glValidateProgramARB</name></proto>
+ <param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
+ <alias name="glValidateProgram"/>
+ </command>
+ <command>
+ <proto>void <name>glValidateProgramPipeline</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ </command>
+ <command>
+ <proto>void <name>glValidateProgramPipelineEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>pipeline</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantArrayObjectATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLuint</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantPointerEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param group="ScalarType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(id,type,stride)">const void *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantbvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLbyte</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantdvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLdouble</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantfvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLfloat</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLint</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantsvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLshort</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantubvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLubyte</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLuint</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVariantusvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>id</name></param>
+ <param len="COMPSIZE(id)">const <ptype>GLushort</ptype> *<name>addr</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex2bOES</name></proto>
+ <param><ptype>GLbyte</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex2bvOES</name></proto>
+ <param len="2">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex2d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <vecequiv name="glVertex2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2dv</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="65"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <vecequiv name="glVertex2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2fv</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="66"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>x</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>y</name></param>
+ <vecequiv name="glVertex2hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2hvNV</name></proto>
+ <param group="Half16NV" len="2">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4240"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <vecequiv name="glVertex2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2iv</name></proto>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="67"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <vecequiv name="glVertex2sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2sv</name></proto>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="68"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex2xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex2xvOES</name></proto>
+ <param len="2">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex3bOES</name></proto>
+ <param><ptype>GLbyte</ptype> <name>x</name></param>
+ <param><ptype>GLbyte</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex3bvOES</name></proto>
+ <param len="3">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex3d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <vecequiv name="glVertex3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3dv</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="69"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <vecequiv name="glVertex3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3fv</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="70"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>x</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>y</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>z</name></param>
+ <vecequiv name="glVertex3hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3hvNV</name></proto>
+ <param group="Half16NV" len="3">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4241"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <vecequiv name="glVertex3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3iv</name></proto>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="71"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <vecequiv name="glVertex3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3sv</name></proto>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="72"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex3xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex3xvOES</name></proto>
+ <param len="3">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex4bOES</name></proto>
+ <param><ptype>GLbyte</ptype> <name>x</name></param>
+ <param><ptype>GLbyte</ptype> <name>y</name></param>
+ <param><ptype>GLbyte</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex4bvOES</name></proto>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex4d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glVertex4dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4dv</name></proto>
+ <param group="CoordD" len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="73"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glVertex4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4fv</name></proto>
+ <param group="CoordF" len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="74"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4hNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>x</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>y</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>z</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>w</name></param>
+ <vecequiv name="glVertex4hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4hvNV</name></proto>
+ <param group="Half16NV" len="4">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4242"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>w</name></param>
+ <vecequiv name="glVertex4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4iv</name></proto>
+ <param group="CoordI" len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="75"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>w</name></param>
+ <vecequiv name="glVertex4sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4sv</name></proto>
+ <param group="CoordS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="76"/>
+ </command>
+ <command>
+ <proto>void <name>glVertex4xOES</name></proto>
+ <param><ptype>GLfixed</ptype> <name>x</name></param>
+ <param><ptype>GLfixed</ptype> <name>y</name></param>
+ <param><ptype>GLfixed</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertex4xvOES</name></proto>
+ <param len="4">const <ptype>GLfixed</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayBindVertexBufferEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayColorOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayEdgeFlagOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayFogCoordOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="FogCoordinatePointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayIndexOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="IndexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayMultiTexCoordOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLenum</ptype> <name>texunit</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayNormalOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="NormalPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayParameteriAPPLE</name></proto>
+ <param group="VertexArrayPNameAPPLE"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayRangeAPPLE</name></proto>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="length">void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayRangeNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>length</name></param>
+ <param len="COMPSIZE(length)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArraySecondaryColorOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="ColorPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayTexCoordOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="TexCoordPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribBindingEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribDivisorEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribFormatEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribIFormatEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribIOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribLFormatEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribLOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexAttribOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexBindingDivisorEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexArrayVertexOffsetEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>vaobj</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLintptr</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <vecequiv name="glVertexAttrib1dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1dARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <alias name="glVertexAttrib1d"/>
+ <vecequiv name="glVertexAttrib1dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1dNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <alias name="glVertexAttrib1d"/>
+ <vecequiv name="glVertexAttrib1dvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4197"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1dvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib1dv"/>
+ <glx type="render" opcode="4197"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib1dv"/>
+ <glx type="render" opcode="4197"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1f</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <vecequiv name="glVertexAttrib1fv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1fARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <alias name="glVertexAttrib1f"/>
+ <vecequiv name="glVertexAttrib1fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1fNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <alias name="glVertexAttrib1f"/>
+ <vecequiv name="glVertexAttrib1fvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4193"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1fvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib1fv"/>
+ <glx type="render" opcode="4193"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib1fv"/>
+ <glx type="render" opcode="4193"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1hNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>x</name></param>
+ <vecequiv name="glVertexAttrib1hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV" len="1">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4257"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1s</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <vecequiv name="glVertexAttrib1sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1sARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <alias name="glVertexAttrib1s"/>
+ <vecequiv name="glVertexAttrib1svARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1sNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <alias name="glVertexAttrib1s"/>
+ <vecequiv name="glVertexAttrib1svNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1sv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4189"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1svARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib1sv"/>
+ <glx type="render" opcode="4189"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib1svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib1sv"/>
+ <glx type="render" opcode="4189"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <vecequiv name="glVertexAttrib2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2dARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <alias name="glVertexAttrib2d"/>
+ <vecequiv name="glVertexAttrib2dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2dNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <alias name="glVertexAttrib2d"/>
+ <vecequiv name="glVertexAttrib2dvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4198"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2dvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib2dv"/>
+ <glx type="render" opcode="4198"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib2dv"/>
+ <glx type="render" opcode="4198"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2f</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <vecequiv name="glVertexAttrib2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2fARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <alias name="glVertexAttrib2f"/>
+ <vecequiv name="glVertexAttrib2fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2fNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <alias name="glVertexAttrib2f"/>
+ <vecequiv name="glVertexAttrib2fvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4194"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2fvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib2fv"/>
+ <glx type="render" opcode="4194"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib2fv"/>
+ <glx type="render" opcode="4194"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2hNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>x</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>y</name></param>
+ <vecequiv name="glVertexAttrib2hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV" len="2">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4258"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2s</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <vecequiv name="glVertexAttrib2sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2sARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <alias name="glVertexAttrib2s"/>
+ <vecequiv name="glVertexAttrib2svARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2sNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <alias name="glVertexAttrib2s"/>
+ <vecequiv name="glVertexAttrib2svNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2sv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4190"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2svARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib2sv"/>
+ <glx type="render" opcode="4190"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib2svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib2sv"/>
+ <glx type="render" opcode="4190"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <vecequiv name="glVertexAttrib3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3dARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <alias name="glVertexAttrib3d"/>
+ <vecequiv name="glVertexAttrib3dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3dNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <alias name="glVertexAttrib3d"/>
+ <vecequiv name="glVertexAttrib3dvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4199"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3dvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib3dv"/>
+ <glx type="render" opcode="4199"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib3dv"/>
+ <glx type="render" opcode="4199"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3f</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <vecequiv name="glVertexAttrib3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3fARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <alias name="glVertexAttrib3f"/>
+ <vecequiv name="glVertexAttrib3fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3fNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <alias name="glVertexAttrib3f"/>
+ <vecequiv name="glVertexAttrib3fvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4195"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3fvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib3fv"/>
+ <glx type="render" opcode="4195"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib3fv"/>
+ <glx type="render" opcode="4195"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3hNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>x</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>y</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>z</name></param>
+ <vecequiv name="glVertexAttrib3hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV" len="3">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4259"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3s</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <vecequiv name="glVertexAttrib3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3sARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <alias name="glVertexAttrib3s"/>
+ <vecequiv name="glVertexAttrib3svARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3sNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <alias name="glVertexAttrib3s"/>
+ <vecequiv name="glVertexAttrib3svNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3sv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4191"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3svARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib3sv"/>
+ <glx type="render" opcode="4191"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib3svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib3sv"/>
+ <glx type="render" opcode="4191"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4Nbv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4NbvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4Nbv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4Niv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4NivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4Niv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4Nsv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4NsvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4Nsv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4Nub</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLubyte</ptype> <name>x</name></param>
+ <param><ptype>GLubyte</ptype> <name>y</name></param>
+ <param><ptype>GLubyte</ptype> <name>z</name></param>
+ <param><ptype>GLubyte</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4NubARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLubyte</ptype> <name>x</name></param>
+ <param><ptype>GLubyte</ptype> <name>y</name></param>
+ <param><ptype>GLubyte</ptype> <name>z</name></param>
+ <param><ptype>GLubyte</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4Nub"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4Nubv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4201"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4NubvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4Nubv"/>
+ <glx type="render" opcode="4201"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4Nuiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4NuivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4Nuiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4Nusv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLushort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4NusvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLushort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4Nusv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4bv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4bvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4bv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glVertexAttrib4dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4dARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4d"/>
+ <vecequiv name="glVertexAttrib4dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4dNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4d"/>
+ <vecequiv name="glVertexAttrib4dvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4200"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4dvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4dv"/>
+ <glx type="render" opcode="4200"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4dv"/>
+ <glx type="render" opcode="4200"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4f</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glVertexAttrib4fv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4fARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4f"/>
+ <vecequiv name="glVertexAttrib4fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4fNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4f"/>
+ <vecequiv name="glVertexAttrib4fvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4fv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4196"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4fvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4fv"/>
+ <glx type="render" opcode="4196"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4fv"/>
+ <glx type="render" opcode="4196"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4hNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>x</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>y</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>z</name></param>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>w</name></param>
+ <vecequiv name="glVertexAttrib4hvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Half16NV" len="4">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4260"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4ivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4s</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <param><ptype>GLshort</ptype> <name>w</name></param>
+ <vecequiv name="glVertexAttrib4sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4sARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <param><ptype>GLshort</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4s"/>
+ <vecequiv name="glVertexAttrib4svARB"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4sNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <param><ptype>GLshort</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4s"/>
+ <vecequiv name="glVertexAttrib4svNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4sv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4192"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4svARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4sv"/>
+ <glx type="render" opcode="4192"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4sv"/>
+ <glx type="render" opcode="4192"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4ubNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>x</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>y</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>z</name></param>
+ <param group="ColorUB"><ptype>GLubyte</ptype> <name>w</name></param>
+ <alias name="glVertexAttrib4Nub"/>
+ <vecequiv name="glVertexAttrib4ubvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4ubv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4ubvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4ubv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4ubvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="ColorUB" len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4Nubv"/>
+ <glx type="render" opcode="4201"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4uivARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4usv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLushort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttrib4usvARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLushort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttrib4usv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribArrayObjectATI</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param><ptype>GLuint</ptype> <name>offset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribBinding</name></proto>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribDivisor</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribDivisorANGLE</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ <alias name="glVertexAttribDivisor"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribDivisorARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ <alias name="glVertexAttribDivisor"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribDivisorEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ <alias name="glVertexAttribDivisor"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribDivisorNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ <alias name="glVertexAttribDivisor"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribFormat</name></proto>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribFormatNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1i</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <vecequiv name="glVertexAttribI1iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <alias name="glVertexAttribI1i"/>
+ <vecequiv name="glVertexAttribI1ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI1iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <vecequiv name="glVertexAttribI1uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <alias name="glVertexAttribI1ui"/>
+ <vecequiv name="glVertexAttribI1uivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI1uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI1uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2i</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <vecequiv name="glVertexAttribI2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <alias name="glVertexAttribI2i"/>
+ <vecequiv name="glVertexAttribI2ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <vecequiv name="glVertexAttribI2uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <alias name="glVertexAttribI2ui"/>
+ <vecequiv name="glVertexAttribI2uivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLuint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI2uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI2uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3i</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <vecequiv name="glVertexAttribI3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <alias name="glVertexAttribI3i"/>
+ <vecequiv name="glVertexAttribI3ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>z</name></param>
+ <vecequiv name="glVertexAttribI3uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>z</name></param>
+ <alias name="glVertexAttribI3ui"/>
+ <vecequiv name="glVertexAttribI3uivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLuint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI3uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI3uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4bv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4bvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLbyte</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI4bv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4i</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <param><ptype>GLint</ptype> <name>w</name></param>
+ <vecequiv name="glVertexAttribI4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4iEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <param><ptype>GLint</ptype> <name>w</name></param>
+ <alias name="glVertexAttribI4i"/>
+ <vecequiv name="glVertexAttribI4ivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4iv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4ivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI4iv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4sv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4svEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI4sv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4ubv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4ubvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI4ubv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>z</name></param>
+ <param><ptype>GLuint</ptype> <name>w</name></param>
+ <vecequiv name="glVertexAttribI4uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4uiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint</ptype> <name>x</name></param>
+ <param><ptype>GLuint</ptype> <name>y</name></param>
+ <param><ptype>GLuint</ptype> <name>z</name></param>
+ <param><ptype>GLuint</ptype> <name>w</name></param>
+ <alias name="glVertexAttribI4ui"/>
+ <vecequiv name="glVertexAttribI4uivEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4uivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI4uiv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4usv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLushort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribI4usvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLushort</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribI4usv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribIFormat</name></proto>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribIFormatNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribIPointer</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribIPointerEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexAttribEnum"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ <alias name="glVertexAttribIPointer"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <alias name="glVertexAttribL1d"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribL1dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1ui64ARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1ui64vARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param>const <ptype>GLuint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL1ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="1">const <ptype>GLuint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <alias name="glVertexAttribL2d"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribL2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL2ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="2">const <ptype>GLuint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <alias name="glVertexAttribL3d"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribL3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL3ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="3">const <ptype>GLuint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4d</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4dEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ <alias name="glVertexAttribL4d"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4dv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4dvEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glVertexAttribL4dv"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4i64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>z</name></param>
+ <param><ptype>GLint64EXT</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4i64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4ui64NV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>x</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>y</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>z</name></param>
+ <param><ptype>GLuint64EXT</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribL4ui64vNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLuint64EXT</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribLFormat</name></proto>
+ <param><ptype>GLuint</ptype> <name>attribindex</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>relativeoffset</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribLFormatNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribLPointer</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="size">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribLPointerEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="size">const void *<name>pointer</name></param>
+ <alias name="glVertexAttribLPointer"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP1ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP1uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP2ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP2uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP3ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP3uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP4ui</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribP4uiv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribParameteriAMD</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribPointer</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribPointerARB</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexAttribPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>normalized</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ <alias name="glVertexAttribPointer"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribPointerNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLint</ptype> <name>fsize</name></param>
+ <param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(fsize,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs1dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4210"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs1fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4206"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs1hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Half16NV" len="n">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4261"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs1svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4202"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs2dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4211"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs2fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4207"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs2hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Half16NV" len="n">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4262"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs2svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4203"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs3dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4212"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs3fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4208"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs3hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Half16NV" len="n">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4263"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs3svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4204"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs4dvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4213"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs4fvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4209"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs4hvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>n</name></param>
+ <param group="Half16NV" len="n">const <ptype>GLhalfNV</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4264"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs4svNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="count*4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4205"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexAttribs4ubvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param group="ColorUB" len="count*4">const <ptype>GLubyte</ptype> *<name>v</name></param>
+ <glx type="render" opcode="4214"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexBindingDivisor</name></proto>
+ <param><ptype>GLuint</ptype> <name>bindingindex</name></param>
+ <param><ptype>GLuint</ptype> <name>divisor</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexBlendARB</name></proto>
+ <param><ptype>GLint</ptype> <name>count</name></param>
+ <glx type="render" opcode="226"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexBlendEnvfATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLfloat</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexBlendEnviATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>param</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexFormatNV</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexP2ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexP2uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexP3ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexP3uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexP4ui</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLuint</ptype> <name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexP4uiv</name></proto>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="1">const <ptype>GLuint</ptype> *<name>value</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexPointer</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexPointerEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(size,type,stride,count)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexPointerListIBM</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLint</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(size,type,stride)">const void **<name>pointer</name></param>
+ <param><ptype>GLint</ptype> <name>ptrstride</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexPointervINTEL</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexPointerType"><ptype>GLenum</ptype> <name>type</name></param>
+ <param len="4">const void **<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1dATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1dvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="1">const <ptype>GLdouble</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1fATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1fvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="1">const <ptype>GLfloat</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1iATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1ivATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="1">const <ptype>GLint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1sATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream1svATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="1">const <ptype>GLshort</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2dATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2dvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="2">const <ptype>GLdouble</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2fATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2fvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="2">const <ptype>GLfloat</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2iATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2ivATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="2">const <ptype>GLint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2sATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream2svATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="2">const <ptype>GLshort</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3dATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3dvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLdouble</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3fATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3fvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLfloat</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3iATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3ivATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3sATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream3svATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="3">const <ptype>GLshort</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4dATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLdouble</ptype> <name>x</name></param>
+ <param><ptype>GLdouble</ptype> <name>y</name></param>
+ <param><ptype>GLdouble</ptype> <name>z</name></param>
+ <param><ptype>GLdouble</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4dvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="4">const <ptype>GLdouble</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4fATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>z</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4fvATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4iATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLint</ptype> <name>x</name></param>
+ <param><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLint</ptype> <name>z</name></param>
+ <param><ptype>GLint</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4ivATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="4">const <ptype>GLint</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4sATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param><ptype>GLshort</ptype> <name>x</name></param>
+ <param><ptype>GLshort</ptype> <name>y</name></param>
+ <param><ptype>GLshort</ptype> <name>z</name></param>
+ <param><ptype>GLshort</ptype> <name>w</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexStream4svATI</name></proto>
+ <param group="VertexStreamATI"><ptype>GLenum</ptype> <name>stream</name></param>
+ <param len="4">const <ptype>GLshort</ptype> *<name>coords</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexWeightPointerEXT</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="VertexWeightPointerTypeEXT"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVertexWeightfEXT</name></proto>
+ <param><ptype>GLfloat</ptype> <name>weight</name></param>
+ <vecequiv name="glVertexWeightfvEXT"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexWeightfvEXT</name></proto>
+ <param len="1">const <ptype>GLfloat</ptype> *<name>weight</name></param>
+ <glx type="render" opcode="4135"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexWeighthNV</name></proto>
+ <param group="Half16NV"><ptype>GLhalfNV</ptype> <name>weight</name></param>
+ <vecequiv name="glVertexWeighthvNV"/>
+ </command>
+ <command>
+ <proto>void <name>glVertexWeighthvNV</name></proto>
+ <param group="Half16NV" len="1">const <ptype>GLhalfNV</ptype> *<name>weight</name></param>
+ <glx type="render" opcode="4256"/>
+ </command>
+ <command>
+ <proto><ptype>GLenum</ptype> <name>glVideoCaptureNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> *<name>sequence_num</name></param>
+ <param><ptype>GLuint64EXT</ptype> *<name>capture_time</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVideoCaptureStreamParameterdvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLdouble</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVideoCaptureStreamParameterfvNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glVideoCaptureStreamParameterivNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>video_capture_slot</name></param>
+ <param><ptype>GLuint</ptype> <name>stream</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>params</name></param>
+ </command>
+ <command>
+ <proto>void <name>glViewport</name></proto>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="WinCoord"><ptype>GLint</ptype> <name>y</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <glx type="render" opcode="191"/>
+ </command>
+ <command>
+ <proto>void <name>glViewportArrayv</name></proto>
+ <param><ptype>GLuint</ptype> <name>first</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
+ <param len="COMPSIZE(count)">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glViewportIndexedf</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param><ptype>GLfloat</ptype> <name>x</name></param>
+ <param><ptype>GLfloat</ptype> <name>y</name></param>
+ <param><ptype>GLfloat</ptype> <name>w</name></param>
+ <param><ptype>GLfloat</ptype> <name>h</name></param>
+ </command>
+ <command>
+ <proto>void <name>glViewportIndexedfv</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWaitSync</name></proto>
+ <param group="sync"><ptype>GLsync</ptype> <name>sync</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ <param><ptype>GLuint64</ptype> <name>timeout</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWaitSyncAPPLE</name></proto>
+ <param><ptype>GLsync</ptype> <name>sync</name></param>
+ <param><ptype>GLbitfield</ptype> <name>flags</name></param>
+ <param><ptype>GLuint64</ptype> <name>timeout</name></param>
+ <alias name="glWaitSync"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightPathsNV</name></proto>
+ <param group="Path"><ptype>GLuint</ptype> <name>resultPath</name></param>
+ <param><ptype>GLsizei</ptype> <name>numPaths</name></param>
+ <param group="Path" len="numPaths">const <ptype>GLuint</ptype> *<name>paths</name></param>
+ <param len="numPaths">const <ptype>GLfloat</ptype> *<name>weights</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWeightPointerARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param group="WeightPointerTypeARB"><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWeightPointerOES</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLsizei</ptype> <name>stride</name></param>
+ <param len="COMPSIZE(type,stride)">const void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWeightbvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLbyte</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="220"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightdvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLdouble</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="228"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightfvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLfloat</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="227"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLint</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="224"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightsvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLshort</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="222"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightubvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLubyte</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="221"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightuivARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLuint</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="225"/>
+ </command>
+ <command>
+ <proto>void <name>glWeightusvARB</name></proto>
+ <param><ptype>GLint</ptype> <name>size</name></param>
+ <param len="size">const <ptype>GLushort</ptype> *<name>weights</name></param>
+ <glx type="render" opcode="223"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <vecequiv name="glWindowPos2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2dARB</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <alias name="glWindowPos2d"/>
+ <vecequiv name="glWindowPos2dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2dMESA</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <alias name="glWindowPos2d"/>
+ <vecequiv name="glWindowPos2dvMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2dv</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2dvARB</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2dv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2dvMESA</name></proto>
+ <param group="CoordD" len="2">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2dv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <vecequiv name="glWindowPos2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2fARB</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <alias name="glWindowPos2f"/>
+ <vecequiv name="glWindowPos2fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2fMESA</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <alias name="glWindowPos2f"/>
+ <vecequiv name="glWindowPos2fvMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2fv</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2fvARB</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2fv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2fvMESA</name></proto>
+ <param group="CoordF" len="2">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2fv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <vecequiv name="glWindowPos2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2iARB</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <alias name="glWindowPos2i"/>
+ <vecequiv name="glWindowPos2ivARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2iMESA</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <alias name="glWindowPos2i"/>
+ <vecequiv name="glWindowPos2ivMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2iv</name></proto>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2ivARB</name></proto>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2iv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2ivMESA</name></proto>
+ <param group="CoordI" len="2">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2iv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <vecequiv name="glWindowPos2sv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2sARB</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <alias name="glWindowPos2s"/>
+ <vecequiv name="glWindowPos2svARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2sMESA</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <alias name="glWindowPos2s"/>
+ <vecequiv name="glWindowPos2svMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2sv</name></proto>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2svARB</name></proto>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2sv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos2svMESA</name></proto>
+ <param group="CoordS" len="2">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glWindowPos2sv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3d</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <vecequiv name="glWindowPos3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3dARB</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <alias name="glWindowPos3d"/>
+ <vecequiv name="glWindowPos3dvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3dMESA</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <alias name="glWindowPos3d"/>
+ <vecequiv name="glWindowPos3dvMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3dv</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3dvARB</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3dv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3dvMESA</name></proto>
+ <param group="CoordD" len="3">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3dv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3f</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <vecequiv name="glWindowPos3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3fARB</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <alias name="glWindowPos3f"/>
+ <vecequiv name="glWindowPos3fvARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3fMESA</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <alias name="glWindowPos3f"/>
+ <vecequiv name="glWindowPos3fvMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3fv</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3fvARB</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3fv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3fvMESA</name></proto>
+ <param group="CoordF" len="3">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3fv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3i</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <vecequiv name="glWindowPos3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3iARB</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <alias name="glWindowPos3i"/>
+ <vecequiv name="glWindowPos3ivARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3iMESA</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <alias name="glWindowPos3i"/>
+ <vecequiv name="glWindowPos3ivMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3iv</name></proto>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3ivARB</name></proto>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3iv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3ivMESA</name></proto>
+ <param group="CoordI" len="3">const <ptype>GLint</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3iv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3s</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <vecequiv name="glWindowPos3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3sARB</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <alias name="glWindowPos3s"/>
+ <vecequiv name="glWindowPos3svARB"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3sMESA</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <alias name="glWindowPos3s"/>
+ <vecequiv name="glWindowPos3svMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3sv</name></proto>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3svARB</name></proto>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3sv"/>
+ <glx type="render" opcode="230"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos3svMESA</name></proto>
+ <param group="CoordS" len="3">const <ptype>GLshort</ptype> *<name>v</name></param>
+ <alias name="glWindowPos3sv"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4dMESA</name></proto>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>x</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>y</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>z</name></param>
+ <param group="CoordD"><ptype>GLdouble</ptype> <name>w</name></param>
+ <vecequiv name="glWindowPos4dvMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4dvMESA</name></proto>
+ <param group="CoordD" len="4">const <ptype>GLdouble</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4fMESA</name></proto>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>x</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>y</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>z</name></param>
+ <param group="CoordF"><ptype>GLfloat</ptype> <name>w</name></param>
+ <vecequiv name="glWindowPos4fvMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4fvMESA</name></proto>
+ <param group="CoordF" len="4">const <ptype>GLfloat</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4iMESA</name></proto>
+ <param group="CoordI"><ptype>GLint</ptype> <name>x</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>y</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>z</name></param>
+ <param group="CoordI"><ptype>GLint</ptype> <name>w</name></param>
+ <vecequiv name="glWindowPos4ivMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4ivMESA</name></proto>
+ <param group="CoordI" len="4">const <ptype>GLint</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4sMESA</name></proto>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>x</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>y</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>z</name></param>
+ <param group="CoordS"><ptype>GLshort</ptype> <name>w</name></param>
+ <vecequiv name="glWindowPos4svMESA"/>
+ </command>
+ <command>
+ <proto>void <name>glWindowPos4svMESA</name></proto>
+ <param group="CoordS" len="4">const <ptype>GLshort</ptype> *<name>v</name></param>
+ </command>
+ <command>
+ <proto>void <name>glWriteMaskEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>res</name></param>
+ <param><ptype>GLuint</ptype> <name>in</name></param>
+ <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outX</name></param>
+ <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outY</name></param>
+ <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outZ</name></param>
+ <param group="VertexShaderWriteMaskEXT"><ptype>GLenum</ptype> <name>outW</name></param>
+ </command>
+ </commands>
+
+ <!-- SECTION: GL API interface definitions. -->
+ <feature api="gl" name="GL_VERSION_1_0" number="1.0">
+ <require>
+ <type name="GLvoid" comment="No longer used in headers"/>
+ <command name="glCullFace"/>
+ <command name="glFrontFace"/>
+ <command name="glHint"/>
+ <command name="glLineWidth"/>
+ <command name="glPointSize"/>
+ <command name="glPolygonMode"/>
+ <command name="glScissor"/>
+ <command name="glTexParameterf"/>
+ <command name="glTexParameterfv"/>
+ <command name="glTexParameteri"/>
+ <command name="glTexParameteriv"/>
+ <command name="glTexImage1D"/>
+ <command name="glTexImage2D"/>
+ <command name="glDrawBuffer"/>
+ <command name="glClear"/>
+ <command name="glClearColor"/>
+ <command name="glClearStencil"/>
+ <command name="glClearDepth"/>
+ <command name="glStencilMask"/>
+ <command name="glColorMask"/>
+ <command name="glDepthMask"/>
+ <command name="glDisable"/>
+ <command name="glEnable"/>
+ <command name="glFinish"/>
+ <command name="glFlush"/>
+ <command name="glBlendFunc"/>
+ <command name="glLogicOp"/>
+ <command name="glStencilFunc"/>
+ <command name="glStencilOp"/>
+ <command name="glDepthFunc"/>
+ <command name="glPixelStoref"/>
+ <command name="glPixelStorei"/>
+ <command name="glReadBuffer"/>
+ <command name="glReadPixels"/>
+ <command name="glGetBooleanv"/>
+ <command name="glGetDoublev"/>
+ <command name="glGetError"/>
+ <command name="glGetFloatv"/>
+ <command name="glGetIntegerv"/>
+ <command name="glGetString"/>
+ <command name="glGetTexImage"/>
+ <command name="glGetTexParameterfv"/>
+ <command name="glGetTexParameteriv"/>
+ <command name="glGetTexLevelParameterfv"/>
+ <command name="glGetTexLevelParameteriv"/>
+ <command name="glIsEnabled"/>
+ <command name="glDepthRange"/>
+ <command name="glViewport"/>
+ <command name="glNewList"/>
+ <command name="glEndList"/>
+ <command name="glCallList"/>
+ <command name="glCallLists"/>
+ <command name="glDeleteLists"/>
+ <command name="glGenLists"/>
+ <command name="glListBase"/>
+ <command name="glBegin"/>
+ <command name="glBitmap"/>
+ <command name="glColor3b"/>
+ <command name="glColor3bv"/>
+ <command name="glColor3d"/>
+ <command name="glColor3dv"/>
+ <command name="glColor3f"/>
+ <command name="glColor3fv"/>
+ <command name="glColor3i"/>
+ <command name="glColor3iv"/>
+ <command name="glColor3s"/>
+ <command name="glColor3sv"/>
+ <command name="glColor3ub"/>
+ <command name="glColor3ubv"/>
+ <command name="glColor3ui"/>
+ <command name="glColor3uiv"/>
+ <command name="glColor3us"/>
+ <command name="glColor3usv"/>
+ <command name="glColor4b"/>
+ <command name="glColor4bv"/>
+ <command name="glColor4d"/>
+ <command name="glColor4dv"/>
+ <command name="glColor4f"/>
+ <command name="glColor4fv"/>
+ <command name="glColor4i"/>
+ <command name="glColor4iv"/>
+ <command name="glColor4s"/>
+ <command name="glColor4sv"/>
+ <command name="glColor4ub"/>
+ <command name="glColor4ubv"/>
+ <command name="glColor4ui"/>
+ <command name="glColor4uiv"/>
+ <command name="glColor4us"/>
+ <command name="glColor4usv"/>
+ <command name="glEdgeFlag"/>
+ <command name="glEdgeFlagv"/>
+ <command name="glEnd"/>
+ <command name="glIndexd"/>
+ <command name="glIndexdv"/>
+ <command name="glIndexf"/>
+ <command name="glIndexfv"/>
+ <command name="glIndexi"/>
+ <command name="glIndexiv"/>
+ <command name="glIndexs"/>
+ <command name="glIndexsv"/>
+ <command name="glNormal3b"/>
+ <command name="glNormal3bv"/>
+ <command name="glNormal3d"/>
+ <command name="glNormal3dv"/>
+ <command name="glNormal3f"/>
+ <command name="glNormal3fv"/>
+ <command name="glNormal3i"/>
+ <command name="glNormal3iv"/>
+ <command name="glNormal3s"/>
+ <command name="glNormal3sv"/>
+ <command name="glRasterPos2d"/>
+ <command name="glRasterPos2dv"/>
+ <command name="glRasterPos2f"/>
+ <command name="glRasterPos2fv"/>
+ <command name="glRasterPos2i"/>
+ <command name="glRasterPos2iv"/>
+ <command name="glRasterPos2s"/>
+ <command name="glRasterPos2sv"/>
+ <command name="glRasterPos3d"/>
+ <command name="glRasterPos3dv"/>
+ <command name="glRasterPos3f"/>
+ <command name="glRasterPos3fv"/>
+ <command name="glRasterPos3i"/>
+ <command name="glRasterPos3iv"/>
+ <command name="glRasterPos3s"/>
+ <command name="glRasterPos3sv"/>
+ <command name="glRasterPos4d"/>
+ <command name="glRasterPos4dv"/>
+ <command name="glRasterPos4f"/>
+ <command name="glRasterPos4fv"/>
+ <command name="glRasterPos4i"/>
+ <command name="glRasterPos4iv"/>
+ <command name="glRasterPos4s"/>
+ <command name="glRasterPos4sv"/>
+ <command name="glRectd"/>
+ <command name="glRectdv"/>
+ <command name="glRectf"/>
+ <command name="glRectfv"/>
+ <command name="glRecti"/>
+ <command name="glRectiv"/>
+ <command name="glRects"/>
+ <command name="glRectsv"/>
+ <command name="glTexCoord1d"/>
+ <command name="glTexCoord1dv"/>
+ <command name="glTexCoord1f"/>
+ <command name="glTexCoord1fv"/>
+ <command name="glTexCoord1i"/>
+ <command name="glTexCoord1iv"/>
+ <command name="glTexCoord1s"/>
+ <command name="glTexCoord1sv"/>
+ <command name="glTexCoord2d"/>
+ <command name="glTexCoord2dv"/>
+ <command name="glTexCoord2f"/>
+ <command name="glTexCoord2fv"/>
+ <command name="glTexCoord2i"/>
+ <command name="glTexCoord2iv"/>
+ <command name="glTexCoord2s"/>
+ <command name="glTexCoord2sv"/>
+ <command name="glTexCoord3d"/>
+ <command name="glTexCoord3dv"/>
+ <command name="glTexCoord3f"/>
+ <command name="glTexCoord3fv"/>
+ <command name="glTexCoord3i"/>
+ <command name="glTexCoord3iv"/>
+ <command name="glTexCoord3s"/>
+ <command name="glTexCoord3sv"/>
+ <command name="glTexCoord4d"/>
+ <command name="glTexCoord4dv"/>
+ <command name="glTexCoord4f"/>
+ <command name="glTexCoord4fv"/>
+ <command name="glTexCoord4i"/>
+ <command name="glTexCoord4iv"/>
+ <command name="glTexCoord4s"/>
+ <command name="glTexCoord4sv"/>
+ <command name="glVertex2d"/>
+ <command name="glVertex2dv"/>
+ <command name="glVertex2f"/>
+ <command name="glVertex2fv"/>
+ <command name="glVertex2i"/>
+ <command name="glVertex2iv"/>
+ <command name="glVertex2s"/>
+ <command name="glVertex2sv"/>
+ <command name="glVertex3d"/>
+ <command name="glVertex3dv"/>
+ <command name="glVertex3f"/>
+ <command name="glVertex3fv"/>
+ <command name="glVertex3i"/>
+ <command name="glVertex3iv"/>
+ <command name="glVertex3s"/>
+ <command name="glVertex3sv"/>
+ <command name="glVertex4d"/>
+ <command name="glVertex4dv"/>
+ <command name="glVertex4f"/>
+ <command name="glVertex4fv"/>
+ <command name="glVertex4i"/>
+ <command name="glVertex4iv"/>
+ <command name="glVertex4s"/>
+ <command name="glVertex4sv"/>
+ <command name="glClipPlane"/>
+ <command name="glColorMaterial"/>
+ <command name="glFogf"/>
+ <command name="glFogfv"/>
+ <command name="glFogi"/>
+ <command name="glFogiv"/>
+ <command name="glLightf"/>
+ <command name="glLightfv"/>
+ <command name="glLighti"/>
+ <command name="glLightiv"/>
+ <command name="glLightModelf"/>
+ <command name="glLightModelfv"/>
+ <command name="glLightModeli"/>
+ <command name="glLightModeliv"/>
+ <command name="glLineStipple"/>
+ <command name="glMaterialf"/>
+ <command name="glMaterialfv"/>
+ <command name="glMateriali"/>
+ <command name="glMaterialiv"/>
+ <command name="glPolygonStipple"/>
+ <command name="glShadeModel"/>
+ <command name="glTexEnvf"/>
+ <command name="glTexEnvfv"/>
+ <command name="glTexEnvi"/>
+ <command name="glTexEnviv"/>
+ <command name="glTexGend"/>
+ <command name="glTexGendv"/>
+ <command name="glTexGenf"/>
+ <command name="glTexGenfv"/>
+ <command name="glTexGeni"/>
+ <command name="glTexGeniv"/>
+ <command name="glFeedbackBuffer"/>
+ <command name="glSelectBuffer"/>
+ <command name="glRenderMode"/>
+ <command name="glInitNames"/>
+ <command name="glLoadName"/>
+ <command name="glPassThrough"/>
+ <command name="glPopName"/>
+ <command name="glPushName"/>
+ <command name="glClearAccum"/>
+ <command name="glClearIndex"/>
+ <command name="glIndexMask"/>
+ <command name="glAccum"/>
+ <command name="glPopAttrib"/>
+ <command name="glPushAttrib"/>
+ <command name="glMap1d"/>
+ <command name="glMap1f"/>
+ <command name="glMap2d"/>
+ <command name="glMap2f"/>
+ <command name="glMapGrid1d"/>
+ <command name="glMapGrid1f"/>
+ <command name="glMapGrid2d"/>
+ <command name="glMapGrid2f"/>
+ <command name="glEvalCoord1d"/>
+ <command name="glEvalCoord1dv"/>
+ <command name="glEvalCoord1f"/>
+ <command name="glEvalCoord1fv"/>
+ <command name="glEvalCoord2d"/>
+ <command name="glEvalCoord2dv"/>
+ <command name="glEvalCoord2f"/>
+ <command name="glEvalCoord2fv"/>
+ <command name="glEvalMesh1"/>
+ <command name="glEvalPoint1"/>
+ <command name="glEvalMesh2"/>
+ <command name="glEvalPoint2"/>
+ <command name="glAlphaFunc"/>
+ <command name="glPixelZoom"/>
+ <command name="glPixelTransferf"/>
+ <command name="glPixelTransferi"/>
+ <command name="glPixelMapfv"/>
+ <command name="glPixelMapuiv"/>
+ <command name="glPixelMapusv"/>
+ <command name="glCopyPixels"/>
+ <command name="glDrawPixels"/>
+ <command name="glGetClipPlane"/>
+ <command name="glGetLightfv"/>
+ <command name="glGetLightiv"/>
+ <command name="glGetMapdv"/>
+ <command name="glGetMapfv"/>
+ <command name="glGetMapiv"/>
+ <command name="glGetMaterialfv"/>
+ <command name="glGetMaterialiv"/>
+ <command name="glGetPixelMapfv"/>
+ <command name="glGetPixelMapuiv"/>
+ <command name="glGetPixelMapusv"/>
+ <command name="glGetPolygonStipple"/>
+ <command name="glGetTexEnvfv"/>
+ <command name="glGetTexEnviv"/>
+ <command name="glGetTexGendv"/>
+ <command name="glGetTexGenfv"/>
+ <command name="glGetTexGeniv"/>
+ <command name="glIsList"/>
+ <command name="glFrustum"/>
+ <command name="glLoadIdentity"/>
+ <command name="glLoadMatrixf"/>
+ <command name="glLoadMatrixd"/>
+ <command name="glMatrixMode"/>
+ <command name="glMultMatrixf"/>
+ <command name="glMultMatrixd"/>
+ <command name="glOrtho"/>
+ <command name="glPopMatrix"/>
+ <command name="glPushMatrix"/>
+ <command name="glRotated"/>
+ <command name="glRotatef"/>
+ <command name="glScaled"/>
+ <command name="glScalef"/>
+ <command name="glTranslated"/>
+ <command name="glTranslatef"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_1_1" number="1.1">
+ <require>
+ <type name="GLclampf" comment="No longer used in GL 1.1, but still defined in Mesa gl.h"/>
+ <type name="GLclampd" comment="No longer used in GL 1.1, but still defined in Mesa gl.h"/>
+ <!-- Many of these are really VERSION_1_0 enums -->
+ <enum name="GL_DEPTH_BUFFER_BIT"/>
+ <enum name="GL_STENCIL_BUFFER_BIT"/>
+ <enum name="GL_COLOR_BUFFER_BIT"/>
+ <enum name="GL_FALSE"/>
+ <enum name="GL_TRUE"/>
+ <enum name="GL_POINTS"/>
+ <enum name="GL_LINES"/>
+ <enum name="GL_LINE_LOOP"/>
+ <enum name="GL_LINE_STRIP"/>
+ <enum name="GL_TRIANGLES"/>
+ <enum name="GL_TRIANGLE_STRIP"/>
+ <enum name="GL_TRIANGLE_FAN"/>
+ <enum name="GL_QUADS"/>
+ <enum name="GL_NEVER"/>
+ <enum name="GL_LESS"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_LEQUAL"/>
+ <enum name="GL_GREATER"/>
+ <enum name="GL_NOTEQUAL"/>
+ <enum name="GL_GEQUAL"/>
+ <enum name="GL_ALWAYS"/>
+ <enum name="GL_ZERO"/>
+ <enum name="GL_ONE"/>
+ <enum name="GL_SRC_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC_COLOR"/>
+ <enum name="GL_SRC_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum name="GL_DST_ALPHA"/>
+ <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum name="GL_DST_COLOR"/>
+ <enum name="GL_ONE_MINUS_DST_COLOR"/>
+ <enum name="GL_SRC_ALPHA_SATURATE"/>
+ <enum name="GL_NONE"/>
+ <enum name="GL_FRONT_LEFT"/>
+ <enum name="GL_FRONT_RIGHT"/>
+ <enum name="GL_BACK_LEFT"/>
+ <enum name="GL_BACK_RIGHT"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_BACK"/>
+ <enum name="GL_LEFT"/>
+ <enum name="GL_RIGHT"/>
+ <enum name="GL_FRONT_AND_BACK"/>
+ <enum name="GL_NO_ERROR"/>
+ <enum name="GL_INVALID_ENUM"/>
+ <enum name="GL_INVALID_VALUE"/>
+ <enum name="GL_INVALID_OPERATION"/>
+ <enum name="GL_OUT_OF_MEMORY"/>
+ <enum name="GL_CW"/>
+ <enum name="GL_CCW"/>
+ <enum name="GL_POINT_SIZE"/>
+ <enum name="GL_POINT_SIZE_RANGE"/>
+ <enum name="GL_POINT_SIZE_GRANULARITY"/>
+ <enum name="GL_LINE_SMOOTH"/>
+ <enum name="GL_LINE_WIDTH"/>
+ <enum name="GL_LINE_WIDTH_RANGE"/>
+ <enum name="GL_LINE_WIDTH_GRANULARITY"/>
+ <enum name="GL_POLYGON_MODE"/>
+ <enum name="GL_POLYGON_SMOOTH"/>
+ <enum name="GL_CULL_FACE"/>
+ <enum name="GL_CULL_FACE_MODE"/>
+ <enum name="GL_FRONT_FACE"/>
+ <enum name="GL_DEPTH_RANGE"/>
+ <enum name="GL_DEPTH_TEST"/>
+ <enum name="GL_DEPTH_WRITEMASK"/>
+ <enum name="GL_DEPTH_CLEAR_VALUE"/>
+ <enum name="GL_DEPTH_FUNC"/>
+ <enum name="GL_STENCIL_TEST"/>
+ <enum name="GL_STENCIL_CLEAR_VALUE"/>
+ <enum name="GL_STENCIL_FUNC"/>
+ <enum name="GL_STENCIL_VALUE_MASK"/>
+ <enum name="GL_STENCIL_FAIL"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
+ <enum name="GL_STENCIL_REF"/>
+ <enum name="GL_STENCIL_WRITEMASK"/>
+ <enum name="GL_VIEWPORT"/>
+ <enum name="GL_DITHER"/>
+ <enum name="GL_BLEND_DST"/>
+ <enum name="GL_BLEND_SRC"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_LOGIC_OP_MODE"/>
+ <enum name="GL_COLOR_LOGIC_OP"/>
+ <enum name="GL_DRAW_BUFFER"/>
+ <enum name="GL_READ_BUFFER"/>
+ <enum name="GL_SCISSOR_BOX"/>
+ <enum name="GL_SCISSOR_TEST"/>
+ <enum name="GL_COLOR_CLEAR_VALUE"/>
+ <enum name="GL_COLOR_WRITEMASK"/>
+ <enum name="GL_DOUBLEBUFFER"/>
+ <enum name="GL_STEREO"/>
+ <enum name="GL_LINE_SMOOTH_HINT"/>
+ <enum name="GL_POLYGON_SMOOTH_HINT"/>
+ <enum name="GL_UNPACK_SWAP_BYTES"/>
+ <enum name="GL_UNPACK_LSB_FIRST"/>
+ <enum name="GL_UNPACK_ROW_LENGTH"/>
+ <enum name="GL_UNPACK_SKIP_ROWS"/>
+ <enum name="GL_UNPACK_SKIP_PIXELS"/>
+ <enum name="GL_UNPACK_ALIGNMENT"/>
+ <enum name="GL_PACK_SWAP_BYTES"/>
+ <enum name="GL_PACK_LSB_FIRST"/>
+ <enum name="GL_PACK_ROW_LENGTH"/>
+ <enum name="GL_PACK_SKIP_ROWS"/>
+ <enum name="GL_PACK_SKIP_PIXELS"/>
+ <enum name="GL_PACK_ALIGNMENT"/>
+ <enum name="GL_MAX_TEXTURE_SIZE"/>
+ <enum name="GL_MAX_VIEWPORT_DIMS"/>
+ <enum name="GL_SUBPIXEL_BITS"/>
+ <enum name="GL_TEXTURE_1D"/>
+ <enum name="GL_TEXTURE_2D"/>
+ <enum name="GL_POLYGON_OFFSET_UNITS"/>
+ <enum name="GL_POLYGON_OFFSET_POINT"/>
+ <enum name="GL_POLYGON_OFFSET_LINE"/>
+ <enum name="GL_POLYGON_OFFSET_FILL"/>
+ <enum name="GL_POLYGON_OFFSET_FACTOR"/>
+ <enum name="GL_TEXTURE_BINDING_1D"/>
+ <enum name="GL_TEXTURE_BINDING_2D"/>
+ <enum name="GL_TEXTURE_WIDTH"/>
+ <enum name="GL_TEXTURE_HEIGHT"/>
+ <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
+ <enum name="GL_TEXTURE_BORDER_COLOR"/>
+ <enum name="GL_TEXTURE_RED_SIZE"/>
+ <enum name="GL_TEXTURE_GREEN_SIZE"/>
+ <enum name="GL_TEXTURE_BLUE_SIZE"/>
+ <enum name="GL_TEXTURE_ALPHA_SIZE"/>
+ <enum name="GL_DONT_CARE"/>
+ <enum name="GL_FASTEST"/>
+ <enum name="GL_NICEST"/>
+ <enum name="GL_BYTE"/>
+ <enum name="GL_UNSIGNED_BYTE"/>
+ <enum name="GL_SHORT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_STACK_OVERFLOW"/>
+ <enum name="GL_STACK_UNDERFLOW"/>
+ <enum name="GL_CLEAR"/>
+ <enum name="GL_AND"/>
+ <enum name="GL_AND_REVERSE"/>
+ <enum name="GL_COPY"/>
+ <enum name="GL_AND_INVERTED"/>
+ <enum name="GL_NOOP"/>
+ <enum name="GL_XOR"/>
+ <enum name="GL_OR"/>
+ <enum name="GL_NOR"/>
+ <enum name="GL_EQUIV"/>
+ <enum name="GL_INVERT"/>
+ <enum name="GL_OR_REVERSE"/>
+ <enum name="GL_COPY_INVERTED"/>
+ <enum name="GL_OR_INVERTED"/>
+ <enum name="GL_NAND"/>
+ <enum name="GL_SET"/>
+ <enum name="GL_TEXTURE"/>
+ <enum name="GL_COLOR"/>
+ <enum name="GL_DEPTH"/>
+ <enum name="GL_STENCIL"/>
+ <enum name="GL_STENCIL_INDEX"/>
+ <enum name="GL_DEPTH_COMPONENT"/>
+ <enum name="GL_RED"/>
+ <enum name="GL_GREEN"/>
+ <enum name="GL_BLUE"/>
+ <enum name="GL_ALPHA"/>
+ <enum name="GL_RGB"/>
+ <enum name="GL_RGBA"/>
+ <enum name="GL_POINT"/>
+ <enum name="GL_LINE"/>
+ <enum name="GL_FILL"/>
+ <enum name="GL_KEEP"/>
+ <enum name="GL_REPLACE"/>
+ <enum name="GL_INCR"/>
+ <enum name="GL_DECR"/>
+ <enum name="GL_VENDOR"/>
+ <enum name="GL_RENDERER"/>
+ <enum name="GL_VERSION"/>
+ <enum name="GL_EXTENSIONS"/>
+ <enum name="GL_NEAREST"/>
+ <enum name="GL_LINEAR"/>
+ <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+ <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+ <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+ <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+ <enum name="GL_TEXTURE_MAG_FILTER"/>
+ <enum name="GL_TEXTURE_MIN_FILTER"/>
+ <enum name="GL_TEXTURE_WRAP_S"/>
+ <enum name="GL_TEXTURE_WRAP_T"/>
+ <enum name="GL_PROXY_TEXTURE_1D"/>
+ <enum name="GL_PROXY_TEXTURE_2D"/>
+ <enum name="GL_REPEAT"/>
+ <enum name="GL_R3_G3_B2"/>
+ <enum name="GL_RGB4"/>
+ <enum name="GL_RGB5"/>
+ <enum name="GL_RGB8"/>
+ <enum name="GL_RGB10"/>
+ <enum name="GL_RGB12"/>
+ <enum name="GL_RGB16"/>
+ <enum name="GL_RGBA2"/>
+ <enum name="GL_RGBA4"/>
+ <enum name="GL_RGB5_A1"/>
+ <enum name="GL_RGBA8"/>
+ <enum name="GL_RGB10_A2"/>
+ <enum name="GL_RGBA12"/>
+ <enum name="GL_RGBA16"/>
+ <enum name="GL_CURRENT_BIT"/>
+ <enum name="GL_POINT_BIT"/>
+ <enum name="GL_LINE_BIT"/>
+ <enum name="GL_POLYGON_BIT"/>
+ <enum name="GL_POLYGON_STIPPLE_BIT"/>
+ <enum name="GL_PIXEL_MODE_BIT"/>
+ <enum name="GL_LIGHTING_BIT"/>
+ <enum name="GL_FOG_BIT"/>
+ <enum name="GL_ACCUM_BUFFER_BIT"/>
+ <enum name="GL_VIEWPORT_BIT"/>
+ <enum name="GL_TRANSFORM_BIT"/>
+ <enum name="GL_ENABLE_BIT"/>
+ <enum name="GL_HINT_BIT"/>
+ <enum name="GL_EVAL_BIT"/>
+ <enum name="GL_LIST_BIT"/>
+ <enum name="GL_TEXTURE_BIT"/>
+ <enum name="GL_SCISSOR_BIT"/>
+ <enum name="GL_ALL_ATTRIB_BITS"/>
+ <enum name="GL_CLIENT_PIXEL_STORE_BIT"/>
+ <enum name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
+ <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
+ <enum name="GL_QUAD_STRIP"/>
+ <enum name="GL_POLYGON"/>
+ <enum name="GL_ACCUM"/>
+ <enum name="GL_LOAD"/>
+ <enum name="GL_RETURN"/>
+ <enum name="GL_MULT"/>
+ <enum name="GL_ADD"/>
+ <enum name="GL_AUX0"/>
+ <enum name="GL_AUX1"/>
+ <enum name="GL_AUX2"/>
+ <enum name="GL_AUX3"/>
+ <enum name="GL_2D"/>
+ <enum name="GL_3D"/>
+ <enum name="GL_3D_COLOR"/>
+ <enum name="GL_3D_COLOR_TEXTURE"/>
+ <enum name="GL_4D_COLOR_TEXTURE"/>
+ <enum name="GL_PASS_THROUGH_TOKEN"/>
+ <enum name="GL_POINT_TOKEN"/>
+ <enum name="GL_LINE_TOKEN"/>
+ <enum name="GL_POLYGON_TOKEN"/>
+ <enum name="GL_BITMAP_TOKEN"/>
+ <enum name="GL_DRAW_PIXEL_TOKEN"/>
+ <enum name="GL_COPY_PIXEL_TOKEN"/>
+ <enum name="GL_LINE_RESET_TOKEN"/>
+ <enum name="GL_EXP"/>
+ <enum name="GL_EXP2"/>
+ <enum name="GL_COEFF"/>
+ <enum name="GL_ORDER"/>
+ <enum name="GL_DOMAIN"/>
+ <enum name="GL_PIXEL_MAP_I_TO_I"/>
+ <enum name="GL_PIXEL_MAP_S_TO_S"/>
+ <enum name="GL_PIXEL_MAP_I_TO_R"/>
+ <enum name="GL_PIXEL_MAP_I_TO_G"/>
+ <enum name="GL_PIXEL_MAP_I_TO_B"/>
+ <enum name="GL_PIXEL_MAP_I_TO_A"/>
+ <enum name="GL_PIXEL_MAP_R_TO_R"/>
+ <enum name="GL_PIXEL_MAP_G_TO_G"/>
+ <enum name="GL_PIXEL_MAP_B_TO_B"/>
+ <enum name="GL_PIXEL_MAP_A_TO_A"/>
+ <enum name="GL_VERTEX_ARRAY_POINTER"/>
+ <enum name="GL_NORMAL_ARRAY_POINTER"/>
+ <enum name="GL_COLOR_ARRAY_POINTER"/>
+ <enum name="GL_INDEX_ARRAY_POINTER"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_POINTER"/>
+ <enum name="GL_FEEDBACK_BUFFER_POINTER"/>
+ <enum name="GL_SELECTION_BUFFER_POINTER"/>
+ <enum name="GL_CURRENT_COLOR"/>
+ <enum name="GL_CURRENT_INDEX"/>
+ <enum name="GL_CURRENT_NORMAL"/>
+ <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+ <enum name="GL_CURRENT_RASTER_COLOR"/>
+ <enum name="GL_CURRENT_RASTER_INDEX"/>
+ <enum name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
+ <enum name="GL_CURRENT_RASTER_POSITION"/>
+ <enum name="GL_CURRENT_RASTER_POSITION_VALID"/>
+ <enum name="GL_CURRENT_RASTER_DISTANCE"/>
+ <enum name="GL_POINT_SMOOTH"/>
+ <enum name="GL_LINE_STIPPLE"/>
+ <enum name="GL_LINE_STIPPLE_PATTERN"/>
+ <enum name="GL_LINE_STIPPLE_REPEAT"/>
+ <enum name="GL_LIST_MODE"/>
+ <enum name="GL_MAX_LIST_NESTING"/>
+ <enum name="GL_LIST_BASE"/>
+ <enum name="GL_LIST_INDEX"/>
+ <enum name="GL_POLYGON_STIPPLE"/>
+ <enum name="GL_EDGE_FLAG"/>
+ <enum name="GL_LIGHTING"/>
+ <enum name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
+ <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
+ <enum name="GL_LIGHT_MODEL_AMBIENT"/>
+ <enum name="GL_SHADE_MODEL"/>
+ <enum name="GL_COLOR_MATERIAL_FACE"/>
+ <enum name="GL_COLOR_MATERIAL_PARAMETER"/>
+ <enum name="GL_COLOR_MATERIAL"/>
+ <enum name="GL_FOG"/>
+ <enum name="GL_FOG_INDEX"/>
+ <enum name="GL_FOG_DENSITY"/>
+ <enum name="GL_FOG_START"/>
+ <enum name="GL_FOG_END"/>
+ <enum name="GL_FOG_MODE"/>
+ <enum name="GL_FOG_COLOR"/>
+ <enum name="GL_ACCUM_CLEAR_VALUE"/>
+ <enum name="GL_MATRIX_MODE"/>
+ <enum name="GL_NORMALIZE"/>
+ <enum name="GL_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_MODELVIEW_MATRIX"/>
+ <enum name="GL_PROJECTION_MATRIX"/>
+ <enum name="GL_TEXTURE_MATRIX"/>
+ <enum name="GL_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_CLIENT_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_ALPHA_TEST"/>
+ <enum name="GL_ALPHA_TEST_FUNC"/>
+ <enum name="GL_ALPHA_TEST_REF"/>
+ <enum name="GL_INDEX_LOGIC_OP"/>
+ <enum name="GL_LOGIC_OP"/>
+ <enum name="GL_AUX_BUFFERS"/>
+ <enum name="GL_INDEX_CLEAR_VALUE"/>
+ <enum name="GL_INDEX_WRITEMASK"/>
+ <enum name="GL_INDEX_MODE"/>
+ <enum name="GL_RGBA_MODE"/>
+ <enum name="GL_RENDER_MODE"/>
+ <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+ <enum name="GL_POINT_SMOOTH_HINT"/>
+ <enum name="GL_FOG_HINT"/>
+ <enum name="GL_TEXTURE_GEN_S"/>
+ <enum name="GL_TEXTURE_GEN_T"/>
+ <enum name="GL_TEXTURE_GEN_R"/>
+ <enum name="GL_TEXTURE_GEN_Q"/>
+ <enum name="GL_PIXEL_MAP_I_TO_I_SIZE"/>
+ <enum name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_G_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_B_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_A_SIZE"/>
+ <enum name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
+ <enum name="GL_PIXEL_MAP_G_TO_G_SIZE"/>
+ <enum name="GL_PIXEL_MAP_B_TO_B_SIZE"/>
+ <enum name="GL_PIXEL_MAP_A_TO_A_SIZE"/>
+ <enum name="GL_MAP_COLOR"/>
+ <enum name="GL_MAP_STENCIL"/>
+ <enum name="GL_INDEX_SHIFT"/>
+ <enum name="GL_INDEX_OFFSET"/>
+ <enum name="GL_RED_SCALE"/>
+ <enum name="GL_RED_BIAS"/>
+ <enum name="GL_ZOOM_X"/>
+ <enum name="GL_ZOOM_Y"/>
+ <enum name="GL_GREEN_SCALE"/>
+ <enum name="GL_GREEN_BIAS"/>
+ <enum name="GL_BLUE_SCALE"/>
+ <enum name="GL_BLUE_BIAS"/>
+ <enum name="GL_ALPHA_SCALE"/>
+ <enum name="GL_ALPHA_BIAS"/>
+ <enum name="GL_DEPTH_SCALE"/>
+ <enum name="GL_DEPTH_BIAS"/>
+ <enum name="GL_MAX_EVAL_ORDER"/>
+ <enum name="GL_MAX_LIGHTS"/>
+ <enum name="GL_MAX_CLIP_PLANES"/>
+ <enum name="GL_MAX_PIXEL_MAP_TABLE"/>
+ <enum name="GL_MAX_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_MAX_NAME_STACK_DEPTH"/>
+ <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_INDEX_BITS"/>
+ <enum name="GL_RED_BITS"/>
+ <enum name="GL_GREEN_BITS"/>
+ <enum name="GL_BLUE_BITS"/>
+ <enum name="GL_ALPHA_BITS"/>
+ <enum name="GL_DEPTH_BITS"/>
+ <enum name="GL_STENCIL_BITS"/>
+ <enum name="GL_ACCUM_RED_BITS"/>
+ <enum name="GL_ACCUM_GREEN_BITS"/>
+ <enum name="GL_ACCUM_BLUE_BITS"/>
+ <enum name="GL_ACCUM_ALPHA_BITS"/>
+ <enum name="GL_NAME_STACK_DEPTH"/>
+ <enum name="GL_AUTO_NORMAL"/>
+ <enum name="GL_MAP1_COLOR_4"/>
+ <enum name="GL_MAP1_INDEX"/>
+ <enum name="GL_MAP1_NORMAL"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP1_VERTEX_3"/>
+ <enum name="GL_MAP1_VERTEX_4"/>
+ <enum name="GL_MAP2_COLOR_4"/>
+ <enum name="GL_MAP2_INDEX"/>
+ <enum name="GL_MAP2_NORMAL"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP2_VERTEX_3"/>
+ <enum name="GL_MAP2_VERTEX_4"/>
+ <enum name="GL_MAP1_GRID_DOMAIN"/>
+ <enum name="GL_MAP1_GRID_SEGMENTS"/>
+ <enum name="GL_MAP2_GRID_DOMAIN"/>
+ <enum name="GL_MAP2_GRID_SEGMENTS"/>
+ <enum name="GL_FEEDBACK_BUFFER_SIZE"/>
+ <enum name="GL_FEEDBACK_BUFFER_TYPE"/>
+ <enum name="GL_SELECTION_BUFFER_SIZE"/>
+ <enum name="GL_VERTEX_ARRAY"/>
+ <enum name="GL_NORMAL_ARRAY"/>
+ <enum name="GL_COLOR_ARRAY"/>
+ <enum name="GL_INDEX_ARRAY"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY"/>
+ <enum name="GL_EDGE_FLAG_ARRAY"/>
+ <enum name="GL_VERTEX_ARRAY_SIZE"/>
+ <enum name="GL_VERTEX_ARRAY_TYPE"/>
+ <enum name="GL_VERTEX_ARRAY_STRIDE"/>
+ <enum name="GL_NORMAL_ARRAY_TYPE"/>
+ <enum name="GL_NORMAL_ARRAY_STRIDE"/>
+ <enum name="GL_COLOR_ARRAY_SIZE"/>
+ <enum name="GL_COLOR_ARRAY_TYPE"/>
+ <enum name="GL_COLOR_ARRAY_STRIDE"/>
+ <enum name="GL_INDEX_ARRAY_TYPE"/>
+ <enum name="GL_INDEX_ARRAY_STRIDE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
+ <enum name="GL_TEXTURE_COMPONENTS"/>
+ <enum name="GL_TEXTURE_BORDER"/>
+ <enum name="GL_TEXTURE_LUMINANCE_SIZE"/>
+ <enum name="GL_TEXTURE_INTENSITY_SIZE"/>
+ <enum name="GL_TEXTURE_PRIORITY"/>
+ <enum name="GL_TEXTURE_RESIDENT"/>
+ <enum name="GL_AMBIENT"/>
+ <enum name="GL_DIFFUSE"/>
+ <enum name="GL_SPECULAR"/>
+ <enum name="GL_POSITION"/>
+ <enum name="GL_SPOT_DIRECTION"/>
+ <enum name="GL_SPOT_EXPONENT"/>
+ <enum name="GL_SPOT_CUTOFF"/>
+ <enum name="GL_CONSTANT_ATTENUATION"/>
+ <enum name="GL_LINEAR_ATTENUATION"/>
+ <enum name="GL_QUADRATIC_ATTENUATION"/>
+ <enum name="GL_COMPILE"/>
+ <enum name="GL_COMPILE_AND_EXECUTE"/>
+ <enum name="GL_2_BYTES"/>
+ <enum name="GL_3_BYTES"/>
+ <enum name="GL_4_BYTES"/>
+ <enum name="GL_EMISSION"/>
+ <enum name="GL_SHININESS"/>
+ <enum name="GL_AMBIENT_AND_DIFFUSE"/>
+ <enum name="GL_COLOR_INDEXES"/>
+ <enum name="GL_MODELVIEW"/>
+ <enum name="GL_PROJECTION"/>
+ <enum name="GL_COLOR_INDEX"/>
+ <enum name="GL_LUMINANCE"/>
+ <enum name="GL_LUMINANCE_ALPHA"/>
+ <enum name="GL_BITMAP"/>
+ <enum name="GL_RENDER"/>
+ <enum name="GL_FEEDBACK"/>
+ <enum name="GL_SELECT"/>
+ <enum name="GL_FLAT"/>
+ <enum name="GL_SMOOTH"/>
+ <enum name="GL_S"/>
+ <enum name="GL_T"/>
+ <enum name="GL_R"/>
+ <enum name="GL_Q"/>
+ <enum name="GL_MODULATE"/>
+ <enum name="GL_DECAL"/>
+ <enum name="GL_TEXTURE_ENV_MODE"/>
+ <enum name="GL_TEXTURE_ENV_COLOR"/>
+ <enum name="GL_TEXTURE_ENV"/>
+ <enum name="GL_EYE_LINEAR"/>
+ <enum name="GL_OBJECT_LINEAR"/>
+ <enum name="GL_SPHERE_MAP"/>
+ <enum name="GL_TEXTURE_GEN_MODE"/>
+ <enum name="GL_OBJECT_PLANE"/>
+ <enum name="GL_EYE_PLANE"/>
+ <enum name="GL_CLAMP"/>
+ <enum name="GL_ALPHA4"/>
+ <enum name="GL_ALPHA8"/>
+ <enum name="GL_ALPHA12"/>
+ <enum name="GL_ALPHA16"/>
+ <enum name="GL_LUMINANCE4"/>
+ <enum name="GL_LUMINANCE8"/>
+ <enum name="GL_LUMINANCE12"/>
+ <enum name="GL_LUMINANCE16"/>
+ <enum name="GL_LUMINANCE4_ALPHA4"/>
+ <enum name="GL_LUMINANCE6_ALPHA2"/>
+ <enum name="GL_LUMINANCE8_ALPHA8"/>
+ <enum name="GL_LUMINANCE12_ALPHA4"/>
+ <enum name="GL_LUMINANCE12_ALPHA12"/>
+ <enum name="GL_LUMINANCE16_ALPHA16"/>
+ <enum name="GL_INTENSITY"/>
+ <enum name="GL_INTENSITY4"/>
+ <enum name="GL_INTENSITY8"/>
+ <enum name="GL_INTENSITY12"/>
+ <enum name="GL_INTENSITY16"/>
+ <enum name="GL_V2F"/>
+ <enum name="GL_V3F"/>
+ <enum name="GL_C4UB_V2F"/>
+ <enum name="GL_C4UB_V3F"/>
+ <enum name="GL_C3F_V3F"/>
+ <enum name="GL_N3F_V3F"/>
+ <enum name="GL_C4F_N3F_V3F"/>
+ <enum name="GL_T2F_V3F"/>
+ <enum name="GL_T4F_V4F"/>
+ <enum name="GL_T2F_C4UB_V3F"/>
+ <enum name="GL_T2F_C3F_V3F"/>
+ <enum name="GL_T2F_N3F_V3F"/>
+ <enum name="GL_T2F_C4F_N3F_V3F"/>
+ <enum name="GL_T4F_C4F_N3F_V4F"/>
+ <enum name="GL_CLIP_PLANE0"/>
+ <enum name="GL_CLIP_PLANE1"/>
+ <enum name="GL_CLIP_PLANE2"/>
+ <enum name="GL_CLIP_PLANE3"/>
+ <enum name="GL_CLIP_PLANE4"/>
+ <enum name="GL_CLIP_PLANE5"/>
+ <enum name="GL_LIGHT0"/>
+ <enum name="GL_LIGHT1"/>
+ <enum name="GL_LIGHT2"/>
+ <enum name="GL_LIGHT3"/>
+ <enum name="GL_LIGHT4"/>
+ <enum name="GL_LIGHT5"/>
+ <enum name="GL_LIGHT6"/>
+ <enum name="GL_LIGHT7"/>
+ <command name="glDrawArrays"/>
+ <command name="glDrawElements"/>
+ <command name="glGetPointerv"/>
+ <command name="glPolygonOffset"/>
+ <command name="glCopyTexImage1D"/>
+ <command name="glCopyTexImage2D"/>
+ <command name="glCopyTexSubImage1D"/>
+ <command name="glCopyTexSubImage2D"/>
+ <command name="glTexSubImage1D"/>
+ <command name="glTexSubImage2D"/>
+ <command name="glBindTexture"/>
+ <command name="glDeleteTextures"/>
+ <command name="glGenTextures"/>
+ <command name="glIsTexture"/>
+ <command name="glArrayElement"/>
+ <command name="glColorPointer"/>
+ <command name="glDisableClientState"/>
+ <command name="glEdgeFlagPointer"/>
+ <command name="glEnableClientState"/>
+ <command name="glIndexPointer"/>
+ <command name="glInterleavedArrays"/>
+ <command name="glNormalPointer"/>
+ <command name="glTexCoordPointer"/>
+ <command name="glVertexPointer"/>
+ <command name="glAreTexturesResident"/>
+ <command name="glPrioritizeTextures"/>
+ <command name="glIndexub"/>
+ <command name="glIndexubv"/>
+ <command name="glPopClientAttrib"/>
+ <command name="glPushClientAttrib"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_1_2" number="1.2">
+ <require>
+ <enum name="GL_UNSIGNED_BYTE_3_3_2"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <enum name="GL_UNSIGNED_INT_8_8_8_8"/>
+ <enum name="GL_UNSIGNED_INT_10_10_10_2"/>
+ <enum name="GL_TEXTURE_BINDING_3D"/>
+ <enum name="GL_PACK_SKIP_IMAGES"/>
+ <enum name="GL_PACK_IMAGE_HEIGHT"/>
+ <enum name="GL_UNPACK_SKIP_IMAGES"/>
+ <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
+ <enum name="GL_TEXTURE_3D"/>
+ <enum name="GL_PROXY_TEXTURE_3D"/>
+ <enum name="GL_TEXTURE_DEPTH"/>
+ <enum name="GL_TEXTURE_WRAP_R"/>
+ <enum name="GL_MAX_3D_TEXTURE_SIZE"/>
+ <enum name="GL_UNSIGNED_BYTE_2_3_3_REV"/>
+ <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <enum name="GL_UNSIGNED_SHORT_5_6_5_REV"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4_REV"/>
+ <enum name="GL_UNSIGNED_SHORT_1_5_5_5_REV"/>
+ <enum name="GL_UNSIGNED_INT_8_8_8_8_REV"/>
+ <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+ <enum name="GL_BGR"/>
+ <enum name="GL_BGRA"/>
+ <enum name="GL_MAX_ELEMENTS_VERTICES"/>
+ <enum name="GL_MAX_ELEMENTS_INDICES"/>
+ <enum name="GL_CLAMP_TO_EDGE"/>
+ <enum name="GL_TEXTURE_MIN_LOD"/>
+ <enum name="GL_TEXTURE_MAX_LOD"/>
+ <enum name="GL_TEXTURE_BASE_LEVEL"/>
+ <enum name="GL_TEXTURE_MAX_LEVEL"/>
+ <enum name="GL_SMOOTH_POINT_SIZE_RANGE"/>
+ <enum name="GL_SMOOTH_POINT_SIZE_GRANULARITY"/>
+ <enum name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
+ <enum name="GL_SMOOTH_LINE_WIDTH_GRANULARITY"/>
+ <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+ <enum name="GL_RESCALE_NORMAL"/>
+ <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
+ <enum name="GL_SINGLE_COLOR"/>
+ <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
+ <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+ <command name="glDrawRangeElements"/>
+ <command name="glTexImage3D"/>
+ <command name="glTexSubImage3D"/>
+ <command name="glCopyTexSubImage3D"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_1_3" number="1.3">
+ <require>
+ <enum name="GL_TEXTURE0"/>
+ <enum name="GL_TEXTURE1"/>
+ <enum name="GL_TEXTURE2"/>
+ <enum name="GL_TEXTURE3"/>
+ <enum name="GL_TEXTURE4"/>
+ <enum name="GL_TEXTURE5"/>
+ <enum name="GL_TEXTURE6"/>
+ <enum name="GL_TEXTURE7"/>
+ <enum name="GL_TEXTURE8"/>
+ <enum name="GL_TEXTURE9"/>
+ <enum name="GL_TEXTURE10"/>
+ <enum name="GL_TEXTURE11"/>
+ <enum name="GL_TEXTURE12"/>
+ <enum name="GL_TEXTURE13"/>
+ <enum name="GL_TEXTURE14"/>
+ <enum name="GL_TEXTURE15"/>
+ <enum name="GL_TEXTURE16"/>
+ <enum name="GL_TEXTURE17"/>
+ <enum name="GL_TEXTURE18"/>
+ <enum name="GL_TEXTURE19"/>
+ <enum name="GL_TEXTURE20"/>
+ <enum name="GL_TEXTURE21"/>
+ <enum name="GL_TEXTURE22"/>
+ <enum name="GL_TEXTURE23"/>
+ <enum name="GL_TEXTURE24"/>
+ <enum name="GL_TEXTURE25"/>
+ <enum name="GL_TEXTURE26"/>
+ <enum name="GL_TEXTURE27"/>
+ <enum name="GL_TEXTURE28"/>
+ <enum name="GL_TEXTURE29"/>
+ <enum name="GL_TEXTURE30"/>
+ <enum name="GL_TEXTURE31"/>
+ <enum name="GL_ACTIVE_TEXTURE"/>
+ <enum name="GL_MULTISAMPLE"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_ONE"/>
+ <enum name="GL_SAMPLE_COVERAGE"/>
+ <enum name="GL_SAMPLE_BUFFERS"/>
+ <enum name="GL_SAMPLES"/>
+ <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
+ <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
+ <enum name="GL_PROXY_TEXTURE_CUBE_MAP"/>
+ <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+ <enum name="GL_COMPRESSED_RGB"/>
+ <enum name="GL_COMPRESSED_RGBA"/>
+ <enum name="GL_TEXTURE_COMPRESSION_HINT"/>
+ <enum name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE"/>
+ <enum name="GL_TEXTURE_COMPRESSED"/>
+ <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum name="GL_CLAMP_TO_BORDER"/>
+ <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
+ <enum name="GL_MAX_TEXTURE_UNITS"/>
+ <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
+ <enum name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
+ <enum name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
+ <enum name="GL_TRANSPOSE_COLOR_MATRIX"/>
+ <enum name="GL_MULTISAMPLE_BIT"/>
+ <enum name="GL_NORMAL_MAP"/>
+ <enum name="GL_REFLECTION_MAP"/>
+ <enum name="GL_COMPRESSED_ALPHA"/>
+ <enum name="GL_COMPRESSED_LUMINANCE"/>
+ <enum name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
+ <enum name="GL_COMPRESSED_INTENSITY"/>
+ <enum name="GL_COMBINE"/>
+ <enum name="GL_COMBINE_RGB"/>
+ <enum name="GL_COMBINE_ALPHA"/>
+ <enum name="GL_SOURCE0_RGB"/>
+ <enum name="GL_SOURCE1_RGB"/>
+ <enum name="GL_SOURCE2_RGB"/>
+ <enum name="GL_SOURCE0_ALPHA"/>
+ <enum name="GL_SOURCE1_ALPHA"/>
+ <enum name="GL_SOURCE2_ALPHA"/>
+ <enum name="GL_OPERAND0_RGB"/>
+ <enum name="GL_OPERAND1_RGB"/>
+ <enum name="GL_OPERAND2_RGB"/>
+ <enum name="GL_OPERAND0_ALPHA"/>
+ <enum name="GL_OPERAND1_ALPHA"/>
+ <enum name="GL_OPERAND2_ALPHA"/>
+ <enum name="GL_RGB_SCALE"/>
+ <enum name="GL_ADD_SIGNED"/>
+ <enum name="GL_INTERPOLATE"/>
+ <enum name="GL_SUBTRACT"/>
+ <enum name="GL_CONSTANT"/>
+ <enum name="GL_PRIMARY_COLOR"/>
+ <enum name="GL_PREVIOUS"/>
+ <enum name="GL_DOT3_RGB"/>
+ <enum name="GL_DOT3_RGBA"/>
+ <command name="glActiveTexture"/>
+ <command name="glSampleCoverage"/>
+ <command name="glCompressedTexImage3D"/>
+ <command name="glCompressedTexImage2D"/>
+ <command name="glCompressedTexImage1D"/>
+ <command name="glCompressedTexSubImage3D"/>
+ <command name="glCompressedTexSubImage2D"/>
+ <command name="glCompressedTexSubImage1D"/>
+ <command name="glGetCompressedTexImage"/>
+ <command name="glClientActiveTexture"/>
+ <command name="glMultiTexCoord1d"/>
+ <command name="glMultiTexCoord1dv"/>
+ <command name="glMultiTexCoord1f"/>
+ <command name="glMultiTexCoord1fv"/>
+ <command name="glMultiTexCoord1i"/>
+ <command name="glMultiTexCoord1iv"/>
+ <command name="glMultiTexCoord1s"/>
+ <command name="glMultiTexCoord1sv"/>
+ <command name="glMultiTexCoord2d"/>
+ <command name="glMultiTexCoord2dv"/>
+ <command name="glMultiTexCoord2f"/>
+ <command name="glMultiTexCoord2fv"/>
+ <command name="glMultiTexCoord2i"/>
+ <command name="glMultiTexCoord2iv"/>
+ <command name="glMultiTexCoord2s"/>
+ <command name="glMultiTexCoord2sv"/>
+ <command name="glMultiTexCoord3d"/>
+ <command name="glMultiTexCoord3dv"/>
+ <command name="glMultiTexCoord3f"/>
+ <command name="glMultiTexCoord3fv"/>
+ <command name="glMultiTexCoord3i"/>
+ <command name="glMultiTexCoord3iv"/>
+ <command name="glMultiTexCoord3s"/>
+ <command name="glMultiTexCoord3sv"/>
+ <command name="glMultiTexCoord4d"/>
+ <command name="glMultiTexCoord4dv"/>
+ <command name="glMultiTexCoord4f"/>
+ <command name="glMultiTexCoord4fv"/>
+ <command name="glMultiTexCoord4i"/>
+ <command name="glMultiTexCoord4iv"/>
+ <command name="glMultiTexCoord4s"/>
+ <command name="glMultiTexCoord4sv"/>
+ <command name="glLoadTransposeMatrixf"/>
+ <command name="glLoadTransposeMatrixd"/>
+ <command name="glMultTransposeMatrixf"/>
+ <command name="glMultTransposeMatrixd"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_1_4" number="1.4">
+ <require>
+ <enum name="GL_BLEND_DST_RGB"/>
+ <enum name="GL_BLEND_SRC_RGB"/>
+ <enum name="GL_BLEND_DST_ALPHA"/>
+ <enum name="GL_BLEND_SRC_ALPHA"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+ <enum name="GL_DEPTH_COMPONENT16"/>
+ <enum name="GL_DEPTH_COMPONENT24"/>
+ <enum name="GL_DEPTH_COMPONENT32"/>
+ <enum name="GL_MIRRORED_REPEAT"/>
+ <enum name="GL_MAX_TEXTURE_LOD_BIAS"/>
+ <enum name="GL_TEXTURE_LOD_BIAS"/>
+ <enum name="GL_INCR_WRAP"/>
+ <enum name="GL_DECR_WRAP"/>
+ <enum name="GL_TEXTURE_DEPTH_SIZE"/>
+ <enum name="GL_TEXTURE_COMPARE_MODE"/>
+ <enum name="GL_TEXTURE_COMPARE_FUNC"/>
+ <enum name="GL_POINT_SIZE_MIN"/>
+ <enum name="GL_POINT_SIZE_MAX"/>
+ <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+ <enum name="GL_GENERATE_MIPMAP"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT"/>
+ <enum name="GL_FOG_COORDINATE_SOURCE"/>
+ <enum name="GL_FOG_COORDINATE"/>
+ <enum name="GL_FRAGMENT_DEPTH"/>
+ <enum name="GL_CURRENT_FOG_COORDINATE"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY"/>
+ <enum name="GL_COLOR_SUM"/>
+ <enum name="GL_CURRENT_SECONDARY_COLOR"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY"/>
+ <enum name="GL_TEXTURE_FILTER_CONTROL"/>
+ <enum name="GL_DEPTH_TEXTURE_MODE"/>
+ <enum name="GL_COMPARE_R_TO_TEXTURE"/>
+ <command name="glBlendFuncSeparate"/>
+ <command name="glMultiDrawArrays"/>
+ <command name="glMultiDrawElements"/>
+ <command name="glPointParameterf"/>
+ <command name="glPointParameterfv"/>
+ <command name="glPointParameteri"/>
+ <command name="glPointParameteriv"/>
+ <command name="glFogCoordf"/>
+ <command name="glFogCoordfv"/>
+ <command name="glFogCoordd"/>
+ <command name="glFogCoorddv"/>
+ <command name="glFogCoordPointer"/>
+ <command name="glSecondaryColor3b"/>
+ <command name="glSecondaryColor3bv"/>
+ <command name="glSecondaryColor3d"/>
+ <command name="glSecondaryColor3dv"/>
+ <command name="glSecondaryColor3f"/>
+ <command name="glSecondaryColor3fv"/>
+ <command name="glSecondaryColor3i"/>
+ <command name="glSecondaryColor3iv"/>
+ <command name="glSecondaryColor3s"/>
+ <command name="glSecondaryColor3sv"/>
+ <command name="glSecondaryColor3ub"/>
+ <command name="glSecondaryColor3ubv"/>
+ <command name="glSecondaryColor3ui"/>
+ <command name="glSecondaryColor3uiv"/>
+ <command name="glSecondaryColor3us"/>
+ <command name="glSecondaryColor3usv"/>
+ <command name="glSecondaryColorPointer"/>
+ <command name="glWindowPos2d"/>
+ <command name="glWindowPos2dv"/>
+ <command name="glWindowPos2f"/>
+ <command name="glWindowPos2fv"/>
+ <command name="glWindowPos2i"/>
+ <command name="glWindowPos2iv"/>
+ <command name="glWindowPos2s"/>
+ <command name="glWindowPos2sv"/>
+ <command name="glWindowPos3d"/>
+ <command name="glWindowPos3dv"/>
+ <command name="glWindowPos3f"/>
+ <command name="glWindowPos3fv"/>
+ <command name="glWindowPos3i"/>
+ <command name="glWindowPos3iv"/>
+ <command name="glWindowPos3s"/>
+ <command name="glWindowPos3sv"/>
+ </require>
+ <require comment="Promoted from ARB_imaging subset to core">
+ <enum name="GL_FUNC_ADD"/>
+ <enum name="GL_FUNC_SUBTRACT"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+ <enum name="GL_MIN"/>
+ <enum name="GL_MAX"/>
+ <enum name="GL_CONSTANT_COLOR"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+ <enum name="GL_CONSTANT_ALPHA"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+ <command name="glBlendColor"/>
+ <command name="glBlendEquation"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_1_5" number="1.5">
+ <require>
+ <enum name="GL_BUFFER_SIZE"/>
+ <enum name="GL_BUFFER_USAGE"/>
+ <enum name="GL_QUERY_COUNTER_BITS"/>
+ <enum name="GL_CURRENT_QUERY"/>
+ <enum name="GL_QUERY_RESULT"/>
+ <enum name="GL_QUERY_RESULT_AVAILABLE"/>
+ <enum name="GL_ARRAY_BUFFER"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+ <enum name="GL_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_READ_ONLY"/>
+ <enum name="GL_WRITE_ONLY"/>
+ <enum name="GL_READ_WRITE"/>
+ <enum name="GL_BUFFER_ACCESS"/>
+ <enum name="GL_BUFFER_MAPPED"/>
+ <enum name="GL_BUFFER_MAP_POINTER"/>
+ <enum name="GL_STREAM_DRAW"/>
+ <enum name="GL_STREAM_READ"/>
+ <enum name="GL_STREAM_COPY"/>
+ <enum name="GL_STATIC_DRAW"/>
+ <enum name="GL_STATIC_READ"/>
+ <enum name="GL_STATIC_COPY"/>
+ <enum name="GL_DYNAMIC_DRAW"/>
+ <enum name="GL_DYNAMIC_READ"/>
+ <enum name="GL_DYNAMIC_COPY"/>
+ <enum name="GL_SAMPLES_PASSED"/>
+ <enum name="GL_SRC1_ALPHA"/>
+ <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_FOG_COORD_SRC"/>
+ <enum name="GL_FOG_COORD"/>
+ <enum name="GL_CURRENT_FOG_COORD"/>
+ <enum name="GL_FOG_COORD_ARRAY_TYPE"/>
+ <enum name="GL_FOG_COORD_ARRAY_STRIDE"/>
+ <enum name="GL_FOG_COORD_ARRAY_POINTER"/>
+ <enum name="GL_FOG_COORD_ARRAY"/>
+ <enum name="GL_FOG_COORD_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_SRC0_RGB"/>
+ <enum name="GL_SRC1_RGB"/>
+ <enum name="GL_SRC2_RGB"/>
+ <enum name="GL_SRC0_ALPHA"/>
+ <enum name="GL_SRC2_ALPHA"/>
+ <command name="glGenQueries"/>
+ <command name="glDeleteQueries"/>
+ <command name="glIsQuery"/>
+ <command name="glBeginQuery"/>
+ <command name="glEndQuery"/>
+ <command name="glGetQueryiv"/>
+ <command name="glGetQueryObjectiv"/>
+ <command name="glGetQueryObjectuiv"/>
+ <command name="glBindBuffer"/>
+ <command name="glDeleteBuffers"/>
+ <command name="glGenBuffers"/>
+ <command name="glIsBuffer"/>
+ <command name="glBufferData"/>
+ <command name="glBufferSubData"/>
+ <command name="glGetBufferSubData"/>
+ <command name="glMapBuffer"/>
+ <command name="glUnmapBuffer"/>
+ <command name="glGetBufferParameteriv"/>
+ <command name="glGetBufferPointerv"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_2_0" number="2.0">
+ <require>
+ <enum name="GL_BLEND_EQUATION_RGB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+ <enum name="GL_CURRENT_VERTEX_ATTRIB"/>
+ <enum name="GL_VERTEX_PROGRAM_POINT_SIZE"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
+ <enum name="GL_STENCIL_BACK_FUNC"/>
+ <enum name="GL_STENCIL_BACK_FAIL"/>
+ <enum name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
+ <enum name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
+ <enum name="GL_MAX_DRAW_BUFFERS"/>
+ <enum name="GL_DRAW_BUFFER0"/>
+ <enum name="GL_DRAW_BUFFER1"/>
+ <enum name="GL_DRAW_BUFFER2"/>
+ <enum name="GL_DRAW_BUFFER3"/>
+ <enum name="GL_DRAW_BUFFER4"/>
+ <enum name="GL_DRAW_BUFFER5"/>
+ <enum name="GL_DRAW_BUFFER6"/>
+ <enum name="GL_DRAW_BUFFER7"/>
+ <enum name="GL_DRAW_BUFFER8"/>
+ <enum name="GL_DRAW_BUFFER9"/>
+ <enum name="GL_DRAW_BUFFER10"/>
+ <enum name="GL_DRAW_BUFFER11"/>
+ <enum name="GL_DRAW_BUFFER12"/>
+ <enum name="GL_DRAW_BUFFER13"/>
+ <enum name="GL_DRAW_BUFFER14"/>
+ <enum name="GL_DRAW_BUFFER15"/>
+ <enum name="GL_BLEND_EQUATION_ALPHA"/>
+ <enum name="GL_MAX_VERTEX_ATTRIBS"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+ <enum name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_FRAGMENT_SHADER"/>
+ <enum name="GL_VERTEX_SHADER"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_VARYING_FLOATS"/>
+ <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_SHADER_TYPE"/>
+ <enum name="GL_FLOAT_VEC2"/>
+ <enum name="GL_FLOAT_VEC3"/>
+ <enum name="GL_FLOAT_VEC4"/>
+ <enum name="GL_INT_VEC2"/>
+ <enum name="GL_INT_VEC3"/>
+ <enum name="GL_INT_VEC4"/>
+ <enum name="GL_BOOL"/>
+ <enum name="GL_BOOL_VEC2"/>
+ <enum name="GL_BOOL_VEC3"/>
+ <enum name="GL_BOOL_VEC4"/>
+ <enum name="GL_FLOAT_MAT2"/>
+ <enum name="GL_FLOAT_MAT3"/>
+ <enum name="GL_FLOAT_MAT4"/>
+ <enum name="GL_SAMPLER_1D"/>
+ <enum name="GL_SAMPLER_2D"/>
+ <enum name="GL_SAMPLER_3D"/>
+ <enum name="GL_SAMPLER_CUBE"/>
+ <enum name="GL_SAMPLER_1D_SHADOW"/>
+ <enum name="GL_SAMPLER_2D_SHADOW"/>
+ <enum name="GL_DELETE_STATUS"/>
+ <enum name="GL_COMPILE_STATUS"/>
+ <enum name="GL_LINK_STATUS"/>
+ <enum name="GL_VALIDATE_STATUS"/>
+ <enum name="GL_INFO_LOG_LENGTH"/>
+ <enum name="GL_ATTACHED_SHADERS"/>
+ <enum name="GL_ACTIVE_UNIFORMS"/>
+ <enum name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+ <enum name="GL_SHADER_SOURCE_LENGTH"/>
+ <enum name="GL_ACTIVE_ATTRIBUTES"/>
+ <enum name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+ <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
+ <enum name="GL_SHADING_LANGUAGE_VERSION"/>
+ <enum name="GL_CURRENT_PROGRAM"/>
+ <enum name="GL_POINT_SPRITE_COORD_ORIGIN"/>
+ <enum name="GL_LOWER_LEFT"/>
+ <enum name="GL_UPPER_LEFT"/>
+ <enum name="GL_STENCIL_BACK_REF"/>
+ <enum name="GL_STENCIL_BACK_VALUE_MASK"/>
+ <enum name="GL_STENCIL_BACK_WRITEMASK"/>
+ <enum name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
+ <enum name="GL_POINT_SPRITE"/>
+ <enum name="GL_COORD_REPLACE"/>
+ <enum name="GL_MAX_TEXTURE_COORDS"/>
+ <command name="glBlendEquationSeparate"/>
+ <command name="glDrawBuffers"/>
+ <command name="glStencilOpSeparate"/>
+ <command name="glStencilFuncSeparate"/>
+ <command name="glStencilMaskSeparate"/>
+ <command name="glAttachShader"/>
+ <command name="glBindAttribLocation"/>
+ <command name="glCompileShader"/>
+ <command name="glCreateProgram"/>
+ <command name="glCreateShader"/>
+ <command name="glDeleteProgram"/>
+ <command name="glDeleteShader"/>
+ <command name="glDetachShader"/>
+ <command name="glDisableVertexAttribArray"/>
+ <command name="glEnableVertexAttribArray"/>
+ <command name="glGetActiveAttrib"/>
+ <command name="glGetActiveUniform"/>
+ <command name="glGetAttachedShaders"/>
+ <command name="glGetAttribLocation"/>
+ <command name="glGetProgramiv"/>
+ <command name="glGetProgramInfoLog"/>
+ <command name="glGetShaderiv"/>
+ <command name="glGetShaderInfoLog"/>
+ <command name="glGetShaderSource"/>
+ <command name="glGetUniformLocation"/>
+ <command name="glGetUniformfv"/>
+ <command name="glGetUniformiv"/>
+ <command name="glGetVertexAttribdv"/>
+ <command name="glGetVertexAttribfv"/>
+ <command name="glGetVertexAttribiv"/>
+ <command name="glGetVertexAttribPointerv"/>
+ <command name="glIsProgram"/>
+ <command name="glIsShader"/>
+ <command name="glLinkProgram"/>
+ <command name="glShaderSource"/>
+ <command name="glUseProgram"/>
+ <command name="glUniform1f"/>
+ <command name="glUniform2f"/>
+ <command name="glUniform3f"/>
+ <command name="glUniform4f"/>
+ <command name="glUniform1i"/>
+ <command name="glUniform2i"/>
+ <command name="glUniform3i"/>
+ <command name="glUniform4i"/>
+ <command name="glUniform1fv"/>
+ <command name="glUniform2fv"/>
+ <command name="glUniform3fv"/>
+ <command name="glUniform4fv"/>
+ <command name="glUniform1iv"/>
+ <command name="glUniform2iv"/>
+ <command name="glUniform3iv"/>
+ <command name="glUniform4iv"/>
+ <command name="glUniformMatrix2fv"/>
+ <command name="glUniformMatrix3fv"/>
+ <command name="glUniformMatrix4fv"/>
+ <command name="glValidateProgram"/>
+ <command name="glVertexAttrib1d"/>
+ <command name="glVertexAttrib1dv"/>
+ <command name="glVertexAttrib1f"/>
+ <command name="glVertexAttrib1fv"/>
+ <command name="glVertexAttrib1s"/>
+ <command name="glVertexAttrib1sv"/>
+ <command name="glVertexAttrib2d"/>
+ <command name="glVertexAttrib2dv"/>
+ <command name="glVertexAttrib2f"/>
+ <command name="glVertexAttrib2fv"/>
+ <command name="glVertexAttrib2s"/>
+ <command name="glVertexAttrib2sv"/>
+ <command name="glVertexAttrib3d"/>
+ <command name="glVertexAttrib3dv"/>
+ <command name="glVertexAttrib3f"/>
+ <command name="glVertexAttrib3fv"/>
+ <command name="glVertexAttrib3s"/>
+ <command name="glVertexAttrib3sv"/>
+ <command name="glVertexAttrib4Nbv"/>
+ <command name="glVertexAttrib4Niv"/>
+ <command name="glVertexAttrib4Nsv"/>
+ <command name="glVertexAttrib4Nub"/>
+ <command name="glVertexAttrib4Nubv"/>
+ <command name="glVertexAttrib4Nuiv"/>
+ <command name="glVertexAttrib4Nusv"/>
+ <command name="glVertexAttrib4bv"/>
+ <command name="glVertexAttrib4d"/>
+ <command name="glVertexAttrib4dv"/>
+ <command name="glVertexAttrib4f"/>
+ <command name="glVertexAttrib4fv"/>
+ <command name="glVertexAttrib4iv"/>
+ <command name="glVertexAttrib4s"/>
+ <command name="glVertexAttrib4sv"/>
+ <command name="glVertexAttrib4ubv"/>
+ <command name="glVertexAttrib4uiv"/>
+ <command name="glVertexAttrib4usv"/>
+ <command name="glVertexAttribPointer"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_2_1" number="2.1">
+ <require>
+ <enum name="GL_PIXEL_PACK_BUFFER"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER"/>
+ <enum name="GL_PIXEL_PACK_BUFFER_BINDING"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
+ <enum name="GL_FLOAT_MAT2x3"/>
+ <enum name="GL_FLOAT_MAT2x4"/>
+ <enum name="GL_FLOAT_MAT3x2"/>
+ <enum name="GL_FLOAT_MAT3x4"/>
+ <enum name="GL_FLOAT_MAT4x2"/>
+ <enum name="GL_FLOAT_MAT4x3"/>
+ <enum name="GL_SRGB"/>
+ <enum name="GL_SRGB8"/>
+ <enum name="GL_SRGB_ALPHA"/>
+ <enum name="GL_SRGB8_ALPHA8"/>
+ <enum name="GL_COMPRESSED_SRGB"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA"/>
+ <enum name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
+ <enum name="GL_SLUMINANCE_ALPHA"/>
+ <enum name="GL_SLUMINANCE8_ALPHA8"/>
+ <enum name="GL_SLUMINANCE"/>
+ <enum name="GL_SLUMINANCE8"/>
+ <enum name="GL_COMPRESSED_SLUMINANCE"/>
+ <enum name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
+ <command name="glUniformMatrix2x3fv"/>
+ <command name="glUniformMatrix3x2fv"/>
+ <command name="glUniformMatrix2x4fv"/>
+ <command name="glUniformMatrix4x2fv"/>
+ <command name="glUniformMatrix3x4fv"/>
+ <command name="glUniformMatrix4x3fv"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_3_0" number="3.0">
+ <require>
+ <enum name="GL_COMPARE_REF_TO_TEXTURE"/>
+ <enum name="GL_CLIP_DISTANCE0"/>
+ <enum name="GL_CLIP_DISTANCE1"/>
+ <enum name="GL_CLIP_DISTANCE2"/>
+ <enum name="GL_CLIP_DISTANCE3"/>
+ <enum name="GL_CLIP_DISTANCE4"/>
+ <enum name="GL_CLIP_DISTANCE5"/>
+ <enum name="GL_CLIP_DISTANCE6"/>
+ <enum name="GL_CLIP_DISTANCE7"/>
+ <enum name="GL_MAX_CLIP_DISTANCES"/>
+ <enum name="GL_MAJOR_VERSION"/>
+ <enum name="GL_MINOR_VERSION"/>
+ <enum name="GL_NUM_EXTENSIONS"/>
+ <enum name="GL_CONTEXT_FLAGS"/>
+ <enum name="GL_COMPRESSED_RED"/>
+ <enum name="GL_COMPRESSED_RG"/>
+ <enum name="GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"/>
+ <enum name="GL_RGBA32F"/>
+ <enum name="GL_RGB32F"/>
+ <enum name="GL_RGBA16F"/>
+ <enum name="GL_RGB16F"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+ <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
+ <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
+ <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
+ <enum name="GL_CLAMP_READ_COLOR"/>
+ <enum name="GL_FIXED_ONLY"/>
+ <enum name="GL_MAX_VARYING_COMPONENTS"/>
+ <enum name="GL_TEXTURE_1D_ARRAY"/>
+ <enum name="GL_PROXY_TEXTURE_1D_ARRAY"/>
+ <enum name="GL_TEXTURE_2D_ARRAY"/>
+ <enum name="GL_PROXY_TEXTURE_2D_ARRAY"/>
+ <enum name="GL_TEXTURE_BINDING_1D_ARRAY"/>
+ <enum name="GL_TEXTURE_BINDING_2D_ARRAY"/>
+ <enum name="GL_R11F_G11F_B10F"/>
+ <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+ <enum name="GL_RGB9_E5"/>
+ <enum name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
+ <enum name="GL_TEXTURE_SHARED_SIZE"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+ <enum name="GL_PRIMITIVES_GENERATED"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
+ <enum name="GL_RASTERIZER_DISCARD"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
+ <enum name="GL_INTERLEAVED_ATTRIBS"/>
+ <enum name="GL_SEPARATE_ATTRIBS"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+ <enum name="GL_RGBA32UI"/>
+ <enum name="GL_RGB32UI"/>
+ <enum name="GL_RGBA16UI"/>
+ <enum name="GL_RGB16UI"/>
+ <enum name="GL_RGBA8UI"/>
+ <enum name="GL_RGB8UI"/>
+ <enum name="GL_RGBA32I"/>
+ <enum name="GL_RGB32I"/>
+ <enum name="GL_RGBA16I"/>
+ <enum name="GL_RGB16I"/>
+ <enum name="GL_RGBA8I"/>
+ <enum name="GL_RGB8I"/>
+ <enum name="GL_RED_INTEGER"/>
+ <enum name="GL_GREEN_INTEGER"/>
+ <enum name="GL_BLUE_INTEGER"/>
+ <enum name="GL_RGB_INTEGER"/>
+ <enum name="GL_RGBA_INTEGER"/>
+ <enum name="GL_BGR_INTEGER"/>
+ <enum name="GL_BGRA_INTEGER"/>
+ <enum name="GL_SAMPLER_1D_ARRAY"/>
+ <enum name="GL_SAMPLER_2D_ARRAY"/>
+ <enum name="GL_SAMPLER_1D_ARRAY_SHADOW"/>
+ <enum name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
+ <enum name="GL_SAMPLER_CUBE_SHADOW"/>
+ <enum name="GL_UNSIGNED_INT_VEC2"/>
+ <enum name="GL_UNSIGNED_INT_VEC3"/>
+ <enum name="GL_UNSIGNED_INT_VEC4"/>
+ <enum name="GL_INT_SAMPLER_1D"/>
+ <enum name="GL_INT_SAMPLER_2D"/>
+ <enum name="GL_INT_SAMPLER_3D"/>
+ <enum name="GL_INT_SAMPLER_CUBE"/>
+ <enum name="GL_INT_SAMPLER_1D_ARRAY"/>
+ <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_1D"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_3D"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
+ <enum name="GL_QUERY_WAIT"/>
+ <enum name="GL_QUERY_NO_WAIT"/>
+ <enum name="GL_QUERY_BY_REGION_WAIT"/>
+ <enum name="GL_QUERY_BY_REGION_NO_WAIT"/>
+ <enum name="GL_BUFFER_ACCESS_FLAGS"/>
+ <enum name="GL_BUFFER_MAP_LENGTH"/>
+ <enum name="GL_BUFFER_MAP_OFFSET"/>
+ <command name="glColorMaski"/>
+ <command name="glGetBooleani_v"/>
+ <command name="glGetIntegeri_v"/>
+ <command name="glEnablei"/>
+ <command name="glDisablei"/>
+ <command name="glIsEnabledi"/>
+ <command name="glBeginTransformFeedback"/>
+ <command name="glEndTransformFeedback"/>
+ <command name="glBindBufferRange"/>
+ <command name="glBindBufferBase"/>
+ <command name="glTransformFeedbackVaryings"/>
+ <command name="glGetTransformFeedbackVarying"/>
+ <command name="glClampColor"/>
+ <command name="glBeginConditionalRender"/>
+ <command name="glEndConditionalRender"/>
+ <command name="glVertexAttribIPointer"/>
+ <command name="glGetVertexAttribIiv"/>
+ <command name="glGetVertexAttribIuiv"/>
+ <command name="glVertexAttribI1i"/>
+ <command name="glVertexAttribI2i"/>
+ <command name="glVertexAttribI3i"/>
+ <command name="glVertexAttribI4i"/>
+ <command name="glVertexAttribI1ui"/>
+ <command name="glVertexAttribI2ui"/>
+ <command name="glVertexAttribI3ui"/>
+ <command name="glVertexAttribI4ui"/>
+ <command name="glVertexAttribI1iv"/>
+ <command name="glVertexAttribI2iv"/>
+ <command name="glVertexAttribI3iv"/>
+ <command name="glVertexAttribI4iv"/>
+ <command name="glVertexAttribI1uiv"/>
+ <command name="glVertexAttribI2uiv"/>
+ <command name="glVertexAttribI3uiv"/>
+ <command name="glVertexAttribI4uiv"/>
+ <command name="glVertexAttribI4bv"/>
+ <command name="glVertexAttribI4sv"/>
+ <command name="glVertexAttribI4ubv"/>
+ <command name="glVertexAttribI4usv"/>
+ <command name="glGetUniformuiv"/>
+ <command name="glBindFragDataLocation"/>
+ <command name="glGetFragDataLocation"/>
+ <command name="glUniform1ui"/>
+ <command name="glUniform2ui"/>
+ <command name="glUniform3ui"/>
+ <command name="glUniform4ui"/>
+ <command name="glUniform1uiv"/>
+ <command name="glUniform2uiv"/>
+ <command name="glUniform3uiv"/>
+ <command name="glUniform4uiv"/>
+ <command name="glTexParameterIiv"/>
+ <command name="glTexParameterIuiv"/>
+ <command name="glGetTexParameterIiv"/>
+ <command name="glGetTexParameterIuiv"/>
+ <command name="glClearBufferiv"/>
+ <command name="glClearBufferuiv"/>
+ <command name="glClearBufferfv"/>
+ <command name="glClearBufferfi"/>
+ <command name="glGetStringi"/>
+ </require>
+ <require comment="Reuse ARB_depth_buffer_float">
+ <enum name="GL_DEPTH_COMPONENT32F"/>
+ <enum name="GL_DEPTH32F_STENCIL8"/>
+ <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+ </require>
+ <require comment="Reuse ARB_framebuffer_object">
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT"/>
+ <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
+ <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+ <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
+ <enum name="GL_DEPTH_STENCIL"/>
+ <enum name="GL_UNSIGNED_INT_24_8"/>
+ <enum name="GL_DEPTH24_STENCIL8"/>
+ <enum name="GL_TEXTURE_STENCIL_SIZE"/>
+ <enum name="GL_TEXTURE_RED_TYPE"/>
+ <enum name="GL_TEXTURE_GREEN_TYPE"/>
+ <enum name="GL_TEXTURE_BLUE_TYPE"/>
+ <enum name="GL_TEXTURE_ALPHA_TYPE"/>
+ <enum name="GL_TEXTURE_DEPTH_TYPE"/>
+ <enum name="GL_UNSIGNED_NORMALIZED"/>
+ <enum name="GL_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_RENDERBUFFER_BINDING"/>
+ <enum name="GL_READ_FRAMEBUFFER"/>
+ <enum name="GL_DRAW_FRAMEBUFFER"/>
+ <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_RENDERBUFFER_SAMPLES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+ <enum name="GL_FRAMEBUFFER_COMPLETE"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"/>
+ <enum name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+ <enum name="GL_MAX_COLOR_ATTACHMENTS"/>
+ <enum name="GL_COLOR_ATTACHMENT0"/>
+ <enum name="GL_COLOR_ATTACHMENT1"/>
+ <enum name="GL_COLOR_ATTACHMENT2"/>
+ <enum name="GL_COLOR_ATTACHMENT3"/>
+ <enum name="GL_COLOR_ATTACHMENT4"/>
+ <enum name="GL_COLOR_ATTACHMENT5"/>
+ <enum name="GL_COLOR_ATTACHMENT6"/>
+ <enum name="GL_COLOR_ATTACHMENT7"/>
+ <enum name="GL_COLOR_ATTACHMENT8"/>
+ <enum name="GL_COLOR_ATTACHMENT9"/>
+ <enum name="GL_COLOR_ATTACHMENT10"/>
+ <enum name="GL_COLOR_ATTACHMENT11"/>
+ <enum name="GL_COLOR_ATTACHMENT12"/>
+ <enum name="GL_COLOR_ATTACHMENT13"/>
+ <enum name="GL_COLOR_ATTACHMENT14"/>
+ <enum name="GL_COLOR_ATTACHMENT15"/>
+ <enum name="GL_DEPTH_ATTACHMENT"/>
+ <enum name="GL_STENCIL_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER"/>
+ <enum name="GL_RENDERBUFFER"/>
+ <enum name="GL_RENDERBUFFER_WIDTH"/>
+ <enum name="GL_RENDERBUFFER_HEIGHT"/>
+ <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+ <enum name="GL_STENCIL_INDEX1"/>
+ <enum name="GL_STENCIL_INDEX4"/>
+ <enum name="GL_STENCIL_INDEX8"/>
+ <enum name="GL_STENCIL_INDEX16"/>
+ <enum name="GL_RENDERBUFFER_RED_SIZE"/>
+ <enum name="GL_RENDERBUFFER_GREEN_SIZE"/>
+ <enum name="GL_RENDERBUFFER_BLUE_SIZE"/>
+ <enum name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+ <enum name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+ <enum name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+ <enum name="GL_MAX_SAMPLES"/>
+ <command name="glIsRenderbuffer"/>
+ <command name="glBindRenderbuffer"/>
+ <command name="glDeleteRenderbuffers"/>
+ <command name="glGenRenderbuffers"/>
+ <command name="glRenderbufferStorage"/>
+ <command name="glGetRenderbufferParameteriv"/>
+ <command name="glIsFramebuffer"/>
+ <command name="glBindFramebuffer"/>
+ <command name="glDeleteFramebuffers"/>
+ <command name="glGenFramebuffers"/>
+ <command name="glCheckFramebufferStatus"/>
+ <command name="glFramebufferTexture1D"/>
+ <command name="glFramebufferTexture2D"/>
+ <command name="glFramebufferTexture3D"/>
+ <command name="glFramebufferRenderbuffer"/>
+ <command name="glGetFramebufferAttachmentParameteriv"/>
+ <command name="glGenerateMipmap"/>
+ <command name="glBlitFramebuffer"/>
+ <command name="glRenderbufferStorageMultisample"/>
+ <command name="glFramebufferTextureLayer"/>
+ </require>
+ <require profile="compatibility" comment="Reuse ARB_framebuffer_object compatibility profile">
+ <enum name="GL_INDEX"/>
+ <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
+ <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
+ </require>
+ <require comment="Reuse ARB_framebuffer_sRGB">
+ <enum name="GL_FRAMEBUFFER_SRGB"/>
+ </require>
+ <require comment="Reuse ARB_half_float_vertex">
+ <type name="GLhalf"/>
+ <enum name="GL_HALF_FLOAT"/>
+ </require>
+ <require comment="Reuse ARB_map_buffer_range">
+ <enum name="GL_MAP_READ_BIT"/>
+ <enum name="GL_MAP_WRITE_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+ <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+ <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+ <command name="glMapBufferRange"/>
+ <command name="glFlushMappedBufferRange"/>
+ </require>
+ <require comment="Reuse ARB_texture_compression_rgtc">
+ <enum name="GL_COMPRESSED_RED_RGTC1"/>
+ <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1"/>
+ <enum name="GL_COMPRESSED_RG_RGTC2"/>
+ <enum name="GL_COMPRESSED_SIGNED_RG_RGTC2"/>
+ </require>
+ <require comment="Reuse ARB_texture_rg">
+ <enum name="GL_RG"/>
+ <enum name="GL_RG_INTEGER"/>
+ <enum name="GL_R8"/>
+ <enum name="GL_R16"/>
+ <enum name="GL_RG8"/>
+ <enum name="GL_RG16"/>
+ <enum name="GL_R16F"/>
+ <enum name="GL_R32F"/>
+ <enum name="GL_RG16F"/>
+ <enum name="GL_RG32F"/>
+ <enum name="GL_R8I"/>
+ <enum name="GL_R8UI"/>
+ <enum name="GL_R16I"/>
+ <enum name="GL_R16UI"/>
+ <enum name="GL_R32I"/>
+ <enum name="GL_R32UI"/>
+ <enum name="GL_RG8I"/>
+ <enum name="GL_RG8UI"/>
+ <enum name="GL_RG16I"/>
+ <enum name="GL_RG16UI"/>
+ <enum name="GL_RG32I"/>
+ <enum name="GL_RG32UI"/>
+ </require>
+ <require comment="Reuse ARB_vertex_array_object">
+ <enum name="GL_VERTEX_ARRAY_BINDING"/>
+ <enum name="GL_CLAMP_VERTEX_COLOR"/>
+ <enum name="GL_CLAMP_FRAGMENT_COLOR"/>
+ <enum name="GL_ALPHA_INTEGER"/>
+ <command name="glBindVertexArray"/>
+ <command name="glDeleteVertexArrays"/>
+ <command name="glGenVertexArrays"/>
+ <command name="glIsVertexArray"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_3_1" number="3.1">
+ <require>
+ <enum name="GL_SAMPLER_2D_RECT"/>
+ <enum name="GL_SAMPLER_2D_RECT_SHADOW"/>
+ <enum name="GL_SAMPLER_BUFFER"/>
+ <enum name="GL_INT_SAMPLER_2D_RECT"/>
+ <enum name="GL_INT_SAMPLER_BUFFER"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_RECT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+ <enum name="GL_TEXTURE_BUFFER"/>
+ <enum name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
+ <enum name="GL_TEXTURE_BINDING_BUFFER"/>
+ <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING"/>
+ <enum name="GL_TEXTURE_RECTANGLE"/>
+ <enum name="GL_TEXTURE_BINDING_RECTANGLE"/>
+ <enum name="GL_PROXY_TEXTURE_RECTANGLE"/>
+ <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE"/>
+ <enum name="GL_R8_SNORM"/>
+ <enum name="GL_RG8_SNORM"/>
+ <enum name="GL_RGB8_SNORM"/>
+ <enum name="GL_RGBA8_SNORM"/>
+ <enum name="GL_R16_SNORM"/>
+ <enum name="GL_RG16_SNORM"/>
+ <enum name="GL_RGB16_SNORM"/>
+ <enum name="GL_RGBA16_SNORM"/>
+ <enum name="GL_SIGNED_NORMALIZED"/>
+ <enum name="GL_PRIMITIVE_RESTART"/>
+ <enum name="GL_PRIMITIVE_RESTART_INDEX"/>
+ <command name="glDrawArraysInstanced"/>
+ <command name="glDrawElementsInstanced"/>
+ <command name="glTexBuffer"/>
+ <command name="glPrimitiveRestartIndex"/>
+ </require>
+ <require comment="Reuse ARB_copy_buffer">
+ <enum name="GL_COPY_READ_BUFFER"/>
+ <enum name="GL_COPY_WRITE_BUFFER"/>
+ <command name="glCopyBufferSubData"/>
+ </require>
+ <require comment="Reuse ARB_uniform_buffer_object">
+ <enum name="GL_UNIFORM_BUFFER"/>
+ <enum name="GL_UNIFORM_BUFFER_BINDING"/>
+ <enum name="GL_UNIFORM_BUFFER_START"/>
+ <enum name="GL_UNIFORM_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+ <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+ <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+ <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+ <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+ <enum name="GL_UNIFORM_TYPE"/>
+ <enum name="GL_UNIFORM_SIZE"/>
+ <enum name="GL_UNIFORM_NAME_LENGTH"/>
+ <enum name="GL_UNIFORM_BLOCK_INDEX"/>
+ <enum name="GL_UNIFORM_OFFSET"/>
+ <enum name="GL_UNIFORM_ARRAY_STRIDE"/>
+ <enum name="GL_UNIFORM_MATRIX_STRIDE"/>
+ <enum name="GL_UNIFORM_IS_ROW_MAJOR"/>
+ <enum name="GL_UNIFORM_BLOCK_BINDING"/>
+ <enum name="GL_UNIFORM_BLOCK_DATA_SIZE"/>
+ <enum name="GL_UNIFORM_BLOCK_NAME_LENGTH"/>
+ <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
+ <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_INVALID_INDEX"/>
+ <command name="glGetUniformIndices"/>
+ <command name="glGetActiveUniformsiv"/>
+ <command name="glGetActiveUniformName"/>
+ <command name="glGetUniformBlockIndex"/>
+ <command name="glGetActiveUniformBlockiv"/>
+ <command name="glGetActiveUniformBlockName"/>
+ <command name="glUniformBlockBinding"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_3_2" number="3.2">
+ <require>
+ <enum name="GL_CONTEXT_CORE_PROFILE_BIT"/>
+ <enum name="GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"/>
+ <enum name="GL_LINES_ADJACENCY"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY"/>
+ <enum name="GL_TRIANGLES_ADJACENCY"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY"/>
+ <enum name="GL_PROGRAM_POINT_SIZE"/>
+ <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
+ <enum name="GL_GEOMETRY_SHADER"/>
+ <enum name="GL_GEOMETRY_VERTICES_OUT"/>
+ <enum name="GL_GEOMETRY_INPUT_TYPE"/>
+ <enum name="GL_GEOMETRY_OUTPUT_TYPE"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
+ <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
+ <enum name="GL_CONTEXT_PROFILE_MASK"/>
+ </require>
+ <require comment="Reuse ARB_depth_clamp">
+ <enum name="GL_DEPTH_CLAMP"/>
+ </require>
+ <require comment="Reuse ARB_draw_elements_base_vertex">
+ <command name="glDrawElementsBaseVertex"/>
+ <command name="glDrawRangeElementsBaseVertex"/>
+ <command name="glDrawElementsInstancedBaseVertex"/>
+ <command name="glMultiDrawElementsBaseVertex"/>
+ </require>
+ <require comment="Reuse ARB_fragment_coord_conventions (none)">
+ </require>
+ <require comment="Reuse ARB_provoking_vertex">
+ <enum name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"/>
+ <enum name="GL_FIRST_VERTEX_CONVENTION"/>
+ <enum name="GL_LAST_VERTEX_CONVENTION"/>
+ <enum name="GL_PROVOKING_VERTEX"/>
+ <command name="glProvokingVertex"/>
+ </require>
+ <require comment="Reuse ARB_seamless_cube_map">
+ <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
+ </require>
+ <require comment="Reuse ARB_sync">
+ <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+ <enum name="GL_OBJECT_TYPE"/>
+ <enum name="GL_SYNC_CONDITION"/>
+ <enum name="GL_SYNC_STATUS"/>
+ <enum name="GL_SYNC_FLAGS"/>
+ <enum name="GL_SYNC_FENCE"/>
+ <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+ <enum name="GL_UNSIGNALED"/>
+ <enum name="GL_SIGNALED"/>
+ <enum name="GL_ALREADY_SIGNALED"/>
+ <enum name="GL_TIMEOUT_EXPIRED"/>
+ <enum name="GL_CONDITION_SATISFIED"/>
+ <enum name="GL_WAIT_FAILED"/>
+ <enum name="GL_TIMEOUT_IGNORED"/>
+ <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+ <command name="glFenceSync"/>
+ <command name="glIsSync"/>
+ <command name="glDeleteSync"/>
+ <command name="glClientWaitSync"/>
+ <command name="glWaitSync"/>
+ <command name="glGetInteger64v"/>
+ <command name="glGetSynciv"/>
+ </require>
+ <require comment="Reuse ARB_texture_multisample">
+ <enum name="GL_SAMPLE_POSITION"/>
+ <enum name="GL_SAMPLE_MASK"/>
+ <enum name="GL_SAMPLE_MASK_VALUE"/>
+ <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+ <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_TEXTURE_SAMPLES"/>
+ <enum name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_INTEGER_SAMPLES"/>
+ <!-- /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */ -->
+ <command name="glGetInteger64i_v"/>
+ <command name="glGetBufferParameteri64v"/>
+ <command name="glFramebufferTexture"/>
+ <command name="glTexImage2DMultisample"/>
+ <command name="glTexImage3DMultisample"/>
+ <command name="glGetMultisamplefv"/>
+ <command name="glSampleMaski"/>
+ </require>
+ <!-- OpenGL 3.2 is where core and compatibility profiles were first
+ introduced, so many, many things were removed from the core
+ profile in this version. A few were reintroduced later (e.g.
+ GetPointerv / STACK_{UNDER,OVER}FLOW by OpenGL 4.3 for debug
+ functionality). -->
+ <remove profile="core" comment="Compatibility-only GL 1.0 features removed from GL 3.2">
+ <command name="glNewList"/>
+ <command name="glEndList"/>
+ <command name="glCallList"/>
+ <command name="glCallLists"/>
+ <command name="glDeleteLists"/>
+ <command name="glGenLists"/>
+ <command name="glListBase"/>
+ <command name="glBegin"/>
+ <command name="glBitmap"/>
+ <command name="glColor3b"/>
+ <command name="glColor3bv"/>
+ <command name="glColor3d"/>
+ <command name="glColor3dv"/>
+ <command name="glColor3f"/>
+ <command name="glColor3fv"/>
+ <command name="glColor3i"/>
+ <command name="glColor3iv"/>
+ <command name="glColor3s"/>
+ <command name="glColor3sv"/>
+ <command name="glColor3ub"/>
+ <command name="glColor3ubv"/>
+ <command name="glColor3ui"/>
+ <command name="glColor3uiv"/>
+ <command name="glColor3us"/>
+ <command name="glColor3usv"/>
+ <command name="glColor4b"/>
+ <command name="glColor4bv"/>
+ <command name="glColor4d"/>
+ <command name="glColor4dv"/>
+ <command name="glColor4f"/>
+ <command name="glColor4fv"/>
+ <command name="glColor4i"/>
+ <command name="glColor4iv"/>
+ <command name="glColor4s"/>
+ <command name="glColor4sv"/>
+ <command name="glColor4ub"/>
+ <command name="glColor4ubv"/>
+ <command name="glColor4ui"/>
+ <command name="glColor4uiv"/>
+ <command name="glColor4us"/>
+ <command name="glColor4usv"/>
+ <command name="glEdgeFlag"/>
+ <command name="glEdgeFlagv"/>
+ <command name="glEnd"/>
+ <command name="glIndexd"/>
+ <command name="glIndexdv"/>
+ <command name="glIndexf"/>
+ <command name="glIndexfv"/>
+ <command name="glIndexi"/>
+ <command name="glIndexiv"/>
+ <command name="glIndexs"/>
+ <command name="glIndexsv"/>
+ <command name="glNormal3b"/>
+ <command name="glNormal3bv"/>
+ <command name="glNormal3d"/>
+ <command name="glNormal3dv"/>
+ <command name="glNormal3f"/>
+ <command name="glNormal3fv"/>
+ <command name="glNormal3i"/>
+ <command name="glNormal3iv"/>
+ <command name="glNormal3s"/>
+ <command name="glNormal3sv"/>
+ <command name="glRasterPos2d"/>
+ <command name="glRasterPos2dv"/>
+ <command name="glRasterPos2f"/>
+ <command name="glRasterPos2fv"/>
+ <command name="glRasterPos2i"/>
+ <command name="glRasterPos2iv"/>
+ <command name="glRasterPos2s"/>
+ <command name="glRasterPos2sv"/>
+ <command name="glRasterPos3d"/>
+ <command name="glRasterPos3dv"/>
+ <command name="glRasterPos3f"/>
+ <command name="glRasterPos3fv"/>
+ <command name="glRasterPos3i"/>
+ <command name="glRasterPos3iv"/>
+ <command name="glRasterPos3s"/>
+ <command name="glRasterPos3sv"/>
+ <command name="glRasterPos4d"/>
+ <command name="glRasterPos4dv"/>
+ <command name="glRasterPos4f"/>
+ <command name="glRasterPos4fv"/>
+ <command name="glRasterPos4i"/>
+ <command name="glRasterPos4iv"/>
+ <command name="glRasterPos4s"/>
+ <command name="glRasterPos4sv"/>
+ <command name="glRectd"/>
+ <command name="glRectdv"/>
+ <command name="glRectf"/>
+ <command name="glRectfv"/>
+ <command name="glRecti"/>
+ <command name="glRectiv"/>
+ <command name="glRects"/>
+ <command name="glRectsv"/>
+ <command name="glTexCoord1d"/>
+ <command name="glTexCoord1dv"/>
+ <command name="glTexCoord1f"/>
+ <command name="glTexCoord1fv"/>
+ <command name="glTexCoord1i"/>
+ <command name="glTexCoord1iv"/>
+ <command name="glTexCoord1s"/>
+ <command name="glTexCoord1sv"/>
+ <command name="glTexCoord2d"/>
+ <command name="glTexCoord2dv"/>
+ <command name="glTexCoord2f"/>
+ <command name="glTexCoord2fv"/>
+ <command name="glTexCoord2i"/>
+ <command name="glTexCoord2iv"/>
+ <command name="glTexCoord2s"/>
+ <command name="glTexCoord2sv"/>
+ <command name="glTexCoord3d"/>
+ <command name="glTexCoord3dv"/>
+ <command name="glTexCoord3f"/>
+ <command name="glTexCoord3fv"/>
+ <command name="glTexCoord3i"/>
+ <command name="glTexCoord3iv"/>
+ <command name="glTexCoord3s"/>
+ <command name="glTexCoord3sv"/>
+ <command name="glTexCoord4d"/>
+ <command name="glTexCoord4dv"/>
+ <command name="glTexCoord4f"/>
+ <command name="glTexCoord4fv"/>
+ <command name="glTexCoord4i"/>
+ <command name="glTexCoord4iv"/>
+ <command name="glTexCoord4s"/>
+ <command name="glTexCoord4sv"/>
+ <command name="glVertex2d"/>
+ <command name="glVertex2dv"/>
+ <command name="glVertex2f"/>
+ <command name="glVertex2fv"/>
+ <command name="glVertex2i"/>
+ <command name="glVertex2iv"/>
+ <command name="glVertex2s"/>
+ <command name="glVertex2sv"/>
+ <command name="glVertex3d"/>
+ <command name="glVertex3dv"/>
+ <command name="glVertex3f"/>
+ <command name="glVertex3fv"/>
+ <command name="glVertex3i"/>
+ <command name="glVertex3iv"/>
+ <command name="glVertex3s"/>
+ <command name="glVertex3sv"/>
+ <command name="glVertex4d"/>
+ <command name="glVertex4dv"/>
+ <command name="glVertex4f"/>
+ <command name="glVertex4fv"/>
+ <command name="glVertex4i"/>
+ <command name="glVertex4iv"/>
+ <command name="glVertex4s"/>
+ <command name="glVertex4sv"/>
+ <command name="glClipPlane"/>
+ <command name="glColorMaterial"/>
+ <command name="glFogf"/>
+ <command name="glFogfv"/>
+ <command name="glFogi"/>
+ <command name="glFogiv"/>
+ <command name="glLightf"/>
+ <command name="glLightfv"/>
+ <command name="glLighti"/>
+ <command name="glLightiv"/>
+ <command name="glLightModelf"/>
+ <command name="glLightModelfv"/>
+ <command name="glLightModeli"/>
+ <command name="glLightModeliv"/>
+ <command name="glLineStipple"/>
+ <command name="glMaterialf"/>
+ <command name="glMaterialfv"/>
+ <command name="glMateriali"/>
+ <command name="glMaterialiv"/>
+ <command name="glPolygonStipple"/>
+ <command name="glShadeModel"/>
+ <command name="glTexEnvf"/>
+ <command name="glTexEnvfv"/>
+ <command name="glTexEnvi"/>
+ <command name="glTexEnviv"/>
+ <command name="glTexGend"/>
+ <command name="glTexGendv"/>
+ <command name="glTexGenf"/>
+ <command name="glTexGenfv"/>
+ <command name="glTexGeni"/>
+ <command name="glTexGeniv"/>
+ <command name="glFeedbackBuffer"/>
+ <command name="glSelectBuffer"/>
+ <command name="glRenderMode"/>
+ <command name="glInitNames"/>
+ <command name="glLoadName"/>
+ <command name="glPassThrough"/>
+ <command name="glPopName"/>
+ <command name="glPushName"/>
+ <command name="glClearAccum"/>
+ <command name="glClearIndex"/>
+ <command name="glIndexMask"/>
+ <command name="glAccum"/>
+ <command name="glPopAttrib"/>
+ <command name="glPushAttrib"/>
+ <command name="glMap1d"/>
+ <command name="glMap1f"/>
+ <command name="glMap2d"/>
+ <command name="glMap2f"/>
+ <command name="glMapGrid1d"/>
+ <command name="glMapGrid1f"/>
+ <command name="glMapGrid2d"/>
+ <command name="glMapGrid2f"/>
+ <command name="glEvalCoord1d"/>
+ <command name="glEvalCoord1dv"/>
+ <command name="glEvalCoord1f"/>
+ <command name="glEvalCoord1fv"/>
+ <command name="glEvalCoord2d"/>
+ <command name="glEvalCoord2dv"/>
+ <command name="glEvalCoord2f"/>
+ <command name="glEvalCoord2fv"/>
+ <command name="glEvalMesh1"/>
+ <command name="glEvalPoint1"/>
+ <command name="glEvalMesh2"/>
+ <command name="glEvalPoint2"/>
+ <command name="glAlphaFunc"/>
+ <command name="glPixelZoom"/>
+ <command name="glPixelTransferf"/>
+ <command name="glPixelTransferi"/>
+ <command name="glPixelMapfv"/>
+ <command name="glPixelMapuiv"/>
+ <command name="glPixelMapusv"/>
+ <command name="glCopyPixels"/>
+ <command name="glDrawPixels"/>
+ <command name="glGetClipPlane"/>
+ <command name="glGetLightfv"/>
+ <command name="glGetLightiv"/>
+ <command name="glGetMapdv"/>
+ <command name="glGetMapfv"/>
+ <command name="glGetMapiv"/>
+ <command name="glGetMaterialfv"/>
+ <command name="glGetMaterialiv"/>
+ <command name="glGetPixelMapfv"/>
+ <command name="glGetPixelMapuiv"/>
+ <command name="glGetPixelMapusv"/>
+ <command name="glGetPolygonStipple"/>
+ <command name="glGetTexEnvfv"/>
+ <command name="glGetTexEnviv"/>
+ <command name="glGetTexGendv"/>
+ <command name="glGetTexGenfv"/>
+ <command name="glGetTexGeniv"/>
+ <command name="glIsList"/>
+ <command name="glFrustum"/>
+ <command name="glLoadIdentity"/>
+ <command name="glLoadMatrixf"/>
+ <command name="glLoadMatrixd"/>
+ <command name="glMatrixMode"/>
+ <command name="glMultMatrixf"/>
+ <command name="glMultMatrixd"/>
+ <command name="glOrtho"/>
+ <command name="glPopMatrix"/>
+ <command name="glPushMatrix"/>
+ <command name="glRotated"/>
+ <command name="glRotatef"/>
+ <command name="glScaled"/>
+ <command name="glScalef"/>
+ <command name="glTranslated"/>
+ <command name="glTranslatef"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 1.1 features removed from GL 3.2">
+ <enum name="GL_CURRENT_BIT"/>
+ <enum name="GL_POINT_BIT"/>
+ <enum name="GL_LINE_BIT"/>
+ <enum name="GL_POLYGON_BIT"/>
+ <enum name="GL_POLYGON_STIPPLE_BIT"/>
+ <enum name="GL_PIXEL_MODE_BIT"/>
+ <enum name="GL_LIGHTING_BIT"/>
+ <enum name="GL_FOG_BIT"/>
+ <enum name="GL_ACCUM_BUFFER_BIT"/>
+ <enum name="GL_VIEWPORT_BIT"/>
+ <enum name="GL_TRANSFORM_BIT"/>
+ <enum name="GL_ENABLE_BIT"/>
+ <enum name="GL_HINT_BIT"/>
+ <enum name="GL_EVAL_BIT"/>
+ <enum name="GL_LIST_BIT"/>
+ <enum name="GL_TEXTURE_BIT"/>
+ <enum name="GL_SCISSOR_BIT"/>
+ <enum name="GL_ALL_ATTRIB_BITS"/>
+ <enum name="GL_CLIENT_PIXEL_STORE_BIT"/>
+ <enum name="GL_CLIENT_VERTEX_ARRAY_BIT"/>
+ <enum name="GL_CLIENT_ALL_ATTRIB_BITS"/>
+ <enum name="GL_QUAD_STRIP"/>
+ <enum name="GL_QUADS"/>
+ <enum name="GL_POLYGON"/>
+ <enum name="GL_ACCUM"/>
+ <enum name="GL_LOAD"/>
+ <enum name="GL_RETURN"/>
+ <enum name="GL_MULT"/>
+ <enum name="GL_ADD"/>
+ <enum name="GL_STACK_OVERFLOW"/>
+ <enum name="GL_STACK_UNDERFLOW"/>
+ <enum name="GL_AUX0"/>
+ <enum name="GL_AUX1"/>
+ <enum name="GL_AUX2"/>
+ <enum name="GL_AUX3"/>
+ <enum name="GL_2D"/>
+ <enum name="GL_3D"/>
+ <enum name="GL_3D_COLOR"/>
+ <enum name="GL_3D_COLOR_TEXTURE"/>
+ <enum name="GL_4D_COLOR_TEXTURE"/>
+ <enum name="GL_PASS_THROUGH_TOKEN"/>
+ <enum name="GL_POINT_TOKEN"/>
+ <enum name="GL_LINE_TOKEN"/>
+ <enum name="GL_POLYGON_TOKEN"/>
+ <enum name="GL_BITMAP_TOKEN"/>
+ <enum name="GL_DRAW_PIXEL_TOKEN"/>
+ <enum name="GL_COPY_PIXEL_TOKEN"/>
+ <enum name="GL_LINE_RESET_TOKEN"/>
+ <enum name="GL_EXP"/>
+ <enum name="GL_EXP2"/>
+ <enum name="GL_COEFF"/>
+ <enum name="GL_ORDER"/>
+ <enum name="GL_DOMAIN"/>
+ <enum name="GL_PIXEL_MAP_I_TO_I"/>
+ <enum name="GL_PIXEL_MAP_S_TO_S"/>
+ <enum name="GL_PIXEL_MAP_I_TO_R"/>
+ <enum name="GL_PIXEL_MAP_I_TO_G"/>
+ <enum name="GL_PIXEL_MAP_I_TO_B"/>
+ <enum name="GL_PIXEL_MAP_I_TO_A"/>
+ <enum name="GL_PIXEL_MAP_R_TO_R"/>
+ <enum name="GL_PIXEL_MAP_G_TO_G"/>
+ <enum name="GL_PIXEL_MAP_B_TO_B"/>
+ <enum name="GL_PIXEL_MAP_A_TO_A"/>
+ <enum name="GL_VERTEX_ARRAY_POINTER"/>
+ <enum name="GL_NORMAL_ARRAY_POINTER"/>
+ <enum name="GL_COLOR_ARRAY_POINTER"/>
+ <enum name="GL_INDEX_ARRAY_POINTER"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_POINTER"/>
+ <enum name="GL_FEEDBACK_BUFFER_POINTER"/>
+ <enum name="GL_SELECTION_BUFFER_POINTER"/>
+ <enum name="GL_CURRENT_COLOR"/>
+ <enum name="GL_CURRENT_INDEX"/>
+ <enum name="GL_CURRENT_NORMAL"/>
+ <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+ <enum name="GL_CURRENT_RASTER_COLOR"/>
+ <enum name="GL_CURRENT_RASTER_INDEX"/>
+ <enum name="GL_CURRENT_RASTER_TEXTURE_COORDS"/>
+ <enum name="GL_CURRENT_RASTER_POSITION"/>
+ <enum name="GL_CURRENT_RASTER_POSITION_VALID"/>
+ <enum name="GL_CURRENT_RASTER_DISTANCE"/>
+ <enum name="GL_POINT_SMOOTH"/>
+ <enum name="GL_LINE_STIPPLE"/>
+ <enum name="GL_LINE_STIPPLE_PATTERN"/>
+ <enum name="GL_LINE_STIPPLE_REPEAT"/>
+ <enum name="GL_LIST_MODE"/>
+ <enum name="GL_MAX_LIST_NESTING"/>
+ <enum name="GL_LIST_BASE"/>
+ <enum name="GL_LIST_INDEX"/>
+ <enum name="GL_POLYGON_STIPPLE"/>
+ <enum name="GL_EDGE_FLAG"/>
+ <enum name="GL_LIGHTING"/>
+ <enum name="GL_LIGHT_MODEL_LOCAL_VIEWER"/>
+ <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
+ <enum name="GL_LIGHT_MODEL_AMBIENT"/>
+ <enum name="GL_SHADE_MODEL"/>
+ <enum name="GL_COLOR_MATERIAL_FACE"/>
+ <enum name="GL_COLOR_MATERIAL_PARAMETER"/>
+ <enum name="GL_COLOR_MATERIAL"/>
+ <enum name="GL_FOG"/>
+ <enum name="GL_FOG_INDEX"/>
+ <enum name="GL_FOG_DENSITY"/>
+ <enum name="GL_FOG_START"/>
+ <enum name="GL_FOG_END"/>
+ <enum name="GL_FOG_MODE"/>
+ <enum name="GL_FOG_COLOR"/>
+ <enum name="GL_ACCUM_CLEAR_VALUE"/>
+ <enum name="GL_MATRIX_MODE"/>
+ <enum name="GL_NORMALIZE"/>
+ <enum name="GL_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_MODELVIEW_MATRIX"/>
+ <enum name="GL_PROJECTION_MATRIX"/>
+ <enum name="GL_TEXTURE_MATRIX"/>
+ <enum name="GL_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_CLIENT_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_ALPHA_TEST"/>
+ <enum name="GL_ALPHA_TEST_FUNC"/>
+ <enum name="GL_ALPHA_TEST_REF"/>
+ <enum name="GL_INDEX_LOGIC_OP"/>
+ <enum name="GL_LOGIC_OP"/>
+ <enum name="GL_AUX_BUFFERS"/>
+ <enum name="GL_INDEX_CLEAR_VALUE"/>
+ <enum name="GL_INDEX_WRITEMASK"/>
+ <enum name="GL_INDEX_MODE"/>
+ <enum name="GL_RGBA_MODE"/>
+ <enum name="GL_RENDER_MODE"/>
+ <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+ <enum name="GL_POINT_SMOOTH_HINT"/>
+ <enum name="GL_FOG_HINT"/>
+ <enum name="GL_TEXTURE_GEN_S"/>
+ <enum name="GL_TEXTURE_GEN_T"/>
+ <enum name="GL_TEXTURE_GEN_R"/>
+ <enum name="GL_TEXTURE_GEN_Q"/>
+ <enum name="GL_PIXEL_MAP_I_TO_I_SIZE"/>
+ <enum name="GL_PIXEL_MAP_S_TO_S_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_R_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_G_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_B_SIZE"/>
+ <enum name="GL_PIXEL_MAP_I_TO_A_SIZE"/>
+ <enum name="GL_PIXEL_MAP_R_TO_R_SIZE"/>
+ <enum name="GL_PIXEL_MAP_G_TO_G_SIZE"/>
+ <enum name="GL_PIXEL_MAP_B_TO_B_SIZE"/>
+ <enum name="GL_PIXEL_MAP_A_TO_A_SIZE"/>
+ <enum name="GL_MAP_COLOR"/>
+ <enum name="GL_MAP_STENCIL"/>
+ <enum name="GL_INDEX_SHIFT"/>
+ <enum name="GL_INDEX_OFFSET"/>
+ <enum name="GL_RED_SCALE"/>
+ <enum name="GL_RED_BIAS"/>
+ <enum name="GL_ZOOM_X"/>
+ <enum name="GL_ZOOM_Y"/>
+ <enum name="GL_GREEN_SCALE"/>
+ <enum name="GL_GREEN_BIAS"/>
+ <enum name="GL_BLUE_SCALE"/>
+ <enum name="GL_BLUE_BIAS"/>
+ <enum name="GL_ALPHA_SCALE"/>
+ <enum name="GL_ALPHA_BIAS"/>
+ <enum name="GL_DEPTH_SCALE"/>
+ <enum name="GL_DEPTH_BIAS"/>
+ <enum name="GL_MAX_EVAL_ORDER"/>
+ <enum name="GL_MAX_LIGHTS"/>
+ <enum name="GL_MAX_CLIP_PLANES"/>
+ <enum name="GL_MAX_PIXEL_MAP_TABLE"/>
+ <enum name="GL_MAX_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_MAX_NAME_STACK_DEPTH"/>
+ <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_MAX_CLIENT_ATTRIB_STACK_DEPTH"/>
+ <enum name="GL_INDEX_BITS"/>
+ <enum name="GL_RED_BITS"/>
+ <enum name="GL_GREEN_BITS"/>
+ <enum name="GL_BLUE_BITS"/>
+ <enum name="GL_ALPHA_BITS"/>
+ <enum name="GL_DEPTH_BITS"/>
+ <enum name="GL_STENCIL_BITS"/>
+ <enum name="GL_ACCUM_RED_BITS"/>
+ <enum name="GL_ACCUM_GREEN_BITS"/>
+ <enum name="GL_ACCUM_BLUE_BITS"/>
+ <enum name="GL_ACCUM_ALPHA_BITS"/>
+ <enum name="GL_NAME_STACK_DEPTH"/>
+ <enum name="GL_AUTO_NORMAL"/>
+ <enum name="GL_MAP1_COLOR_4"/>
+ <enum name="GL_MAP1_INDEX"/>
+ <enum name="GL_MAP1_NORMAL"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP1_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP1_VERTEX_3"/>
+ <enum name="GL_MAP1_VERTEX_4"/>
+ <enum name="GL_MAP2_COLOR_4"/>
+ <enum name="GL_MAP2_INDEX"/>
+ <enum name="GL_MAP2_NORMAL"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_1"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_2"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_3"/>
+ <enum name="GL_MAP2_TEXTURE_COORD_4"/>
+ <enum name="GL_MAP2_VERTEX_3"/>
+ <enum name="GL_MAP2_VERTEX_4"/>
+ <enum name="GL_MAP1_GRID_DOMAIN"/>
+ <enum name="GL_MAP1_GRID_SEGMENTS"/>
+ <enum name="GL_MAP2_GRID_DOMAIN"/>
+ <enum name="GL_MAP2_GRID_SEGMENTS"/>
+ <enum name="GL_FEEDBACK_BUFFER_SIZE"/>
+ <enum name="GL_FEEDBACK_BUFFER_TYPE"/>
+ <enum name="GL_SELECTION_BUFFER_SIZE"/>
+ <enum name="GL_VERTEX_ARRAY"/>
+ <enum name="GL_NORMAL_ARRAY"/>
+ <enum name="GL_COLOR_ARRAY"/>
+ <enum name="GL_INDEX_ARRAY"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY"/>
+ <enum name="GL_EDGE_FLAG_ARRAY"/>
+ <enum name="GL_VERTEX_ARRAY_SIZE"/>
+ <enum name="GL_VERTEX_ARRAY_TYPE"/>
+ <enum name="GL_VERTEX_ARRAY_STRIDE"/>
+ <enum name="GL_NORMAL_ARRAY_TYPE"/>
+ <enum name="GL_NORMAL_ARRAY_STRIDE"/>
+ <enum name="GL_COLOR_ARRAY_SIZE"/>
+ <enum name="GL_COLOR_ARRAY_TYPE"/>
+ <enum name="GL_COLOR_ARRAY_STRIDE"/>
+ <enum name="GL_INDEX_ARRAY_TYPE"/>
+ <enum name="GL_INDEX_ARRAY_STRIDE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_STRIDE"/>
+ <enum name="GL_TEXTURE_COMPONENTS"/>
+ <enum name="GL_TEXTURE_BORDER"/>
+ <enum name="GL_TEXTURE_LUMINANCE_SIZE"/>
+ <enum name="GL_TEXTURE_INTENSITY_SIZE"/>
+ <enum name="GL_TEXTURE_PRIORITY"/>
+ <enum name="GL_TEXTURE_RESIDENT"/>
+ <enum name="GL_AMBIENT"/>
+ <enum name="GL_DIFFUSE"/>
+ <enum name="GL_SPECULAR"/>
+ <enum name="GL_POSITION"/>
+ <enum name="GL_SPOT_DIRECTION"/>
+ <enum name="GL_SPOT_EXPONENT"/>
+ <enum name="GL_SPOT_CUTOFF"/>
+ <enum name="GL_CONSTANT_ATTENUATION"/>
+ <enum name="GL_LINEAR_ATTENUATION"/>
+ <enum name="GL_QUADRATIC_ATTENUATION"/>
+ <enum name="GL_COMPILE"/>
+ <enum name="GL_COMPILE_AND_EXECUTE"/>
+ <enum name="GL_2_BYTES"/>
+ <enum name="GL_3_BYTES"/>
+ <enum name="GL_4_BYTES"/>
+ <enum name="GL_EMISSION"/>
+ <enum name="GL_SHININESS"/>
+ <enum name="GL_AMBIENT_AND_DIFFUSE"/>
+ <enum name="GL_COLOR_INDEXES"/>
+ <enum name="GL_MODELVIEW"/>
+ <enum name="GL_PROJECTION"/>
+ <enum name="GL_COLOR_INDEX"/>
+ <enum name="GL_LUMINANCE"/>
+ <enum name="GL_LUMINANCE_ALPHA"/>
+ <enum name="GL_BITMAP"/>
+ <enum name="GL_RENDER"/>
+ <enum name="GL_FEEDBACK"/>
+ <enum name="GL_SELECT"/>
+ <enum name="GL_FLAT"/>
+ <enum name="GL_SMOOTH"/>
+ <enum name="GL_S"/>
+ <enum name="GL_T"/>
+ <enum name="GL_R"/>
+ <enum name="GL_Q"/>
+ <enum name="GL_MODULATE"/>
+ <enum name="GL_DECAL"/>
+ <enum name="GL_TEXTURE_ENV_MODE"/>
+ <enum name="GL_TEXTURE_ENV_COLOR"/>
+ <enum name="GL_TEXTURE_ENV"/>
+ <enum name="GL_EYE_LINEAR"/>
+ <enum name="GL_OBJECT_LINEAR"/>
+ <enum name="GL_SPHERE_MAP"/>
+ <enum name="GL_TEXTURE_GEN_MODE"/>
+ <enum name="GL_OBJECT_PLANE"/>
+ <enum name="GL_EYE_PLANE"/>
+ <enum name="GL_CLAMP"/>
+ <enum name="GL_ALPHA4"/>
+ <enum name="GL_ALPHA8"/>
+ <enum name="GL_ALPHA12"/>
+ <enum name="GL_ALPHA16"/>
+ <enum name="GL_LUMINANCE4"/>
+ <enum name="GL_LUMINANCE8"/>
+ <enum name="GL_LUMINANCE12"/>
+ <enum name="GL_LUMINANCE16"/>
+ <enum name="GL_LUMINANCE4_ALPHA4"/>
+ <enum name="GL_LUMINANCE6_ALPHA2"/>
+ <enum name="GL_LUMINANCE8_ALPHA8"/>
+ <enum name="GL_LUMINANCE12_ALPHA4"/>
+ <enum name="GL_LUMINANCE12_ALPHA12"/>
+ <enum name="GL_LUMINANCE16_ALPHA16"/>
+ <enum name="GL_INTENSITY"/>
+ <enum name="GL_INTENSITY4"/>
+ <enum name="GL_INTENSITY8"/>
+ <enum name="GL_INTENSITY12"/>
+ <enum name="GL_INTENSITY16"/>
+ <enum name="GL_V2F"/>
+ <enum name="GL_V3F"/>
+ <enum name="GL_C4UB_V2F"/>
+ <enum name="GL_C4UB_V3F"/>
+ <enum name="GL_C3F_V3F"/>
+ <enum name="GL_N3F_V3F"/>
+ <enum name="GL_C4F_N3F_V3F"/>
+ <enum name="GL_T2F_V3F"/>
+ <enum name="GL_T4F_V4F"/>
+ <enum name="GL_T2F_C4UB_V3F"/>
+ <enum name="GL_T2F_C3F_V3F"/>
+ <enum name="GL_T2F_N3F_V3F"/>
+ <enum name="GL_T2F_C4F_N3F_V3F"/>
+ <enum name="GL_T4F_C4F_N3F_V4F"/>
+ <enum name="GL_CLIP_PLANE0"/>
+ <enum name="GL_CLIP_PLANE1"/>
+ <enum name="GL_CLIP_PLANE2"/>
+ <enum name="GL_CLIP_PLANE3"/>
+ <enum name="GL_CLIP_PLANE4"/>
+ <enum name="GL_CLIP_PLANE5"/>
+ <enum name="GL_LIGHT0"/>
+ <enum name="GL_LIGHT1"/>
+ <enum name="GL_LIGHT2"/>
+ <enum name="GL_LIGHT3"/>
+ <enum name="GL_LIGHT4"/>
+ <enum name="GL_LIGHT5"/>
+ <enum name="GL_LIGHT6"/>
+ <enum name="GL_LIGHT7"/>
+ <command name="glArrayElement"/>
+ <command name="glColorPointer"/>
+ <command name="glDisableClientState"/>
+ <command name="glEdgeFlagPointer"/>
+ <command name="glEnableClientState"/>
+ <command name="glIndexPointer"/>
+ <command name="glGetPointerv"/>
+ <command name="glInterleavedArrays"/>
+ <command name="glNormalPointer"/>
+ <command name="glTexCoordPointer"/>
+ <command name="glVertexPointer"/>
+ <command name="glAreTexturesResident"/>
+ <command name="glPrioritizeTextures"/>
+ <command name="glIndexub"/>
+ <command name="glIndexubv"/>
+ <command name="glPopClientAttrib"/>
+ <command name="glPushClientAttrib"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 1.2 features removed from GL 3.2">
+ <enum name="GL_RESCALE_NORMAL"/>
+ <enum name="GL_LIGHT_MODEL_COLOR_CONTROL"/>
+ <enum name="GL_SINGLE_COLOR"/>
+ <enum name="GL_SEPARATE_SPECULAR_COLOR"/>
+ <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 1.3 features removed from GL 3.2">
+ <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
+ <enum name="GL_MAX_TEXTURE_UNITS"/>
+ <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX"/>
+ <enum name="GL_TRANSPOSE_PROJECTION_MATRIX"/>
+ <enum name="GL_TRANSPOSE_TEXTURE_MATRIX"/>
+ <enum name="GL_TRANSPOSE_COLOR_MATRIX"/>
+ <enum name="GL_MULTISAMPLE_BIT"/>
+ <enum name="GL_NORMAL_MAP"/>
+ <enum name="GL_REFLECTION_MAP"/>
+ <enum name="GL_COMPRESSED_ALPHA"/>
+ <enum name="GL_COMPRESSED_LUMINANCE"/>
+ <enum name="GL_COMPRESSED_LUMINANCE_ALPHA"/>
+ <enum name="GL_COMPRESSED_INTENSITY"/>
+ <enum name="GL_COMBINE"/>
+ <enum name="GL_COMBINE_RGB"/>
+ <enum name="GL_COMBINE_ALPHA"/>
+ <enum name="GL_SOURCE0_RGB"/>
+ <enum name="GL_SOURCE1_RGB"/>
+ <enum name="GL_SOURCE2_RGB"/>
+ <enum name="GL_SOURCE0_ALPHA"/>
+ <enum name="GL_SOURCE1_ALPHA"/>
+ <enum name="GL_SOURCE2_ALPHA"/>
+ <enum name="GL_OPERAND0_RGB"/>
+ <enum name="GL_OPERAND1_RGB"/>
+ <enum name="GL_OPERAND2_RGB"/>
+ <enum name="GL_OPERAND0_ALPHA"/>
+ <enum name="GL_OPERAND1_ALPHA"/>
+ <enum name="GL_OPERAND2_ALPHA"/>
+ <enum name="GL_RGB_SCALE"/>
+ <enum name="GL_ADD_SIGNED"/>
+ <enum name="GL_INTERPOLATE"/>
+ <enum name="GL_SUBTRACT"/>
+ <enum name="GL_CONSTANT"/>
+ <enum name="GL_PRIMARY_COLOR"/>
+ <enum name="GL_PREVIOUS"/>
+ <enum name="GL_DOT3_RGB"/>
+ <enum name="GL_DOT3_RGBA"/>
+ <command name="glClientActiveTexture"/>
+ <command name="glMultiTexCoord1d"/>
+ <command name="glMultiTexCoord1dv"/>
+ <command name="glMultiTexCoord1f"/>
+ <command name="glMultiTexCoord1fv"/>
+ <command name="glMultiTexCoord1i"/>
+ <command name="glMultiTexCoord1iv"/>
+ <command name="glMultiTexCoord1s"/>
+ <command name="glMultiTexCoord1sv"/>
+ <command name="glMultiTexCoord2d"/>
+ <command name="glMultiTexCoord2dv"/>
+ <command name="glMultiTexCoord2f"/>
+ <command name="glMultiTexCoord2fv"/>
+ <command name="glMultiTexCoord2i"/>
+ <command name="glMultiTexCoord2iv"/>
+ <command name="glMultiTexCoord2s"/>
+ <command name="glMultiTexCoord2sv"/>
+ <command name="glMultiTexCoord3d"/>
+ <command name="glMultiTexCoord3dv"/>
+ <command name="glMultiTexCoord3f"/>
+ <command name="glMultiTexCoord3fv"/>
+ <command name="glMultiTexCoord3i"/>
+ <command name="glMultiTexCoord3iv"/>
+ <command name="glMultiTexCoord3s"/>
+ <command name="glMultiTexCoord3sv"/>
+ <command name="glMultiTexCoord4d"/>
+ <command name="glMultiTexCoord4dv"/>
+ <command name="glMultiTexCoord4f"/>
+ <command name="glMultiTexCoord4fv"/>
+ <command name="glMultiTexCoord4i"/>
+ <command name="glMultiTexCoord4iv"/>
+ <command name="glMultiTexCoord4s"/>
+ <command name="glMultiTexCoord4sv"/>
+ <command name="glLoadTransposeMatrixf"/>
+ <command name="glLoadTransposeMatrixd"/>
+ <command name="glMultTransposeMatrixf"/>
+ <command name="glMultTransposeMatrixd"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 1.4 features removed from GL 3.2">
+ <enum name="GL_POINT_SIZE_MIN"/>
+ <enum name="GL_POINT_SIZE_MAX"/>
+ <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+ <enum name="GL_GENERATE_MIPMAP"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT"/>
+ <enum name="GL_FOG_COORDINATE_SOURCE"/>
+ <enum name="GL_FOG_COORDINATE"/>
+ <enum name="GL_FRAGMENT_DEPTH"/>
+ <enum name="GL_CURRENT_FOG_COORDINATE"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_TYPE"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_POINTER"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY"/>
+ <enum name="GL_COLOR_SUM"/>
+ <enum name="GL_CURRENT_SECONDARY_COLOR"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_SIZE"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_TYPE"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_STRIDE"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_POINTER"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY"/>
+ <enum name="GL_TEXTURE_FILTER_CONTROL"/>
+ <enum name="GL_DEPTH_TEXTURE_MODE"/>
+ <enum name="GL_COMPARE_R_TO_TEXTURE"/>
+ <command name="glFogCoordf"/>
+ <command name="glFogCoordfv"/>
+ <command name="glFogCoordd"/>
+ <command name="glFogCoorddv"/>
+ <command name="glFogCoordPointer"/>
+ <command name="glSecondaryColor3b"/>
+ <command name="glSecondaryColor3bv"/>
+ <command name="glSecondaryColor3d"/>
+ <command name="glSecondaryColor3dv"/>
+ <command name="glSecondaryColor3f"/>
+ <command name="glSecondaryColor3fv"/>
+ <command name="glSecondaryColor3i"/>
+ <command name="glSecondaryColor3iv"/>
+ <command name="glSecondaryColor3s"/>
+ <command name="glSecondaryColor3sv"/>
+ <command name="glSecondaryColor3ub"/>
+ <command name="glSecondaryColor3ubv"/>
+ <command name="glSecondaryColor3ui"/>
+ <command name="glSecondaryColor3uiv"/>
+ <command name="glSecondaryColor3us"/>
+ <command name="glSecondaryColor3usv"/>
+ <command name="glSecondaryColorPointer"/>
+ <command name="glWindowPos2d"/>
+ <command name="glWindowPos2dv"/>
+ <command name="glWindowPos2f"/>
+ <command name="glWindowPos2fv"/>
+ <command name="glWindowPos2i"/>
+ <command name="glWindowPos2iv"/>
+ <command name="glWindowPos2s"/>
+ <command name="glWindowPos2sv"/>
+ <command name="glWindowPos3d"/>
+ <command name="glWindowPos3dv"/>
+ <command name="glWindowPos3f"/>
+ <command name="glWindowPos3fv"/>
+ <command name="glWindowPos3i"/>
+ <command name="glWindowPos3iv"/>
+ <command name="glWindowPos3s"/>
+ <command name="glWindowPos3sv"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 1.5 features removed from GL 3.2">
+ <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_INDEX_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_FOG_COORD_SRC"/>
+ <enum name="GL_FOG_COORD"/>
+ <enum name="GL_CURRENT_FOG_COORD"/>
+ <enum name="GL_FOG_COORD_ARRAY_TYPE"/>
+ <enum name="GL_FOG_COORD_ARRAY_STRIDE"/>
+ <enum name="GL_FOG_COORD_ARRAY_POINTER"/>
+ <enum name="GL_FOG_COORD_ARRAY"/>
+ <enum name="GL_FOG_COORD_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_SRC0_RGB"/>
+ <enum name="GL_SRC1_RGB"/>
+ <enum name="GL_SRC2_RGB"/>
+ <enum name="GL_SRC0_ALPHA"/>
+ <enum name="GL_SRC2_ALPHA"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 2.0 features removed from GL 3.2">
+ <enum name="GL_VERTEX_PROGRAM_TWO_SIDE"/>
+ <enum name="GL_POINT_SPRITE"/>
+ <enum name="GL_COORD_REPLACE"/>
+ <enum name="GL_MAX_TEXTURE_COORDS"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 2.1 features removed from GL 3.2">
+ <enum name="GL_CURRENT_RASTER_SECONDARY_COLOR"/>
+ <enum name="GL_SLUMINANCE_ALPHA"/>
+ <enum name="GL_SLUMINANCE8_ALPHA8"/>
+ <enum name="GL_SLUMINANCE"/>
+ <enum name="GL_SLUMINANCE8"/>
+ <enum name="GL_COMPRESSED_SLUMINANCE"/>
+ <enum name="GL_COMPRESSED_SLUMINANCE_ALPHA"/>
+ </remove>
+ <remove profile="core" comment="Compatibility-only GL 3.0 features removed from GL 3.2">
+ <enum name="GL_CLAMP_VERTEX_COLOR"/>
+ <enum name="GL_CLAMP_FRAGMENT_COLOR"/>
+ <enum name="GL_ALPHA_INTEGER"/>
+ <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
+ <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
+ </remove>
+ <!-- Deprecated (not removed) in OpenGL 3.2 core;
+ deprecate tag not defined/supported yet
+ <deprecate profile="core">
+ <enum name="GL_MAX_VARYING_FLOATS"/>
+ <enum name="GL_MAX_VARYING_COMPONENTS"/>
+ </deprecate>
+ -->
+ </feature>
+ <feature api="gl" name="GL_VERSION_3_3" number="3.3">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+ </require>
+ <require comment="Reuse ARB_blend_func_extended">
+ <enum name="GL_SRC1_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC1_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC1_ALPHA"/>
+ <enum name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"/>
+ <command name="glBindFragDataLocationIndexed"/>
+ <command name="glGetFragDataIndex"/>
+ </require>
+ <require comment="Reuse ARB_explicit_attrib_location (none)">
+ </require>
+ <require comment="Reuse ARB_occlusion_query2">
+ <enum name="GL_ANY_SAMPLES_PASSED"/>
+ </require>
+ <require comment="Reuse ARB_sampler_objects">
+ <enum name="GL_SAMPLER_BINDING"/>
+ <command name="glGenSamplers"/>
+ <command name="glDeleteSamplers"/>
+ <command name="glIsSampler"/>
+ <command name="glBindSampler"/>
+ <command name="glSamplerParameteri"/>
+ <command name="glSamplerParameteriv"/>
+ <command name="glSamplerParameterf"/>
+ <command name="glSamplerParameterfv"/>
+ <command name="glSamplerParameterIiv"/>
+ <command name="glSamplerParameterIuiv"/>
+ <command name="glGetSamplerParameteriv"/>
+ <command name="glGetSamplerParameterIiv"/>
+ <command name="glGetSamplerParameterfv"/>
+ <command name="glGetSamplerParameterIuiv"/>
+ </require>
+ <require comment="Reuse ARB_shader_bit_encoding (none)">
+ </require>
+ <require comment="Reuse ARB_texture_rgb10_a2ui">
+ <enum name="GL_RGB10_A2UI"/>
+ </require>
+ <require comment="Reuse ARB_texture_swizzle">
+ <enum name="GL_TEXTURE_SWIZZLE_R"/>
+ <enum name="GL_TEXTURE_SWIZZLE_G"/>
+ <enum name="GL_TEXTURE_SWIZZLE_B"/>
+ <enum name="GL_TEXTURE_SWIZZLE_A"/>
+ <enum name="GL_TEXTURE_SWIZZLE_RGBA"/>
+ </require>
+ <require comment="Reuse ARB_timer_query">
+ <enum name="GL_TIME_ELAPSED"/>
+ <enum name="GL_TIMESTAMP"/>
+ <command name="glQueryCounter"/>
+ <command name="glGetQueryObjecti64v"/>
+ <command name="glGetQueryObjectui64v"/>
+ </require>
+ <require comment="Reuse ARB_vertex_type_2_10_10_10_rev">
+ <enum name="GL_INT_2_10_10_10_REV"/>
+ <command name="glVertexAttribDivisor"/>
+ <command name="glVertexAttribP1ui"/>
+ <command name="glVertexAttribP1uiv"/>
+ <command name="glVertexAttribP2ui"/>
+ <command name="glVertexAttribP2uiv"/>
+ <command name="glVertexAttribP3ui"/>
+ <command name="glVertexAttribP3uiv"/>
+ <command name="glVertexAttribP4ui"/>
+ <command name="glVertexAttribP4uiv"/>
+ </require>
+ <require profile="compatibility" comment="Reuse ARB_vertex_type_2_10_10_10_rev compatibility profile">
+ <command name="glVertexP2ui"/>
+ <command name="glVertexP2uiv"/>
+ <command name="glVertexP3ui"/>
+ <command name="glVertexP3uiv"/>
+ <command name="glVertexP4ui"/>
+ <command name="glVertexP4uiv"/>
+ <command name="glTexCoordP1ui"/>
+ <command name="glTexCoordP1uiv"/>
+ <command name="glTexCoordP2ui"/>
+ <command name="glTexCoordP2uiv"/>
+ <command name="glTexCoordP3ui"/>
+ <command name="glTexCoordP3uiv"/>
+ <command name="glTexCoordP4ui"/>
+ <command name="glTexCoordP4uiv"/>
+ <command name="glMultiTexCoordP1ui"/>
+ <command name="glMultiTexCoordP1uiv"/>
+ <command name="glMultiTexCoordP2ui"/>
+ <command name="glMultiTexCoordP2uiv"/>
+ <command name="glMultiTexCoordP3ui"/>
+ <command name="glMultiTexCoordP3uiv"/>
+ <command name="glMultiTexCoordP4ui"/>
+ <command name="glMultiTexCoordP4uiv"/>
+ <command name="glNormalP3ui"/>
+ <command name="glNormalP3uiv"/>
+ <command name="glColorP3ui"/>
+ <command name="glColorP3uiv"/>
+ <command name="glColorP4ui"/>
+ <command name="glColorP4uiv"/>
+ <command name="glSecondaryColorP3ui"/>
+ <command name="glSecondaryColorP3uiv"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_4_0" number="4.0">
+ <require>
+ <enum name="GL_SAMPLE_SHADING"/>
+ <enum name="GL_MIN_SAMPLE_SHADING_VALUE"/>
+ <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
+ <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
+ <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+ <command name="glMinSampleShading"/>
+ <command name="glBlendEquationi"/>
+ <command name="glBlendEquationSeparatei"/>
+ <command name="glBlendFunci"/>
+ <command name="glBlendFuncSeparatei"/>
+ </require>
+ <require comment="Reuse ARB_draw_buffers_blend (none)">
+ </require>
+ <require comment="Reuse ARB_draw_indirect">
+ <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+ <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+ <command name="glDrawArraysIndirect"/>
+ <command name="glDrawElementsIndirect"/>
+ </require>
+ <require comment="Reuse ARB_gpu_shader5">
+ <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+ <enum name="GL_MAX_VERTEX_STREAMS"/>
+ </require>
+ <require comment="Reuse ARB_gpu_shader_fp64">
+ <enum name="GL_DOUBLE_VEC2"/>
+ <enum name="GL_DOUBLE_VEC3"/>
+ <enum name="GL_DOUBLE_VEC4"/>
+ <enum name="GL_DOUBLE_MAT2"/>
+ <enum name="GL_DOUBLE_MAT3"/>
+ <enum name="GL_DOUBLE_MAT4"/>
+ <enum name="GL_DOUBLE_MAT2x3"/>
+ <enum name="GL_DOUBLE_MAT2x4"/>
+ <enum name="GL_DOUBLE_MAT3x2"/>
+ <enum name="GL_DOUBLE_MAT3x4"/>
+ <enum name="GL_DOUBLE_MAT4x2"/>
+ <enum name="GL_DOUBLE_MAT4x3"/>
+ <command name="glUniform1d"/>
+ <command name="glUniform2d"/>
+ <command name="glUniform3d"/>
+ <command name="glUniform4d"/>
+ <command name="glUniform1dv"/>
+ <command name="glUniform2dv"/>
+ <command name="glUniform3dv"/>
+ <command name="glUniform4dv"/>
+ <command name="glUniformMatrix2dv"/>
+ <command name="glUniformMatrix3dv"/>
+ <command name="glUniformMatrix4dv"/>
+ <command name="glUniformMatrix2x3dv"/>
+ <command name="glUniformMatrix2x4dv"/>
+ <command name="glUniformMatrix3x2dv"/>
+ <command name="glUniformMatrix3x4dv"/>
+ <command name="glUniformMatrix4x2dv"/>
+ <command name="glUniformMatrix4x3dv"/>
+ <command name="glGetUniformdv"/>
+ </require>
+ <require comment="Reuse ARB_shader_subroutine">
+ <enum name="GL_ACTIVE_SUBROUTINES"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_UNIFORMS"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"/>
+ <enum name="GL_MAX_SUBROUTINES"/>
+ <enum name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
+ <enum name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
+ <enum name="GL_COMPATIBLE_SUBROUTINES"/>
+ <command name="glGetSubroutineUniformLocation"/>
+ <command name="glGetSubroutineIndex"/>
+ <command name="glGetActiveSubroutineUniformiv"/>
+ <command name="glGetActiveSubroutineUniformName"/>
+ <command name="glGetActiveSubroutineName"/>
+ <command name="glUniformSubroutinesuiv"/>
+ <command name="glGetUniformSubroutineuiv"/>
+ <command name="glGetProgramStageiv"/>
+ </require>
+ <require comment="Reuse ARB_tessellation_shader">
+ <enum name="GL_PATCHES"/>
+ <enum name="GL_PATCH_VERTICES"/>
+ <enum name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
+ <enum name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
+ <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+ <enum name="GL_TESS_GEN_MODE"/>
+ <enum name="GL_TESS_GEN_SPACING"/>
+ <enum name="GL_TESS_GEN_VERTEX_ORDER"/>
+ <enum name="GL_TESS_GEN_POINT_MODE"/>
+ <enum name="GL_ISOLINES"/>
+ <enum name="GL_QUADS"/>
+ <enum name="GL_FRACTIONAL_ODD"/>
+ <enum name="GL_FRACTIONAL_EVEN"/>
+ <enum name="GL_MAX_PATCH_VERTICES"/>
+ <enum name="GL_MAX_TESS_GEN_LEVEL"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_TESS_CONTROL_SHADER"/>
+ <command name="glPatchParameteri"/>
+ <command name="glPatchParameterfv"/>
+ </require>
+ <require comment="Reuse ARB_texture_buffer_object_rgb32 (none)">
+ </require>
+ <require comment="Reuse ARB_texture_cube_map_array (none)">
+ </require>
+ <require comment="Reuse ARB_texture_gather (none)">
+ </require>
+ <require comment="Reuse ARB_texture_query_lod (none)">
+ </require>
+ <require comment="Reuse ARB_transform_feedback2">
+ <enum name="GL_TRANSFORM_FEEDBACK"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+ <command name="glBindTransformFeedback"/>
+ <command name="glDeleteTransformFeedbacks"/>
+ <command name="glGenTransformFeedbacks"/>
+ <command name="glIsTransformFeedback"/>
+ <command name="glPauseTransformFeedback"/>
+ <command name="glResumeTransformFeedback"/>
+ <command name="glDrawTransformFeedback"/>
+ </require>
+ <require comment="Reuse ARB_transform_feedback3">
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
+ <enum name="GL_MAX_VERTEX_STREAMS"/>
+ <command name="glDrawTransformFeedbackStream"/>
+ <command name="glBeginQueryIndexed"/>
+ <command name="glEndQueryIndexed"/>
+ <command name="glGetQueryIndexediv"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_4_1" number="4.1">
+ <require comment="Reuse tokens from ARB_ES2_compatibility">
+ <enum name="GL_FIXED"/>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+ <enum name="GL_LOW_FLOAT"/>
+ <enum name="GL_MEDIUM_FLOAT"/>
+ <enum name="GL_HIGH_FLOAT"/>
+ <enum name="GL_LOW_INT"/>
+ <enum name="GL_MEDIUM_INT"/>
+ <enum name="GL_HIGH_INT"/>
+ <enum name="GL_SHADER_COMPILER"/>
+ <enum name="GL_SHADER_BINARY_FORMATS"/>
+ <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+ <enum name="GL_MAX_VARYING_VECTORS"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+ <enum name="GL_RGB565"/>
+ </require>
+ <require comment="Reuse tokens from ARB_get_program_binary">
+ <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+ <enum name="GL_PROGRAM_BINARY_LENGTH"/>
+ <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+ <enum name="GL_PROGRAM_BINARY_FORMATS"/>
+ </require>
+ <require comment="Reuse tokens from ARB_separate_shader_objects">
+ <enum name="GL_VERTEX_SHADER_BIT"/>
+ <enum name="GL_FRAGMENT_SHADER_BIT"/>
+ <enum name="GL_GEOMETRY_SHADER_BIT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
+ <enum name="GL_ALL_SHADER_BITS"/>
+ <enum name="GL_PROGRAM_SEPARABLE"/>
+ <enum name="GL_ACTIVE_PROGRAM"/>
+ <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
+ </require>
+ <require comment="Reuse tokens from ARB_shader_precision (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already">
+ </require>
+ <require comment="Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already">
+ <enum name="GL_MAX_VIEWPORTS"/>
+ <enum name="GL_VIEWPORT_SUBPIXEL_BITS"/>
+ <enum name="GL_VIEWPORT_BOUNDS_RANGE"/>
+ <enum name="GL_LAYER_PROVOKING_VERTEX"/>
+ <enum name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
+ <enum name="GL_UNDEFINED_VERTEX"/>
+ </require>
+ <require comment="Reuse commands from ARB_ES2_compatibility">
+ <command name="glReleaseShaderCompiler"/>
+ <command name="glShaderBinary"/>
+ <command name="glGetShaderPrecisionFormat"/>
+ <command name="glDepthRangef"/>
+ <command name="glClearDepthf"/>
+ </require>
+ <require comment="Reuse commands from ARB_get_program_binary">
+ <command name="glGetProgramBinary"/>
+ <command name="glProgramBinary"/>
+ <command name="glProgramParameteri"/>
+ </require>
+ <require comment="Reuse commands from ARB_separate_shader_objects">
+ <command name="glUseProgramStages"/>
+ <command name="glActiveShaderProgram"/>
+ <command name="glCreateShaderProgramv"/>
+ <command name="glBindProgramPipeline"/>
+ <command name="glDeleteProgramPipelines"/>
+ <command name="glGenProgramPipelines"/>
+ <command name="glIsProgramPipeline"/>
+ <command name="glGetProgramPipelineiv"/>
+ <command name="glProgramUniform1i"/>
+ <command name="glProgramUniform1iv"/>
+ <command name="glProgramUniform1f"/>
+ <command name="glProgramUniform1fv"/>
+ <command name="glProgramUniform1d"/>
+ <command name="glProgramUniform1dv"/>
+ <command name="glProgramUniform1ui"/>
+ <command name="glProgramUniform1uiv"/>
+ <command name="glProgramUniform2i"/>
+ <command name="glProgramUniform2iv"/>
+ <command name="glProgramUniform2f"/>
+ <command name="glProgramUniform2fv"/>
+ <command name="glProgramUniform2d"/>
+ <command name="glProgramUniform2dv"/>
+ <command name="glProgramUniform2ui"/>
+ <command name="glProgramUniform2uiv"/>
+ <command name="glProgramUniform3i"/>
+ <command name="glProgramUniform3iv"/>
+ <command name="glProgramUniform3f"/>
+ <command name="glProgramUniform3fv"/>
+ <command name="glProgramUniform3d"/>
+ <command name="glProgramUniform3dv"/>
+ <command name="glProgramUniform3ui"/>
+ <command name="glProgramUniform3uiv"/>
+ <command name="glProgramUniform4i"/>
+ <command name="glProgramUniform4iv"/>
+ <command name="glProgramUniform4f"/>
+ <command name="glProgramUniform4fv"/>
+ <command name="glProgramUniform4d"/>
+ <command name="glProgramUniform4dv"/>
+ <command name="glProgramUniform4ui"/>
+ <command name="glProgramUniform4uiv"/>
+ <command name="glProgramUniformMatrix2fv"/>
+ <command name="glProgramUniformMatrix3fv"/>
+ <command name="glProgramUniformMatrix4fv"/>
+ <command name="glProgramUniformMatrix2dv"/>
+ <command name="glProgramUniformMatrix3dv"/>
+ <command name="glProgramUniformMatrix4dv"/>
+ <command name="glProgramUniformMatrix2x3fv"/>
+ <command name="glProgramUniformMatrix3x2fv"/>
+ <command name="glProgramUniformMatrix2x4fv"/>
+ <command name="glProgramUniformMatrix4x2fv"/>
+ <command name="glProgramUniformMatrix3x4fv"/>
+ <command name="glProgramUniformMatrix4x3fv"/>
+ <command name="glProgramUniformMatrix2x3dv"/>
+ <command name="glProgramUniformMatrix3x2dv"/>
+ <command name="glProgramUniformMatrix2x4dv"/>
+ <command name="glProgramUniformMatrix4x2dv"/>
+ <command name="glProgramUniformMatrix3x4dv"/>
+ <command name="glProgramUniformMatrix4x3dv"/>
+ <command name="glValidateProgramPipeline"/>
+ <command name="glGetProgramPipelineInfoLog"/>
+ </require>
+ <require comment="Reuse commands from ARB_shader_precision (none)">
+ </require>
+ <require comment="Reuse commands from ARB_vertex_attrib_64bit">
+ <command name="glVertexAttribL1d"/>
+ <command name="glVertexAttribL2d"/>
+ <command name="glVertexAttribL3d"/>
+ <command name="glVertexAttribL4d"/>
+ <command name="glVertexAttribL1dv"/>
+ <command name="glVertexAttribL2dv"/>
+ <command name="glVertexAttribL3dv"/>
+ <command name="glVertexAttribL4dv"/>
+ <command name="glVertexAttribLPointer"/>
+ <command name="glGetVertexAttribLdv"/>
+ </require>
+ <require comment="Reuse commands from ARB_viewport_array">
+ <command name="glViewportArrayv"/>
+ <command name="glViewportIndexedf"/>
+ <command name="glViewportIndexedfv"/>
+ <command name="glScissorArrayv"/>
+ <command name="glScissorIndexed"/>
+ <command name="glScissorIndexedv"/>
+ <command name="glDepthRangeArrayv"/>
+ <command name="glDepthRangeIndexed"/>
+ <command name="glGetFloati_v"/>
+ <command name="glGetDoublei_v"/>
+ </require>
+ </feature>
+ <feature api="gl" name="GL_VERSION_4_2" number="4.2">
+ <require comment="Reuse tokens from ARB_base_instance (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_shading_language_420pack (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_transform_feedback_instanced (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_compressed_texture_pixel_storage">
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_DEPTH"/>
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_SIZE"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_WIDTH"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_DEPTH"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_SIZE"/>
+ </require>
+ <require comment="Reuse tokens from ARB_conservative_depth (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_internalformat_query">
+ <enum name="GL_NUM_SAMPLE_COUNTS"/>
+ </require>
+ <require comment="Reuse tokens from ARB_map_buffer_alignment">
+ <enum name="GL_MIN_MAP_BUFFER_ALIGNMENT"/>
+ </require>
+ <require comment="Reuse tokens from ARB_shader_atomic_counters">
+ <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+ <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
+ </require>
+ <require comment="Reuse tokens from ARB_shader_image_load_store">
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_UNIFORM_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+ <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+ <enum name="GL_COMMAND_BARRIER_BIT"/>
+ <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+ <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+ <enum name="GL_ALL_BARRIER_BITS"/>
+ <enum name="GL_MAX_IMAGE_UNITS"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+ <enum name="GL_IMAGE_BINDING_NAME"/>
+ <enum name="GL_IMAGE_BINDING_LEVEL"/>
+ <enum name="GL_IMAGE_BINDING_LAYERED"/>
+ <enum name="GL_IMAGE_BINDING_LAYER"/>
+ <enum name="GL_IMAGE_BINDING_ACCESS"/>
+ <enum name="GL_IMAGE_1D"/>
+ <enum name="GL_IMAGE_2D"/>
+ <enum name="GL_IMAGE_3D"/>
+ <enum name="GL_IMAGE_2D_RECT"/>
+ <enum name="GL_IMAGE_CUBE"/>
+ <enum name="GL_IMAGE_BUFFER"/>
+ <enum name="GL_IMAGE_1D_ARRAY"/>
+ <enum name="GL_IMAGE_2D_ARRAY"/>
+ <enum name="GL_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_IMAGE_2D_MULTISAMPLE"/>
+ <enum name="GL_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_INT_IMAGE_1D"/>
+ <enum name="GL_INT_IMAGE_2D"/>
+ <enum name="GL_INT_IMAGE_3D"/>
+ <enum name="GL_INT_IMAGE_2D_RECT"/>
+ <enum name="GL_INT_IMAGE_CUBE"/>
+ <enum name="GL_INT_IMAGE_BUFFER"/>
+ <enum name="GL_INT_IMAGE_1D_ARRAY"/>
+ <enum name="GL_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_INT_IMAGE_2D_MULTISAMPLE"/>
+ <enum name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_1D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_3D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_RECT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_MAX_IMAGE_SAMPLES"/>
+ <enum name="GL_IMAGE_BINDING_FORMAT"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+ <enum name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+ </require>
+ <require comment="Reuse tokens from ARB_shading_language_packing (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_texture_compression_bptc">
+ <enum name="GL_COMPRESSED_RGBA_BPTC_UNORM"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM"/>
+ <enum name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT"/>
+ <enum name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT"/>
+ </require>
+ <require comment="Reuse tokens from ARB_texture_storage">
+ <enum name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
+ </require>
+ <require comment="Reuse commands from ARB_base_instance">
+ <command name="glDrawArraysInstancedBaseInstance"/>
+ <command name="glDrawElementsInstancedBaseInstance"/>
+ <command name="glDrawElementsInstancedBaseVertexBaseInstance"/>
+ </require>
+ <require comment="Reuse commands from ARB_compressed_texture_pixel_storage (none)">
+ </require>
+ <require comment="Reuse commands from ARB_conservative_depth (none)">
+ </require>
+ <require comment="Reuse commands from ARB_internalformat_query">
+ <command name="glGetInternalformativ"/>
+ </require>
+ <require comment="Reuse commands from ARB_map_buffer_alignment (none)">
+ </require>
+ <require comment="Reuse commands from ARB_shader_atomic_counters">
+ <command name="glGetActiveAtomicCounterBufferiv"/>
+ </require>
+ <require comment="Reuse commands from ARB_shader_image_load_store">
+ <command name="glBindImageTexture"/>
+ <command name="glMemoryBarrier"/>
+ </require>
+ <require comment="Reuse commands from ARB_shading_language_420pack (none)">
+ </require>
+ <require comment="Reuse commands from ARB_shading_language_packing (none)">
+ </require>
+ <require comment="Reuse commands from ARB_texture_storage">
+ <command name="glTexStorage1D"/>
+ <command name="glTexStorage2D"/>
+ <command name="glTexStorage3D"/>
+ </require>
+ <require comment="Reuse commands from ARB_transform_feedback_instanced">
+ <command name="glDrawTransformFeedbackInstanced"/>
+ <command name="glDrawTransformFeedbackStreamInstanced"/>
+ </require>
+ <!-- Deprecated in OpenGL 4.2 core;
+ deprecate tag not defined/supported yet
+ <deprecate profile="core">
+ <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+ </deprecate>
+ -->
+ </feature>
+ <feature api="gl" name="GL_VERSION_4_3" number="4.3">
+ <require>
+ <enum name="GL_NUM_SHADING_LANGUAGE_VERSIONS"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_LONG"/>
+ </require>
+ <require comment="Reuse tokens from ARB_arrays_of_arrays (none, GLSL only)">
+ </require>
+ <require comment="Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only)">
+ </require>
+ <require comment="Reuse tokens from ARB_shader_image_size (none, GLSL only)">
+ </require>
+ <require comment="Reuse tokens from ARB_ES3_compatibility">
+ <enum name="GL_COMPRESSED_RGB8_ETC2"/>
+ <enum name="GL_COMPRESSED_SRGB8_ETC2"/>
+ <enum name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum name="GL_COMPRESSED_RGBA8_ETC2_EAC"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
+ <enum name="GL_COMPRESSED_R11_EAC"/>
+ <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+ <enum name="GL_COMPRESSED_RG11_EAC"/>
+ <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
+ <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+ <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+ <enum name="GL_MAX_ELEMENT_INDEX"/>
+ </require>
+ <require comment="Reuse tokens from ARB_clear_buffer_object (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_compute_shader">
+ <enum name="GL_COMPUTE_SHADER"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+ <enum name="GL_COMPUTE_SHADER_BIT"/>
+ </require>
+ <require comment="Reuse tokens from ARB_copy_image (none)">
+ </require>
+ <require comment="Reuse tokens from KHR_debug">
+ <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
+ <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
+ <enum name="GL_DEBUG_CALLBACK_FUNCTION"/>
+ <enum name="GL_DEBUG_CALLBACK_USER_PARAM"/>
+ <enum name="GL_DEBUG_SOURCE_API"/>
+ <enum name="GL_DEBUG_SOURCE_WINDOW_SYSTEM"/>
+ <enum name="GL_DEBUG_SOURCE_SHADER_COMPILER"/>
+ <enum name="GL_DEBUG_SOURCE_THIRD_PARTY"/>
+ <enum name="GL_DEBUG_SOURCE_APPLICATION"/>
+ <enum name="GL_DEBUG_SOURCE_OTHER"/>
+ <enum name="GL_DEBUG_TYPE_ERROR"/>
+ <enum name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"/>
+ <enum name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"/>
+ <enum name="GL_DEBUG_TYPE_PORTABILITY"/>
+ <enum name="GL_DEBUG_TYPE_PERFORMANCE"/>
+ <enum name="GL_DEBUG_TYPE_OTHER"/>
+ <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
+ <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
+ <enum name="GL_DEBUG_LOGGED_MESSAGES"/>
+ <enum name="GL_DEBUG_SEVERITY_HIGH"/>
+ <enum name="GL_DEBUG_SEVERITY_MEDIUM"/>
+ <enum name="GL_DEBUG_SEVERITY_LOW"/>
+ <enum name="GL_DEBUG_TYPE_MARKER"/>
+ <enum name="GL_DEBUG_TYPE_PUSH_GROUP"/>
+ <enum name="GL_DEBUG_TYPE_POP_GROUP"/>
+ <enum name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
+ <enum name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
+ <enum name="GL_DEBUG_GROUP_STACK_DEPTH"/>
+ <enum name="GL_BUFFER"/>
+ <enum name="GL_SHADER"/>
+ <enum name="GL_PROGRAM"/>
+ <enum name="GL_VERTEX_ARRAY"/>
+ <enum name="GL_QUERY"/>
+ <enum name="GL_PROGRAM_PIPELINE"/>
+ <enum name="GL_SAMPLER"/>
+ <enum name="GL_MAX_LABEL_LENGTH"/>
+ <enum name="GL_DEBUG_OUTPUT"/>
+ <enum name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
+ </require>
+ <require comment="Reuse tokens from ARB_explicit_uniform_location">
+ <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
+ </require>
+ <require comment="Reuse tokens from ARB_framebuffer_no_attachments">
+ <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_MAX_FRAMEBUFFER_WIDTH"/>
+ <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+ <enum name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+ <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+ </require>
+ <require comment="Reuse tokens from ARB_internalformat_query2">
+ <enum name="GL_INTERNALFORMAT_SUPPORTED"/>
+ <enum name="GL_INTERNALFORMAT_PREFERRED"/>
+ <enum name="GL_INTERNALFORMAT_RED_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_GREEN_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_BLUE_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_ALPHA_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_DEPTH_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_STENCIL_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_SHARED_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_RED_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_GREEN_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_BLUE_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_ALPHA_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_DEPTH_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_STENCIL_TYPE"/>
+ <enum name="GL_MAX_WIDTH"/>
+ <enum name="GL_MAX_HEIGHT"/>
+ <enum name="GL_MAX_DEPTH"/>
+ <enum name="GL_MAX_LAYERS"/>
+ <enum name="GL_MAX_COMBINED_DIMENSIONS"/>
+ <enum name="GL_COLOR_COMPONENTS"/>
+ <enum name="GL_DEPTH_COMPONENTS"/>
+ <enum name="GL_STENCIL_COMPONENTS"/>
+ <enum name="GL_COLOR_RENDERABLE"/>
+ <enum name="GL_DEPTH_RENDERABLE"/>
+ <enum name="GL_STENCIL_RENDERABLE"/>
+ <enum name="GL_FRAMEBUFFER_RENDERABLE"/>
+ <enum name="GL_FRAMEBUFFER_RENDERABLE_LAYERED"/>
+ <enum name="GL_FRAMEBUFFER_BLEND"/>
+ <enum name="GL_READ_PIXELS"/>
+ <enum name="GL_READ_PIXELS_FORMAT"/>
+ <enum name="GL_READ_PIXELS_TYPE"/>
+ <enum name="GL_TEXTURE_IMAGE_FORMAT"/>
+ <enum name="GL_TEXTURE_IMAGE_TYPE"/>
+ <enum name="GL_GET_TEXTURE_IMAGE_FORMAT"/>
+ <enum name="GL_GET_TEXTURE_IMAGE_TYPE"/>
+ <enum name="GL_MIPMAP"/>
+ <enum name="GL_MANUAL_GENERATE_MIPMAP"/>
+ <enum name="GL_AUTO_GENERATE_MIPMAP"/>
+ <enum name="GL_COLOR_ENCODING"/>
+ <enum name="GL_SRGB_READ"/>
+ <enum name="GL_SRGB_WRITE"/>
+ <enum name="GL_FILTER"/>
+ <enum name="GL_VERTEX_TEXTURE"/>
+ <enum name="GL_TESS_CONTROL_TEXTURE"/>
+ <enum name="GL_TESS_EVALUATION_TEXTURE"/>
+ <enum name="GL_GEOMETRY_TEXTURE"/>
+ <enum name="GL_FRAGMENT_TEXTURE"/>
+ <enum name="GL_COMPUTE_TEXTURE"/>
+ <enum name="GL_TEXTURE_SHADOW"/>
+ <enum name="GL_TEXTURE_GATHER"/>
+ <enum name="GL_TEXTURE_GATHER_SHADOW"/>
+ <enum name="GL_SHADER_IMAGE_LOAD"/>
+ <enum name="GL_SHADER_IMAGE_STORE"/>
+ <enum name="GL_SHADER_IMAGE_ATOMIC"/>
+ <enum name="GL_IMAGE_TEXEL_SIZE"/>
+ <enum name="GL_IMAGE_COMPATIBILITY_CLASS"/>
+ <enum name="GL_IMAGE_PIXEL_FORMAT"/>
+ <enum name="GL_IMAGE_PIXEL_TYPE"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE"/>
+ <enum name="GL_TEXTURE_COMPRESSED_BLOCK_WIDTH"/>
+ <enum name="GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum name="GL_TEXTURE_COMPRESSED_BLOCK_SIZE"/>
+ <enum name="GL_CLEAR_BUFFER"/>
+ <enum name="GL_TEXTURE_VIEW"/>
+ <enum name="GL_VIEW_COMPATIBILITY_CLASS"/>
+ <enum name="GL_FULL_SUPPORT"/>
+ <enum name="GL_CAVEAT_SUPPORT"/>
+ <enum name="GL_IMAGE_CLASS_4_X_32"/>
+ <enum name="GL_IMAGE_CLASS_2_X_32"/>
+ <enum name="GL_IMAGE_CLASS_1_X_32"/>
+ <enum name="GL_IMAGE_CLASS_4_X_16"/>
+ <enum name="GL_IMAGE_CLASS_2_X_16"/>
+ <enum name="GL_IMAGE_CLASS_1_X_16"/>
+ <enum name="GL_IMAGE_CLASS_4_X_8"/>
+ <enum name="GL_IMAGE_CLASS_2_X_8"/>
+ <enum name="GL_IMAGE_CLASS_1_X_8"/>
+ <enum name="GL_IMAGE_CLASS_11_11_10"/>
+ <enum name="GL_IMAGE_CLASS_10_10_10_2"/>
+ <enum name="GL_VIEW_CLASS_128_BITS"/>
+ <enum name="GL_VIEW_CLASS_96_BITS"/>
+ <enum name="GL_VIEW_CLASS_64_BITS"/>
+ <enum name="GL_VIEW_CLASS_48_BITS"/>
+ <enum name="GL_VIEW_CLASS_32_BITS"/>
+ <enum name="GL_VIEW_CLASS_24_BITS"/>
+ <enum name="GL_VIEW_CLASS_16_BITS"/>
+ <enum name="GL_VIEW_CLASS_8_BITS"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGB"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGBA"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT3_RGBA"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT5_RGBA"/>
+ <enum name="GL_VIEW_CLASS_RGTC1_RED"/>
+ <enum name="GL_VIEW_CLASS_RGTC2_RG"/>
+ <enum name="GL_VIEW_CLASS_BPTC_UNORM"/>
+ <enum name="GL_VIEW_CLASS_BPTC_FLOAT"/>
+ </require>
+ <require comment="Reuse tokens from ARB_invalidate_subdata (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_multi_draw_indirect (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_program_interface_query">
+ <enum name="GL_UNIFORM"/>
+ <enum name="GL_UNIFORM_BLOCK"/>
+ <enum name="GL_PROGRAM_INPUT"/>
+ <enum name="GL_PROGRAM_OUTPUT"/>
+ <enum name="GL_BUFFER_VARIABLE"/>
+ <enum name="GL_SHADER_STORAGE_BLOCK"/>
+ <enum name="GL_VERTEX_SUBROUTINE"/>
+ <enum name="GL_TESS_CONTROL_SUBROUTINE"/>
+ <enum name="GL_TESS_EVALUATION_SUBROUTINE"/>
+ <enum name="GL_GEOMETRY_SUBROUTINE"/>
+ <enum name="GL_FRAGMENT_SUBROUTINE"/>
+ <enum name="GL_COMPUTE_SUBROUTINE"/>
+ <enum name="GL_VERTEX_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_TESS_CONTROL_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_TESS_EVALUATION_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_GEOMETRY_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_FRAGMENT_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_COMPUTE_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+ <enum name="GL_ACTIVE_RESOURCES"/>
+ <enum name="GL_MAX_NAME_LENGTH"/>
+ <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES"/>
+ <enum name="GL_NAME_LENGTH"/>
+ <enum name="GL_TYPE"/>
+ <enum name="GL_ARRAY_SIZE"/>
+ <enum name="GL_OFFSET"/>
+ <enum name="GL_BLOCK_INDEX"/>
+ <enum name="GL_ARRAY_STRIDE"/>
+ <enum name="GL_MATRIX_STRIDE"/>
+ <enum name="GL_IS_ROW_MAJOR"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum name="GL_BUFFER_BINDING"/>
+ <enum name="GL_BUFFER_DATA_SIZE"/>
+ <enum name="GL_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_ACTIVE_VARIABLES"/>
+ <enum name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+ <enum name="GL_LOCATION"/>
+ <enum name="GL_LOCATION_INDEX"/>
+ <enum name="GL_IS_PER_PATCH"/>
+ </require>
+ <require comment="Reuse tokens from ARB_robust_buffer_access_behavior (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_shader_storage_buffer_object">
+ <enum name="GL_SHADER_STORAGE_BUFFER"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+ <enum name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
+ </require>
+ <require comment="Reuse tokens from ARB_stencil_texturing">
+ <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+ </require>
+ <require comment="Reuse tokens from ARB_texture_buffer_range">
+ <enum name="GL_TEXTURE_BUFFER_OFFSET"/>
+ <enum name="GL_TEXTURE_BUFFER_SIZE"/>
+ <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
+ </require>
+ <require comment="Reuse tokens from ARB_texture_query_levels (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_texture_storage_multisample (none)">
+ </require>
+ <require comment="Reuse tokens from ARB_texture_view">
+ <enum name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
+ <enum name="GL_TEXTURE_VIEW_MIN_LAYER"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
+ <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+ </require>
+ <require comment="Reuse tokens from ARB_vertex_attrib_binding">
+ <enum name="GL_VERTEX_ATTRIB_BINDING"/>
+ <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_DIVISOR"/>
+ <enum name="GL_VERTEX_BINDING_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_STRIDE"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+ <enum name="GL_VERTEX_BINDING_BUFFER" comment="Added in 2013/10/22 update to the spec"/>
+ </require>
+ <require comment="Reuse commands from ARB_arrays_of_arrays (none, GLSL only)">
+ </require>
+ <require comment="Reuse commands from ARB_clear_buffer_object">
+ <command name="glClearBufferData"/>
+ <command name="glClearBufferSubData"/>
+ </require>
+ <require comment="Reuse commands from ARB_compute_shader">
+ <command name="glDispatchCompute"/>
+ <command name="glDispatchComputeIndirect"/>
+ </require>
+ <require comment="Reuse commands from ARB_copy_image">
+ <command name="glCopyImageSubData"/>
+ </require>
+ <require comment="Reuse commands from ARB_ES3_compatibility (none)">
+ </require>
+ <require comment="Reuse commands from ARB_explicit_uniform_location (none)">
+ </require>
+ <require comment="Reuse commands from ARB_fragment_layer_viewport (none, GLSL only)">
+ </require>
+ <require comment="Reuse commands from ARB_framebuffer_no_attachments">
+ <command name="glFramebufferParameteri"/>
+ <command name="glGetFramebufferParameteriv"/>
+ </require>
+ <require comment="Reuse commands from ARB_internalformat_query2">
+ <command name="glGetInternalformati64v"/>
+ </require>
+ <require comment="Reuse commands from ARB_invalidate_subdata">
+ <command name="glInvalidateTexSubImage"/>
+ <command name="glInvalidateTexImage"/>
+ <command name="glInvalidateBufferSubData"/>
+ <command name="glInvalidateBufferData"/>
+ <command name="glInvalidateFramebuffer"/>
+ <command name="glInvalidateSubFramebuffer"/>
+ </require>
+ <require comment="Reuse commands from ARB_multi_draw_indirect">
+ <command name="glMultiDrawArraysIndirect"/>
+ <command name="glMultiDrawElementsIndirect"/>
+ </require>
+ <require comment="Reuse commands from ARB_program_interface_query">
+ <command name="glGetProgramInterfaceiv"/>
+ <command name="glGetProgramResourceIndex"/>
+ <command name="glGetProgramResourceName"/>
+ <command name="glGetProgramResourceiv"/>
+ <command name="glGetProgramResourceLocation"/>
+ <command name="glGetProgramResourceLocationIndex"/>
+ </require>
+ <require comment="Reuse commands from ARB_robust_buffer_access_behavior (none)">
+ </require>
+ <require comment="Reuse commands from ARB_shader_image_size (none, GLSL only)">
+ </require>
+ <require comment="Reuse commands from ARB_shader_storage_buffer_object">
+ <command name="glShaderStorageBlockBinding"/>
+ </require>
+ <require comment="Reuse commands from ARB_stencil_texturing (none)">
+ </require>
+ <require comment="Reuse commands from ARB_texture_buffer_range">
+ <command name="glTexBufferRange"/>
+ </require>
+ <require comment="Reuse commands from ARB_texture_query_levels (none)">
+ </require>
+ <require comment="Reuse commands from ARB_texture_storage_multisample">
+ <command name="glTexStorage2DMultisample"/>
+ <command name="glTexStorage3DMultisample"/>
+ </require>
+ <require comment="Reuse commands from ARB_texture_view">
+ <command name="glTextureView"/>
+ </require>
+ <require comment="Reuse commands from ARB_vertex_attrib_binding">
+ <command name="glBindVertexBuffer"/>
+ <command name="glVertexAttribFormat"/>
+ <command name="glVertexAttribIFormat"/>
+ <command name="glVertexAttribLFormat"/>
+ <command name="glVertexAttribBinding"/>
+ <command name="glVertexBindingDivisor"/>
+ </require>
+ <require comment="Reuse commands from KHR_debug (includes ARB_debug_output commands promoted to KHR without suffixes)">
+ <command name="glDebugMessageControl"/>
+ <command name="glDebugMessageInsert"/>
+ <command name="glDebugMessageCallback"/>
+ <command name="glGetDebugMessageLog"/>
+ <command name="glPushDebugGroup"/>
+ <command name="glPopDebugGroup"/>
+ <command name="glObjectLabel"/>
+ <command name="glGetObjectLabel"/>
+ <command name="glObjectPtrLabel"/>
+ <command name="glGetObjectPtrLabel"/>
+ <command name="glGetPointerv"/>
+ </require>
+ <require profile="compatibility" comment="KHR_debug functionality not supported in core profile">
+ <enum name="GL_DISPLAY_LIST"/>
+ </require>
+ <require profile="core" comment="Restore functionality removed in GL 3.2 core to GL 4.3. Needed for debug interface.">
+ <enum name="GL_STACK_UNDERFLOW"/>
+ <enum name="GL_STACK_OVERFLOW"/>
+ <command name="glGetPointerv"/>
+ </require>
+ <!-- Deprecated in OpenGL 4.3 core;
+ deprecate tag not defined/supported yet
+ <deprecate profile="core">
+ <enum name="GL_UNPACK_LSB_FIRST"/>
+ <enum name="GL_PACK_LSB_FIRST"/>
+ </deprecate>
+ -->
+ </feature>
+ <feature api="gl" name="GL_VERSION_4_4" number="4.4">
+ <require>
+ <enum name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
+ <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+ <enum name="GL_TEXTURE_BUFFER_BINDING"/>
+ </require>
+ <require comment="Reuse GL_ARB_buffer_storage">
+ <enum name="GL_MAP_READ_BIT"/>
+ <enum name="GL_MAP_WRITE_BIT"/>
+ <enum name="GL_MAP_PERSISTENT_BIT"/>
+ <enum name="GL_MAP_COHERENT_BIT"/>
+ <enum name="GL_DYNAMIC_STORAGE_BIT"/>
+ <enum name="GL_CLIENT_STORAGE_BIT"/>
+ <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_BUFFER_IMMUTABLE_STORAGE"/>
+ <enum name="GL_BUFFER_STORAGE_FLAGS"/>
+ <command name="glBufferStorage"/>
+ </require>
+ <require comment="Reuse GL_ARB_clear_texture">
+ <enum name="GL_CLEAR_TEXTURE"/>
+ <command name="glClearTexImage"/>
+ <command name="glClearTexSubImage"/>
+ </require>
+ <require comment="Reuse GL_ARB_enhanced_layouts">
+ <enum name="GL_LOCATION_COMPONENT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
+ </require>
+ <require comment="Reuse GL_ARB_multi_bind (none)">
+ <command name="glBindBuffersBase"/>
+ <command name="glBindBuffersRange"/>
+ <command name="glBindTextures"/>
+ <command name="glBindSamplers"/>
+ <command name="glBindImageTextures"/>
+ <command name="glBindVertexBuffers"/>
+ </require>
+ <require comment="Reuse GL_ARB_query_buffer_object">
+ <enum name="GL_QUERY_BUFFER"/>
+ <enum name="GL_QUERY_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_QUERY_BUFFER_BINDING"/>
+ <enum name="GL_QUERY_RESULT_NO_WAIT"/>
+ </require>
+ <require comment="Reuse GL_ARB_texture_mirror_clamp_to_edge">
+ <enum name="GL_MIRROR_CLAMP_TO_EDGE"/>
+ </require>
+ <require comment="Reuse GL_ARB_texture_stencil8">
+ <enum name="GL_STENCIL_INDEX"/>
+ <enum name="GL_STENCIL_INDEX8"/>
+ </require>
+ <require comment="Reuse GL_ARB_vertex_type_10f_11f_11f_rev">
+ <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+ </require>
+ </feature>
+
+ <!-- SECTION: OpenGL ES 1.0/1.1 API interface definitions. -->
+ <feature api="gles1" name="GL_VERSION_ES_CM_1_0" number="1.0">
+ <require>
+ <!-- Additional API definition macros - ES 1.0/1.1, common/common-lite all in one header -->
+ <enum name="GL_VERSION_ES_CL_1_0"/>
+ <enum name="GL_VERSION_ES_CM_1_1"/>
+ <enum name="GL_VERSION_ES_CL_1_1"/>
+ <type name="GLvoid" comment="No longer used in headers"/>
+ <enum name="GL_DEPTH_BUFFER_BIT"/>
+ <enum name="GL_STENCIL_BUFFER_BIT"/>
+ <enum name="GL_COLOR_BUFFER_BIT"/>
+ <enum name="GL_FALSE"/>
+ <enum name="GL_TRUE"/>
+ <enum name="GL_POINTS"/>
+ <enum name="GL_LINES"/>
+ <enum name="GL_LINE_LOOP"/>
+ <enum name="GL_LINE_STRIP"/>
+ <enum name="GL_TRIANGLES"/>
+ <enum name="GL_TRIANGLE_STRIP"/>
+ <enum name="GL_TRIANGLE_FAN"/>
+ <enum name="GL_NEVER"/>
+ <enum name="GL_LESS"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_LEQUAL"/>
+ <enum name="GL_GREATER"/>
+ <enum name="GL_NOTEQUAL"/>
+ <enum name="GL_GEQUAL"/>
+ <enum name="GL_ALWAYS"/>
+ <enum name="GL_ZERO"/>
+ <enum name="GL_ONE"/>
+ <enum name="GL_SRC_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC_COLOR"/>
+ <enum name="GL_SRC_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum name="GL_DST_ALPHA"/>
+ <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum name="GL_DST_COLOR"/>
+ <enum name="GL_ONE_MINUS_DST_COLOR"/>
+ <enum name="GL_SRC_ALPHA_SATURATE"/>
+ <enum name="GL_CLIP_PLANE0"/>
+ <enum name="GL_CLIP_PLANE1"/>
+ <enum name="GL_CLIP_PLANE2"/>
+ <enum name="GL_CLIP_PLANE3"/>
+ <enum name="GL_CLIP_PLANE4"/>
+ <enum name="GL_CLIP_PLANE5"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_BACK"/>
+ <enum name="GL_FRONT_AND_BACK"/>
+ <enum name="GL_FOG"/>
+ <enum name="GL_LIGHTING"/>
+ <enum name="GL_TEXTURE_2D"/>
+ <enum name="GL_CULL_FACE"/>
+ <enum name="GL_ALPHA_TEST"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_COLOR_LOGIC_OP"/>
+ <enum name="GL_DITHER"/>
+ <enum name="GL_STENCIL_TEST"/>
+ <enum name="GL_DEPTH_TEST"/>
+ <enum name="GL_POINT_SMOOTH"/>
+ <enum name="GL_LINE_SMOOTH"/>
+ <enum name="GL_SCISSOR_TEST"/>
+ <enum name="GL_COLOR_MATERIAL"/>
+ <enum name="GL_NORMALIZE"/>
+ <enum name="GL_RESCALE_NORMAL"/>
+ <enum name="GL_VERTEX_ARRAY"/>
+ <enum name="GL_NORMAL_ARRAY"/>
+ <enum name="GL_COLOR_ARRAY"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY"/>
+ <enum name="GL_MULTISAMPLE"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_ONE"/>
+ <enum name="GL_SAMPLE_COVERAGE"/>
+ <enum name="GL_NO_ERROR"/>
+ <enum name="GL_INVALID_ENUM"/>
+ <enum name="GL_INVALID_VALUE"/>
+ <enum name="GL_INVALID_OPERATION"/>
+ <enum name="GL_STACK_OVERFLOW"/>
+ <enum name="GL_STACK_UNDERFLOW"/>
+ <enum name="GL_OUT_OF_MEMORY"/>
+ <enum name="GL_EXP"/>
+ <enum name="GL_EXP2"/>
+ <enum name="GL_FOG_DENSITY"/>
+ <enum name="GL_FOG_START"/>
+ <enum name="GL_FOG_END"/>
+ <enum name="GL_FOG_MODE"/>
+ <enum name="GL_FOG_COLOR"/>
+ <enum name="GL_CW"/>
+ <enum name="GL_CCW"/>
+ <enum name="GL_CURRENT_COLOR"/>
+ <enum name="GL_CURRENT_NORMAL"/>
+ <enum name="GL_CURRENT_TEXTURE_COORDS"/>
+ <enum name="GL_POINT_SIZE"/>
+ <enum name="GL_POINT_SIZE_MIN"/>
+ <enum name="GL_POINT_SIZE_MAX"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+ <enum name="GL_POINT_DISTANCE_ATTENUATION"/>
+ <enum name="GL_SMOOTH_POINT_SIZE_RANGE"/>
+ <enum name="GL_LINE_WIDTH"/>
+ <enum name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
+ <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+ <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+ <enum name="GL_CULL_FACE_MODE"/>
+ <enum name="GL_FRONT_FACE"/>
+ <enum name="GL_SHADE_MODEL"/>
+ <enum name="GL_DEPTH_RANGE"/>
+ <enum name="GL_DEPTH_WRITEMASK"/>
+ <enum name="GL_DEPTH_CLEAR_VALUE"/>
+ <enum name="GL_DEPTH_FUNC"/>
+ <enum name="GL_STENCIL_CLEAR_VALUE"/>
+ <enum name="GL_STENCIL_FUNC"/>
+ <enum name="GL_STENCIL_VALUE_MASK"/>
+ <enum name="GL_STENCIL_FAIL"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
+ <enum name="GL_STENCIL_REF"/>
+ <enum name="GL_STENCIL_WRITEMASK"/>
+ <enum name="GL_MATRIX_MODE"/>
+ <enum name="GL_VIEWPORT"/>
+ <enum name="GL_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_MODELVIEW_MATRIX"/>
+ <enum name="GL_PROJECTION_MATRIX"/>
+ <enum name="GL_TEXTURE_MATRIX"/>
+ <enum name="GL_ALPHA_TEST_FUNC"/>
+ <enum name="GL_ALPHA_TEST_REF"/>
+ <enum name="GL_BLEND_DST"/>
+ <enum name="GL_BLEND_SRC"/>
+ <enum name="GL_LOGIC_OP_MODE"/>
+ <enum name="GL_SCISSOR_BOX"/>
+ <enum name="GL_COLOR_CLEAR_VALUE"/>
+ <enum name="GL_COLOR_WRITEMASK"/>
+ <enum name="GL_MAX_LIGHTS"/>
+ <enum name="GL_MAX_CLIP_PLANES"/>
+ <enum name="GL_MAX_TEXTURE_SIZE"/>
+ <enum name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+ <enum name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+ <enum name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+ <enum name="GL_MAX_VIEWPORT_DIMS"/>
+ <enum name="GL_MAX_TEXTURE_UNITS"/>
+ <enum name="GL_SUBPIXEL_BITS"/>
+ <enum name="GL_RED_BITS"/>
+ <enum name="GL_GREEN_BITS"/>
+ <enum name="GL_BLUE_BITS"/>
+ <enum name="GL_ALPHA_BITS"/>
+ <enum name="GL_DEPTH_BITS"/>
+ <enum name="GL_STENCIL_BITS"/>
+ <enum name="GL_POLYGON_OFFSET_UNITS"/>
+ <enum name="GL_POLYGON_OFFSET_FILL"/>
+ <enum name="GL_POLYGON_OFFSET_FACTOR"/>
+ <enum name="GL_TEXTURE_BINDING_2D"/>
+ <enum name="GL_VERTEX_ARRAY_SIZE"/>
+ <enum name="GL_VERTEX_ARRAY_TYPE"/>
+ <enum name="GL_VERTEX_ARRAY_STRIDE"/>
+ <enum name="GL_NORMAL_ARRAY_TYPE"/>
+ <enum name="GL_NORMAL_ARRAY_STRIDE"/>
+ <enum name="GL_COLOR_ARRAY_SIZE"/>
+ <enum name="GL_COLOR_ARRAY_TYPE"/>
+ <enum name="GL_COLOR_ARRAY_STRIDE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+ <enum name="GL_VERTEX_ARRAY_POINTER"/>
+ <enum name="GL_NORMAL_ARRAY_POINTER"/>
+ <enum name="GL_COLOR_ARRAY_POINTER"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+ <enum name="GL_SAMPLE_BUFFERS"/>
+ <enum name="GL_SAMPLES"/>
+ <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
+ <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
+ <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum name="GL_DONT_CARE"/>
+ <enum name="GL_FASTEST"/>
+ <enum name="GL_NICEST"/>
+ <enum name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+ <enum name="GL_POINT_SMOOTH_HINT"/>
+ <enum name="GL_LINE_SMOOTH_HINT"/>
+ <enum name="GL_FOG_HINT"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT"/>
+ <enum name="GL_LIGHT_MODEL_AMBIENT"/>
+ <enum name="GL_LIGHT_MODEL_TWO_SIDE"/>
+ <enum name="GL_AMBIENT"/>
+ <enum name="GL_DIFFUSE"/>
+ <enum name="GL_SPECULAR"/>
+ <enum name="GL_POSITION"/>
+ <enum name="GL_SPOT_DIRECTION"/>
+ <enum name="GL_SPOT_EXPONENT"/>
+ <enum name="GL_SPOT_CUTOFF"/>
+ <enum name="GL_CONSTANT_ATTENUATION"/>
+ <enum name="GL_LINEAR_ATTENUATION"/>
+ <enum name="GL_QUADRATIC_ATTENUATION"/>
+ <enum name="GL_BYTE"/>
+ <enum name="GL_UNSIGNED_BYTE"/>
+ <enum name="GL_SHORT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_FIXED"/>
+ <enum name="GL_CLEAR"/>
+ <enum name="GL_AND"/>
+ <enum name="GL_AND_REVERSE"/>
+ <enum name="GL_COPY"/>
+ <enum name="GL_AND_INVERTED"/>
+ <enum name="GL_NOOP"/>
+ <enum name="GL_XOR"/>
+ <enum name="GL_OR"/>
+ <enum name="GL_NOR"/>
+ <enum name="GL_EQUIV"/>
+ <enum name="GL_INVERT"/>
+ <enum name="GL_OR_REVERSE"/>
+ <enum name="GL_COPY_INVERTED"/>
+ <enum name="GL_OR_INVERTED"/>
+ <enum name="GL_NAND"/>
+ <enum name="GL_SET"/>
+ <enum name="GL_EMISSION"/>
+ <enum name="GL_SHININESS"/>
+ <enum name="GL_AMBIENT_AND_DIFFUSE"/>
+ <enum name="GL_MODELVIEW"/>
+ <enum name="GL_PROJECTION"/>
+ <enum name="GL_TEXTURE"/>
+ <enum name="GL_ALPHA"/>
+ <enum name="GL_RGB"/>
+ <enum name="GL_RGBA"/>
+ <enum name="GL_LUMINANCE"/>
+ <enum name="GL_LUMINANCE_ALPHA"/>
+ <enum name="GL_UNPACK_ALIGNMENT"/>
+ <enum name="GL_PACK_ALIGNMENT"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <enum name="GL_FLAT"/>
+ <enum name="GL_SMOOTH"/>
+ <enum name="GL_KEEP"/>
+ <enum name="GL_REPLACE"/>
+ <enum name="GL_INCR"/>
+ <enum name="GL_DECR"/>
+ <enum name="GL_VENDOR"/>
+ <enum name="GL_RENDERER"/>
+ <enum name="GL_VERSION"/>
+ <enum name="GL_EXTENSIONS"/>
+ <enum name="GL_MODULATE"/>
+ <enum name="GL_DECAL"/>
+ <enum name="GL_ADD"/>
+ <enum name="GL_TEXTURE_ENV_MODE"/>
+ <enum name="GL_TEXTURE_ENV_COLOR"/>
+ <enum name="GL_TEXTURE_ENV"/>
+ <enum name="GL_NEAREST"/>
+ <enum name="GL_LINEAR"/>
+ <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+ <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+ <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+ <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+ <enum name="GL_TEXTURE_MAG_FILTER"/>
+ <enum name="GL_TEXTURE_MIN_FILTER"/>
+ <enum name="GL_TEXTURE_WRAP_S"/>
+ <enum name="GL_TEXTURE_WRAP_T"/>
+ <enum name="GL_GENERATE_MIPMAP"/>
+ <enum name="GL_TEXTURE0"/>
+ <enum name="GL_TEXTURE1"/>
+ <enum name="GL_TEXTURE2"/>
+ <enum name="GL_TEXTURE3"/>
+ <enum name="GL_TEXTURE4"/>
+ <enum name="GL_TEXTURE5"/>
+ <enum name="GL_TEXTURE6"/>
+ <enum name="GL_TEXTURE7"/>
+ <enum name="GL_TEXTURE8"/>
+ <enum name="GL_TEXTURE9"/>
+ <enum name="GL_TEXTURE10"/>
+ <enum name="GL_TEXTURE11"/>
+ <enum name="GL_TEXTURE12"/>
+ <enum name="GL_TEXTURE13"/>
+ <enum name="GL_TEXTURE14"/>
+ <enum name="GL_TEXTURE15"/>
+ <enum name="GL_TEXTURE16"/>
+ <enum name="GL_TEXTURE17"/>
+ <enum name="GL_TEXTURE18"/>
+ <enum name="GL_TEXTURE19"/>
+ <enum name="GL_TEXTURE20"/>
+ <enum name="GL_TEXTURE21"/>
+ <enum name="GL_TEXTURE22"/>
+ <enum name="GL_TEXTURE23"/>
+ <enum name="GL_TEXTURE24"/>
+ <enum name="GL_TEXTURE25"/>
+ <enum name="GL_TEXTURE26"/>
+ <enum name="GL_TEXTURE27"/>
+ <enum name="GL_TEXTURE28"/>
+ <enum name="GL_TEXTURE29"/>
+ <enum name="GL_TEXTURE30"/>
+ <enum name="GL_TEXTURE31"/>
+ <enum name="GL_ACTIVE_TEXTURE"/>
+ <enum name="GL_CLIENT_ACTIVE_TEXTURE"/>
+ <enum name="GL_REPEAT"/>
+ <enum name="GL_CLAMP_TO_EDGE"/>
+ <enum name="GL_LIGHT0"/>
+ <enum name="GL_LIGHT1"/>
+ <enum name="GL_LIGHT2"/>
+ <enum name="GL_LIGHT3"/>
+ <enum name="GL_LIGHT4"/>
+ <enum name="GL_LIGHT5"/>
+ <enum name="GL_LIGHT6"/>
+ <enum name="GL_LIGHT7"/>
+ <enum name="GL_ARRAY_BUFFER"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+ <enum name="GL_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_STATIC_DRAW"/>
+ <enum name="GL_DYNAMIC_DRAW"/>
+ <enum name="GL_BUFFER_SIZE"/>
+ <enum name="GL_BUFFER_USAGE"/>
+ <enum name="GL_SUBTRACT"/>
+ <enum name="GL_COMBINE"/>
+ <enum name="GL_COMBINE_RGB"/>
+ <enum name="GL_COMBINE_ALPHA"/>
+ <enum name="GL_RGB_SCALE"/>
+ <enum name="GL_ADD_SIGNED"/>
+ <enum name="GL_INTERPOLATE"/>
+ <enum name="GL_CONSTANT"/>
+ <enum name="GL_PRIMARY_COLOR"/>
+ <enum name="GL_PREVIOUS"/>
+ <enum name="GL_OPERAND0_RGB"/>
+ <enum name="GL_OPERAND1_RGB"/>
+ <enum name="GL_OPERAND2_RGB"/>
+ <enum name="GL_OPERAND0_ALPHA"/>
+ <enum name="GL_OPERAND1_ALPHA"/>
+ <enum name="GL_OPERAND2_ALPHA"/>
+ <enum name="GL_ALPHA_SCALE"/>
+ <enum name="GL_SRC0_RGB"/>
+ <enum name="GL_SRC1_RGB"/>
+ <enum name="GL_SRC2_RGB"/>
+ <enum name="GL_SRC0_ALPHA"/>
+ <enum name="GL_SRC1_ALPHA"/>
+ <enum name="GL_SRC2_ALPHA"/>
+ <enum name="GL_DOT3_RGB"/>
+ <enum name="GL_DOT3_RGBA"/>
+ </require>
+ <require profile="common">
+ <command name="glAlphaFunc"/>
+ <command name="glClearColor"/>
+ <command name="glClearDepthf"/>
+ <command name="glClipPlanef"/>
+ <command name="glColor4f"/>
+ <command name="glDepthRangef"/>
+ <command name="glFogf"/>
+ <command name="glFogfv"/>
+ <command name="glFrustumf"/>
+ <command name="glGetClipPlanef"/>
+ <command name="glGetFloatv"/>
+ <command name="glGetLightfv"/>
+ <command name="glGetMaterialfv"/>
+ <command name="glGetTexEnvfv"/>
+ <command name="glGetTexParameterfv"/>
+ <command name="glLightModelf"/>
+ <command name="glLightModelfv"/>
+ <command name="glLightf"/>
+ <command name="glLightfv"/>
+ <command name="glLineWidth"/>
+ <command name="glLoadMatrixf"/>
+ <command name="glMaterialf"/>
+ <command name="glMaterialfv"/>
+ <command name="glMultMatrixf"/>
+ <command name="glMultiTexCoord4f"/>
+ <command name="glNormal3f"/>
+ <command name="glOrthof"/>
+ <command name="glPointParameterf"/>
+ <command name="glPointParameterfv"/>
+ <command name="glPointSize"/>
+ <command name="glPolygonOffset"/>
+ <command name="glRotatef"/>
+ <command name="glScalef"/>
+ <command name="glTexEnvf"/>
+ <command name="glTexEnvfv"/>
+ <command name="glTexParameterf"/>
+ <command name="glTexParameterfv"/>
+ <command name="glTranslatef"/>
+ </require>
+ <require>
+ <command name="glActiveTexture"/>
+ <command name="glAlphaFuncx"/>
+ <command name="glBindBuffer"/>
+ <command name="glBindTexture"/>
+ <command name="glBlendFunc"/>
+ <command name="glBufferData"/>
+ <command name="glBufferSubData"/>
+ <command name="glClear"/>
+ <command name="glClearColorx"/>
+ <command name="glClearDepthx"/>
+ <command name="glClearStencil"/>
+ <command name="glClientActiveTexture"/>
+ <command name="glClipPlanex"/>
+ <command name="glColor4ub"/>
+ <command name="glColor4x"/>
+ <command name="glColorMask"/>
+ <command name="glColorPointer"/>
+ <command name="glCompressedTexImage2D"/>
+ <command name="glCompressedTexSubImage2D"/>
+ <command name="glCopyTexImage2D"/>
+ <command name="glCopyTexSubImage2D"/>
+ <command name="glCullFace"/>
+ <command name="glDeleteBuffers"/>
+ <command name="glDeleteTextures"/>
+ <command name="glDepthFunc"/>
+ <command name="glDepthMask"/>
+ <command name="glDepthRangex"/>
+ <command name="glDisable"/>
+ <command name="glDisableClientState"/>
+ <command name="glDrawArrays"/>
+ <command name="glDrawElements"/>
+ <command name="glEnable"/>
+ <command name="glEnableClientState"/>
+ <command name="glFinish"/>
+ <command name="glFlush"/>
+ <command name="glFogx"/>
+ <command name="glFogxv"/>
+ <command name="glFrontFace"/>
+ <command name="glFrustumx"/>
+ <command name="glGetBooleanv"/>
+ <command name="glGetBufferParameteriv"/>
+ <command name="glGetClipPlanex"/>
+ <command name="glGenBuffers"/>
+ <command name="glGenTextures"/>
+ <command name="glGetError"/>
+ <command name="glGetFixedv"/>
+ <command name="glGetIntegerv"/>
+ <command name="glGetLightxv"/>
+ <command name="glGetMaterialxv"/>
+ <command name="glGetPointerv"/>
+ <command name="glGetString"/>
+ <command name="glGetTexEnviv"/>
+ <command name="glGetTexEnvxv"/>
+ <command name="glGetTexParameteriv"/>
+ <command name="glGetTexParameterxv"/>
+ <command name="glHint"/>
+ <command name="glIsBuffer"/>
+ <command name="glIsEnabled"/>
+ <command name="glIsTexture"/>
+ <command name="glLightModelx"/>
+ <command name="glLightModelxv"/>
+ <command name="glLightx"/>
+ <command name="glLightxv"/>
+ <command name="glLineWidthx"/>
+ <command name="glLoadIdentity"/>
+ <command name="glLoadMatrixx"/>
+ <command name="glLogicOp"/>
+ <command name="glMaterialx"/>
+ <command name="glMaterialxv"/>
+ <command name="glMatrixMode"/>
+ <command name="glMultMatrixx"/>
+ <command name="glMultiTexCoord4x"/>
+ <command name="glNormal3x"/>
+ <command name="glNormalPointer"/>
+ <command name="glOrthox"/>
+ <command name="glPixelStorei"/>
+ <command name="glPointParameterx"/>
+ <command name="glPointParameterxv"/>
+ <command name="glPointSizex"/>
+ <command name="glPolygonOffsetx"/>
+ <command name="glPopMatrix"/>
+ <command name="glPushMatrix"/>
+ <command name="glReadPixels"/>
+ <command name="glRotatex"/>
+ <command name="glSampleCoverage"/>
+ <command name="glSampleCoveragex"/>
+ <command name="glScalex"/>
+ <command name="glScissor"/>
+ <command name="glShadeModel"/>
+ <command name="glStencilFunc"/>
+ <command name="glStencilMask"/>
+ <command name="glStencilOp"/>
+ <command name="glTexCoordPointer"/>
+ <command name="glTexEnvi"/>
+ <command name="glTexEnvx"/>
+ <command name="glTexEnviv"/>
+ <command name="glTexEnvxv"/>
+ <command name="glTexImage2D"/>
+ <command name="glTexParameteri"/>
+ <command name="glTexParameterx"/>
+ <command name="glTexParameteriv"/>
+ <command name="glTexParameterxv"/>
+ <command name="glTexSubImage2D"/>
+ <command name="glTranslatex"/>
+ <command name="glVertexPointer"/>
+ <command name="glViewport"/>
+ </require>
+ </feature>
+ <feature api="gles2" name="GL_ES_VERSION_2_0" number="2.0">
+ <require comment="Not used by the API, for compatibility with old gl2.h">
+ <type name="GLbyte"/>
+ <type name="GLclampf"/>
+ <type name="GLfixed"/>
+ <type name="GLshort"/>
+ <type name="GLushort"/>
+ <type name="GLvoid" comment="No longer used in headers"/>
+ </require>
+ <require comment="Not used by the API; put here so this type doesn't need to be declared in gl2ext.h">
+ <type name="GLsync"/>
+ <type name="GLint64"/>
+ <type name="GLuint64"/>
+ </require>
+ <require>
+ <enum name="GL_DEPTH_BUFFER_BIT"/>
+ <enum name="GL_STENCIL_BUFFER_BIT"/>
+ <enum name="GL_COLOR_BUFFER_BIT"/>
+ <enum name="GL_FALSE"/>
+ <enum name="GL_TRUE"/>
+ <enum name="GL_POINTS"/>
+ <enum name="GL_LINES"/>
+ <enum name="GL_LINE_LOOP"/>
+ <enum name="GL_LINE_STRIP"/>
+ <enum name="GL_TRIANGLES"/>
+ <enum name="GL_TRIANGLE_STRIP"/>
+ <enum name="GL_TRIANGLE_FAN"/>
+ <enum name="GL_ZERO"/>
+ <enum name="GL_ONE"/>
+ <enum name="GL_SRC_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC_COLOR"/>
+ <enum name="GL_SRC_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum name="GL_DST_ALPHA"/>
+ <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum name="GL_DST_COLOR"/>
+ <enum name="GL_ONE_MINUS_DST_COLOR"/>
+ <enum name="GL_SRC_ALPHA_SATURATE"/>
+ <enum name="GL_FUNC_ADD"/>
+ <enum name="GL_BLEND_EQUATION"/>
+ <enum name="GL_BLEND_EQUATION_RGB"/>
+ <enum name="GL_BLEND_EQUATION_ALPHA"/>
+ <enum name="GL_FUNC_SUBTRACT"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+ <enum name="GL_BLEND_DST_RGB"/>
+ <enum name="GL_BLEND_SRC_RGB"/>
+ <enum name="GL_BLEND_DST_ALPHA"/>
+ <enum name="GL_BLEND_SRC_ALPHA"/>
+ <enum name="GL_CONSTANT_COLOR"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+ <enum name="GL_CONSTANT_ALPHA"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+ <enum name="GL_BLEND_COLOR"/>
+ <enum name="GL_ARRAY_BUFFER"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER"/>
+ <enum name="GL_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_STREAM_DRAW"/>
+ <enum name="GL_STATIC_DRAW"/>
+ <enum name="GL_DYNAMIC_DRAW"/>
+ <enum name="GL_BUFFER_SIZE"/>
+ <enum name="GL_BUFFER_USAGE"/>
+ <enum name="GL_CURRENT_VERTEX_ATTRIB"/>
+ <enum name="GL_FRONT"/>
+ <enum name="GL_BACK"/>
+ <enum name="GL_FRONT_AND_BACK"/>
+ <enum name="GL_TEXTURE_2D"/>
+ <enum name="GL_CULL_FACE"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_DITHER"/>
+ <enum name="GL_STENCIL_TEST"/>
+ <enum name="GL_DEPTH_TEST"/>
+ <enum name="GL_SCISSOR_TEST"/>
+ <enum name="GL_POLYGON_OFFSET_FILL"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <enum name="GL_SAMPLE_COVERAGE"/>
+ <enum name="GL_NO_ERROR"/>
+ <enum name="GL_INVALID_ENUM"/>
+ <enum name="GL_INVALID_VALUE"/>
+ <enum name="GL_INVALID_OPERATION"/>
+ <enum name="GL_OUT_OF_MEMORY"/>
+ <enum name="GL_CW"/>
+ <enum name="GL_CCW"/>
+ <enum name="GL_LINE_WIDTH"/>
+ <enum name="GL_ALIASED_POINT_SIZE_RANGE"/>
+ <enum name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+ <enum name="GL_CULL_FACE_MODE"/>
+ <enum name="GL_FRONT_FACE"/>
+ <enum name="GL_DEPTH_RANGE"/>
+ <enum name="GL_DEPTH_WRITEMASK"/>
+ <enum name="GL_DEPTH_CLEAR_VALUE"/>
+ <enum name="GL_DEPTH_FUNC"/>
+ <enum name="GL_STENCIL_CLEAR_VALUE"/>
+ <enum name="GL_STENCIL_FUNC"/>
+ <enum name="GL_STENCIL_FAIL"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+ <enum name="GL_STENCIL_PASS_DEPTH_PASS"/>
+ <enum name="GL_STENCIL_REF"/>
+ <enum name="GL_STENCIL_VALUE_MASK"/>
+ <enum name="GL_STENCIL_WRITEMASK"/>
+ <enum name="GL_STENCIL_BACK_FUNC"/>
+ <enum name="GL_STENCIL_BACK_FAIL"/>
+ <enum name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
+ <enum name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
+ <enum name="GL_STENCIL_BACK_REF"/>
+ <enum name="GL_STENCIL_BACK_VALUE_MASK"/>
+ <enum name="GL_STENCIL_BACK_WRITEMASK"/>
+ <enum name="GL_VIEWPORT"/>
+ <enum name="GL_SCISSOR_BOX"/>
+ <enum name="GL_COLOR_CLEAR_VALUE"/>
+ <enum name="GL_COLOR_WRITEMASK"/>
+ <enum name="GL_UNPACK_ALIGNMENT"/>
+ <enum name="GL_PACK_ALIGNMENT"/>
+ <enum name="GL_MAX_TEXTURE_SIZE"/>
+ <enum name="GL_MAX_VIEWPORT_DIMS"/>
+ <enum name="GL_SUBPIXEL_BITS"/>
+ <enum name="GL_RED_BITS"/>
+ <enum name="GL_GREEN_BITS"/>
+ <enum name="GL_BLUE_BITS"/>
+ <enum name="GL_ALPHA_BITS"/>
+ <enum name="GL_DEPTH_BITS"/>
+ <enum name="GL_STENCIL_BITS"/>
+ <enum name="GL_POLYGON_OFFSET_UNITS"/>
+ <enum name="GL_POLYGON_OFFSET_FACTOR"/>
+ <enum name="GL_TEXTURE_BINDING_2D"/>
+ <enum name="GL_SAMPLE_BUFFERS"/>
+ <enum name="GL_SAMPLES"/>
+ <enum name="GL_SAMPLE_COVERAGE_VALUE"/>
+ <enum name="GL_SAMPLE_COVERAGE_INVERT"/>
+ <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+ <enum name="GL_DONT_CARE"/>
+ <enum name="GL_FASTEST"/>
+ <enum name="GL_NICEST"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT"/>
+ <enum name="GL_BYTE"/>
+ <enum name="GL_UNSIGNED_BYTE"/>
+ <enum name="GL_SHORT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ <enum name="GL_INT"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_FIXED"/>
+ <enum name="GL_DEPTH_COMPONENT"/>
+ <enum name="GL_ALPHA"/>
+ <enum name="GL_RGB"/>
+ <enum name="GL_RGBA"/>
+ <enum name="GL_LUMINANCE"/>
+ <enum name="GL_LUMINANCE_ALPHA"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <enum name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <enum name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <enum name="GL_FRAGMENT_SHADER"/>
+ <enum name="GL_VERTEX_SHADER"/>
+ <enum name="GL_MAX_VERTEX_ATTRIBS"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+ <enum name="GL_MAX_VARYING_VECTORS"/>
+ <enum name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+ <enum name="GL_SHADER_TYPE"/>
+ <enum name="GL_DELETE_STATUS"/>
+ <enum name="GL_LINK_STATUS"/>
+ <enum name="GL_VALIDATE_STATUS"/>
+ <enum name="GL_ATTACHED_SHADERS"/>
+ <enum name="GL_ACTIVE_UNIFORMS"/>
+ <enum name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+ <enum name="GL_ACTIVE_ATTRIBUTES"/>
+ <enum name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+ <enum name="GL_SHADING_LANGUAGE_VERSION"/>
+ <enum name="GL_CURRENT_PROGRAM"/>
+ <enum name="GL_NEVER"/>
+ <enum name="GL_LESS"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_LEQUAL"/>
+ <enum name="GL_GREATER"/>
+ <enum name="GL_NOTEQUAL"/>
+ <enum name="GL_GEQUAL"/>
+ <enum name="GL_ALWAYS"/>
+ <enum name="GL_KEEP"/>
+ <enum name="GL_REPLACE"/>
+ <enum name="GL_INCR"/>
+ <enum name="GL_DECR"/>
+ <enum name="GL_INVERT"/>
+ <enum name="GL_INCR_WRAP"/>
+ <enum name="GL_DECR_WRAP"/>
+ <enum name="GL_VENDOR"/>
+ <enum name="GL_RENDERER"/>
+ <enum name="GL_VERSION"/>
+ <enum name="GL_EXTENSIONS"/>
+ <enum name="GL_NEAREST"/>
+ <enum name="GL_LINEAR"/>
+ <enum name="GL_NEAREST_MIPMAP_NEAREST"/>
+ <enum name="GL_LINEAR_MIPMAP_NEAREST"/>
+ <enum name="GL_NEAREST_MIPMAP_LINEAR"/>
+ <enum name="GL_LINEAR_MIPMAP_LINEAR"/>
+ <enum name="GL_TEXTURE_MAG_FILTER"/>
+ <enum name="GL_TEXTURE_MIN_FILTER"/>
+ <enum name="GL_TEXTURE_WRAP_S"/>
+ <enum name="GL_TEXTURE_WRAP_T"/>
+ <enum name="GL_TEXTURE"/>
+ <enum name="GL_TEXTURE_CUBE_MAP"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
+ <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+ <enum name="GL_TEXTURE0"/>
+ <enum name="GL_TEXTURE1"/>
+ <enum name="GL_TEXTURE2"/>
+ <enum name="GL_TEXTURE3"/>
+ <enum name="GL_TEXTURE4"/>
+ <enum name="GL_TEXTURE5"/>
+ <enum name="GL_TEXTURE6"/>
+ <enum name="GL_TEXTURE7"/>
+ <enum name="GL_TEXTURE8"/>
+ <enum name="GL_TEXTURE9"/>
+ <enum name="GL_TEXTURE10"/>
+ <enum name="GL_TEXTURE11"/>
+ <enum name="GL_TEXTURE12"/>
+ <enum name="GL_TEXTURE13"/>
+ <enum name="GL_TEXTURE14"/>
+ <enum name="GL_TEXTURE15"/>
+ <enum name="GL_TEXTURE16"/>
+ <enum name="GL_TEXTURE17"/>
+ <enum name="GL_TEXTURE18"/>
+ <enum name="GL_TEXTURE19"/>
+ <enum name="GL_TEXTURE20"/>
+ <enum name="GL_TEXTURE21"/>
+ <enum name="GL_TEXTURE22"/>
+ <enum name="GL_TEXTURE23"/>
+ <enum name="GL_TEXTURE24"/>
+ <enum name="GL_TEXTURE25"/>
+ <enum name="GL_TEXTURE26"/>
+ <enum name="GL_TEXTURE27"/>
+ <enum name="GL_TEXTURE28"/>
+ <enum name="GL_TEXTURE29"/>
+ <enum name="GL_TEXTURE30"/>
+ <enum name="GL_TEXTURE31"/>
+ <enum name="GL_ACTIVE_TEXTURE"/>
+ <enum name="GL_REPEAT"/>
+ <enum name="GL_CLAMP_TO_EDGE"/>
+ <enum name="GL_MIRRORED_REPEAT"/>
+ <enum name="GL_FLOAT_VEC2"/>
+ <enum name="GL_FLOAT_VEC3"/>
+ <enum name="GL_FLOAT_VEC4"/>
+ <enum name="GL_INT_VEC2"/>
+ <enum name="GL_INT_VEC3"/>
+ <enum name="GL_INT_VEC4"/>
+ <enum name="GL_BOOL"/>
+ <enum name="GL_BOOL_VEC2"/>
+ <enum name="GL_BOOL_VEC3"/>
+ <enum name="GL_BOOL_VEC4"/>
+ <enum name="GL_FLOAT_MAT2"/>
+ <enum name="GL_FLOAT_MAT3"/>
+ <enum name="GL_FLOAT_MAT4"/>
+ <enum name="GL_SAMPLER_2D"/>
+ <enum name="GL_SAMPLER_CUBE"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+ <enum name="GL_COMPILE_STATUS"/>
+ <enum name="GL_INFO_LOG_LENGTH"/>
+ <enum name="GL_SHADER_SOURCE_LENGTH"/>
+ <enum name="GL_SHADER_COMPILER"/>
+ <enum name="GL_SHADER_BINARY_FORMATS"/>
+ <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
+ <enum name="GL_LOW_FLOAT"/>
+ <enum name="GL_MEDIUM_FLOAT"/>
+ <enum name="GL_HIGH_FLOAT"/>
+ <enum name="GL_LOW_INT"/>
+ <enum name="GL_MEDIUM_INT"/>
+ <enum name="GL_HIGH_INT"/>
+ <enum name="GL_FRAMEBUFFER"/>
+ <enum name="GL_RENDERBUFFER"/>
+ <enum name="GL_RGBA4"/>
+ <enum name="GL_RGB5_A1"/>
+ <enum name="GL_RGB565"/>
+ <enum name="GL_DEPTH_COMPONENT16"/>
+ <enum name="GL_STENCIL_INDEX8"/>
+ <enum name="GL_RENDERBUFFER_WIDTH"/>
+ <enum name="GL_RENDERBUFFER_HEIGHT"/>
+ <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+ <enum name="GL_RENDERBUFFER_RED_SIZE"/>
+ <enum name="GL_RENDERBUFFER_GREEN_SIZE"/>
+ <enum name="GL_RENDERBUFFER_BLUE_SIZE"/>
+ <enum name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+ <enum name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+ <enum name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+ <enum name="GL_COLOR_ATTACHMENT0"/>
+ <enum name="GL_DEPTH_ATTACHMENT"/>
+ <enum name="GL_STENCIL_ATTACHMENT"/>
+ <enum name="GL_NONE"/>
+ <enum name="GL_FRAMEBUFFER_COMPLETE"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
+ <enum name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+ <enum name="GL_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_RENDERBUFFER_BINDING"/>
+ <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+ <command name="glActiveTexture"/>
+ <command name="glAttachShader"/>
+ <command name="glBindAttribLocation"/>
+ <command name="glBindBuffer"/>
+ <command name="glBindFramebuffer"/>
+ <command name="glBindRenderbuffer"/>
+ <command name="glBindTexture"/>
+ <command name="glBlendColor"/>
+ <command name="glBlendEquation"/>
+ <command name="glBlendEquationSeparate"/>
+ <command name="glBlendFunc"/>
+ <command name="glBlendFuncSeparate"/>
+ <command name="glBufferData"/>
+ <command name="glBufferSubData"/>
+ <command name="glCheckFramebufferStatus"/>
+ <command name="glClear"/>
+ <command name="glClearColor"/>
+ <command name="glClearDepthf"/>
+ <command name="glClearStencil"/>
+ <command name="glColorMask"/>
+ <command name="glCompileShader"/>
+ <command name="glCompressedTexImage2D"/>
+ <command name="glCompressedTexSubImage2D"/>
+ <command name="glCopyTexImage2D"/>
+ <command name="glCopyTexSubImage2D"/>
+ <command name="glCreateProgram"/>
+ <command name="glCreateShader"/>
+ <command name="glCullFace"/>
+ <command name="glDeleteBuffers"/>
+ <command name="glDeleteFramebuffers"/>
+ <command name="glDeleteProgram"/>
+ <command name="glDeleteRenderbuffers"/>
+ <command name="glDeleteShader"/>
+ <command name="glDeleteTextures"/>
+ <command name="glDepthFunc"/>
+ <command name="glDepthMask"/>
+ <command name="glDepthRangef"/>
+ <command name="glDetachShader"/>
+ <command name="glDisable"/>
+ <command name="glDisableVertexAttribArray"/>
+ <command name="glDrawArrays"/>
+ <command name="glDrawElements"/>
+ <command name="glEnable"/>
+ <command name="glEnableVertexAttribArray"/>
+ <command name="glFinish"/>
+ <command name="glFlush"/>
+ <command name="glFramebufferRenderbuffer"/>
+ <command name="glFramebufferTexture2D"/>
+ <command name="glFrontFace"/>
+ <command name="glGenBuffers"/>
+ <command name="glGenerateMipmap"/>
+ <command name="glGenFramebuffers"/>
+ <command name="glGenRenderbuffers"/>
+ <command name="glGenTextures"/>
+ <command name="glGetActiveAttrib"/>
+ <command name="glGetActiveUniform"/>
+ <command name="glGetAttachedShaders"/>
+ <command name="glGetAttribLocation"/>
+ <command name="glGetBooleanv"/>
+ <command name="glGetBufferParameteriv"/>
+ <command name="glGetError"/>
+ <command name="glGetFloatv"/>
+ <command name="glGetFramebufferAttachmentParameteriv"/>
+ <command name="glGetIntegerv"/>
+ <command name="glGetProgramiv"/>
+ <command name="glGetProgramInfoLog"/>
+ <command name="glGetRenderbufferParameteriv"/>
+ <command name="glGetShaderiv"/>
+ <command name="glGetShaderInfoLog"/>
+ <command name="glGetShaderPrecisionFormat"/>
+ <command name="glGetShaderSource"/>
+ <command name="glGetString"/>
+ <command name="glGetTexParameterfv"/>
+ <command name="glGetTexParameteriv"/>
+ <command name="glGetUniformfv"/>
+ <command name="glGetUniformiv"/>
+ <command name="glGetUniformLocation"/>
+ <command name="glGetVertexAttribfv"/>
+ <command name="glGetVertexAttribiv"/>
+ <command name="glGetVertexAttribPointerv"/>
+ <command name="glHint"/>
+ <command name="glIsBuffer"/>
+ <command name="glIsEnabled"/>
+ <command name="glIsFramebuffer"/>
+ <command name="glIsProgram"/>
+ <command name="glIsRenderbuffer"/>
+ <command name="glIsShader"/>
+ <command name="glIsTexture"/>
+ <command name="glLineWidth"/>
+ <command name="glLinkProgram"/>
+ <command name="glPixelStorei"/>
+ <command name="glPolygonOffset"/>
+ <command name="glReadPixels"/>
+ <command name="glReleaseShaderCompiler"/>
+ <command name="glRenderbufferStorage"/>
+ <command name="glSampleCoverage"/>
+ <command name="glScissor"/>
+ <command name="glShaderBinary"/>
+ <command name="glShaderSource"/>
+ <command name="glStencilFunc"/>
+ <command name="glStencilFuncSeparate"/>
+ <command name="glStencilMask"/>
+ <command name="glStencilMaskSeparate"/>
+ <command name="glStencilOp"/>
+ <command name="glStencilOpSeparate"/>
+ <command name="glTexImage2D"/>
+ <command name="glTexParameterf"/>
+ <command name="glTexParameterfv"/>
+ <command name="glTexParameteri"/>
+ <command name="glTexParameteriv"/>
+ <command name="glTexSubImage2D"/>
+ <command name="glUniform1f"/>
+ <command name="glUniform1fv"/>
+ <command name="glUniform1i"/>
+ <command name="glUniform1iv"/>
+ <command name="glUniform2f"/>
+ <command name="glUniform2fv"/>
+ <command name="glUniform2i"/>
+ <command name="glUniform2iv"/>
+ <command name="glUniform3f"/>
+ <command name="glUniform3fv"/>
+ <command name="glUniform3i"/>
+ <command name="glUniform3iv"/>
+ <command name="glUniform4f"/>
+ <command name="glUniform4fv"/>
+ <command name="glUniform4i"/>
+ <command name="glUniform4iv"/>
+ <command name="glUniformMatrix2fv"/>
+ <command name="glUniformMatrix3fv"/>
+ <command name="glUniformMatrix4fv"/>
+ <command name="glUseProgram"/>
+ <command name="glValidateProgram"/>
+ <command name="glVertexAttrib1f"/>
+ <command name="glVertexAttrib1fv"/>
+ <command name="glVertexAttrib2f"/>
+ <command name="glVertexAttrib2fv"/>
+ <command name="glVertexAttrib3f"/>
+ <command name="glVertexAttrib3fv"/>
+ <command name="glVertexAttrib4f"/>
+ <command name="glVertexAttrib4fv"/>
+ <command name="glVertexAttribPointer"/>
+ <command name="glViewport"/>
+ </require>
+ </feature>
+ <feature api="gles2" name="GL_ES_VERSION_3_0" number="3.0">
+ <require comment="Not used by the API, for compatibility with old gl2.h">
+ <type name="GLhalf"/>
+ </require>
+ <require>
+ <enum name="GL_READ_BUFFER"/>
+ <enum name="GL_UNPACK_ROW_LENGTH"/>
+ <enum name="GL_UNPACK_SKIP_ROWS"/>
+ <enum name="GL_UNPACK_SKIP_PIXELS"/>
+ <enum name="GL_PACK_ROW_LENGTH"/>
+ <enum name="GL_PACK_SKIP_ROWS"/>
+ <enum name="GL_PACK_SKIP_PIXELS"/>
+ <enum name="GL_COLOR"/>
+ <enum name="GL_DEPTH"/>
+ <enum name="GL_STENCIL"/>
+ <enum name="GL_RED"/>
+ <enum name="GL_RGB8"/>
+ <enum name="GL_RGBA8"/>
+ <enum name="GL_RGB10_A2"/>
+ <enum name="GL_TEXTURE_BINDING_3D"/>
+ <enum name="GL_UNPACK_SKIP_IMAGES"/>
+ <enum name="GL_UNPACK_IMAGE_HEIGHT"/>
+ <enum name="GL_TEXTURE_3D"/>
+ <enum name="GL_TEXTURE_WRAP_R"/>
+ <enum name="GL_MAX_3D_TEXTURE_SIZE"/>
+ <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+ <enum name="GL_MAX_ELEMENTS_VERTICES"/>
+ <enum name="GL_MAX_ELEMENTS_INDICES"/>
+ <enum name="GL_TEXTURE_MIN_LOD"/>
+ <enum name="GL_TEXTURE_MAX_LOD"/>
+ <enum name="GL_TEXTURE_BASE_LEVEL"/>
+ <enum name="GL_TEXTURE_MAX_LEVEL"/>
+ <enum name="GL_MIN"/>
+ <enum name="GL_MAX"/>
+ <enum name="GL_DEPTH_COMPONENT24"/>
+ <enum name="GL_MAX_TEXTURE_LOD_BIAS"/>
+ <enum name="GL_TEXTURE_COMPARE_MODE"/>
+ <enum name="GL_TEXTURE_COMPARE_FUNC"/>
+ <enum name="GL_CURRENT_QUERY"/>
+ <enum name="GL_QUERY_RESULT"/>
+ <enum name="GL_QUERY_RESULT_AVAILABLE"/>
+ <enum name="GL_BUFFER_MAPPED"/>
+ <enum name="GL_BUFFER_MAP_POINTER"/>
+ <enum name="GL_STREAM_READ"/>
+ <enum name="GL_STREAM_COPY"/>
+ <enum name="GL_STATIC_READ"/>
+ <enum name="GL_STATIC_COPY"/>
+ <enum name="GL_DYNAMIC_READ"/>
+ <enum name="GL_DYNAMIC_COPY"/>
+ <enum name="GL_MAX_DRAW_BUFFERS"/>
+ <enum name="GL_DRAW_BUFFER0"/>
+ <enum name="GL_DRAW_BUFFER1"/>
+ <enum name="GL_DRAW_BUFFER2"/>
+ <enum name="GL_DRAW_BUFFER3"/>
+ <enum name="GL_DRAW_BUFFER4"/>
+ <enum name="GL_DRAW_BUFFER5"/>
+ <enum name="GL_DRAW_BUFFER6"/>
+ <enum name="GL_DRAW_BUFFER7"/>
+ <enum name="GL_DRAW_BUFFER8"/>
+ <enum name="GL_DRAW_BUFFER9"/>
+ <enum name="GL_DRAW_BUFFER10"/>
+ <enum name="GL_DRAW_BUFFER11"/>
+ <enum name="GL_DRAW_BUFFER12"/>
+ <enum name="GL_DRAW_BUFFER13"/>
+ <enum name="GL_DRAW_BUFFER14"/>
+ <enum name="GL_DRAW_BUFFER15"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum name="GL_SAMPLER_3D"/>
+ <enum name="GL_SAMPLER_2D_SHADOW"/>
+ <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
+ <enum name="GL_PIXEL_PACK_BUFFER"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER"/>
+ <enum name="GL_PIXEL_PACK_BUFFER_BINDING"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
+ <enum name="GL_FLOAT_MAT2x3"/>
+ <enum name="GL_FLOAT_MAT2x4"/>
+ <enum name="GL_FLOAT_MAT3x2"/>
+ <enum name="GL_FLOAT_MAT3x4"/>
+ <enum name="GL_FLOAT_MAT4x2"/>
+ <enum name="GL_FLOAT_MAT4x3"/>
+ <enum name="GL_SRGB"/>
+ <enum name="GL_SRGB8"/>
+ <enum name="GL_SRGB8_ALPHA8"/>
+ <enum name="GL_COMPARE_REF_TO_TEXTURE"/>
+ <enum name="GL_MAJOR_VERSION"/>
+ <enum name="GL_MINOR_VERSION"/>
+ <enum name="GL_NUM_EXTENSIONS"/>
+ <enum name="GL_RGBA32F"/>
+ <enum name="GL_RGB32F"/>
+ <enum name="GL_RGBA16F"/>
+ <enum name="GL_RGB16F"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+ <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
+ <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
+ <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
+ <enum name="GL_MAX_VARYING_COMPONENTS"/>
+ <enum name="GL_TEXTURE_2D_ARRAY"/>
+ <enum name="GL_TEXTURE_BINDING_2D_ARRAY"/>
+ <enum name="GL_R11F_G11F_B10F"/>
+ <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+ <enum name="GL_RGB9_E5"/>
+ <enum name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
+ <enum name="GL_RASTERIZER_DISCARD"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
+ <enum name="GL_INTERLEAVED_ATTRIBS"/>
+ <enum name="GL_SEPARATE_ATTRIBS"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+ <enum name="GL_RGBA32UI"/>
+ <enum name="GL_RGB32UI"/>
+ <enum name="GL_RGBA16UI"/>
+ <enum name="GL_RGB16UI"/>
+ <enum name="GL_RGBA8UI"/>
+ <enum name="GL_RGB8UI"/>
+ <enum name="GL_RGBA32I"/>
+ <enum name="GL_RGB32I"/>
+ <enum name="GL_RGBA16I"/>
+ <enum name="GL_RGB16I"/>
+ <enum name="GL_RGBA8I"/>
+ <enum name="GL_RGB8I"/>
+ <enum name="GL_RED_INTEGER"/>
+ <enum name="GL_RGB_INTEGER"/>
+ <enum name="GL_RGBA_INTEGER"/>
+ <enum name="GL_SAMPLER_2D_ARRAY"/>
+ <enum name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
+ <enum name="GL_SAMPLER_CUBE_SHADOW"/>
+ <enum name="GL_UNSIGNED_INT_VEC2"/>
+ <enum name="GL_UNSIGNED_INT_VEC3"/>
+ <enum name="GL_UNSIGNED_INT_VEC4"/>
+ <enum name="GL_INT_SAMPLER_2D"/>
+ <enum name="GL_INT_SAMPLER_3D"/>
+ <enum name="GL_INT_SAMPLER_CUBE"/>
+ <enum name="GL_INT_SAMPLER_2D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_3D"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
+ <enum name="GL_BUFFER_ACCESS_FLAGS"/>
+ <enum name="GL_BUFFER_MAP_LENGTH"/>
+ <enum name="GL_BUFFER_MAP_OFFSET"/>
+ <enum name="GL_DEPTH_COMPONENT32F"/>
+ <enum name="GL_DEPTH32F_STENCIL8"/>
+ <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT"/>
+ <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
+ <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+ <enum name="GL_DEPTH_STENCIL"/>
+ <enum name="GL_UNSIGNED_INT_24_8"/>
+ <enum name="GL_DEPTH24_STENCIL8"/>
+ <enum name="GL_UNSIGNED_NORMALIZED"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_READ_FRAMEBUFFER"/>
+ <enum name="GL_DRAW_FRAMEBUFFER"/>
+ <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_RENDERBUFFER_SAMPLES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+ <enum name="GL_MAX_COLOR_ATTACHMENTS"/>
+ <enum name="GL_COLOR_ATTACHMENT1"/>
+ <enum name="GL_COLOR_ATTACHMENT2"/>
+ <enum name="GL_COLOR_ATTACHMENT3"/>
+ <enum name="GL_COLOR_ATTACHMENT4"/>
+ <enum name="GL_COLOR_ATTACHMENT5"/>
+ <enum name="GL_COLOR_ATTACHMENT6"/>
+ <enum name="GL_COLOR_ATTACHMENT7"/>
+ <enum name="GL_COLOR_ATTACHMENT8"/>
+ <enum name="GL_COLOR_ATTACHMENT9"/>
+ <enum name="GL_COLOR_ATTACHMENT10"/>
+ <enum name="GL_COLOR_ATTACHMENT11"/>
+ <enum name="GL_COLOR_ATTACHMENT12"/>
+ <enum name="GL_COLOR_ATTACHMENT13"/>
+ <enum name="GL_COLOR_ATTACHMENT14"/>
+ <enum name="GL_COLOR_ATTACHMENT15"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+ <enum name="GL_MAX_SAMPLES"/>
+ <enum name="GL_HALF_FLOAT"/>
+ <enum name="GL_MAP_READ_BIT"/>
+ <enum name="GL_MAP_WRITE_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+ <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+ <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+ <enum name="GL_RG"/>
+ <enum name="GL_RG_INTEGER"/>
+ <enum name="GL_R8"/>
+ <enum name="GL_RG8"/>
+ <enum name="GL_R16F"/>
+ <enum name="GL_R32F"/>
+ <enum name="GL_RG16F"/>
+ <enum name="GL_RG32F"/>
+ <enum name="GL_R8I"/>
+ <enum name="GL_R8UI"/>
+ <enum name="GL_R16I"/>
+ <enum name="GL_R16UI"/>
+ <enum name="GL_R32I"/>
+ <enum name="GL_R32UI"/>
+ <enum name="GL_RG8I"/>
+ <enum name="GL_RG8UI"/>
+ <enum name="GL_RG16I"/>
+ <enum name="GL_RG16UI"/>
+ <enum name="GL_RG32I"/>
+ <enum name="GL_RG32UI"/>
+ <enum name="GL_VERTEX_ARRAY_BINDING"/>
+ <enum name="GL_R8_SNORM"/>
+ <enum name="GL_RG8_SNORM"/>
+ <enum name="GL_RGB8_SNORM"/>
+ <enum name="GL_RGBA8_SNORM"/>
+ <enum name="GL_SIGNED_NORMALIZED"/>
+ <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+ <enum name="GL_COPY_READ_BUFFER"/>
+ <enum name="GL_COPY_WRITE_BUFFER"/>
+ <enum name="GL_COPY_READ_BUFFER_BINDING"/>
+ <enum name="GL_COPY_WRITE_BUFFER_BINDING"/>
+ <enum name="GL_UNIFORM_BUFFER"/>
+ <enum name="GL_UNIFORM_BUFFER_BINDING"/>
+ <enum name="GL_UNIFORM_BUFFER_START"/>
+ <enum name="GL_UNIFORM_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+ <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+ <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+ <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+ <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+ <enum name="GL_UNIFORM_TYPE"/>
+ <enum name="GL_UNIFORM_SIZE"/>
+ <enum name="GL_UNIFORM_NAME_LENGTH"/>
+ <enum name="GL_UNIFORM_BLOCK_INDEX"/>
+ <enum name="GL_UNIFORM_OFFSET"/>
+ <enum name="GL_UNIFORM_ARRAY_STRIDE"/>
+ <enum name="GL_UNIFORM_MATRIX_STRIDE"/>
+ <enum name="GL_UNIFORM_IS_ROW_MAJOR"/>
+ <enum name="GL_UNIFORM_BLOCK_BINDING"/>
+ <enum name="GL_UNIFORM_BLOCK_DATA_SIZE"/>
+ <enum name="GL_UNIFORM_BLOCK_NAME_LENGTH"/>
+ <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
+ <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_INVALID_INDEX"/>
+ <enum name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
+ <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+ <enum name="GL_OBJECT_TYPE"/>
+ <enum name="GL_SYNC_CONDITION"/>
+ <enum name="GL_SYNC_STATUS"/>
+ <enum name="GL_SYNC_FLAGS"/>
+ <enum name="GL_SYNC_FENCE"/>
+ <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+ <enum name="GL_UNSIGNALED"/>
+ <enum name="GL_SIGNALED"/>
+ <enum name="GL_ALREADY_SIGNALED"/>
+ <enum name="GL_TIMEOUT_EXPIRED"/>
+ <enum name="GL_CONDITION_SATISFIED"/>
+ <enum name="GL_WAIT_FAILED"/>
+ <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+ <enum name="GL_TIMEOUT_IGNORED"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+ <enum name="GL_ANY_SAMPLES_PASSED"/>
+ <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+ <enum name="GL_SAMPLER_BINDING"/>
+ <enum name="GL_RGB10_A2UI"/>
+ <enum name="GL_TEXTURE_SWIZZLE_R"/>
+ <enum name="GL_TEXTURE_SWIZZLE_G"/>
+ <enum name="GL_TEXTURE_SWIZZLE_B"/>
+ <enum name="GL_TEXTURE_SWIZZLE_A"/>
+ <enum name="GL_GREEN"/>
+ <enum name="GL_BLUE"/>
+ <enum name="GL_INT_2_10_10_10_REV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+ <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+ <enum name="GL_PROGRAM_BINARY_LENGTH"/>
+ <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+ <enum name="GL_PROGRAM_BINARY_FORMATS"/>
+ <enum name="GL_COMPRESSED_R11_EAC"/>
+ <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+ <enum name="GL_COMPRESSED_RG11_EAC"/>
+ <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
+ <enum name="GL_COMPRESSED_RGB8_ETC2"/>
+ <enum name="GL_COMPRESSED_SRGB8_ETC2"/>
+ <enum name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum name="GL_COMPRESSED_RGBA8_ETC2_EAC"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
+ <enum name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
+ <enum name="GL_MAX_ELEMENT_INDEX"/>
+ <enum name="GL_NUM_SAMPLE_COUNTS"/>
+ <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+ <command name="glReadBuffer"/>
+ <command name="glDrawRangeElements"/>
+ <command name="glTexImage3D"/>
+ <command name="glTexSubImage3D"/>
+ <command name="glCopyTexSubImage3D"/>
+ <command name="glCompressedTexImage3D"/>
+ <command name="glCompressedTexSubImage3D"/>
+ <command name="glGenQueries"/>
+ <command name="glDeleteQueries"/>
+ <command name="glIsQuery"/>
+ <command name="glBeginQuery"/>
+ <command name="glEndQuery"/>
+ <command name="glGetQueryiv"/>
+ <command name="glGetQueryObjectuiv"/>
+ <command name="glUnmapBuffer"/>
+ <command name="glGetBufferPointerv"/>
+ <command name="glDrawBuffers"/>
+ <command name="glUniformMatrix2x3fv"/>
+ <command name="glUniformMatrix3x2fv"/>
+ <command name="glUniformMatrix2x4fv"/>
+ <command name="glUniformMatrix4x2fv"/>
+ <command name="glUniformMatrix3x4fv"/>
+ <command name="glUniformMatrix4x3fv"/>
+ <command name="glBlitFramebuffer"/>
+ <command name="glRenderbufferStorageMultisample"/>
+ <command name="glFramebufferTextureLayer"/>
+ <command name="glMapBufferRange"/>
+ <command name="glFlushMappedBufferRange"/>
+ <command name="glBindVertexArray"/>
+ <command name="glDeleteVertexArrays"/>
+ <command name="glGenVertexArrays"/>
+ <command name="glIsVertexArray"/>
+ <command name="glGetIntegeri_v"/>
+ <command name="glBeginTransformFeedback"/>
+ <command name="glEndTransformFeedback"/>
+ <command name="glBindBufferRange"/>
+ <command name="glBindBufferBase"/>
+ <command name="glTransformFeedbackVaryings"/>
+ <command name="glGetTransformFeedbackVarying"/>
+ <command name="glVertexAttribIPointer"/>
+ <command name="glGetVertexAttribIiv"/>
+ <command name="glGetVertexAttribIuiv"/>
+ <command name="glVertexAttribI4i"/>
+ <command name="glVertexAttribI4ui"/>
+ <command name="glVertexAttribI4iv"/>
+ <command name="glVertexAttribI4uiv"/>
+ <command name="glGetUniformuiv"/>
+ <command name="glGetFragDataLocation"/>
+ <command name="glUniform1ui"/>
+ <command name="glUniform2ui"/>
+ <command name="glUniform3ui"/>
+ <command name="glUniform4ui"/>
+ <command name="glUniform1uiv"/>
+ <command name="glUniform2uiv"/>
+ <command name="glUniform3uiv"/>
+ <command name="glUniform4uiv"/>
+ <command name="glClearBufferiv"/>
+ <command name="glClearBufferuiv"/>
+ <command name="glClearBufferfv"/>
+ <command name="glClearBufferfi"/>
+ <command name="glGetStringi"/>
+ <command name="glCopyBufferSubData"/>
+ <command name="glGetUniformIndices"/>
+ <command name="glGetActiveUniformsiv"/>
+ <command name="glGetUniformBlockIndex"/>
+ <command name="glGetActiveUniformBlockiv"/>
+ <command name="glGetActiveUniformBlockName"/>
+ <command name="glUniformBlockBinding"/>
+ <command name="glDrawArraysInstanced"/>
+ <command name="glDrawElementsInstanced"/>
+ <command name="glFenceSync"/>
+ <command name="glIsSync"/>
+ <command name="glDeleteSync"/>
+ <command name="glClientWaitSync"/>
+ <command name="glWaitSync"/>
+ <command name="glGetInteger64v"/>
+ <command name="glGetSynciv"/>
+ <command name="glGetInteger64i_v"/>
+ <command name="glGetBufferParameteri64v"/>
+ <command name="glGenSamplers"/>
+ <command name="glDeleteSamplers"/>
+ <command name="glIsSampler"/>
+ <command name="glBindSampler"/>
+ <command name="glSamplerParameteri"/>
+ <command name="glSamplerParameteriv"/>
+ <command name="glSamplerParameterf"/>
+ <command name="glSamplerParameterfv"/>
+ <command name="glGetSamplerParameteriv"/>
+ <command name="glGetSamplerParameterfv"/>
+ <command name="glVertexAttribDivisor"/>
+ <command name="glBindTransformFeedback"/>
+ <command name="glDeleteTransformFeedbacks"/>
+ <command name="glGenTransformFeedbacks"/>
+ <command name="glIsTransformFeedback"/>
+ <command name="glPauseTransformFeedback"/>
+ <command name="glResumeTransformFeedback"/>
+ <command name="glGetProgramBinary"/>
+ <command name="glProgramBinary"/>
+ <command name="glProgramParameteri"/>
+ <command name="glInvalidateFramebuffer"/>
+ <command name="glInvalidateSubFramebuffer"/>
+ <command name="glTexStorage2D"/>
+ <command name="glTexStorage3D"/>
+ <command name="glGetInternalformativ"/>
+ </require>
+ </feature>
+ <feature api="gles2" name="GL_ES_VERSION_3_1" number="3.1">
+ <!-- arrays_of_arrays features -->
+ <require/>
+ <!-- compute_shader features -->
+ <require>
+ <command name="glDispatchCompute"/>
+ <command name="glDispatchComputeIndirect"/>
+ <enum name="GL_COMPUTE_SHADER"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+ <enum name="GL_COMPUTE_SHADER_BIT"/>
+ </require>
+ <!-- draw_indirect features -->
+ <require>
+ <command name="glDrawArraysIndirect"/>
+ <command name="glDrawElementsIndirect"/>
+ <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+ <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+ </require>
+ <!-- explicit_uniform_location features -->
+ <require>
+ <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
+ </require>
+ <!-- framebuffer_no_attachments features -->
+ <require>
+ <command name="glFramebufferParameteri"/>
+ <command name="glGetFramebufferParameteriv"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_MAX_FRAMEBUFFER_WIDTH"/>
+ <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+ <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+ </require>
+ <!-- program_interface_query features -->
+ <require>
+ <command name="glGetProgramInterfaceiv"/>
+ <command name="glGetProgramResourceIndex"/>
+ <command name="glGetProgramResourceName"/>
+ <command name="glGetProgramResourceiv"/>
+ <command name="glGetProgramResourceLocation"/>
+ <enum name="GL_UNIFORM"/>
+ <enum name="GL_UNIFORM_BLOCK"/>
+ <enum name="GL_PROGRAM_INPUT"/>
+ <enum name="GL_PROGRAM_OUTPUT"/>
+ <enum name="GL_BUFFER_VARIABLE"/>
+ <enum name="GL_SHADER_STORAGE_BLOCK"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+ <enum name="GL_ACTIVE_RESOURCES"/>
+ <enum name="GL_MAX_NAME_LENGTH"/>
+ <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_NAME_LENGTH"/>
+ <enum name="GL_TYPE"/>
+ <enum name="GL_ARRAY_SIZE"/>
+ <enum name="GL_OFFSET"/>
+ <enum name="GL_BLOCK_INDEX"/>
+ <enum name="GL_ARRAY_STRIDE"/>
+ <enum name="GL_MATRIX_STRIDE"/>
+ <enum name="GL_IS_ROW_MAJOR"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum name="GL_BUFFER_BINDING"/>
+ <enum name="GL_BUFFER_DATA_SIZE"/>
+ <enum name="GL_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_ACTIVE_VARIABLES"/>
+ <enum name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+ <enum name="GL_LOCATION"/>
+ </require>
+ <!-- separate_shader_objects features -->
+ <require>
+ <command name="glUseProgramStages"/>
+ <command name="glActiveShaderProgram"/>
+ <command name="glCreateShaderProgramv"/>
+ <command name="glBindProgramPipeline"/>
+ <command name="glDeleteProgramPipelines"/>
+ <command name="glGenProgramPipelines"/>
+ <command name="glIsProgramPipeline"/>
+ <command name="glGetProgramPipelineiv"/>
+ <command name="glProgramUniform1i"/>
+ <command name="glProgramUniform2i"/>
+ <command name="glProgramUniform3i"/>
+ <command name="glProgramUniform4i"/>
+ <command name="glProgramUniform1ui"/>
+ <command name="glProgramUniform2ui"/>
+ <command name="glProgramUniform3ui"/>
+ <command name="glProgramUniform4ui"/>
+ <command name="glProgramUniform1f"/>
+ <command name="glProgramUniform2f"/>
+ <command name="glProgramUniform3f"/>
+ <command name="glProgramUniform4f"/>
+ <command name="glProgramUniform1iv"/>
+ <command name="glProgramUniform2iv"/>
+ <command name="glProgramUniform3iv"/>
+ <command name="glProgramUniform4iv"/>
+ <command name="glProgramUniform1uiv"/>
+ <command name="glProgramUniform2uiv"/>
+ <command name="glProgramUniform3uiv"/>
+ <command name="glProgramUniform4uiv"/>
+ <command name="glProgramUniform1fv"/>
+ <command name="glProgramUniform2fv"/>
+ <command name="glProgramUniform3fv"/>
+ <command name="glProgramUniform4fv"/>
+ <command name="glProgramUniformMatrix2fv"/>
+ <command name="glProgramUniformMatrix3fv"/>
+ <command name="glProgramUniformMatrix4fv"/>
+ <command name="glProgramUniformMatrix2x3fv"/>
+ <command name="glProgramUniformMatrix3x2fv"/>
+ <command name="glProgramUniformMatrix2x4fv"/>
+ <command name="glProgramUniformMatrix4x2fv"/>
+ <command name="glProgramUniformMatrix3x4fv"/>
+ <command name="glProgramUniformMatrix4x3fv"/>
+ <command name="glValidateProgramPipeline"/>
+ <command name="glGetProgramPipelineInfoLog"/>
+ <enum name="GL_VERTEX_SHADER_BIT"/>
+ <enum name="GL_FRAGMENT_SHADER_BIT"/>
+ <enum name="GL_ALL_SHADER_BITS"/>
+ <enum name="GL_PROGRAM_SEPARABLE"/>
+ <enum name="GL_ACTIVE_PROGRAM"/>
+ <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
+ </require>
+ <!-- shader_atomic_counters features -->
+ <require>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+ <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
+ </require>
+ <!-- shader_bitfield_operations features -->
+ <require/>
+ <!-- shader_image_load_store features -->
+ <require>
+ <command name="glBindImageTexture"/>
+ <command name="glGetBooleani_v"/>
+ <command name="glMemoryBarrier"/>
+ <command name="glMemoryBarrierByRegion"/>
+ <enum name="GL_MAX_IMAGE_UNITS"/>
+ <enum name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+ <enum name="GL_IMAGE_BINDING_NAME"/>
+ <enum name="GL_IMAGE_BINDING_LEVEL"/>
+ <enum name="GL_IMAGE_BINDING_LAYERED"/>
+ <enum name="GL_IMAGE_BINDING_LAYER"/>
+ <enum name="GL_IMAGE_BINDING_ACCESS"/>
+ <enum name="GL_IMAGE_BINDING_FORMAT"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_UNIFORM_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+ <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+ <enum name="GL_COMMAND_BARRIER_BIT"/>
+ <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+ <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+ <enum name="GL_ALL_BARRIER_BITS"/>
+ <enum name="GL_IMAGE_2D"/>
+ <enum name="GL_IMAGE_3D"/>
+ <enum name="GL_IMAGE_CUBE"/>
+ <enum name="GL_IMAGE_2D_ARRAY"/>
+ <enum name="GL_INT_IMAGE_2D"/>
+ <enum name="GL_INT_IMAGE_3D"/>
+ <enum name="GL_INT_IMAGE_CUBE"/>
+ <enum name="GL_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_3D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+ <enum name="GL_READ_ONLY"/>
+ <enum name="GL_WRITE_ONLY"/>
+ <enum name="GL_READ_WRITE"/>
+ </require>
+ <!-- shader_layout_binding features -->
+ <require/>
+ <!-- shader_storage_buffer_object features -->
+ <require>
+ <enum name="GL_SHADER_STORAGE_BUFFER"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+ <enum name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
+ </require>
+ <!-- stencil_texturing features -->
+ <require>
+ <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+ <enum name="GL_STENCIL_INDEX"/>
+ </require>
+ <!-- texture_gather features -->
+ <require>
+ <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ </require>
+ <!-- texture_storage_multisample features -->
+ <require>
+ <command name="glTexStorage2DMultisample"/>
+ <command name="glGetMultisamplefv"/>
+ <command name="glSampleMaski"/>
+ <command name="glGetTexLevelParameteriv"/>
+ <command name="glGetTexLevelParameterfv"/>
+ <enum name="GL_SAMPLE_POSITION"/>
+ <enum name="GL_SAMPLE_MASK"/>
+ <enum name="GL_SAMPLE_MASK_VALUE"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+ <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
+ <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_INTEGER_SAMPLES"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+ <enum name="GL_TEXTURE_SAMPLES"/>
+ <enum name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_TEXTURE_WIDTH"/>
+ <enum name="GL_TEXTURE_HEIGHT"/>
+ <enum name="GL_TEXTURE_DEPTH"/>
+ <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
+ <enum name="GL_TEXTURE_RED_SIZE"/>
+ <enum name="GL_TEXTURE_GREEN_SIZE"/>
+ <enum name="GL_TEXTURE_BLUE_SIZE"/>
+ <enum name="GL_TEXTURE_ALPHA_SIZE"/>
+ <enum name="GL_TEXTURE_DEPTH_SIZE"/>
+ <enum name="GL_TEXTURE_STENCIL_SIZE"/>
+ <enum name="GL_TEXTURE_SHARED_SIZE"/>
+ <enum name="GL_TEXTURE_RED_TYPE"/>
+ <enum name="GL_TEXTURE_GREEN_TYPE"/>
+ <enum name="GL_TEXTURE_BLUE_TYPE"/>
+ <enum name="GL_TEXTURE_ALPHA_TYPE"/>
+ <enum name="GL_TEXTURE_DEPTH_TYPE"/>
+ <enum name="GL_TEXTURE_COMPRESSED"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+ </require>
+ <!-- vertex_attrib_binding features -->
+ <require>
+ <command name="glBindVertexBuffer"/>
+ <command name="glVertexAttribFormat"/>
+ <command name="glVertexAttribIFormat"/>
+ <command name="glVertexAttribBinding"/>
+ <command name="glVertexBindingDivisor"/>
+ <enum name="GL_VERTEX_ATTRIB_BINDING"/>
+ <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_DIVISOR"/>
+ <enum name="GL_VERTEX_BINDING_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_STRIDE"/>
+ <enum name="GL_VERTEX_BINDING_BUFFER"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
+ </require>
+ </feature>
+
+ <!-- SECTION: OpenGL / OpenGL ES extension interface definitions -->
+ <extensions>
+ <extension name="GL_3DFX_multisample" supported="gl">
+ <require>
+ <enum name="GL_MULTISAMPLE_3DFX"/>
+ <enum name="GL_SAMPLE_BUFFERS_3DFX"/>
+ <enum name="GL_SAMPLES_3DFX"/>
+ <enum name="GL_MULTISAMPLE_BIT_3DFX"/>
+ </require>
+ </extension>
+ <extension name="GL_3DFX_tbuffer" supported="gl">
+ <require>
+ <command name="glTbufferMask3DFX"/>
+ </require>
+ </extension>
+ <extension name="GL_3DFX_texture_compression_FXT1" supported="gl">
+ <require>
+ <enum name="GL_COMPRESSED_RGB_FXT1_3DFX"/>
+ <enum name="GL_COMPRESSED_RGBA_FXT1_3DFX"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_blend_minmax_factor" supported="gl">
+ <require>
+ <enum name="GL_FACTOR_MIN_AMD"/>
+ <enum name="GL_FACTOR_MAX_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_compressed_3DC_texture" supported="gles1|gles2">
+ <require>
+ <enum name="GL_3DC_X_AMD"/>
+ <enum name="GL_3DC_XY_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_compressed_ATC_texture" supported="gles1|gles2">
+ <require>
+ <enum name="GL_ATC_RGB_AMD"/>
+ <enum name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"/>
+ <enum name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_conservative_depth" supported="gl"/>
+ <extension name="GL_AMD_debug_output" supported="gl">
+ <require>
+ <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"/>
+ <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES_AMD"/>
+ <enum name="GL_DEBUG_LOGGED_MESSAGES_AMD"/>
+ <enum name="GL_DEBUG_SEVERITY_HIGH_AMD"/>
+ <enum name="GL_DEBUG_SEVERITY_MEDIUM_AMD"/>
+ <enum name="GL_DEBUG_SEVERITY_LOW_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_API_ERROR_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_DEPRECATION_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_PERFORMANCE_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_APPLICATION_AMD"/>
+ <enum name="GL_DEBUG_CATEGORY_OTHER_AMD"/>
+ <command name="glDebugMessageEnableAMD"/>
+ <command name="glDebugMessageInsertAMD"/>
+ <command name="glDebugMessageCallbackAMD"/>
+ <command name="glGetDebugMessageLogAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_depth_clamp_separate" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_CLAMP_NEAR_AMD"/>
+ <enum name="GL_DEPTH_CLAMP_FAR_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_draw_buffers_blend" supported="gl">
+ <require>
+ <command name="glBlendFuncIndexedAMD"/>
+ <command name="glBlendFuncSeparateIndexedAMD"/>
+ <command name="glBlendEquationIndexedAMD"/>
+ <command name="glBlendEquationSeparateIndexedAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_gpu_shader_int64" supported="gl">
+ <require>
+ <enum name="GL_INT64_NV"/>
+ <enum name="GL_UNSIGNED_INT64_NV"/>
+ <enum name="GL_INT8_NV"/>
+ <enum name="GL_INT8_VEC2_NV"/>
+ <enum name="GL_INT8_VEC3_NV"/>
+ <enum name="GL_INT8_VEC4_NV"/>
+ <enum name="GL_INT16_NV"/>
+ <enum name="GL_INT16_VEC2_NV"/>
+ <enum name="GL_INT16_VEC3_NV"/>
+ <enum name="GL_INT16_VEC4_NV"/>
+ <enum name="GL_INT64_VEC2_NV"/>
+ <enum name="GL_INT64_VEC3_NV"/>
+ <enum name="GL_INT64_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT8_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT16_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC4_NV"/>
+ <enum name="GL_FLOAT16_NV"/>
+ <enum name="GL_FLOAT16_VEC2_NV"/>
+ <enum name="GL_FLOAT16_VEC3_NV"/>
+ <enum name="GL_FLOAT16_VEC4_NV"/>
+ <command name="glUniform1i64NV"/>
+ <command name="glUniform2i64NV"/>
+ <command name="glUniform3i64NV"/>
+ <command name="glUniform4i64NV"/>
+ <command name="glUniform1i64vNV"/>
+ <command name="glUniform2i64vNV"/>
+ <command name="glUniform3i64vNV"/>
+ <command name="glUniform4i64vNV"/>
+ <command name="glUniform1ui64NV"/>
+ <command name="glUniform2ui64NV"/>
+ <command name="glUniform3ui64NV"/>
+ <command name="glUniform4ui64NV"/>
+ <command name="glUniform1ui64vNV"/>
+ <command name="glUniform2ui64vNV"/>
+ <command name="glUniform3ui64vNV"/>
+ <command name="glUniform4ui64vNV"/>
+ <command name="glGetUniformi64vNV"/>
+ <command name="glGetUniformui64vNV"/>
+ </require>
+ <require comment="Supported only if GL_EXT_direct_state_access is supported">
+ <command name="glProgramUniform1i64NV"/>
+ <command name="glProgramUniform2i64NV"/>
+ <command name="glProgramUniform3i64NV"/>
+ <command name="glProgramUniform4i64NV"/>
+ <command name="glProgramUniform1i64vNV"/>
+ <command name="glProgramUniform2i64vNV"/>
+ <command name="glProgramUniform3i64vNV"/>
+ <command name="glProgramUniform4i64vNV"/>
+ <command name="glProgramUniform1ui64NV"/>
+ <command name="glProgramUniform2ui64NV"/>
+ <command name="glProgramUniform3ui64NV"/>
+ <command name="glProgramUniform4ui64NV"/>
+ <command name="glProgramUniform1ui64vNV"/>
+ <command name="glProgramUniform2ui64vNV"/>
+ <command name="glProgramUniform3ui64vNV"/>
+ <command name="glProgramUniform4ui64vNV"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_interleaved_elements" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ELEMENT_SWIZZLE_AMD"/>
+ <enum name="GL_VERTEX_ID_SWIZZLE_AMD"/>
+ <enum name="GL_RED"/>
+ <enum name="GL_GREEN"/>
+ <enum name="GL_BLUE"/>
+ <enum name="GL_ALPHA"/>
+ <enum name="GL_RG8UI"/>
+ <enum name="GL_RG16UI"/>
+ <enum name="GL_RGBA8UI"/>
+ <command name="glVertexAttribParameteriAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_gcn_shader" supported="gl"/>
+ <extension name="GL_AMD_multi_draw_indirect" supported="gl">
+ <require>
+ <command name="glMultiDrawArraysIndirectAMD"/>
+ <command name="glMultiDrawElementsIndirectAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_name_gen_delete" supported="gl">
+ <require>
+ <enum name="GL_DATA_BUFFER_AMD"/>
+ <enum name="GL_PERFORMANCE_MONITOR_AMD"/>
+ <enum name="GL_QUERY_OBJECT_AMD"/>
+ <enum name="GL_VERTEX_ARRAY_OBJECT_AMD"/>
+ <enum name="GL_SAMPLER_OBJECT_AMD"/>
+ <command name="glGenNamesAMD"/>
+ <command name="glDeleteNamesAMD"/>
+ <command name="glIsNameAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_occlusion_query_event" supported="gl">
+ <require>
+ <enum name="GL_OCCLUSION_QUERY_EVENT_MASK_AMD"/>
+ <enum name="GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD"/>
+ <enum name="GL_QUERY_ALL_EVENT_BITS_AMD"/>
+ <command name="glQueryObjectParameteruiAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_performance_monitor" supported="gl|gles2">
+ <require>
+ <enum name="GL_COUNTER_TYPE_AMD"/>
+ <enum name="GL_COUNTER_RANGE_AMD"/>
+ <enum name="GL_UNSIGNED_INT64_AMD"/>
+ <enum name="GL_PERCENTAGE_AMD"/>
+ <enum name="GL_PERFMON_RESULT_AVAILABLE_AMD"/>
+ <enum name="GL_PERFMON_RESULT_SIZE_AMD"/>
+ <enum name="GL_PERFMON_RESULT_AMD"/>
+ <command name="glGetPerfMonitorGroupsAMD"/>
+ <command name="glGetPerfMonitorCountersAMD"/>
+ <command name="glGetPerfMonitorGroupStringAMD"/>
+ <command name="glGetPerfMonitorCounterStringAMD"/>
+ <command name="glGetPerfMonitorCounterInfoAMD"/>
+ <command name="glGenPerfMonitorsAMD"/>
+ <command name="glDeletePerfMonitorsAMD"/>
+ <command name="glSelectPerfMonitorCountersAMD"/>
+ <command name="glBeginPerfMonitorAMD"/>
+ <command name="glEndPerfMonitorAMD"/>
+ <command name="glGetPerfMonitorCounterDataAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_pinned_memory" supported="gl">
+ <require>
+ <enum name="GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_program_binary_Z400" supported="gles2">
+ <require>
+ <enum name="GL_Z400_BINARY_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_query_buffer_object" supported="gl">
+ <require>
+ <enum name="GL_QUERY_BUFFER_AMD"/>
+ <enum name="GL_QUERY_BUFFER_BINDING_AMD"/>
+ <enum name="GL_QUERY_RESULT_NO_WAIT_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_sample_positions" supported="gl">
+ <require>
+ <enum name="GL_SUBSAMPLE_DISTANCE_AMD"/>
+ <command name="glSetMultisamplefvAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_seamless_cubemap_per_texture" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_shader_atomic_counter_ops" supported="gl"/>
+ <extension name="GL_AMD_shader_stencil_export" supported="gl"/>
+ <extension name="GL_AMD_shader_trinary_minmax" supported="gl"/>
+ <extension name="GL_AMD_sparse_texture" supported="gl">
+ <require>
+ <enum name="GL_VIRTUAL_PAGE_SIZE_X_AMD"/>
+ <enum name="GL_VIRTUAL_PAGE_SIZE_Y_AMD"/>
+ <enum name="GL_VIRTUAL_PAGE_SIZE_Z_AMD"/>
+ <enum name="GL_MAX_SPARSE_TEXTURE_SIZE_AMD"/>
+ <enum name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD"/>
+ <enum name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS"/>
+ <enum name="GL_MIN_SPARSE_LEVEL_AMD"/>
+ <enum name="GL_MIN_LOD_WARNING_AMD"/>
+ <enum name="GL_TEXTURE_STORAGE_SPARSE_BIT_AMD"/>
+ <command name="glTexStorageSparseAMD"/>
+ <command name="glTextureStorageSparseAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_stencil_operation_extended" supported="gl">
+ <require>
+ <enum name="GL_SET_AMD"/>
+ <enum name="GL_REPLACE_VALUE_AMD"/>
+ <enum name="GL_STENCIL_OP_VALUE_AMD"/>
+ <enum name="GL_STENCIL_BACK_OP_VALUE_AMD"/>
+ <command name="glStencilOpValueAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_texture_texture4" supported="gl"/>
+ <extension name="GL_AMD_transform_feedback3_lines_triangles" supported="gl"/>
+ <extension name="GL_AMD_transform_feedback4" supported="gl">
+ <require>
+ <enum name="GL_STREAM_RASTERIZATION_AMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_vertex_shader_layer" supported="gl"/>
+ <extension name="GL_AMD_vertex_shader_tessellator" supported="gl">
+ <require>
+ <enum name="GL_SAMPLER_BUFFER_AMD"/>
+ <enum name="GL_INT_SAMPLER_BUFFER_AMD"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD"/>
+ <enum name="GL_TESSELLATION_MODE_AMD"/>
+ <enum name="GL_TESSELLATION_FACTOR_AMD"/>
+ <enum name="GL_DISCRETE_AMD"/>
+ <enum name="GL_CONTINUOUS_AMD"/>
+ <command name="glTessellationFactorAMD"/>
+ <command name="glTessellationModeAMD"/>
+ </require>
+ </extension>
+ <extension name="GL_AMD_vertex_shader_viewport_index" supported="gl"/>
+ <extension name="GL_ANDROID_extension_pack_es31a" supported="gles2">
+ <require comment="This is an alias for the following extensions. At present gl.xml doesn't actually replicate all their interfaces here.">
+ <!--
+ KHR_debug
+ KHR_texture_compression_astc_ldr
+ KHR_blend_equation_advanced
+ OES_sample_shading
+ OES_sample_variables
+ OES_shader_image_atomic
+ OES_shader_multisample_interpolation
+ OES_texture_stencil8
+ OES_texture_storage_multisample_2d_array
+ EXT_copy_image
+ EXT_draw_buffers_indexed
+ EXT_geometry_shader
+ EXT_gpu_shader5
+ EXT_primitive_bounding_box
+ EXT_shader_io_blocks
+ EXT_tessellation_shader
+ EXT_texture_border_clamp
+ EXT_texture_buffer
+ EXT_texture_cube_map_array
+ EXT_texture_srgb_decode
+ -->
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_depth_texture" supported="gles2">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT"/>
+ <enum name="GL_DEPTH_STENCIL_OES"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ <enum name="GL_UNSIGNED_INT_24_8_OES"/>
+ <enum name="GL_DEPTH_COMPONENT16"/>
+ <enum name="GL_DEPTH_COMPONENT32_OES"/>
+ <enum name="GL_DEPTH24_STENCIL8_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_framebuffer_blit" supported="gles2">
+ <require>
+ <enum name="GL_READ_FRAMEBUFFER_ANGLE"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_ANGLE"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_BINDING_ANGLE"/>
+ <enum name="GL_READ_FRAMEBUFFER_BINDING_ANGLE"/>
+ <command name="glBlitFramebufferANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_framebuffer_multisample" supported="gles2">
+ <require>
+ <enum name="GL_RENDERBUFFER_SAMPLES_ANGLE"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE"/>
+ <enum name="GL_MAX_SAMPLES_ANGLE"/>
+ <command name="glRenderbufferStorageMultisampleANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_instanced_arrays" supported="gles2">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE"/>
+ <command name="glDrawArraysInstancedANGLE"/>
+ <command name="glDrawElementsInstancedANGLE"/>
+ <command name="glVertexAttribDivisorANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_pack_reverse_row_order" supported="gles2">
+ <require>
+ <enum name="GL_PACK_REVERSE_ROW_ORDER_ANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_program_binary" supported="gles2">
+ <require>
+ <enum name="GL_PROGRAM_BINARY_ANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_texture_compression_dxt3" supported="gles2">
+ <require>
+ <enum name="GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_texture_compression_dxt5" supported="gles2">
+ <require>
+ <enum name="GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_texture_usage" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_USAGE_ANGLE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_ANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ANGLE_translated_shader_source" supported="gles2">
+ <require>
+ <enum name="GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE"/>
+ <command name="glGetTranslatedShaderSourceANGLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_aux_depth_stencil" supported="gl">
+ <require>
+ <enum name="GL_AUX_DEPTH_STENCIL_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_client_storage" supported="gl">
+ <require>
+ <enum name="GL_UNPACK_CLIENT_STORAGE_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_copy_texture_levels" supported="gles1|gles2">
+ <require>
+ <command name="glCopyTextureLevelsAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_element_array" supported="gl">
+ <require>
+ <enum name="GL_ELEMENT_ARRAY_APPLE"/>
+ <enum name="GL_ELEMENT_ARRAY_TYPE_APPLE"/>
+ <enum name="GL_ELEMENT_ARRAY_POINTER_APPLE"/>
+ <command name="glElementPointerAPPLE"/>
+ <command name="glDrawElementArrayAPPLE"/>
+ <command name="glDrawRangeElementArrayAPPLE"/>
+ <command name="glMultiDrawElementArrayAPPLE"/>
+ <command name="glMultiDrawRangeElementArrayAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_fence" supported="gl">
+ <require>
+ <enum name="GL_DRAW_PIXELS_APPLE"/>
+ <enum name="GL_FENCE_APPLE"/>
+ <command name="glGenFencesAPPLE"/>
+ <command name="glDeleteFencesAPPLE"/>
+ <command name="glSetFenceAPPLE"/>
+ <command name="glIsFenceAPPLE"/>
+ <command name="glTestFenceAPPLE"/>
+ <command name="glFinishFenceAPPLE"/>
+ <command name="glTestObjectAPPLE"/>
+ <command name="glFinishObjectAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_float_pixels" supported="gl">
+ <require>
+ <enum name="GL_HALF_APPLE"/>
+ <enum name="GL_RGBA_FLOAT32_APPLE"/>
+ <enum name="GL_RGB_FLOAT32_APPLE"/>
+ <enum name="GL_ALPHA_FLOAT32_APPLE"/>
+ <enum name="GL_INTENSITY_FLOAT32_APPLE"/>
+ <enum name="GL_LUMINANCE_FLOAT32_APPLE"/>
+ <enum name="GL_LUMINANCE_ALPHA_FLOAT32_APPLE"/>
+ <enum name="GL_RGBA_FLOAT16_APPLE"/>
+ <enum name="GL_RGB_FLOAT16_APPLE"/>
+ <enum name="GL_ALPHA_FLOAT16_APPLE"/>
+ <enum name="GL_INTENSITY_FLOAT16_APPLE"/>
+ <enum name="GL_LUMINANCE_FLOAT16_APPLE"/>
+ <enum name="GL_LUMINANCE_ALPHA_FLOAT16_APPLE"/>
+ <enum name="GL_COLOR_FLOAT_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_flush_buffer_range" supported="gl">
+ <require>
+ <enum name="GL_BUFFER_SERIALIZED_MODIFY_APPLE"/>
+ <enum name="GL_BUFFER_FLUSHING_UNMAP_APPLE"/>
+ <command name="glBufferParameteriAPPLE"/>
+ <command name="glFlushMappedBufferRangeAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_framebuffer_multisample" supported="gles1|gles2">
+ <require>
+ <enum name="GL_RENDERBUFFER_SAMPLES_APPLE"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE"/>
+ <enum name="GL_MAX_SAMPLES_APPLE"/>
+ <enum name="GL_READ_FRAMEBUFFER_APPLE"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_APPLE"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_BINDING_APPLE"/>
+ <enum name="GL_READ_FRAMEBUFFER_BINDING_APPLE"/>
+ <command name="glRenderbufferStorageMultisampleAPPLE"/>
+ <command name="glResolveMultisampleFramebufferAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_object_purgeable" supported="gl">
+ <require>
+ <enum name="GL_BUFFER_OBJECT_APPLE"/>
+ <enum name="GL_RELEASED_APPLE"/>
+ <enum name="GL_VOLATILE_APPLE"/>
+ <enum name="GL_RETAINED_APPLE"/>
+ <enum name="GL_UNDEFINED_APPLE"/>
+ <enum name="GL_PURGEABLE_APPLE"/>
+ <command name="glObjectPurgeableAPPLE"/>
+ <command name="glObjectUnpurgeableAPPLE"/>
+ <command name="glGetObjectParameterivAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_rgb_422" supported="gl|gles2">
+ <require>
+ <enum name="GL_RGB_422_APPLE"/>
+ <enum name="GL_UNSIGNED_SHORT_8_8_APPLE"/>
+ <enum name="GL_UNSIGNED_SHORT_8_8_REV_APPLE"/>
+ </require>
+ <require comment="Depends on TexStorage* (EXT_texture_storage / ES 3.0 / GL 4.4 / etc.)">
+ <enum name="GL_RGB_RAW_422_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_row_bytes" supported="gl">
+ <require>
+ <enum name="GL_PACK_ROW_BYTES_APPLE"/>
+ <enum name="GL_UNPACK_ROW_BYTES_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_specular_vector" supported="gl">
+ <require>
+ <enum name="GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_sync" supported="gles1|gles2">
+ <require>
+ <enum name="GL_SYNC_OBJECT_APPLE"/>
+ <enum name="GL_MAX_SERVER_WAIT_TIMEOUT_APPLE"/>
+ <enum name="GL_OBJECT_TYPE_APPLE"/>
+ <enum name="GL_SYNC_CONDITION_APPLE"/>
+ <enum name="GL_SYNC_STATUS_APPLE"/>
+ <enum name="GL_SYNC_FLAGS_APPLE"/>
+ <enum name="GL_SYNC_FENCE_APPLE"/>
+ <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE"/>
+ <enum name="GL_UNSIGNALED_APPLE"/>
+ <enum name="GL_SIGNALED_APPLE"/>
+ <enum name="GL_ALREADY_SIGNALED_APPLE"/>
+ <enum name="GL_TIMEOUT_EXPIRED_APPLE"/>
+ <enum name="GL_CONDITION_SATISFIED_APPLE"/>
+ <enum name="GL_WAIT_FAILED_APPLE"/>
+ <enum name="GL_SYNC_FLUSH_COMMANDS_BIT_APPLE"/>
+ <enum name="GL_TIMEOUT_IGNORED_APPLE"/>
+ <command name="glFenceSyncAPPLE"/>
+ <command name="glIsSyncAPPLE"/>
+ <command name="glDeleteSyncAPPLE"/>
+ <command name="glClientWaitSyncAPPLE"/>
+ <command name="glWaitSyncAPPLE"/>
+ <command name="glGetInteger64vAPPLE"/>
+ <command name="glGetSyncivAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_texture_2D_limited_npot" supported="gles1"/>
+ <extension name="GL_APPLE_texture_format_BGRA8888" supported="gles1|gles2">
+ <require>
+ <enum name="GL_BGRA_EXT"/>
+ </require>
+ <require comment="Depends on TexStorage* (EXT_texture_storage / ES 3.0 / GL 4.4 / etc.)">
+ <enum name="GL_BGRA8_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_texture_max_level" supported="gles1|gles2">
+ <require>
+ <enum name="GL_TEXTURE_MAX_LEVEL_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_texture_range" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_RANGE_LENGTH_APPLE"/>
+ <enum name="GL_TEXTURE_RANGE_POINTER_APPLE"/>
+ <enum name="GL_TEXTURE_STORAGE_HINT_APPLE"/>
+ <enum name="GL_STORAGE_PRIVATE_APPLE"/>
+ <enum name="GL_STORAGE_CACHED_APPLE"/>
+ <enum name="GL_STORAGE_SHARED_APPLE"/>
+ <command name="glTextureRangeAPPLE"/>
+ <command name="glGetTexParameterPointervAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_transform_hint" supported="gl">
+ <require>
+ <enum name="GL_TRANSFORM_HINT_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_vertex_array_object" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_BINDING_APPLE"/>
+ <command name="glBindVertexArrayAPPLE"/>
+ <command name="glDeleteVertexArraysAPPLE"/>
+ <command name="glGenVertexArraysAPPLE"/>
+ <command name="glIsVertexArrayAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_vertex_array_range" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_RANGE_APPLE"/>
+ <enum name="GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE"/>
+ <enum name="GL_VERTEX_ARRAY_STORAGE_HINT_APPLE"/>
+ <enum name="GL_VERTEX_ARRAY_RANGE_POINTER_APPLE"/>
+ <enum name="GL_STORAGE_CLIENT_APPLE"/>
+ <enum name="GL_STORAGE_CACHED_APPLE"/>
+ <enum name="GL_STORAGE_SHARED_APPLE"/>
+ <command name="glVertexArrayRangeAPPLE"/>
+ <command name="glFlushVertexArrayRangeAPPLE"/>
+ <command name="glVertexArrayParameteriAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_vertex_program_evaluators" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_MAP1_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP2_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE"/>
+ <enum name="GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE"/>
+ <command name="glEnableVertexAttribAPPLE"/>
+ <command name="glDisableVertexAttribAPPLE"/>
+ <command name="glIsVertexAttribEnabledAPPLE"/>
+ <command name="glMapVertexAttrib1dAPPLE"/>
+ <command name="glMapVertexAttrib1fAPPLE"/>
+ <command name="glMapVertexAttrib2dAPPLE"/>
+ <command name="glMapVertexAttrib2fAPPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_APPLE_ycbcr_422" supported="gl">
+ <require>
+ <enum name="GL_YCBCR_422_APPLE"/>
+ <enum name="GL_UNSIGNED_SHORT_8_8_APPLE"/>
+ <enum name="GL_UNSIGNED_SHORT_8_8_REV_APPLE"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_ES2_compatibility" supported="gl|glcore">
+ <require>
+ <enum name="GL_FIXED"/>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+ <enum name="GL_LOW_FLOAT"/>
+ <enum name="GL_MEDIUM_FLOAT"/>
+ <enum name="GL_HIGH_FLOAT"/>
+ <enum name="GL_LOW_INT"/>
+ <enum name="GL_MEDIUM_INT"/>
+ <enum name="GL_HIGH_INT"/>
+ <enum name="GL_SHADER_COMPILER"/>
+ <enum name="GL_SHADER_BINARY_FORMATS"/>
+ <enum name="GL_NUM_SHADER_BINARY_FORMATS"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+ <enum name="GL_MAX_VARYING_VECTORS"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+ <enum name="GL_RGB565"/>
+ <command name="glReleaseShaderCompiler"/>
+ <command name="glShaderBinary"/>
+ <command name="glGetShaderPrecisionFormat"/>
+ <command name="glDepthRangef"/>
+ <command name="glClearDepthf"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_ES3_compatibility" supported="gl|glcore">
+ <require>
+ <enum name="GL_COMPRESSED_RGB8_ETC2"/>
+ <enum name="GL_COMPRESSED_SRGB8_ETC2"/>
+ <enum name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+ <enum name="GL_COMPRESSED_RGBA8_ETC2_EAC"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
+ <enum name="GL_COMPRESSED_R11_EAC"/>
+ <enum name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+ <enum name="GL_COMPRESSED_RG11_EAC"/>
+ <enum name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
+ <enum name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+ <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+ <enum name="GL_MAX_ELEMENT_INDEX"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_arrays_of_arrays" supported="gl|glcore"/>
+ <extension name="GL_ARB_base_instance" supported="gl|glcore">
+ <require>
+ <command name="glDrawArraysInstancedBaseInstance"/>
+ <command name="glDrawElementsInstancedBaseInstance"/>
+ <command name="glDrawElementsInstancedBaseVertexBaseInstance"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_bindless_texture" supported="gl|glcore">
+ <require>
+ <enum name="GL_UNSIGNED_INT64_ARB"/>
+ <command name="glGetTextureHandleARB"/>
+ <command name="glGetTextureSamplerHandleARB"/>
+ <command name="glMakeTextureHandleResidentARB"/>
+ <command name="glMakeTextureHandleNonResidentARB"/>
+ <command name="glGetImageHandleARB"/>
+ <command name="glMakeImageHandleResidentARB"/>
+ <command name="glMakeImageHandleNonResidentARB"/>
+ <command name="glUniformHandleui64ARB"/>
+ <command name="glUniformHandleui64vARB"/>
+ <command name="glProgramUniformHandleui64ARB"/>
+ <command name="glProgramUniformHandleui64vARB"/>
+ <command name="glIsTextureHandleResidentARB"/>
+ <command name="glIsImageHandleResidentARB"/>
+ <command name="glVertexAttribL1ui64ARB"/>
+ <command name="glVertexAttribL1ui64vARB"/>
+ <command name="glGetVertexAttribLui64vARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_blend_func_extended" supported="gl|glcore">
+ <require>
+ <enum name="GL_SRC1_COLOR"/>
+ <enum name="GL_SRC1_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC1_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC1_ALPHA"/>
+ <enum name="GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"/>
+ <command name="glBindFragDataLocationIndexed"/>
+ <command name="glGetFragDataIndex"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_buffer_storage" supported="gl|glcore">
+ <require>
+ <enum name="GL_MAP_READ_BIT"/>
+ <enum name="GL_MAP_WRITE_BIT"/>
+ <enum name="GL_MAP_PERSISTENT_BIT"/>
+ <enum name="GL_MAP_COHERENT_BIT"/>
+ <enum name="GL_DYNAMIC_STORAGE_BIT"/>
+ <enum name="GL_CLIENT_STORAGE_BIT"/>
+ <enum name="GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_BUFFER_IMMUTABLE_STORAGE"/>
+ <enum name="GL_BUFFER_STORAGE_FLAGS"/>
+ <command name="glBufferStorage"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_cl_event" supported="gl|glcore">
+ <require>
+ <enum name="GL_SYNC_CL_EVENT_ARB"/>
+ <enum name="GL_SYNC_CL_EVENT_COMPLETE_ARB"/>
+ <command name="glCreateSyncFromCLeventARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_clear_buffer_object" supported="gl|glcore">
+ <require>
+ <command name="glClearBufferData"/>
+ <command name="glClearBufferSubData"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_clear_texture" supported="gl|glcore">
+ <require>
+ <enum name="GL_CLEAR_TEXTURE"/>
+ <command name="glClearTexImage"/>
+ <command name="glClearTexSubImage"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_color_buffer_float" supported="gl">
+ <require>
+ <enum name="GL_RGBA_FLOAT_MODE_ARB"/>
+ <enum name="GL_CLAMP_VERTEX_COLOR_ARB"/>
+ <enum name="GL_CLAMP_FRAGMENT_COLOR_ARB"/>
+ <enum name="GL_CLAMP_READ_COLOR_ARB"/>
+ <enum name="GL_FIXED_ONLY_ARB"/>
+ <command name="glClampColorARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_compatibility" supported="gl">
+ <require comment="Defines features from OpenGL 3.0 that were removed in OpenGL 3.1 - not enumerated here yet">
+ </require>
+ </extension>
+ <extension name="GL_ARB_compressed_texture_pixel_storage" supported="gl|glcore">
+ <require>
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_DEPTH"/>
+ <enum name="GL_UNPACK_COMPRESSED_BLOCK_SIZE"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_WIDTH"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_DEPTH"/>
+ <enum name="GL_PACK_COMPRESSED_BLOCK_SIZE"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_compute_shader" supported="gl|glcore">
+ <require>
+ <enum name="GL_COMPUTE_SHADER"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+ <enum name="GL_COMPUTE_SHADER_BIT"/>
+ <command name="glDispatchCompute"/>
+ <command name="glDispatchComputeIndirect"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_compute_variable_group_size" supported="gl|glcore">
+ <require>
+ <enum name="GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"/>
+ <enum name="GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB"/>
+ <enum name="GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"/>
+ <enum name="GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB"/>
+ <command name="glDispatchComputeGroupSizeARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_conservative_depth" supported="gl|glcore"/>
+ <extension name="GL_ARB_copy_buffer" supported="gl|glcore">
+ <require>
+ <enum name="GL_COPY_READ_BUFFER_BINDING"/>
+ <enum name="GL_COPY_READ_BUFFER"/>
+ <enum name="GL_COPY_WRITE_BUFFER_BINDING"/>
+ <enum name="GL_COPY_WRITE_BUFFER"/>
+ <command name="glCopyBufferSubData"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_copy_image" supported="gl|glcore">
+ <require>
+ <command name="glCopyImageSubData"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_debug_output" supported="gl|glcore">
+ <require>
+ <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB"/>
+ <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB"/>
+ <enum name="GL_DEBUG_CALLBACK_FUNCTION_ARB"/>
+ <enum name="GL_DEBUG_CALLBACK_USER_PARAM_ARB"/>
+ <enum name="GL_DEBUG_SOURCE_API_ARB"/>
+ <enum name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB"/>
+ <enum name="GL_DEBUG_SOURCE_SHADER_COMPILER_ARB"/>
+ <enum name="GL_DEBUG_SOURCE_THIRD_PARTY_ARB"/>
+ <enum name="GL_DEBUG_SOURCE_APPLICATION_ARB"/>
+ <enum name="GL_DEBUG_SOURCE_OTHER_ARB"/>
+ <enum name="GL_DEBUG_TYPE_ERROR_ARB"/>
+ <enum name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB"/>
+ <enum name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB"/>
+ <enum name="GL_DEBUG_TYPE_PORTABILITY_ARB"/>
+ <enum name="GL_DEBUG_TYPE_PERFORMANCE_ARB"/>
+ <enum name="GL_DEBUG_TYPE_OTHER_ARB"/>
+ <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"/>
+ <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES_ARB"/>
+ <enum name="GL_DEBUG_LOGGED_MESSAGES_ARB"/>
+ <enum name="GL_DEBUG_SEVERITY_HIGH_ARB"/>
+ <enum name="GL_DEBUG_SEVERITY_MEDIUM_ARB"/>
+ <enum name="GL_DEBUG_SEVERITY_LOW_ARB"/>
+ <command name="glDebugMessageControlARB"/>
+ <command name="glDebugMessageInsertARB"/>
+ <command name="glDebugMessageCallbackARB"/>
+ <command name="glGetDebugMessageLogARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_depth_buffer_float" supported="gl|glcore">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT32F"/>
+ <enum name="GL_DEPTH32F_STENCIL8"/>
+ <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_depth_clamp" supported="gl|glcore">
+ <require>
+ <enum name="GL_DEPTH_CLAMP"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_depth_texture" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT16_ARB"/>
+ <enum name="GL_DEPTH_COMPONENT24_ARB"/>
+ <enum name="GL_DEPTH_COMPONENT32_ARB"/>
+ <enum name="GL_TEXTURE_DEPTH_SIZE_ARB"/>
+ <enum name="GL_DEPTH_TEXTURE_MODE_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_draw_buffers" supported="gl">
+ <require>
+ <enum name="GL_MAX_DRAW_BUFFERS_ARB"/>
+ <enum name="GL_DRAW_BUFFER0_ARB"/>
+ <enum name="GL_DRAW_BUFFER1_ARB"/>
+ <enum name="GL_DRAW_BUFFER2_ARB"/>
+ <enum name="GL_DRAW_BUFFER3_ARB"/>
+ <enum name="GL_DRAW_BUFFER4_ARB"/>
+ <enum name="GL_DRAW_BUFFER5_ARB"/>
+ <enum name="GL_DRAW_BUFFER6_ARB"/>
+ <enum name="GL_DRAW_BUFFER7_ARB"/>
+ <enum name="GL_DRAW_BUFFER8_ARB"/>
+ <enum name="GL_DRAW_BUFFER9_ARB"/>
+ <enum name="GL_DRAW_BUFFER10_ARB"/>
+ <enum name="GL_DRAW_BUFFER11_ARB"/>
+ <enum name="GL_DRAW_BUFFER12_ARB"/>
+ <enum name="GL_DRAW_BUFFER13_ARB"/>
+ <enum name="GL_DRAW_BUFFER14_ARB"/>
+ <enum name="GL_DRAW_BUFFER15_ARB"/>
+ <command name="glDrawBuffersARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_draw_buffers_blend" supported="gl|glcore">
+ <require>
+ <command name="glBlendEquationiARB"/>
+ <command name="glBlendEquationSeparateiARB"/>
+ <command name="glBlendFunciARB"/>
+ <command name="glBlendFuncSeparateiARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_draw_elements_base_vertex" supported="gl|glcore">
+ <require>
+ <command name="glDrawElementsBaseVertex"/>
+ <command name="glDrawRangeElementsBaseVertex"/>
+ <command name="glDrawElementsInstancedBaseVertex"/>
+ <command name="glMultiDrawElementsBaseVertex"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_draw_indirect" supported="gl|glcore">
+ <require>
+ <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+ <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+ <command name="glDrawArraysIndirect"/>
+ <command name="glDrawElementsIndirect"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_draw_instanced" supported="gl">
+ <require>
+ <command name="glDrawArraysInstancedARB"/>
+ <command name="glDrawElementsInstancedARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_enhanced_layouts" supported="gl|glcore">
+ <require>
+ <enum name="GL_LOCATION_COMPONENT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_explicit_attrib_location" supported="gl|glcore"/>
+ <extension name="GL_ARB_explicit_uniform_location" supported="gl|glcore">
+ <require>
+ <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_fragment_coord_conventions" supported="gl|glcore"/>
+ <extension name="GL_ARB_fragment_layer_viewport" supported="gl|glcore"/>
+ <extension name="GL_ARB_fragment_program" supported="gl">
+ <require>
+ <enum name="GL_FRAGMENT_PROGRAM_ARB"/>
+ <enum name="GL_PROGRAM_FORMAT_ASCII_ARB"/>
+ <enum name="GL_PROGRAM_LENGTH_ARB"/>
+ <enum name="GL_PROGRAM_FORMAT_ARB"/>
+ <enum name="GL_PROGRAM_BINDING_ARB"/>
+ <enum name="GL_PROGRAM_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_TEMPORARIES_ARB"/>
+ <enum name="GL_MAX_PROGRAM_TEMPORARIES_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+ <enum name="GL_PROGRAM_PARAMETERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_PARAMETERS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+ <enum name="GL_PROGRAM_ATTRIBS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_ATTRIBS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"/>
+ <enum name="GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"/>
+ <enum name="GL_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_TEX_INDIRECTIONS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
+ <enum name="GL_PROGRAM_STRING_ARB"/>
+ <enum name="GL_PROGRAM_ERROR_POSITION_ARB"/>
+ <enum name="GL_CURRENT_MATRIX_ARB"/>
+ <enum name="GL_TRANSPOSE_CURRENT_MATRIX_ARB"/>
+ <enum name="GL_CURRENT_MATRIX_STACK_DEPTH_ARB"/>
+ <enum name="GL_MAX_PROGRAM_MATRICES_ARB"/>
+ <enum name="GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"/>
+ <enum name="GL_MAX_TEXTURE_COORDS_ARB"/>
+ <enum name="GL_MAX_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum name="GL_PROGRAM_ERROR_STRING_ARB"/>
+ <enum name="GL_MATRIX0_ARB"/>
+ <enum name="GL_MATRIX1_ARB"/>
+ <enum name="GL_MATRIX2_ARB"/>
+ <enum name="GL_MATRIX3_ARB"/>
+ <enum name="GL_MATRIX4_ARB"/>
+ <enum name="GL_MATRIX5_ARB"/>
+ <enum name="GL_MATRIX6_ARB"/>
+ <enum name="GL_MATRIX7_ARB"/>
+ <enum name="GL_MATRIX8_ARB"/>
+ <enum name="GL_MATRIX9_ARB"/>
+ <enum name="GL_MATRIX10_ARB"/>
+ <enum name="GL_MATRIX11_ARB"/>
+ <enum name="GL_MATRIX12_ARB"/>
+ <enum name="GL_MATRIX13_ARB"/>
+ <enum name="GL_MATRIX14_ARB"/>
+ <enum name="GL_MATRIX15_ARB"/>
+ <enum name="GL_MATRIX16_ARB"/>
+ <enum name="GL_MATRIX17_ARB"/>
+ <enum name="GL_MATRIX18_ARB"/>
+ <enum name="GL_MATRIX19_ARB"/>
+ <enum name="GL_MATRIX20_ARB"/>
+ <enum name="GL_MATRIX21_ARB"/>
+ <enum name="GL_MATRIX22_ARB"/>
+ <enum name="GL_MATRIX23_ARB"/>
+ <enum name="GL_MATRIX24_ARB"/>
+ <enum name="GL_MATRIX25_ARB"/>
+ <enum name="GL_MATRIX26_ARB"/>
+ <enum name="GL_MATRIX27_ARB"/>
+ <enum name="GL_MATRIX28_ARB"/>
+ <enum name="GL_MATRIX29_ARB"/>
+ <enum name="GL_MATRIX30_ARB"/>
+ <enum name="GL_MATRIX31_ARB"/>
+ </require>
+ <require comment="Shared with ARB_vertex_program">
+ <command name="glProgramStringARB"/>
+ <command name="glBindProgramARB"/>
+ <command name="glDeleteProgramsARB"/>
+ <command name="glGenProgramsARB"/>
+ <command name="glProgramEnvParameter4dARB"/>
+ <command name="glProgramEnvParameter4dvARB"/>
+ <command name="glProgramEnvParameter4fARB"/>
+ <command name="glProgramEnvParameter4fvARB"/>
+ <command name="glProgramLocalParameter4dARB"/>
+ <command name="glProgramLocalParameter4dvARB"/>
+ <command name="glProgramLocalParameter4fARB"/>
+ <command name="glProgramLocalParameter4fvARB"/>
+ <command name="glGetProgramEnvParameterdvARB"/>
+ <command name="glGetProgramEnvParameterfvARB"/>
+ <command name="glGetProgramLocalParameterdvARB"/>
+ <command name="glGetProgramLocalParameterfvARB"/>
+ <command name="glGetProgramivARB"/>
+ <command name="glGetProgramStringARB"/>
+ <command name="glIsProgramARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_fragment_program_shadow" supported="gl"/>
+ <extension name="GL_ARB_fragment_shader" supported="gl">
+ <require>
+ <enum name="GL_FRAGMENT_SHADER_ARB"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB"/>
+ <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_framebuffer_no_attachments" supported="gl|glcore">
+ <require>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_MAX_FRAMEBUFFER_WIDTH"/>
+ <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+ <enum name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+ <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+ <command name="glFramebufferParameteri"/>
+ <command name="glGetFramebufferParameteriv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_framebuffer_object" supported="gl|glcore">
+ <require>
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT"/>
+ <enum name="GL_FRAMEBUFFER_UNDEFINED"/>
+ <enum name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+ <enum name="GL_MAX_RENDERBUFFER_SIZE"/>
+ <enum name="GL_DEPTH_STENCIL"/>
+ <enum name="GL_UNSIGNED_INT_24_8"/>
+ <enum name="GL_DEPTH24_STENCIL8"/>
+ <enum name="GL_TEXTURE_STENCIL_SIZE"/>
+ <enum name="GL_TEXTURE_RED_TYPE"/>
+ <enum name="GL_TEXTURE_GREEN_TYPE"/>
+ <enum name="GL_TEXTURE_BLUE_TYPE"/>
+ <enum name="GL_TEXTURE_ALPHA_TYPE"/>
+ <enum name="GL_TEXTURE_DEPTH_TYPE"/>
+ <enum name="GL_UNSIGNED_NORMALIZED"/>
+ <enum name="GL_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_RENDERBUFFER_BINDING"/>
+ <enum name="GL_READ_FRAMEBUFFER"/>
+ <enum name="GL_DRAW_FRAMEBUFFER"/>
+ <enum name="GL_READ_FRAMEBUFFER_BINDING"/>
+ <enum name="GL_RENDERBUFFER_SAMPLES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+ <enum name="GL_FRAMEBUFFER_COMPLETE"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"/>
+ <enum name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+ <enum name="GL_MAX_COLOR_ATTACHMENTS"/>
+ <enum name="GL_COLOR_ATTACHMENT0"/>
+ <enum name="GL_COLOR_ATTACHMENT1"/>
+ <enum name="GL_COLOR_ATTACHMENT2"/>
+ <enum name="GL_COLOR_ATTACHMENT3"/>
+ <enum name="GL_COLOR_ATTACHMENT4"/>
+ <enum name="GL_COLOR_ATTACHMENT5"/>
+ <enum name="GL_COLOR_ATTACHMENT6"/>
+ <enum name="GL_COLOR_ATTACHMENT7"/>
+ <enum name="GL_COLOR_ATTACHMENT8"/>
+ <enum name="GL_COLOR_ATTACHMENT9"/>
+ <enum name="GL_COLOR_ATTACHMENT10"/>
+ <enum name="GL_COLOR_ATTACHMENT11"/>
+ <enum name="GL_COLOR_ATTACHMENT12"/>
+ <enum name="GL_COLOR_ATTACHMENT13"/>
+ <enum name="GL_COLOR_ATTACHMENT14"/>
+ <enum name="GL_COLOR_ATTACHMENT15"/>
+ <enum name="GL_DEPTH_ATTACHMENT"/>
+ <enum name="GL_STENCIL_ATTACHMENT"/>
+ <enum name="GL_FRAMEBUFFER"/>
+ <enum name="GL_RENDERBUFFER"/>
+ <enum name="GL_RENDERBUFFER_WIDTH"/>
+ <enum name="GL_RENDERBUFFER_HEIGHT"/>
+ <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+ <enum name="GL_STENCIL_INDEX1"/>
+ <enum name="GL_STENCIL_INDEX4"/>
+ <enum name="GL_STENCIL_INDEX8"/>
+ <enum name="GL_STENCIL_INDEX16"/>
+ <enum name="GL_RENDERBUFFER_RED_SIZE"/>
+ <enum name="GL_RENDERBUFFER_GREEN_SIZE"/>
+ <enum name="GL_RENDERBUFFER_BLUE_SIZE"/>
+ <enum name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+ <enum name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+ <enum name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+ <enum name="GL_MAX_SAMPLES"/>
+ <command name="glIsRenderbuffer"/>
+ <command name="glBindRenderbuffer"/>
+ <command name="glDeleteRenderbuffers"/>
+ <command name="glGenRenderbuffers"/>
+ <command name="glRenderbufferStorage"/>
+ <command name="glGetRenderbufferParameteriv"/>
+ <command name="glIsFramebuffer"/>
+ <command name="glBindFramebuffer"/>
+ <command name="glDeleteFramebuffers"/>
+ <command name="glGenFramebuffers"/>
+ <command name="glCheckFramebufferStatus"/>
+ <command name="glFramebufferTexture1D"/>
+ <command name="glFramebufferTexture2D"/>
+ <command name="glFramebufferTexture3D"/>
+ <command name="glFramebufferRenderbuffer"/>
+ <command name="glGetFramebufferAttachmentParameteriv"/>
+ <command name="glGenerateMipmap"/>
+ <command name="glBlitFramebuffer"/>
+ <command name="glRenderbufferStorageMultisample"/>
+ <command name="glFramebufferTextureLayer"/>
+ </require>
+ <require api="gl" profile="compatibility">
+ <enum name="GL_INDEX"/>
+ <enum name="GL_TEXTURE_LUMINANCE_TYPE"/>
+ <enum name="GL_TEXTURE_INTENSITY_TYPE"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_framebuffer_sRGB" supported="gl|glcore">
+ <require>
+ <enum name="GL_FRAMEBUFFER_SRGB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_geometry_shader4" supported="gl">
+ <require>
+ <enum name="GL_LINES_ADJACENCY_ARB"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY_ARB"/>
+ <enum name="GL_TRIANGLES_ADJACENCY_ARB"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
+ <enum name="GL_PROGRAM_POINT_SIZE_ARB"/>
+ <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB"/>
+ <enum name="GL_GEOMETRY_SHADER_ARB"/>
+ <enum name="GL_GEOMETRY_VERTICES_OUT_ARB"/>
+ <enum name="GL_GEOMETRY_INPUT_TYPE_ARB"/>
+ <enum name="GL_GEOMETRY_OUTPUT_TYPE_ARB"/>
+ <enum name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB"/>
+ <enum name="GL_MAX_VERTEX_VARYING_COMPONENTS_ARB"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB"/>
+ <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB"/>
+ <enum name="GL_MAX_VARYING_COMPONENTS"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+ <command name="glProgramParameteriARB"/>
+ <command name="glFramebufferTextureARB"/>
+ <command name="glFramebufferTextureLayerARB"/>
+ <command name="glFramebufferTextureFaceARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_get_program_binary" supported="gl|glcore">
+ <require>
+ <enum name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+ <enum name="GL_PROGRAM_BINARY_LENGTH"/>
+ <enum name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+ <enum name="GL_PROGRAM_BINARY_FORMATS"/>
+ <command name="glGetProgramBinary"/>
+ <command name="glProgramBinary"/>
+ <command name="glProgramParameteri"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_gpu_shader5" supported="gl|glcore">
+ <require>
+ <enum name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+ <enum name="GL_MAX_VERTEX_STREAMS"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_gpu_shader_fp64" supported="gl|glcore">
+ <require>
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_DOUBLE_VEC2"/>
+ <enum name="GL_DOUBLE_VEC3"/>
+ <enum name="GL_DOUBLE_VEC4"/>
+ <enum name="GL_DOUBLE_MAT2"/>
+ <enum name="GL_DOUBLE_MAT3"/>
+ <enum name="GL_DOUBLE_MAT4"/>
+ <enum name="GL_DOUBLE_MAT2x3"/>
+ <enum name="GL_DOUBLE_MAT2x4"/>
+ <enum name="GL_DOUBLE_MAT3x2"/>
+ <enum name="GL_DOUBLE_MAT3x4"/>
+ <enum name="GL_DOUBLE_MAT4x2"/>
+ <enum name="GL_DOUBLE_MAT4x3"/>
+ <command name="glUniform1d"/>
+ <command name="glUniform2d"/>
+ <command name="glUniform3d"/>
+ <command name="glUniform4d"/>
+ <command name="glUniform1dv"/>
+ <command name="glUniform2dv"/>
+ <command name="glUniform3dv"/>
+ <command name="glUniform4dv"/>
+ <command name="glUniformMatrix2dv"/>
+ <command name="glUniformMatrix3dv"/>
+ <command name="glUniformMatrix4dv"/>
+ <command name="glUniformMatrix2x3dv"/>
+ <command name="glUniformMatrix2x4dv"/>
+ <command name="glUniformMatrix3x2dv"/>
+ <command name="glUniformMatrix3x4dv"/>
+ <command name="glUniformMatrix4x2dv"/>
+ <command name="glUniformMatrix4x3dv"/>
+ <command name="glGetUniformdv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_half_float_pixel" supported="gl">
+ <require>
+ <type name="GLhalfARB"/>
+ <enum name="GL_HALF_FLOAT_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_half_float_vertex" supported="gl|glcore">
+ <require>
+ <type name="GLhalf"/>
+ <enum name="GL_HALF_FLOAT"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_imaging" supported="gl|glcore" comment="Now treating ARB_imaging as an extension, not a GL API version">
+ <require>
+ <enum name="GL_CONSTANT_COLOR"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+ <enum name="GL_CONSTANT_ALPHA"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+ <enum name="GL_BLEND_COLOR"/>
+ <enum name="GL_FUNC_ADD"/>
+ <enum name="GL_MIN"/>
+ <enum name="GL_MAX"/>
+ <enum name="GL_BLEND_EQUATION"/>
+ <enum name="GL_FUNC_SUBTRACT"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+ <command name="glBlendColor"/>
+ <command name="glBlendEquation"/>
+ </require>
+ <require api="gl" profile="compatibility">
+ <enum name="GL_CONVOLUTION_1D"/>
+ <enum name="GL_CONVOLUTION_2D"/>
+ <enum name="GL_SEPARABLE_2D"/>
+ <enum name="GL_CONVOLUTION_BORDER_MODE"/>
+ <enum name="GL_CONVOLUTION_FILTER_SCALE"/>
+ <enum name="GL_CONVOLUTION_FILTER_BIAS"/>
+ <enum name="GL_REDUCE"/>
+ <enum name="GL_CONVOLUTION_FORMAT"/>
+ <enum name="GL_CONVOLUTION_WIDTH"/>
+ <enum name="GL_CONVOLUTION_HEIGHT"/>
+ <enum name="GL_MAX_CONVOLUTION_WIDTH"/>
+ <enum name="GL_MAX_CONVOLUTION_HEIGHT"/>
+ <enum name="GL_POST_CONVOLUTION_RED_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_SCALE"/>
+ <enum name="GL_POST_CONVOLUTION_RED_BIAS"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_BIAS"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_BIAS"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_BIAS"/>
+ <enum name="GL_HISTOGRAM"/>
+ <enum name="GL_PROXY_HISTOGRAM"/>
+ <enum name="GL_HISTOGRAM_WIDTH"/>
+ <enum name="GL_HISTOGRAM_FORMAT"/>
+ <enum name="GL_HISTOGRAM_RED_SIZE"/>
+ <enum name="GL_HISTOGRAM_GREEN_SIZE"/>
+ <enum name="GL_HISTOGRAM_BLUE_SIZE"/>
+ <enum name="GL_HISTOGRAM_ALPHA_SIZE"/>
+ <enum name="GL_HISTOGRAM_LUMINANCE_SIZE"/>
+ <enum name="GL_HISTOGRAM_SINK"/>
+ <enum name="GL_MINMAX"/>
+ <enum name="GL_MINMAX_FORMAT"/>
+ <enum name="GL_MINMAX_SINK"/>
+ <enum name="GL_TABLE_TOO_LARGE"/>
+ <enum name="GL_COLOR_MATRIX"/>
+ <enum name="GL_COLOR_MATRIX_STACK_DEPTH"/>
+ <enum name="GL_MAX_COLOR_MATRIX_STACK_DEPTH"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_SCALE"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_BIAS"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_BIAS"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_BIAS"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_BIAS"/>
+ <enum name="GL_COLOR_TABLE"/>
+ <enum name="GL_POST_CONVOLUTION_COLOR_TABLE"/>
+ <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE"/>
+ <enum name="GL_PROXY_COLOR_TABLE"/>
+ <enum name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE"/>
+ <enum name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE"/>
+ <enum name="GL_COLOR_TABLE_SCALE"/>
+ <enum name="GL_COLOR_TABLE_BIAS"/>
+ <enum name="GL_COLOR_TABLE_FORMAT"/>
+ <enum name="GL_COLOR_TABLE_WIDTH"/>
+ <enum name="GL_COLOR_TABLE_RED_SIZE"/>
+ <enum name="GL_COLOR_TABLE_GREEN_SIZE"/>
+ <enum name="GL_COLOR_TABLE_BLUE_SIZE"/>
+ <enum name="GL_COLOR_TABLE_ALPHA_SIZE"/>
+ <enum name="GL_COLOR_TABLE_LUMINANCE_SIZE"/>
+ <enum name="GL_COLOR_TABLE_INTENSITY_SIZE"/>
+ <enum name="GL_CONSTANT_BORDER"/>
+ <enum name="GL_REPLICATE_BORDER"/>
+ <enum name="GL_CONVOLUTION_BORDER_COLOR"/>
+ <command name="glColorTable"/>
+ <command name="glColorTableParameterfv"/>
+ <command name="glColorTableParameteriv"/>
+ <command name="glCopyColorTable"/>
+ <command name="glGetColorTable"/>
+ <command name="glGetColorTableParameterfv"/>
+ <command name="glGetColorTableParameteriv"/>
+ <command name="glColorSubTable"/>
+ <command name="glCopyColorSubTable"/>
+ <command name="glConvolutionFilter1D"/>
+ <command name="glConvolutionFilter2D"/>
+ <command name="glConvolutionParameterf"/>
+ <command name="glConvolutionParameterfv"/>
+ <command name="glConvolutionParameteri"/>
+ <command name="glConvolutionParameteriv"/>
+ <command name="glCopyConvolutionFilter1D"/>
+ <command name="glCopyConvolutionFilter2D"/>
+ <command name="glGetConvolutionFilter"/>
+ <command name="glGetConvolutionParameterfv"/>
+ <command name="glGetConvolutionParameteriv"/>
+ <command name="glGetSeparableFilter"/>
+ <command name="glSeparableFilter2D"/>
+ <command name="glGetHistogram"/>
+ <command name="glGetHistogramParameterfv"/>
+ <command name="glGetHistogramParameteriv"/>
+ <command name="glGetMinmax"/>
+ <command name="glGetMinmaxParameterfv"/>
+ <command name="glGetMinmaxParameteriv"/>
+ <command name="glHistogram"/>
+ <command name="glMinmax"/>
+ <command name="glResetHistogram"/>
+ <command name="glResetMinmax"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_indirect_parameters" supported="gl|glcore">
+ <require>
+ <enum name="GL_PARAMETER_BUFFER_ARB"/>
+ <enum name="GL_PARAMETER_BUFFER_BINDING_ARB"/>
+ <command name="glMultiDrawArraysIndirectCountARB"/>
+ <command name="glMultiDrawElementsIndirectCountARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_instanced_arrays" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB"/>
+ <command name="glVertexAttribDivisorARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_internalformat_query" supported="gl|glcore">
+ <require>
+ <enum name="GL_NUM_SAMPLE_COUNTS"/>
+ <command name="glGetInternalformativ"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_internalformat_query2" supported="gl|glcore">
+ <require>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+ <enum name="GL_NUM_SAMPLE_COUNTS"/>
+ <enum name="GL_RENDERBUFFER"/>
+ <enum name="GL_SAMPLES"/>
+ <enum name="GL_TEXTURE_1D"/>
+ <enum name="GL_TEXTURE_1D_ARRAY"/>
+ <enum name="GL_TEXTURE_2D"/>
+ <enum name="GL_TEXTURE_2D_ARRAY"/>
+ <enum name="GL_TEXTURE_3D"/>
+ <enum name="GL_TEXTURE_CUBE_MAP"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_TEXTURE_RECTANGLE"/>
+ <enum name="GL_TEXTURE_BUFFER"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_TEXTURE_COMPRESSED"/>
+ <enum name="GL_INTERNALFORMAT_SUPPORTED"/>
+ <enum name="GL_INTERNALFORMAT_PREFERRED"/>
+ <enum name="GL_INTERNALFORMAT_RED_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_GREEN_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_BLUE_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_ALPHA_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_DEPTH_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_STENCIL_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_SHARED_SIZE"/>
+ <enum name="GL_INTERNALFORMAT_RED_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_GREEN_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_BLUE_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_ALPHA_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_DEPTH_TYPE"/>
+ <enum name="GL_INTERNALFORMAT_STENCIL_TYPE"/>
+ <enum name="GL_MAX_WIDTH"/>
+ <enum name="GL_MAX_HEIGHT"/>
+ <enum name="GL_MAX_DEPTH"/>
+ <enum name="GL_MAX_LAYERS"/>
+ <enum name="GL_MAX_COMBINED_DIMENSIONS"/>
+ <enum name="GL_COLOR_COMPONENTS"/>
+ <enum name="GL_DEPTH_COMPONENTS"/>
+ <enum name="GL_STENCIL_COMPONENTS"/>
+ <enum name="GL_COLOR_RENDERABLE"/>
+ <enum name="GL_DEPTH_RENDERABLE"/>
+ <enum name="GL_STENCIL_RENDERABLE"/>
+ <enum name="GL_FRAMEBUFFER_RENDERABLE"/>
+ <enum name="GL_FRAMEBUFFER_RENDERABLE_LAYERED"/>
+ <enum name="GL_FRAMEBUFFER_BLEND"/>
+ <enum name="GL_READ_PIXELS"/>
+ <enum name="GL_READ_PIXELS_FORMAT"/>
+ <enum name="GL_READ_PIXELS_TYPE"/>
+ <enum name="GL_TEXTURE_IMAGE_FORMAT"/>
+ <enum name="GL_TEXTURE_IMAGE_TYPE"/>
+ <enum name="GL_GET_TEXTURE_IMAGE_FORMAT"/>
+ <enum name="GL_GET_TEXTURE_IMAGE_TYPE"/>
+ <enum name="GL_MIPMAP"/>
+ <enum name="GL_MANUAL_GENERATE_MIPMAP"/>
+ <enum name="GL_AUTO_GENERATE_MIPMAP"/>
+ <enum name="GL_COLOR_ENCODING"/>
+ <enum name="GL_SRGB_READ"/>
+ <enum name="GL_SRGB_WRITE"/>
+ <enum name="GL_SRGB_DECODE_ARB"/>
+ <enum name="GL_FILTER"/>
+ <enum name="GL_VERTEX_TEXTURE"/>
+ <enum name="GL_TESS_CONTROL_TEXTURE"/>
+ <enum name="GL_TESS_EVALUATION_TEXTURE"/>
+ <enum name="GL_GEOMETRY_TEXTURE"/>
+ <enum name="GL_FRAGMENT_TEXTURE"/>
+ <enum name="GL_COMPUTE_TEXTURE"/>
+ <enum name="GL_TEXTURE_SHADOW"/>
+ <enum name="GL_TEXTURE_GATHER"/>
+ <enum name="GL_TEXTURE_GATHER_SHADOW"/>
+ <enum name="GL_SHADER_IMAGE_LOAD"/>
+ <enum name="GL_SHADER_IMAGE_STORE"/>
+ <enum name="GL_SHADER_IMAGE_ATOMIC"/>
+ <enum name="GL_IMAGE_TEXEL_SIZE"/>
+ <enum name="GL_IMAGE_COMPATIBILITY_CLASS"/>
+ <enum name="GL_IMAGE_PIXEL_FORMAT"/>
+ <enum name="GL_IMAGE_PIXEL_TYPE"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE"/>
+ <enum name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE"/>
+ <enum name="GL_TEXTURE_COMPRESSED_BLOCK_WIDTH"/>
+ <enum name="GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT"/>
+ <enum name="GL_TEXTURE_COMPRESSED_BLOCK_SIZE"/>
+ <enum name="GL_CLEAR_BUFFER"/>
+ <enum name="GL_TEXTURE_VIEW"/>
+ <enum name="GL_VIEW_COMPATIBILITY_CLASS"/>
+ <enum name="GL_FULL_SUPPORT"/>
+ <enum name="GL_CAVEAT_SUPPORT"/>
+ <enum name="GL_IMAGE_CLASS_4_X_32"/>
+ <enum name="GL_IMAGE_CLASS_2_X_32"/>
+ <enum name="GL_IMAGE_CLASS_1_X_32"/>
+ <enum name="GL_IMAGE_CLASS_4_X_16"/>
+ <enum name="GL_IMAGE_CLASS_2_X_16"/>
+ <enum name="GL_IMAGE_CLASS_1_X_16"/>
+ <enum name="GL_IMAGE_CLASS_4_X_8"/>
+ <enum name="GL_IMAGE_CLASS_2_X_8"/>
+ <enum name="GL_IMAGE_CLASS_1_X_8"/>
+ <enum name="GL_IMAGE_CLASS_11_11_10"/>
+ <enum name="GL_IMAGE_CLASS_10_10_10_2"/>
+ <enum name="GL_VIEW_CLASS_128_BITS"/>
+ <enum name="GL_VIEW_CLASS_96_BITS"/>
+ <enum name="GL_VIEW_CLASS_64_BITS"/>
+ <enum name="GL_VIEW_CLASS_48_BITS"/>
+ <enum name="GL_VIEW_CLASS_32_BITS"/>
+ <enum name="GL_VIEW_CLASS_24_BITS"/>
+ <enum name="GL_VIEW_CLASS_16_BITS"/>
+ <enum name="GL_VIEW_CLASS_8_BITS"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGB"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT1_RGBA"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT3_RGBA"/>
+ <enum name="GL_VIEW_CLASS_S3TC_DXT5_RGBA"/>
+ <enum name="GL_VIEW_CLASS_RGTC1_RED"/>
+ <enum name="GL_VIEW_CLASS_RGTC2_RG"/>
+ <enum name="GL_VIEW_CLASS_BPTC_UNORM"/>
+ <enum name="GL_VIEW_CLASS_BPTC_FLOAT"/>
+ <command name="glGetInternalformati64v"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_invalidate_subdata" supported="gl|glcore">
+ <require>
+ <command name="glInvalidateTexSubImage"/>
+ <command name="glInvalidateTexImage"/>
+ <command name="glInvalidateBufferSubData"/>
+ <command name="glInvalidateBufferData"/>
+ <command name="glInvalidateFramebuffer"/>
+ <command name="glInvalidateSubFramebuffer"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_map_buffer_alignment" supported="gl|glcore">
+ <require>
+ <enum name="GL_MIN_MAP_BUFFER_ALIGNMENT"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_map_buffer_range" supported="gl|glcore">
+ <require>
+ <enum name="GL_MAP_READ_BIT"/>
+ <enum name="GL_MAP_WRITE_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+ <enum name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+ <enum name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+ <enum name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+ <command name="glMapBufferRange"/>
+ <command name="glFlushMappedBufferRange"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_matrix_palette" supported="gl">
+ <require>
+ <enum name="GL_MATRIX_PALETTE_ARB"/>
+ <enum name="GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB"/>
+ <enum name="GL_MAX_PALETTE_MATRICES_ARB"/>
+ <enum name="GL_CURRENT_PALETTE_MATRIX_ARB"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_ARB"/>
+ <enum name="GL_CURRENT_MATRIX_INDEX_ARB"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_SIZE_ARB"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_TYPE_ARB"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_STRIDE_ARB"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_POINTER_ARB"/>
+ <command name="glCurrentPaletteMatrixARB"/>
+ <command name="glMatrixIndexubvARB"/>
+ <command name="glMatrixIndexusvARB"/>
+ <command name="glMatrixIndexuivARB"/>
+ <command name="glMatrixIndexPointerARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_multi_bind" supported="gl|glcore">
+ <require>
+ <command name="glBindBuffersBase"/>
+ <command name="glBindBuffersRange"/>
+ <command name="glBindTextures"/>
+ <command name="glBindSamplers"/>
+ <command name="glBindImageTextures"/>
+ <command name="glBindVertexBuffers"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_multi_draw_indirect" supported="gl|glcore">
+ <require>
+ <command name="glMultiDrawArraysIndirect"/>
+ <command name="glMultiDrawElementsIndirect"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_multisample" supported="gl">
+ <require>
+ <enum name="GL_MULTISAMPLE_ARB"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_COVERAGE_ARB"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_ONE_ARB"/>
+ <enum name="GL_SAMPLE_COVERAGE_ARB"/>
+ <enum name="GL_SAMPLE_BUFFERS_ARB"/>
+ <enum name="GL_SAMPLES_ARB"/>
+ <enum name="GL_SAMPLE_COVERAGE_VALUE_ARB"/>
+ <enum name="GL_SAMPLE_COVERAGE_INVERT_ARB"/>
+ <enum name="GL_MULTISAMPLE_BIT_ARB"/>
+ <command name="glSampleCoverageARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_multitexture" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE0_ARB"/>
+ <enum name="GL_TEXTURE1_ARB"/>
+ <enum name="GL_TEXTURE2_ARB"/>
+ <enum name="GL_TEXTURE3_ARB"/>
+ <enum name="GL_TEXTURE4_ARB"/>
+ <enum name="GL_TEXTURE5_ARB"/>
+ <enum name="GL_TEXTURE6_ARB"/>
+ <enum name="GL_TEXTURE7_ARB"/>
+ <enum name="GL_TEXTURE8_ARB"/>
+ <enum name="GL_TEXTURE9_ARB"/>
+ <enum name="GL_TEXTURE10_ARB"/>
+ <enum name="GL_TEXTURE11_ARB"/>
+ <enum name="GL_TEXTURE12_ARB"/>
+ <enum name="GL_TEXTURE13_ARB"/>
+ <enum name="GL_TEXTURE14_ARB"/>
+ <enum name="GL_TEXTURE15_ARB"/>
+ <enum name="GL_TEXTURE16_ARB"/>
+ <enum name="GL_TEXTURE17_ARB"/>
+ <enum name="GL_TEXTURE18_ARB"/>
+ <enum name="GL_TEXTURE19_ARB"/>
+ <enum name="GL_TEXTURE20_ARB"/>
+ <enum name="GL_TEXTURE21_ARB"/>
+ <enum name="GL_TEXTURE22_ARB"/>
+ <enum name="GL_TEXTURE23_ARB"/>
+ <enum name="GL_TEXTURE24_ARB"/>
+ <enum name="GL_TEXTURE25_ARB"/>
+ <enum name="GL_TEXTURE26_ARB"/>
+ <enum name="GL_TEXTURE27_ARB"/>
+ <enum name="GL_TEXTURE28_ARB"/>
+ <enum name="GL_TEXTURE29_ARB"/>
+ <enum name="GL_TEXTURE30_ARB"/>
+ <enum name="GL_TEXTURE31_ARB"/>
+ <enum name="GL_ACTIVE_TEXTURE_ARB"/>
+ <enum name="GL_CLIENT_ACTIVE_TEXTURE_ARB"/>
+ <enum name="GL_MAX_TEXTURE_UNITS_ARB"/>
+ <command name="glActiveTextureARB"/>
+ <command name="glClientActiveTextureARB"/>
+ <command name="glMultiTexCoord1dARB"/>
+ <command name="glMultiTexCoord1dvARB"/>
+ <command name="glMultiTexCoord1fARB"/>
+ <command name="glMultiTexCoord1fvARB"/>
+ <command name="glMultiTexCoord1iARB"/>
+ <command name="glMultiTexCoord1ivARB"/>
+ <command name="glMultiTexCoord1sARB"/>
+ <command name="glMultiTexCoord1svARB"/>
+ <command name="glMultiTexCoord2dARB"/>
+ <command name="glMultiTexCoord2dvARB"/>
+ <command name="glMultiTexCoord2fARB"/>
+ <command name="glMultiTexCoord2fvARB"/>
+ <command name="glMultiTexCoord2iARB"/>
+ <command name="glMultiTexCoord2ivARB"/>
+ <command name="glMultiTexCoord2sARB"/>
+ <command name="glMultiTexCoord2svARB"/>
+ <command name="glMultiTexCoord3dARB"/>
+ <command name="glMultiTexCoord3dvARB"/>
+ <command name="glMultiTexCoord3fARB"/>
+ <command name="glMultiTexCoord3fvARB"/>
+ <command name="glMultiTexCoord3iARB"/>
+ <command name="glMultiTexCoord3ivARB"/>
+ <command name="glMultiTexCoord3sARB"/>
+ <command name="glMultiTexCoord3svARB"/>
+ <command name="glMultiTexCoord4dARB"/>
+ <command name="glMultiTexCoord4dvARB"/>
+ <command name="glMultiTexCoord4fARB"/>
+ <command name="glMultiTexCoord4fvARB"/>
+ <command name="glMultiTexCoord4iARB"/>
+ <command name="glMultiTexCoord4ivARB"/>
+ <command name="glMultiTexCoord4sARB"/>
+ <command name="glMultiTexCoord4svARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_occlusion_query" supported="gl">
+ <require>
+ <enum name="GL_QUERY_COUNTER_BITS_ARB"/>
+ <enum name="GL_CURRENT_QUERY_ARB"/>
+ <enum name="GL_QUERY_RESULT_ARB"/>
+ <enum name="GL_QUERY_RESULT_AVAILABLE_ARB"/>
+ <enum name="GL_SAMPLES_PASSED_ARB"/>
+ <command name="glGenQueriesARB"/>
+ <command name="glDeleteQueriesARB"/>
+ <command name="glIsQueryARB"/>
+ <command name="glBeginQueryARB"/>
+ <command name="glEndQueryARB"/>
+ <command name="glGetQueryivARB"/>
+ <command name="glGetQueryObjectivARB"/>
+ <command name="glGetQueryObjectuivARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_occlusion_query2" supported="gl|glcore">
+ <require>
+ <enum name="GL_ANY_SAMPLES_PASSED"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_pixel_buffer_object" supported="gl">
+ <require>
+ <enum name="GL_PIXEL_PACK_BUFFER_ARB"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER_ARB"/>
+ <enum name="GL_PIXEL_PACK_BUFFER_BINDING_ARB"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_point_parameters" supported="gl">
+ <require>
+ <enum name="GL_POINT_SIZE_MIN_ARB"/>
+ <enum name="GL_POINT_SIZE_MAX_ARB"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE_ARB"/>
+ <enum name="GL_POINT_DISTANCE_ATTENUATION_ARB"/>
+ <command name="glPointParameterfARB"/>
+ <command name="glPointParameterfvARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_point_sprite" supported="gl">
+ <require>
+ <enum name="GL_POINT_SPRITE_ARB"/>
+ <enum name="GL_COORD_REPLACE_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_program_interface_query" supported="gl|glcore">
+ <require>
+ <enum name="GL_UNIFORM"/>
+ <enum name="GL_UNIFORM_BLOCK"/>
+ <enum name="GL_PROGRAM_INPUT"/>
+ <enum name="GL_PROGRAM_OUTPUT"/>
+ <enum name="GL_BUFFER_VARIABLE"/>
+ <enum name="GL_SHADER_STORAGE_BLOCK"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum name="GL_VERTEX_SUBROUTINE"/>
+ <enum name="GL_TESS_CONTROL_SUBROUTINE"/>
+ <enum name="GL_TESS_EVALUATION_SUBROUTINE"/>
+ <enum name="GL_GEOMETRY_SUBROUTINE"/>
+ <enum name="GL_FRAGMENT_SUBROUTINE"/>
+ <enum name="GL_COMPUTE_SUBROUTINE"/>
+ <enum name="GL_VERTEX_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_TESS_CONTROL_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_TESS_EVALUATION_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_GEOMETRY_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_FRAGMENT_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_COMPUTE_SUBROUTINE_UNIFORM"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+ <enum name="GL_ACTIVE_RESOURCES"/>
+ <enum name="GL_MAX_NAME_LENGTH"/>
+ <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_MAX_NUM_COMPATIBLE_SUBROUTINES"/>
+ <enum name="GL_NAME_LENGTH"/>
+ <enum name="GL_TYPE"/>
+ <enum name="GL_ARRAY_SIZE"/>
+ <enum name="GL_OFFSET"/>
+ <enum name="GL_BLOCK_INDEX"/>
+ <enum name="GL_ARRAY_STRIDE"/>
+ <enum name="GL_MATRIX_STRIDE"/>
+ <enum name="GL_IS_ROW_MAJOR"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum name="GL_BUFFER_BINDING"/>
+ <enum name="GL_BUFFER_DATA_SIZE"/>
+ <enum name="GL_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_ACTIVE_VARIABLES"/>
+ <enum name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+ <enum name="GL_LOCATION"/>
+ <enum name="GL_LOCATION_INDEX"/>
+ <enum name="GL_IS_PER_PATCH"/>
+ <enum name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
+ <enum name="GL_COMPATIBLE_SUBROUTINES"/>
+ <command name="glGetProgramInterfaceiv"/>
+ <command name="glGetProgramResourceIndex"/>
+ <command name="glGetProgramResourceName"/>
+ <command name="glGetProgramResourceiv"/>
+ <command name="glGetProgramResourceLocation"/>
+ <command name="glGetProgramResourceLocationIndex"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_provoking_vertex" supported="gl|glcore">
+ <require>
+ <enum name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"/>
+ <enum name="GL_FIRST_VERTEX_CONVENTION"/>
+ <enum name="GL_LAST_VERTEX_CONVENTION"/>
+ <enum name="GL_PROVOKING_VERTEX"/>
+ <command name="glProvokingVertex"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_query_buffer_object" supported="gl|glcore">
+ <require>
+ <enum name="GL_QUERY_BUFFER"/>
+ <enum name="GL_QUERY_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_QUERY_BUFFER_BINDING"/>
+ <enum name="GL_QUERY_RESULT_NO_WAIT"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_robust_buffer_access_behavior" supported="gl|glcore"/>
+ <extension name="GL_ARB_robustness" supported="gl|glcore">
+ <require>
+ <enum name="GL_NO_ERROR"/>
+ <enum name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"/>
+ <enum name="GL_LOSE_CONTEXT_ON_RESET_ARB"/>
+ <enum name="GL_GUILTY_CONTEXT_RESET_ARB"/>
+ <enum name="GL_INNOCENT_CONTEXT_RESET_ARB"/>
+ <enum name="GL_UNKNOWN_CONTEXT_RESET_ARB"/>
+ <enum name="GL_RESET_NOTIFICATION_STRATEGY_ARB"/>
+ <enum name="GL_NO_RESET_NOTIFICATION_ARB"/>
+ <command name="glGetGraphicsResetStatusARB"/>
+ <command name="glGetnTexImageARB"/>
+ <command name="glReadnPixelsARB"/>
+ <command name="glGetnCompressedTexImageARB"/>
+ <command name="glGetnUniformfvARB"/>
+ <command name="glGetnUniformivARB"/>
+ <command name="glGetnUniformuivARB"/>
+ <command name="glGetnUniformdvARB"/>
+ </require>
+ <require api="gl" profile="compatibility">
+ <command name="glGetnMapdvARB"/>
+ <command name="glGetnMapfvARB"/>
+ <command name="glGetnMapivARB"/>
+ <command name="glGetnPixelMapfvARB"/>
+ <command name="glGetnPixelMapuivARB"/>
+ <command name="glGetnPixelMapusvARB"/>
+ <command name="glGetnPolygonStippleARB"/>
+ <command name="glGetnColorTableARB"/>
+ <command name="glGetnConvolutionFilterARB"/>
+ <command name="glGetnSeparableFilterARB"/>
+ <command name="glGetnHistogramARB"/>
+ <command name="glGetnMinmaxARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_robustness_isolation" supported="gl|glcore"/>
+ <extension name="GL_ARB_sample_shading" supported="gl|glcore">
+ <require>
+ <enum name="GL_SAMPLE_SHADING_ARB"/>
+ <enum name="GL_MIN_SAMPLE_SHADING_VALUE_ARB"/>
+ <command name="glMinSampleShadingARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_sampler_objects" supported="gl|glcore">
+ <require>
+ <enum name="GL_SAMPLER_BINDING"/>
+ <command name="glGenSamplers"/>
+ <command name="glDeleteSamplers"/>
+ <command name="glIsSampler"/>
+ <command name="glBindSampler"/>
+ <command name="glSamplerParameteri"/>
+ <command name="glSamplerParameteriv"/>
+ <command name="glSamplerParameterf"/>
+ <command name="glSamplerParameterfv"/>
+ <command name="glSamplerParameterIiv"/>
+ <command name="glSamplerParameterIuiv"/>
+ <command name="glGetSamplerParameteriv"/>
+ <command name="glGetSamplerParameterIiv"/>
+ <command name="glGetSamplerParameterfv"/>
+ <command name="glGetSamplerParameterIuiv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_seamless_cube_map" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_seamless_cubemap_per_texture" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_separate_shader_objects" supported="gl|glcore">
+ <require>
+ <enum name="GL_VERTEX_SHADER_BIT"/>
+ <enum name="GL_FRAGMENT_SHADER_BIT"/>
+ <enum name="GL_GEOMETRY_SHADER_BIT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_BIT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
+ <enum name="GL_ALL_SHADER_BITS"/>
+ <enum name="GL_PROGRAM_SEPARABLE"/>
+ <enum name="GL_ACTIVE_PROGRAM"/>
+ <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
+ <command name="glUseProgramStages"/>
+ <command name="glActiveShaderProgram"/>
+ <command name="glCreateShaderProgramv"/>
+ <command name="glBindProgramPipeline"/>
+ <command name="glDeleteProgramPipelines"/>
+ <command name="glGenProgramPipelines"/>
+ <command name="glIsProgramPipeline"/>
+ <command name="glGetProgramPipelineiv"/>
+ <command name="glProgramUniform1i"/>
+ <command name="glProgramUniform1iv"/>
+ <command name="glProgramUniform1f"/>
+ <command name="glProgramUniform1fv"/>
+ <command name="glProgramUniform1d"/>
+ <command name="glProgramUniform1dv"/>
+ <command name="glProgramUniform1ui"/>
+ <command name="glProgramUniform1uiv"/>
+ <command name="glProgramUniform2i"/>
+ <command name="glProgramUniform2iv"/>
+ <command name="glProgramUniform2f"/>
+ <command name="glProgramUniform2fv"/>
+ <command name="glProgramUniform2d"/>
+ <command name="glProgramUniform2dv"/>
+ <command name="glProgramUniform2ui"/>
+ <command name="glProgramUniform2uiv"/>
+ <command name="glProgramUniform3i"/>
+ <command name="glProgramUniform3iv"/>
+ <command name="glProgramUniform3f"/>
+ <command name="glProgramUniform3fv"/>
+ <command name="glProgramUniform3d"/>
+ <command name="glProgramUniform3dv"/>
+ <command name="glProgramUniform3ui"/>
+ <command name="glProgramUniform3uiv"/>
+ <command name="glProgramUniform4i"/>
+ <command name="glProgramUniform4iv"/>
+ <command name="glProgramUniform4f"/>
+ <command name="glProgramUniform4fv"/>
+ <command name="glProgramUniform4d"/>
+ <command name="glProgramUniform4dv"/>
+ <command name="glProgramUniform4ui"/>
+ <command name="glProgramUniform4uiv"/>
+ <command name="glProgramUniformMatrix2fv"/>
+ <command name="glProgramUniformMatrix3fv"/>
+ <command name="glProgramUniformMatrix4fv"/>
+ <command name="glProgramUniformMatrix2dv"/>
+ <command name="glProgramUniformMatrix3dv"/>
+ <command name="glProgramUniformMatrix4dv"/>
+ <command name="glProgramUniformMatrix2x3fv"/>
+ <command name="glProgramUniformMatrix3x2fv"/>
+ <command name="glProgramUniformMatrix2x4fv"/>
+ <command name="glProgramUniformMatrix4x2fv"/>
+ <command name="glProgramUniformMatrix3x4fv"/>
+ <command name="glProgramUniformMatrix4x3fv"/>
+ <command name="glProgramUniformMatrix2x3dv"/>
+ <command name="glProgramUniformMatrix3x2dv"/>
+ <command name="glProgramUniformMatrix2x4dv"/>
+ <command name="glProgramUniformMatrix4x2dv"/>
+ <command name="glProgramUniformMatrix3x4dv"/>
+ <command name="glProgramUniformMatrix4x3dv"/>
+ <command name="glValidateProgramPipeline"/>
+ <command name="glGetProgramPipelineInfoLog"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shader_atomic_counters" supported="gl|glcore">
+ <require>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+ <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
+ <command name="glGetActiveAtomicCounterBufferiv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shader_bit_encoding" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_draw_parameters" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_group_vote" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_image_load_store" supported="gl|glcore">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_UNIFORM_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+ <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+ <enum name="GL_COMMAND_BARRIER_BIT"/>
+ <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+ <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+ <enum name="GL_ALL_BARRIER_BITS"/>
+ <enum name="GL_MAX_IMAGE_UNITS"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+ <enum name="GL_IMAGE_BINDING_NAME"/>
+ <enum name="GL_IMAGE_BINDING_LEVEL"/>
+ <enum name="GL_IMAGE_BINDING_LAYERED"/>
+ <enum name="GL_IMAGE_BINDING_LAYER"/>
+ <enum name="GL_IMAGE_BINDING_ACCESS"/>
+ <enum name="GL_IMAGE_1D"/>
+ <enum name="GL_IMAGE_2D"/>
+ <enum name="GL_IMAGE_3D"/>
+ <enum name="GL_IMAGE_2D_RECT"/>
+ <enum name="GL_IMAGE_CUBE"/>
+ <enum name="GL_IMAGE_BUFFER"/>
+ <enum name="GL_IMAGE_1D_ARRAY"/>
+ <enum name="GL_IMAGE_2D_ARRAY"/>
+ <enum name="GL_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_IMAGE_2D_MULTISAMPLE"/>
+ <enum name="GL_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_INT_IMAGE_1D"/>
+ <enum name="GL_INT_IMAGE_2D"/>
+ <enum name="GL_INT_IMAGE_3D"/>
+ <enum name="GL_INT_IMAGE_2D_RECT"/>
+ <enum name="GL_INT_IMAGE_CUBE"/>
+ <enum name="GL_INT_IMAGE_BUFFER"/>
+ <enum name="GL_INT_IMAGE_1D_ARRAY"/>
+ <enum name="GL_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_INT_IMAGE_2D_MULTISAMPLE"/>
+ <enum name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_1D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_3D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_RECT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_MAX_IMAGE_SAMPLES"/>
+ <enum name="GL_IMAGE_BINDING_FORMAT"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+ <enum name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+ <command name="glBindImageTexture"/>
+ <command name="glMemoryBarrier"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shader_image_size" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_objects" supported="gl">
+ <require>
+ <enum name="GL_PROGRAM_OBJECT_ARB"/>
+ <enum name="GL_SHADER_OBJECT_ARB"/>
+ <enum name="GL_OBJECT_TYPE_ARB"/>
+ <enum name="GL_OBJECT_SUBTYPE_ARB"/>
+ <enum name="GL_FLOAT_VEC2_ARB"/>
+ <enum name="GL_FLOAT_VEC3_ARB"/>
+ <enum name="GL_FLOAT_VEC4_ARB"/>
+ <enum name="GL_INT_VEC2_ARB"/>
+ <enum name="GL_INT_VEC3_ARB"/>
+ <enum name="GL_INT_VEC4_ARB"/>
+ <enum name="GL_BOOL_ARB"/>
+ <enum name="GL_BOOL_VEC2_ARB"/>
+ <enum name="GL_BOOL_VEC3_ARB"/>
+ <enum name="GL_BOOL_VEC4_ARB"/>
+ <enum name="GL_FLOAT_MAT2_ARB"/>
+ <enum name="GL_FLOAT_MAT3_ARB"/>
+ <enum name="GL_FLOAT_MAT4_ARB"/>
+ <enum name="GL_SAMPLER_1D_ARB"/>
+ <enum name="GL_SAMPLER_2D_ARB"/>
+ <enum name="GL_SAMPLER_3D_ARB"/>
+ <enum name="GL_SAMPLER_CUBE_ARB"/>
+ <enum name="GL_SAMPLER_1D_SHADOW_ARB"/>
+ <enum name="GL_SAMPLER_2D_SHADOW_ARB"/>
+ <enum name="GL_SAMPLER_2D_RECT_ARB"/>
+ <enum name="GL_SAMPLER_2D_RECT_SHADOW_ARB"/>
+ <enum name="GL_OBJECT_DELETE_STATUS_ARB"/>
+ <enum name="GL_OBJECT_COMPILE_STATUS_ARB"/>
+ <enum name="GL_OBJECT_LINK_STATUS_ARB"/>
+ <enum name="GL_OBJECT_VALIDATE_STATUS_ARB"/>
+ <enum name="GL_OBJECT_INFO_LOG_LENGTH_ARB"/>
+ <enum name="GL_OBJECT_ATTACHED_OBJECTS_ARB"/>
+ <enum name="GL_OBJECT_ACTIVE_UNIFORMS_ARB"/>
+ <enum name="GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB"/>
+ <enum name="GL_OBJECT_SHADER_SOURCE_LENGTH_ARB"/>
+ <command name="glDeleteObjectARB"/>
+ <command name="glGetHandleARB"/>
+ <command name="glDetachObjectARB"/>
+ <command name="glCreateShaderObjectARB"/>
+ <command name="glShaderSourceARB"/>
+ <command name="glCompileShaderARB"/>
+ <command name="glCreateProgramObjectARB"/>
+ <command name="glAttachObjectARB"/>
+ <command name="glLinkProgramARB"/>
+ <command name="glUseProgramObjectARB"/>
+ <command name="glValidateProgramARB"/>
+ <command name="glUniform1fARB"/>
+ <command name="glUniform2fARB"/>
+ <command name="glUniform3fARB"/>
+ <command name="glUniform4fARB"/>
+ <command name="glUniform1iARB"/>
+ <command name="glUniform2iARB"/>
+ <command name="glUniform3iARB"/>
+ <command name="glUniform4iARB"/>
+ <command name="glUniform1fvARB"/>
+ <command name="glUniform2fvARB"/>
+ <command name="glUniform3fvARB"/>
+ <command name="glUniform4fvARB"/>
+ <command name="glUniform1ivARB"/>
+ <command name="glUniform2ivARB"/>
+ <command name="glUniform3ivARB"/>
+ <command name="glUniform4ivARB"/>
+ <command name="glUniformMatrix2fvARB"/>
+ <command name="glUniformMatrix3fvARB"/>
+ <command name="glUniformMatrix4fvARB"/>
+ <command name="glGetObjectParameterfvARB"/>
+ <command name="glGetObjectParameterivARB"/>
+ <command name="glGetInfoLogARB"/>
+ <command name="glGetAttachedObjectsARB"/>
+ <command name="glGetUniformLocationARB"/>
+ <command name="glGetActiveUniformARB"/>
+ <command name="glGetUniformfvARB"/>
+ <command name="glGetUniformivARB"/>
+ <command name="glGetShaderSourceARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shader_precision" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_stencil_export" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_storage_buffer_object" supported="gl|glcore">
+ <require>
+ <enum name="GL_SHADER_STORAGE_BUFFER"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+ <enum name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS"/>
+ <command name="glShaderStorageBlockBinding"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shader_subroutine" supported="gl|glcore">
+ <require>
+ <enum name="GL_ACTIVE_SUBROUTINES"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_UNIFORMS"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_MAX_LENGTH"/>
+ <enum name="GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"/>
+ <enum name="GL_MAX_SUBROUTINES"/>
+ <enum name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
+ <enum name="GL_NUM_COMPATIBLE_SUBROUTINES"/>
+ <enum name="GL_COMPATIBLE_SUBROUTINES"/>
+ <enum name="GL_UNIFORM_SIZE"/>
+ <enum name="GL_UNIFORM_NAME_LENGTH"/>
+ <command name="glGetSubroutineUniformLocation"/>
+ <command name="glGetSubroutineIndex"/>
+ <command name="glGetActiveSubroutineUniformiv"/>
+ <command name="glGetActiveSubroutineUniformName"/>
+ <command name="glGetActiveSubroutineName"/>
+ <command name="glUniformSubroutinesuiv"/>
+ <command name="glGetUniformSubroutineuiv"/>
+ <command name="glGetProgramStageiv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shader_texture_lod" supported="gl"/>
+ <extension name="GL_ARB_shading_language_100" supported="gl">
+ <require>
+ <enum name="GL_SHADING_LANGUAGE_VERSION_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shading_language_420pack" supported="gl|glcore"/>
+ <extension name="GL_ARB_shading_language_include" supported="gl|glcore">
+ <require>
+ <enum name="GL_SHADER_INCLUDE_ARB"/>
+ <enum name="GL_NAMED_STRING_LENGTH_ARB"/>
+ <enum name="GL_NAMED_STRING_TYPE_ARB"/>
+ <command name="glNamedStringARB"/>
+ <command name="glDeleteNamedStringARB"/>
+ <command name="glCompileShaderIncludeARB"/>
+ <command name="glIsNamedStringARB"/>
+ <command name="glGetNamedStringARB"/>
+ <command name="glGetNamedStringivARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shading_language_packing" supported="gl|glcore"/>
+ <extension name="GL_ARB_shadow" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_COMPARE_MODE_ARB"/>
+ <enum name="GL_TEXTURE_COMPARE_FUNC_ARB"/>
+ <enum name="GL_COMPARE_R_TO_TEXTURE_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_shadow_ambient" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_COMPARE_FAIL_VALUE_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_sparse_texture" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_SPARSE_ARB"/>
+ <enum name="GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"/>
+ <enum name="GL_MIN_SPARSE_LEVEL_ARB"/>
+ <enum name="GL_NUM_VIRTUAL_PAGE_SIZES_ARB"/>
+ <enum name="GL_VIRTUAL_PAGE_SIZE_X_ARB"/>
+ <enum name="GL_VIRTUAL_PAGE_SIZE_Y_ARB"/>
+ <enum name="GL_VIRTUAL_PAGE_SIZE_Z_ARB"/>
+ <enum name="GL_MAX_SPARSE_TEXTURE_SIZE_ARB"/>
+ <enum name="GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB"/>
+ <enum name="GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB"/>
+ <enum name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"/>
+ <command name="glTexPageCommitmentARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_stencil_texturing" supported="gl|glcore">
+ <require>
+ <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_sync" supported="gl|glcore">
+ <require>
+ <enum name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+ <enum name="GL_OBJECT_TYPE"/>
+ <enum name="GL_SYNC_CONDITION"/>
+ <enum name="GL_SYNC_STATUS"/>
+ <enum name="GL_SYNC_FLAGS"/>
+ <enum name="GL_SYNC_FENCE"/>
+ <enum name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+ <enum name="GL_UNSIGNALED"/>
+ <enum name="GL_SIGNALED"/>
+ <enum name="GL_ALREADY_SIGNALED"/>
+ <enum name="GL_TIMEOUT_EXPIRED"/>
+ <enum name="GL_CONDITION_SATISFIED"/>
+ <enum name="GL_WAIT_FAILED"/>
+ <enum name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+ <enum name="GL_TIMEOUT_IGNORED"/>
+ <command name="glFenceSync"/>
+ <command name="glIsSync"/>
+ <command name="glDeleteSync"/>
+ <command name="glClientWaitSync"/>
+ <command name="glWaitSync"/>
+ <command name="glGetInteger64v"/>
+ <command name="glGetSynciv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_tessellation_shader" supported="gl|glcore">
+ <require>
+ <enum name="GL_PATCHES"/>
+ <enum name="GL_PATCH_VERTICES"/>
+ <enum name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
+ <enum name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
+ <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+ <enum name="GL_TESS_GEN_MODE"/>
+ <enum name="GL_TESS_GEN_SPACING"/>
+ <enum name="GL_TESS_GEN_VERTEX_ORDER"/>
+ <enum name="GL_TESS_GEN_POINT_MODE"/>
+ <enum name="GL_TRIANGLES"/>
+ <enum name="GL_ISOLINES"/>
+ <enum name="GL_QUADS"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_FRACTIONAL_ODD"/>
+ <enum name="GL_FRACTIONAL_EVEN"/>
+ <enum name="GL_CCW"/>
+ <enum name="GL_CW"/>
+ <enum name="GL_MAX_PATCH_VERTICES"/>
+ <enum name="GL_MAX_TESS_GEN_LEVEL"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+ <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_TESS_EVALUATION_SHADER"/>
+ <enum name="GL_TESS_CONTROL_SHADER"/>
+ <command name="glPatchParameteri"/>
+ <command name="glPatchParameterfv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_border_clamp" supported="gl">
+ <require>
+ <enum name="GL_CLAMP_TO_BORDER_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_buffer_object" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_BUFFER_ARB"/>
+ <enum name="GL_MAX_TEXTURE_BUFFER_SIZE_ARB"/>
+ <enum name="GL_TEXTURE_BINDING_BUFFER_ARB"/>
+ <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB"/>
+ <enum name="GL_TEXTURE_BUFFER_FORMAT_ARB"/>
+ <command name="glTexBufferARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_buffer_object_rgb32" supported="gl|glcore">
+ <require>
+ <enum name="GL_RGB32F"/>
+ <enum name="GL_RGB32UI"/>
+ <enum name="GL_RGB32I"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_buffer_range" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_BUFFER_OFFSET"/>
+ <enum name="GL_TEXTURE_BUFFER_SIZE"/>
+ <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
+ <command name="glTexBufferRange"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_compression" supported="gl">
+ <require>
+ <enum name="GL_COMPRESSED_ALPHA_ARB"/>
+ <enum name="GL_COMPRESSED_LUMINANCE_ARB"/>
+ <enum name="GL_COMPRESSED_LUMINANCE_ALPHA_ARB"/>
+ <enum name="GL_COMPRESSED_INTENSITY_ARB"/>
+ <enum name="GL_COMPRESSED_RGB_ARB"/>
+ <enum name="GL_COMPRESSED_RGBA_ARB"/>
+ <enum name="GL_TEXTURE_COMPRESSION_HINT_ARB"/>
+ <enum name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB"/>
+ <enum name="GL_TEXTURE_COMPRESSED_ARB"/>
+ <enum name="GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB"/>
+ <enum name="GL_COMPRESSED_TEXTURE_FORMATS_ARB"/>
+ <command name="glCompressedTexImage3DARB"/>
+ <command name="glCompressedTexImage2DARB"/>
+ <command name="glCompressedTexImage1DARB"/>
+ <command name="glCompressedTexSubImage3DARB"/>
+ <command name="glCompressedTexSubImage2DARB"/>
+ <command name="glCompressedTexSubImage1DARB"/>
+ <command name="glGetCompressedTexImageARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_compression_bptc" supported="gl|glcore">
+ <require>
+ <enum name="GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB"/>
+ <enum name="GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB"/>
+ <enum name="GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_compression_rgtc" supported="gl|glcore">
+ <require>
+ <enum name="GL_COMPRESSED_RED_RGTC1"/>
+ <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1"/>
+ <enum name="GL_COMPRESSED_RG_RGTC2"/>
+ <enum name="GL_COMPRESSED_SIGNED_RG_RGTC2"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_cube_map" supported="gl">
+ <require>
+ <enum name="GL_NORMAL_MAP_ARB"/>
+ <enum name="GL_REFLECTION_MAP_ARB"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_ARB"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARB"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"/>
+ <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARB"/>
+ <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_cube_map_array" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB"/>
+ <enum name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB"/>
+ <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_env_add" supported="gl"/>
+ <extension name="GL_ARB_texture_env_combine" supported="gl">
+ <require>
+ <enum name="GL_COMBINE_ARB"/>
+ <enum name="GL_COMBINE_RGB_ARB"/>
+ <enum name="GL_COMBINE_ALPHA_ARB"/>
+ <enum name="GL_SOURCE0_RGB_ARB"/>
+ <enum name="GL_SOURCE1_RGB_ARB"/>
+ <enum name="GL_SOURCE2_RGB_ARB"/>
+ <enum name="GL_SOURCE0_ALPHA_ARB"/>
+ <enum name="GL_SOURCE1_ALPHA_ARB"/>
+ <enum name="GL_SOURCE2_ALPHA_ARB"/>
+ <enum name="GL_OPERAND0_RGB_ARB"/>
+ <enum name="GL_OPERAND1_RGB_ARB"/>
+ <enum name="GL_OPERAND2_RGB_ARB"/>
+ <enum name="GL_OPERAND0_ALPHA_ARB"/>
+ <enum name="GL_OPERAND1_ALPHA_ARB"/>
+ <enum name="GL_OPERAND2_ALPHA_ARB"/>
+ <enum name="GL_RGB_SCALE_ARB"/>
+ <enum name="GL_ADD_SIGNED_ARB"/>
+ <enum name="GL_INTERPOLATE_ARB"/>
+ <enum name="GL_SUBTRACT_ARB"/>
+ <enum name="GL_CONSTANT_ARB"/>
+ <enum name="GL_PRIMARY_COLOR_ARB"/>
+ <enum name="GL_PREVIOUS_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_env_crossbar" supported="gl"/>
+ <extension name="GL_ARB_texture_env_dot3" supported="gl">
+ <require>
+ <enum name="GL_DOT3_RGB_ARB"/>
+ <enum name="GL_DOT3_RGBA_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_float" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_RED_TYPE_ARB"/>
+ <enum name="GL_TEXTURE_GREEN_TYPE_ARB"/>
+ <enum name="GL_TEXTURE_BLUE_TYPE_ARB"/>
+ <enum name="GL_TEXTURE_ALPHA_TYPE_ARB"/>
+ <enum name="GL_TEXTURE_LUMINANCE_TYPE_ARB"/>
+ <enum name="GL_TEXTURE_INTENSITY_TYPE_ARB"/>
+ <enum name="GL_TEXTURE_DEPTH_TYPE_ARB"/>
+ <enum name="GL_UNSIGNED_NORMALIZED_ARB"/>
+ <enum name="GL_RGBA32F_ARB"/>
+ <enum name="GL_RGB32F_ARB"/>
+ <enum name="GL_ALPHA32F_ARB"/>
+ <enum name="GL_INTENSITY32F_ARB"/>
+ <enum name="GL_LUMINANCE32F_ARB"/>
+ <enum name="GL_LUMINANCE_ALPHA32F_ARB"/>
+ <enum name="GL_RGBA16F_ARB"/>
+ <enum name="GL_RGB16F_ARB"/>
+ <enum name="GL_ALPHA16F_ARB"/>
+ <enum name="GL_INTENSITY16F_ARB"/>
+ <enum name="GL_LUMINANCE16F_ARB"/>
+ <enum name="GL_LUMINANCE_ALPHA16F_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_gather" supported="gl|glcore">
+ <require>
+ <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
+ <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
+ <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_mirror_clamp_to_edge" supported="gl|glcore">
+ <require>
+ <enum name="GL_MIRROR_CLAMP_TO_EDGE"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_mirrored_repeat" supported="gl">
+ <require>
+ <enum name="GL_MIRRORED_REPEAT_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_multisample" supported="gl|glcore">
+ <require>
+ <enum name="GL_SAMPLE_POSITION"/>
+ <enum name="GL_SAMPLE_MASK"/>
+ <enum name="GL_SAMPLE_MASK_VALUE"/>
+ <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+ <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_TEXTURE_SAMPLES"/>
+ <enum name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_INTEGER_SAMPLES"/>
+ <command name="glTexImage2DMultisample"/>
+ <command name="glTexImage3DMultisample"/>
+ <command name="glGetMultisamplefv"/>
+ <command name="glSampleMaski"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_non_power_of_two" supported="gl"/>
+ <extension name="GL_ARB_texture_query_levels" supported="gl|glcore"/>
+ <extension name="GL_ARB_texture_query_lod" supported="gl|glcore"/>
+ <extension name="GL_ARB_texture_rectangle" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_RECTANGLE_ARB"/>
+ <enum name="GL_TEXTURE_BINDING_RECTANGLE_ARB"/>
+ <enum name="GL_PROXY_TEXTURE_RECTANGLE_ARB"/>
+ <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_rg" supported="gl|glcore">
+ <require>
+ <enum name="GL_RG"/>
+ <enum name="GL_RG_INTEGER"/>
+ <enum name="GL_R8"/>
+ <enum name="GL_R16"/>
+ <enum name="GL_RG8"/>
+ <enum name="GL_RG16"/>
+ <enum name="GL_R16F"/>
+ <enum name="GL_R32F"/>
+ <enum name="GL_RG16F"/>
+ <enum name="GL_RG32F"/>
+ <enum name="GL_R8I"/>
+ <enum name="GL_R8UI"/>
+ <enum name="GL_R16I"/>
+ <enum name="GL_R16UI"/>
+ <enum name="GL_R32I"/>
+ <enum name="GL_R32UI"/>
+ <enum name="GL_RG8I"/>
+ <enum name="GL_RG8UI"/>
+ <enum name="GL_RG16I"/>
+ <enum name="GL_RG16UI"/>
+ <enum name="GL_RG32I"/>
+ <enum name="GL_RG32UI"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_rgb10_a2ui" supported="gl|glcore">
+ <require>
+ <enum name="GL_RGB10_A2UI"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_stencil8" supported="gl|glcore">
+ <require>
+ <enum name="GL_STENCIL_INDEX"/>
+ <enum name="GL_STENCIL_INDEX8"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_storage" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
+ <command name="glTexStorage1D"/>
+ <command name="glTexStorage2D"/>
+ <command name="glTexStorage3D"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_storage_multisample" supported="gl|glcore">
+ <require>
+ <command name="glTexStorage2DMultisample"/>
+ <command name="glTexStorage3DMultisample"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_swizzle" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_SWIZZLE_R"/>
+ <enum name="GL_TEXTURE_SWIZZLE_G"/>
+ <enum name="GL_TEXTURE_SWIZZLE_B"/>
+ <enum name="GL_TEXTURE_SWIZZLE_A"/>
+ <enum name="GL_TEXTURE_SWIZZLE_RGBA"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_texture_view" supported="gl|glcore">
+ <require>
+ <enum name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
+ <enum name="GL_TEXTURE_VIEW_MIN_LAYER"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
+ <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+ <command name="glTextureView"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_timer_query" supported="gl|glcore">
+ <require>
+ <enum name="GL_TIME_ELAPSED"/>
+ <enum name="GL_TIMESTAMP"/>
+ <command name="glQueryCounter"/>
+ <command name="glGetQueryObjecti64v"/>
+ <command name="glGetQueryObjectui64v"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_transform_feedback2" supported="gl|glcore">
+ <require>
+ <enum name="GL_TRANSFORM_FEEDBACK"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+ <command name="glBindTransformFeedback"/>
+ <command name="glDeleteTransformFeedbacks"/>
+ <command name="glGenTransformFeedbacks"/>
+ <command name="glIsTransformFeedback"/>
+ <command name="glPauseTransformFeedback"/>
+ <command name="glResumeTransformFeedback"/>
+ <command name="glDrawTransformFeedback"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_transform_feedback3" supported="gl|glcore">
+ <require>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
+ <enum name="GL_MAX_VERTEX_STREAMS"/>
+ <command name="glDrawTransformFeedbackStream"/>
+ <command name="glBeginQueryIndexed"/>
+ <command name="glEndQueryIndexed"/>
+ <command name="glGetQueryIndexediv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_transform_feedback_instanced" supported="gl|glcore">
+ <require>
+ <command name="glDrawTransformFeedbackInstanced"/>
+ <command name="glDrawTransformFeedbackStreamInstanced"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_transpose_matrix" supported="gl">
+ <require>
+ <enum name="GL_TRANSPOSE_MODELVIEW_MATRIX_ARB"/>
+ <enum name="GL_TRANSPOSE_PROJECTION_MATRIX_ARB"/>
+ <enum name="GL_TRANSPOSE_TEXTURE_MATRIX_ARB"/>
+ <enum name="GL_TRANSPOSE_COLOR_MATRIX_ARB"/>
+ <command name="glLoadTransposeMatrixfARB"/>
+ <command name="glLoadTransposeMatrixdARB"/>
+ <command name="glMultTransposeMatrixfARB"/>
+ <command name="glMultTransposeMatrixdARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_uniform_buffer_object" supported="gl|glcore">
+ <require>
+ <enum name="GL_UNIFORM_BUFFER"/>
+ <enum name="GL_UNIFORM_BUFFER_BINDING"/>
+ <enum name="GL_UNIFORM_BUFFER_START"/>
+ <enum name="GL_UNIFORM_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+ <enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+ <enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+ <enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+ <enum name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+ <enum name="GL_UNIFORM_TYPE"/>
+ <enum name="GL_UNIFORM_SIZE"/>
+ <enum name="GL_UNIFORM_NAME_LENGTH"/>
+ <enum name="GL_UNIFORM_BLOCK_INDEX"/>
+ <enum name="GL_UNIFORM_OFFSET"/>
+ <enum name="GL_UNIFORM_ARRAY_STRIDE"/>
+ <enum name="GL_UNIFORM_MATRIX_STRIDE"/>
+ <enum name="GL_UNIFORM_IS_ROW_MAJOR"/>
+ <enum name="GL_UNIFORM_BLOCK_BINDING"/>
+ <enum name="GL_UNIFORM_BLOCK_DATA_SIZE"/>
+ <enum name="GL_UNIFORM_BLOCK_NAME_LENGTH"/>
+ <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
+ <enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_INVALID_INDEX"/>
+ <command name="glGetUniformIndices"/>
+ <command name="glGetActiveUniformsiv"/>
+ <command name="glGetActiveUniformName"/>
+ <command name="glGetUniformBlockIndex"/>
+ <command name="glGetActiveUniformBlockiv"/>
+ <command name="glGetActiveUniformBlockName"/>
+ <command name="glUniformBlockBinding"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_array_bgra" supported="gl|glcore">
+ <require>
+ <enum name="GL_BGRA"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_array_object" supported="gl|glcore">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_BINDING"/>
+ <command name="glBindVertexArray"/>
+ <command name="glDeleteVertexArrays"/>
+ <command name="glGenVertexArrays"/>
+ <command name="glIsVertexArray"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_attrib_64bit" supported="gl|glcore">
+ <require>
+ <enum name="GL_RGB32I"/>
+ <enum name="GL_DOUBLE_VEC2"/>
+ <enum name="GL_DOUBLE_VEC3"/>
+ <enum name="GL_DOUBLE_VEC4"/>
+ <enum name="GL_DOUBLE_MAT2"/>
+ <enum name="GL_DOUBLE_MAT3"/>
+ <enum name="GL_DOUBLE_MAT4"/>
+ <enum name="GL_DOUBLE_MAT2x3"/>
+ <enum name="GL_DOUBLE_MAT2x4"/>
+ <enum name="GL_DOUBLE_MAT3x2"/>
+ <enum name="GL_DOUBLE_MAT3x4"/>
+ <enum name="GL_DOUBLE_MAT4x2"/>
+ <enum name="GL_DOUBLE_MAT4x3"/>
+ <command name="glVertexAttribL1d"/>
+ <command name="glVertexAttribL2d"/>
+ <command name="glVertexAttribL3d"/>
+ <command name="glVertexAttribL4d"/>
+ <command name="glVertexAttribL1dv"/>
+ <command name="glVertexAttribL2dv"/>
+ <command name="glVertexAttribL3dv"/>
+ <command name="glVertexAttribL4dv"/>
+ <command name="glVertexAttribLPointer"/>
+ <command name="glGetVertexAttribLdv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_attrib_binding" supported="gl|glcore">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_BINDING"/>
+ <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_DIVISOR"/>
+ <enum name="GL_VERTEX_BINDING_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_STRIDE"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+ <command name="glBindVertexBuffer"/>
+ <command name="glVertexAttribFormat"/>
+ <command name="glVertexAttribIFormat"/>
+ <command name="glVertexAttribLFormat"/>
+ <command name="glVertexAttribBinding"/>
+ <command name="glVertexBindingDivisor"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_blend" supported="gl">
+ <require>
+ <enum name="GL_MAX_VERTEX_UNITS_ARB"/>
+ <enum name="GL_ACTIVE_VERTEX_UNITS_ARB"/>
+ <enum name="GL_WEIGHT_SUM_UNITY_ARB"/>
+ <enum name="GL_VERTEX_BLEND_ARB"/>
+ <enum name="GL_CURRENT_WEIGHT_ARB"/>
+ <enum name="GL_WEIGHT_ARRAY_TYPE_ARB"/>
+ <enum name="GL_WEIGHT_ARRAY_STRIDE_ARB"/>
+ <enum name="GL_WEIGHT_ARRAY_SIZE_ARB"/>
+ <enum name="GL_WEIGHT_ARRAY_POINTER_ARB"/>
+ <enum name="GL_WEIGHT_ARRAY_ARB"/>
+ <enum name="GL_MODELVIEW0_ARB"/>
+ <enum name="GL_MODELVIEW1_ARB"/>
+ <enum name="GL_MODELVIEW2_ARB"/>
+ <enum name="GL_MODELVIEW3_ARB"/>
+ <enum name="GL_MODELVIEW4_ARB"/>
+ <enum name="GL_MODELVIEW5_ARB"/>
+ <enum name="GL_MODELVIEW6_ARB"/>
+ <enum name="GL_MODELVIEW7_ARB"/>
+ <enum name="GL_MODELVIEW8_ARB"/>
+ <enum name="GL_MODELVIEW9_ARB"/>
+ <enum name="GL_MODELVIEW10_ARB"/>
+ <enum name="GL_MODELVIEW11_ARB"/>
+ <enum name="GL_MODELVIEW12_ARB"/>
+ <enum name="GL_MODELVIEW13_ARB"/>
+ <enum name="GL_MODELVIEW14_ARB"/>
+ <enum name="GL_MODELVIEW15_ARB"/>
+ <enum name="GL_MODELVIEW16_ARB"/>
+ <enum name="GL_MODELVIEW17_ARB"/>
+ <enum name="GL_MODELVIEW18_ARB"/>
+ <enum name="GL_MODELVIEW19_ARB"/>
+ <enum name="GL_MODELVIEW20_ARB"/>
+ <enum name="GL_MODELVIEW21_ARB"/>
+ <enum name="GL_MODELVIEW22_ARB"/>
+ <enum name="GL_MODELVIEW23_ARB"/>
+ <enum name="GL_MODELVIEW24_ARB"/>
+ <enum name="GL_MODELVIEW25_ARB"/>
+ <enum name="GL_MODELVIEW26_ARB"/>
+ <enum name="GL_MODELVIEW27_ARB"/>
+ <enum name="GL_MODELVIEW28_ARB"/>
+ <enum name="GL_MODELVIEW29_ARB"/>
+ <enum name="GL_MODELVIEW30_ARB"/>
+ <enum name="GL_MODELVIEW31_ARB"/>
+ <command name="glWeightbvARB"/>
+ <command name="glWeightsvARB"/>
+ <command name="glWeightivARB"/>
+ <command name="glWeightfvARB"/>
+ <command name="glWeightdvARB"/>
+ <command name="glWeightubvARB"/>
+ <command name="glWeightusvARB"/>
+ <command name="glWeightuivARB"/>
+ <command name="glWeightPointerARB"/>
+ <command name="glVertexBlendARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_buffer_object" supported="gl">
+ <require>
+ <enum name="GL_BUFFER_SIZE_ARB"/>
+ <enum name="GL_BUFFER_USAGE_ARB"/>
+ <enum name="GL_ARRAY_BUFFER_ARB"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER_ARB"/>
+ <enum name="GL_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_VERTEX_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_NORMAL_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_INDEX_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB"/>
+ <enum name="GL_READ_ONLY_ARB"/>
+ <enum name="GL_WRITE_ONLY_ARB"/>
+ <enum name="GL_READ_WRITE_ARB"/>
+ <enum name="GL_BUFFER_ACCESS_ARB"/>
+ <enum name="GL_BUFFER_MAPPED_ARB"/>
+ <enum name="GL_BUFFER_MAP_POINTER_ARB"/>
+ <enum name="GL_STREAM_DRAW_ARB"/>
+ <enum name="GL_STREAM_READ_ARB"/>
+ <enum name="GL_STREAM_COPY_ARB"/>
+ <enum name="GL_STATIC_DRAW_ARB"/>
+ <enum name="GL_STATIC_READ_ARB"/>
+ <enum name="GL_STATIC_COPY_ARB"/>
+ <enum name="GL_DYNAMIC_DRAW_ARB"/>
+ <enum name="GL_DYNAMIC_READ_ARB"/>
+ <enum name="GL_DYNAMIC_COPY_ARB"/>
+ <command name="glBindBufferARB"/>
+ <command name="glDeleteBuffersARB"/>
+ <command name="glGenBuffersARB"/>
+ <command name="glIsBufferARB"/>
+ <command name="glBufferDataARB"/>
+ <command name="glBufferSubDataARB"/>
+ <command name="glGetBufferSubDataARB"/>
+ <command name="glMapBufferARB"/>
+ <command name="glUnmapBufferARB"/>
+ <command name="glGetBufferParameterivARB"/>
+ <command name="glGetBufferPointervARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_program" supported="gl">
+ <require>
+ <enum name="GL_COLOR_SUM_ARB"/>
+ <enum name="GL_VERTEX_PROGRAM_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"/>
+ <enum name="GL_CURRENT_VERTEX_ATTRIB_ARB"/>
+ <enum name="GL_PROGRAM_LENGTH_ARB"/>
+ <enum name="GL_PROGRAM_STRING_ARB"/>
+ <enum name="GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB"/>
+ <enum name="GL_MAX_PROGRAM_MATRICES_ARB"/>
+ <enum name="GL_CURRENT_MATRIX_STACK_DEPTH_ARB"/>
+ <enum name="GL_CURRENT_MATRIX_ARB"/>
+ <enum name="GL_VERTEX_PROGRAM_POINT_SIZE_ARB"/>
+ <enum name="GL_VERTEX_PROGRAM_TWO_SIDE_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"/>
+ <enum name="GL_PROGRAM_ERROR_POSITION_ARB"/>
+ <enum name="GL_PROGRAM_BINDING_ARB"/>
+ <enum name="GL_MAX_VERTEX_ATTRIBS_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"/>
+ <enum name="GL_PROGRAM_ERROR_STRING_ARB"/>
+ <enum name="GL_PROGRAM_FORMAT_ASCII_ARB"/>
+ <enum name="GL_PROGRAM_FORMAT_ARB"/>
+ <enum name="GL_PROGRAM_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB"/>
+ <enum name="GL_PROGRAM_TEMPORARIES_ARB"/>
+ <enum name="GL_MAX_PROGRAM_TEMPORARIES_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB"/>
+ <enum name="GL_PROGRAM_PARAMETERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_PARAMETERS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB"/>
+ <enum name="GL_PROGRAM_ATTRIBS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_ATTRIBS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB"/>
+ <enum name="GL_PROGRAM_ADDRESS_REGISTERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB"/>
+ <enum name="GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB"/>
+ <enum name="GL_MAX_PROGRAM_ENV_PARAMETERS_ARB"/>
+ <enum name="GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB"/>
+ <enum name="GL_TRANSPOSE_CURRENT_MATRIX_ARB"/>
+ <enum name="GL_MATRIX0_ARB"/>
+ <enum name="GL_MATRIX1_ARB"/>
+ <enum name="GL_MATRIX2_ARB"/>
+ <enum name="GL_MATRIX3_ARB"/>
+ <enum name="GL_MATRIX4_ARB"/>
+ <enum name="GL_MATRIX5_ARB"/>
+ <enum name="GL_MATRIX6_ARB"/>
+ <enum name="GL_MATRIX7_ARB"/>
+ <enum name="GL_MATRIX8_ARB"/>
+ <enum name="GL_MATRIX9_ARB"/>
+ <enum name="GL_MATRIX10_ARB"/>
+ <enum name="GL_MATRIX11_ARB"/>
+ <enum name="GL_MATRIX12_ARB"/>
+ <enum name="GL_MATRIX13_ARB"/>
+ <enum name="GL_MATRIX14_ARB"/>
+ <enum name="GL_MATRIX15_ARB"/>
+ <enum name="GL_MATRIX16_ARB"/>
+ <enum name="GL_MATRIX17_ARB"/>
+ <enum name="GL_MATRIX18_ARB"/>
+ <enum name="GL_MATRIX19_ARB"/>
+ <enum name="GL_MATRIX20_ARB"/>
+ <enum name="GL_MATRIX21_ARB"/>
+ <enum name="GL_MATRIX22_ARB"/>
+ <enum name="GL_MATRIX23_ARB"/>
+ <enum name="GL_MATRIX24_ARB"/>
+ <enum name="GL_MATRIX25_ARB"/>
+ <enum name="GL_MATRIX26_ARB"/>
+ <enum name="GL_MATRIX27_ARB"/>
+ <enum name="GL_MATRIX28_ARB"/>
+ <enum name="GL_MATRIX29_ARB"/>
+ <enum name="GL_MATRIX30_ARB"/>
+ <enum name="GL_MATRIX31_ARB"/>
+ <command name="glVertexAttrib1dARB"/>
+ <command name="glVertexAttrib1dvARB"/>
+ <command name="glVertexAttrib1fARB"/>
+ <command name="glVertexAttrib1fvARB"/>
+ <command name="glVertexAttrib1sARB"/>
+ <command name="glVertexAttrib1svARB"/>
+ <command name="glVertexAttrib2dARB"/>
+ <command name="glVertexAttrib2dvARB"/>
+ <command name="glVertexAttrib2fARB"/>
+ <command name="glVertexAttrib2fvARB"/>
+ <command name="glVertexAttrib2sARB"/>
+ <command name="glVertexAttrib2svARB"/>
+ <command name="glVertexAttrib3dARB"/>
+ <command name="glVertexAttrib3dvARB"/>
+ <command name="glVertexAttrib3fARB"/>
+ <command name="glVertexAttrib3fvARB"/>
+ <command name="glVertexAttrib3sARB"/>
+ <command name="glVertexAttrib3svARB"/>
+ <command name="glVertexAttrib4NbvARB"/>
+ <command name="glVertexAttrib4NivARB"/>
+ <command name="glVertexAttrib4NsvARB"/>
+ <command name="glVertexAttrib4NubARB"/>
+ <command name="glVertexAttrib4NubvARB"/>
+ <command name="glVertexAttrib4NuivARB"/>
+ <command name="glVertexAttrib4NusvARB"/>
+ <command name="glVertexAttrib4bvARB"/>
+ <command name="glVertexAttrib4dARB"/>
+ <command name="glVertexAttrib4dvARB"/>
+ <command name="glVertexAttrib4fARB"/>
+ <command name="glVertexAttrib4fvARB"/>
+ <command name="glVertexAttrib4ivARB"/>
+ <command name="glVertexAttrib4sARB"/>
+ <command name="glVertexAttrib4svARB"/>
+ <command name="glVertexAttrib4ubvARB"/>
+ <command name="glVertexAttrib4uivARB"/>
+ <command name="glVertexAttrib4usvARB"/>
+ <command name="glVertexAttribPointerARB"/>
+ <command name="glEnableVertexAttribArrayARB"/>
+ <command name="glDisableVertexAttribArrayARB"/>
+ <command name="glProgramStringARB"/>
+ <command name="glBindProgramARB"/>
+ <command name="glDeleteProgramsARB"/>
+ <command name="glGenProgramsARB"/>
+ <command name="glProgramEnvParameter4dARB"/>
+ <command name="glProgramEnvParameter4dvARB"/>
+ <command name="glProgramEnvParameter4fARB"/>
+ <command name="glProgramEnvParameter4fvARB"/>
+ <command name="glProgramLocalParameter4dARB"/>
+ <command name="glProgramLocalParameter4dvARB"/>
+ <command name="glProgramLocalParameter4fARB"/>
+ <command name="glProgramLocalParameter4fvARB"/>
+ <command name="glGetProgramEnvParameterdvARB"/>
+ <command name="glGetProgramEnvParameterfvARB"/>
+ <command name="glGetProgramLocalParameterdvARB"/>
+ <command name="glGetProgramLocalParameterfvARB"/>
+ <command name="glGetProgramivARB"/>
+ <command name="glGetProgramStringARB"/>
+ <command name="glGetVertexAttribdvARB"/>
+ <command name="glGetVertexAttribfvARB"/>
+ <command name="glGetVertexAttribivARB"/>
+ <command name="glGetVertexAttribPointervARB"/>
+ <command name="glIsProgramARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_shader" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_SHADER_ARB"/>
+ <enum name="GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB"/>
+ <enum name="GL_MAX_VARYING_FLOATS_ARB"/>
+ <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum name="GL_OBJECT_ACTIVE_ATTRIBUTES_ARB"/>
+ <enum name="GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB"/>
+ <enum name="GL_MAX_VERTEX_ATTRIBS_ARB"/>
+ <enum name="GL_MAX_TEXTURE_IMAGE_UNITS_ARB"/>
+ <enum name="GL_MAX_TEXTURE_COORDS_ARB"/>
+ <enum name="GL_VERTEX_PROGRAM_POINT_SIZE_ARB"/>
+ <enum name="GL_VERTEX_PROGRAM_TWO_SIDE_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"/>
+ <enum name="GL_CURRENT_VERTEX_ATTRIB_ARB"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB"/>
+ <enum name="GL_FLOAT"/>
+ <enum name="GL_FLOAT_VEC2_ARB"/>
+ <enum name="GL_FLOAT_VEC3_ARB"/>
+ <enum name="GL_FLOAT_VEC4_ARB"/>
+ <enum name="GL_FLOAT_MAT2_ARB"/>
+ <enum name="GL_FLOAT_MAT3_ARB"/>
+ <enum name="GL_FLOAT_MAT4_ARB"/>
+ <command name="glVertexAttrib1fARB"/>
+ <command name="glVertexAttrib1sARB"/>
+ <command name="glVertexAttrib1dARB"/>
+ <command name="glVertexAttrib2fARB"/>
+ <command name="glVertexAttrib2sARB"/>
+ <command name="glVertexAttrib2dARB"/>
+ <command name="glVertexAttrib3fARB"/>
+ <command name="glVertexAttrib3sARB"/>
+ <command name="glVertexAttrib3dARB"/>
+ <command name="glVertexAttrib4fARB"/>
+ <command name="glVertexAttrib4sARB"/>
+ <command name="glVertexAttrib4dARB"/>
+ <command name="glVertexAttrib4NubARB"/>
+ <command name="glVertexAttrib1fvARB"/>
+ <command name="glVertexAttrib1svARB"/>
+ <command name="glVertexAttrib1dvARB"/>
+ <command name="glVertexAttrib2fvARB"/>
+ <command name="glVertexAttrib2svARB"/>
+ <command name="glVertexAttrib2dvARB"/>
+ <command name="glVertexAttrib3fvARB"/>
+ <command name="glVertexAttrib3svARB"/>
+ <command name="glVertexAttrib3dvARB"/>
+ <command name="glVertexAttrib4fvARB"/>
+ <command name="glVertexAttrib4svARB"/>
+ <command name="glVertexAttrib4dvARB"/>
+ <command name="glVertexAttrib4ivARB"/>
+ <command name="glVertexAttrib4bvARB"/>
+ <command name="glVertexAttrib4ubvARB"/>
+ <command name="glVertexAttrib4usvARB"/>
+ <command name="glVertexAttrib4uivARB"/>
+ <command name="glVertexAttrib4NbvARB"/>
+ <command name="glVertexAttrib4NsvARB"/>
+ <command name="glVertexAttrib4NivARB"/>
+ <command name="glVertexAttrib4NubvARB"/>
+ <command name="glVertexAttrib4NusvARB"/>
+ <command name="glVertexAttrib4NuivARB"/>
+ <command name="glVertexAttribPointerARB"/>
+ <command name="glEnableVertexAttribArrayARB"/>
+ <command name="glDisableVertexAttribArrayARB"/>
+ <command name="glBindAttribLocationARB"/>
+ <command name="glGetActiveAttribARB"/>
+ <command name="glGetAttribLocationARB"/>
+ <command name="glGetVertexAttribdvARB"/>
+ <command name="glGetVertexAttribfvARB"/>
+ <command name="glGetVertexAttribivARB"/>
+ <command name="glGetVertexAttribPointervARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_type_10f_11f_11f_rev" supported="gl|glcore">
+ <require>
+ <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_vertex_type_2_10_10_10_rev" supported="gl|glcore">
+ <require>
+ <enum name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+ <enum name="GL_INT_2_10_10_10_REV"/>
+ <command name="glVertexAttribP1ui"/>
+ <command name="glVertexAttribP1uiv"/>
+ <command name="glVertexAttribP2ui"/>
+ <command name="glVertexAttribP2uiv"/>
+ <command name="glVertexAttribP3ui"/>
+ <command name="glVertexAttribP3uiv"/>
+ <command name="glVertexAttribP4ui"/>
+ <command name="glVertexAttribP4uiv"/>
+ </require>
+ <require api="gl" profile="compatibility">
+ <command name="glVertexP2ui"/>
+ <command name="glVertexP2uiv"/>
+ <command name="glVertexP3ui"/>
+ <command name="glVertexP3uiv"/>
+ <command name="glVertexP4ui"/>
+ <command name="glVertexP4uiv"/>
+ <command name="glTexCoordP1ui"/>
+ <command name="glTexCoordP1uiv"/>
+ <command name="glTexCoordP2ui"/>
+ <command name="glTexCoordP2uiv"/>
+ <command name="glTexCoordP3ui"/>
+ <command name="glTexCoordP3uiv"/>
+ <command name="glTexCoordP4ui"/>
+ <command name="glTexCoordP4uiv"/>
+ <command name="glMultiTexCoordP1ui"/>
+ <command name="glMultiTexCoordP1uiv"/>
+ <command name="glMultiTexCoordP2ui"/>
+ <command name="glMultiTexCoordP2uiv"/>
+ <command name="glMultiTexCoordP3ui"/>
+ <command name="glMultiTexCoordP3uiv"/>
+ <command name="glMultiTexCoordP4ui"/>
+ <command name="glMultiTexCoordP4uiv"/>
+ <command name="glNormalP3ui"/>
+ <command name="glNormalP3uiv"/>
+ <command name="glColorP3ui"/>
+ <command name="glColorP3uiv"/>
+ <command name="glColorP4ui"/>
+ <command name="glColorP4uiv"/>
+ <command name="glSecondaryColorP3ui"/>
+ <command name="glSecondaryColorP3uiv"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_viewport_array" supported="gl|glcore">
+ <require>
+ <enum name="GL_SCISSOR_BOX"/>
+ <enum name="GL_VIEWPORT"/>
+ <enum name="GL_DEPTH_RANGE"/>
+ <enum name="GL_SCISSOR_TEST"/>
+ <enum name="GL_MAX_VIEWPORTS"/>
+ <enum name="GL_VIEWPORT_SUBPIXEL_BITS"/>
+ <enum name="GL_VIEWPORT_BOUNDS_RANGE"/>
+ <enum name="GL_LAYER_PROVOKING_VERTEX"/>
+ <enum name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
+ <enum name="GL_UNDEFINED_VERTEX"/>
+ <enum name="GL_FIRST_VERTEX_CONVENTION"/>
+ <enum name="GL_LAST_VERTEX_CONVENTION"/>
+ <enum name="GL_PROVOKING_VERTEX"/>
+ <command name="glViewportArrayv"/>
+ <command name="glViewportIndexedf"/>
+ <command name="glViewportIndexedfv"/>
+ <command name="glScissorArrayv"/>
+ <command name="glScissorIndexed"/>
+ <command name="glScissorIndexedv"/>
+ <command name="glDepthRangeArrayv"/>
+ <command name="glDepthRangeIndexed"/>
+ <command name="glGetFloati_v"/>
+ <command name="glGetDoublei_v"/>
+ </require>
+ </extension>
+ <extension name="GL_ARB_window_pos" supported="gl">
+ <require>
+ <command name="glWindowPos2dARB"/>
+ <command name="glWindowPos2dvARB"/>
+ <command name="glWindowPos2fARB"/>
+ <command name="glWindowPos2fvARB"/>
+ <command name="glWindowPos2iARB"/>
+ <command name="glWindowPos2ivARB"/>
+ <command name="glWindowPos2sARB"/>
+ <command name="glWindowPos2svARB"/>
+ <command name="glWindowPos3dARB"/>
+ <command name="glWindowPos3dvARB"/>
+ <command name="glWindowPos3fARB"/>
+ <command name="glWindowPos3fvARB"/>
+ <command name="glWindowPos3iARB"/>
+ <command name="glWindowPos3ivARB"/>
+ <command name="glWindowPos3sARB"/>
+ <command name="glWindowPos3svARB"/>
+ </require>
+ </extension>
+ <extension name="GL_ARM_mali_program_binary" supported="gles2">
+ <require>
+ <enum name="GL_MALI_PROGRAM_BINARY_ARM"/>
+ </require>
+ </extension>
+ <extension name="GL_ARM_mali_shader_binary" supported="gles2">
+ <require>
+ <enum name="GL_MALI_SHADER_BINARY_ARM"/>
+ </require>
+ </extension>
+ <extension name="GL_ARM_rgba8" supported="gles1|gles2"/>
+ <extension name="GL_ARM_shader_framebuffer_fetch" supported="gles2">
+ <require>
+ <enum name="GL_FETCH_PER_SAMPLE_ARM"/>
+ <enum name="GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM"/>
+ </require>
+ </extension>
+ <extension name="GL_ARM_shader_framebuffer_fetch_depth_stencil" supported="gles2"/>
+ <extension name="GL_ATI_draw_buffers" supported="gl">
+ <require>
+ <enum name="GL_MAX_DRAW_BUFFERS_ATI"/>
+ <enum name="GL_DRAW_BUFFER0_ATI"/>
+ <enum name="GL_DRAW_BUFFER1_ATI"/>
+ <enum name="GL_DRAW_BUFFER2_ATI"/>
+ <enum name="GL_DRAW_BUFFER3_ATI"/>
+ <enum name="GL_DRAW_BUFFER4_ATI"/>
+ <enum name="GL_DRAW_BUFFER5_ATI"/>
+ <enum name="GL_DRAW_BUFFER6_ATI"/>
+ <enum name="GL_DRAW_BUFFER7_ATI"/>
+ <enum name="GL_DRAW_BUFFER8_ATI"/>
+ <enum name="GL_DRAW_BUFFER9_ATI"/>
+ <enum name="GL_DRAW_BUFFER10_ATI"/>
+ <enum name="GL_DRAW_BUFFER11_ATI"/>
+ <enum name="GL_DRAW_BUFFER12_ATI"/>
+ <enum name="GL_DRAW_BUFFER13_ATI"/>
+ <enum name="GL_DRAW_BUFFER14_ATI"/>
+ <enum name="GL_DRAW_BUFFER15_ATI"/>
+ <command name="glDrawBuffersATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_element_array" supported="gl">
+ <require>
+ <enum name="GL_ELEMENT_ARRAY_ATI"/>
+ <enum name="GL_ELEMENT_ARRAY_TYPE_ATI"/>
+ <enum name="GL_ELEMENT_ARRAY_POINTER_ATI"/>
+ <command name="glElementPointerATI"/>
+ <command name="glDrawElementArrayATI"/>
+ <command name="glDrawRangeElementArrayATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_envmap_bumpmap" supported="gl">
+ <require>
+ <enum name="GL_BUMP_ROT_MATRIX_ATI"/>
+ <enum name="GL_BUMP_ROT_MATRIX_SIZE_ATI"/>
+ <enum name="GL_BUMP_NUM_TEX_UNITS_ATI"/>
+ <enum name="GL_BUMP_TEX_UNITS_ATI"/>
+ <enum name="GL_DUDV_ATI"/>
+ <enum name="GL_DU8DV8_ATI"/>
+ <enum name="GL_BUMP_ENVMAP_ATI"/>
+ <enum name="GL_BUMP_TARGET_ATI"/>
+ <command name="glTexBumpParameterivATI"/>
+ <command name="glTexBumpParameterfvATI"/>
+ <command name="glGetTexBumpParameterivATI"/>
+ <command name="glGetTexBumpParameterfvATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_fragment_shader" supported="gl">
+ <require>
+ <enum name="GL_FRAGMENT_SHADER_ATI"/>
+ <enum name="GL_REG_0_ATI"/>
+ <enum name="GL_REG_1_ATI"/>
+ <enum name="GL_REG_2_ATI"/>
+ <enum name="GL_REG_3_ATI"/>
+ <enum name="GL_REG_4_ATI"/>
+ <enum name="GL_REG_5_ATI"/>
+ <enum name="GL_REG_6_ATI"/>
+ <enum name="GL_REG_7_ATI"/>
+ <enum name="GL_REG_8_ATI"/>
+ <enum name="GL_REG_9_ATI"/>
+ <enum name="GL_REG_10_ATI"/>
+ <enum name="GL_REG_11_ATI"/>
+ <enum name="GL_REG_12_ATI"/>
+ <enum name="GL_REG_13_ATI"/>
+ <enum name="GL_REG_14_ATI"/>
+ <enum name="GL_REG_15_ATI"/>
+ <enum name="GL_REG_16_ATI"/>
+ <enum name="GL_REG_17_ATI"/>
+ <enum name="GL_REG_18_ATI"/>
+ <enum name="GL_REG_19_ATI"/>
+ <enum name="GL_REG_20_ATI"/>
+ <enum name="GL_REG_21_ATI"/>
+ <enum name="GL_REG_22_ATI"/>
+ <enum name="GL_REG_23_ATI"/>
+ <enum name="GL_REG_24_ATI"/>
+ <enum name="GL_REG_25_ATI"/>
+ <enum name="GL_REG_26_ATI"/>
+ <enum name="GL_REG_27_ATI"/>
+ <enum name="GL_REG_28_ATI"/>
+ <enum name="GL_REG_29_ATI"/>
+ <enum name="GL_REG_30_ATI"/>
+ <enum name="GL_REG_31_ATI"/>
+ <enum name="GL_CON_0_ATI"/>
+ <enum name="GL_CON_1_ATI"/>
+ <enum name="GL_CON_2_ATI"/>
+ <enum name="GL_CON_3_ATI"/>
+ <enum name="GL_CON_4_ATI"/>
+ <enum name="GL_CON_5_ATI"/>
+ <enum name="GL_CON_6_ATI"/>
+ <enum name="GL_CON_7_ATI"/>
+ <enum name="GL_CON_8_ATI"/>
+ <enum name="GL_CON_9_ATI"/>
+ <enum name="GL_CON_10_ATI"/>
+ <enum name="GL_CON_11_ATI"/>
+ <enum name="GL_CON_12_ATI"/>
+ <enum name="GL_CON_13_ATI"/>
+ <enum name="GL_CON_14_ATI"/>
+ <enum name="GL_CON_15_ATI"/>
+ <enum name="GL_CON_16_ATI"/>
+ <enum name="GL_CON_17_ATI"/>
+ <enum name="GL_CON_18_ATI"/>
+ <enum name="GL_CON_19_ATI"/>
+ <enum name="GL_CON_20_ATI"/>
+ <enum name="GL_CON_21_ATI"/>
+ <enum name="GL_CON_22_ATI"/>
+ <enum name="GL_CON_23_ATI"/>
+ <enum name="GL_CON_24_ATI"/>
+ <enum name="GL_CON_25_ATI"/>
+ <enum name="GL_CON_26_ATI"/>
+ <enum name="GL_CON_27_ATI"/>
+ <enum name="GL_CON_28_ATI"/>
+ <enum name="GL_CON_29_ATI"/>
+ <enum name="GL_CON_30_ATI"/>
+ <enum name="GL_CON_31_ATI"/>
+ <enum name="GL_MOV_ATI"/>
+ <enum name="GL_ADD_ATI"/>
+ <enum name="GL_MUL_ATI"/>
+ <enum name="GL_SUB_ATI"/>
+ <enum name="GL_DOT3_ATI"/>
+ <enum name="GL_DOT4_ATI"/>
+ <enum name="GL_MAD_ATI"/>
+ <enum name="GL_LERP_ATI"/>
+ <enum name="GL_CND_ATI"/>
+ <enum name="GL_CND0_ATI"/>
+ <enum name="GL_DOT2_ADD_ATI"/>
+ <enum name="GL_SECONDARY_INTERPOLATOR_ATI"/>
+ <enum name="GL_NUM_FRAGMENT_REGISTERS_ATI"/>
+ <enum name="GL_NUM_FRAGMENT_CONSTANTS_ATI"/>
+ <enum name="GL_NUM_PASSES_ATI"/>
+ <enum name="GL_NUM_INSTRUCTIONS_PER_PASS_ATI"/>
+ <enum name="GL_NUM_INSTRUCTIONS_TOTAL_ATI"/>
+ <enum name="GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI"/>
+ <enum name="GL_NUM_LOOPBACK_COMPONENTS_ATI"/>
+ <enum name="GL_COLOR_ALPHA_PAIRING_ATI"/>
+ <enum name="GL_SWIZZLE_STR_ATI"/>
+ <enum name="GL_SWIZZLE_STQ_ATI"/>
+ <enum name="GL_SWIZZLE_STR_DR_ATI"/>
+ <enum name="GL_SWIZZLE_STQ_DQ_ATI"/>
+ <enum name="GL_SWIZZLE_STRQ_ATI"/>
+ <enum name="GL_SWIZZLE_STRQ_DQ_ATI"/>
+ <enum name="GL_RED_BIT_ATI"/>
+ <enum name="GL_GREEN_BIT_ATI"/>
+ <enum name="GL_BLUE_BIT_ATI"/>
+ <enum name="GL_2X_BIT_ATI"/>
+ <enum name="GL_4X_BIT_ATI"/>
+ <enum name="GL_8X_BIT_ATI"/>
+ <enum name="GL_HALF_BIT_ATI"/>
+ <enum name="GL_QUARTER_BIT_ATI"/>
+ <enum name="GL_EIGHTH_BIT_ATI"/>
+ <enum name="GL_SATURATE_BIT_ATI"/>
+ <enum name="GL_COMP_BIT_ATI"/>
+ <enum name="GL_NEGATE_BIT_ATI"/>
+ <enum name="GL_BIAS_BIT_ATI"/>
+ <command name="glGenFragmentShadersATI"/>
+ <command name="glBindFragmentShaderATI"/>
+ <command name="glDeleteFragmentShaderATI"/>
+ <command name="glBeginFragmentShaderATI"/>
+ <command name="glEndFragmentShaderATI"/>
+ <command name="glPassTexCoordATI"/>
+ <command name="glSampleMapATI"/>
+ <command name="glColorFragmentOp1ATI"/>
+ <command name="glColorFragmentOp2ATI"/>
+ <command name="glColorFragmentOp3ATI"/>
+ <command name="glAlphaFragmentOp1ATI"/>
+ <command name="glAlphaFragmentOp2ATI"/>
+ <command name="glAlphaFragmentOp3ATI"/>
+ <command name="glSetFragmentShaderConstantATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_map_object_buffer" supported="gl">
+ <require>
+ <command name="glMapObjectBufferATI"/>
+ <command name="glUnmapObjectBufferATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_meminfo" supported="gl">
+ <require>
+ <enum name="GL_VBO_FREE_MEMORY_ATI"/>
+ <enum name="GL_TEXTURE_FREE_MEMORY_ATI"/>
+ <enum name="GL_RENDERBUFFER_FREE_MEMORY_ATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_pixel_format_float" supported="gl" comment="WGL extension defining some associated GL enums. ATI does not export this extension.">
+ <require>
+ <enum name="GL_RGBA_FLOAT_MODE_ATI"/>
+ <enum name="GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_pn_triangles" supported="gl">
+ <require>
+ <enum name="GL_PN_TRIANGLES_ATI"/>
+ <enum name="GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
+ <enum name="GL_PN_TRIANGLES_POINT_MODE_ATI"/>
+ <enum name="GL_PN_TRIANGLES_NORMAL_MODE_ATI"/>
+ <enum name="GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI"/>
+ <enum name="GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI"/>
+ <enum name="GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI"/>
+ <enum name="GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI"/>
+ <enum name="GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI"/>
+ <command name="glPNTrianglesiATI"/>
+ <command name="glPNTrianglesfATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_separate_stencil" supported="gl">
+ <require>
+ <enum name="GL_STENCIL_BACK_FUNC_ATI"/>
+ <enum name="GL_STENCIL_BACK_FAIL_ATI"/>
+ <enum name="GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI"/>
+ <enum name="GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI"/>
+ <command name="glStencilOpSeparateATI"/>
+ <command name="glStencilFuncSeparateATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_text_fragment_shader" supported="gl">
+ <require>
+ <enum name="GL_TEXT_FRAGMENT_SHADER_ATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_texture_env_combine3" supported="gl">
+ <require>
+ <enum name="GL_MODULATE_ADD_ATI"/>
+ <enum name="GL_MODULATE_SIGNED_ADD_ATI"/>
+ <enum name="GL_MODULATE_SUBTRACT_ATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_texture_float" supported="gl">
+ <require>
+ <enum name="GL_RGBA_FLOAT32_ATI"/>
+ <enum name="GL_RGB_FLOAT32_ATI"/>
+ <enum name="GL_ALPHA_FLOAT32_ATI"/>
+ <enum name="GL_INTENSITY_FLOAT32_ATI"/>
+ <enum name="GL_LUMINANCE_FLOAT32_ATI"/>
+ <enum name="GL_LUMINANCE_ALPHA_FLOAT32_ATI"/>
+ <enum name="GL_RGBA_FLOAT16_ATI"/>
+ <enum name="GL_RGB_FLOAT16_ATI"/>
+ <enum name="GL_ALPHA_FLOAT16_ATI"/>
+ <enum name="GL_INTENSITY_FLOAT16_ATI"/>
+ <enum name="GL_LUMINANCE_FLOAT16_ATI"/>
+ <enum name="GL_LUMINANCE_ALPHA_FLOAT16_ATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_texture_mirror_once" supported="gl">
+ <require>
+ <enum name="GL_MIRROR_CLAMP_ATI"/>
+ <enum name="GL_MIRROR_CLAMP_TO_EDGE_ATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_vertex_array_object" supported="gl">
+ <require>
+ <enum name="GL_STATIC_ATI"/>
+ <enum name="GL_DYNAMIC_ATI"/>
+ <enum name="GL_PRESERVE_ATI"/>
+ <enum name="GL_DISCARD_ATI"/>
+ <enum name="GL_OBJECT_BUFFER_SIZE_ATI"/>
+ <enum name="GL_OBJECT_BUFFER_USAGE_ATI"/>
+ <enum name="GL_ARRAY_OBJECT_BUFFER_ATI"/>
+ <enum name="GL_ARRAY_OBJECT_OFFSET_ATI"/>
+ <command name="glNewObjectBufferATI"/>
+ <command name="glIsObjectBufferATI"/>
+ <command name="glUpdateObjectBufferATI"/>
+ <command name="glGetObjectBufferfvATI"/>
+ <command name="glGetObjectBufferivATI"/>
+ <command name="glFreeObjectBufferATI"/>
+ <command name="glArrayObjectATI"/>
+ <command name="glGetArrayObjectfvATI"/>
+ <command name="glGetArrayObjectivATI"/>
+ <command name="glVariantArrayObjectATI"/>
+ <command name="glGetVariantArrayObjectfvATI"/>
+ <command name="glGetVariantArrayObjectivATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_vertex_attrib_array_object" supported="gl">
+ <require>
+ <command name="glVertexAttribArrayObjectATI"/>
+ <command name="glGetVertexAttribArrayObjectfvATI"/>
+ <command name="glGetVertexAttribArrayObjectivATI"/>
+ </require>
+ </extension>
+ <extension name="GL_ATI_vertex_streams" supported="gl">
+ <require>
+ <enum name="GL_MAX_VERTEX_STREAMS_ATI"/>
+ <enum name="GL_VERTEX_STREAM0_ATI"/>
+ <enum name="GL_VERTEX_STREAM1_ATI"/>
+ <enum name="GL_VERTEX_STREAM2_ATI"/>
+ <enum name="GL_VERTEX_STREAM3_ATI"/>
+ <enum name="GL_VERTEX_STREAM4_ATI"/>
+ <enum name="GL_VERTEX_STREAM5_ATI"/>
+ <enum name="GL_VERTEX_STREAM6_ATI"/>
+ <enum name="GL_VERTEX_STREAM7_ATI"/>
+ <enum name="GL_VERTEX_SOURCE_ATI"/>
+ <command name="glVertexStream1sATI"/>
+ <command name="glVertexStream1svATI"/>
+ <command name="glVertexStream1iATI"/>
+ <command name="glVertexStream1ivATI"/>
+ <command name="glVertexStream1fATI"/>
+ <command name="glVertexStream1fvATI"/>
+ <command name="glVertexStream1dATI"/>
+ <command name="glVertexStream1dvATI"/>
+ <command name="glVertexStream2sATI"/>
+ <command name="glVertexStream2svATI"/>
+ <command name="glVertexStream2iATI"/>
+ <command name="glVertexStream2ivATI"/>
+ <command name="glVertexStream2fATI"/>
+ <command name="glVertexStream2fvATI"/>
+ <command name="glVertexStream2dATI"/>
+ <command name="glVertexStream2dvATI"/>
+ <command name="glVertexStream3sATI"/>
+ <command name="glVertexStream3svATI"/>
+ <command name="glVertexStream3iATI"/>
+ <command name="glVertexStream3ivATI"/>
+ <command name="glVertexStream3fATI"/>
+ <command name="glVertexStream3fvATI"/>
+ <command name="glVertexStream3dATI"/>
+ <command name="glVertexStream3dvATI"/>
+ <command name="glVertexStream4sATI"/>
+ <command name="glVertexStream4svATI"/>
+ <command name="glVertexStream4iATI"/>
+ <command name="glVertexStream4ivATI"/>
+ <command name="glVertexStream4fATI"/>
+ <command name="glVertexStream4fvATI"/>
+ <command name="glVertexStream4dATI"/>
+ <command name="glVertexStream4dvATI"/>
+ <command name="glNormalStream3bATI"/>
+ <command name="glNormalStream3bvATI"/>
+ <command name="glNormalStream3sATI"/>
+ <command name="glNormalStream3svATI"/>
+ <command name="glNormalStream3iATI"/>
+ <command name="glNormalStream3ivATI"/>
+ <command name="glNormalStream3fATI"/>
+ <command name="glNormalStream3fvATI"/>
+ <command name="glNormalStream3dATI"/>
+ <command name="glNormalStream3dvATI"/>
+ <command name="glClientActiveVertexStreamATI"/>
+ <command name="glVertexBlendEnviATI"/>
+ <command name="glVertexBlendEnvfATI"/>
+ </require>
+ </extension>
+ <extension name="GL_DMP_shader_binary" supported="gles2">
+ <require>
+ <enum name="GL_SHADER_BINARY_DMP"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_422_pixels" supported="gl">
+ <require>
+ <enum name="GL_422_EXT"/>
+ <enum name="GL_422_REV_EXT"/>
+ <enum name="GL_422_AVERAGE_EXT"/>
+ <enum name="GL_422_REV_AVERAGE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_abgr" supported="gl">
+ <require>
+ <enum name="GL_ABGR_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_bgra" supported="gl">
+ <require>
+ <enum name="GL_BGR_EXT"/>
+ <enum name="GL_BGRA_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_bindable_uniform" supported="gl">
+ <require>
+ <enum name="GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"/>
+ <enum name="GL_UNIFORM_BUFFER_EXT"/>
+ <enum name="GL_UNIFORM_BUFFER_BINDING_EXT"/>
+ <command name="glUniformBufferEXT"/>
+ <command name="glGetUniformBufferSizeEXT"/>
+ <command name="glGetUniformOffsetEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_blend_color" supported="gl">
+ <require>
+ <enum name="GL_CONSTANT_COLOR_EXT"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR_EXT"/>
+ <enum name="GL_CONSTANT_ALPHA_EXT"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA_EXT"/>
+ <enum name="GL_BLEND_COLOR_EXT"/>
+ <command name="glBlendColorEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_blend_equation_separate" supported="gl">
+ <require>
+ <enum name="GL_BLEND_EQUATION_RGB_EXT"/>
+ <enum name="GL_BLEND_EQUATION_ALPHA_EXT"/>
+ <command name="glBlendEquationSeparateEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_blend_func_separate" supported="gl">
+ <require>
+ <enum name="GL_BLEND_DST_RGB_EXT"/>
+ <enum name="GL_BLEND_SRC_RGB_EXT"/>
+ <enum name="GL_BLEND_DST_ALPHA_EXT"/>
+ <enum name="GL_BLEND_SRC_ALPHA_EXT"/>
+ <command name="glBlendFuncSeparateEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_blend_logic_op" supported="gl"/>
+ <extension name="GL_EXT_blend_minmax" supported="gl|gles1|gles2">
+ <require>
+ <enum name="GL_MIN_EXT"/>
+ <enum name="GL_MAX_EXT"/>
+ </require>
+ <require api="gl">
+ <enum name="GL_FUNC_ADD_EXT"/>
+ <enum name="GL_BLEND_EQUATION_EXT"/>
+ <command name="glBlendEquationEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_blend_subtract" supported="gl">
+ <require>
+ <enum name="GL_FUNC_SUBTRACT_EXT"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_clip_volume_hint" supported="gl">
+ <require>
+ <enum name="GL_CLIP_VOLUME_CLIPPING_HINT_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_cmyka" supported="gl">
+ <require>
+ <enum name="GL_CMYK_EXT"/>
+ <enum name="GL_CMYKA_EXT"/>
+ <enum name="GL_PACK_CMYK_HINT_EXT"/>
+ <enum name="GL_UNPACK_CMYK_HINT_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_color_buffer_half_float" supported="gles2">
+ <require>
+ <enum name="GL_RGBA16F_EXT"/>
+ <enum name="GL_RGB16F_EXT"/>
+ <enum name="GL_RG16F_EXT"/>
+ <enum name="GL_R16F_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT"/>
+ <enum name="GL_UNSIGNED_NORMALIZED_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_color_subtable" supported="gl">
+ <require>
+ <command name="glColorSubTableEXT"/>
+ <command name="glCopyColorSubTableEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_compiled_vertex_array" supported="gl">
+ <require>
+ <enum name="GL_ARRAY_ELEMENT_LOCK_FIRST_EXT"/>
+ <enum name="GL_ARRAY_ELEMENT_LOCK_COUNT_EXT"/>
+ <command name="glLockArraysEXT"/>
+ <command name="glUnlockArraysEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_convolution" supported="gl">
+ <require>
+ <enum name="GL_CONVOLUTION_1D_EXT"/>
+ <enum name="GL_CONVOLUTION_2D_EXT"/>
+ <enum name="GL_SEPARABLE_2D_EXT"/>
+ <enum name="GL_CONVOLUTION_BORDER_MODE_EXT"/>
+ <enum name="GL_CONVOLUTION_FILTER_SCALE_EXT"/>
+ <enum name="GL_CONVOLUTION_FILTER_BIAS_EXT"/>
+ <enum name="GL_REDUCE_EXT"/>
+ <enum name="GL_CONVOLUTION_FORMAT_EXT"/>
+ <enum name="GL_CONVOLUTION_WIDTH_EXT"/>
+ <enum name="GL_CONVOLUTION_HEIGHT_EXT"/>
+ <enum name="GL_MAX_CONVOLUTION_WIDTH_EXT"/>
+ <enum name="GL_MAX_CONVOLUTION_HEIGHT_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_RED_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_SCALE_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_RED_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_GREEN_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_BLUE_BIAS_EXT"/>
+ <enum name="GL_POST_CONVOLUTION_ALPHA_BIAS_EXT"/>
+ <command name="glConvolutionFilter1DEXT"/>
+ <command name="glConvolutionFilter2DEXT"/>
+ <command name="glConvolutionParameterfEXT"/>
+ <command name="glConvolutionParameterfvEXT"/>
+ <command name="glConvolutionParameteriEXT"/>
+ <command name="glConvolutionParameterivEXT"/>
+ <command name="glCopyConvolutionFilter1DEXT"/>
+ <command name="glCopyConvolutionFilter2DEXT"/>
+ <command name="glGetConvolutionFilterEXT"/>
+ <command name="glGetConvolutionParameterfvEXT"/>
+ <command name="glGetConvolutionParameterivEXT"/>
+ <command name="glGetSeparableFilterEXT"/>
+ <command name="glSeparableFilter2DEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_coordinate_frame" supported="gl">
+ <require>
+ <enum name="GL_TANGENT_ARRAY_EXT"/>
+ <enum name="GL_BINORMAL_ARRAY_EXT"/>
+ <enum name="GL_CURRENT_TANGENT_EXT"/>
+ <enum name="GL_CURRENT_BINORMAL_EXT"/>
+ <enum name="GL_TANGENT_ARRAY_TYPE_EXT"/>
+ <enum name="GL_TANGENT_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_BINORMAL_ARRAY_TYPE_EXT"/>
+ <enum name="GL_BINORMAL_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_TANGENT_ARRAY_POINTER_EXT"/>
+ <enum name="GL_BINORMAL_ARRAY_POINTER_EXT"/>
+ <enum name="GL_MAP1_TANGENT_EXT"/>
+ <enum name="GL_MAP2_TANGENT_EXT"/>
+ <enum name="GL_MAP1_BINORMAL_EXT"/>
+ <enum name="GL_MAP2_BINORMAL_EXT"/>
+ <command name="glTangent3bEXT"/>
+ <command name="glTangent3bvEXT"/>
+ <command name="glTangent3dEXT"/>
+ <command name="glTangent3dvEXT"/>
+ <command name="glTangent3fEXT"/>
+ <command name="glTangent3fvEXT"/>
+ <command name="glTangent3iEXT"/>
+ <command name="glTangent3ivEXT"/>
+ <command name="glTangent3sEXT"/>
+ <command name="glTangent3svEXT"/>
+ <command name="glBinormal3bEXT"/>
+ <command name="glBinormal3bvEXT"/>
+ <command name="glBinormal3dEXT"/>
+ <command name="glBinormal3dvEXT"/>
+ <command name="glBinormal3fEXT"/>
+ <command name="glBinormal3fvEXT"/>
+ <command name="glBinormal3iEXT"/>
+ <command name="glBinormal3ivEXT"/>
+ <command name="glBinormal3sEXT"/>
+ <command name="glBinormal3svEXT"/>
+ <command name="glTangentPointerEXT"/>
+ <command name="glBinormalPointerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_copy_image" supported="gles2">
+ <require>
+ <command name="glCopyImageSubDataEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_copy_texture" supported="gl">
+ <require>
+ <command name="glCopyTexImage1DEXT"/>
+ <command name="glCopyTexImage2DEXT"/>
+ <command name="glCopyTexSubImage1DEXT"/>
+ <command name="glCopyTexSubImage2DEXT"/>
+ <command name="glCopyTexSubImage3DEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_cull_vertex" supported="gl">
+ <require>
+ <enum name="GL_CULL_VERTEX_EXT"/>
+ <enum name="GL_CULL_VERTEX_EYE_POSITION_EXT"/>
+ <enum name="GL_CULL_VERTEX_OBJECT_POSITION_EXT"/>
+ <command name="glCullParameterdvEXT"/>
+ <command name="glCullParameterfvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_debug_label" supported="gl|gles2">
+ <require>
+ <enum name="GL_PROGRAM_PIPELINE_OBJECT_EXT"/>
+ <enum name="GL_PROGRAM_OBJECT_EXT"/>
+ <enum name="GL_SHADER_OBJECT_EXT"/>
+ <enum name="GL_BUFFER_OBJECT_EXT"/>
+ <enum name="GL_QUERY_OBJECT_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_OBJECT_EXT"/>
+ <command name="glLabelObjectEXT"/>
+ <command name="glGetObjectLabelEXT"/>
+ </require>
+ <require comment="Depends on OpenGL ES 3.0">
+ <enum name="GL_SAMPLER"/>
+ <enum name="GL_TRANSFORM_FEEDBACK"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_debug_marker" supported="gl|gles2">
+ <require>
+ <command name="glInsertEventMarkerEXT"/>
+ <command name="glPushGroupMarkerEXT"/>
+ <command name="glPopGroupMarkerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_depth_bounds_test" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_BOUNDS_TEST_EXT"/>
+ <enum name="GL_DEPTH_BOUNDS_EXT"/>
+ <command name="glDepthBoundsEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_direct_state_access" supported="gl" comment="DSA extension doesn't identify which interfaces are core profile and keeps getting expanded. This is in sync with revision 34, 2010/09/07">
+ <require>
+ <enum name="GL_PROGRAM_MATRIX_EXT"/>
+ <enum name="GL_TRANSPOSE_PROGRAM_MATRIX_EXT"/>
+ <enum name="GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"/>
+ </require>
+ <require comment="OpenGL 1.0: New matrix commands">
+ <command name="glMatrixLoadfEXT"/>
+ <command name="glMatrixLoaddEXT"/>
+ <command name="glMatrixMultfEXT"/>
+ <command name="glMatrixMultdEXT"/>
+ <command name="glMatrixLoadIdentityEXT"/>
+ <command name="glMatrixRotatefEXT"/>
+ <command name="glMatrixRotatedEXT"/>
+ <command name="glMatrixScalefEXT"/>
+ <command name="glMatrixScaledEXT"/>
+ <command name="glMatrixTranslatefEXT"/>
+ <command name="glMatrixTranslatedEXT"/>
+ <command name="glMatrixFrustumEXT"/>
+ <command name="glMatrixOrthoEXT"/>
+ <command name="glMatrixPopEXT"/>
+ <command name="glMatrixPushEXT"/>
+ </require>
+ <require comment="OpenGL 1.1: New client commands">
+ <command name="glClientAttribDefaultEXT"/>
+ <command name="glPushClientAttribDefaultEXT"/>
+ </require>
+ <require comment="OpenGL 1.1: New texture object commands">
+ <command name="glTextureParameterfEXT"/>
+ <command name="glTextureParameterfvEXT"/>
+ <command name="glTextureParameteriEXT"/>
+ <command name="glTextureParameterivEXT"/>
+ <command name="glTextureImage1DEXT"/>
+ <command name="glTextureImage2DEXT"/>
+ <command name="glTextureSubImage1DEXT"/>
+ <command name="glTextureSubImage2DEXT"/>
+ <command name="glCopyTextureImage1DEXT"/>
+ <command name="glCopyTextureImage2DEXT"/>
+ <command name="glCopyTextureSubImage1DEXT"/>
+ <command name="glCopyTextureSubImage2DEXT"/>
+ <command name="glGetTextureImageEXT"/>
+ <command name="glGetTextureParameterfvEXT"/>
+ <command name="glGetTextureParameterivEXT"/>
+ <command name="glGetTextureLevelParameterfvEXT"/>
+ <command name="glGetTextureLevelParameterivEXT"/>
+ </require>
+ <require comment="OpenGL 1.2: New 3D texture object commands">
+ <command name="glTextureImage3DEXT"/>
+ <command name="glTextureSubImage3DEXT"/>
+ <command name="glCopyTextureSubImage3DEXT"/>
+ </require>
+ <require comment="OpenGL 1.2.1: New multitexture commands">
+ <command name="glBindMultiTextureEXT"/>
+ <command name="glMultiTexCoordPointerEXT"/>
+ <command name="glMultiTexEnvfEXT"/>
+ <command name="glMultiTexEnvfvEXT"/>
+ <command name="glMultiTexEnviEXT"/>
+ <command name="glMultiTexEnvivEXT"/>
+ <command name="glMultiTexGendEXT"/>
+ <command name="glMultiTexGendvEXT"/>
+ <command name="glMultiTexGenfEXT"/>
+ <command name="glMultiTexGenfvEXT"/>
+ <command name="glMultiTexGeniEXT"/>
+ <command name="glMultiTexGenivEXT"/>
+ <command name="glGetMultiTexEnvfvEXT"/>
+ <command name="glGetMultiTexEnvivEXT"/>
+ <command name="glGetMultiTexGendvEXT"/>
+ <command name="glGetMultiTexGenfvEXT"/>
+ <command name="glGetMultiTexGenivEXT"/>
+ <command name="glMultiTexParameteriEXT"/>
+ <command name="glMultiTexParameterivEXT"/>
+ <command name="glMultiTexParameterfEXT"/>
+ <command name="glMultiTexParameterfvEXT"/>
+ <command name="glMultiTexImage1DEXT"/>
+ <command name="glMultiTexImage2DEXT"/>
+ <command name="glMultiTexSubImage1DEXT"/>
+ <command name="glMultiTexSubImage2DEXT"/>
+ <command name="glCopyMultiTexImage1DEXT"/>
+ <command name="glCopyMultiTexImage2DEXT"/>
+ <command name="glCopyMultiTexSubImage1DEXT"/>
+ <command name="glCopyMultiTexSubImage2DEXT"/>
+ <command name="glGetMultiTexImageEXT"/>
+ <command name="glGetMultiTexParameterfvEXT"/>
+ <command name="glGetMultiTexParameterivEXT"/>
+ <command name="glGetMultiTexLevelParameterfvEXT"/>
+ <command name="glGetMultiTexLevelParameterivEXT"/>
+ <command name="glMultiTexImage3DEXT"/>
+ <command name="glMultiTexSubImage3DEXT"/>
+ <command name="glCopyMultiTexSubImage3DEXT"/>
+ </require>
+ <require comment="OpenGL 1.2.1: New indexed texture commands">
+ <command name="glEnableClientStateIndexedEXT"/>
+ <command name="glDisableClientStateIndexedEXT"/>
+ </require>
+ <require comment="OpenGL 1.2.1: New indexed generic queries">
+ <command name="glGetFloatIndexedvEXT"/>
+ <command name="glGetDoubleIndexedvEXT"/>
+ <command name="glGetPointerIndexedvEXT"/>
+ </require>
+ <require comment="OpenGL 1.2.1: Extend EXT_draw_buffers2 commands">
+ <command name="glEnableIndexedEXT"/>
+ <command name="glDisableIndexedEXT"/>
+ <command name="glIsEnabledIndexedEXT"/>
+ <command name="glGetIntegerIndexedvEXT"/>
+ <command name="glGetBooleanIndexedvEXT"/>
+ </require>
+ <require comment="OpenGL 1.3: New compressed texture object commands">
+ <command name="glCompressedTextureImage3DEXT"/>
+ <command name="glCompressedTextureImage2DEXT"/>
+ <command name="glCompressedTextureImage1DEXT"/>
+ <command name="glCompressedTextureSubImage3DEXT"/>
+ <command name="glCompressedTextureSubImage2DEXT"/>
+ <command name="glCompressedTextureSubImage1DEXT"/>
+ <command name="glGetCompressedTextureImageEXT"/>
+ </require>
+ <require comment="OpenGL 1.3: New multitexture compressed texture commands">
+ <command name="glCompressedMultiTexImage3DEXT"/>
+ <command name="glCompressedMultiTexImage2DEXT"/>
+ <command name="glCompressedMultiTexImage1DEXT"/>
+ <command name="glCompressedMultiTexSubImage3DEXT"/>
+ <command name="glCompressedMultiTexSubImage2DEXT"/>
+ <command name="glCompressedMultiTexSubImage1DEXT"/>
+ <command name="glGetCompressedMultiTexImageEXT"/>
+ </require>
+ <require comment="OpenGL 1.3: New transpose matrix commands">
+ <command name="glMatrixLoadTransposefEXT"/>
+ <command name="glMatrixLoadTransposedEXT"/>
+ <command name="glMatrixMultTransposefEXT"/>
+ <command name="glMatrixMultTransposedEXT"/>
+ </require>
+ <require comment="OpenGL 1.5: New buffer commands">
+ <command name="glNamedBufferDataEXT"/>
+ <command name="glNamedBufferSubDataEXT"/>
+ <command name="glMapNamedBufferEXT"/>
+ <command name="glUnmapNamedBufferEXT"/>
+ <command name="glGetNamedBufferParameterivEXT"/>
+ <command name="glGetNamedBufferPointervEXT"/>
+ <command name="glGetNamedBufferSubDataEXT"/>
+ </require>
+ <require comment="OpenGL 2.0: New uniform commands">
+ <command name="glProgramUniform1fEXT"/>
+ <command name="glProgramUniform2fEXT"/>
+ <command name="glProgramUniform3fEXT"/>
+ <command name="glProgramUniform4fEXT"/>
+ <command name="glProgramUniform1iEXT"/>
+ <command name="glProgramUniform2iEXT"/>
+ <command name="glProgramUniform3iEXT"/>
+ <command name="glProgramUniform4iEXT"/>
+ <command name="glProgramUniform1fvEXT"/>
+ <command name="glProgramUniform2fvEXT"/>
+ <command name="glProgramUniform3fvEXT"/>
+ <command name="glProgramUniform4fvEXT"/>
+ <command name="glProgramUniform1ivEXT"/>
+ <command name="glProgramUniform2ivEXT"/>
+ <command name="glProgramUniform3ivEXT"/>
+ <command name="glProgramUniform4ivEXT"/>
+ <command name="glProgramUniformMatrix2fvEXT"/>
+ <command name="glProgramUniformMatrix3fvEXT"/>
+ <command name="glProgramUniformMatrix4fvEXT"/>
+ </require>
+ <require comment="OpenGL 2.1: New uniform matrix commands">
+ <command name="glProgramUniformMatrix2x3fvEXT"/>
+ <command name="glProgramUniformMatrix3x2fvEXT"/>
+ <command name="glProgramUniformMatrix2x4fvEXT"/>
+ <command name="glProgramUniformMatrix4x2fvEXT"/>
+ <command name="glProgramUniformMatrix3x4fvEXT"/>
+ <command name="glProgramUniformMatrix4x3fvEXT"/>
+ </require>
+ <require comment="Extend EXT_texture_buffer_object commands">
+ <command name="glTextureBufferEXT"/>
+ <command name="glMultiTexBufferEXT"/>
+ </require>
+ <require comment="Extend EXT_texture_integer commands">
+ <command name="glTextureParameterIivEXT"/>
+ <command name="glTextureParameterIuivEXT"/>
+ <command name="glGetTextureParameterIivEXT"/>
+ <command name="glGetTextureParameterIuivEXT"/>
+ <command name="glMultiTexParameterIivEXT"/>
+ <command name="glMultiTexParameterIuivEXT"/>
+ <command name="glGetMultiTexParameterIivEXT"/>
+ <command name="glGetMultiTexParameterIuivEXT"/>
+ </require>
+ <require comment="Extend EXT_gpu_shader4 commands">
+ <command name="glProgramUniform1uiEXT"/>
+ <command name="glProgramUniform2uiEXT"/>
+ <command name="glProgramUniform3uiEXT"/>
+ <command name="glProgramUniform4uiEXT"/>
+ <command name="glProgramUniform1uivEXT"/>
+ <command name="glProgramUniform2uivEXT"/>
+ <command name="glProgramUniform3uivEXT"/>
+ <command name="glProgramUniform4uivEXT"/>
+ </require>
+ <require comment="Extend EXT_gpu_program_parameters commands">
+ <command name="glNamedProgramLocalParameters4fvEXT"/>
+ </require>
+ <require comment="Extend NV_gpu_program4 commands">
+ <command name="glNamedProgramLocalParameterI4iEXT"/>
+ <command name="glNamedProgramLocalParameterI4ivEXT"/>
+ <command name="glNamedProgramLocalParametersI4ivEXT"/>
+ <command name="glNamedProgramLocalParameterI4uiEXT"/>
+ <command name="glNamedProgramLocalParameterI4uivEXT"/>
+ <command name="glNamedProgramLocalParametersI4uivEXT"/>
+ <command name="glGetNamedProgramLocalParameterIivEXT"/>
+ <command name="glGetNamedProgramLocalParameterIuivEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New indexed texture commands">
+ <command name="glEnableClientStateiEXT"/>
+ <command name="glDisableClientStateiEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New indexed generic queries">
+ <command name="glGetFloati_vEXT"/>
+ <command name="glGetDoublei_vEXT"/>
+ <command name="glGetPointeri_vEXT"/>
+ </require>
+ <require comment="Extend GL_ARB_vertex_program commands">
+ <command name="glNamedProgramStringEXT"/>
+ <command name="glNamedProgramLocalParameter4dEXT"/>
+ <command name="glNamedProgramLocalParameter4dvEXT"/>
+ <command name="glNamedProgramLocalParameter4fEXT"/>
+ <command name="glNamedProgramLocalParameter4fvEXT"/>
+ <command name="glGetNamedProgramLocalParameterdvEXT"/>
+ <command name="glGetNamedProgramLocalParameterfvEXT"/>
+ <command name="glGetNamedProgramivEXT"/>
+ <command name="glGetNamedProgramStringEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New renderbuffer commands">
+ <command name="glNamedRenderbufferStorageEXT"/>
+ <command name="glGetNamedRenderbufferParameterivEXT"/>
+ <command name="glNamedRenderbufferStorageMultisampleEXT"/>
+ </require>
+ <require comment="Extend NV_framebuffer_multisample_coverage">
+ <command name="glNamedRenderbufferStorageMultisampleCoverageEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New framebuffer commands">
+ <command name="glCheckNamedFramebufferStatusEXT"/>
+ <command name="glNamedFramebufferTexture1DEXT"/>
+ <command name="glNamedFramebufferTexture2DEXT"/>
+ <command name="glNamedFramebufferTexture3DEXT"/>
+ <command name="glNamedFramebufferRenderbufferEXT"/>
+ <command name="glGetNamedFramebufferAttachmentParameterivEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New texture commands">
+ <command name="glGenerateTextureMipmapEXT"/>
+ <command name="glGenerateMultiTexMipmapEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New framebuffer commands">
+ <command name="glFramebufferDrawBufferEXT"/>
+ <command name="glFramebufferDrawBuffersEXT"/>
+ <command name="glFramebufferReadBufferEXT"/>
+ <command name="glGetFramebufferParameterivEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New buffer data copy command">
+ <command name="glNamedCopyBufferSubDataEXT"/>
+ </require>
+ <require comment="Extend EXT_geometry_shader4 or NV_gpu_program4">
+ <command name="glNamedFramebufferTextureEXT"/>
+ <command name="glNamedFramebufferTextureLayerEXT"/>
+ <command name="glNamedFramebufferTextureFaceEXT"/>
+ </require>
+ <require comment="Extend NV_explicit_multisample">
+ <command name="glTextureRenderbufferEXT"/>
+ <command name="glMultiTexRenderbufferEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New vertex array specification commands for VAO">
+ <command name="glVertexArrayVertexOffsetEXT"/>
+ <command name="glVertexArrayColorOffsetEXT"/>
+ <command name="glVertexArrayEdgeFlagOffsetEXT"/>
+ <command name="glVertexArrayIndexOffsetEXT"/>
+ <command name="glVertexArrayNormalOffsetEXT"/>
+ <command name="glVertexArrayTexCoordOffsetEXT"/>
+ <command name="glVertexArrayMultiTexCoordOffsetEXT"/>
+ <command name="glVertexArrayFogCoordOffsetEXT"/>
+ <command name="glVertexArraySecondaryColorOffsetEXT"/>
+ <command name="glVertexArrayVertexAttribOffsetEXT"/>
+ <command name="glVertexArrayVertexAttribIOffsetEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New vertex array enable commands for VAO">
+ <command name="glEnableVertexArrayEXT"/>
+ <command name="glDisableVertexArrayEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New vertex attrib array enable commands for VAO">
+ <command name="glEnableVertexArrayAttribEXT"/>
+ <command name="glDisableVertexArrayAttribEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New queries for VAO">
+ <command name="glGetVertexArrayIntegervEXT"/>
+ <command name="glGetVertexArrayPointervEXT"/>
+ <command name="glGetVertexArrayIntegeri_vEXT"/>
+ <command name="glGetVertexArrayPointeri_vEXT"/>
+ </require>
+ <require comment="OpenGL 3.0: New buffer commands">
+ <command name="glMapNamedBufferRangeEXT"/>
+ <command name="glFlushMappedNamedBufferRangeEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_buffer_storage">
+ <command name="glNamedBufferStorageEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_clear_buffer_object">
+ <command name="glClearNamedBufferDataEXT"/>
+ <command name="glClearNamedBufferSubDataEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_framebuffer_no_attachments">
+ <command name="glNamedFramebufferParameteriEXT"/>
+ <command name="glGetNamedFramebufferParameterivEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_gpu_shader_fp64">
+ <command name="glProgramUniform1dEXT"/>
+ <command name="glProgramUniform2dEXT"/>
+ <command name="glProgramUniform3dEXT"/>
+ <command name="glProgramUniform4dEXT"/>
+ <command name="glProgramUniform1dvEXT"/>
+ <command name="glProgramUniform2dvEXT"/>
+ <command name="glProgramUniform3dvEXT"/>
+ <command name="glProgramUniform4dvEXT"/>
+ <command name="glProgramUniformMatrix2dvEXT"/>
+ <command name="glProgramUniformMatrix3dvEXT"/>
+ <command name="glProgramUniformMatrix4dvEXT"/>
+ <command name="glProgramUniformMatrix2x3dvEXT"/>
+ <command name="glProgramUniformMatrix2x4dvEXT"/>
+ <command name="glProgramUniformMatrix3x2dvEXT"/>
+ <command name="glProgramUniformMatrix3x4dvEXT"/>
+ <command name="glProgramUniformMatrix4x2dvEXT"/>
+ <command name="glProgramUniformMatrix4x3dvEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_texture_buffer_range">
+ <command name="glTextureBufferRangeEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_texture_storage">
+ <command name="glTextureStorage1DEXT"/>
+ <command name="glTextureStorage2DEXT"/>
+ <command name="glTextureStorage3DEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_texture_storage_multisample">
+ <command name="glTextureStorage2DMultisampleEXT"/>
+ <command name="glTextureStorage3DMultisampleEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_vertex_attrib_binding">
+ <command name="glVertexArrayBindVertexBufferEXT"/>
+ <command name="glVertexArrayVertexAttribFormatEXT"/>
+ <command name="glVertexArrayVertexAttribIFormatEXT"/>
+ <command name="glVertexArrayVertexAttribLFormatEXT"/>
+ <command name="glVertexArrayVertexAttribBindingEXT"/>
+ <command name="glVertexArrayVertexBindingDivisorEXT"/>
+ </require>
+ <require comment="Extended by GL_EXT_vertex_attrib_64bit">
+ <command name="glVertexArrayVertexAttribLOffsetEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_sparse_texture">
+ <command name="glTexturePageCommitmentEXT"/>
+ </require>
+ <require comment="Extended by GL_ARB_instanced_arrays">
+ <command name="glVertexArrayVertexAttribDivisorEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_discard_framebuffer" supported="gles1|gles2">
+ <require>
+ <enum name="GL_COLOR_EXT"/>
+ <enum name="GL_DEPTH_EXT"/>
+ <enum name="GL_STENCIL_EXT"/>
+ <command name="glDiscardFramebufferEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_disjoint_timer_query" supported="gles2">
+ <require>
+ <enum name="GL_QUERY_COUNTER_BITS_EXT"/>
+ <enum name="GL_CURRENT_QUERY_EXT"/>
+ <enum name="GL_QUERY_RESULT_EXT"/>
+ <enum name="GL_QUERY_RESULT_AVAILABLE_EXT"/>
+ <enum name="GL_TIME_ELAPSED_EXT"/>
+ <enum name="GL_TIMESTAMP_EXT"/>
+ <enum name="GL_GPU_DISJOINT_EXT"/>
+ <command name="glGenQueriesEXT"/>
+ <command name="glDeleteQueriesEXT"/>
+ <command name="glIsQueryEXT"/>
+ <command name="glBeginQueryEXT"/>
+ <command name="glEndQueryEXT"/>
+ <command name="glQueryCounterEXT"/>
+ <command name="glGetQueryivEXT"/>
+ <command name="glGetQueryObjectivEXT"/>
+ <command name="glGetQueryObjectuivEXT"/>
+ <command name="glGetQueryObjecti64vEXT"/>
+ <command name="glGetQueryObjectui64vEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_draw_buffers" supported="gles2">
+ <require>
+ <enum name="GL_MAX_COLOR_ATTACHMENTS_EXT"/>
+ <enum name="GL_MAX_DRAW_BUFFERS_EXT"/>
+ <enum name="GL_DRAW_BUFFER0_EXT"/>
+ <enum name="GL_DRAW_BUFFER1_EXT"/>
+ <enum name="GL_DRAW_BUFFER2_EXT"/>
+ <enum name="GL_DRAW_BUFFER3_EXT"/>
+ <enum name="GL_DRAW_BUFFER4_EXT"/>
+ <enum name="GL_DRAW_BUFFER5_EXT"/>
+ <enum name="GL_DRAW_BUFFER6_EXT"/>
+ <enum name="GL_DRAW_BUFFER7_EXT"/>
+ <enum name="GL_DRAW_BUFFER8_EXT"/>
+ <enum name="GL_DRAW_BUFFER9_EXT"/>
+ <enum name="GL_DRAW_BUFFER10_EXT"/>
+ <enum name="GL_DRAW_BUFFER11_EXT"/>
+ <enum name="GL_DRAW_BUFFER12_EXT"/>
+ <enum name="GL_DRAW_BUFFER13_EXT"/>
+ <enum name="GL_DRAW_BUFFER14_EXT"/>
+ <enum name="GL_DRAW_BUFFER15_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT0_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT1_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT2_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT3_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT4_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT5_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT6_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT7_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT8_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT9_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT10_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT11_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT12_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT13_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT14_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT15_EXT"/>
+ <command name="glDrawBuffersEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_draw_buffers2" supported="gl">
+ <require>
+ <command name="glColorMaskIndexedEXT"/>
+ <command name="glGetBooleanIndexedvEXT"/>
+ <command name="glGetIntegerIndexedvEXT"/>
+ <command name="glEnableIndexedEXT"/>
+ <command name="glDisableIndexedEXT"/>
+ <command name="glIsEnabledIndexedEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_draw_buffers_indexed" supported="gles2">
+ <require>
+ <enum name="GL_BLEND_EQUATION_RGB"/>
+ <enum name="GL_BLEND_EQUATION_ALPHA"/>
+ <enum name="GL_BLEND_SRC_RGB"/>
+ <enum name="GL_BLEND_SRC_ALPHA"/>
+ <enum name="GL_BLEND_DST_RGB"/>
+ <enum name="GL_BLEND_DST_ALPHA"/>
+ <enum name="GL_COLOR_WRITEMASK"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_FUNC_ADD"/>
+ <enum name="GL_FUNC_SUBTRACT"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+ <enum name="GL_MIN"/>
+ <enum name="GL_MAX"/>
+ <enum name="GL_ZERO"/>
+ <enum name="GL_ONE"/>
+ <enum name="GL_SRC_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC_COLOR"/>
+ <enum name="GL_DST_COLOR"/>
+ <enum name="GL_ONE_MINUS_DST_COLOR"/>
+ <enum name="GL_SRC_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum name="GL_DST_ALPHA"/>
+ <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum name="GL_CONSTANT_COLOR"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+ <enum name="GL_CONSTANT_ALPHA"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+ <enum name="GL_SRC_ALPHA_SATURATE"/>
+ <command name="glEnableiEXT"/>
+ <command name="glDisableiEXT"/>
+ <command name="glBlendEquationiEXT"/>
+ <command name="glBlendEquationSeparateiEXT"/>
+ <command name="glBlendFunciEXT"/>
+ <command name="glBlendFuncSeparateiEXT"/>
+ <command name="glColorMaskiEXT"/>
+ <command name="glIsEnablediEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_draw_instanced" supported="gl|gles2">
+ <require>
+ <command name="glDrawArraysInstancedEXT"/>
+ <command name="glDrawElementsInstancedEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_draw_range_elements" supported="gl">
+ <require>
+ <enum name="GL_MAX_ELEMENTS_VERTICES_EXT"/>
+ <enum name="GL_MAX_ELEMENTS_INDICES_EXT"/>
+ <command name="glDrawRangeElementsEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_fog_coord" supported="gl">
+ <require>
+ <enum name="GL_FOG_COORDINATE_SOURCE_EXT"/>
+ <enum name="GL_FOG_COORDINATE_EXT"/>
+ <enum name="GL_FRAGMENT_DEPTH_EXT"/>
+ <enum name="GL_CURRENT_FOG_COORDINATE_EXT"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_TYPE_EXT"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_POINTER_EXT"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_EXT"/>
+ <command name="glFogCoordfEXT"/>
+ <command name="glFogCoordfvEXT"/>
+ <command name="glFogCoorddEXT"/>
+ <command name="glFogCoorddvEXT"/>
+ <command name="glFogCoordPointerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_framebuffer_blit" supported="gl">
+ <require>
+ <enum name="GL_READ_FRAMEBUFFER_EXT"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_EXT"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_BINDING_EXT"/>
+ <enum name="GL_READ_FRAMEBUFFER_BINDING_EXT"/>
+ <command name="glBlitFramebufferEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_framebuffer_multisample" supported="gl">
+ <require>
+ <enum name="GL_RENDERBUFFER_SAMPLES_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT"/>
+ <enum name="GL_MAX_SAMPLES_EXT"/>
+ <command name="glRenderbufferStorageMultisampleEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_framebuffer_multisample_blit_scaled" supported="gl">
+ <require>
+ <enum name="GL_SCALED_RESOLVE_FASTEST_EXT"/>
+ <enum name="GL_SCALED_RESOLVE_NICEST_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_framebuffer_object" supported="gl">
+ <require>
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION_EXT"/>
+ <enum name="GL_MAX_RENDERBUFFER_SIZE_EXT"/>
+ <enum name="GL_FRAMEBUFFER_BINDING_EXT"/>
+ <enum name="GL_RENDERBUFFER_BINDING_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT"/>
+ <enum name="GL_FRAMEBUFFER_COMPLETE_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT"/>
+ <enum name="GL_FRAMEBUFFER_UNSUPPORTED_EXT"/>
+ <enum name="GL_MAX_COLOR_ATTACHMENTS_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT0_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT1_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT2_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT3_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT4_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT5_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT6_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT7_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT8_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT9_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT10_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT11_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT12_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT13_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT14_EXT"/>
+ <enum name="GL_COLOR_ATTACHMENT15_EXT"/>
+ <enum name="GL_DEPTH_ATTACHMENT_EXT"/>
+ <enum name="GL_STENCIL_ATTACHMENT_EXT"/>
+ <enum name="GL_FRAMEBUFFER_EXT"/>
+ <enum name="GL_RENDERBUFFER_EXT"/>
+ <enum name="GL_RENDERBUFFER_WIDTH_EXT"/>
+ <enum name="GL_RENDERBUFFER_HEIGHT_EXT"/>
+ <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT_EXT"/>
+ <enum name="GL_STENCIL_INDEX1_EXT"/>
+ <enum name="GL_STENCIL_INDEX4_EXT"/>
+ <enum name="GL_STENCIL_INDEX8_EXT"/>
+ <enum name="GL_STENCIL_INDEX16_EXT"/>
+ <enum name="GL_RENDERBUFFER_RED_SIZE_EXT"/>
+ <enum name="GL_RENDERBUFFER_GREEN_SIZE_EXT"/>
+ <enum name="GL_RENDERBUFFER_BLUE_SIZE_EXT"/>
+ <enum name="GL_RENDERBUFFER_ALPHA_SIZE_EXT"/>
+ <enum name="GL_RENDERBUFFER_DEPTH_SIZE_EXT"/>
+ <enum name="GL_RENDERBUFFER_STENCIL_SIZE_EXT"/>
+ <command name="glIsRenderbufferEXT"/>
+ <command name="glBindRenderbufferEXT"/>
+ <command name="glDeleteRenderbuffersEXT"/>
+ <command name="glGenRenderbuffersEXT"/>
+ <command name="glRenderbufferStorageEXT"/>
+ <command name="glGetRenderbufferParameterivEXT"/>
+ <command name="glIsFramebufferEXT"/>
+ <command name="glBindFramebufferEXT"/>
+ <command name="glDeleteFramebuffersEXT"/>
+ <command name="glGenFramebuffersEXT"/>
+ <command name="glCheckFramebufferStatusEXT"/>
+ <command name="glFramebufferTexture1DEXT"/>
+ <command name="glFramebufferTexture2DEXT"/>
+ <command name="glFramebufferTexture3DEXT"/>
+ <command name="glFramebufferRenderbufferEXT"/>
+ <command name="glGetFramebufferAttachmentParameterivEXT"/>
+ <command name="glGenerateMipmapEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_framebuffer_sRGB" supported="gl">
+ <require>
+ <enum name="GL_FRAMEBUFFER_SRGB_EXT"/>
+ <enum name="GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_geometry_point_size" supported="gles2"/>
+ <extension name="GL_EXT_geometry_shader" supported="gles2">
+ <require>
+ <enum name="GL_GEOMETRY_SHADER_EXT"/>
+ <enum name="GL_GEOMETRY_SHADER_BIT_EXT"/>
+ <enum name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"/>
+ <enum name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"/>
+ <enum name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"/>
+ <enum name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+ <enum name="GL_LAYER_PROVOKING_VERTEX_EXT"/>
+ <enum name="GL_LINES_ADJACENCY_EXT"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT"/>
+ <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
+ <enum name="GL_LAST_VERTEX_CONVENTION_EXT"/>
+ <enum name="GL_UNDEFINED_VERTEX_EXT"/>
+ <enum name="GL_PRIMITIVES_GENERATED_EXT"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"/>
+ <enum name="GL_MAX_FRAMEBUFFER_LAYERS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+ <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT"/>
+ <command name="glFramebufferTextureEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_geometry_shader4" supported="gl">
+ <require>
+ <enum name="GL_GEOMETRY_SHADER_EXT"/>
+ <enum name="GL_GEOMETRY_VERTICES_OUT_EXT"/>
+ <enum name="GL_GEOMETRY_INPUT_TYPE_EXT"/>
+ <enum name="GL_GEOMETRY_OUTPUT_TYPE_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_VERTEX_VARYING_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_VARYING_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_LINES_ADJACENCY_EXT"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
+ <enum name="GL_PROGRAM_POINT_SIZE_EXT"/>
+ <command name="glProgramParameteriEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_gpu_program_parameters" supported="gl">
+ <require>
+ <command name="glProgramEnvParameters4fvEXT"/>
+ <command name="glProgramLocalParameters4fvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_gpu_shader4" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT"/>
+ <enum name="GL_SAMPLER_1D_ARRAY_EXT"/>
+ <enum name="GL_SAMPLER_2D_ARRAY_EXT"/>
+ <enum name="GL_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_SAMPLER_1D_ARRAY_SHADOW_EXT"/>
+ <enum name="GL_SAMPLER_2D_ARRAY_SHADOW_EXT"/>
+ <enum name="GL_SAMPLER_CUBE_SHADOW_EXT"/>
+ <enum name="GL_UNSIGNED_INT_VEC2_EXT"/>
+ <enum name="GL_UNSIGNED_INT_VEC3_EXT"/>
+ <enum name="GL_UNSIGNED_INT_VEC4_EXT"/>
+ <enum name="GL_INT_SAMPLER_1D_EXT"/>
+ <enum name="GL_INT_SAMPLER_2D_EXT"/>
+ <enum name="GL_INT_SAMPLER_3D_EXT"/>
+ <enum name="GL_INT_SAMPLER_CUBE_EXT"/>
+ <enum name="GL_INT_SAMPLER_2D_RECT_EXT"/>
+ <enum name="GL_INT_SAMPLER_1D_ARRAY_EXT"/>
+ <enum name="GL_INT_SAMPLER_2D_ARRAY_EXT"/>
+ <enum name="GL_INT_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_1D_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_3D_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET_EXT"/>
+ <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET_EXT"/>
+ <command name="glGetUniformuivEXT"/>
+ <command name="glBindFragDataLocationEXT"/>
+ <command name="glGetFragDataLocationEXT"/>
+ <command name="glUniform1uiEXT"/>
+ <command name="glUniform2uiEXT"/>
+ <command name="glUniform3uiEXT"/>
+ <command name="glUniform4uiEXT"/>
+ <command name="glUniform1uivEXT"/>
+ <command name="glUniform2uivEXT"/>
+ <command name="glUniform3uivEXT"/>
+ <command name="glUniform4uivEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_gpu_shader5" supported="gles2">
+ <require/>
+ </extension>
+ <extension name="GL_EXT_histogram" supported="gl">
+ <require>
+ <enum name="GL_HISTOGRAM_EXT"/>
+ <enum name="GL_PROXY_HISTOGRAM_EXT"/>
+ <enum name="GL_HISTOGRAM_WIDTH_EXT"/>
+ <enum name="GL_HISTOGRAM_FORMAT_EXT"/>
+ <enum name="GL_HISTOGRAM_RED_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_GREEN_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_BLUE_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_ALPHA_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_LUMINANCE_SIZE_EXT"/>
+ <enum name="GL_HISTOGRAM_SINK_EXT"/>
+ <enum name="GL_MINMAX_EXT"/>
+ <enum name="GL_MINMAX_FORMAT_EXT"/>
+ <enum name="GL_MINMAX_SINK_EXT"/>
+ <enum name="GL_TABLE_TOO_LARGE_EXT"/>
+ <command name="glGetHistogramEXT"/>
+ <command name="glGetHistogramParameterfvEXT"/>
+ <command name="glGetHistogramParameterivEXT"/>
+ <command name="glGetMinmaxEXT"/>
+ <command name="glGetMinmaxParameterfvEXT"/>
+ <command name="glGetMinmaxParameterivEXT"/>
+ <command name="glHistogramEXT"/>
+ <command name="glMinmaxEXT"/>
+ <command name="glResetHistogramEXT"/>
+ <command name="glResetMinmaxEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_index_array_formats" supported="gl">
+ <require>
+ <enum name="GL_IUI_V2F_EXT"/>
+ <enum name="GL_IUI_V3F_EXT"/>
+ <enum name="GL_IUI_N3F_V2F_EXT"/>
+ <enum name="GL_IUI_N3F_V3F_EXT"/>
+ <enum name="GL_T2F_IUI_V2F_EXT"/>
+ <enum name="GL_T2F_IUI_V3F_EXT"/>
+ <enum name="GL_T2F_IUI_N3F_V2F_EXT"/>
+ <enum name="GL_T2F_IUI_N3F_V3F_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_index_func" supported="gl">
+ <require>
+ <enum name="GL_INDEX_TEST_EXT"/>
+ <enum name="GL_INDEX_TEST_FUNC_EXT"/>
+ <enum name="GL_INDEX_TEST_REF_EXT"/>
+ <command name="glIndexFuncEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_index_material" supported="gl">
+ <require>
+ <enum name="GL_INDEX_MATERIAL_EXT"/>
+ <enum name="GL_INDEX_MATERIAL_PARAMETER_EXT"/>
+ <enum name="GL_INDEX_MATERIAL_FACE_EXT"/>
+ <command name="glIndexMaterialEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_index_texture" supported="gl"/>
+ <extension name="GL_EXT_instanced_arrays" supported="gles2">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT"/>
+ <command name="glDrawArraysInstancedEXT"/>
+ <command name="glDrawElementsInstancedEXT"/>
+ <command name="glVertexAttribDivisorEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_light_texture" supported="gl">
+ <require>
+ <enum name="GL_FRAGMENT_MATERIAL_EXT"/>
+ <enum name="GL_FRAGMENT_NORMAL_EXT"/>
+ <enum name="GL_FRAGMENT_COLOR_EXT"/>
+ <enum name="GL_ATTENUATION_EXT"/>
+ <enum name="GL_SHADOW_ATTENUATION_EXT"/>
+ <enum name="GL_TEXTURE_APPLICATION_MODE_EXT"/>
+ <enum name="GL_TEXTURE_LIGHT_EXT"/>
+ <enum name="GL_TEXTURE_MATERIAL_FACE_EXT"/>
+ <enum name="GL_TEXTURE_MATERIAL_PARAMETER_EXT"/>
+ <enum name="GL_FRAGMENT_DEPTH_EXT"/>
+ <command name="glApplyTextureEXT"/>
+ <command name="glTextureLightEXT"/>
+ <command name="glTextureMaterialEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_map_buffer_range" supported="gles1|gles2">
+ <require>
+ <enum name="GL_MAP_READ_BIT_EXT"/>
+ <enum name="GL_MAP_WRITE_BIT_EXT"/>
+ <enum name="GL_MAP_INVALIDATE_RANGE_BIT_EXT"/>
+ <enum name="GL_MAP_INVALIDATE_BUFFER_BIT_EXT"/>
+ <enum name="GL_MAP_FLUSH_EXPLICIT_BIT_EXT"/>
+ <enum name="GL_MAP_UNSYNCHRONIZED_BIT_EXT"/>
+ <command name="glMapBufferRangeEXT"/>
+ <command name="glFlushMappedBufferRangeEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_misc_attribute" supported="gl"/>
+ <extension name="GL_EXT_multi_draw_arrays" supported="gl|gles1|gles2">
+ <require>
+ <command name="glMultiDrawArraysEXT"/>
+ <command name="glMultiDrawElementsEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_multisample" supported="gl">
+ <require>
+ <enum name="GL_MULTISAMPLE_EXT"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_MASK_EXT"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_ONE_EXT"/>
+ <enum name="GL_SAMPLE_MASK_EXT"/>
+ <enum name="GL_1PASS_EXT"/>
+ <enum name="GL_2PASS_0_EXT"/>
+ <enum name="GL_2PASS_1_EXT"/>
+ <enum name="GL_4PASS_0_EXT"/>
+ <enum name="GL_4PASS_1_EXT"/>
+ <enum name="GL_4PASS_2_EXT"/>
+ <enum name="GL_4PASS_3_EXT"/>
+ <enum name="GL_SAMPLE_BUFFERS_EXT"/>
+ <enum name="GL_SAMPLES_EXT"/>
+ <enum name="GL_SAMPLE_MASK_VALUE_EXT"/>
+ <enum name="GL_SAMPLE_MASK_INVERT_EXT"/>
+ <enum name="GL_SAMPLE_PATTERN_EXT"/>
+ <enum name="GL_MULTISAMPLE_BIT_EXT"/>
+ <command name="glSampleMaskEXT"/>
+ <command name="glSamplePatternEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_multisampled_render_to_texture" supported="gles1|gles2">
+ <require>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"/>
+ <enum name="GL_RENDERBUFFER_SAMPLES_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT"/>
+ <enum name="GL_MAX_SAMPLES_EXT"/>
+ <command name="glRenderbufferStorageMultisampleEXT"/>
+ <command name="glFramebufferTexture2DMultisampleEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_multiview_draw_buffers" supported="gles2">
+ <require>
+ <enum name="GL_COLOR_ATTACHMENT_EXT"/>
+ <enum name="GL_MULTIVIEW_EXT"/>
+ <enum name="GL_DRAW_BUFFER_EXT"/>
+ <enum name="GL_READ_BUFFER_EXT"/>
+ <enum name="GL_MAX_MULTIVIEW_BUFFERS_EXT"/>
+ <command name="glReadBufferIndexedEXT"/>
+ <command name="glDrawBuffersIndexedEXT"/>
+ <command name="glGetIntegeri_vEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_occlusion_query_boolean" supported="gles2">
+ <require>
+ <enum name="GL_ANY_SAMPLES_PASSED_EXT"/>
+ <enum name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT"/>
+ <enum name="GL_CURRENT_QUERY_EXT"/>
+ <enum name="GL_QUERY_RESULT_EXT"/>
+ <enum name="GL_QUERY_RESULT_AVAILABLE_EXT"/>
+ <command name="glGenQueriesEXT"/>
+ <command name="glDeleteQueriesEXT"/>
+ <command name="glIsQueryEXT"/>
+ <command name="glBeginQueryEXT"/>
+ <command name="glEndQueryEXT"/>
+ <command name="glGetQueryivEXT"/>
+ <command name="glGetQueryObjectuivEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_packed_depth_stencil" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_STENCIL_EXT"/>
+ <enum name="GL_UNSIGNED_INT_24_8_EXT"/>
+ <enum name="GL_DEPTH24_STENCIL8_EXT"/>
+ <enum name="GL_TEXTURE_STENCIL_SIZE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_packed_float" supported="gl">
+ <require>
+ <enum name="GL_R11F_G11F_B10F_EXT"/>
+ <enum name="GL_UNSIGNED_INT_10F_11F_11F_REV_EXT"/>
+ <enum name="GL_RGBA_SIGNED_COMPONENTS_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_packed_pixels" supported="gl">
+ <require>
+ <enum name="GL_UNSIGNED_BYTE_3_3_2_EXT"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4_EXT"/>
+ <enum name="GL_UNSIGNED_SHORT_5_5_5_1_EXT"/>
+ <enum name="GL_UNSIGNED_INT_8_8_8_8_EXT"/>
+ <enum name="GL_UNSIGNED_INT_10_10_10_2_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_paletted_texture" supported="gl">
+ <require>
+ <enum name="GL_COLOR_INDEX1_EXT"/>
+ <enum name="GL_COLOR_INDEX2_EXT"/>
+ <enum name="GL_COLOR_INDEX4_EXT"/>
+ <enum name="GL_COLOR_INDEX8_EXT"/>
+ <enum name="GL_COLOR_INDEX12_EXT"/>
+ <enum name="GL_COLOR_INDEX16_EXT"/>
+ <enum name="GL_TEXTURE_INDEX_SIZE_EXT"/>
+ <command name="glColorTableEXT"/>
+ <command name="glGetColorTableEXT"/>
+ <command name="glGetColorTableParameterivEXT"/>
+ <command name="glGetColorTableParameterfvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_pixel_buffer_object" supported="gl">
+ <require>
+ <enum name="GL_PIXEL_PACK_BUFFER_EXT"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER_EXT"/>
+ <enum name="GL_PIXEL_PACK_BUFFER_BINDING_EXT"/>
+ <enum name="GL_PIXEL_UNPACK_BUFFER_BINDING_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_pixel_transform" supported="gl">
+ <require>
+ <enum name="GL_PIXEL_TRANSFORM_2D_EXT"/>
+ <enum name="GL_PIXEL_MAG_FILTER_EXT"/>
+ <enum name="GL_PIXEL_MIN_FILTER_EXT"/>
+ <enum name="GL_PIXEL_CUBIC_WEIGHT_EXT"/>
+ <enum name="GL_CUBIC_EXT"/>
+ <enum name="GL_AVERAGE_EXT"/>
+ <enum name="GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
+ <enum name="GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
+ <enum name="GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"/>
+ <command name="glPixelTransformParameteriEXT"/>
+ <command name="glPixelTransformParameterfEXT"/>
+ <command name="glPixelTransformParameterivEXT"/>
+ <command name="glPixelTransformParameterfvEXT"/>
+ <command name="glGetPixelTransformParameterivEXT"/>
+ <command name="glGetPixelTransformParameterfvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_pixel_transform_color_table" supported="gl"/>
+ <extension name="GL_EXT_point_parameters" supported="gl">
+ <require>
+ <enum name="GL_POINT_SIZE_MIN_EXT"/>
+ <enum name="GL_POINT_SIZE_MAX_EXT"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE_EXT"/>
+ <enum name="GL_DISTANCE_ATTENUATION_EXT"/>
+ <command name="glPointParameterfEXT"/>
+ <command name="glPointParameterfvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_polygon_offset" supported="gl">
+ <require>
+ <enum name="GL_POLYGON_OFFSET_EXT"/>
+ <enum name="GL_POLYGON_OFFSET_FACTOR_EXT"/>
+ <enum name="GL_POLYGON_OFFSET_BIAS_EXT"/>
+ <command name="glPolygonOffsetEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_primitive_bounding_box" supported="gles2">
+ <require>
+ <enum name="GL_PRIMITIVE_BOUNDING_BOX_EXT"/>
+ <command name="glPrimitiveBoundingBoxEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_provoking_vertex" supported="gl">
+ <require>
+ <enum name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT"/>
+ <enum name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
+ <enum name="GL_LAST_VERTEX_CONVENTION_EXT"/>
+ <enum name="GL_PROVOKING_VERTEX_EXT"/>
+ <command name="glProvokingVertexEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_pvrtc_sRGB" supported="gles2">
+ <require>
+ <enum name="GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_read_format_bgra" supported="gles1|gles2">
+ <require>
+ <enum name="GL_BGRA_EXT"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/>
+ <enum name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_rescale_normal" supported="gl">
+ <require>
+ <enum name="GL_RESCALE_NORMAL_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_robustness" supported="gles1|gles2">
+ <require>
+ <enum name="GL_NO_ERROR"/>
+ <enum name="GL_GUILTY_CONTEXT_RESET_EXT"/>
+ <enum name="GL_INNOCENT_CONTEXT_RESET_EXT"/>
+ <enum name="GL_UNKNOWN_CONTEXT_RESET_EXT"/>
+ <enum name="GL_CONTEXT_ROBUST_ACCESS_EXT"/>
+ <enum name="GL_RESET_NOTIFICATION_STRATEGY_EXT"/>
+ <enum name="GL_LOSE_CONTEXT_ON_RESET_EXT"/>
+ <enum name="GL_NO_RESET_NOTIFICATION_EXT"/>
+ <command name="glGetGraphicsResetStatusEXT"/>
+ <command name="glReadnPixelsEXT"/>
+ <command name="glGetnUniformfvEXT"/>
+ <command name="glGetnUniformivEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_sRGB" supported="gles1|gles2">
+ <require>
+ <enum name="GL_SRGB_EXT"/>
+ <enum name="GL_SRGB_ALPHA_EXT"/>
+ <enum name="GL_SRGB8_ALPHA8_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_sRGB_write_control" supported="gles2">
+ <require>
+ <enum name="GL_FRAMEBUFFER_SRGB_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_secondary_color" supported="gl">
+ <require>
+ <enum name="GL_COLOR_SUM_EXT"/>
+ <enum name="GL_CURRENT_SECONDARY_COLOR_EXT"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_SIZE_EXT"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_TYPE_EXT"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_POINTER_EXT"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_EXT"/>
+ <command name="glSecondaryColor3bEXT"/>
+ <command name="glSecondaryColor3bvEXT"/>
+ <command name="glSecondaryColor3dEXT"/>
+ <command name="glSecondaryColor3dvEXT"/>
+ <command name="glSecondaryColor3fEXT"/>
+ <command name="glSecondaryColor3fvEXT"/>
+ <command name="glSecondaryColor3iEXT"/>
+ <command name="glSecondaryColor3ivEXT"/>
+ <command name="glSecondaryColor3sEXT"/>
+ <command name="glSecondaryColor3svEXT"/>
+ <command name="glSecondaryColor3ubEXT"/>
+ <command name="glSecondaryColor3ubvEXT"/>
+ <command name="glSecondaryColor3uiEXT"/>
+ <command name="glSecondaryColor3uivEXT"/>
+ <command name="glSecondaryColor3usEXT"/>
+ <command name="glSecondaryColor3usvEXT"/>
+ <command name="glSecondaryColorPointerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_separate_shader_objects" supported="gl|gles2">
+ <require api="gl" comment="The OpenGL version of this extension is completely unrelated to the OpenGL ES version">
+ <enum name="GL_ACTIVE_PROGRAM_EXT"/>
+ <command name="glUseShaderProgramEXT"/>
+ <command name="glActiveProgramEXT"/>
+ <command name="glCreateShaderProgramEXT"/>
+ </require>
+ <require api="gles2" comment="The OpenGL ES version of this extension is completely unrelated to the OpenGL version">
+ <enum name="GL_VERTEX_SHADER_BIT_EXT"/>
+ <enum name="GL_FRAGMENT_SHADER_BIT_EXT"/>
+ <enum name="GL_ALL_SHADER_BITS_EXT"/>
+ <enum name="GL_PROGRAM_SEPARABLE_EXT"/>
+ <enum name="GL_ACTIVE_PROGRAM_EXT"/>
+ <enum name="GL_PROGRAM_PIPELINE_BINDING_EXT"/>
+ <command name="glActiveShaderProgramEXT"/>
+ <command name="glBindProgramPipelineEXT"/>
+ <command name="glCreateShaderProgramvEXT"/>
+ <command name="glDeleteProgramPipelinesEXT"/>
+ <command name="glGenProgramPipelinesEXT"/>
+ <command name="glGetProgramPipelineInfoLogEXT"/>
+ <command name="glGetProgramPipelineivEXT"/>
+ <command name="glIsProgramPipelineEXT"/>
+ <command name="glProgramParameteriEXT"/>
+ <command name="glProgramUniform1fEXT"/>
+ <command name="glProgramUniform1fvEXT"/>
+ <command name="glProgramUniform1iEXT"/>
+ <command name="glProgramUniform1ivEXT"/>
+ <command name="glProgramUniform2fEXT"/>
+ <command name="glProgramUniform2fvEXT"/>
+ <command name="glProgramUniform2iEXT"/>
+ <command name="glProgramUniform2ivEXT"/>
+ <command name="glProgramUniform3fEXT"/>
+ <command name="glProgramUniform3fvEXT"/>
+ <command name="glProgramUniform3iEXT"/>
+ <command name="glProgramUniform3ivEXT"/>
+ <command name="glProgramUniform4fEXT"/>
+ <command name="glProgramUniform4fvEXT"/>
+ <command name="glProgramUniform4iEXT"/>
+ <command name="glProgramUniform4ivEXT"/>
+ <command name="glProgramUniformMatrix2fvEXT"/>
+ <command name="glProgramUniformMatrix3fvEXT"/>
+ <command name="glProgramUniformMatrix4fvEXT"/>
+ <command name="glUseProgramStagesEXT"/>
+ <command name="glValidateProgramPipelineEXT"/>
+ </require>
+ <require api="gles2" comment="Depends on OpenGL ES 3.0 or GL_NV_non_square_matrices">
+ <command name="glProgramUniform1uiEXT"/>
+ <command name="glProgramUniform2uiEXT"/>
+ <command name="glProgramUniform3uiEXT"/>
+ <command name="glProgramUniform4uiEXT"/>
+ <command name="glProgramUniform1uivEXT"/>
+ <command name="glProgramUniform2uivEXT"/>
+ <command name="glProgramUniform3uivEXT"/>
+ <command name="glProgramUniform4uivEXT"/>
+ <command name="glProgramUniformMatrix4fvEXT"/>
+ <command name="glProgramUniformMatrix2x3fvEXT"/>
+ <command name="glProgramUniformMatrix3x2fvEXT"/>
+ <command name="glProgramUniformMatrix2x4fvEXT"/>
+ <command name="glProgramUniformMatrix4x2fvEXT"/>
+ <command name="glProgramUniformMatrix3x4fvEXT"/>
+ <command name="glProgramUniformMatrix4x3fvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_separate_specular_color" supported="gl">
+ <require>
+ <enum name="GL_LIGHT_MODEL_COLOR_CONTROL_EXT"/>
+ <enum name="GL_SINGLE_COLOR_EXT"/>
+ <enum name="GL_SEPARATE_SPECULAR_COLOR_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_shader_framebuffer_fetch" supported="gles2">
+ <require>
+ <enum name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_shader_image_load_formatted" supported="gl"/>
+ <extension name="GL_EXT_shader_image_load_store" supported="gl">
+ <require>
+ <enum name="GL_MAX_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT"/>
+ <enum name="GL_IMAGE_BINDING_NAME_EXT"/>
+ <enum name="GL_IMAGE_BINDING_LEVEL_EXT"/>
+ <enum name="GL_IMAGE_BINDING_LAYERED_EXT"/>
+ <enum name="GL_IMAGE_BINDING_LAYER_EXT"/>
+ <enum name="GL_IMAGE_BINDING_ACCESS_EXT"/>
+ <enum name="GL_IMAGE_1D_EXT"/>
+ <enum name="GL_IMAGE_2D_EXT"/>
+ <enum name="GL_IMAGE_3D_EXT"/>
+ <enum name="GL_IMAGE_2D_RECT_EXT"/>
+ <enum name="GL_IMAGE_CUBE_EXT"/>
+ <enum name="GL_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_IMAGE_1D_ARRAY_EXT"/>
+ <enum name="GL_IMAGE_2D_ARRAY_EXT"/>
+ <enum name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_IMAGE_2D_MULTISAMPLE_EXT"/>
+ <enum name="GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+ <enum name="GL_INT_IMAGE_1D_EXT"/>
+ <enum name="GL_INT_IMAGE_2D_EXT"/>
+ <enum name="GL_INT_IMAGE_3D_EXT"/>
+ <enum name="GL_INT_IMAGE_2D_RECT_EXT"/>
+ <enum name="GL_INT_IMAGE_CUBE_EXT"/>
+ <enum name="GL_INT_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_INT_IMAGE_1D_ARRAY_EXT"/>
+ <enum name="GL_INT_IMAGE_2D_ARRAY_EXT"/>
+ <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
+ <enum name="GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_1D_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_3D_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT"/>
+ <enum name="GL_MAX_IMAGE_SAMPLES_EXT"/>
+ <enum name="GL_IMAGE_BINDING_FORMAT_EXT"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT"/>
+ <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT_EXT"/>
+ <enum name="GL_UNIFORM_BARRIER_BIT_EXT"/>
+ <enum name="GL_TEXTURE_FETCH_BARRIER_BIT_EXT"/>
+ <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT"/>
+ <enum name="GL_COMMAND_BARRIER_BIT_EXT"/>
+ <enum name="GL_PIXEL_BUFFER_BARRIER_BIT_EXT"/>
+ <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT_EXT"/>
+ <enum name="GL_BUFFER_UPDATE_BARRIER_BIT_EXT"/>
+ <enum name="GL_FRAMEBUFFER_BARRIER_BIT_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT"/>
+ <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT_EXT"/>
+ <enum name="GL_ALL_BARRIER_BITS_EXT"/>
+ <command name="glBindImageTextureEXT"/>
+ <command name="glMemoryBarrierEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_shader_implicit_conversions" supported="gles2"/>
+ <extension name="GL_EXT_shader_integer_mix" supported="gl|gles2"/>
+ <extension name="GL_EXT_shader_io_blocks" supported="gles2"/>
+ <extension name="GL_EXT_shader_pixel_local_storage" supported="gles2">
+ <require>
+ <enum name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+ <enum name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT"/>
+ <enum name="GL_SHADER_PIXEL_LOCAL_STORAGE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_shader_texture_lod" supported="gles2"/>
+ <extension name="GL_EXT_shadow_funcs" supported="gl"/>
+ <extension name="GL_EXT_shadow_samplers" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_COMPARE_MODE_EXT"/>
+ <enum name="GL_TEXTURE_COMPARE_FUNC_EXT"/>
+ <enum name="GL_COMPARE_REF_TO_TEXTURE_EXT"/>
+ <enum name="GL_SAMPLER_2D_SHADOW_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_shared_texture_palette" supported="gl">
+ <require>
+ <enum name="GL_SHARED_TEXTURE_PALETTE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_stencil_clear_tag" supported="gl">
+ <require>
+ <enum name="GL_STENCIL_TAG_BITS_EXT"/>
+ <enum name="GL_STENCIL_CLEAR_TAG_VALUE_EXT"/>
+ <command name="glStencilClearTagEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_stencil_two_side" supported="gl">
+ <require>
+ <enum name="GL_STENCIL_TEST_TWO_SIDE_EXT"/>
+ <enum name="GL_ACTIVE_STENCIL_FACE_EXT"/>
+ <command name="glActiveStencilFaceEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_stencil_wrap" supported="gl">
+ <require>
+ <enum name="GL_INCR_WRAP_EXT"/>
+ <enum name="GL_DECR_WRAP_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_subtexture" supported="gl">
+ <require>
+ <command name="glTexSubImage1DEXT"/>
+ <command name="glTexSubImage2DEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_tessellation_point_size" supported="gles2"/>
+ <extension name="GL_EXT_tessellation_shader" supported="gles2">
+ <require>
+ <enum name="GL_PATCHES_EXT"/>
+ <enum name="GL_PATCH_VERTICES_EXT"/>
+ <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT"/>
+ <enum name="GL_TESS_GEN_MODE_EXT"/>
+ <enum name="GL_TESS_GEN_SPACING_EXT"/>
+ <enum name="GL_TESS_GEN_VERTEX_ORDER_EXT"/>
+ <enum name="GL_TESS_GEN_POINT_MODE_EXT"/>
+ <enum name="GL_TRIANGLES"/>
+ <enum name="GL_ISOLINES_EXT"/>
+ <enum name="GL_QUADS_EXT"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_FRACTIONAL_ODD_EXT"/>
+ <enum name="GL_FRACTIONAL_EVEN_EXT"/>
+ <enum name="GL_CCW"/>
+ <enum name="GL_CW"/>
+ <enum name="GL_MAX_PATCH_VERTICES_EXT"/>
+ <enum name="GL_MAX_TESS_GEN_LEVEL_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_PATCH_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+ <enum name="GL_IS_PER_PATCH_EXT"/>
+ <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT"/>
+ <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_EXT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_EXT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
+ <command name="glPatchParameteriEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture" supported="gl">
+ <require>
+ <enum name="GL_ALPHA4_EXT"/>
+ <enum name="GL_ALPHA8_EXT"/>
+ <enum name="GL_ALPHA12_EXT"/>
+ <enum name="GL_ALPHA16_EXT"/>
+ <enum name="GL_LUMINANCE4_EXT"/>
+ <enum name="GL_LUMINANCE8_EXT"/>
+ <enum name="GL_LUMINANCE12_EXT"/>
+ <enum name="GL_LUMINANCE16_EXT"/>
+ <enum name="GL_LUMINANCE4_ALPHA4_EXT"/>
+ <enum name="GL_LUMINANCE6_ALPHA2_EXT"/>
+ <enum name="GL_LUMINANCE8_ALPHA8_EXT"/>
+ <enum name="GL_LUMINANCE12_ALPHA4_EXT"/>
+ <enum name="GL_LUMINANCE12_ALPHA12_EXT"/>
+ <enum name="GL_LUMINANCE16_ALPHA16_EXT"/>
+ <enum name="GL_INTENSITY_EXT"/>
+ <enum name="GL_INTENSITY4_EXT"/>
+ <enum name="GL_INTENSITY8_EXT"/>
+ <enum name="GL_INTENSITY12_EXT"/>
+ <enum name="GL_INTENSITY16_EXT"/>
+ <enum name="GL_RGB2_EXT"/>
+ <enum name="GL_RGB4_EXT"/>
+ <enum name="GL_RGB5_EXT"/>
+ <enum name="GL_RGB8_EXT"/>
+ <enum name="GL_RGB10_EXT"/>
+ <enum name="GL_RGB12_EXT"/>
+ <enum name="GL_RGB16_EXT"/>
+ <enum name="GL_RGBA2_EXT"/>
+ <enum name="GL_RGBA4_EXT"/>
+ <enum name="GL_RGB5_A1_EXT"/>
+ <enum name="GL_RGBA8_EXT"/>
+ <enum name="GL_RGB10_A2_EXT"/>
+ <enum name="GL_RGBA12_EXT"/>
+ <enum name="GL_RGBA16_EXT"/>
+ <enum name="GL_TEXTURE_RED_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_GREEN_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_BLUE_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_ALPHA_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_LUMINANCE_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_INTENSITY_SIZE_EXT"/>
+ <enum name="GL_REPLACE_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_1D_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_2D_EXT"/>
+ <enum name="GL_TEXTURE_TOO_LARGE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture3D" supported="gl">
+ <require>
+ <enum name="GL_PACK_SKIP_IMAGES_EXT"/>
+ <enum name="GL_PACK_IMAGE_HEIGHT_EXT"/>
+ <enum name="GL_UNPACK_SKIP_IMAGES_EXT"/>
+ <enum name="GL_UNPACK_IMAGE_HEIGHT_EXT"/>
+ <enum name="GL_TEXTURE_3D_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_3D_EXT"/>
+ <enum name="GL_TEXTURE_DEPTH_EXT"/>
+ <enum name="GL_TEXTURE_WRAP_R_EXT"/>
+ <enum name="GL_MAX_3D_TEXTURE_SIZE_EXT"/>
+ <command name="glTexImage3DEXT"/>
+ <command name="glTexSubImage3DEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_array" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_1D_ARRAY_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_1D_ARRAY_EXT"/>
+ <enum name="GL_TEXTURE_2D_ARRAY_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_2D_ARRAY_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_1D_ARRAY_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_2D_ARRAY_EXT"/>
+ <enum name="GL_MAX_ARRAY_TEXTURE_LAYERS_EXT"/>
+ <enum name="GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
+ <command name="glFramebufferTextureLayerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_border_clamp" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_BORDER_COLOR_EXT"/>
+ <enum name="GL_CLAMP_TO_BORDER_EXT"/>
+ <command name="glTexParameterIivEXT"/>
+ <command name="glTexParameterIuivEXT"/>
+ <command name="glGetTexParameterIivEXT"/>
+ <command name="glGetTexParameterIuivEXT"/>
+ <command name="glSamplerParameterIivEXT"/>
+ <command name="glSamplerParameterIuivEXT"/>
+ <command name="glGetSamplerParameterIivEXT"/>
+ <command name="glGetSamplerParameterIuivEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_buffer" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_BUFFER_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_BINDING_EXT"/>
+ <enum name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT"/>
+ <enum name="GL_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_INT_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_INT_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_OFFSET_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_SIZE_EXT"/>
+ <command name="glTexBufferEXT"/>
+ <command name="glTexBufferRangeEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_buffer_object" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_BUFFER_EXT"/>
+ <enum name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_FORMAT_EXT"/>
+ <command name="glTexBufferEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_compression_dxt1" supported="gles1|gles2">
+ <require>
+ <enum name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
+ <enum name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_compression_latc" supported="gl">
+ <require>
+ <enum name="GL_COMPRESSED_LUMINANCE_LATC1_EXT"/>
+ <enum name="GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"/>
+ <enum name="GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT"/>
+ <enum name="GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_compression_rgtc" supported="gl">
+ <require>
+ <enum name="GL_COMPRESSED_RED_RGTC1_EXT"/>
+ <enum name="GL_COMPRESSED_SIGNED_RED_RGTC1_EXT"/>
+ <enum name="GL_COMPRESSED_RED_GREEN_RGTC2_EXT"/>
+ <enum name="GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_compression_s3tc" supported="gl|gles2">
+ <require>
+ <enum name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT"/>
+ <enum name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"/>
+ <enum name="GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"/>
+ <enum name="GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_cube_map" supported="gl" comment="Replaced by ARB_texture_cube_map, but was apparently shipped anyway?">
+ <require>
+ <enum name="GL_NORMAL_MAP_EXT"/>
+ <enum name="GL_REFLECTION_MAP_EXT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP_EXT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT"/>
+ <enum name="GL_PROXY_TEXTURE_CUBE_MAP_EXT"/>
+ <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_cube_map_array" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT"/>
+ <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_env_add" supported="gl"/>
+ <extension name="GL_EXT_texture_env_combine" supported="gl">
+ <require>
+ <enum name="GL_COMBINE_EXT"/>
+ <enum name="GL_COMBINE_RGB_EXT"/>
+ <enum name="GL_COMBINE_ALPHA_EXT"/>
+ <enum name="GL_RGB_SCALE_EXT"/>
+ <enum name="GL_ADD_SIGNED_EXT"/>
+ <enum name="GL_INTERPOLATE_EXT"/>
+ <enum name="GL_CONSTANT_EXT"/>
+ <enum name="GL_PRIMARY_COLOR_EXT"/>
+ <enum name="GL_PREVIOUS_EXT"/>
+ <enum name="GL_SOURCE0_RGB_EXT"/>
+ <enum name="GL_SOURCE1_RGB_EXT"/>
+ <enum name="GL_SOURCE2_RGB_EXT"/>
+ <enum name="GL_SOURCE0_ALPHA_EXT"/>
+ <enum name="GL_SOURCE1_ALPHA_EXT"/>
+ <enum name="GL_SOURCE2_ALPHA_EXT"/>
+ <enum name="GL_OPERAND0_RGB_EXT"/>
+ <enum name="GL_OPERAND1_RGB_EXT"/>
+ <enum name="GL_OPERAND2_RGB_EXT"/>
+ <enum name="GL_OPERAND0_ALPHA_EXT"/>
+ <enum name="GL_OPERAND1_ALPHA_EXT"/>
+ <enum name="GL_OPERAND2_ALPHA_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_env_dot3" supported="gl">
+ <require>
+ <enum name="GL_DOT3_RGB_EXT"/>
+ <enum name="GL_DOT3_RGBA_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_filter_anisotropic" supported="gl|gles1|gles2">
+ <require>
+ <enum name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/>
+ <enum name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_format_BGRA8888" supported="gles1|gles2">
+ <require>
+ <enum name="GL_BGRA_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_integer" supported="gl">
+ <require>
+ <enum name="GL_RGBA32UI_EXT"/>
+ <enum name="GL_RGB32UI_EXT"/>
+ <enum name="GL_ALPHA32UI_EXT"/>
+ <enum name="GL_INTENSITY32UI_EXT"/>
+ <enum name="GL_LUMINANCE32UI_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA32UI_EXT"/>
+ <enum name="GL_RGBA16UI_EXT"/>
+ <enum name="GL_RGB16UI_EXT"/>
+ <enum name="GL_ALPHA16UI_EXT"/>
+ <enum name="GL_INTENSITY16UI_EXT"/>
+ <enum name="GL_LUMINANCE16UI_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA16UI_EXT"/>
+ <enum name="GL_RGBA8UI_EXT"/>
+ <enum name="GL_RGB8UI_EXT"/>
+ <enum name="GL_ALPHA8UI_EXT"/>
+ <enum name="GL_INTENSITY8UI_EXT"/>
+ <enum name="GL_LUMINANCE8UI_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA8UI_EXT"/>
+ <enum name="GL_RGBA32I_EXT"/>
+ <enum name="GL_RGB32I_EXT"/>
+ <enum name="GL_ALPHA32I_EXT"/>
+ <enum name="GL_INTENSITY32I_EXT"/>
+ <enum name="GL_LUMINANCE32I_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA32I_EXT"/>
+ <enum name="GL_RGBA16I_EXT"/>
+ <enum name="GL_RGB16I_EXT"/>
+ <enum name="GL_ALPHA16I_EXT"/>
+ <enum name="GL_INTENSITY16I_EXT"/>
+ <enum name="GL_LUMINANCE16I_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA16I_EXT"/>
+ <enum name="GL_RGBA8I_EXT"/>
+ <enum name="GL_RGB8I_EXT"/>
+ <enum name="GL_ALPHA8I_EXT"/>
+ <enum name="GL_INTENSITY8I_EXT"/>
+ <enum name="GL_LUMINANCE8I_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA8I_EXT"/>
+ <enum name="GL_RED_INTEGER_EXT"/>
+ <enum name="GL_GREEN_INTEGER_EXT"/>
+ <enum name="GL_BLUE_INTEGER_EXT"/>
+ <enum name="GL_ALPHA_INTEGER_EXT"/>
+ <enum name="GL_RGB_INTEGER_EXT"/>
+ <enum name="GL_RGBA_INTEGER_EXT"/>
+ <enum name="GL_BGR_INTEGER_EXT"/>
+ <enum name="GL_BGRA_INTEGER_EXT"/>
+ <enum name="GL_LUMINANCE_INTEGER_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA_INTEGER_EXT"/>
+ <enum name="GL_RGBA_INTEGER_MODE_EXT"/>
+ <command name="glTexParameterIivEXT"/>
+ <command name="glTexParameterIuivEXT"/>
+ <command name="glGetTexParameterIivEXT"/>
+ <command name="glGetTexParameterIuivEXT"/>
+ <command name="glClearColorIiEXT"/>
+ <command name="glClearColorIuiEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_lod_bias" supported="gl|gles1">
+ <require>
+ <enum name="GL_MAX_TEXTURE_LOD_BIAS_EXT"/>
+ <enum name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_mirror_clamp" supported="gl">
+ <require>
+ <enum name="GL_MIRROR_CLAMP_EXT"/>
+ <enum name="GL_MIRROR_CLAMP_TO_EDGE_EXT"/>
+ <enum name="GL_MIRROR_CLAMP_TO_BORDER_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_object" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_PRIORITY_EXT"/>
+ <enum name="GL_TEXTURE_RESIDENT_EXT"/>
+ <enum name="GL_TEXTURE_1D_BINDING_EXT"/>
+ <enum name="GL_TEXTURE_2D_BINDING_EXT"/>
+ <enum name="GL_TEXTURE_3D_BINDING_EXT"/>
+ <command name="glAreTexturesResidentEXT"/>
+ <command name="glBindTextureEXT"/>
+ <command name="glDeleteTexturesEXT"/>
+ <command name="glGenTexturesEXT"/>
+ <command name="glIsTextureEXT"/>
+ <command name="glPrioritizeTexturesEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_perturb_normal" supported="gl">
+ <require>
+ <enum name="GL_PERTURB_EXT"/>
+ <enum name="GL_TEXTURE_NORMAL_EXT"/>
+ <command name="glTextureNormalEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_rg" supported="gles2">
+ <require>
+ <enum name="GL_RED_EXT"/>
+ <enum name="GL_RG_EXT"/>
+ <enum name="GL_R8_EXT"/>
+ <enum name="GL_RG8_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_sRGB" supported="gl">
+ <require>
+ <enum name="GL_SRGB_EXT"/>
+ <enum name="GL_SRGB8_EXT"/>
+ <enum name="GL_SRGB_ALPHA_EXT"/>
+ <enum name="GL_SRGB8_ALPHA8_EXT"/>
+ <enum name="GL_SLUMINANCE_ALPHA_EXT"/>
+ <enum name="GL_SLUMINANCE8_ALPHA8_EXT"/>
+ <enum name="GL_SLUMINANCE_EXT"/>
+ <enum name="GL_SLUMINANCE8_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_EXT"/>
+ <enum name="GL_COMPRESSED_SLUMINANCE_EXT"/>
+ <enum name="GL_COMPRESSED_SLUMINANCE_ALPHA_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_sRGB_decode" supported="gl|gles2">
+ <require>
+ <enum name="GL_TEXTURE_SRGB_DECODE_EXT"/>
+ <enum name="GL_DECODE_EXT"/>
+ <enum name="GL_SKIP_DECODE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_shared_exponent" supported="gl">
+ <require>
+ <enum name="GL_RGB9_E5_EXT"/>
+ <enum name="GL_UNSIGNED_INT_5_9_9_9_REV_EXT"/>
+ <enum name="GL_TEXTURE_SHARED_SIZE_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_snorm" supported="gl">
+ <require>
+ <enum name="GL_ALPHA_SNORM"/>
+ <enum name="GL_LUMINANCE_SNORM"/>
+ <enum name="GL_LUMINANCE_ALPHA_SNORM"/>
+ <enum name="GL_INTENSITY_SNORM"/>
+ <enum name="GL_ALPHA8_SNORM"/>
+ <enum name="GL_LUMINANCE8_SNORM"/>
+ <enum name="GL_LUMINANCE8_ALPHA8_SNORM"/>
+ <enum name="GL_INTENSITY8_SNORM"/>
+ <enum name="GL_ALPHA16_SNORM"/>
+ <enum name="GL_LUMINANCE16_SNORM"/>
+ <enum name="GL_LUMINANCE16_ALPHA16_SNORM"/>
+ <enum name="GL_INTENSITY16_SNORM"/>
+ <enum name="GL_RED_SNORM"/>
+ <enum name="GL_RG_SNORM"/>
+ <enum name="GL_RGB_SNORM"/>
+ <enum name="GL_RGBA_SNORM"/>
+ <enum name="GL_R8_SNORM"/>
+ <enum name="GL_RG8_SNORM"/>
+ <enum name="GL_RGB8_SNORM"/>
+ <enum name="GL_RGBA8_SNORM"/>
+ <enum name="GL_R16_SNORM"/>
+ <enum name="GL_RG16_SNORM"/>
+ <enum name="GL_RGB16_SNORM"/>
+ <enum name="GL_RGBA16_SNORM"/>
+ <enum name="GL_SIGNED_NORMALIZED"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_storage" supported="gles1|gles2">
+ <require comment="Not clear all of these enums should be here for OpenGL ES. Many are only defined if other extensions also requiring them are supported">
+ <enum name="GL_TEXTURE_IMMUTABLE_FORMAT_EXT"/>
+ <enum name="GL_ALPHA8_EXT"/>
+ <enum name="GL_LUMINANCE8_EXT"/>
+ <enum name="GL_LUMINANCE8_ALPHA8_EXT"/>
+ <enum name="GL_RGBA32F_EXT"/>
+ <enum name="GL_RGB32F_EXT"/>
+ <enum name="GL_ALPHA32F_EXT"/>
+ <enum name="GL_LUMINANCE32F_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA32F_EXT"/>
+ <enum name="GL_RGBA16F_EXT"/>
+ <enum name="GL_RGB16F_EXT"/>
+ <enum name="GL_ALPHA16F_EXT"/>
+ <enum name="GL_LUMINANCE16F_EXT"/>
+ <enum name="GL_LUMINANCE_ALPHA16F_EXT"/>
+ <enum name="GL_RGB10_A2_EXT"/>
+ <enum name="GL_RGB10_EXT"/>
+ <enum name="GL_BGRA8_EXT"/>
+ <enum name="GL_R8_EXT"/>
+ <enum name="GL_RG8_EXT"/>
+ <enum name="GL_R32F_EXT"/>
+ <enum name="GL_RG32F_EXT"/>
+ <enum name="GL_R16F_EXT"/>
+ <enum name="GL_RG16F_EXT"/>
+ <command name="glTexStorage1DEXT"/>
+ <command name="glTexStorage2DEXT"/>
+ <command name="glTexStorage3DEXT"/>
+ </require>
+ <require comment="Supported only if GL_EXT_direct_state_access is supported">
+ <command name="glTextureStorage1DEXT"/>
+ <command name="glTextureStorage2DEXT"/>
+ <command name="glTextureStorage3DEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_swizzle" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_SWIZZLE_R_EXT"/>
+ <enum name="GL_TEXTURE_SWIZZLE_G_EXT"/>
+ <enum name="GL_TEXTURE_SWIZZLE_B_EXT"/>
+ <enum name="GL_TEXTURE_SWIZZLE_A_EXT"/>
+ <enum name="GL_TEXTURE_SWIZZLE_RGBA_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_type_2_10_10_10_REV" supported="gles2">
+ <require>
+ <enum name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_view" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_VIEW_MIN_LEVEL_EXT"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LEVELS_EXT"/>
+ <enum name="GL_TEXTURE_VIEW_MIN_LAYER_EXT"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LAYERS_EXT"/>
+ <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+ <command name="glTextureViewEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_timer_query" supported="gl">
+ <require>
+ <enum name="GL_TIME_ELAPSED_EXT"/>
+ <command name="glGetQueryObjecti64vEXT"/>
+ <command name="glGetQueryObjectui64vEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_transform_feedback" supported="gl">
+ <require>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT"/>
+ <enum name="GL_INTERLEAVED_ATTRIBS_EXT"/>
+ <enum name="GL_SEPARATE_ATTRIBS_EXT"/>
+ <enum name="GL_PRIMITIVES_GENERATED_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT"/>
+ <enum name="GL_RASTERIZER_DISCARD_EXT"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT"/>
+ <command name="glBeginTransformFeedbackEXT"/>
+ <command name="glEndTransformFeedbackEXT"/>
+ <command name="glBindBufferRangeEXT"/>
+ <command name="glBindBufferOffsetEXT"/>
+ <command name="glBindBufferBaseEXT"/>
+ <command name="glTransformFeedbackVaryingsEXT"/>
+ <command name="glGetTransformFeedbackVaryingEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_unpack_subimage" supported="gles2">
+ <require>
+ <enum name="GL_UNPACK_ROW_LENGTH_EXT"/>
+ <enum name="GL_UNPACK_SKIP_ROWS_EXT"/>
+ <enum name="GL_UNPACK_SKIP_PIXELS_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_vertex_array" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_EXT"/>
+ <enum name="GL_NORMAL_ARRAY_EXT"/>
+ <enum name="GL_COLOR_ARRAY_EXT"/>
+ <enum name="GL_INDEX_ARRAY_EXT"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_EXT"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_SIZE_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_TYPE_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_COUNT_EXT"/>
+ <enum name="GL_NORMAL_ARRAY_TYPE_EXT"/>
+ <enum name="GL_NORMAL_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_NORMAL_ARRAY_COUNT_EXT"/>
+ <enum name="GL_COLOR_ARRAY_SIZE_EXT"/>
+ <enum name="GL_COLOR_ARRAY_TYPE_EXT"/>
+ <enum name="GL_COLOR_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_COLOR_ARRAY_COUNT_EXT"/>
+ <enum name="GL_INDEX_ARRAY_TYPE_EXT"/>
+ <enum name="GL_INDEX_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_INDEX_ARRAY_COUNT_EXT"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_TYPE_EXT"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_COUNT_EXT"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_COUNT_EXT"/>
+ <enum name="GL_VERTEX_ARRAY_POINTER_EXT"/>
+ <enum name="GL_NORMAL_ARRAY_POINTER_EXT"/>
+ <enum name="GL_COLOR_ARRAY_POINTER_EXT"/>
+ <enum name="GL_INDEX_ARRAY_POINTER_EXT"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_POINTER_EXT"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_POINTER_EXT"/>
+ <command name="glArrayElementEXT"/>
+ <command name="glColorPointerEXT"/>
+ <command name="glDrawArraysEXT"/>
+ <command name="glEdgeFlagPointerEXT"/>
+ <command name="glGetPointervEXT"/>
+ <command name="glIndexPointerEXT"/>
+ <command name="glNormalPointerEXT"/>
+ <command name="glTexCoordPointerEXT"/>
+ <command name="glVertexPointerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_vertex_array_bgra" supported="gl">
+ <require>
+ <enum name="GL_BGRA"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_vertex_attrib_64bit" supported="gl">
+ <require>
+ <enum name="GL_DOUBLE"/>
+ <enum name="GL_DOUBLE_VEC2_EXT"/>
+ <enum name="GL_DOUBLE_VEC3_EXT"/>
+ <enum name="GL_DOUBLE_VEC4_EXT"/>
+ <enum name="GL_DOUBLE_MAT2_EXT"/>
+ <enum name="GL_DOUBLE_MAT3_EXT"/>
+ <enum name="GL_DOUBLE_MAT4_EXT"/>
+ <enum name="GL_DOUBLE_MAT2x3_EXT"/>
+ <enum name="GL_DOUBLE_MAT2x4_EXT"/>
+ <enum name="GL_DOUBLE_MAT3x2_EXT"/>
+ <enum name="GL_DOUBLE_MAT3x4_EXT"/>
+ <enum name="GL_DOUBLE_MAT4x2_EXT"/>
+ <enum name="GL_DOUBLE_MAT4x3_EXT"/>
+ <command name="glVertexAttribL1dEXT"/>
+ <command name="glVertexAttribL2dEXT"/>
+ <command name="glVertexAttribL3dEXT"/>
+ <command name="glVertexAttribL4dEXT"/>
+ <command name="glVertexAttribL1dvEXT"/>
+ <command name="glVertexAttribL2dvEXT"/>
+ <command name="glVertexAttribL3dvEXT"/>
+ <command name="glVertexAttribL4dvEXT"/>
+ <command name="glVertexAttribLPointerEXT"/>
+ <command name="glGetVertexAttribLdvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_vertex_shader" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_SHADER_EXT"/>
+ <enum name="GL_VERTEX_SHADER_BINDING_EXT"/>
+ <enum name="GL_OP_INDEX_EXT"/>
+ <enum name="GL_OP_NEGATE_EXT"/>
+ <enum name="GL_OP_DOT3_EXT"/>
+ <enum name="GL_OP_DOT4_EXT"/>
+ <enum name="GL_OP_MUL_EXT"/>
+ <enum name="GL_OP_ADD_EXT"/>
+ <enum name="GL_OP_MADD_EXT"/>
+ <enum name="GL_OP_FRAC_EXT"/>
+ <enum name="GL_OP_MAX_EXT"/>
+ <enum name="GL_OP_MIN_EXT"/>
+ <enum name="GL_OP_SET_GE_EXT"/>
+ <enum name="GL_OP_SET_LT_EXT"/>
+ <enum name="GL_OP_CLAMP_EXT"/>
+ <enum name="GL_OP_FLOOR_EXT"/>
+ <enum name="GL_OP_ROUND_EXT"/>
+ <enum name="GL_OP_EXP_BASE_2_EXT"/>
+ <enum name="GL_OP_LOG_BASE_2_EXT"/>
+ <enum name="GL_OP_POWER_EXT"/>
+ <enum name="GL_OP_RECIP_EXT"/>
+ <enum name="GL_OP_RECIP_SQRT_EXT"/>
+ <enum name="GL_OP_SUB_EXT"/>
+ <enum name="GL_OP_CROSS_PRODUCT_EXT"/>
+ <enum name="GL_OP_MULTIPLY_MATRIX_EXT"/>
+ <enum name="GL_OP_MOV_EXT"/>
+ <enum name="GL_OUTPUT_VERTEX_EXT"/>
+ <enum name="GL_OUTPUT_COLOR0_EXT"/>
+ <enum name="GL_OUTPUT_COLOR1_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD0_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD1_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD2_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD3_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD4_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD5_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD6_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD7_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD8_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD9_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD10_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD11_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD12_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD13_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD14_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD15_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD16_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD17_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD18_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD19_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD20_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD21_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD22_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD23_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD24_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD25_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD26_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD27_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD28_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD29_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD30_EXT"/>
+ <enum name="GL_OUTPUT_TEXTURE_COORD31_EXT"/>
+ <enum name="GL_OUTPUT_FOG_EXT"/>
+ <enum name="GL_SCALAR_EXT"/>
+ <enum name="GL_VECTOR_EXT"/>
+ <enum name="GL_MATRIX_EXT"/>
+ <enum name="GL_VARIANT_EXT"/>
+ <enum name="GL_INVARIANT_EXT"/>
+ <enum name="GL_LOCAL_CONSTANT_EXT"/>
+ <enum name="GL_LOCAL_EXT"/>
+ <enum name="GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+ <enum name="GL_MAX_VERTEX_SHADER_VARIANTS_EXT"/>
+ <enum name="GL_MAX_VERTEX_SHADER_INVARIANTS_EXT"/>
+ <enum name="GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+ <enum name="GL_MAX_VERTEX_SHADER_LOCALS_EXT"/>
+ <enum name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+ <enum name="GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT"/>
+ <enum name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+ <enum name="GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT"/>
+ <enum name="GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT"/>
+ <enum name="GL_VERTEX_SHADER_INSTRUCTIONS_EXT"/>
+ <enum name="GL_VERTEX_SHADER_VARIANTS_EXT"/>
+ <enum name="GL_VERTEX_SHADER_INVARIANTS_EXT"/>
+ <enum name="GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT"/>
+ <enum name="GL_VERTEX_SHADER_LOCALS_EXT"/>
+ <enum name="GL_VERTEX_SHADER_OPTIMIZED_EXT"/>
+ <enum name="GL_X_EXT"/>
+ <enum name="GL_Y_EXT"/>
+ <enum name="GL_Z_EXT"/>
+ <enum name="GL_W_EXT"/>
+ <enum name="GL_NEGATIVE_X_EXT"/>
+ <enum name="GL_NEGATIVE_Y_EXT"/>
+ <enum name="GL_NEGATIVE_Z_EXT"/>
+ <enum name="GL_NEGATIVE_W_EXT"/>
+ <enum name="GL_ZERO_EXT"/>
+ <enum name="GL_ONE_EXT"/>
+ <enum name="GL_NEGATIVE_ONE_EXT"/>
+ <enum name="GL_NORMALIZED_RANGE_EXT"/>
+ <enum name="GL_FULL_RANGE_EXT"/>
+ <enum name="GL_CURRENT_VERTEX_EXT"/>
+ <enum name="GL_MVP_MATRIX_EXT"/>
+ <enum name="GL_VARIANT_VALUE_EXT"/>
+ <enum name="GL_VARIANT_DATATYPE_EXT"/>
+ <enum name="GL_VARIANT_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_VARIANT_ARRAY_TYPE_EXT"/>
+ <enum name="GL_VARIANT_ARRAY_EXT"/>
+ <enum name="GL_VARIANT_ARRAY_POINTER_EXT"/>
+ <enum name="GL_INVARIANT_VALUE_EXT"/>
+ <enum name="GL_INVARIANT_DATATYPE_EXT"/>
+ <enum name="GL_LOCAL_CONSTANT_VALUE_EXT"/>
+ <enum name="GL_LOCAL_CONSTANT_DATATYPE_EXT"/>
+ <command name="glBeginVertexShaderEXT"/>
+ <command name="glEndVertexShaderEXT"/>
+ <command name="glBindVertexShaderEXT"/>
+ <command name="glGenVertexShadersEXT"/>
+ <command name="glDeleteVertexShaderEXT"/>
+ <command name="glShaderOp1EXT"/>
+ <command name="glShaderOp2EXT"/>
+ <command name="glShaderOp3EXT"/>
+ <command name="glSwizzleEXT"/>
+ <command name="glWriteMaskEXT"/>
+ <command name="glInsertComponentEXT"/>
+ <command name="glExtractComponentEXT"/>
+ <command name="glGenSymbolsEXT"/>
+ <command name="glSetInvariantEXT"/>
+ <command name="glSetLocalConstantEXT"/>
+ <command name="glVariantbvEXT"/>
+ <command name="glVariantsvEXT"/>
+ <command name="glVariantivEXT"/>
+ <command name="glVariantfvEXT"/>
+ <command name="glVariantdvEXT"/>
+ <command name="glVariantubvEXT"/>
+ <command name="glVariantusvEXT"/>
+ <command name="glVariantuivEXT"/>
+ <command name="glVariantPointerEXT"/>
+ <command name="glEnableVariantClientStateEXT"/>
+ <command name="glDisableVariantClientStateEXT"/>
+ <command name="glBindLightParameterEXT"/>
+ <command name="glBindMaterialParameterEXT"/>
+ <command name="glBindTexGenParameterEXT"/>
+ <command name="glBindTextureUnitParameterEXT"/>
+ <command name="glBindParameterEXT"/>
+ <command name="glIsVariantEnabledEXT"/>
+ <command name="glGetVariantBooleanvEXT"/>
+ <command name="glGetVariantIntegervEXT"/>
+ <command name="glGetVariantFloatvEXT"/>
+ <command name="glGetVariantPointervEXT"/>
+ <command name="glGetInvariantBooleanvEXT"/>
+ <command name="glGetInvariantIntegervEXT"/>
+ <command name="glGetInvariantFloatvEXT"/>
+ <command name="glGetLocalConstantBooleanvEXT"/>
+ <command name="glGetLocalConstantIntegervEXT"/>
+ <command name="glGetLocalConstantFloatvEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_vertex_weighting" supported="gl">
+ <require>
+ <enum name="GL_MODELVIEW0_STACK_DEPTH_EXT"/>
+ <enum name="GL_MODELVIEW1_STACK_DEPTH_EXT"/>
+ <enum name="GL_MODELVIEW0_MATRIX_EXT"/>
+ <enum name="GL_MODELVIEW1_MATRIX_EXT"/>
+ <enum name="GL_VERTEX_WEIGHTING_EXT"/>
+ <enum name="GL_MODELVIEW0_EXT"/>
+ <enum name="GL_MODELVIEW1_EXT"/>
+ <enum name="GL_CURRENT_VERTEX_WEIGHT_EXT"/>
+ <enum name="GL_VERTEX_WEIGHT_ARRAY_EXT"/>
+ <enum name="GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT"/>
+ <enum name="GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT"/>
+ <enum name="GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT"/>
+ <enum name="GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT"/>
+ <command name="glVertexWeightfEXT"/>
+ <command name="glVertexWeightfvEXT"/>
+ <command name="glVertexWeightPointerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_x11_sync_object" supported="gl">
+ <require>
+ <enum name="GL_SYNC_X11_FENCE_EXT"/>
+ <command name="glImportSyncEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_FJ_shader_binary_GCCSO" supported="gles2">
+ <require>
+ <enum name="GL_GCCSO_SHADER_BINARY_FJ"/>
+ </require>
+ </extension>
+ <extension name="GL_GREMEDY_frame_terminator" supported="gl">
+ <require>
+ <command name="glFrameTerminatorGREMEDY"/>
+ </require>
+ </extension>
+ <extension name="GL_GREMEDY_string_marker" supported="gl">
+ <require>
+ <command name="glStringMarkerGREMEDY"/>
+ </require>
+ </extension>
+ <extension name="GL_HP_convolution_border_modes" supported="gl">
+ <require>
+ <enum name="GL_IGNORE_BORDER_HP"/>
+ <enum name="GL_CONSTANT_BORDER_HP"/>
+ <enum name="GL_REPLICATE_BORDER_HP"/>
+ <enum name="GL_CONVOLUTION_BORDER_COLOR_HP"/>
+ </require>
+ </extension>
+ <extension name="GL_HP_image_transform" supported="gl">
+ <require>
+ <enum name="GL_IMAGE_SCALE_X_HP"/>
+ <enum name="GL_IMAGE_SCALE_Y_HP"/>
+ <enum name="GL_IMAGE_TRANSLATE_X_HP"/>
+ <enum name="GL_IMAGE_TRANSLATE_Y_HP"/>
+ <enum name="GL_IMAGE_ROTATE_ANGLE_HP"/>
+ <enum name="GL_IMAGE_ROTATE_ORIGIN_X_HP"/>
+ <enum name="GL_IMAGE_ROTATE_ORIGIN_Y_HP"/>
+ <enum name="GL_IMAGE_MAG_FILTER_HP"/>
+ <enum name="GL_IMAGE_MIN_FILTER_HP"/>
+ <enum name="GL_IMAGE_CUBIC_WEIGHT_HP"/>
+ <enum name="GL_CUBIC_HP"/>
+ <enum name="GL_AVERAGE_HP"/>
+ <enum name="GL_IMAGE_TRANSFORM_2D_HP"/>
+ <enum name="GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
+ <enum name="GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
+ <command name="glImageTransformParameteriHP"/>
+ <command name="glImageTransformParameterfHP"/>
+ <command name="glImageTransformParameterivHP"/>
+ <command name="glImageTransformParameterfvHP"/>
+ <command name="glGetImageTransformParameterivHP"/>
+ <command name="glGetImageTransformParameterfvHP"/>
+ </require>
+ </extension>
+ <extension name="GL_HP_occlusion_test" supported="gl">
+ <require>
+ <enum name="GL_OCCLUSION_TEST_HP"/>
+ <enum name="GL_OCCLUSION_TEST_RESULT_HP"/>
+ </require>
+ </extension>
+ <extension name="GL_HP_texture_lighting" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_LIGHTING_MODE_HP"/>
+ <enum name="GL_TEXTURE_POST_SPECULAR_HP"/>
+ <enum name="GL_TEXTURE_PRE_SPECULAR_HP"/>
+ </require>
+ </extension>
+ <extension name="GL_IBM_cull_vertex" supported="gl">
+ <require>
+ <enum name="GL_CULL_VERTEX_IBM"/>
+ </require>
+ </extension>
+ <extension name="GL_IBM_multimode_draw_arrays" supported="gl">
+ <require>
+ <command name="glMultiModeDrawArraysIBM"/>
+ <command name="glMultiModeDrawElementsIBM"/>
+ </require>
+ </extension>
+ <extension name="GL_IBM_rasterpos_clip" supported="gl">
+ <require>
+ <enum name="GL_RASTER_POSITION_UNCLIPPED_IBM"/>
+ </require>
+ </extension>
+ <extension name="GL_IBM_static_data" supported="gl">
+ <require>
+ <enum name="GL_ALL_STATIC_DATA_IBM"/>
+ <enum name="GL_STATIC_VERTEX_ARRAY_IBM"/>
+ <command name="glFlushStaticDataIBM"/>
+ </require>
+ </extension>
+ <extension name="GL_IBM_texture_mirrored_repeat" supported="gl">
+ <require>
+ <enum name="GL_MIRRORED_REPEAT_IBM"/>
+ </require>
+ </extension>
+ <extension name="GL_IBM_vertex_array_lists" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_LIST_IBM"/>
+ <enum name="GL_NORMAL_ARRAY_LIST_IBM"/>
+ <enum name="GL_COLOR_ARRAY_LIST_IBM"/>
+ <enum name="GL_INDEX_ARRAY_LIST_IBM"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_LIST_IBM"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_LIST_IBM"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_LIST_IBM"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_LIST_IBM"/>
+ <enum name="GL_VERTEX_ARRAY_LIST_STRIDE_IBM"/>
+ <enum name="GL_NORMAL_ARRAY_LIST_STRIDE_IBM"/>
+ <enum name="GL_COLOR_ARRAY_LIST_STRIDE_IBM"/>
+ <enum name="GL_INDEX_ARRAY_LIST_STRIDE_IBM"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM"/>
+ <enum name="GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM"/>
+ <command name="glColorPointerListIBM"/>
+ <command name="glSecondaryColorPointerListIBM"/>
+ <command name="glEdgeFlagPointerListIBM"/>
+ <command name="glFogCoordPointerListIBM"/>
+ <command name="glIndexPointerListIBM"/>
+ <command name="glNormalPointerListIBM"/>
+ <command name="glTexCoordPointerListIBM"/>
+ <command name="glVertexPointerListIBM"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_multisampled_render_to_texture" supported="gles1|gles2">
+ <require>
+ <enum name="GL_RENDERBUFFER_SAMPLES_IMG"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG"/>
+ <enum name="GL_MAX_SAMPLES_IMG"/>
+ <enum name="GL_TEXTURE_SAMPLES_IMG"/>
+ <command name="glRenderbufferStorageMultisampleIMG"/>
+ <command name="glFramebufferTexture2DMultisampleIMG"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_program_binary" supported="gles2">
+ <require>
+ <enum name="GL_SGX_PROGRAM_BINARY_IMG"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_read_format" supported="gles1|gles2">
+ <require>
+ <enum name="GL_BGRA_IMG"/>
+ <enum name="GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_shader_binary" supported="gles2">
+ <require>
+ <enum name="GL_SGX_BINARY_IMG"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_texture_compression_pvrtc" supported="gles1|gles2">
+ <require>
+ <enum name="GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"/>
+ <enum name="GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"/>
+ <enum name="GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"/>
+ <enum name="GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_texture_compression_pvrtc2" supported="gles2">
+ <require>
+ <enum name="GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG"/>
+ <enum name="GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_texture_env_enhanced_fixed_function" supported="gles1">
+ <require>
+ <enum name="GL_MODULATE_COLOR_IMG"/>
+ <enum name="GL_RECIP_ADD_SIGNED_ALPHA_IMG"/>
+ <enum name="GL_TEXTURE_ALPHA_MODULATE_IMG"/>
+ <enum name="GL_FACTOR_ALPHA_MODULATE_IMG"/>
+ <enum name="GL_FRAGMENT_ALPHA_MODULATE_IMG"/>
+ <enum name="GL_ADD_BLEND_IMG"/>
+ <enum name="GL_DOT3_RGBA_IMG"/>
+ </require>
+ </extension>
+ <extension name="GL_IMG_user_clip_plane" supported="gles1">
+ <require>
+ <enum name="GL_CLIP_PLANE0_IMG"/>
+ <enum name="GL_CLIP_PLANE1_IMG"/>
+ <enum name="GL_CLIP_PLANE2_IMG"/>
+ <enum name="GL_CLIP_PLANE3_IMG"/>
+ <enum name="GL_CLIP_PLANE4_IMG"/>
+ <enum name="GL_CLIP_PLANE5_IMG"/>
+ <enum name="GL_MAX_CLIP_PLANES_IMG"/>
+ <command name="glClipPlanefIMG"/>
+ <command name="glClipPlanexIMG"/>
+ </require>
+ </extension>
+ <extension name="GL_INGR_blend_func_separate" supported="gl">
+ <require>
+ <command name="glBlendFuncSeparateINGR"/>
+ </require>
+ </extension>
+ <extension name="GL_INGR_color_clamp" supported="gl">
+ <require>
+ <enum name="GL_RED_MIN_CLAMP_INGR"/>
+ <enum name="GL_GREEN_MIN_CLAMP_INGR"/>
+ <enum name="GL_BLUE_MIN_CLAMP_INGR"/>
+ <enum name="GL_ALPHA_MIN_CLAMP_INGR"/>
+ <enum name="GL_RED_MAX_CLAMP_INGR"/>
+ <enum name="GL_GREEN_MAX_CLAMP_INGR"/>
+ <enum name="GL_BLUE_MAX_CLAMP_INGR"/>
+ <enum name="GL_ALPHA_MAX_CLAMP_INGR"/>
+ </require>
+ </extension>
+ <extension name="GL_INGR_interlace_read" supported="gl">
+ <require>
+ <enum name="GL_INTERLACE_READ_INGR"/>
+ </require>
+ </extension>
+ <extension name="GL_INTEL_fragment_shader_ordering" supported="gl"/>
+ <extension name="GL_INTEL_map_texture" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_MEMORY_LAYOUT_INTEL"/>
+ <enum name="GL_LAYOUT_DEFAULT_INTEL"/>
+ <enum name="GL_LAYOUT_LINEAR_INTEL"/>
+ <enum name="GL_LAYOUT_LINEAR_CPU_CACHED_INTEL"/>
+ <command name="glSyncTextureINTEL"/>
+ <command name="glUnmapTexture2DINTEL"/>
+ <command name="glMapTexture2DINTEL"/>
+ </require>
+ </extension>
+ <extension name="GL_INTEL_parallel_arrays" supported="gl">
+ <require>
+ <enum name="GL_PARALLEL_ARRAYS_INTEL"/>
+ <enum name="GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <enum name="GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <enum name="GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL"/>
+ <command name="glVertexPointervINTEL"/>
+ <command name="glNormalPointervINTEL"/>
+ <command name="glColorPointervINTEL"/>
+ <command name="glTexCoordPointervINTEL"/>
+ </require>
+ </extension>
+ <extension name="GL_INTEL_performance_query" supported="gl|gles2">
+ <require>
+ <enum name="GL_PERFQUERY_SINGLE_CONTEXT_INTEL"/>
+ <enum name="GL_PERFQUERY_GLOBAL_CONTEXT_INTEL"/>
+ <enum name="GL_PERFQUERY_WAIT_INTEL"/>
+ <enum name="GL_PERFQUERY_FLUSH_INTEL"/>
+ <enum name="GL_PERFQUERY_DONOT_FLUSH_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_EVENT_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_RAW_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL"/>
+ <enum name="GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL"/>
+ <enum name="GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL"/>
+ <enum name="GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL"/>
+ <command name="glBeginPerfQueryINTEL"/>
+ <command name="glCreatePerfQueryINTEL"/>
+ <command name="glDeletePerfQueryINTEL"/>
+ <command name="glEndPerfQueryINTEL"/>
+ <command name="glGetFirstPerfQueryIdINTEL"/>
+ <command name="glGetNextPerfQueryIdINTEL"/>
+ <command name="glGetPerfCounterInfoINTEL"/>
+ <command name="glGetPerfQueryDataINTEL"/>
+ <command name="glGetPerfQueryIdByNameINTEL"/>
+ <command name="glGetPerfQueryInfoINTEL"/>
+ </require>
+ </extension>
+ <extension name="GL_KHR_blend_equation_advanced" supported="gles2">
+ <require>
+ <command name="glBlendBarrierKHR"/>
+ <enum name="GL_BLEND_ADVANCED_COHERENT_KHR"/>
+ <enum name="GL_MULTIPLY_KHR"/>
+ <enum name="GL_SCREEN_KHR"/>
+ <enum name="GL_OVERLAY_KHR"/>
+ <enum name="GL_DARKEN_KHR"/>
+ <enum name="GL_LIGHTEN_KHR"/>
+ <enum name="GL_COLORDODGE_KHR"/>
+ <enum name="GL_COLORBURN_KHR"/>
+ <enum name="GL_HARDLIGHT_KHR"/>
+ <enum name="GL_SOFTLIGHT_KHR"/>
+ <enum name="GL_DIFFERENCE_KHR"/>
+ <enum name="GL_EXCLUSION_KHR"/>
+ <enum name="GL_HSL_HUE_KHR"/>
+ <enum name="GL_HSL_SATURATION_KHR"/>
+ <enum name="GL_HSL_COLOR_KHR"/>
+ <enum name="GL_HSL_LUMINOSITY_KHR"/>
+ </require>
+ </extension>
+ <extension name="GL_KHR_debug" supported="gl|glcore|gles2">
+ <require api="gl" comment="KHR extensions *mandate* suffixes for ES, unlike for GL">
+ <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
+ <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
+ <enum name="GL_DEBUG_CALLBACK_FUNCTION"/>
+ <enum name="GL_DEBUG_CALLBACK_USER_PARAM"/>
+ <enum name="GL_DEBUG_SOURCE_API"/>
+ <enum name="GL_DEBUG_SOURCE_WINDOW_SYSTEM"/>
+ <enum name="GL_DEBUG_SOURCE_SHADER_COMPILER"/>
+ <enum name="GL_DEBUG_SOURCE_THIRD_PARTY"/>
+ <enum name="GL_DEBUG_SOURCE_APPLICATION"/>
+ <enum name="GL_DEBUG_SOURCE_OTHER"/>
+ <enum name="GL_DEBUG_TYPE_ERROR"/>
+ <enum name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"/>
+ <enum name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"/>
+ <enum name="GL_DEBUG_TYPE_PORTABILITY"/>
+ <enum name="GL_DEBUG_TYPE_PERFORMANCE"/>
+ <enum name="GL_DEBUG_TYPE_OTHER"/>
+ <enum name="GL_DEBUG_TYPE_MARKER"/>
+ <enum name="GL_DEBUG_TYPE_PUSH_GROUP"/>
+ <enum name="GL_DEBUG_TYPE_POP_GROUP"/>
+ <enum name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
+ <enum name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
+ <enum name="GL_DEBUG_GROUP_STACK_DEPTH"/>
+ <enum name="GL_BUFFER"/>
+ <enum name="GL_SHADER"/>
+ <enum name="GL_PROGRAM"/>
+ <enum name="GL_VERTEX_ARRAY"/>
+ <enum name="GL_QUERY"/>
+ <enum name="GL_SAMPLER"/>
+ <enum name="GL_MAX_LABEL_LENGTH"/>
+ <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
+ <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
+ <enum name="GL_DEBUG_LOGGED_MESSAGES"/>
+ <enum name="GL_DEBUG_SEVERITY_HIGH"/>
+ <enum name="GL_DEBUG_SEVERITY_MEDIUM"/>
+ <enum name="GL_DEBUG_SEVERITY_LOW"/>
+ <enum name="GL_DEBUG_OUTPUT"/>
+ <enum name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
+ <enum name="GL_STACK_OVERFLOW"/>
+ <enum name="GL_STACK_UNDERFLOW"/>
+ <command name="glDebugMessageControl"/>
+ <command name="glDebugMessageInsert"/>
+ <command name="glDebugMessageCallback"/>
+ <command name="glGetDebugMessageLog"/>
+ <command name="glPushDebugGroup"/>
+ <command name="glPopDebugGroup"/>
+ <command name="glObjectLabel"/>
+ <command name="glGetObjectLabel"/>
+ <command name="glObjectPtrLabel"/>
+ <command name="glGetObjectPtrLabel"/>
+ <command name="glGetPointerv"/>
+ </require>
+ <require api="gles2">
+ <enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR"/>
+ <enum name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR"/>
+ <enum name="GL_DEBUG_CALLBACK_FUNCTION_KHR"/>
+ <enum name="GL_DEBUG_CALLBACK_USER_PARAM_KHR"/>
+ <enum name="GL_DEBUG_SOURCE_API_KHR"/>
+ <enum name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR"/>
+ <enum name="GL_DEBUG_SOURCE_SHADER_COMPILER_KHR"/>
+ <enum name="GL_DEBUG_SOURCE_THIRD_PARTY_KHR"/>
+ <enum name="GL_DEBUG_SOURCE_APPLICATION_KHR"/>
+ <enum name="GL_DEBUG_SOURCE_OTHER_KHR"/>
+ <enum name="GL_DEBUG_TYPE_ERROR_KHR"/>
+ <enum name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR"/>
+ <enum name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR"/>
+ <enum name="GL_DEBUG_TYPE_PORTABILITY_KHR"/>
+ <enum name="GL_DEBUG_TYPE_PERFORMANCE_KHR"/>
+ <enum name="GL_DEBUG_TYPE_OTHER_KHR"/>
+ <enum name="GL_DEBUG_TYPE_MARKER_KHR"/>
+ <enum name="GL_DEBUG_TYPE_PUSH_GROUP_KHR"/>
+ <enum name="GL_DEBUG_TYPE_POP_GROUP_KHR"/>
+ <enum name="GL_DEBUG_SEVERITY_NOTIFICATION_KHR"/>
+ <enum name="GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+ <enum name="GL_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+ <enum name="GL_BUFFER_KHR"/>
+ <enum name="GL_SHADER_KHR"/>
+ <enum name="GL_PROGRAM_KHR"/>
+ <enum name="GL_VERTEX_ARRAY_KHR"/>
+ <enum name="GL_QUERY_KHR"/>
+ <enum name="GL_SAMPLER_KHR"/>
+ <enum name="GL_MAX_LABEL_LENGTH_KHR"/>
+ <enum name="GL_MAX_DEBUG_MESSAGE_LENGTH_KHR"/>
+ <enum name="GL_MAX_DEBUG_LOGGED_MESSAGES_KHR"/>
+ <enum name="GL_DEBUG_LOGGED_MESSAGES_KHR"/>
+ <enum name="GL_DEBUG_SEVERITY_HIGH_KHR"/>
+ <enum name="GL_DEBUG_SEVERITY_MEDIUM_KHR"/>
+ <enum name="GL_DEBUG_SEVERITY_LOW_KHR"/>
+ <enum name="GL_DEBUG_OUTPUT_KHR"/>
+ <enum name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR"/>
+ <enum name="GL_STACK_OVERFLOW_KHR"/>
+ <enum name="GL_STACK_UNDERFLOW_KHR"/>
+ <command name="glDebugMessageControlKHR"/>
+ <command name="glDebugMessageInsertKHR"/>
+ <command name="glDebugMessageCallbackKHR"/>
+ <command name="glGetDebugMessageLogKHR"/>
+ <command name="glPushDebugGroupKHR"/>
+ <command name="glPopDebugGroupKHR"/>
+ <command name="glObjectLabelKHR"/>
+ <command name="glGetObjectLabelKHR"/>
+ <command name="glObjectPtrLabelKHR"/>
+ <command name="glGetObjectPtrLabelKHR"/>
+ <command name="glGetPointervKHR"/>
+ </require>
+ <require api="gl" comment="Could benefit from api/profile attributes at enum tag level">
+ <enum name="GL_PROGRAM_PIPELINE"/>
+ </require>
+ <require api="gl" profile="compatibility">
+ <enum name="GL_DISPLAY_LIST"/>
+ </require>
+ </extension>
+ <extension name="GL_KHR_texture_compression_astc_hdr" supported="gl|glcore|gles2">
+ <require>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
+ </require>
+ </extension>
+ <extension name="GL_KHR_texture_compression_astc_ldr" supported="gl|glcore|gles2" comment="API is identical to GL_KHR_texture_compression_astc_hdr extension">
+ <require>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
+ </require>
+ </extension>
+ <extension name="GL_MESAX_texture_stack" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_1D_STACK_MESAX"/>
+ <enum name="GL_TEXTURE_2D_STACK_MESAX"/>
+ <enum name="GL_PROXY_TEXTURE_1D_STACK_MESAX"/>
+ <enum name="GL_PROXY_TEXTURE_2D_STACK_MESAX"/>
+ <enum name="GL_TEXTURE_1D_STACK_BINDING_MESAX"/>
+ <enum name="GL_TEXTURE_2D_STACK_BINDING_MESAX"/>
+ </require>
+ </extension>
+ <extension name="GL_MESA_pack_invert" supported="gl">
+ <require>
+ <enum name="GL_PACK_INVERT_MESA"/>
+ </require>
+ </extension>
+ <extension name="GL_MESA_resize_buffers" supported="gl">
+ <require>
+ <command name="glResizeBuffersMESA"/>
+ </require>
+ </extension>
+ <extension name="GL_MESA_window_pos" supported="gl">
+ <require>
+ <command name="glWindowPos2dMESA"/>
+ <command name="glWindowPos2dvMESA"/>
+ <command name="glWindowPos2fMESA"/>
+ <command name="glWindowPos2fvMESA"/>
+ <command name="glWindowPos2iMESA"/>
+ <command name="glWindowPos2ivMESA"/>
+ <command name="glWindowPos2sMESA"/>
+ <command name="glWindowPos2svMESA"/>
+ <command name="glWindowPos3dMESA"/>
+ <command name="glWindowPos3dvMESA"/>
+ <command name="glWindowPos3fMESA"/>
+ <command name="glWindowPos3fvMESA"/>
+ <command name="glWindowPos3iMESA"/>
+ <command name="glWindowPos3ivMESA"/>
+ <command name="glWindowPos3sMESA"/>
+ <command name="glWindowPos3svMESA"/>
+ <command name="glWindowPos4dMESA"/>
+ <command name="glWindowPos4dvMESA"/>
+ <command name="glWindowPos4fMESA"/>
+ <command name="glWindowPos4fvMESA"/>
+ <command name="glWindowPos4iMESA"/>
+ <command name="glWindowPos4ivMESA"/>
+ <command name="glWindowPos4sMESA"/>
+ <command name="glWindowPos4svMESA"/>
+ </require>
+ </extension>
+ <extension name="GL_MESA_ycbcr_texture" supported="gl">
+ <require>
+ <enum name="GL_UNSIGNED_SHORT_8_8_MESA"/>
+ <enum name="GL_UNSIGNED_SHORT_8_8_REV_MESA"/>
+ <enum name="GL_YCBCR_MESA"/>
+ </require>
+ </extension>
+ <extension name="GL_NVX_conditional_render" supported="gl">
+ <require>
+ <command name="glBeginConditionalRenderNVX"/>
+ <command name="glEndConditionalRenderNVX"/>
+ </require>
+ </extension>
+ <extension name="GL_NVX_gpu_memory_info" supported="gl">
+ <require>
+ <enum name="GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX"/>
+ <enum name="GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX"/>
+ <enum name="GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX"/>
+ <enum name="GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX"/>
+ <enum name="GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_bindless_multi_draw_indirect" supported="gl">
+ <require>
+ <command name="glMultiDrawArraysIndirectBindlessNV"/>
+ <command name="glMultiDrawElementsIndirectBindlessNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_bindless_texture" supported="gl">
+ <require>
+ <command name="glGetTextureHandleNV"/>
+ <command name="glGetTextureSamplerHandleNV"/>
+ <command name="glMakeTextureHandleResidentNV"/>
+ <command name="glMakeTextureHandleNonResidentNV"/>
+ <command name="glGetImageHandleNV"/>
+ <command name="glMakeImageHandleResidentNV"/>
+ <command name="glMakeImageHandleNonResidentNV"/>
+ <command name="glUniformHandleui64NV"/>
+ <command name="glUniformHandleui64vNV"/>
+ <command name="glProgramUniformHandleui64NV"/>
+ <command name="glProgramUniformHandleui64vNV"/>
+ <command name="glIsTextureHandleResidentNV"/>
+ <command name="glIsImageHandleResidentNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_blend_equation_advanced" supported="gl|gles2">
+ <require>
+ <enum name="GL_BLEND_OVERLAP_NV"/>
+ <enum name="GL_BLEND_PREMULTIPLIED_SRC_NV"/>
+ <enum name="GL_BLUE_NV"/>
+ <enum name="GL_COLORBURN_NV"/>
+ <enum name="GL_COLORDODGE_NV"/>
+ <enum name="GL_CONJOINT_NV"/>
+ <enum name="GL_CONTRAST_NV"/>
+ <enum name="GL_DARKEN_NV"/>
+ <enum name="GL_DIFFERENCE_NV"/>
+ <enum name="GL_DISJOINT_NV"/>
+ <enum name="GL_DST_ATOP_NV"/>
+ <enum name="GL_DST_IN_NV"/>
+ <enum name="GL_DST_NV"/>
+ <enum name="GL_DST_OUT_NV"/>
+ <enum name="GL_DST_OVER_NV"/>
+ <enum name="GL_EXCLUSION_NV"/>
+ <enum name="GL_GREEN_NV"/>
+ <enum name="GL_HARDLIGHT_NV"/>
+ <enum name="GL_HARDMIX_NV"/>
+ <enum name="GL_HSL_COLOR_NV"/>
+ <enum name="GL_HSL_HUE_NV"/>
+ <enum name="GL_HSL_LUMINOSITY_NV"/>
+ <enum name="GL_HSL_SATURATION_NV"/>
+ <enum name="GL_INVERT"/>
+ <enum name="GL_INVERT_OVG_NV"/>
+ <enum name="GL_INVERT_RGB_NV"/>
+ <enum name="GL_LIGHTEN_NV"/>
+ <enum name="GL_LINEARBURN_NV"/>
+ <enum name="GL_LINEARDODGE_NV"/>
+ <enum name="GL_LINEARLIGHT_NV"/>
+ <enum name="GL_MINUS_CLAMPED_NV"/>
+ <enum name="GL_MINUS_NV"/>
+ <enum name="GL_MULTIPLY_NV"/>
+ <enum name="GL_OVERLAY_NV"/>
+ <enum name="GL_PINLIGHT_NV"/>
+ <enum name="GL_PLUS_CLAMPED_ALPHA_NV"/>
+ <enum name="GL_PLUS_CLAMPED_NV"/>
+ <enum name="GL_PLUS_DARKER_NV"/>
+ <enum name="GL_PLUS_NV"/>
+ <enum name="GL_RED_NV"/>
+ <enum name="GL_SCREEN_NV"/>
+ <enum name="GL_SOFTLIGHT_NV"/>
+ <enum name="GL_SRC_ATOP_NV"/>
+ <enum name="GL_SRC_IN_NV"/>
+ <enum name="GL_SRC_NV"/>
+ <enum name="GL_SRC_OUT_NV"/>
+ <enum name="GL_SRC_OVER_NV"/>
+ <enum name="GL_UNCORRELATED_NV"/>
+ <enum name="GL_VIVIDLIGHT_NV"/>
+ <enum name="GL_XOR_NV"/>
+ <enum name="GL_ZERO"/>
+ <command name="glBlendParameteriNV"/>
+ <command name="glBlendBarrierNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_blend_equation_advanced_coherent" supported="gl|gles2">
+ <require comment="Otherwise identical to GL_NV_blend_equation_advanced, just different semantic behavior">
+ <enum name="GL_BLEND_ADVANCED_COHERENT_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_blend_square" supported="gl"/>
+ <extension name="GL_NV_compute_program5" supported="gl">
+ <require>
+ <enum name="GL_COMPUTE_PROGRAM_NV"/>
+ <enum name="GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_conditional_render" supported="gl">
+ <require>
+ <enum name="GL_QUERY_WAIT_NV"/>
+ <enum name="GL_QUERY_NO_WAIT_NV"/>
+ <enum name="GL_QUERY_BY_REGION_WAIT_NV"/>
+ <enum name="GL_QUERY_BY_REGION_NO_WAIT_NV"/>
+ <command name="glBeginConditionalRenderNV"/>
+ <command name="glEndConditionalRenderNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_copy_buffer" supported="gles2">
+ <require>
+ <enum name="GL_COPY_READ_BUFFER_NV"/>
+ <enum name="GL_COPY_WRITE_BUFFER_NV"/>
+ <command name="glCopyBufferSubDataNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_copy_depth_to_color" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_STENCIL_TO_RGBA_NV"/>
+ <enum name="GL_DEPTH_STENCIL_TO_BGRA_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_copy_image" supported="gl">
+ <require>
+ <command name="glCopyImageSubDataNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_coverage_sample" supported="gles2">
+ <require>
+ <enum name="GL_COVERAGE_COMPONENT_NV"/>
+ <enum name="GL_COVERAGE_COMPONENT4_NV"/>
+ <enum name="GL_COVERAGE_ATTACHMENT_NV"/>
+ <enum name="GL_COVERAGE_BUFFERS_NV"/>
+ <enum name="GL_COVERAGE_SAMPLES_NV"/>
+ <enum name="GL_COVERAGE_ALL_FRAGMENTS_NV"/>
+ <enum name="GL_COVERAGE_EDGE_FRAGMENTS_NV"/>
+ <enum name="GL_COVERAGE_AUTOMATIC_NV"/>
+ <enum name="GL_COVERAGE_BUFFER_BIT_NV"/>
+ <command name="glCoverageMaskNV"/>
+ <command name="glCoverageOperationNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_deep_texture3D" supported="gl">
+ <require>
+ <enum name="GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV"/>
+ <enum name="GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_depth_buffer_float" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT32F_NV"/>
+ <enum name="GL_DEPTH32F_STENCIL8_NV"/>
+ <enum name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"/>
+ <enum name="GL_DEPTH_BUFFER_FLOAT_MODE_NV"/>
+ <command name="glDepthRangedNV"/>
+ <command name="glClearDepthdNV"/>
+ <command name="glDepthBoundsdNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_depth_clamp" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_CLAMP_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_depth_nonlinear" supported="gles2">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT16_NONLINEAR_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_draw_buffers" supported="gles2">
+ <require>
+ <enum name="GL_MAX_DRAW_BUFFERS_NV"/>
+ <enum name="GL_DRAW_BUFFER0_NV"/>
+ <enum name="GL_DRAW_BUFFER1_NV"/>
+ <enum name="GL_DRAW_BUFFER2_NV"/>
+ <enum name="GL_DRAW_BUFFER3_NV"/>
+ <enum name="GL_DRAW_BUFFER4_NV"/>
+ <enum name="GL_DRAW_BUFFER5_NV"/>
+ <enum name="GL_DRAW_BUFFER6_NV"/>
+ <enum name="GL_DRAW_BUFFER7_NV"/>
+ <enum name="GL_DRAW_BUFFER8_NV"/>
+ <enum name="GL_DRAW_BUFFER9_NV"/>
+ <enum name="GL_DRAW_BUFFER10_NV"/>
+ <enum name="GL_DRAW_BUFFER11_NV"/>
+ <enum name="GL_DRAW_BUFFER12_NV"/>
+ <enum name="GL_DRAW_BUFFER13_NV"/>
+ <enum name="GL_DRAW_BUFFER14_NV"/>
+ <enum name="GL_DRAW_BUFFER15_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT0_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT1_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT2_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT3_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT4_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT5_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT6_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT7_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT8_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT9_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT10_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT11_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT12_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT13_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT14_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT15_NV"/>
+ <command name="glDrawBuffersNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_draw_instanced" supported="gles2">
+ <require>
+ <command name="glDrawArraysInstancedNV"/>
+ <command name="glDrawElementsInstancedNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_draw_texture" supported="gl">
+ <require>
+ <command name="glDrawTextureNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_evaluators" supported="gl">
+ <require>
+ <enum name="GL_EVAL_2D_NV"/>
+ <enum name="GL_EVAL_TRIANGULAR_2D_NV"/>
+ <enum name="GL_MAP_TESSELLATION_NV"/>
+ <enum name="GL_MAP_ATTRIB_U_ORDER_NV"/>
+ <enum name="GL_MAP_ATTRIB_V_ORDER_NV"/>
+ <enum name="GL_EVAL_FRACTIONAL_TESSELLATION_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB0_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB1_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB2_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB3_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB4_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB5_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB6_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB7_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB8_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB9_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB10_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB11_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB12_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB13_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB14_NV"/>
+ <enum name="GL_EVAL_VERTEX_ATTRIB15_NV"/>
+ <enum name="GL_MAX_MAP_TESSELLATION_NV"/>
+ <enum name="GL_MAX_RATIONAL_EVAL_ORDER_NV"/>
+ <command name="glMapControlPointsNV"/>
+ <command name="glMapParameterivNV"/>
+ <command name="glMapParameterfvNV"/>
+ <command name="glGetMapControlPointsNV"/>
+ <command name="glGetMapParameterivNV"/>
+ <command name="glGetMapParameterfvNV"/>
+ <command name="glGetMapAttribParameterivNV"/>
+ <command name="glGetMapAttribParameterfvNV"/>
+ <command name="glEvalMapsNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_explicit_attrib_location" supported="gles2"/>
+ <extension name="GL_NV_explicit_multisample" supported="gl">
+ <require>
+ <enum name="GL_SAMPLE_POSITION_NV"/>
+ <enum name="GL_SAMPLE_MASK_NV"/>
+ <enum name="GL_SAMPLE_MASK_VALUE_NV"/>
+ <enum name="GL_TEXTURE_BINDING_RENDERBUFFER_NV"/>
+ <enum name="GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV"/>
+ <enum name="GL_TEXTURE_RENDERBUFFER_NV"/>
+ <enum name="GL_SAMPLER_RENDERBUFFER_NV"/>
+ <enum name="GL_INT_SAMPLER_RENDERBUFFER_NV"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV"/>
+ <enum name="GL_MAX_SAMPLE_MASK_WORDS_NV"/>
+ <command name="glGetMultisamplefvNV"/>
+ <command name="glSampleMaskIndexedNV"/>
+ <command name="glTexRenderbufferNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_fbo_color_attachments" supported="gles2">
+ <require>
+ <enum name="GL_MAX_COLOR_ATTACHMENTS_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT0_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT1_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT2_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT3_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT4_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT5_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT6_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT7_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT8_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT9_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT10_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT11_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT12_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT13_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT14_NV"/>
+ <enum name="GL_COLOR_ATTACHMENT15_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_fence" supported="gl|gles1|gles2">
+ <require>
+ <enum name="GL_ALL_COMPLETED_NV"/>
+ <enum name="GL_FENCE_STATUS_NV"/>
+ <enum name="GL_FENCE_CONDITION_NV"/>
+ <command name="glDeleteFencesNV"/>
+ <command name="glGenFencesNV"/>
+ <command name="glIsFenceNV"/>
+ <command name="glTestFenceNV"/>
+ <command name="glGetFenceivNV"/>
+ <command name="glFinishFenceNV"/>
+ <command name="glSetFenceNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_float_buffer" supported="gl">
+ <require>
+ <enum name="GL_FLOAT_R_NV"/>
+ <enum name="GL_FLOAT_RG_NV"/>
+ <enum name="GL_FLOAT_RGB_NV"/>
+ <enum name="GL_FLOAT_RGBA_NV"/>
+ <enum name="GL_FLOAT_R16_NV"/>
+ <enum name="GL_FLOAT_R32_NV"/>
+ <enum name="GL_FLOAT_RG16_NV"/>
+ <enum name="GL_FLOAT_RG32_NV"/>
+ <enum name="GL_FLOAT_RGB16_NV"/>
+ <enum name="GL_FLOAT_RGB32_NV"/>
+ <enum name="GL_FLOAT_RGBA16_NV"/>
+ <enum name="GL_FLOAT_RGBA32_NV"/>
+ <enum name="GL_TEXTURE_FLOAT_COMPONENTS_NV"/>
+ <enum name="GL_FLOAT_CLEAR_COLOR_VALUE_NV"/>
+ <enum name="GL_FLOAT_RGBA_MODE_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_fog_distance" supported="gl">
+ <require>
+ <enum name="GL_FOG_DISTANCE_MODE_NV"/>
+ <enum name="GL_EYE_RADIAL_NV"/>
+ <enum name="GL_EYE_PLANE_ABSOLUTE_NV"/>
+ <enum name="GL_EYE_PLANE"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_fragment_program" supported="gl">
+ <require>
+ <enum name="GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV"/>
+ <enum name="GL_FRAGMENT_PROGRAM_NV"/>
+ <enum name="GL_MAX_TEXTURE_COORDS_NV"/>
+ <enum name="GL_MAX_TEXTURE_IMAGE_UNITS_NV"/>
+ <enum name="GL_FRAGMENT_PROGRAM_BINDING_NV"/>
+ <enum name="GL_PROGRAM_ERROR_STRING_NV"/>
+ </require>
+ <require comment="Some NV_fragment_program entry points are shared with ARB_vertex_program">
+ <command name="glProgramNamedParameter4fNV"/>
+ <command name="glProgramNamedParameter4fvNV"/>
+ <command name="glProgramNamedParameter4dNV"/>
+ <command name="glProgramNamedParameter4dvNV"/>
+ <command name="glGetProgramNamedParameterfvNV"/>
+ <command name="glGetProgramNamedParameterdvNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_fragment_program2" supported="gl">
+ <require>
+ <enum name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
+ <enum name="GL_MAX_PROGRAM_CALL_DEPTH_NV"/>
+ <enum name="GL_MAX_PROGRAM_IF_DEPTH_NV"/>
+ <enum name="GL_MAX_PROGRAM_LOOP_DEPTH_NV"/>
+ <enum name="GL_MAX_PROGRAM_LOOP_COUNT_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_fragment_program4" supported="gl"/>
+ <extension name="GL_NV_fragment_program_option" supported="gl"/>
+ <extension name="GL_NV_framebuffer_blit" supported="gles2">
+ <require>
+ <enum name="GL_READ_FRAMEBUFFER_NV"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_NV"/>
+ <enum name="GL_DRAW_FRAMEBUFFER_BINDING_NV"/>
+ <enum name="GL_READ_FRAMEBUFFER_BINDING_NV"/>
+ <command name="glBlitFramebufferNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_framebuffer_multisample" supported="gles2">
+ <require>
+ <enum name="GL_RENDERBUFFER_SAMPLES_NV"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV"/>
+ <enum name="GL_MAX_SAMPLES_NV"/>
+ <command name="glRenderbufferStorageMultisampleNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_framebuffer_multisample_coverage" supported="gl">
+ <require>
+ <enum name="GL_RENDERBUFFER_COVERAGE_SAMPLES_NV"/>
+ <enum name="GL_RENDERBUFFER_COLOR_SAMPLES_NV"/>
+ <enum name="GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV"/>
+ <enum name="GL_MULTISAMPLE_COVERAGE_MODES_NV"/>
+ <command name="glRenderbufferStorageMultisampleCoverageNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_generate_mipmap_sRGB" supported="gles2"/>
+ <extension name="GL_NV_geometry_program4" supported="gl">
+ <require>
+ <enum name="GL_LINES_ADJACENCY_EXT"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_GEOMETRY_PROGRAM_NV"/>
+ <enum name="GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"/>
+ <enum name="GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"/>
+ <enum name="GL_GEOMETRY_VERTICES_OUT_EXT"/>
+ <enum name="GL_GEOMETRY_INPUT_TYPE_EXT"/>
+ <enum name="GL_GEOMETRY_OUTPUT_TYPE_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
+ <enum name="GL_PROGRAM_POINT_SIZE_EXT"/>
+ <command name="glProgramVertexLimitNV"/>
+ <command name="glFramebufferTextureEXT"/>
+ <command name="glFramebufferTextureLayerEXT"/>
+ <command name="glFramebufferTextureFaceEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_geometry_shader4" supported="gl"/>
+ <extension name="GL_NV_gpu_program4" supported="gl">
+ <require>
+ <enum name="GL_MIN_PROGRAM_TEXEL_OFFSET_NV"/>
+ <enum name="GL_MAX_PROGRAM_TEXEL_OFFSET_NV"/>
+ <enum name="GL_PROGRAM_ATTRIB_COMPONENTS_NV"/>
+ <enum name="GL_PROGRAM_RESULT_COMPONENTS_NV"/>
+ <enum name="GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV"/>
+ <enum name="GL_MAX_PROGRAM_RESULT_COMPONENTS_NV"/>
+ <enum name="GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV"/>
+ <enum name="GL_MAX_PROGRAM_GENERIC_RESULTS_NV"/>
+ <command name="glProgramLocalParameterI4iNV"/>
+ <command name="glProgramLocalParameterI4ivNV"/>
+ <command name="glProgramLocalParametersI4ivNV"/>
+ <command name="glProgramLocalParameterI4uiNV"/>
+ <command name="glProgramLocalParameterI4uivNV"/>
+ <command name="glProgramLocalParametersI4uivNV"/>
+ <command name="glProgramEnvParameterI4iNV"/>
+ <command name="glProgramEnvParameterI4ivNV"/>
+ <command name="glProgramEnvParametersI4ivNV"/>
+ <command name="glProgramEnvParameterI4uiNV"/>
+ <command name="glProgramEnvParameterI4uivNV"/>
+ <command name="glProgramEnvParametersI4uivNV"/>
+ <command name="glGetProgramLocalParameterIivNV"/>
+ <command name="glGetProgramLocalParameterIuivNV"/>
+ <command name="glGetProgramEnvParameterIivNV"/>
+ <command name="glGetProgramEnvParameterIuivNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_gpu_program5" supported="gl">
+ <require>
+ <enum name="GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV"/>
+ <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
+ <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
+ <enum name="GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV"/>
+ <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
+ <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
+ <enum name="GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV"/>
+ <enum name="GL_MAX_PROGRAM_SUBROUTINE_NUM_NV"/>
+ <command name="glProgramSubroutineParametersuivNV"/>
+ <command name="glGetProgramSubroutineParameteruivNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_gpu_program5_mem_extended" supported="gl"/>
+ <extension name="GL_NV_gpu_shader5" supported="gl">
+ <require>
+ <enum name="GL_INT64_NV"/>
+ <enum name="GL_UNSIGNED_INT64_NV"/>
+ <enum name="GL_INT8_NV"/>
+ <enum name="GL_INT8_VEC2_NV"/>
+ <enum name="GL_INT8_VEC3_NV"/>
+ <enum name="GL_INT8_VEC4_NV"/>
+ <enum name="GL_INT16_NV"/>
+ <enum name="GL_INT16_VEC2_NV"/>
+ <enum name="GL_INT16_VEC3_NV"/>
+ <enum name="GL_INT16_VEC4_NV"/>
+ <enum name="GL_INT64_VEC2_NV"/>
+ <enum name="GL_INT64_VEC3_NV"/>
+ <enum name="GL_INT64_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT8_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT16_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC4_NV"/>
+ <enum name="GL_FLOAT16_NV"/>
+ <enum name="GL_FLOAT16_VEC2_NV"/>
+ <enum name="GL_FLOAT16_VEC3_NV"/>
+ <enum name="GL_FLOAT16_VEC4_NV"/>
+ <enum name="GL_PATCHES"/>
+ <command name="glUniform1i64NV"/>
+ <command name="glUniform2i64NV"/>
+ <command name="glUniform3i64NV"/>
+ <command name="glUniform4i64NV"/>
+ <command name="glUniform1i64vNV"/>
+ <command name="glUniform2i64vNV"/>
+ <command name="glUniform3i64vNV"/>
+ <command name="glUniform4i64vNV"/>
+ <command name="glUniform1ui64NV"/>
+ <command name="glUniform2ui64NV"/>
+ <command name="glUniform3ui64NV"/>
+ <command name="glUniform4ui64NV"/>
+ <command name="glUniform1ui64vNV"/>
+ <command name="glUniform2ui64vNV"/>
+ <command name="glUniform3ui64vNV"/>
+ <command name="glUniform4ui64vNV"/>
+ <command name="glGetUniformi64vNV"/>
+ </require>
+ <require comment="Supported only if GL_EXT_direct_state_access is supported">
+ <command name="glProgramUniform1i64NV"/>
+ <command name="glProgramUniform2i64NV"/>
+ <command name="glProgramUniform3i64NV"/>
+ <command name="glProgramUniform4i64NV"/>
+ <command name="glProgramUniform1i64vNV"/>
+ <command name="glProgramUniform2i64vNV"/>
+ <command name="glProgramUniform3i64vNV"/>
+ <command name="glProgramUniform4i64vNV"/>
+ <command name="glProgramUniform1ui64NV"/>
+ <command name="glProgramUniform2ui64NV"/>
+ <command name="glProgramUniform3ui64NV"/>
+ <command name="glProgramUniform4ui64NV"/>
+ <command name="glProgramUniform1ui64vNV"/>
+ <command name="glProgramUniform2ui64vNV"/>
+ <command name="glProgramUniform3ui64vNV"/>
+ <command name="glProgramUniform4ui64vNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_half_float" supported="gl">
+ <require>
+ <enum name="GL_HALF_FLOAT_NV"/>
+ <command name="glVertex2hNV"/>
+ <command name="glVertex2hvNV"/>
+ <command name="glVertex3hNV"/>
+ <command name="glVertex3hvNV"/>
+ <command name="glVertex4hNV"/>
+ <command name="glVertex4hvNV"/>
+ <command name="glNormal3hNV"/>
+ <command name="glNormal3hvNV"/>
+ <command name="glColor3hNV"/>
+ <command name="glColor3hvNV"/>
+ <command name="glColor4hNV"/>
+ <command name="glColor4hvNV"/>
+ <command name="glTexCoord1hNV"/>
+ <command name="glTexCoord1hvNV"/>
+ <command name="glTexCoord2hNV"/>
+ <command name="glTexCoord2hvNV"/>
+ <command name="glTexCoord3hNV"/>
+ <command name="glTexCoord3hvNV"/>
+ <command name="glTexCoord4hNV"/>
+ <command name="glTexCoord4hvNV"/>
+ <command name="glMultiTexCoord1hNV"/>
+ <command name="glMultiTexCoord1hvNV"/>
+ <command name="glMultiTexCoord2hNV"/>
+ <command name="glMultiTexCoord2hvNV"/>
+ <command name="glMultiTexCoord3hNV"/>
+ <command name="glMultiTexCoord3hvNV"/>
+ <command name="glMultiTexCoord4hNV"/>
+ <command name="glMultiTexCoord4hvNV"/>
+ <command name="glFogCoordhNV"/>
+ <command name="glFogCoordhvNV"/>
+ <command name="glSecondaryColor3hNV"/>
+ <command name="glSecondaryColor3hvNV"/>
+ <command name="glVertexWeighthNV"/>
+ <command name="glVertexWeighthvNV"/>
+ <command name="glVertexAttrib1hNV"/>
+ <command name="glVertexAttrib1hvNV"/>
+ <command name="glVertexAttrib2hNV"/>
+ <command name="glVertexAttrib2hvNV"/>
+ <command name="glVertexAttrib3hNV"/>
+ <command name="glVertexAttrib3hvNV"/>
+ <command name="glVertexAttrib4hNV"/>
+ <command name="glVertexAttrib4hvNV"/>
+ <command name="glVertexAttribs1hvNV"/>
+ <command name="glVertexAttribs2hvNV"/>
+ <command name="glVertexAttribs3hvNV"/>
+ <command name="glVertexAttribs4hvNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_instanced_arrays" supported="gles2">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV"/>
+ <command name="glVertexAttribDivisorNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_light_max_exponent" supported="gl">
+ <require>
+ <enum name="GL_MAX_SHININESS_NV"/>
+ <enum name="GL_MAX_SPOT_EXPONENT_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_multisample_coverage" supported="gl">
+ <require>
+ <enum name="GL_SAMPLES_ARB"/>
+ <enum name="GL_COLOR_SAMPLES_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_multisample_filter_hint" supported="gl">
+ <require>
+ <enum name="GL_MULTISAMPLE_FILTER_HINT_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_non_square_matrices" supported="gles2">
+ <require>
+ <enum name="GL_FLOAT_MAT2x3_NV"/>
+ <enum name="GL_FLOAT_MAT2x4_NV"/>
+ <enum name="GL_FLOAT_MAT3x2_NV"/>
+ <enum name="GL_FLOAT_MAT3x4_NV"/>
+ <enum name="GL_FLOAT_MAT4x2_NV"/>
+ <enum name="GL_FLOAT_MAT4x3_NV"/>
+ <command name="glUniformMatrix2x3fvNV"/>
+ <command name="glUniformMatrix3x2fvNV"/>
+ <command name="glUniformMatrix2x4fvNV"/>
+ <command name="glUniformMatrix4x2fvNV"/>
+ <command name="glUniformMatrix3x4fvNV"/>
+ <command name="glUniformMatrix4x3fvNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_occlusion_query" supported="gl">
+ <require>
+ <enum name="GL_PIXEL_COUNTER_BITS_NV"/>
+ <enum name="GL_CURRENT_OCCLUSION_QUERY_ID_NV"/>
+ <enum name="GL_PIXEL_COUNT_NV"/>
+ <enum name="GL_PIXEL_COUNT_AVAILABLE_NV"/>
+ <command name="glGenOcclusionQueriesNV"/>
+ <command name="glDeleteOcclusionQueriesNV"/>
+ <command name="glIsOcclusionQueryNV"/>
+ <command name="glBeginOcclusionQueryNV"/>
+ <command name="glEndOcclusionQueryNV"/>
+ <command name="glGetOcclusionQueryivNV"/>
+ <command name="glGetOcclusionQueryuivNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_packed_depth_stencil" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_STENCIL_NV"/>
+ <enum name="GL_UNSIGNED_INT_24_8_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_parameter_buffer_object" supported="gl">
+ <require>
+ <enum name="GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV"/>
+ <enum name="GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV"/>
+ <enum name="GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum name="GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum name="GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <command name="glProgramBufferParametersfvNV"/>
+ <command name="glProgramBufferParametersIivNV"/>
+ <command name="glProgramBufferParametersIuivNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_parameter_buffer_object2" supported="gl"/>
+ <extension name="GL_NV_path_rendering" supported="gl">
+ <require>
+ <enum name="GL_PATH_FORMAT_SVG_NV"/>
+ <enum name="GL_PATH_FORMAT_PS_NV"/>
+ <enum name="GL_STANDARD_FONT_NAME_NV"/>
+ <enum name="GL_SYSTEM_FONT_NAME_NV"/>
+ <enum name="GL_FILE_NAME_NV"/>
+ <enum name="GL_PATH_STROKE_WIDTH_NV"/>
+ <enum name="GL_PATH_END_CAPS_NV"/>
+ <enum name="GL_PATH_INITIAL_END_CAP_NV"/>
+ <enum name="GL_PATH_TERMINAL_END_CAP_NV"/>
+ <enum name="GL_PATH_JOIN_STYLE_NV"/>
+ <enum name="GL_PATH_MITER_LIMIT_NV"/>
+ <enum name="GL_PATH_DASH_CAPS_NV"/>
+ <enum name="GL_PATH_INITIAL_DASH_CAP_NV"/>
+ <enum name="GL_PATH_TERMINAL_DASH_CAP_NV"/>
+ <enum name="GL_PATH_DASH_OFFSET_NV"/>
+ <enum name="GL_PATH_CLIENT_LENGTH_NV"/>
+ <enum name="GL_PATH_FILL_MODE_NV"/>
+ <enum name="GL_PATH_FILL_MASK_NV"/>
+ <enum name="GL_PATH_FILL_COVER_MODE_NV"/>
+ <enum name="GL_PATH_STROKE_COVER_MODE_NV"/>
+ <enum name="GL_PATH_STROKE_MASK_NV"/>
+ <enum name="GL_COUNT_UP_NV"/>
+ <enum name="GL_COUNT_DOWN_NV"/>
+ <enum name="GL_PATH_OBJECT_BOUNDING_BOX_NV"/>
+ <enum name="GL_CONVEX_HULL_NV"/>
+ <enum name="GL_BOUNDING_BOX_NV"/>
+ <enum name="GL_TRANSLATE_X_NV"/>
+ <enum name="GL_TRANSLATE_Y_NV"/>
+ <enum name="GL_TRANSLATE_2D_NV"/>
+ <enum name="GL_TRANSLATE_3D_NV"/>
+ <enum name="GL_AFFINE_2D_NV"/>
+ <enum name="GL_AFFINE_3D_NV"/>
+ <enum name="GL_TRANSPOSE_AFFINE_2D_NV"/>
+ <enum name="GL_TRANSPOSE_AFFINE_3D_NV"/>
+ <enum name="GL_UTF8_NV"/>
+ <enum name="GL_UTF16_NV"/>
+ <enum name="GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV"/>
+ <enum name="GL_PATH_COMMAND_COUNT_NV"/>
+ <enum name="GL_PATH_COORD_COUNT_NV"/>
+ <enum name="GL_PATH_DASH_ARRAY_COUNT_NV"/>
+ <enum name="GL_PATH_COMPUTED_LENGTH_NV"/>
+ <enum name="GL_PATH_FILL_BOUNDING_BOX_NV"/>
+ <enum name="GL_PATH_STROKE_BOUNDING_BOX_NV"/>
+ <enum name="GL_SQUARE_NV"/>
+ <enum name="GL_ROUND_NV"/>
+ <enum name="GL_TRIANGULAR_NV"/>
+ <enum name="GL_BEVEL_NV"/>
+ <enum name="GL_MITER_REVERT_NV"/>
+ <enum name="GL_MITER_TRUNCATE_NV"/>
+ <enum name="GL_SKIP_MISSING_GLYPH_NV"/>
+ <enum name="GL_USE_MISSING_GLYPH_NV"/>
+ <enum name="GL_PATH_ERROR_POSITION_NV"/>
+ <enum name="GL_PATH_FOG_GEN_MODE_NV"/>
+ <enum name="GL_ACCUM_ADJACENT_PAIRS_NV"/>
+ <enum name="GL_ADJACENT_PAIRS_NV"/>
+ <enum name="GL_FIRST_TO_REST_NV"/>
+ <enum name="GL_PATH_GEN_MODE_NV"/>
+ <enum name="GL_PATH_GEN_COEFF_NV"/>
+ <enum name="GL_PATH_GEN_COLOR_FORMAT_NV"/>
+ <enum name="GL_PATH_GEN_COMPONENTS_NV"/>
+ <enum name="GL_PATH_STENCIL_FUNC_NV"/>
+ <enum name="GL_PATH_STENCIL_REF_NV"/>
+ <enum name="GL_PATH_STENCIL_VALUE_MASK_NV"/>
+ <enum name="GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV"/>
+ <enum name="GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV"/>
+ <enum name="GL_PATH_COVER_DEPTH_FUNC_NV"/>
+ <enum name="GL_PATH_DASH_OFFSET_RESET_NV"/>
+ <enum name="GL_MOVE_TO_RESETS_NV"/>
+ <enum name="GL_MOVE_TO_CONTINUES_NV"/>
+ <enum name="GL_CLOSE_PATH_NV"/>
+ <enum name="GL_MOVE_TO_NV"/>
+ <enum name="GL_RELATIVE_MOVE_TO_NV"/>
+ <enum name="GL_LINE_TO_NV"/>
+ <enum name="GL_RELATIVE_LINE_TO_NV"/>
+ <enum name="GL_HORIZONTAL_LINE_TO_NV"/>
+ <enum name="GL_RELATIVE_HORIZONTAL_LINE_TO_NV"/>
+ <enum name="GL_VERTICAL_LINE_TO_NV"/>
+ <enum name="GL_RELATIVE_VERTICAL_LINE_TO_NV"/>
+ <enum name="GL_QUADRATIC_CURVE_TO_NV"/>
+ <enum name="GL_RELATIVE_QUADRATIC_CURVE_TO_NV"/>
+ <enum name="GL_CUBIC_CURVE_TO_NV"/>
+ <enum name="GL_RELATIVE_CUBIC_CURVE_TO_NV"/>
+ <enum name="GL_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
+ <enum name="GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV"/>
+ <enum name="GL_SMOOTH_CUBIC_CURVE_TO_NV"/>
+ <enum name="GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV"/>
+ <enum name="GL_SMALL_CCW_ARC_TO_NV"/>
+ <enum name="GL_RELATIVE_SMALL_CCW_ARC_TO_NV"/>
+ <enum name="GL_SMALL_CW_ARC_TO_NV"/>
+ <enum name="GL_RELATIVE_SMALL_CW_ARC_TO_NV"/>
+ <enum name="GL_LARGE_CCW_ARC_TO_NV"/>
+ <enum name="GL_RELATIVE_LARGE_CCW_ARC_TO_NV"/>
+ <enum name="GL_LARGE_CW_ARC_TO_NV"/>
+ <enum name="GL_RELATIVE_LARGE_CW_ARC_TO_NV"/>
+ <enum name="GL_RESTART_PATH_NV"/>
+ <enum name="GL_DUP_FIRST_CUBIC_CURVE_TO_NV"/>
+ <enum name="GL_DUP_LAST_CUBIC_CURVE_TO_NV"/>
+ <enum name="GL_RECT_NV"/>
+ <enum name="GL_CIRCULAR_CCW_ARC_TO_NV"/>
+ <enum name="GL_CIRCULAR_CW_ARC_TO_NV"/>
+ <enum name="GL_CIRCULAR_TANGENT_ARC_TO_NV"/>
+ <enum name="GL_ARC_TO_NV"/>
+ <enum name="GL_RELATIVE_ARC_TO_NV"/>
+ <enum name="GL_BOLD_BIT_NV"/>
+ <enum name="GL_ITALIC_BIT_NV"/>
+ <enum name="GL_GLYPH_WIDTH_BIT_NV"/>
+ <enum name="GL_GLYPH_HEIGHT_BIT_NV"/>
+ <enum name="GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV"/>
+ <enum name="GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV"/>
+ <enum name="GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV"/>
+ <enum name="GL_GLYPH_VERTICAL_BEARING_X_BIT_NV"/>
+ <enum name="GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV"/>
+ <enum name="GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV"/>
+ <enum name="GL_GLYPH_HAS_KERNING_BIT_NV"/>
+ <enum name="GL_FONT_X_MIN_BOUNDS_BIT_NV"/>
+ <enum name="GL_FONT_Y_MIN_BOUNDS_BIT_NV"/>
+ <enum name="GL_FONT_X_MAX_BOUNDS_BIT_NV"/>
+ <enum name="GL_FONT_Y_MAX_BOUNDS_BIT_NV"/>
+ <enum name="GL_FONT_UNITS_PER_EM_BIT_NV"/>
+ <enum name="GL_FONT_ASCENDER_BIT_NV"/>
+ <enum name="GL_FONT_DESCENDER_BIT_NV"/>
+ <enum name="GL_FONT_HEIGHT_BIT_NV"/>
+ <enum name="GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV"/>
+ <enum name="GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV"/>
+ <enum name="GL_FONT_UNDERLINE_POSITION_BIT_NV"/>
+ <enum name="GL_FONT_UNDERLINE_THICKNESS_BIT_NV"/>
+ <enum name="GL_FONT_HAS_KERNING_BIT_NV"/>
+ <enum name="GL_PRIMARY_COLOR"/>
+ <enum name="GL_PRIMARY_COLOR_NV"/>
+ <enum name="GL_SECONDARY_COLOR_NV"/>
+ <command name="glGenPathsNV"/>
+ <command name="glDeletePathsNV"/>
+ <command name="glIsPathNV"/>
+ <command name="glPathCommandsNV"/>
+ <command name="glPathCoordsNV"/>
+ <command name="glPathSubCommandsNV"/>
+ <command name="glPathSubCoordsNV"/>
+ <command name="glPathStringNV"/>
+ <command name="glPathGlyphsNV"/>
+ <command name="glPathGlyphRangeNV"/>
+ <command name="glWeightPathsNV"/>
+ <command name="glCopyPathNV"/>
+ <command name="glInterpolatePathsNV"/>
+ <command name="glTransformPathNV"/>
+ <command name="glPathParameterivNV"/>
+ <command name="glPathParameteriNV"/>
+ <command name="glPathParameterfvNV"/>
+ <command name="glPathParameterfNV"/>
+ <command name="glPathDashArrayNV"/>
+ <command name="glPathStencilFuncNV"/>
+ <command name="glPathStencilDepthOffsetNV"/>
+ <command name="glStencilFillPathNV"/>
+ <command name="glStencilStrokePathNV"/>
+ <command name="glStencilFillPathInstancedNV"/>
+ <command name="glStencilStrokePathInstancedNV"/>
+ <command name="glPathCoverDepthFuncNV"/>
+ <command name="glPathColorGenNV"/>
+ <command name="glPathTexGenNV"/>
+ <command name="glPathFogGenNV"/>
+ <command name="glCoverFillPathNV"/>
+ <command name="glCoverStrokePathNV"/>
+ <command name="glCoverFillPathInstancedNV"/>
+ <command name="glCoverStrokePathInstancedNV"/>
+ <command name="glGetPathParameterivNV"/>
+ <command name="glGetPathParameterfvNV"/>
+ <command name="glGetPathCommandsNV"/>
+ <command name="glGetPathCoordsNV"/>
+ <command name="glGetPathDashArrayNV"/>
+ <command name="glGetPathMetricsNV"/>
+ <command name="glGetPathMetricRangeNV"/>
+ <command name="glGetPathSpacingNV"/>
+ <command name="glGetPathColorGenivNV"/>
+ <command name="glGetPathColorGenfvNV"/>
+ <command name="glGetPathTexGenivNV"/>
+ <command name="glGetPathTexGenfvNV"/>
+ <command name="glIsPointInFillPathNV"/>
+ <command name="glIsPointInStrokePathNV"/>
+ <command name="glGetPathLengthNV"/>
+ <command name="glPointAlongPathNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_pixel_data_range" supported="gl">
+ <require>
+ <enum name="GL_WRITE_PIXEL_DATA_RANGE_NV"/>
+ <enum name="GL_READ_PIXEL_DATA_RANGE_NV"/>
+ <enum name="GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"/>
+ <enum name="GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"/>
+ <enum name="GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"/>
+ <enum name="GL_READ_PIXEL_DATA_RANGE_POINTER_NV"/>
+ <command name="glPixelDataRangeNV"/>
+ <command name="glFlushPixelDataRangeNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_point_sprite" supported="gl">
+ <require>
+ <enum name="GL_POINT_SPRITE_NV"/>
+ <enum name="GL_COORD_REPLACE_NV"/>
+ <enum name="GL_POINT_SPRITE_R_MODE_NV"/>
+ <command name="glPointParameteriNV"/>
+ <command name="glPointParameterivNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_present_video" supported="gl">
+ <require>
+ <enum name="GL_FRAME_NV"/>
+ <enum name="GL_FIELDS_NV"/>
+ <enum name="GL_CURRENT_TIME_NV"/>
+ <enum name="GL_NUM_FILL_STREAMS_NV"/>
+ <enum name="GL_PRESENT_TIME_NV"/>
+ <enum name="GL_PRESENT_DURATION_NV"/>
+ <command name="glPresentFrameKeyedNV"/>
+ <command name="glPresentFrameDualFillNV"/>
+ <command name="glGetVideoivNV"/>
+ <command name="glGetVideouivNV"/>
+ <command name="glGetVideoi64vNV"/>
+ <command name="glGetVideoui64vNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_primitive_restart" supported="gl">
+ <require>
+ <enum name="GL_PRIMITIVE_RESTART_NV"/>
+ <enum name="GL_PRIMITIVE_RESTART_INDEX_NV"/>
+ <command name="glPrimitiveRestartNV"/>
+ <command name="glPrimitiveRestartIndexNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_read_buffer" supported="gles2">
+ <require>
+ <enum name="GL_READ_BUFFER_NV"/>
+ <command name="glReadBufferNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_read_buffer_front" supported="gles2"/>
+ <extension name="GL_NV_read_depth" supported="gles2"/>
+ <extension name="GL_NV_read_depth_stencil" supported="gles2"/>
+ <extension name="GL_NV_read_stencil" supported="gles2"/>
+ <extension name="GL_NV_register_combiners" supported="gl">
+ <require>
+ <enum name="GL_REGISTER_COMBINERS_NV"/>
+ <enum name="GL_VARIABLE_A_NV"/>
+ <enum name="GL_VARIABLE_B_NV"/>
+ <enum name="GL_VARIABLE_C_NV"/>
+ <enum name="GL_VARIABLE_D_NV"/>
+ <enum name="GL_VARIABLE_E_NV"/>
+ <enum name="GL_VARIABLE_F_NV"/>
+ <enum name="GL_VARIABLE_G_NV"/>
+ <enum name="GL_CONSTANT_COLOR0_NV"/>
+ <enum name="GL_CONSTANT_COLOR1_NV"/>
+ <enum name="GL_PRIMARY_COLOR_NV"/>
+ <enum name="GL_SECONDARY_COLOR_NV"/>
+ <enum name="GL_SPARE0_NV"/>
+ <enum name="GL_SPARE1_NV"/>
+ <enum name="GL_DISCARD_NV"/>
+ <enum name="GL_E_TIMES_F_NV"/>
+ <enum name="GL_SPARE0_PLUS_SECONDARY_COLOR_NV"/>
+ <enum name="GL_UNSIGNED_IDENTITY_NV"/>
+ <enum name="GL_UNSIGNED_INVERT_NV"/>
+ <enum name="GL_EXPAND_NORMAL_NV"/>
+ <enum name="GL_EXPAND_NEGATE_NV"/>
+ <enum name="GL_HALF_BIAS_NORMAL_NV"/>
+ <enum name="GL_HALF_BIAS_NEGATE_NV"/>
+ <enum name="GL_SIGNED_IDENTITY_NV"/>
+ <enum name="GL_SIGNED_NEGATE_NV"/>
+ <enum name="GL_SCALE_BY_TWO_NV"/>
+ <enum name="GL_SCALE_BY_FOUR_NV"/>
+ <enum name="GL_SCALE_BY_ONE_HALF_NV"/>
+ <enum name="GL_BIAS_BY_NEGATIVE_ONE_HALF_NV"/>
+ <enum name="GL_COMBINER_INPUT_NV"/>
+ <enum name="GL_COMBINER_MAPPING_NV"/>
+ <enum name="GL_COMBINER_COMPONENT_USAGE_NV"/>
+ <enum name="GL_COMBINER_AB_DOT_PRODUCT_NV"/>
+ <enum name="GL_COMBINER_CD_DOT_PRODUCT_NV"/>
+ <enum name="GL_COMBINER_MUX_SUM_NV"/>
+ <enum name="GL_COMBINER_SCALE_NV"/>
+ <enum name="GL_COMBINER_BIAS_NV"/>
+ <enum name="GL_COMBINER_AB_OUTPUT_NV"/>
+ <enum name="GL_COMBINER_CD_OUTPUT_NV"/>
+ <enum name="GL_COMBINER_SUM_OUTPUT_NV"/>
+ <enum name="GL_MAX_GENERAL_COMBINERS_NV"/>
+ <enum name="GL_NUM_GENERAL_COMBINERS_NV"/>
+ <enum name="GL_COLOR_SUM_CLAMP_NV"/>
+ <enum name="GL_COMBINER0_NV"/>
+ <enum name="GL_COMBINER1_NV"/>
+ <enum name="GL_COMBINER2_NV"/>
+ <enum name="GL_COMBINER3_NV"/>
+ <enum name="GL_COMBINER4_NV"/>
+ <enum name="GL_COMBINER5_NV"/>
+ <enum name="GL_COMBINER6_NV"/>
+ <enum name="GL_COMBINER7_NV"/>
+ <enum name="GL_TEXTURE0_ARB"/>
+ <enum name="GL_TEXTURE1_ARB"/>
+ <enum name="GL_ZERO"/>
+ <enum name="GL_NONE"/>
+ <enum name="GL_FOG"/>
+ <command name="glCombinerParameterfvNV"/>
+ <command name="glCombinerParameterfNV"/>
+ <command name="glCombinerParameterivNV"/>
+ <command name="glCombinerParameteriNV"/>
+ <command name="glCombinerInputNV"/>
+ <command name="glCombinerOutputNV"/>
+ <command name="glFinalCombinerInputNV"/>
+ <command name="glGetCombinerInputParameterfvNV"/>
+ <command name="glGetCombinerInputParameterivNV"/>
+ <command name="glGetCombinerOutputParameterfvNV"/>
+ <command name="glGetCombinerOutputParameterivNV"/>
+ <command name="glGetFinalCombinerInputParameterfvNV"/>
+ <command name="glGetFinalCombinerInputParameterivNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_register_combiners2" supported="gl">
+ <require>
+ <enum name="GL_PER_STAGE_CONSTANTS_NV"/>
+ <command name="glCombinerStageParameterfvNV"/>
+ <command name="glGetCombinerStageParameterfvNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_sRGB_formats" supported="gles2">
+ <require>
+ <enum name="GL_SLUMINANCE_NV"/>
+ <enum name="GL_SLUMINANCE_ALPHA_NV"/>
+ <enum name="GL_SRGB8_NV"/>
+ <enum name="GL_SLUMINANCE8_NV"/>
+ <enum name="GL_SLUMINANCE8_ALPHA8_NV"/>
+ <enum name="GL_COMPRESSED_SRGB_S3TC_DXT1_NV"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV"/>
+ <enum name="GL_ETC1_SRGB8_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_shader_atomic_counters" supported="gl"/>
+ <extension name="GL_NV_shader_atomic_float" supported="gl"/>
+ <extension name="GL_NV_shader_buffer_load" supported="gl">
+ <require>
+ <enum name="GL_BUFFER_GPU_ADDRESS_NV"/>
+ <enum name="GL_GPU_ADDRESS_NV"/>
+ <enum name="GL_MAX_SHADER_BUFFER_ADDRESS_NV"/>
+ <command name="glMakeBufferResidentNV"/>
+ <command name="glMakeBufferNonResidentNV"/>
+ <command name="glIsBufferResidentNV"/>
+ <command name="glMakeNamedBufferResidentNV"/>
+ <command name="glMakeNamedBufferNonResidentNV"/>
+ <command name="glIsNamedBufferResidentNV"/>
+ <command name="glGetBufferParameterui64vNV"/>
+ <command name="glGetNamedBufferParameterui64vNV"/>
+ <command name="glGetIntegerui64vNV"/>
+ <command name="glUniformui64NV"/>
+ <command name="glUniformui64vNV"/>
+ <command name="glGetUniformui64vNV"/>
+ <command name="glProgramUniformui64NV"/>
+ <command name="glProgramUniformui64vNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_shader_buffer_store" supported="gl">
+ <require>
+ <enum name="GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV"/>
+ <enum name="GL_READ_WRITE"/>
+ <enum name="GL_WRITE_ONLY"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_shader_storage_buffer_object" supported="gl"/>
+ <extension name="GL_NV_shader_thread_group" supported="gl">
+ <require>
+ <enum name="GL_WARP_SIZE_NV"/>
+ <enum name="GL_WARPS_PER_SM_NV"/>
+ <enum name="GL_SM_COUNT_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_shader_thread_shuffle" supported="gl"/>
+ <extension name="GL_NV_shadow_samplers_array" supported="gles2">
+ <require>
+ <enum name="GL_SAMPLER_2D_ARRAY_SHADOW_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_shadow_samplers_cube" supported="gles2">
+ <require>
+ <enum name="GL_SAMPLER_CUBE_SHADOW_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_tessellation_program5" supported="gl">
+ <require>
+ <enum name="GL_MAX_PROGRAM_PATCH_ATTRIBS_NV"/>
+ <enum name="GL_TESS_CONTROL_PROGRAM_NV"/>
+ <enum name="GL_TESS_EVALUATION_PROGRAM_NV"/>
+ <enum name="GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV"/>
+ <enum name="GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texgen_emboss" supported="gl">
+ <require>
+ <enum name="GL_EMBOSS_LIGHT_NV"/>
+ <enum name="GL_EMBOSS_CONSTANT_NV"/>
+ <enum name="GL_EMBOSS_MAP_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texgen_reflection" supported="gl">
+ <require>
+ <enum name="GL_NORMAL_MAP_NV"/>
+ <enum name="GL_REFLECTION_MAP_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_barrier" supported="gl">
+ <require>
+ <command name="glTextureBarrierNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_border_clamp" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_BORDER_COLOR_NV"/>
+ <enum name="GL_CLAMP_TO_BORDER_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_compression_s3tc_update" supported="gles2"/>
+ <extension name="GL_NV_texture_compression_vtc" supported="gl"/>
+ <extension name="GL_NV_texture_env_combine4" supported="gl">
+ <require>
+ <enum name="GL_COMBINE4_NV"/>
+ <enum name="GL_SOURCE3_RGB_NV"/>
+ <enum name="GL_SOURCE3_ALPHA_NV"/>
+ <enum name="GL_OPERAND3_RGB_NV"/>
+ <enum name="GL_OPERAND3_ALPHA_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_expand_normal" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_UNSIGNED_REMAP_MODE_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_multisample" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_COVERAGE_SAMPLES_NV"/>
+ <enum name="GL_TEXTURE_COLOR_SAMPLES_NV"/>
+ <command name="glTexImage2DMultisampleCoverageNV"/>
+ <command name="glTexImage3DMultisampleCoverageNV"/>
+ </require>
+ <require comment="Supported only if GL_EXT_direct_state_access is supported">
+ <command name="glTextureImage2DMultisampleNV"/>
+ <command name="glTextureImage3DMultisampleNV"/>
+ <command name="glTextureImage2DMultisampleCoverageNV"/>
+ <command name="glTextureImage3DMultisampleCoverageNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_npot_2D_mipmap" supported="gles2"/>
+ <extension name="GL_NV_texture_rectangle" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_RECTANGLE_NV"/>
+ <enum name="GL_TEXTURE_BINDING_RECTANGLE_NV"/>
+ <enum name="GL_PROXY_TEXTURE_RECTANGLE_NV"/>
+ <enum name="GL_MAX_RECTANGLE_TEXTURE_SIZE_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_shader" supported="gl">
+ <require>
+ <enum name="GL_OFFSET_TEXTURE_RECTANGLE_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV"/>
+ <enum name="GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV"/>
+ <enum name="GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV"/>
+ <enum name="GL_UNSIGNED_INT_S8_S8_8_8_NV"/>
+ <enum name="GL_UNSIGNED_INT_8_8_S8_S8_REV_NV"/>
+ <enum name="GL_DSDT_MAG_INTENSITY_NV"/>
+ <enum name="GL_SHADER_CONSISTENT_NV"/>
+ <enum name="GL_TEXTURE_SHADER_NV"/>
+ <enum name="GL_SHADER_OPERATION_NV"/>
+ <enum name="GL_CULL_MODES_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_MATRIX_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_SCALE_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_BIAS_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_2D_MATRIX_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_2D_SCALE_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_2D_BIAS_NV"/>
+ <enum name="GL_PREVIOUS_TEXTURE_INPUT_NV"/>
+ <enum name="GL_CONST_EYE_NV"/>
+ <enum name="GL_PASS_THROUGH_NV"/>
+ <enum name="GL_CULL_FRAGMENT_NV"/>
+ <enum name="GL_OFFSET_TEXTURE_2D_NV"/>
+ <enum name="GL_DEPENDENT_AR_TEXTURE_2D_NV"/>
+ <enum name="GL_DEPENDENT_GB_TEXTURE_2D_NV"/>
+ <enum name="GL_DOT_PRODUCT_NV"/>
+ <enum name="GL_DOT_PRODUCT_DEPTH_REPLACE_NV"/>
+ <enum name="GL_DOT_PRODUCT_TEXTURE_2D_NV"/>
+ <enum name="GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV"/>
+ <enum name="GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV"/>
+ <enum name="GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV"/>
+ <enum name="GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV"/>
+ <enum name="GL_HILO_NV"/>
+ <enum name="GL_DSDT_NV"/>
+ <enum name="GL_DSDT_MAG_NV"/>
+ <enum name="GL_DSDT_MAG_VIB_NV"/>
+ <enum name="GL_HILO16_NV"/>
+ <enum name="GL_SIGNED_HILO_NV"/>
+ <enum name="GL_SIGNED_HILO16_NV"/>
+ <enum name="GL_SIGNED_RGBA_NV"/>
+ <enum name="GL_SIGNED_RGBA8_NV"/>
+ <enum name="GL_SIGNED_RGB_NV"/>
+ <enum name="GL_SIGNED_RGB8_NV"/>
+ <enum name="GL_SIGNED_LUMINANCE_NV"/>
+ <enum name="GL_SIGNED_LUMINANCE8_NV"/>
+ <enum name="GL_SIGNED_LUMINANCE_ALPHA_NV"/>
+ <enum name="GL_SIGNED_LUMINANCE8_ALPHA8_NV"/>
+ <enum name="GL_SIGNED_ALPHA_NV"/>
+ <enum name="GL_SIGNED_ALPHA8_NV"/>
+ <enum name="GL_SIGNED_INTENSITY_NV"/>
+ <enum name="GL_SIGNED_INTENSITY8_NV"/>
+ <enum name="GL_DSDT8_NV"/>
+ <enum name="GL_DSDT8_MAG8_NV"/>
+ <enum name="GL_DSDT8_MAG8_INTENSITY8_NV"/>
+ <enum name="GL_SIGNED_RGB_UNSIGNED_ALPHA_NV"/>
+ <enum name="GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV"/>
+ <enum name="GL_HI_SCALE_NV"/>
+ <enum name="GL_LO_SCALE_NV"/>
+ <enum name="GL_DS_SCALE_NV"/>
+ <enum name="GL_DT_SCALE_NV"/>
+ <enum name="GL_MAGNITUDE_SCALE_NV"/>
+ <enum name="GL_VIBRANCE_SCALE_NV"/>
+ <enum name="GL_HI_BIAS_NV"/>
+ <enum name="GL_LO_BIAS_NV"/>
+ <enum name="GL_DS_BIAS_NV"/>
+ <enum name="GL_DT_BIAS_NV"/>
+ <enum name="GL_MAGNITUDE_BIAS_NV"/>
+ <enum name="GL_VIBRANCE_BIAS_NV"/>
+ <enum name="GL_TEXTURE_BORDER_VALUES_NV"/>
+ <enum name="GL_TEXTURE_HI_SIZE_NV"/>
+ <enum name="GL_TEXTURE_LO_SIZE_NV"/>
+ <enum name="GL_TEXTURE_DS_SIZE_NV"/>
+ <enum name="GL_TEXTURE_DT_SIZE_NV"/>
+ <enum name="GL_TEXTURE_MAG_SIZE_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_shader2" supported="gl">
+ <require>
+ <enum name="GL_DOT_PRODUCT_TEXTURE_3D_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_texture_shader3" supported="gl">
+ <require>
+ <enum name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV"/>
+ <enum name="GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV"/>
+ <enum name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
+ <enum name="GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV"/>
+ <enum name="GL_OFFSET_HILO_TEXTURE_2D_NV"/>
+ <enum name="GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV"/>
+ <enum name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV"/>
+ <enum name="GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV"/>
+ <enum name="GL_DEPENDENT_HILO_TEXTURE_2D_NV"/>
+ <enum name="GL_DEPENDENT_RGB_TEXTURE_3D_NV"/>
+ <enum name="GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV"/>
+ <enum name="GL_DOT_PRODUCT_PASS_THROUGH_NV"/>
+ <enum name="GL_DOT_PRODUCT_TEXTURE_1D_NV"/>
+ <enum name="GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV"/>
+ <enum name="GL_HILO8_NV"/>
+ <enum name="GL_SIGNED_HILO8_NV"/>
+ <enum name="GL_FORCE_BLUE_TO_ONE_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_transform_feedback" supported="gl">
+ <require>
+ <enum name="GL_BACK_PRIMARY_COLOR_NV"/>
+ <enum name="GL_BACK_SECONDARY_COLOR_NV"/>
+ <enum name="GL_TEXTURE_COORD_NV"/>
+ <enum name="GL_CLIP_DISTANCE_NV"/>
+ <enum name="GL_VERTEX_ID_NV"/>
+ <enum name="GL_PRIMITIVE_ID_NV"/>
+ <enum name="GL_GENERIC_ATTRIB_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_ATTRIBS_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV"/>
+ <enum name="GL_ACTIVE_VARYINGS_NV"/>
+ <enum name="GL_ACTIVE_VARYING_MAX_LENGTH_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYINGS_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_START_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_RECORD_NV"/>
+ <enum name="GL_PRIMITIVES_GENERATED_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV"/>
+ <enum name="GL_RASTERIZER_DISCARD_NV"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV"/>
+ <enum name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV"/>
+ <enum name="GL_INTERLEAVED_ATTRIBS_NV"/>
+ <enum name="GL_SEPARATE_ATTRIBS_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV"/>
+ <enum name="GL_LAYER_NV"/>
+ <command name="glBeginTransformFeedbackNV"/>
+ <command name="glEndTransformFeedbackNV"/>
+ <command name="glTransformFeedbackAttribsNV"/>
+ <command name="glBindBufferRangeNV"/>
+ <command name="glBindBufferOffsetNV"/>
+ <command name="glBindBufferBaseNV"/>
+ <command name="glTransformFeedbackVaryingsNV"/>
+ <command name="glActiveVaryingNV"/>
+ <command name="glGetVaryingLocationNV"/>
+ <command name="glGetActiveVaryingNV"/>
+ <command name="glGetTransformFeedbackVaryingNV"/>
+ </require>
+ <require comment="Extended by GL_ARB_transform_feedback3">
+ <enum name="GL_NEXT_BUFFER_NV"/>
+ <enum name="GL_SKIP_COMPONENTS4_NV"/>
+ <enum name="GL_SKIP_COMPONENTS3_NV"/>
+ <enum name="GL_SKIP_COMPONENTS2_NV"/>
+ <enum name="GL_SKIP_COMPONENTS1_NV"/>
+ <command name="glTransformFeedbackStreamAttribsNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_transform_feedback2" supported="gl">
+ <require>
+ <enum name="GL_TRANSFORM_FEEDBACK_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BINDING_NV"/>
+ <command name="glBindTransformFeedbackNV"/>
+ <command name="glDeleteTransformFeedbacksNV"/>
+ <command name="glGenTransformFeedbacksNV"/>
+ <command name="glIsTransformFeedbackNV"/>
+ <command name="glPauseTransformFeedbackNV"/>
+ <command name="glResumeTransformFeedbackNV"/>
+ <command name="glDrawTransformFeedbackNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vdpau_interop" supported="gl">
+ <require>
+ <enum name="GL_SURFACE_STATE_NV"/>
+ <enum name="GL_SURFACE_REGISTERED_NV"/>
+ <enum name="GL_SURFACE_MAPPED_NV"/>
+ <enum name="GL_WRITE_DISCARD_NV"/>
+ <command name="glVDPAUInitNV"/>
+ <command name="glVDPAUFiniNV"/>
+ <command name="glVDPAURegisterVideoSurfaceNV"/>
+ <command name="glVDPAURegisterOutputSurfaceNV"/>
+ <command name="glVDPAUIsSurfaceNV"/>
+ <command name="glVDPAUUnregisterSurfaceNV"/>
+ <command name="glVDPAUGetSurfaceivNV"/>
+ <command name="glVDPAUSurfaceAccessNV"/>
+ <command name="glVDPAUMapSurfacesNV"/>
+ <command name="glVDPAUUnmapSurfacesNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_array_range" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_RANGE_NV"/>
+ <enum name="GL_VERTEX_ARRAY_RANGE_LENGTH_NV"/>
+ <enum name="GL_VERTEX_ARRAY_RANGE_VALID_NV"/>
+ <enum name="GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV"/>
+ <enum name="GL_VERTEX_ARRAY_RANGE_POINTER_NV"/>
+ <command name="glFlushVertexArrayRangeNV"/>
+ <command name="glVertexArrayRangeNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_array_range2" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_attrib_integer_64bit" supported="gl">
+ <require>
+ <enum name="GL_INT64_NV"/>
+ <enum name="GL_UNSIGNED_INT64_NV"/>
+ <command name="glVertexAttribL1i64NV"/>
+ <command name="glVertexAttribL2i64NV"/>
+ <command name="glVertexAttribL3i64NV"/>
+ <command name="glVertexAttribL4i64NV"/>
+ <command name="glVertexAttribL1i64vNV"/>
+ <command name="glVertexAttribL2i64vNV"/>
+ <command name="glVertexAttribL3i64vNV"/>
+ <command name="glVertexAttribL4i64vNV"/>
+ <command name="glVertexAttribL1ui64NV"/>
+ <command name="glVertexAttribL2ui64NV"/>
+ <command name="glVertexAttribL3ui64NV"/>
+ <command name="glVertexAttribL4ui64NV"/>
+ <command name="glVertexAttribL1ui64vNV"/>
+ <command name="glVertexAttribL2ui64vNV"/>
+ <command name="glVertexAttribL3ui64vNV"/>
+ <command name="glVertexAttribL4ui64vNV"/>
+ <command name="glGetVertexAttribLi64vNV"/>
+ <command name="glGetVertexAttribLui64vNV"/>
+ <command name="glVertexAttribLFormatNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_buffer_unified_memory" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"/>
+ <enum name="GL_ELEMENT_ARRAY_UNIFIED_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_VERTEX_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_NORMAL_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_COLOR_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_INDEX_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_FOG_COORD_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_ELEMENT_ARRAY_ADDRESS_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV"/>
+ <enum name="GL_VERTEX_ARRAY_LENGTH_NV"/>
+ <enum name="GL_NORMAL_ARRAY_LENGTH_NV"/>
+ <enum name="GL_COLOR_ARRAY_LENGTH_NV"/>
+ <enum name="GL_INDEX_ARRAY_LENGTH_NV"/>
+ <enum name="GL_TEXTURE_COORD_ARRAY_LENGTH_NV"/>
+ <enum name="GL_EDGE_FLAG_ARRAY_LENGTH_NV"/>
+ <enum name="GL_SECONDARY_COLOR_ARRAY_LENGTH_NV"/>
+ <enum name="GL_FOG_COORD_ARRAY_LENGTH_NV"/>
+ <enum name="GL_ELEMENT_ARRAY_LENGTH_NV"/>
+ <enum name="GL_DRAW_INDIRECT_UNIFIED_NV"/>
+ <enum name="GL_DRAW_INDIRECT_ADDRESS_NV"/>
+ <enum name="GL_DRAW_INDIRECT_LENGTH_NV"/>
+ <command name="glBufferAddressRangeNV"/>
+ <command name="glVertexFormatNV"/>
+ <command name="glNormalFormatNV"/>
+ <command name="glColorFormatNV"/>
+ <command name="glIndexFormatNV"/>
+ <command name="glTexCoordFormatNV"/>
+ <command name="glEdgeFlagFormatNV"/>
+ <command name="glSecondaryColorFormatNV"/>
+ <command name="glFogCoordFormatNV"/>
+ <command name="glVertexAttribFormatNV"/>
+ <command name="glVertexAttribIFormatNV"/>
+ <command name="glGetIntegerui64i_vNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_program" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_PROGRAM_NV"/>
+ <enum name="GL_VERTEX_STATE_PROGRAM_NV"/>
+ <enum name="GL_ATTRIB_ARRAY_SIZE_NV"/>
+ <enum name="GL_ATTRIB_ARRAY_STRIDE_NV"/>
+ <enum name="GL_ATTRIB_ARRAY_TYPE_NV"/>
+ <enum name="GL_CURRENT_ATTRIB_NV"/>
+ <enum name="GL_PROGRAM_LENGTH_NV"/>
+ <enum name="GL_PROGRAM_STRING_NV"/>
+ <enum name="GL_MODELVIEW_PROJECTION_NV"/>
+ <enum name="GL_IDENTITY_NV"/>
+ <enum name="GL_INVERSE_NV"/>
+ <enum name="GL_TRANSPOSE_NV"/>
+ <enum name="GL_INVERSE_TRANSPOSE_NV"/>
+ <enum name="GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV"/>
+ <enum name="GL_MAX_TRACK_MATRICES_NV"/>
+ <enum name="GL_MATRIX0_NV"/>
+ <enum name="GL_MATRIX1_NV"/>
+ <enum name="GL_MATRIX2_NV"/>
+ <enum name="GL_MATRIX3_NV"/>
+ <enum name="GL_MATRIX4_NV"/>
+ <enum name="GL_MATRIX5_NV"/>
+ <enum name="GL_MATRIX6_NV"/>
+ <enum name="GL_MATRIX7_NV"/>
+ <enum name="GL_CURRENT_MATRIX_STACK_DEPTH_NV"/>
+ <enum name="GL_CURRENT_MATRIX_NV"/>
+ <enum name="GL_VERTEX_PROGRAM_POINT_SIZE_NV"/>
+ <enum name="GL_VERTEX_PROGRAM_TWO_SIDE_NV"/>
+ <enum name="GL_PROGRAM_PARAMETER_NV"/>
+ <enum name="GL_ATTRIB_ARRAY_POINTER_NV"/>
+ <enum name="GL_PROGRAM_TARGET_NV"/>
+ <enum name="GL_PROGRAM_RESIDENT_NV"/>
+ <enum name="GL_TRACK_MATRIX_NV"/>
+ <enum name="GL_TRACK_MATRIX_TRANSFORM_NV"/>
+ <enum name="GL_VERTEX_PROGRAM_BINDING_NV"/>
+ <enum name="GL_PROGRAM_ERROR_POSITION_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY0_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY1_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY2_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY3_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY4_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY5_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY6_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY7_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY8_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY9_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY10_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY11_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY12_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY13_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY14_NV"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY15_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB0_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB1_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB2_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB3_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB4_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB5_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB6_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB7_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB8_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB9_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB10_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB11_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB12_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB13_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB14_4_NV"/>
+ <enum name="GL_MAP1_VERTEX_ATTRIB15_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB0_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB1_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB2_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB3_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB4_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB5_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB6_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB7_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB8_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB9_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB10_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB11_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB12_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB13_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB14_4_NV"/>
+ <enum name="GL_MAP2_VERTEX_ATTRIB15_4_NV"/>
+ <command name="glAreProgramsResidentNV"/>
+ <command name="glBindProgramNV"/>
+ <command name="glDeleteProgramsNV"/>
+ <command name="glExecuteProgramNV"/>
+ <command name="glGenProgramsNV"/>
+ <command name="glGetProgramParameterdvNV"/>
+ <command name="glGetProgramParameterfvNV"/>
+ <command name="glGetProgramivNV"/>
+ <command name="glGetProgramStringNV"/>
+ <command name="glGetTrackMatrixivNV"/>
+ <command name="glGetVertexAttribdvNV"/>
+ <command name="glGetVertexAttribfvNV"/>
+ <command name="glGetVertexAttribivNV"/>
+ <command name="glGetVertexAttribPointervNV"/>
+ <command name="glIsProgramNV"/>
+ <command name="glLoadProgramNV"/>
+ <command name="glProgramParameter4dNV"/>
+ <command name="glProgramParameter4dvNV"/>
+ <command name="glProgramParameter4fNV"/>
+ <command name="glProgramParameter4fvNV"/>
+ <command name="glProgramParameters4dvNV"/>
+ <command name="glProgramParameters4fvNV"/>
+ <command name="glRequestResidentProgramsNV"/>
+ <command name="glTrackMatrixNV"/>
+ <command name="glVertexAttribPointerNV"/>
+ <command name="glVertexAttrib1dNV"/>
+ <command name="glVertexAttrib1dvNV"/>
+ <command name="glVertexAttrib1fNV"/>
+ <command name="glVertexAttrib1fvNV"/>
+ <command name="glVertexAttrib1sNV"/>
+ <command name="glVertexAttrib1svNV"/>
+ <command name="glVertexAttrib2dNV"/>
+ <command name="glVertexAttrib2dvNV"/>
+ <command name="glVertexAttrib2fNV"/>
+ <command name="glVertexAttrib2fvNV"/>
+ <command name="glVertexAttrib2sNV"/>
+ <command name="glVertexAttrib2svNV"/>
+ <command name="glVertexAttrib3dNV"/>
+ <command name="glVertexAttrib3dvNV"/>
+ <command name="glVertexAttrib3fNV"/>
+ <command name="glVertexAttrib3fvNV"/>
+ <command name="glVertexAttrib3sNV"/>
+ <command name="glVertexAttrib3svNV"/>
+ <command name="glVertexAttrib4dNV"/>
+ <command name="glVertexAttrib4dvNV"/>
+ <command name="glVertexAttrib4fNV"/>
+ <command name="glVertexAttrib4fvNV"/>
+ <command name="glVertexAttrib4sNV"/>
+ <command name="glVertexAttrib4svNV"/>
+ <command name="glVertexAttrib4ubNV"/>
+ <command name="glVertexAttrib4ubvNV"/>
+ <command name="glVertexAttribs1dvNV"/>
+ <command name="glVertexAttribs1fvNV"/>
+ <command name="glVertexAttribs1svNV"/>
+ <command name="glVertexAttribs2dvNV"/>
+ <command name="glVertexAttribs2fvNV"/>
+ <command name="glVertexAttribs2svNV"/>
+ <command name="glVertexAttribs3dvNV"/>
+ <command name="glVertexAttribs3fvNV"/>
+ <command name="glVertexAttribs3svNV"/>
+ <command name="glVertexAttribs4dvNV"/>
+ <command name="glVertexAttribs4fvNV"/>
+ <command name="glVertexAttribs4svNV"/>
+ <command name="glVertexAttribs4ubvNV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_program1_1" supported="gl"/>
+ <extension name="GL_NV_vertex_program2" supported="gl"/>
+ <extension name="GL_NV_vertex_program2_option" supported="gl">
+ <require>
+ <enum name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
+ <enum name="GL_MAX_PROGRAM_CALL_DEPTH_NV"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_program3" supported="gl">
+ <require>
+ <enum name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_vertex_program4" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV"/>
+ <command name="glVertexAttribI1iEXT"/>
+ <command name="glVertexAttribI2iEXT"/>
+ <command name="glVertexAttribI3iEXT"/>
+ <command name="glVertexAttribI4iEXT"/>
+ <command name="glVertexAttribI1uiEXT"/>
+ <command name="glVertexAttribI2uiEXT"/>
+ <command name="glVertexAttribI3uiEXT"/>
+ <command name="glVertexAttribI4uiEXT"/>
+ <command name="glVertexAttribI1ivEXT"/>
+ <command name="glVertexAttribI2ivEXT"/>
+ <command name="glVertexAttribI3ivEXT"/>
+ <command name="glVertexAttribI4ivEXT"/>
+ <command name="glVertexAttribI1uivEXT"/>
+ <command name="glVertexAttribI2uivEXT"/>
+ <command name="glVertexAttribI3uivEXT"/>
+ <command name="glVertexAttribI4uivEXT"/>
+ <command name="glVertexAttribI4bvEXT"/>
+ <command name="glVertexAttribI4svEXT"/>
+ <command name="glVertexAttribI4ubvEXT"/>
+ <command name="glVertexAttribI4usvEXT"/>
+ <command name="glVertexAttribIPointerEXT"/>
+ <command name="glGetVertexAttribIivEXT"/>
+ <command name="glGetVertexAttribIuivEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_NV_video_capture" supported="gl">
+ <require>
+ <enum name="GL_VIDEO_BUFFER_NV"/>
+ <enum name="GL_VIDEO_BUFFER_BINDING_NV"/>
+ <enum name="GL_FIELD_UPPER_NV"/>
+ <enum name="GL_FIELD_LOWER_NV"/>
+ <enum name="GL_NUM_VIDEO_CAPTURE_STREAMS_NV"/>
+ <enum name="GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV"/>
+ <enum name="GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV"/>
+ <enum name="GL_LAST_VIDEO_CAPTURE_STATUS_NV"/>
+ <enum name="GL_VIDEO_BUFFER_PITCH_NV"/>
+ <enum name="GL_VIDEO_COLOR_CONVERSION_MATRIX_NV"/>
+ <enum name="GL_VIDEO_COLOR_CONVERSION_MAX_NV"/>
+ <enum name="GL_VIDEO_COLOR_CONVERSION_MIN_NV"/>
+ <enum name="GL_VIDEO_COLOR_CONVERSION_OFFSET_NV"/>
+ <enum name="GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV"/>
+ <enum name="GL_PARTIAL_SUCCESS_NV"/>
+ <enum name="GL_SUCCESS_NV"/>
+ <enum name="GL_FAILURE_NV"/>
+ <enum name="GL_YCBYCR8_422_NV"/>
+ <enum name="GL_YCBAYCR8A_4224_NV"/>
+ <enum name="GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV"/>
+ <enum name="GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV"/>
+ <enum name="GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV"/>
+ <enum name="GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV"/>
+ <enum name="GL_Z4Y12Z4CB12Z4CR12_444_NV"/>
+ <enum name="GL_VIDEO_CAPTURE_FRAME_WIDTH_NV"/>
+ <enum name="GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV"/>
+ <enum name="GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"/>
+ <enum name="GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"/>
+ <enum name="GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"/>
+ <command name="glBeginVideoCaptureNV"/>
+ <command name="glBindVideoCaptureStreamBufferNV"/>
+ <command name="glBindVideoCaptureStreamTextureNV"/>
+ <command name="glEndVideoCaptureNV"/>
+ <command name="glGetVideoCaptureivNV"/>
+ <command name="glGetVideoCaptureStreamivNV"/>
+ <command name="glGetVideoCaptureStreamfvNV"/>
+ <command name="glGetVideoCaptureStreamdvNV"/>
+ <command name="glVideoCaptureNV"/>
+ <command name="glVideoCaptureStreamParameterivNV"/>
+ <command name="glVideoCaptureStreamParameterfvNV"/>
+ <command name="glVideoCaptureStreamParameterdvNV"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_EGL_image" supported="gles1|gles2">
+ <require>
+ <type name="GLeglImageOES"/>
+ <command name="glEGLImageTargetTexture2DOES"/>
+ <command name="glEGLImageTargetRenderbufferStorageOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_EGL_image_external" supported="gles1|gles2">
+ <require>
+ <type name="GLeglImageOES"/>
+ <enum name="GL_TEXTURE_EXTERNAL_OES"/>
+ <enum name="GL_TEXTURE_BINDING_EXTERNAL_OES"/>
+ <enum name="GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"/>
+ </require>
+ <require api="gles2">
+ <enum name="GL_SAMPLER_EXTERNAL_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_blend_equation_separate" supported="gles1">
+ <require>
+ <enum name="GL_BLEND_EQUATION_RGB_OES"/>
+ <enum name="GL_BLEND_EQUATION_ALPHA_OES"/>
+ <command name="glBlendEquationSeparateOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_blend_func_separate" supported="gles1">
+ <require>
+ <enum name="GL_BLEND_DST_RGB_OES"/>
+ <enum name="GL_BLEND_SRC_RGB_OES"/>
+ <enum name="GL_BLEND_DST_ALPHA_OES"/>
+ <enum name="GL_BLEND_SRC_ALPHA_OES"/>
+ <command name="glBlendFuncSeparateOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_blend_subtract" supported="gles1">
+ <require>
+ <enum name="GL_BLEND_EQUATION_OES"/>
+ <enum name="GL_FUNC_ADD_OES"/>
+ <enum name="GL_FUNC_SUBTRACT_OES"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT_OES"/>
+ <command name="glBlendEquationOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_byte_coordinates" supported="gl|gles1">
+ <require>
+ <command name="glMultiTexCoord1bOES"/>
+ <command name="glMultiTexCoord1bvOES"/>
+ <command name="glMultiTexCoord2bOES"/>
+ <command name="glMultiTexCoord2bvOES"/>
+ <command name="glMultiTexCoord3bOES"/>
+ <command name="glMultiTexCoord3bvOES"/>
+ <command name="glMultiTexCoord4bOES"/>
+ <command name="glMultiTexCoord4bvOES"/>
+ <command name="glTexCoord1bOES"/>
+ <command name="glTexCoord1bvOES"/>
+ <command name="glTexCoord2bOES"/>
+ <command name="glTexCoord2bvOES"/>
+ <command name="glTexCoord3bOES"/>
+ <command name="glTexCoord3bvOES"/>
+ <command name="glTexCoord4bOES"/>
+ <command name="glTexCoord4bvOES"/>
+ <command name="glVertex2bOES"/>
+ <command name="glVertex2bvOES"/>
+ <command name="glVertex3bOES"/>
+ <command name="glVertex3bvOES"/>
+ <command name="glVertex4bOES"/>
+ <command name="glVertex4bvOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_compressed_ETC1_RGB8_texture" supported="gles1|gles2">
+ <require>
+ <enum name="GL_ETC1_RGB8_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_compressed_paletted_texture" supported="gl|gles1|gles2">
+ <require>
+ <enum name="GL_PALETTE4_RGB8_OES"/>
+ <enum name="GL_PALETTE4_RGBA8_OES"/>
+ <enum name="GL_PALETTE4_R5_G6_B5_OES"/>
+ <enum name="GL_PALETTE4_RGBA4_OES"/>
+ <enum name="GL_PALETTE4_RGB5_A1_OES"/>
+ <enum name="GL_PALETTE8_RGB8_OES"/>
+ <enum name="GL_PALETTE8_RGBA8_OES"/>
+ <enum name="GL_PALETTE8_R5_G6_B5_OES"/>
+ <enum name="GL_PALETTE8_RGBA4_OES"/>
+ <enum name="GL_PALETTE8_RGB5_A1_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_depth24" supported="gles1|gles2">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT24_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_depth32" supported="gles1|gles2">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT32_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_depth_texture" supported="gles2">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT"/>
+ <enum name="GL_UNSIGNED_SHORT"/>
+ <enum name="GL_UNSIGNED_INT"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_draw_texture" supported="gles1">
+ <require>
+ <enum name="GL_TEXTURE_CROP_RECT_OES"/>
+ <command name="glDrawTexsOES"/>
+ <command name="glDrawTexiOES"/>
+ <command name="glDrawTexxOES"/>
+ <command name="glDrawTexsvOES"/>
+ <command name="glDrawTexivOES"/>
+ <command name="glDrawTexxvOES"/>
+ <command name="glDrawTexfOES"/>
+ <command name="glDrawTexfvOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_element_index_uint" supported="gles1|gles2">
+ <require>
+ <enum name="GL_UNSIGNED_INT"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_extended_matrix_palette" supported="gles1"/>
+ <extension name="GL_OES_fbo_render_mipmap" supported="gles1|gles2"/>
+ <extension name="GL_OES_fixed_point" supported="gl|gles1">
+ <require>
+ <enum name="GL_FIXED_OES"/>
+ <command name="glAlphaFuncxOES"/>
+ <command name="glClearColorxOES"/>
+ <command name="glClearDepthxOES"/>
+ <command name="glClipPlanexOES"/>
+ <command name="glColor4xOES"/>
+ <command name="glDepthRangexOES"/>
+ <command name="glFogxOES"/>
+ <command name="glFogxvOES"/>
+ <command name="glFrustumxOES"/>
+ <command name="glGetClipPlanexOES"/>
+ <command name="glGetFixedvOES"/>
+ <command name="glGetTexEnvxvOES"/>
+ <command name="glGetTexParameterxvOES"/>
+ <command name="glLightModelxOES"/>
+ <command name="glLightModelxvOES"/>
+ <command name="glLightxOES"/>
+ <command name="glLightxvOES"/>
+ <command name="glLineWidthxOES"/>
+ <command name="glLoadMatrixxOES"/>
+ <command name="glMaterialxOES"/>
+ <command name="glMaterialxvOES"/>
+ <command name="glMultMatrixxOES"/>
+ <command name="glMultiTexCoord4xOES"/>
+ <command name="glNormal3xOES"/>
+ <command name="glOrthoxOES"/>
+ <command name="glPointParameterxvOES"/>
+ <command name="glPointSizexOES"/>
+ <command name="glPolygonOffsetxOES"/>
+ <command name="glRotatexOES"/>
+ <command name="glSampleCoverageOES"/>
+ <command name="glScalexOES"/>
+ <command name="glTexEnvxOES"/>
+ <command name="glTexEnvxvOES"/>
+ <command name="glTexParameterxOES"/>
+ <command name="glTexParameterxvOES"/>
+ <command name="glTranslatexOES"/>
+ </require>
+ <require api="gles1" comment="Entry points not in the extension spec, but in the Khronos glext.h. Included for backward compatibility.">
+ <command name="glGetLightxvOES"/>
+ <command name="glGetMaterialxvOES"/>
+ <command name="glPointParameterxOES"/>
+ <command name="glSampleCoveragexOES"/>
+ </require>
+ <require api="gl" comment="Entry points in the extension spec, but not the Khronos glext.h. Correspond to GL-only features it's unlikely were ever implemented against ES 1.x.">
+ <command name="glAccumxOES"/>
+ <command name="glBitmapxOES"/>
+ <command name="glBlendColorxOES"/>
+ <command name="glClearAccumxOES"/>
+ <command name="glColor3xOES"/>
+ <command name="glColor3xvOES"/>
+ <command name="glColor4xvOES"/>
+ <command name="glConvolutionParameterxOES"/>
+ <command name="glConvolutionParameterxvOES"/>
+ <command name="glEvalCoord1xOES"/>
+ <command name="glEvalCoord1xvOES"/>
+ <command name="glEvalCoord2xOES"/>
+ <command name="glEvalCoord2xvOES"/>
+ <command name="glFeedbackBufferxOES"/>
+ <command name="glGetConvolutionParameterxvOES"/>
+ <command name="glGetHistogramParameterxvOES"/>
+ <command name="glGetLightxOES"/>
+ <command name="glGetMapxvOES"/>
+ <command name="glGetMaterialxOES"/>
+ <command name="glGetPixelMapxv"/>
+ <command name="glGetTexGenxvOES"/>
+ <command name="glGetTexLevelParameterxvOES"/>
+ <command name="glIndexxOES"/>
+ <command name="glIndexxvOES"/>
+ <command name="glLoadTransposeMatrixxOES"/>
+ <command name="glMap1xOES"/>
+ <command name="glMap2xOES"/>
+ <command name="glMapGrid1xOES"/>
+ <command name="glMapGrid2xOES"/>
+ <command name="glMultTransposeMatrixxOES"/>
+ <command name="glMultiTexCoord1xOES"/>
+ <command name="glMultiTexCoord1xvOES"/>
+ <command name="glMultiTexCoord2xOES"/>
+ <command name="glMultiTexCoord2xvOES"/>
+ <command name="glMultiTexCoord3xOES"/>
+ <command name="glMultiTexCoord3xvOES"/>
+ <command name="glMultiTexCoord4xvOES"/>
+ <command name="glNormal3xvOES"/>
+ <command name="glPassThroughxOES"/>
+ <command name="glPixelMapx"/>
+ <command name="glPixelStorex"/>
+ <command name="glPixelTransferxOES"/>
+ <command name="glPixelZoomxOES"/>
+ <command name="glPrioritizeTexturesxOES"/>
+ <command name="glRasterPos2xOES"/>
+ <command name="glRasterPos2xvOES"/>
+ <command name="glRasterPos3xOES"/>
+ <command name="glRasterPos3xvOES"/>
+ <command name="glRasterPos4xOES"/>
+ <command name="glRasterPos4xvOES"/>
+ <command name="glRectxOES"/>
+ <command name="glRectxvOES"/>
+ <command name="glTexCoord1xOES"/>
+ <command name="glTexCoord1xvOES"/>
+ <command name="glTexCoord2xOES"/>
+ <command name="glTexCoord2xvOES"/>
+ <command name="glTexCoord3xOES"/>
+ <command name="glTexCoord3xvOES"/>
+ <command name="glTexCoord4xOES"/>
+ <command name="glTexCoord4xvOES"/>
+ <command name="glTexGenxOES"/>
+ <command name="glTexGenxvOES"/>
+ <command name="glVertex2xOES"/>
+ <command name="glVertex2xvOES"/>
+ <command name="glVertex3xOES"/>
+ <command name="glVertex3xvOES"/>
+ <command name="glVertex4xOES"/>
+ <command name="glVertex4xvOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_fragment_precision_high" supported="gles2">
+ <require>
+ </require>
+ </extension>
+ <extension name="GL_OES_framebuffer_object" supported="gles1">
+ <require>
+ <enum name="GL_NONE_OES"/>
+ <enum name="GL_FRAMEBUFFER_OES"/>
+ <enum name="GL_RENDERBUFFER_OES"/>
+ <enum name="GL_RGBA4_OES"/>
+ <enum name="GL_RGB5_A1_OES"/>
+ <enum name="GL_RGB565_OES"/>
+ <enum name="GL_DEPTH_COMPONENT16_OES"/>
+ <enum name="GL_RENDERBUFFER_WIDTH_OES"/>
+ <enum name="GL_RENDERBUFFER_HEIGHT_OES"/>
+ <enum name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
+ <enum name="GL_RENDERBUFFER_RED_SIZE_OES"/>
+ <enum name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
+ <enum name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
+ <enum name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
+ <enum name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
+ <enum name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES"/>
+ <enum name="GL_COLOR_ATTACHMENT0_OES"/>
+ <enum name="GL_DEPTH_ATTACHMENT_OES"/>
+ <enum name="GL_STENCIL_ATTACHMENT_OES"/>
+ <enum name="GL_FRAMEBUFFER_COMPLETE_OES"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES"/>
+ <enum name="GL_FRAMEBUFFER_UNSUPPORTED_OES"/>
+ <enum name="GL_FRAMEBUFFER_BINDING_OES"/>
+ <enum name="GL_RENDERBUFFER_BINDING_OES"/>
+ <enum name="GL_MAX_RENDERBUFFER_SIZE_OES"/>
+ <enum name="GL_INVALID_FRAMEBUFFER_OPERATION_OES"/>
+ <command name="glIsRenderbufferOES"/>
+ <command name="glBindRenderbufferOES"/>
+ <command name="glDeleteRenderbuffersOES"/>
+ <command name="glGenRenderbuffersOES"/>
+ <command name="glRenderbufferStorageOES"/>
+ <command name="glGetRenderbufferParameterivOES"/>
+ <command name="glIsFramebufferOES"/>
+ <command name="glBindFramebufferOES"/>
+ <command name="glDeleteFramebuffersOES"/>
+ <command name="glGenFramebuffersOES"/>
+ <command name="glCheckFramebufferStatusOES"/>
+ <command name="glFramebufferRenderbufferOES"/>
+ <command name="glFramebufferTexture2DOES"/>
+ <command name="glGetFramebufferAttachmentParameterivOES"/>
+ <command name="glGenerateMipmapOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_get_program_binary" supported="gles2">
+ <require>
+ <enum name="GL_PROGRAM_BINARY_LENGTH_OES"/>
+ <enum name="GL_NUM_PROGRAM_BINARY_FORMATS_OES"/>
+ <enum name="GL_PROGRAM_BINARY_FORMATS_OES"/>
+ <command name="glGetProgramBinaryOES"/>
+ <command name="glProgramBinaryOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_mapbuffer" supported="gles1|gles2">
+ <require>
+ <enum name="GL_WRITE_ONLY_OES"/>
+ <enum name="GL_BUFFER_ACCESS_OES"/>
+ <enum name="GL_BUFFER_MAPPED_OES"/>
+ <enum name="GL_BUFFER_MAP_POINTER_OES"/>
+ <command name="glMapBufferOES"/>
+ <command name="glUnmapBufferOES"/>
+ <command name="glGetBufferPointervOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_matrix_get" supported="gles1">
+ <require>
+ <enum name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+ <enum name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+ <enum name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_matrix_palette" supported="gles1">
+ <require>
+ <enum name="GL_MAX_VERTEX_UNITS_OES"/>
+ <enum name="GL_MAX_PALETTE_MATRICES_OES"/>
+ <enum name="GL_MATRIX_PALETTE_OES"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_OES"/>
+ <enum name="GL_WEIGHT_ARRAY_OES"/>
+ <enum name="GL_CURRENT_PALETTE_MATRIX_OES"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_SIZE_OES"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_TYPE_OES"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_POINTER_OES"/>
+ <enum name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"/>
+ <enum name="GL_WEIGHT_ARRAY_SIZE_OES"/>
+ <enum name="GL_WEIGHT_ARRAY_TYPE_OES"/>
+ <enum name="GL_WEIGHT_ARRAY_STRIDE_OES"/>
+ <enum name="GL_WEIGHT_ARRAY_POINTER_OES"/>
+ <enum name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES"/>
+ <command name="glCurrentPaletteMatrixOES"/>
+ <command name="glLoadPaletteFromModelViewMatrixOES"/>
+ <command name="glMatrixIndexPointerOES"/>
+ <command name="glWeightPointerOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_packed_depth_stencil" supported="gles1|gles2">
+ <require>
+ <enum name="GL_DEPTH_STENCIL_OES"/>
+ <enum name="GL_UNSIGNED_INT_24_8_OES"/>
+ <enum name="GL_DEPTH24_STENCIL8_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_point_size_array" supported="gles1">
+ <require>
+ <enum name="GL_POINT_SIZE_ARRAY_OES"/>
+ <enum name="GL_POINT_SIZE_ARRAY_TYPE_OES"/>
+ <enum name="GL_POINT_SIZE_ARRAY_STRIDE_OES"/>
+ <enum name="GL_POINT_SIZE_ARRAY_POINTER_OES"/>
+ <enum name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"/>
+ <command name="glPointSizePointerOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_point_sprite" supported="gles1">
+ <require>
+ <enum name="GL_POINT_SPRITE_OES"/>
+ <enum name="GL_COORD_REPLACE_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_query_matrix" supported="gl|gles1">
+ <require>
+ <command name="glQueryMatrixxOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_read_format" supported="gl|gles1">
+ <require>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES"/>
+ <enum name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_required_internalformat" supported="gles1|gles2">
+ <require>
+ <enum name="GL_ALPHA8_OES"/>
+ <enum name="GL_DEPTH_COMPONENT16_OES"/>
+ <enum name="GL_DEPTH_COMPONENT24_OES"/>
+ <enum name="GL_DEPTH24_STENCIL8_OES"/>
+ <enum name="GL_DEPTH_COMPONENT32_OES"/>
+ <enum name="GL_LUMINANCE4_ALPHA4_OES"/>
+ <enum name="GL_LUMINANCE8_ALPHA8_OES"/>
+ <enum name="GL_LUMINANCE8_OES"/>
+ <enum name="GL_RGBA4_OES"/>
+ <enum name="GL_RGB5_A1_OES"/>
+ <enum name="GL_RGB565_OES"/>
+ <enum name="GL_RGB8_OES"/>
+ <enum name="GL_RGBA8_OES"/>
+ <enum name="GL_RGB10_EXT"/>
+ <enum name="GL_RGB10_A2_EXT"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_rgb8_rgba8" supported="gles1|gles2">
+ <require>
+ <enum name="GL_RGB8_OES"/>
+ <enum name="GL_RGBA8_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_sample_shading" supported="gles2">
+ <require>
+ <command name="glMinSampleShadingOES"/>
+ <enum name="GL_SAMPLE_SHADING_OES"/>
+ <enum name="GL_MIN_SAMPLE_SHADING_VALUE_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_sample_variables" supported="gles2"/>
+ <extension name="GL_OES_shader_image_atomic" supported="gles2"/>
+ <extension name="GL_OES_shader_multisample_interpolation" supported="gles2">
+ <require>
+ <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+ <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+ <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_single_precision" supported="gl|gles1">
+ <require>
+ <command name="glClearDepthfOES"/>
+ <command name="glClipPlanefOES"/>
+ <command name="glDepthRangefOES"/>
+ <command name="glFrustumfOES"/>
+ <command name="glGetClipPlanefOES"/>
+ <command name="glOrthofOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_standard_derivatives" supported="gles2">
+ <require>
+ <enum name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_stencil1" supported="gles1|gles2">
+ <require>
+ <enum name="GL_STENCIL_INDEX1_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_stencil4" supported="gles1|gles2">
+ <require>
+ <enum name="GL_STENCIL_INDEX4_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_stencil8" supported="gles1">
+ <require>
+ <enum name="GL_STENCIL_INDEX8_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_stencil_wrap" supported="gles1">
+ <require>
+ <enum name="GL_INCR_WRAP_OES"/>
+ <enum name="GL_DECR_WRAP_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_surfaceless_context" supported="gles2">
+ <require>
+ <enum name="GL_FRAMEBUFFER_UNDEFINED_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_3D" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_WRAP_R_OES"/>
+ <enum name="GL_TEXTURE_3D_OES"/>
+ <enum name="GL_TEXTURE_BINDING_3D_OES"/>
+ <enum name="GL_MAX_3D_TEXTURE_SIZE_OES"/>
+ <enum name="GL_SAMPLER_3D_OES"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES"/>
+ <command name="glTexImage3DOES"/>
+ <command name="glTexSubImage3DOES"/>
+ <command name="glCopyTexSubImage3DOES"/>
+ <command name="glCompressedTexImage3DOES"/>
+ <command name="glCompressedTexSubImage3DOES"/>
+ <command name="glFramebufferTexture3DOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_compression_astc" supported="gles2" comment="API is identical to GL_KHR_texture_compression_astc_hdr extension">
+ <require>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_3x3x3_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x3x3_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x3_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x4_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x4x4_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x4_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x5_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x5x5_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x5_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x6_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_cube_map" supported="gles1">
+ <require>
+ <enum name="GL_NORMAL_MAP_OES"/>
+ <enum name="GL_REFLECTION_MAP_OES"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_OES"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP_OES"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES"/>
+ <enum name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES"/>
+ <enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES"/>
+ <enum name="GL_TEXTURE_GEN_MODE_OES"/>
+ <enum name="GL_TEXTURE_GEN_STR_OES"/>
+ <command name="glTexGenfOES"/>
+ <command name="glTexGenfvOES"/>
+ <command name="glTexGeniOES"/>
+ <command name="glTexGenivOES"/>
+ <command name="glTexGenxOES"/>
+ <command name="glTexGenxvOES"/>
+ <command name="glGetTexGenfvOES"/>
+ <command name="glGetTexGenivOES"/>
+ <command name="glGetTexGenxvOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_env_crossbar" supported="gles1"/>
+ <extension name="GL_OES_texture_float" supported="gles2">
+ <require>
+ <enum name="GL_FLOAT"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_float_linear" supported="gles2"/>
+ <extension name="GL_OES_texture_half_float" supported="gles2">
+ <require>
+ <enum name="GL_HALF_FLOAT_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_half_float_linear" supported="gles2"/>
+ <extension name="GL_OES_texture_mirrored_repeat" supported="gles1">
+ <require>
+ <enum name="GL_MIRRORED_REPEAT_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_npot" supported="gles2"/>
+ <extension name="GL_OES_texture_stencil8" supported="gles2">
+ <require>
+ <enum name="GL_STENCIL_INDEX_OES"/>
+ <enum name="GL_STENCIL_INDEX8_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_texture_storage_multisample_2d_array" supported="gles2">
+ <require>
+ <command name="glTexStorage3DMultisampleOES"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_vertex_array_object" supported="gles1|gles2">
+ <require>
+ <enum name="GL_VERTEX_ARRAY_BINDING_OES"/>
+ <command name="glBindVertexArrayOES"/>
+ <command name="glDeleteVertexArraysOES"/>
+ <command name="glGenVertexArraysOES"/>
+ <command name="glIsVertexArrayOES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_vertex_half_float" supported="gles2">
+ <require>
+ <enum name="GL_HALF_FLOAT_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_vertex_type_10_10_10_2" supported="gles2">
+ <require>
+ <enum name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
+ <enum name="GL_INT_10_10_10_2_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OML_interlace" supported="gl">
+ <require>
+ <enum name="GL_INTERLACE_OML"/>
+ <enum name="GL_INTERLACE_READ_OML"/>
+ </require>
+ </extension>
+ <extension name="GL_OML_resample" supported="gl">
+ <require>
+ <enum name="GL_PACK_RESAMPLE_OML"/>
+ <enum name="GL_UNPACK_RESAMPLE_OML"/>
+ <enum name="GL_RESAMPLE_REPLICATE_OML"/>
+ <enum name="GL_RESAMPLE_ZERO_FILL_OML"/>
+ <enum name="GL_RESAMPLE_AVERAGE_OML"/>
+ <enum name="GL_RESAMPLE_DECIMATE_OML"/>
+ </require>
+ </extension>
+ <extension name="GL_OML_subsample" supported="gl">
+ <require>
+ <enum name="GL_FORMAT_SUBSAMPLE_24_24_OML"/>
+ <enum name="GL_FORMAT_SUBSAMPLE_244_244_OML"/>
+ </require>
+ </extension>
+ <extension name="GL_PGI_misc_hints" supported="gl">
+ <require>
+ <enum name="GL_PREFER_DOUBLEBUFFER_HINT_PGI"/>
+ <enum name="GL_CONSERVE_MEMORY_HINT_PGI"/>
+ <enum name="GL_RECLAIM_MEMORY_HINT_PGI"/>
+ <enum name="GL_NATIVE_GRAPHICS_HANDLE_PGI"/>
+ <enum name="GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI"/>
+ <enum name="GL_NATIVE_GRAPHICS_END_HINT_PGI"/>
+ <enum name="GL_ALWAYS_FAST_HINT_PGI"/>
+ <enum name="GL_ALWAYS_SOFT_HINT_PGI"/>
+ <enum name="GL_ALLOW_DRAW_OBJ_HINT_PGI"/>
+ <enum name="GL_ALLOW_DRAW_WIN_HINT_PGI"/>
+ <enum name="GL_ALLOW_DRAW_FRG_HINT_PGI"/>
+ <enum name="GL_ALLOW_DRAW_MEM_HINT_PGI"/>
+ <enum name="GL_STRICT_DEPTHFUNC_HINT_PGI"/>
+ <enum name="GL_STRICT_LIGHTING_HINT_PGI"/>
+ <enum name="GL_STRICT_SCISSOR_HINT_PGI"/>
+ <enum name="GL_FULL_STIPPLE_HINT_PGI"/>
+ <enum name="GL_CLIP_NEAR_HINT_PGI"/>
+ <enum name="GL_CLIP_FAR_HINT_PGI"/>
+ <enum name="GL_WIDE_LINE_HINT_PGI"/>
+ <enum name="GL_BACK_NORMALS_HINT_PGI"/>
+ <command name="glHintPGI"/>
+ </require>
+ </extension>
+ <extension name="GL_PGI_vertex_hints" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_DATA_HINT_PGI"/>
+ <enum name="GL_VERTEX_CONSISTENT_HINT_PGI"/>
+ <enum name="GL_MATERIAL_SIDE_HINT_PGI"/>
+ <enum name="GL_MAX_VERTEX_HINT_PGI"/>
+ <enum name="GL_COLOR3_BIT_PGI"/>
+ <enum name="GL_COLOR4_BIT_PGI"/>
+ <enum name="GL_EDGEFLAG_BIT_PGI"/>
+ <enum name="GL_INDEX_BIT_PGI"/>
+ <enum name="GL_MAT_AMBIENT_BIT_PGI"/>
+ <enum name="GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI"/>
+ <enum name="GL_MAT_DIFFUSE_BIT_PGI"/>
+ <enum name="GL_MAT_EMISSION_BIT_PGI"/>
+ <enum name="GL_MAT_COLOR_INDEXES_BIT_PGI"/>
+ <enum name="GL_MAT_SHININESS_BIT_PGI"/>
+ <enum name="GL_MAT_SPECULAR_BIT_PGI"/>
+ <enum name="GL_NORMAL_BIT_PGI"/>
+ <enum name="GL_TEXCOORD1_BIT_PGI"/>
+ <enum name="GL_TEXCOORD2_BIT_PGI"/>
+ <enum name="GL_TEXCOORD3_BIT_PGI"/>
+ <enum name="GL_TEXCOORD4_BIT_PGI"/>
+ <enum name="GL_VERTEX23_BIT_PGI"/>
+ <enum name="GL_VERTEX4_BIT_PGI"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_alpha_test" supported="gles2">
+ <require>
+ <enum name="GL_ALPHA_TEST_QCOM"/>
+ <enum name="GL_ALPHA_TEST_FUNC_QCOM"/>
+ <enum name="GL_ALPHA_TEST_REF_QCOM"/>
+ <command name="glAlphaFuncQCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_binning_control" supported="gles2">
+ <require>
+ <enum name="GL_BINNING_CONTROL_HINT_QCOM"/>
+ <enum name="GL_CPU_OPTIMIZED_QCOM"/>
+ <enum name="GL_GPU_OPTIMIZED_QCOM"/>
+ <enum name="GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_driver_control" supported="gles1|gles2">
+ <require>
+ <command name="glGetDriverControlsQCOM"/>
+ <command name="glGetDriverControlStringQCOM"/>
+ <command name="glEnableDriverControlQCOM"/>
+ <command name="glDisableDriverControlQCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_extended_get" supported="gles1|gles2">
+ <require>
+ <enum name="GL_TEXTURE_WIDTH_QCOM"/>
+ <enum name="GL_TEXTURE_HEIGHT_QCOM"/>
+ <enum name="GL_TEXTURE_DEPTH_QCOM"/>
+ <enum name="GL_TEXTURE_INTERNAL_FORMAT_QCOM"/>
+ <enum name="GL_TEXTURE_FORMAT_QCOM"/>
+ <enum name="GL_TEXTURE_TYPE_QCOM"/>
+ <enum name="GL_TEXTURE_IMAGE_VALID_QCOM"/>
+ <enum name="GL_TEXTURE_NUM_LEVELS_QCOM"/>
+ <enum name="GL_TEXTURE_TARGET_QCOM"/>
+ <enum name="GL_TEXTURE_OBJECT_VALID_QCOM"/>
+ <enum name="GL_STATE_RESTORE"/>
+ <command name="glExtGetTexturesQCOM"/>
+ <command name="glExtGetBuffersQCOM"/>
+ <command name="glExtGetRenderbuffersQCOM"/>
+ <command name="glExtGetFramebuffersQCOM"/>
+ <command name="glExtGetTexLevelParameterivQCOM"/>
+ <command name="glExtTexObjectStateOverrideiQCOM"/>
+ <command name="glExtGetTexSubImageQCOM"/>
+ <command name="glExtGetBufferPointervQCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_extended_get2" supported="gles1|gles2">
+ <require>
+ <command name="glExtGetShadersQCOM"/>
+ <command name="glExtGetProgramsQCOM"/>
+ <command name="glExtIsProgramBinaryQCOM"/>
+ <command name="glExtGetProgramBinarySourceQCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_perfmon_global_mode" supported="gles1|gles2">
+ <require>
+ <enum name="GL_PERFMON_GLOBAL_MODE_QCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_tiled_rendering" supported="gles1|gles2">
+ <require>
+ <enum name="GL_COLOR_BUFFER_BIT0_QCOM"/>
+ <enum name="GL_COLOR_BUFFER_BIT1_QCOM"/>
+ <enum name="GL_COLOR_BUFFER_BIT2_QCOM"/>
+ <enum name="GL_COLOR_BUFFER_BIT3_QCOM"/>
+ <enum name="GL_COLOR_BUFFER_BIT4_QCOM"/>
+ <enum name="GL_COLOR_BUFFER_BIT5_QCOM"/>
+ <enum name="GL_COLOR_BUFFER_BIT6_QCOM"/>
+ <enum name="GL_COLOR_BUFFER_BIT7_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT0_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT1_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT2_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT3_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT4_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT5_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT6_QCOM"/>
+ <enum name="GL_DEPTH_BUFFER_BIT7_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT0_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT1_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT2_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT3_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT4_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT5_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT6_QCOM"/>
+ <enum name="GL_STENCIL_BUFFER_BIT7_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT0_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT1_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT2_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT3_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT4_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT5_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT6_QCOM"/>
+ <enum name="GL_MULTISAMPLE_BUFFER_BIT7_QCOM"/>
+ <command name="glStartTilingQCOM"/>
+ <command name="glEndTilingQCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_QCOM_writeonly_rendering" supported="gles1|gles2">
+ <require>
+ <enum name="GL_WRITEONLY_RENDERING_QCOM"/>
+ </require>
+ </extension>
+ <extension name="GL_REND_screen_coordinates" supported="gl">
+ <require>
+ <enum name="GL_SCREEN_COORDINATES_REND"/>
+ <enum name="GL_INVERTED_SCREEN_W_REND"/>
+ </require>
+ </extension>
+ <extension name="GL_S3_s3tc" supported="gl">
+ <require>
+ <enum name="GL_RGB_S3TC"/>
+ <enum name="GL_RGB4_S3TC"/>
+ <enum name="GL_RGBA_S3TC"/>
+ <enum name="GL_RGBA4_S3TC"/>
+ <enum name="GL_RGBA_DXT5_S3TC"/>
+ <enum name="GL_RGBA4_DXT5_S3TC"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_detail_texture" supported="gl">
+ <require>
+ <enum name="GL_DETAIL_TEXTURE_2D_SGIS"/>
+ <enum name="GL_DETAIL_TEXTURE_2D_BINDING_SGIS"/>
+ <enum name="GL_LINEAR_DETAIL_SGIS"/>
+ <enum name="GL_LINEAR_DETAIL_ALPHA_SGIS"/>
+ <enum name="GL_LINEAR_DETAIL_COLOR_SGIS"/>
+ <enum name="GL_DETAIL_TEXTURE_LEVEL_SGIS"/>
+ <enum name="GL_DETAIL_TEXTURE_MODE_SGIS"/>
+ <enum name="GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS"/>
+ <command name="glDetailTexFuncSGIS"/>
+ <command name="glGetDetailTexFuncSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_fog_function" supported="gl">
+ <require>
+ <enum name="GL_FOG_FUNC_SGIS"/>
+ <enum name="GL_FOG_FUNC_POINTS_SGIS"/>
+ <enum name="GL_MAX_FOG_FUNC_POINTS_SGIS"/>
+ <command name="glFogFuncSGIS"/>
+ <command name="glGetFogFuncSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_generate_mipmap" supported="gl">
+ <require>
+ <enum name="GL_GENERATE_MIPMAP_SGIS"/>
+ <enum name="GL_GENERATE_MIPMAP_HINT_SGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_multisample" supported="gl">
+ <require>
+ <enum name="GL_MULTISAMPLE_SGIS"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_MASK_SGIS"/>
+ <enum name="GL_SAMPLE_ALPHA_TO_ONE_SGIS"/>
+ <enum name="GL_SAMPLE_MASK_SGIS"/>
+ <enum name="GL_1PASS_SGIS"/>
+ <enum name="GL_2PASS_0_SGIS"/>
+ <enum name="GL_2PASS_1_SGIS"/>
+ <enum name="GL_4PASS_0_SGIS"/>
+ <enum name="GL_4PASS_1_SGIS"/>
+ <enum name="GL_4PASS_2_SGIS"/>
+ <enum name="GL_4PASS_3_SGIS"/>
+ <enum name="GL_SAMPLE_BUFFERS_SGIS"/>
+ <enum name="GL_SAMPLES_SGIS"/>
+ <enum name="GL_SAMPLE_MASK_VALUE_SGIS"/>
+ <enum name="GL_SAMPLE_MASK_INVERT_SGIS"/>
+ <enum name="GL_SAMPLE_PATTERN_SGIS"/>
+ <command name="glSampleMaskSGIS"/>
+ <command name="glSamplePatternSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_pixel_texture" supported="gl">
+ <require>
+ <enum name="GL_PIXEL_TEXTURE_SGIS"/>
+ <enum name="GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS"/>
+ <enum name="GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS"/>
+ <enum name="GL_PIXEL_GROUP_COLOR_SGIS"/>
+ <command name="glPixelTexGenParameteriSGIS"/>
+ <command name="glPixelTexGenParameterivSGIS"/>
+ <command name="glPixelTexGenParameterfSGIS"/>
+ <command name="glPixelTexGenParameterfvSGIS"/>
+ <command name="glGetPixelTexGenParameterivSGIS"/>
+ <command name="glGetPixelTexGenParameterfvSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_point_line_texgen" supported="gl">
+ <require>
+ <enum name="GL_EYE_DISTANCE_TO_POINT_SGIS"/>
+ <enum name="GL_OBJECT_DISTANCE_TO_POINT_SGIS"/>
+ <enum name="GL_EYE_DISTANCE_TO_LINE_SGIS"/>
+ <enum name="GL_OBJECT_DISTANCE_TO_LINE_SGIS"/>
+ <enum name="GL_EYE_POINT_SGIS"/>
+ <enum name="GL_OBJECT_POINT_SGIS"/>
+ <enum name="GL_EYE_LINE_SGIS"/>
+ <enum name="GL_OBJECT_LINE_SGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_point_parameters" supported="gl">
+ <require>
+ <enum name="GL_POINT_SIZE_MIN_SGIS"/>
+ <enum name="GL_POINT_SIZE_MAX_SGIS"/>
+ <enum name="GL_POINT_FADE_THRESHOLD_SIZE_SGIS"/>
+ <enum name="GL_DISTANCE_ATTENUATION_SGIS"/>
+ <command name="glPointParameterfSGIS"/>
+ <command name="glPointParameterfvSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_sharpen_texture" supported="gl">
+ <require>
+ <enum name="GL_LINEAR_SHARPEN_SGIS"/>
+ <enum name="GL_LINEAR_SHARPEN_ALPHA_SGIS"/>
+ <enum name="GL_LINEAR_SHARPEN_COLOR_SGIS"/>
+ <enum name="GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS"/>
+ <command name="glSharpenTexFuncSGIS"/>
+ <command name="glGetSharpenTexFuncSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_texture4D" supported="gl">
+ <require>
+ <enum name="GL_PACK_SKIP_VOLUMES_SGIS"/>
+ <enum name="GL_PACK_IMAGE_DEPTH_SGIS"/>
+ <enum name="GL_UNPACK_SKIP_VOLUMES_SGIS"/>
+ <enum name="GL_UNPACK_IMAGE_DEPTH_SGIS"/>
+ <enum name="GL_TEXTURE_4D_SGIS"/>
+ <enum name="GL_PROXY_TEXTURE_4D_SGIS"/>
+ <enum name="GL_TEXTURE_4DSIZE_SGIS"/>
+ <enum name="GL_TEXTURE_WRAP_Q_SGIS"/>
+ <enum name="GL_MAX_4D_TEXTURE_SIZE_SGIS"/>
+ <enum name="GL_TEXTURE_4D_BINDING_SGIS"/>
+ <command name="glTexImage4DSGIS"/>
+ <command name="glTexSubImage4DSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_texture_border_clamp" supported="gl">
+ <require>
+ <enum name="GL_CLAMP_TO_BORDER_SGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_texture_color_mask" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_COLOR_WRITEMASK_SGIS"/>
+ <command name="glTextureColorMaskSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_texture_edge_clamp" supported="gl">
+ <require>
+ <enum name="GL_CLAMP_TO_EDGE_SGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_texture_filter4" supported="gl">
+ <require>
+ <enum name="GL_FILTER4_SGIS"/>
+ <enum name="GL_TEXTURE_FILTER4_SIZE_SGIS"/>
+ <command name="glGetTexFilterFuncSGIS"/>
+ <command name="glTexFilterFuncSGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_texture_lod" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_MIN_LOD_SGIS"/>
+ <enum name="GL_TEXTURE_MAX_LOD_SGIS"/>
+ <enum name="GL_TEXTURE_BASE_LEVEL_SGIS"/>
+ <enum name="GL_TEXTURE_MAX_LEVEL_SGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIS_texture_select" supported="gl">
+ <require>
+ <enum name="GL_DUAL_ALPHA4_SGIS"/>
+ <enum name="GL_DUAL_ALPHA8_SGIS"/>
+ <enum name="GL_DUAL_ALPHA12_SGIS"/>
+ <enum name="GL_DUAL_ALPHA16_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE4_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE8_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE12_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE16_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY4_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY8_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY12_SGIS"/>
+ <enum name="GL_DUAL_INTENSITY16_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE_ALPHA4_SGIS"/>
+ <enum name="GL_DUAL_LUMINANCE_ALPHA8_SGIS"/>
+ <enum name="GL_QUAD_ALPHA4_SGIS"/>
+ <enum name="GL_QUAD_ALPHA8_SGIS"/>
+ <enum name="GL_QUAD_LUMINANCE4_SGIS"/>
+ <enum name="GL_QUAD_LUMINANCE8_SGIS"/>
+ <enum name="GL_QUAD_INTENSITY4_SGIS"/>
+ <enum name="GL_QUAD_INTENSITY8_SGIS"/>
+ <enum name="GL_DUAL_TEXTURE_SELECT_SGIS"/>
+ <enum name="GL_QUAD_TEXTURE_SELECT_SGIS"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_async" supported="gl">
+ <require>
+ <enum name="GL_ASYNC_MARKER_SGIX"/>
+ <command name="glAsyncMarkerSGIX"/>
+ <command name="glFinishAsyncSGIX"/>
+ <command name="glPollAsyncSGIX"/>
+ <command name="glGenAsyncMarkersSGIX"/>
+ <command name="glDeleteAsyncMarkersSGIX"/>
+ <command name="glIsAsyncMarkerSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_async_histogram" supported="gl">
+ <require>
+ <enum name="GL_ASYNC_HISTOGRAM_SGIX"/>
+ <enum name="GL_MAX_ASYNC_HISTOGRAM_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_async_pixel" supported="gl">
+ <require>
+ <enum name="GL_ASYNC_TEX_IMAGE_SGIX"/>
+ <enum name="GL_ASYNC_DRAW_PIXELS_SGIX"/>
+ <enum name="GL_ASYNC_READ_PIXELS_SGIX"/>
+ <enum name="GL_MAX_ASYNC_TEX_IMAGE_SGIX"/>
+ <enum name="GL_MAX_ASYNC_DRAW_PIXELS_SGIX"/>
+ <enum name="GL_MAX_ASYNC_READ_PIXELS_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_blend_alpha_minmax" supported="gl">
+ <require>
+ <enum name="GL_ALPHA_MIN_SGIX"/>
+ <enum name="GL_ALPHA_MAX_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_calligraphic_fragment" supported="gl">
+ <require>
+ <enum name="GL_CALLIGRAPHIC_FRAGMENT_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_clipmap" supported="gl">
+ <require>
+ <enum name="GL_LINEAR_CLIPMAP_LINEAR_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_CENTER_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_FRAME_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_OFFSET_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX"/>
+ <enum name="GL_TEXTURE_CLIPMAP_DEPTH_SGIX"/>
+ <enum name="GL_MAX_CLIPMAP_DEPTH_SGIX"/>
+ <enum name="GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX"/>
+ <enum name="GL_NEAREST_CLIPMAP_NEAREST_SGIX"/>
+ <enum name="GL_NEAREST_CLIPMAP_LINEAR_SGIX"/>
+ <enum name="GL_LINEAR_CLIPMAP_NEAREST_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_convolution_accuracy" supported="gl">
+ <require>
+ <enum name="GL_CONVOLUTION_HINT_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_depth_pass_instrument" supported="gl"/>
+ <extension name="GL_SGIX_depth_texture" supported="gl">
+ <require>
+ <enum name="GL_DEPTH_COMPONENT16_SGIX"/>
+ <enum name="GL_DEPTH_COMPONENT24_SGIX"/>
+ <enum name="GL_DEPTH_COMPONENT32_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_flush_raster" supported="gl">
+ <require>
+ <command name="glFlushRasterSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_fog_offset" supported="gl">
+ <require>
+ <enum name="GL_FOG_OFFSET_SGIX"/>
+ <enum name="GL_FOG_OFFSET_VALUE_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_fragment_lighting" supported="gl" comment="Incomplete extension">
+ <require>
+ <enum name="GL_FRAGMENT_LIGHTING_SGIX"/>
+ <enum name="GL_FRAGMENT_COLOR_MATERIAL_SGIX"/>
+ <enum name="GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX"/>
+ <enum name="GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX"/>
+ <enum name="GL_MAX_FRAGMENT_LIGHTS_SGIX"/>
+ <enum name="GL_MAX_ACTIVE_LIGHTS_SGIX"/>
+ <enum name="GL_CURRENT_RASTER_NORMAL_SGIX"/>
+ <enum name="GL_LIGHT_ENV_MODE_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT0_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT1_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT2_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT3_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT4_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT5_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT6_SGIX"/>
+ <enum name="GL_FRAGMENT_LIGHT7_SGIX"/>
+ <command name="glFragmentColorMaterialSGIX"/>
+ <command name="glFragmentLightfSGIX"/>
+ <command name="glFragmentLightfvSGIX"/>
+ <command name="glFragmentLightiSGIX"/>
+ <command name="glFragmentLightivSGIX"/>
+ <command name="glFragmentLightModelfSGIX"/>
+ <command name="glFragmentLightModelfvSGIX"/>
+ <command name="glFragmentLightModeliSGIX"/>
+ <command name="glFragmentLightModelivSGIX"/>
+ <command name="glFragmentMaterialfSGIX"/>
+ <command name="glFragmentMaterialfvSGIX"/>
+ <command name="glFragmentMaterialiSGIX"/>
+ <command name="glFragmentMaterialivSGIX"/>
+ <command name="glGetFragmentLightfvSGIX"/>
+ <command name="glGetFragmentLightivSGIX"/>
+ <command name="glGetFragmentMaterialfvSGIX"/>
+ <command name="glGetFragmentMaterialivSGIX"/>
+ <command name="glLightEnviSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_framezoom" supported="gl">
+ <require>
+ <enum name="GL_FRAMEZOOM_SGIX"/>
+ <enum name="GL_FRAMEZOOM_FACTOR_SGIX"/>
+ <enum name="GL_MAX_FRAMEZOOM_FACTOR_SGIX"/>
+ <command name="glFrameZoomSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_igloo_interface" supported="gl">
+ <require>
+ <command name="glIglooInterfaceSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_instruments" supported="gl">
+ <require>
+ <enum name="GL_INSTRUMENT_BUFFER_POINTER_SGIX"/>
+ <enum name="GL_INSTRUMENT_MEASUREMENTS_SGIX"/>
+ <command name="glGetInstrumentsSGIX"/>
+ <command name="glInstrumentsBufferSGIX"/>
+ <command name="glPollInstrumentsSGIX"/>
+ <command name="glReadInstrumentsSGIX"/>
+ <command name="glStartInstrumentsSGIX"/>
+ <command name="glStopInstrumentsSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_interlace" supported="gl">
+ <require>
+ <enum name="GL_INTERLACE_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_ir_instrument1" supported="gl">
+ <require>
+ <enum name="GL_IR_INSTRUMENT1_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_list_priority" supported="gl">
+ <require>
+ <enum name="GL_LIST_PRIORITY_SGIX"/>
+ <command name="glGetListParameterfvSGIX"/>
+ <command name="glGetListParameterivSGIX"/>
+ <command name="glListParameterfSGIX"/>
+ <command name="glListParameterfvSGIX"/>
+ <command name="glListParameteriSGIX"/>
+ <command name="glListParameterivSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_pixel_texture" supported="gl">
+ <require>
+ <enum name="GL_PIXEL_TEX_GEN_SGIX"/>
+ <enum name="GL_PIXEL_TEX_GEN_MODE_SGIX"/>
+ <command name="glPixelTexGenSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_pixel_tiles" supported="gl">
+ <require>
+ <enum name="GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_CACHE_INCREMENT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_WIDTH_SGIX"/>
+ <enum name="GL_PIXEL_TILE_HEIGHT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_WIDTH_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_HEIGHT_SGIX"/>
+ <enum name="GL_PIXEL_TILE_GRID_DEPTH_SGIX"/>
+ <enum name="GL_PIXEL_TILE_CACHE_SIZE_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_polynomial_ffd" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_DEFORMATION_BIT_SGIX"/>
+ <enum name="GL_GEOMETRY_DEFORMATION_BIT_SGIX"/>
+ <enum name="GL_GEOMETRY_DEFORMATION_SGIX"/>
+ <enum name="GL_TEXTURE_DEFORMATION_SGIX"/>
+ <enum name="GL_DEFORMATIONS_MASK_SGIX"/>
+ <enum name="GL_MAX_DEFORMATION_ORDER_SGIX"/>
+ <command name="glDeformationMap3dSGIX"/>
+ <command name="glDeformationMap3fSGIX"/>
+ <command name="glDeformSGIX"/>
+ <command name="glLoadIdentityDeformationMapSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_reference_plane" supported="gl">
+ <require>
+ <enum name="GL_REFERENCE_PLANE_SGIX"/>
+ <enum name="GL_REFERENCE_PLANE_EQUATION_SGIX"/>
+ <command name="glReferencePlaneSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_resample" supported="gl">
+ <require>
+ <enum name="GL_PACK_RESAMPLE_SGIX"/>
+ <enum name="GL_UNPACK_RESAMPLE_SGIX"/>
+ <enum name="GL_RESAMPLE_REPLICATE_SGIX"/>
+ <enum name="GL_RESAMPLE_ZERO_FILL_SGIX"/>
+ <enum name="GL_RESAMPLE_DECIMATE_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_scalebias_hint" supported="gl">
+ <require>
+ <enum name="GL_SCALEBIAS_HINT_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_shadow" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_COMPARE_SGIX"/>
+ <enum name="GL_TEXTURE_COMPARE_OPERATOR_SGIX"/>
+ <enum name="GL_TEXTURE_LEQUAL_R_SGIX"/>
+ <enum name="GL_TEXTURE_GEQUAL_R_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_shadow_ambient" supported="gl">
+ <require>
+ <enum name="GL_SHADOW_AMBIENT_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_sprite" supported="gl">
+ <require>
+ <enum name="GL_SPRITE_SGIX"/>
+ <enum name="GL_SPRITE_MODE_SGIX"/>
+ <enum name="GL_SPRITE_AXIS_SGIX"/>
+ <enum name="GL_SPRITE_TRANSLATION_SGIX"/>
+ <enum name="GL_SPRITE_AXIAL_SGIX"/>
+ <enum name="GL_SPRITE_OBJECT_ALIGNED_SGIX"/>
+ <enum name="GL_SPRITE_EYE_ALIGNED_SGIX"/>
+ <command name="glSpriteParameterfSGIX"/>
+ <command name="glSpriteParameterfvSGIX"/>
+ <command name="glSpriteParameteriSGIX"/>
+ <command name="glSpriteParameterivSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_subsample" supported="gl">
+ <require>
+ <enum name="GL_PACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum name="GL_UNPACK_SUBSAMPLE_RATE_SGIX"/>
+ <enum name="GL_PIXEL_SUBSAMPLE_4444_SGIX"/>
+ <enum name="GL_PIXEL_SUBSAMPLE_2424_SGIX"/>
+ <enum name="GL_PIXEL_SUBSAMPLE_4242_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_tag_sample_buffer" supported="gl">
+ <require>
+ <command name="glTagSampleBufferSGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_texture_add_env" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_ENV_BIAS_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_texture_coordinate_clamp" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_MAX_CLAMP_S_SGIX"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_T_SGIX"/>
+ <enum name="GL_TEXTURE_MAX_CLAMP_R_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_texture_lod_bias" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_LOD_BIAS_S_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_T_SGIX"/>
+ <enum name="GL_TEXTURE_LOD_BIAS_R_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_texture_multi_buffer" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_MULTI_BUFFER_HINT_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_texture_scale_bias" supported="gl">
+ <require>
+ <enum name="GL_POST_TEXTURE_FILTER_BIAS_SGIX"/>
+ <enum name="GL_POST_TEXTURE_FILTER_SCALE_SGIX"/>
+ <enum name="GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX"/>
+ <enum name="GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_vertex_preclip" supported="gl">
+ <require>
+ <enum name="GL_VERTEX_PRECLIP_SGIX"/>
+ <enum name="GL_VERTEX_PRECLIP_HINT_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_ycrcb" supported="gl">
+ <require>
+ <enum name="GL_YCRCB_422_SGIX"/>
+ <enum name="GL_YCRCB_444_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGIX_ycrcb_subsample" supported="gl"/>
+ <extension name="GL_SGIX_ycrcba" supported="gl">
+ <require>
+ <enum name="GL_YCRCB_SGIX"/>
+ <enum name="GL_YCRCBA_SGIX"/>
+ </require>
+ </extension>
+ <extension name="GL_SGI_color_matrix" supported="gl">
+ <require>
+ <enum name="GL_COLOR_MATRIX_SGI"/>
+ <enum name="GL_COLOR_MATRIX_STACK_DEPTH_SGI"/>
+ <enum name="GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_RED_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI"/>
+ </require>
+ </extension>
+ <extension name="GL_SGI_color_table" supported="gl">
+ <require>
+ <enum name="GL_COLOR_TABLE_SGI"/>
+ <enum name="GL_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum name="GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI"/>
+ <enum name="GL_COLOR_TABLE_SCALE_SGI"/>
+ <enum name="GL_COLOR_TABLE_BIAS_SGI"/>
+ <enum name="GL_COLOR_TABLE_FORMAT_SGI"/>
+ <enum name="GL_COLOR_TABLE_WIDTH_SGI"/>
+ <enum name="GL_COLOR_TABLE_RED_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_GREEN_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_BLUE_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_ALPHA_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_LUMINANCE_SIZE_SGI"/>
+ <enum name="GL_COLOR_TABLE_INTENSITY_SIZE_SGI"/>
+ <command name="glColorTableSGI"/>
+ <command name="glColorTableParameterfvSGI"/>
+ <command name="glColorTableParameterivSGI"/>
+ <command name="glCopyColorTableSGI"/>
+ <command name="glGetColorTableSGI"/>
+ <command name="glGetColorTableParameterfvSGI"/>
+ <command name="glGetColorTableParameterivSGI"/>
+ </require>
+ </extension>
+ <extension name="GL_SGI_texture_color_table" supported="gl">
+ <require>
+ <enum name="GL_TEXTURE_COLOR_TABLE_SGI"/>
+ <enum name="GL_PROXY_TEXTURE_COLOR_TABLE_SGI"/>
+ </require>
+ </extension>
+ <extension name="GL_SUNX_constant_data" supported="gl">
+ <require>
+ <enum name="GL_UNPACK_CONSTANT_DATA_SUNX"/>
+ <enum name="GL_TEXTURE_CONSTANT_DATA_SUNX"/>
+ <command name="glFinishTextureSUNX"/>
+ </require>
+ </extension>
+ <extension name="GL_SUN_convolution_border_modes" supported="gl">
+ <require>
+ <enum name="GL_WRAP_BORDER_SUN"/>
+ </require>
+ </extension>
+ <extension name="GL_SUN_global_alpha" supported="gl">
+ <require>
+ <enum name="GL_GLOBAL_ALPHA_SUN"/>
+ <enum name="GL_GLOBAL_ALPHA_FACTOR_SUN"/>
+ <command name="glGlobalAlphaFactorbSUN"/>
+ <command name="glGlobalAlphaFactorsSUN"/>
+ <command name="glGlobalAlphaFactoriSUN"/>
+ <command name="glGlobalAlphaFactorfSUN"/>
+ <command name="glGlobalAlphaFactordSUN"/>
+ <command name="glGlobalAlphaFactorubSUN"/>
+ <command name="glGlobalAlphaFactorusSUN"/>
+ <command name="glGlobalAlphaFactoruiSUN"/>
+ </require>
+ </extension>
+ <extension name="GL_SUN_mesh_array" supported="gl">
+ <require>
+ <enum name="GL_QUAD_MESH_SUN"/>
+ <enum name="GL_TRIANGLE_MESH_SUN"/>
+ <command name="glDrawMeshArraysSUN"/>
+ </require>
+ </extension>
+ <extension name="GL_SUN_slice_accum" supported="gl">
+ <require>
+ <enum name="GL_SLICE_ACCUM_SUN"/>
+ </require>
+ </extension>
+ <extension name="GL_SUN_triangle_list" supported="gl">
+ <require>
+ <enum name="GL_RESTART_SUN"/>
+ <enum name="GL_REPLACE_MIDDLE_SUN"/>
+ <enum name="GL_REPLACE_OLDEST_SUN"/>
+ <enum name="GL_TRIANGLE_LIST_SUN"/>
+ <enum name="GL_REPLACEMENT_CODE_SUN"/>
+ <enum name="GL_REPLACEMENT_CODE_ARRAY_SUN"/>
+ <enum name="GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN"/>
+ <enum name="GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN"/>
+ <enum name="GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN"/>
+ <enum name="GL_R1UI_V3F_SUN"/>
+ <enum name="GL_R1UI_C4UB_V3F_SUN"/>
+ <enum name="GL_R1UI_C3F_V3F_SUN"/>
+ <enum name="GL_R1UI_N3F_V3F_SUN"/>
+ <enum name="GL_R1UI_C4F_N3F_V3F_SUN"/>
+ <enum name="GL_R1UI_T2F_V3F_SUN"/>
+ <enum name="GL_R1UI_T2F_N3F_V3F_SUN"/>
+ <enum name="GL_R1UI_T2F_C4F_N3F_V3F_SUN"/>
+ <command name="glReplacementCodeuiSUN"/>
+ <command name="glReplacementCodeusSUN"/>
+ <command name="glReplacementCodeubSUN"/>
+ <command name="glReplacementCodeuivSUN"/>
+ <command name="glReplacementCodeusvSUN"/>
+ <command name="glReplacementCodeubvSUN"/>
+ <command name="glReplacementCodePointerSUN"/>
+ </require>
+ </extension>
+ <extension name="GL_SUN_vertex" supported="gl">
+ <require>
+ <command name="glColor4ubVertex2fSUN"/>
+ <command name="glColor4ubVertex2fvSUN"/>
+ <command name="glColor4ubVertex3fSUN"/>
+ <command name="glColor4ubVertex3fvSUN"/>
+ <command name="glColor3fVertex3fSUN"/>
+ <command name="glColor3fVertex3fvSUN"/>
+ <command name="glNormal3fVertex3fSUN"/>
+ <command name="glNormal3fVertex3fvSUN"/>
+ <command name="glColor4fNormal3fVertex3fSUN"/>
+ <command name="glColor4fNormal3fVertex3fvSUN"/>
+ <command name="glTexCoord2fVertex3fSUN"/>
+ <command name="glTexCoord2fVertex3fvSUN"/>
+ <command name="glTexCoord4fVertex4fSUN"/>
+ <command name="glTexCoord4fVertex4fvSUN"/>
+ <command name="glTexCoord2fColor4ubVertex3fSUN"/>
+ <command name="glTexCoord2fColor4ubVertex3fvSUN"/>
+ <command name="glTexCoord2fColor3fVertex3fSUN"/>
+ <command name="glTexCoord2fColor3fVertex3fvSUN"/>
+ <command name="glTexCoord2fNormal3fVertex3fSUN"/>
+ <command name="glTexCoord2fNormal3fVertex3fvSUN"/>
+ <command name="glTexCoord2fColor4fNormal3fVertex3fSUN"/>
+ <command name="glTexCoord2fColor4fNormal3fVertex3fvSUN"/>
+ <command name="glTexCoord4fColor4fNormal3fVertex4fSUN"/>
+ <command name="glTexCoord4fColor4fNormal3fVertex4fvSUN"/>
+ <command name="glReplacementCodeuiVertex3fSUN"/>
+ <command name="glReplacementCodeuiVertex3fvSUN"/>
+ <command name="glReplacementCodeuiColor4ubVertex3fSUN"/>
+ <command name="glReplacementCodeuiColor4ubVertex3fvSUN"/>
+ <command name="glReplacementCodeuiColor3fVertex3fSUN"/>
+ <command name="glReplacementCodeuiColor3fVertex3fvSUN"/>
+ <command name="glReplacementCodeuiNormal3fVertex3fSUN"/>
+ <command name="glReplacementCodeuiNormal3fVertex3fvSUN"/>
+ <command name="glReplacementCodeuiColor4fNormal3fVertex3fSUN"/>
+ <command name="glReplacementCodeuiColor4fNormal3fVertex3fvSUN"/>
+ <command name="glReplacementCodeuiTexCoord2fVertex3fSUN"/>
+ <command name="glReplacementCodeuiTexCoord2fVertex3fvSUN"/>
+ <command name="glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN"/>
+ <command name="glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN"/>
+ <command name="glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN"/>
+ <command name="glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN"/>
+ </require>
+ </extension>
+ <extension name="GL_VIV_shader_binary" supported="gles2">
+ <require>
+ <enum name="GL_SHADER_BINARY_VIV"/>
+ </require>
+ </extension>
+ <extension name="GL_WIN_phong_shading" supported="gl">
+ <require>
+ <enum name="GL_PHONG_WIN"/>
+ <enum name="GL_PHONG_HINT_WIN"/>
+ </require>
+ </extension>
+ <extension name="GL_WIN_specular_fog" supported="gl">
+ <require>
+ <enum name="GL_FOG_SPECULAR_TEXTURE_WIN"/>
+ </require>
+ </extension>
+ </extensions>
+</registry>
diff --git a/xorg-server/hw/xwin/glx/glshim.c b/xorg-server/hw/xwin/glx/glshim.c
deleted file mode 100644
index 7109196c0..000000000
--- a/xorg-server/hw/xwin/glx/glshim.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * 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 <xwin-config.h>
-#endif
-
-#define GL_GLEXT_LEGACY
-#include <GL/gl.h>
-#undef GL_ARB_imaging
-#undef GL_VERSION_1_3
-#include <GL/glext.h>
-
-#include <X11/Xwindows.h>
-#include <os.h>
-#include "glwindows.h"
-#include <glx/glxserver.h>
-
-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/xorg-server/hw/xwin/glx/glwindows.h b/xorg-server/hw/xwin/glx/glwindows.h
index 4f859b498..42adc5b60 100644
--- a/xorg-server/hw/xwin/glx/glwindows.h
+++ b/xorg-server/hw/xwin/glx/glwindows.h
@@ -42,13 +42,22 @@ typedef struct {
extern glxWinDebugSettingsRec glxWinDebugSettings;
+void glWinCallDelta(void);
void glxWinPushNativeProvider(void);
-void glAddSwapHintRectWINWrapper(GLint x, GLint y, GLsizei width, GLsizei height);
-int glWinSelectImplementation(int native);
+const GLubyte *glGetStringWrapperNonstatic(GLenum name);
+void glAddSwapHintRectWINWrapperNonstatic(GLint x, GLint y, GLsizei width,
+ GLsizei height);
+void glWinSetupDispatchTable(void);
-#if 1
+#ifdef _DEBUG
+#ifdef _MSC_VER
+#define GLWIN_TRACE_MSG(msg, ...) if (glxWinDebugSettings.enableTrace) ErrorF(msg " [%s:%d]\n" , __VA_ARGS__ , __FUNCTION__, __LINE__ )
+#define GLWIN_DEBUG_MSG(msg, ...) if (glxWinDebugSettings.enableDebug) ErrorF(msg " [%s:%d]\n" , __VA_ARGS__ , __FUNCTION__, __LINE__ )
+#else
#define GLWIN_TRACE_MSG(msg, args...) if (glxWinDebugSettings.enableTrace) ErrorF(msg " [%s:%d]\n" , ##args , __FUNCTION__, __LINE__ )
#define GLWIN_DEBUG_MSG(msg, args...) if (glxWinDebugSettings.enableDebug) ErrorF(msg " [%s:%d]\n" , ##args , __FUNCTION__, __LINE__ )
+#endif
+
#else
#define GLWIN_TRACE_MSG(a, ...)
#define GLWIN_DEBUG_MSG(a, ...)
diff --git a/xorg-server/hw/xwin/glx/glwrap.c b/xorg-server/hw/xwin/glx/glwrap.c
new file mode 100644
index 000000000..9733e7526
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/glwrap.c
@@ -0,0 +1,156 @@
+/*
+ * 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
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and 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.
+ */
+
+// define USE_OPENGL32 makes gl.h declare gl*() function prototypes with stdcall linkage,
+// so our generated wrappers will correctly link with the functions in opengl32.dll
+#define USE_OPENGL32
+
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+
+#include <X11/Xwindows.h>
+#include <GL/gl.h>
+#include <GL/glext.h>
+#include <glx/glheader.h>
+#include <glx/glxserver.h>
+#include <glx/glxext.h>
+#include <glx/glapi.h>
+#include <glx/dispatch.h>
+#include <glwindows.h>
+#include <winmsg.h>
+
+#ifdef _DEBUG
+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;
+ }
+}
+#endif
+
+static PROC
+glWinResolveHelper(PROC * cache, const char *symbol)
+{
+ PROC proc = NULL;
+
+ /* If not yet cached, call wglGetProcAddress */
+ if ((*cache) == NULL) {
+ proc = wglGetProcAddress(symbol);
+ if (proc == NULL) {
+ winDebug("glwrap: Can't resolve \"%s\"\n", symbol);
+ (*cache) = (PROC) - 1;
+ }
+ else {
+ winDebug("glwrap: Resolved \"%s\"\n", symbol);
+ (*cache) = proc;
+ }
+ }
+ /* Cached wglGetProcAddress failure */
+ else if ((*cache) == (PROC) - 1) {
+ proc = 0;
+ }
+ /* Cached wglGetProcAddress result */
+ else {
+ proc = (*cache);
+ }
+
+ return proc;
+}
+
+#ifdef _DEBUG
+#define INCPROCCALLS glWinIndirectProcCalls++;
+#else
+#define INCPROCCALLS
+#endif
+
+#define RESOLVE_RET(proctype, symbol, retval) \
+ static PROC cache = NULL; \
+ proctype proc = (proctype)glWinResolveHelper(&cache, symbol); \
+ if (proc == NULL) { \
+ __glXErrorCallBack(0); \
+ return retval; \
+ } \
+ INCPROCCALLS
+
+#define RESOLVE(proctype, symbol) RESOLVE_RET(proctype, symbol,)
+
+#define RESOLVED_PROC(proctype) proc
+
+/*
+ Include generated cdecl wrappers for stdcall gl*() functions in opengl32.dll
+
+ 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);
+}
diff --git a/xorg-server/hw/xwin/glx/indirect.c b/xorg-server/hw/xwin/glx/indirect.c
index 9bfaac03d..b12fa7d68 100644..100755
--- a/xorg-server/hw/xwin/glx/indirect.c
+++ b/xorg-server/hw/xwin/glx/indirect.c
@@ -79,13 +79,19 @@
#endif
#include "glwindows.h"
+#include <glx/glheader.h>
#include <glx/glxserver.h>
#include <glx/glxutil.h>
#include <glx/extension_string.h>
+#include <glx/glxext.h>
#include <GL/glxtokens.h>
+#include <glx/glapitable.h>
+#include <glx/glapi.h>
#include <winpriv.h>
#include <wgl_ext_api.h>
+#include "win.h"
+#include <winmsg.h>
#include <winglobals.h>
#define NUM_ELEMENTS(x) (sizeof(x)/ sizeof(x[1]))
@@ -114,14 +120,17 @@ typedef struct __GLXWinConfig GLXWinConfig;
struct __GLXWinContext {
__GLXcontext base;
HGLRC ctx; /* Windows GL Context */
+ HDC hDC; /* Windows device context */
+ HDC hreadDC; /* Windows device read context */
__GLXWinContext *shareContext; /* Context with which we will share display lists and textures */
HWND hwnd; /* For detecting when HWND has changed */
+ HWND hreadwnd;
+ struct _glapi_table *Dispatch;
};
struct __GLXWinDrawable {
__GLXdrawable base;
__GLXWinContext *drawContext;
- __GLXWinContext *readContext;
/* If this drawable is GLX_DRAWABLE_PBUFFER */
HPBUFFERARB hPbuffer;
@@ -147,7 +156,9 @@ struct __GLXWinScreen {
/* wrapped screen functions */
RealizeWindowProcPtr RealizeWindow;
UnrealizeWindowProcPtr UnrealizeWindow;
+ DestroyWindowProcPtr DestroyWindow;
CopyWindowProcPtr CopyWindow;
+ PositionWindowProcPtr PositionWindow;
};
struct __GLXWinConfig {
@@ -160,12 +171,33 @@ struct __GLXWinConfig {
* Various debug helpers
*/
-#define GLWIN_DEBUG_HWND(hwnd) \
- if (glxWinDebugSettings.dumpHWND) { \
- char buffer[1024]; \
- if (GetWindowText(hwnd, buffer, sizeof(buffer))==0) *buffer=0; \
- GLWIN_DEBUG_MSG("Got HWND %p for window '%s'", hwnd, buffer); \
+#ifdef _DEBUG
+void GLWIN_DEBUG_HWND(HWND hwnd)
+{
+ if (glxWinDebugSettings.dumpHWND) {
+ char buffer[1024];
+ RECT Rect;
+ HDC hDc=GetDC(hwnd);
+
+ if (GetWindowText(hwnd, buffer, sizeof(buffer))==0) *buffer=0;
+ GetWindowRect(hwnd,&Rect);
+
+ GLWIN_DEBUG_MSG("Got HWND %p (hdc %p) for window '%s' (%d,%d,%d,%d)", hwnd, hDc, buffer, Rect.left, Rect.top, Rect.right, Rect.bottom);
+ ReleaseDC(hwnd,hDc);
}
+}
+
+void GLWIN_HDC_DEBUG_MSG(const char *Message, HDC hDc, HWND hwnd)
+{
+ char buffer[1024];
+ RECT Rect;
+
+ if (GetWindowText(hwnd, buffer, sizeof(buffer))==0) *buffer=0;
+ GetWindowRect(hwnd,&Rect);
+
+ GLWIN_DEBUG_MSG("Got HDC %p (hwnd %p) for window '%s' (%d,%d,%d,%d)", hDc, hwnd, buffer, Rect.left, Rect.top, Rect.right, Rect.bottom);
+
+}
glxWinDebugSettingsRec glxWinDebugSettings = { 0, 0, 0, 0, 0, 0 };
@@ -213,6 +245,7 @@ glxWinInitDebugSettings(void)
glxWinDebugSettings.enableWGLcallTrace = 1;
}
}
+#endif
static
const char *
@@ -239,6 +272,8 @@ glxWinErrorMessage(void)
static void pfdOut(const PIXELFORMATDESCRIPTOR * pfd);
+#ifdef _DEBUG
+
#define DUMP_PFD_FLAG(flag) \
if (pfd->dwFlags & flag) { \
ErrorF("%s%s", pipesym, #flag); \
@@ -396,6 +431,7 @@ fbConfigsDump(unsigned int n, __GLXconfig * c)
c = c->next;
}
}
+#endif
/* ---------------------------------------------------------------------- */
/*
@@ -417,11 +453,13 @@ static __GLXdrawable *glxWinCreateDrawable(ClientPtr client,
static Bool glxWinRealizeWindow(WindowPtr pWin);
static Bool glxWinUnrealizeWindow(WindowPtr pWin);
+static Bool glxWinDestroyWindow(WindowPtr pWin);
static void glxWinCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg,
RegionPtr prgnSrc);
+static Bool glxWinPositionWindow(WindowPtr pWindow, int x, int y);
static HDC glxWinMakeDC(__GLXWinContext * gc, __GLXWinDrawable * draw,
- HDC * hdc, HWND * hwnd);
+ HWND * hwnd);
static void glxWinReleaseDC(HWND hwnd, HDC hdc, __GLXWinDrawable * draw);
static void glxWinCreateConfigs(HDC dc, glxWinScreen * screen);
@@ -447,7 +485,8 @@ __GLXprovider __glXWGLProvider = {
void
glxWinPushNativeProvider(void)
{
- GlxPushProvider(&__glXWGLProvider);
+ if (g_fNativeGl)
+ GlxPushProvider(&__glXWGLProvider);
}
/* ---------------------------------------------------------------------- */
@@ -475,6 +514,15 @@ glxWinScreenSwapInterval(__GLXdrawable * drawable, int interval)
return ret;
}
+static LRESULT CALLBACK GlxWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ if (uMsg== WM_NCHITTEST) {
+ return HTTRANSPARENT;
+ }
+ else
+ return DefWindowProc(hwnd, uMsg, wParam, lParam);
+}
+
/*
Report the extensions split and formatted to avoid overflowing a line
*/
@@ -493,7 +541,8 @@ glxLogExtensions(const char *prefix, const char *extensions)
strl = strtok(str, " ");
if (strl == NULL)
strl = "";
- ErrorF("%s%s", prefix, strl);
+ winDebug("%s%s", prefix, strl);
+
length = strlen(prefix) + strlen(strl);
while (1) {
@@ -502,20 +551,20 @@ glxLogExtensions(const char *prefix, const char *extensions)
break;
if (length + strlen(strl) + 1 > 120) {
- ErrorF("\n");
- ErrorF("%s", prefix);
+ winDebug("\n");
+ winDebug("%s", prefix);
length = strlen(prefix);
}
else {
- ErrorF(" ");
+ winDebug(" ");
length++;
}
- ErrorF("%s", strl);
+ winDebug("%s", strl);
length = length + strlen(strl);
}
- ErrorF("\n");
+ winDebug("\n");
free(str);
}
@@ -534,7 +583,9 @@ glxWinScreenProbe(ScreenPtr pScreen)
GLWIN_DEBUG_MSG("glxWinScreenProbe");
+#ifdef _DEBUG
glxWinInitDebugSettings();
+#endif
if (pScreen == NULL)
return NULL;
@@ -550,29 +601,26 @@ glxWinScreenProbe(ScreenPtr pScreen)
if (NULL == screen)
return NULL;
- // Select the native GL implementation (WGL)
- if (glWinSelectImplementation(1))
- return NULL;
+ /* Dump out some useful information about the native renderer */
// create window class
-#define WIN_GL_TEST_WINDOW_CLASS "XWinGLTest"
{
static wATOM glTestWndClass = 0;
if (glTestWndClass == 0) {
WNDCLASSEX wc;
-
+ glTestWndClass=1;
wc.cbSize = sizeof(WNDCLASSEX);
- wc.style = CS_HREDRAW | CS_VREDRAW;
- wc.lpfnWndProc = DefWindowProc;
+ wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC ;
+ wc.lpfnWndProc = GlxWindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
- wc.hInstance = GetModuleHandle(NULL);
+ wc.hInstance = g_hInstance;
wc.hIcon = 0;
wc.hCursor = 0;
- wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
+ wc.hbrBackground = 0;
wc.lpszMenuName = NULL;
- wc.lpszClassName = WIN_GL_TEST_WINDOW_CLASS;
+ wc.lpszClassName = WIN_GL_WINDOW_CLASS;
wc.hIconSm = 0;
RegisterClassEx(&wc);
}
@@ -580,9 +628,9 @@ glxWinScreenProbe(ScreenPtr pScreen)
// create an invisible window for a scratch DC
hwnd = CreateWindowExA(0,
- WIN_GL_TEST_WINDOW_CLASS,
+ WIN_GL_WINDOW_CLASS,
"XWin GL Renderer Capabilities Test Window",
- 0, 0, 0, 0, 0, NULL, NULL, GetModuleHandle(NULL),
+ 0, 0, 0, 0, 0, NULL, NULL, g_hInstance,
NULL);
if (hwnd == NULL)
LogMessage(X_ERROR,
@@ -593,18 +641,20 @@ glxWinScreenProbe(ScreenPtr pScreen)
// we must set a pixel format before we can create a context, just use the first one...
SetPixelFormat(hdc, 1, NULL);
hglrc = wglCreateContext(hdc);
- wglMakeCurrent(hdc, hglrc);
+ if (!wglMakeCurrent(hdc, hglrc)) {
+ DWORD ErrorCode=GetLastError();
+ ErrorF("wglMakeCurrent error: %x dc %p ctx %p\n", ErrorCode,hdc,hglrc);
+ }
// initialize wgl extension proc pointers (don't call them before here...)
// (but we need to have a current context for them to be resolvable)
wglResolveExtensionProcs();
- /* 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 *) glGetString(GL_EXTENSIONS);
+ winDebug("GL_VERSION: %s\n", glGetStringWrapperNonstatic(GL_VERSION));
+ winDebug("GL_VENDOR: %s\n", glGetStringWrapperNonstatic(GL_VENDOR));
+ gl_renderer = (const char *) glGetStringWrapperNonstatic(GL_RENDERER);
+ winDebug("GL_RENDERER: %s\n", gl_renderer);
+ gl_extensions = (const char *) glGetStringWrapperNonstatic(GL_EXTENSIONS);
wgl_extensions = wglGetExtensionsStringARBWrapper(hdc);
if (!wgl_extensions)
wgl_extensions = "";
@@ -618,7 +668,7 @@ glxWinScreenProbe(ScreenPtr pScreen)
free(screen);
LogMessage(X_ERROR,
"AIGLX: Won't use generic native renderer as it is not accelerated\n");
- goto error;
+ return NULL;
}
// Can you see the problem here? The extensions string is DC specific
@@ -729,7 +779,7 @@ glxWinScreenProbe(ScreenPtr pScreen)
free(screen);
LogMessage(X_ERROR,
"AIGLX: No fbConfigs could be made from native OpenGL pixel formats\n");
- goto error;
+ return NULL;
}
/* These will be set by __glXScreenInit */
@@ -780,8 +830,10 @@ glxWinScreenProbe(ScreenPtr pScreen)
ReleaseDC(hwnd, hdc);
DestroyWindow(hwnd);
+#ifdef _DEBUG
// dump out fbConfigs now fbConfigIds and visualIDs have been assigned
fbConfigsDump(screen->base.numFBConfigs, screen->base.fbconfigs);
+#endif
/* Wrap RealizeWindow, UnrealizeWindow and CopyWindow on this screen */
screen->RealizeWindow = pScreen->RealizeWindow;
@@ -790,15 +842,12 @@ glxWinScreenProbe(ScreenPtr pScreen)
pScreen->UnrealizeWindow = glxWinUnrealizeWindow;
screen->CopyWindow = pScreen->CopyWindow;
pScreen->CopyWindow = glxWinCopyWindow;
+ screen->PositionWindow = pScreen->PositionWindow;
+ pScreen->PositionWindow = glxWinPositionWindow;
+ screen->DestroyWindow = pScreen->DestroyWindow;
+ pScreen->DestroyWindow = glxWinDestroyWindow;
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;
}
/* ---------------------------------------------------------------------- */
@@ -812,6 +861,7 @@ glxWinRealizeWindow(WindowPtr pWin)
Bool result;
ScreenPtr pScreen = pWin->drawable.pScreen;
glxWinScreen *screenPriv = (glxWinScreen *) glxGetScreen(pScreen);
+ winWindowPriv(pWin);
GLWIN_DEBUG_MSG("glxWinRealizeWindow");
@@ -819,7 +869,11 @@ glxWinRealizeWindow(WindowPtr pWin)
pScreen->RealizeWindow = screenPriv->RealizeWindow;
result = pScreen->RealizeWindow(pWin);
pScreen->RealizeWindow = glxWinRealizeWindow;
-
+
+ // Check if ze need to move the window\n
+ if (pWinPriv->fWglUsed && pWinPriv->hWnd) {
+ ShowWindow(pWinPriv->hWnd,SW_SHOWNOACTIVATE);
+ }
return result;
}
@@ -855,17 +909,88 @@ glxWinCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
}
static Bool
+glxWinPositionWindow(WindowPtr pWin, int x, int y)
+{
+ Bool result;
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+ glxWinScreen *screenPriv = (glxWinScreen *) glxGetScreen(pScreen);
+ winWindowPriv(pWin);
+
+ pScreen->PositionWindow = screenPriv->PositionWindow;
+ result = pScreen->PositionWindow(pWin, x, y);
+ pScreen->PositionWindow = glxWinPositionWindow;
+
+ if (pWinPriv->fWglUsed && pWinPriv->hWnd)
+ {
+ MoveWindow(pWinPriv->hWnd,
+ pWin->drawable.x,
+ pWin->drawable.y,
+ pWin->drawable.width,
+ pWin->drawable.height,
+ FALSE);
+ winDebug("Move window %x, %x, %d, %d, %d, %d\n",pWinPriv->hWnd,GetParent(pWinPriv->hWnd), pWin->drawable.x, pWin->drawable.y, pWin->drawable.width, pWin->drawable.height);
+ }
+ return result;
+}
+
+
+static Bool
glxWinUnrealizeWindow(WindowPtr pWin)
{
Bool result;
ScreenPtr pScreen = pWin->drawable.pScreen;
glxWinScreen *screenPriv = (glxWinScreen *) glxGetScreen(pScreen);
+ winWindowPriv(pWin);
GLWIN_DEBUG_MSG("glxWinUnrealizeWindow");
- pScreen->UnrealizeWindow = screenPriv->UnrealizeWindow;
- result = pScreen->UnrealizeWindow(pWin);
- pScreen->UnrealizeWindow = glxWinUnrealizeWindow;
+ if (pWinPriv->fWglUsed && pWinPriv->hWnd)
+ {
+ ShowWindow(pWinPriv->hWnd,SW_HIDE);
+ result = TRUE;
+ }
+ else
+ {
+ pScreen->UnrealizeWindow = screenPriv->UnrealizeWindow;
+ result = pScreen->UnrealizeWindow(pWin);
+ pScreen->UnrealizeWindow = glxWinUnrealizeWindow;
+ }
+
+
+ return result;
+}
+
+static Bool
+glxWinDestroyWindow(WindowPtr pWin)
+{
+ Bool result;
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+ glxWinScreen *screenPriv = (glxWinScreen *)glxGetScreen(pScreen);
+ __GLXWinDrawable *pGlxDraw;
+ winWindowPriv(pWin);
+
+ GLWIN_DEBUG_MSG("glxWinDestroyWindow");
+
+ dixLookupResourceByType((pointer) &pGlxDraw, pWin->drawable.id, __glXDrawableRes, NullClient, DixUnknownAccess);
+
+ if (pGlxDraw && pGlxDraw->drawContext)
+ {
+ if (pGlxDraw->drawContext->hwnd!=pWinPriv->hWnd)
+ ErrorF("Wrong assumption\n");
+ glxWinReleaseDC(pGlxDraw->drawContext->hwnd, pGlxDraw->drawContext->hDC, pGlxDraw);
+ pGlxDraw->drawContext->hDC=NULL;
+ pGlxDraw->drawContext->hwnd=NULL;
+ }
+ if (pWinPriv->fWglUsed && pWinPriv->hWnd)
+ {
+ DestroyWindow(pWinPriv->hWnd);
+ pWinPriv->hWnd=NULL;
+ pWinPriv->fWglUsed=0;
+ }
+
+ pScreen->DestroyWindow = screenPriv->DestroyWindow;
+ result = pScreen->DestroyWindow(pWin);
+ pScreen->DestroyWindow = glxWinDestroyWindow;
return result;
}
@@ -878,8 +1003,6 @@ glxWinUnrealizeWindow(WindowPtr pWin)
static GLboolean
glxWinDrawableSwapBuffers(ClientPtr client, __GLXdrawable * base)
{
- HDC dc;
- HWND hwnd;
BOOL ret;
__GLXWinDrawable *draw = (__GLXWinDrawable *) base;
@@ -900,13 +1023,7 @@ glxWinDrawableSwapBuffers(ClientPtr client, __GLXdrawable * base)
assert((draw->drawContext->base.drawPriv == NULL) ||
(draw->drawContext->base.drawPriv == base));
- dc = glxWinMakeDC(draw->drawContext, draw, &dc, &hwnd);
- if (dc == NULL)
- return GL_FALSE;
-
- ret = wglSwapLayerBuffers(dc, WGL_SWAP_MAIN_PLANE);
-
- glxWinReleaseDC(hwnd, dc, draw);
+ ret = SwapBuffers(draw->drawContext->hDC);
if (!ret) {
ErrorF("wglSwapBuffers failed: %s\n", glxWinErrorMessage());
@@ -920,7 +1037,7 @@ static void
glxWinDrawableCopySubBuffer(__GLXdrawable * drawable,
int x, int y, int w, int h)
{
- glAddSwapHintRectWINWrapper(x, y, w, h);
+ glAddSwapHintRectWINWrapperNonstatic(x, y, w, h);
glxWinDrawableSwapBuffers(NULL, drawable);
}
@@ -949,6 +1066,7 @@ glxWinDrawableDestroy(__GLXdrawable * base)
}
((PixmapPtr) glxPriv->base.pDraw)->devPrivate.ptr = glxPriv->pOldBits;
+ glxPriv->base.pDraw->pScreen->DestroyPixmap((PixmapPtr)glxPriv->base.pDraw); /* Decrement reference count since we do not use it any more */
}
GLWIN_DEBUG_MSG("glxWinDestroyDrawable");
@@ -963,13 +1081,11 @@ glxWinCreateDrawable(ClientPtr client,
{
__GLXWinDrawable *glxPriv;
- glxPriv = malloc(sizeof *glxPriv);
+ glxPriv = calloc(1, sizeof *glxPriv);
if (glxPriv == NULL)
return NULL;
- memset(glxPriv, 0, sizeof *glxPriv);
-
if (!__glXDrawableInit
(&glxPriv->base, screen, pDraw, type, glxDrawId, conf)) {
free(glxPriv);
@@ -1039,28 +1155,25 @@ glxWinSetPixelFormat(__GLXWinContext * gc, HDC hdc, int bppOverride,
__GLXconfig *config = gc->base.config;
GLXWinConfig *winConfig = (GLXWinConfig *) config;
- GLWIN_DEBUG_MSG("glxWinSetPixelFormat: pixelFormatIndex %d",
- winConfig->pixelFormatIndex);
- /*
- Normally, we can just use the the pixelFormatIndex corresponding
- to the fbconfig which has been specified by the client
- */
-
- if (!
- ((bppOverride &&
- (bppOverride !=
- (config->redBits + config->greenBits + config->blueBits)))
- || ((config->drawableType & drawableTypeOverride) == 0))) {
- if (!SetPixelFormat(hdc, winConfig->pixelFormatIndex, NULL)) {
- ErrorF("SetPixelFormat error: %s\n", glxWinErrorMessage());
- return FALSE;
+ WindowPtr pWin;
+ __GLXWinDrawable *drawPriv = (__GLXWinDrawable *)gc->base.drawPriv;
+ pWin = (WindowPtr) drawPriv->base.pDraw;
+ {
+ winWindowPriv(pWin);
+ if (pWinPriv->OpenGlWindow)
+ {
+ ErrorF("Not Setting pixel format to %d on hdc %x for window %x (not allowed on windows)\n",winConfig->pixelFormatIndex,hdc,pWinPriv->hWnd);
+ return TRUE; /* Pixel format is already set on this window so it cannot be changed anymore */
}
-
- return TRUE;
}
+ GLWIN_DEBUG_MSG("glxWinSetPixelFormat: pixelFormatIndex %d", winConfig->pixelFormatIndex);
/*
+ Normally, we can just use the the pixelFormatIndex corresponding
+ to the fbconfig which has been specified by the client
+ */
+ /*
However, in certain special cases this pixel format will be incompatible with the
use we are going to put it to, so we need to re-evaluate the pixel format to use:
@@ -1092,8 +1205,10 @@ glxWinSetPixelFormat(__GLXWinContext * gc, HDC hdc, int bppOverride,
return FALSE;
}
+#ifdef _DEBUG
if (glxWinDebugSettings.dumpPFD)
pfdOut(&pfd);
+#endif
if (bppOverride) {
GLWIN_DEBUG_MSG("glxWinSetPixelFormat: Forcing bpp from %d to %d\n",
@@ -1113,6 +1228,7 @@ glxWinSetPixelFormat(__GLXWinContext * gc, HDC hdc, int bppOverride,
("ChoosePixelFormat: chose pixelFormatIndex %d (rather than %d as originally planned)\n",
pixelFormat, winConfig->pixelFormatIndex);
+ ErrorF("Setting pixel format 2 to %d on hdc %x\n",pixelFormat,hdc);
if (!SetPixelFormat(hdc, pixelFormat, &pfd)) {
ErrorF("SetPixelFormat error: %s\n", glxWinErrorMessage());
return FALSE;
@@ -1122,31 +1238,58 @@ glxWinSetPixelFormat(__GLXWinContext * gc, HDC hdc, int bppOverride,
int pixelFormat =
fbConfigToPixelFormatIndex(hdc, gc->base.config,
drawableTypeOverride, winScreen);
- if (pixelFormat == 0) {
- ErrorF("wglChoosePixelFormat error: %s\n", glxWinErrorMessage());
- return FALSE;
- }
-
- GLWIN_DEBUG_MSG("wglChoosePixelFormat: chose pixelFormatIndex %d",
- pixelFormat);
- ErrorF
- ("wglChoosePixelFormat: chose pixelFormatIndex %d (rather than %d as originally planned)\n",
- pixelFormat, winConfig->pixelFormatIndex);
+ if (pixelFormat != 0) {
+ GLWIN_DEBUG_MSG("wglChoosePixelFormat: chose pixelFormatIndex %d", pixelFormat);
- if (!SetPixelFormat(hdc, pixelFormat, NULL)) {
- ErrorF("SetPixelFormat error: %s\n", glxWinErrorMessage());
- return FALSE;
+ ErrorF("Setting pixel format 3 to %d on hdc %x\n",pixelFormat,hdc);
+ if (!SetPixelFormat(hdc, pixelFormat, NULL)) {
+ ErrorF("SetPixelFormat error: %s\n", glxWinErrorMessage());
+ return FALSE;
+ }
+ return TRUE;
+ }
+ else {
+ /* There was an error choose some default for the moment */
+ PIXELFORMATDESCRIPTOR pfd = {
+ sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd
+ 1, // version number
+ PFD_DRAW_TO_WINDOW | // support window
+ PFD_SUPPORT_OPENGL | // support OpenGL
+ PFD_DOUBLEBUFFER, // double buffered
+ PFD_TYPE_RGBA, // RGBA type
+ 24, // 24-bit color depth
+ 0, 0, 0, 0, 0, 0, // color bits ignored
+ 0, // no alpha buffer
+ 0, // shift bit ignored
+ 0, // no accumulation buffer
+ 0, 0, 0, 0, // accum bits ignored
+ 32, // 32-bit z-buffer
+ 0, // no stencil buffer
+ 0, // no auxiliary buffer
+ PFD_MAIN_PLANE, // main layer
+ 0, // reserved
+ 0, 0, 0 // layer masks ignored
+ };
+ int iPixelFormat;
+
+ // get the best available match of pixel format for the device context
+ iPixelFormat = ChoosePixelFormat(hdc, &pfd);
+
+ ErrorF("Setting pixel format 4 to %d on hdc %x\n",iPixelFormat,hdc);
+ // make that the pixel format of the device context
+ if (!SetPixelFormat(hdc, iPixelFormat, &pfd)) {
+ ErrorF("SetPixelFormat error: %s\n", glxWinErrorMessage());
+ return FALSE;
+ }
}
}
-
return TRUE;
}
static HDC
-glxWinMakeDC(__GLXWinContext * gc, __GLXWinDrawable * draw, HDC * hdc,
- HWND * hwnd)
+glxWinMakeDC(__GLXWinContext *gc, __GLXWinDrawable *draw, HWND *hwnd)
{
- *hdc = NULL;
+ HDC hdc = NULL;
*hwnd = NULL;
if (draw == NULL) {
@@ -1173,45 +1316,52 @@ glxWinMakeDC(__GLXWinContext * gc, __GLXWinDrawable * draw, HDC * hdc,
return NULL;
}
- *hdc = GetDC(*hwnd);
-
- if (*hdc == NULL)
- ErrorF("GetDC error: %s\n", glxWinErrorMessage());
+ if (!gc->hDC) {
+ winWindowPriv(pWin);
- /* Check if the hwnd has changed... */
- if (*hwnd != gc->hwnd) {
- if (glxWinDebugSettings.enableTrace)
- GLWIN_DEBUG_HWND(*hwnd);
+ hdc = GetDC(*hwnd);
- GLWIN_TRACE_MSG
- ("for context %p (native ctx %p), hWnd changed from %p to %p",
- gc, gc->ctx, gc->hwnd, *hwnd);
- gc->hwnd = *hwnd;
+ if (hdc == NULL)
+ ErrorF("GetDC error: %s: hwnd %x, gc %p, gc->ctx %p ,gc->hwnd %p\n", glxWinErrorMessage(), *hwnd, gc, gc->ctx, gc->hwnd);
- /* We must select a pixelformat, but SetPixelFormat can only be called once for a window... */
- if (!glxWinSetPixelFormat(gc, *hdc, 0, GLX_WINDOW_BIT)) {
- ErrorF("glxWinSetPixelFormat error: %s\n",
- glxWinErrorMessage());
- ReleaseDC(*hwnd, *hdc);
- *hdc = NULL;
- return NULL;
- }
+ glxWinSetPixelFormat(gc, hdc, 0, GLX_WINDOW_BIT);
+ pWinPriv->OpenGlWindow=TRUE; /* Identify it as an opengl window, also used to check if the pixel format is already set */
+ gc->ctx = wglCreateContext(hdc);
}
+
+#ifdef _DEBUG
+ if (glxWinDebugSettings.enableTrace)
+ GLWIN_DEBUG_HWND(*hwnd);
+
+ GLWIN_TRACE_MSG
+ ("for context %p (native ctx %p), hWnd changed from %p to %p",
+ gc, gc->ctx, gc->hwnd, *hwnd);
+#endif
+ if (gc->hwnd!=*hwnd)
+ ErrorF("Window changed handle from %x to %x\n", gc->hwnd, *hwnd);
+
+ gc->hwnd = *hwnd;
}
break;
case GLX_DRAWABLE_PBUFFER:
{
- *hdc = wglGetPbufferDCARBWrapper(draw->hPbuffer);
+ hdc = wglGetPbufferDCARBWrapper(draw->hPbuffer);
- if (*hdc == NULL)
+ if (hdc == NULL)
ErrorF("GetDC (pbuffer) error: %s\n", glxWinErrorMessage());
+
+ gc->ctx = wglCreateContext(hdc);
}
break;
case GLX_DRAWABLE_PIXMAP:
{
- *hdc = draw->dibDC;
+ hdc = draw->dibDC;
+#ifdef _DEBUG
+ if (glxWinDebugSettings.dumpDC)
+ GLWIN_DEBUG_MSG("Got PIXMAP HDC %p for window %p", hdc, *hwnd);
+#endif
}
break;
@@ -1222,10 +1372,12 @@ glxWinMakeDC(__GLXWinContext * gc, __GLXWinDrawable * draw, HDC * hdc,
}
}
+#ifdef _DEBUG
if (glxWinDebugSettings.dumpDC)
- GLWIN_DEBUG_MSG("Got HDC %p", *hdc);
+ GLWIN_HDC_DEBUG_MSG("Got HDC %p for window %p", hdc, *hwnd);
+#endif
- return *hdc;
+ return hdc;
}
static void
@@ -1268,7 +1420,6 @@ glxWinReleaseDC(HWND hwnd, HDC hdc, __GLXWinDrawable * draw)
static void
glxWinDeferredCreateContext(__GLXWinContext * gc, __GLXWinDrawable * draw)
{
- HDC dc;
HWND hwnd;
GLWIN_DEBUG_MSG
@@ -1301,13 +1452,16 @@ glxWinDeferredCreateContext(__GLXWinContext * gc, __GLXWinDrawable * draw)
case GLX_DRAWABLE_PBUFFER:
{
+ WindowPtr pWin = (WindowPtr) draw->base.pDraw;
if (draw->hPbuffer == NULL) {
__GLXscreen *screen;
glxWinScreen *winScreen;
int pixelFormat;
// XXX: which DC are supposed to use???
- HDC screenDC = GetDC(NULL);
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+ winPrivScreenPtr pWinScreen = winGetScreenPriv(pScreen);
+ HDC screenDC=pWinScreen->hdcScreen;
if (!(gc->base.config->drawableType & GLX_PBUFFER_BIT)) {
ErrorF
@@ -1319,7 +1473,7 @@ glxWinDeferredCreateContext(__GLXWinContext * gc, __GLXWinDrawable * draw)
pixelFormat =
fbConfigToPixelFormatIndex(screenDC, gc->base.config,
- GLX_DRAWABLE_PBUFFER, winScreen);
+ GLX_PBUFFER_BIT, winScreen);
if (pixelFormat == 0) {
ErrorF("wglChoosePixelFormat error: %s\n",
glxWinErrorMessage());
@@ -1330,7 +1484,6 @@ glxWinDeferredCreateContext(__GLXWinContext * gc, __GLXWinDrawable * draw)
wglCreatePbufferARBWrapper(screenDC, pixelFormat,
draw->base.pDraw->width,
draw->base.pDraw->height, NULL);
- ReleaseDC(NULL, screenDC);
if (draw->hPbuffer == NULL) {
ErrorF("wglCreatePbufferARBWrapper error: %s\n",
@@ -1385,6 +1538,8 @@ glxWinDeferredCreateContext(__GLXWinContext * gc, __GLXWinDrawable * draw)
draw->pOldBits = ((PixmapPtr) draw->base.pDraw)->devPrivate.ptr;
((PixmapPtr) draw->base.pDraw)->devPrivate.ptr = pBits;
+ ((PixmapPtr)draw->base.pDraw)->refcnt++; /* Increment reference count to be sure it is not freed before the glxdrawable is destroyed */
+
// Select the DIB into the DC
draw->hOldDIB = SelectObject(draw->dibDC, draw->hDIB);
if (!draw->hOldDIB) {
@@ -1412,11 +1567,12 @@ glxWinDeferredCreateContext(__GLXWinContext * gc, __GLXWinDrawable * draw)
}
}
- dc = glxWinMakeDC(gc, draw, &dc, &hwnd);
- gc->ctx = wglCreateContext(dc);
- glxWinReleaseDC(hwnd, dc, draw);
+ gc->hDC = glxWinMakeDC(gc, draw, &hwnd);
if (gc->ctx == NULL) {
+ glxWinReleaseDC(hwnd, gc->hDC, draw);
+ gc->hDC=0;
+
ErrorF("wglCreateContext error: %s\n", glxWinErrorMessage());
return;
}
@@ -1426,7 +1582,7 @@ glxWinDeferredCreateContext(__GLXWinContext * gc, __GLXWinDrawable * draw)
gc, gc->ctx, draw);
// if the native context was created successfully, shareLists if needed
- if (gc->ctx && gc->shareContext) {
+ if (gc->ctx && gc->shareContext && gc->shareContext->ctx) {
GLWIN_DEBUG_MSG
("glxWinCreateContextReal shareLists with context %p (native ctx %p)",
gc->shareContext, gc->shareContext->ctx);
@@ -1448,33 +1604,25 @@ glxWinContextMakeCurrent(__GLXcontext * base)
{
__GLXWinContext *gc = (__GLXWinContext *) base;
BOOL ret;
- HDC drawDC;
- HDC readDC = NULL;
- __GLXdrawable *drawPriv;
- __GLXdrawable *readPriv = NULL;
- HWND hDrawWnd;
- HWND hReadWnd;
+ __GLXWinDrawable *drawPriv;
- GLWIN_TRACE_MSG("glxWinContextMakeCurrent context %p (native ctx %p)", gc,
- gc->ctx);
+#ifdef _DEBUG
+ GLWIN_TRACE_MSG("glxWinContextMakeCurrent context %p (native ctx %p)", gc, gc->ctx);
+ glWinCallDelta();
+#endif
/* Keep a note of the last active context in the drawable */
- drawPriv = gc->base.drawPriv;
- ((__GLXWinDrawable *) drawPriv)->drawContext = gc;
+ drawPriv = (__GLXWinDrawable *)gc->base.drawPriv;
+ drawPriv->drawContext = gc;
if (gc->ctx == NULL) {
- glxWinDeferredCreateContext(gc, (__GLXWinDrawable *) drawPriv);
+ glxWinDeferredCreateContext(gc, drawPriv);
}
+ _glapi_set_dispatch(gc->Dispatch);
if (gc->ctx == NULL) {
ErrorF("glxWinContextMakeCurrent: Native context is NULL\n");
- return FALSE;
- }
-
- drawDC =
- glxWinMakeDC(gc, (__GLXWinDrawable *) drawPriv, &drawDC, &hDrawWnd);
- if (drawDC == NULL) {
- ErrorF("glxWinMakeDC failed for drawDC\n");
+ drawPriv->drawContext = NULL; /* clear last active context because we return error */
return FALSE;
}
@@ -1485,16 +1633,14 @@ glxWinContextMakeCurrent(__GLXcontext * base)
use the wglMakeContextCurrent extension to make the context current drawing
to one DC and reading from the other
*/
- readPriv = gc->base.readPriv;
- readDC =
- glxWinMakeDC(gc, (__GLXWinDrawable *) readPriv, &readDC, &hReadWnd);
- if (readDC == NULL) {
+ gc->hreadDC = glxWinMakeDC(gc, (__GLXWinDrawable *)gc->base.readPriv, &gc->hreadwnd);
+ if (gc->hreadDC == NULL) {
ErrorF("glxWinMakeDC failed for readDC\n");
- glxWinReleaseDC(hDrawWnd, drawDC, (__GLXWinDrawable *) drawPriv);
+ drawPriv->drawContext = NULL; /* clear last active context because we return error */
return FALSE;
}
- ret = wglMakeContextCurrentARBWrapper(drawDC, readDC, gc->ctx);
+ ret = wglMakeContextCurrentARBWrapper(gc->hDC, gc->hreadDC, gc->ctx);
if (!ret) {
ErrorF("wglMakeContextCurrentARBWrapper error: %s\n",
glxWinErrorMessage());
@@ -1502,18 +1648,25 @@ glxWinContextMakeCurrent(__GLXcontext * base)
}
else {
/* Otherwise, just use wglMakeCurrent */
- ret = wglMakeCurrent(drawDC, gc->ctx);
+ if (!gc->hDC) {
+ /* It probably has been release by loseCurrent, so create it again */
+ gc->hDC = glxWinMakeDC(gc, drawPriv, &gc->hwnd);
+ }
+ ret = wglMakeCurrent(gc->hDC, gc->ctx);
if (!ret) {
- ErrorF("wglMakeCurrent error: %s\n", glxWinErrorMessage());
+ DWORD ErrorCode=GetLastError();
+ ErrorF("wglMakeCurrent error: %x dc %p ctx %p\n", ErrorCode,gc->hDC,gc->ctx);
+ if (!ErrorCode) {
+ ErrorF("Error code was 0, assuming no error.\n");
+ ret=TRUE;
+ }
}
}
// apparently make current could fail if the context is current in a different thread,
// but that shouldn't be able to happen in the current server...
-
- glxWinReleaseDC(hDrawWnd, drawDC, (__GLXWinDrawable *) drawPriv);
- if (readDC)
- glxWinReleaseDC(hReadWnd, readDC, (__GLXWinDrawable *) readPriv);
+ if (!ret)
+ drawPriv->drawContext = NULL; /* clear last active context because we return error */
return ret;
}
@@ -1521,24 +1674,34 @@ glxWinContextMakeCurrent(__GLXcontext * base)
static int
glxWinContextLoseCurrent(__GLXcontext * base)
{
- BOOL ret;
+ BOOL ret=TRUE;
__GLXWinContext *gc = (__GLXWinContext *) base;
+ __GLXWinDrawable *drawPriv = (__GLXWinDrawable *)gc->base.drawPriv;
- GLWIN_TRACE_MSG("glxWinContextLoseCurrent context %p (native ctx %p)", gc,
- gc->ctx);
+#ifdef _DEBUG
+ GLWIN_TRACE_MSG("glxWinContextLoseCurrent context %p (native ctx %p)", gc, gc->ctx);
+ glWinCallDelta();
+#endif
- /*
- An error seems to be reported if we try to make no context current
- if there is already no current context, so avoid doing that...
- */
- if (wglGetCurrentContext() != NULL) {
- ret = wglMakeCurrent(NULL, NULL); /* We don't need a DC when setting no current context */
- if (!ret)
- ErrorF("glxWinContextLoseCurrent error: %s\n",
- glxWinErrorMessage());
+ /* Clear the last active context in the drawable */
+ if (drawPriv) drawPriv->drawContext = NULL;
+
+ if (wglGetCurrentContext()==gc->ctx)
+ {
+ /* Only do this when we are sure we are currently the active, otherwise we are deactivating the wrong one (this is happening!!!) */
+ ret = wglMakeCurrent(NULL, NULL);
+ if (!ret)
+ ErrorF("glxWinContextLoseCurrent error: %s\n", glxWinErrorMessage());
+ }
+ else
+ {
+ return FALSE;
}
- return TRUE;
+ base->currentClient=NULL; /* It looks like glx is not doing this */
+ _glapi_set_dispatch(NULL);
+
+ return ret;
}
static int
@@ -1565,27 +1728,35 @@ glxWinContextDestroy(__GLXcontext * base)
__GLXWinContext *gc = (__GLXWinContext *) base;
if (gc != NULL) {
+ __GLXWinDrawable *drawPriv = (__GLXWinDrawable *)gc->base.drawPriv;
+
GLWIN_DEBUG_MSG("GLXcontext %p destroyed (native ctx %p)", base,
gc->ctx);
if (gc->ctx) {
+ BOOL ret;
/* It's bad style to delete the context while it's still current */
if (wglGetCurrentContext() == gc->ctx) {
wglMakeCurrent(NULL, NULL);
}
- {
- BOOL ret = wglDeleteContext(gc->ctx);
-
- if (!ret)
- ErrorF("wglDeleteContext error: %s\n",
- glxWinErrorMessage());
- }
+ ret = wglDeleteContext(gc->ctx);
+ if (!ret)
+ ErrorF("wglDeleteContext error: %s\n", glxWinErrorMessage());
+ if (drawPriv && gc->hDC) glxWinReleaseDC(gc->hwnd, gc->hDC, drawPriv);
+ if (gc->base.readPriv && gc->hreadDC) glxWinReleaseDC(gc->hreadwnd, gc->hreadDC, (__GLXWinDrawable *)gc->base.readPriv);
+ gc->hDC=NULL;
+ gc->hreadDC=NULL;
gc->ctx = NULL;
}
+ /* Clear the last active context in the drawable */
+ if (drawPriv) drawPriv->drawContext = NULL;
+
+ free(gc->Dispatch);
free(gc);
+ _glapi_set_dispatch(NULL);
}
}
@@ -1617,9 +1788,14 @@ glxWinCreateContext(__GLXscreen * screen,
context->base.pGlxScreen = screen;
// actual native GL context creation is deferred until attach()
- context->ctx = NULL;
+ //context->ctx = NULL; already done with memset
context->shareContext = shareContext;
+ context->Dispatch=calloc(sizeof(void*), (sizeof(struct _glapi_table) / sizeof(void *) + MAX_EXTENSION_FUNCS));
+ _glapi_set_dispatch(context->Dispatch);
+
+ glWinSetupDispatchTable();
+
GLWIN_DEBUG_MSG("GLXcontext %p created", context);
return &(context->base);
@@ -1869,8 +2045,10 @@ glxWinCreateConfigs(HDC hdc, glxWinScreen * screen)
break;
}
+#ifdef _DEBUG
if (glxWinDebugSettings.dumpPFD)
pfdOut(&pfd);
+#endif
if (!(pfd.dwFlags & (PFD_DRAW_TO_WINDOW | PFD_DRAW_TO_BITMAP)) ||
!(pfd.dwFlags & PFD_SUPPORT_OPENGL)) {
@@ -2155,7 +2333,10 @@ glxWinCreateConfigsExt(HDC hdc, glxWinScreen * screen)
/* fill in configs */
for (i = 0; i < numConfigs; i++) {
- int values[num_attrs];
+ int sizevalues=num_attrs*sizeof(int);
+ int *values=(int*)_alloca(sizevalues);
+
+ memset(values,0,sizevalues);
c = &(result[i]);
c->base.next = NULL;
diff --git a/xorg-server/hw/xwin/glx/makefile b/xorg-server/hw/xwin/glx/makefile
new file mode 100644
index 000000000..3b0413312
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/makefile
@@ -0,0 +1,43 @@
+LIBRARY=libwinglx
+
+INCLUDES += $(OBJDIR) ..\..\..\glx .. ..\..\..
+DEFINES += GLAPIENTRY=__stdcall _GLAPI_NO_EXPORTS
+
+DEFINES += XWIN_CLIPBOARD
+DEFINES += XWIN_MULTIWINDOW
+DEFINES += XWIN_GLX_WINDOWS
+DEFINES += XWIN_RANDR
+DEFINES += RELOCATE_PROJECTROOT
+INCLUDES += ..\..\..\miext\rootless
+DEFINES += HAVE_XWIN_CONFIG_H PTW32_STATIC_LIB
+
+CSRCS = \
+ winpriv.c \
+ glwrap.c \
+ indirect.c \
+ wgl_ext_api.c
+
+.PHONY: getspecfiles
+
+getspecfiles:
+ del -e wglext.h
+ wget http://www.opengl.org/registry/api/GL/wglext.h
+ del -e glxext.h
+ wget http://www.opengl.org/registry/api/GL/glxext.h
+ del -e glext.h
+ wget http://www.opengl.org/registry/api/GL/glext.h
+ del -e genheaders.py
+ wget --no-check-certificate https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/genheaders.py
+ del -e reg.py
+ wget --no-check-certificate https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/reg.py
+ del -e gl.xml
+ wget --no-check-certificate https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/gl.xml
+ del -e wgl.xml
+ wget --no-check-certificate https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/wgl.xml
+
+$(OBJDIR)\generated_gl_wrappers.c: gen_gl_wrappers.py gl.xml gen_gl_wrappers.py reg.py
+ $(PYTHON3) gen_gl_wrappers.py -outfile $@ -staticwrappers -dispatchheader ../../../glx/dispatch.h
+
+$(OBJDIR)\generated_wgl_wrappers.c: gen_gl_wrappers.py wgl.xml gen_gl_wrappers.py reg.py
+ $(PYTHON3) gen_gl_wrappers.py -outfile $@ -registry wgl.xml -prefix wgl -preresolve
+
diff --git a/xorg-server/hw/xwin/glx/reg.py b/xorg-server/hw/xwin/glx/reg.py
new file mode 100644
index 000000000..9248b6624
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/reg.py
@@ -0,0 +1,1162 @@
+#!/usr/bin/python3 -i
+#
+# Copyright (c) 2013-2014 The Khronos Group Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# 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 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 io,os,re,string,sys
+from lxml import etree
+
+def write( *args, **kwargs ):
+ file = kwargs.pop('file',sys.stdout)
+ end = kwargs.pop( 'end','\n')
+ file.write( ' '.join([str(arg) for arg in args]) )
+ file.write( end )
+
+# noneStr - returns string argument, or "" if argument is None.
+# Used in converting lxml Elements into text.
+# str - string to convert
+def noneStr(str):
+ if (str):
+ return str
+ else:
+ return ""
+
+# matchAPIProfile - returns whether an API and profile
+# being generated matches an element's profile
+# api - string naming the API to match
+# profile - string naming the profile to match
+# elem - Element which (may) have 'api' and 'profile'
+# attributes to match to.
+# If a tag is not present in the Element, the corresponding API
+# or profile always matches.
+# Otherwise, the tag must exactly match the API or profile.
+# Thus, if 'profile' = core:
+# <remove> with no attribute will match
+# <remove profile='core'> will match
+# <remove profile='compatibility'> will not match
+# Possible match conditions:
+# Requested Element
+# Profile Profile
+# --------- --------
+# None None Always matches
+# 'string' None Always matches
+# None 'string' Does not match. Can't generate multiple APIs
+# or profiles, so if an API/profile constraint
+# is present, it must be asked for explicitly.
+# 'string' 'string' Strings must match
+#
+# ** In the future, we will allow regexes for the attributes,
+# not just strings, so that api="^(gl|gles2)" will match. Even
+# this isn't really quite enough, we might prefer something
+# like "gl(core)|gles1(common-lite)".
+def matchAPIProfile(api, profile, elem):
+ """Match a requested API & profile name to a api & profile attributes of an Element"""
+ match = True
+ # Match 'api', if present
+ if ('api' in elem.attrib):
+ if (api == None):
+ raise UserWarning("No API requested, but 'api' attribute is present with value '" +
+ elem.get('api') + "'")
+ elif (api != elem.get('api')):
+ # Requested API doesn't match attribute
+ return False
+ if ('profile' in elem.attrib):
+ if (profile == None):
+ raise UserWarning("No profile requested, but 'profile' attribute is present with value '" +
+ elem.get('profile') + "'")
+ elif (profile != elem.get('profile')):
+ # Requested profile doesn't match attribute
+ return False
+ return True
+
+# BaseInfo - base class for information about a registry feature
+# (type/group/enum/command/API/extension).
+# required - should this feature be defined during header generation
+# (has it been removed by a profile or version)?
+# declared - has this feature been defined already?
+# elem - lxml.etree Element for this feature
+# resetState() - reset required/declared to initial values. Used
+# prior to generating a new API interface.
+class BaseInfo:
+ """Represents the state of a registry feature, used during API generation"""
+ def __init__(self, elem):
+ self.required = False
+ self.declared = False
+ self.elem = elem
+ def resetState(self):
+ self.required = False
+ self.declared = False
+
+# TypeInfo - registry information about a type. No additional state
+# beyond BaseInfo is required.
+class TypeInfo(BaseInfo):
+ """Represents the state of a registry type"""
+ def __init__(self, elem):
+ BaseInfo.__init__(self, elem)
+
+# GroupInfo - registry information about a group of related enums.
+# enums - dictionary of enum names which are in the group
+class GroupInfo(BaseInfo):
+ """Represents the state of a registry enumerant group"""
+ def __init__(self, elem):
+ BaseInfo.__init__(self, elem)
+ self.enums = {}
+
+# EnumInfo - registry information about an enum
+# type - numeric type of the value of the <enum> tag
+# ( '' for GLint, 'u' for GLuint, 'ull' for GLuint64 )
+class EnumInfo(BaseInfo):
+ """Represents the state of a registry enum"""
+ def __init__(self, elem):
+ BaseInfo.__init__(self, elem)
+ self.type = elem.get('type')
+ if (self.type == None):
+ self.type = ''
+
+# CmdInfo - registry information about a command
+# glxtype - type of GLX protocol { None, 'render', 'single', 'vendor' }
+# glxopcode - GLX protocol opcode { None, number }
+# glxequiv - equivalent command at GLX dispatch level { None, string }
+# vecequiv - equivalent vector form of a command taking multiple scalar args
+# { None, string }
+class CmdInfo(BaseInfo):
+ """Represents the state of a registry command"""
+ def __init__(self, elem):
+ BaseInfo.__init__(self, elem)
+ self.glxtype = None
+ self.glxopcode = None
+ self.glxequiv = None
+ self.vecequiv = None
+
+# FeatureInfo - registry information about an API <feature>
+# or <extension>
+# name - feature name string (e.g. 'GL_ARB_multitexture')
+# number - feature version number (e.g. 1.2). <extension>
+# features are unversioned and assigned version number 0.
+# category - category, e.g. VERSION or ARB/KHR/OES/ETC/vendor
+# emit - has this feature been defined already?
+class FeatureInfo(BaseInfo):
+ """Represents the state of an API feature (version/extension)"""
+ def __init__(self, elem):
+ BaseInfo.__init__(self, elem)
+ self.name = elem.get('name')
+ # Determine element category (vendor). Only works
+ # for <extension> elements.
+ if (elem.tag == 'feature'):
+ self.category = 'VERSION'
+ self.number = elem.get('number')
+ else:
+ self.category = self.name.split('_', 2)[1]
+ self.number = "0"
+ self.emit = False
+
+# Primary sort key for regSortFeatures.
+# Sorts by category of the feature name string:
+# Core API features (those defined with a <feature> tag)
+# ARB/KHR/OES (Khronos extensions)
+# other (EXT/vendor extensions)
+def regSortCategoryKey(feature):
+ if (feature.elem.tag == 'feature'):
+ return 0
+ elif (feature.category == 'ARB' or
+ feature.category == 'KHR' or
+ feature.category == 'OES'):
+ return 1
+ else:
+ return 2
+
+# Secondary sort key for regSortFeatures.
+# Sorts by extension name.
+def regSortNameKey(feature):
+ return feature.name
+
+# Tertiary sort key for regSortFeatures.
+# Sorts by feature version number. <extension>
+# elements all have version number "0"
+def regSortNumberKey(feature):
+ return feature.number
+
+# regSortFeatures - default sort procedure for features.
+# Sorts by primary key of feature category,
+# then by feature name within the category,
+# then by version number
+def regSortFeatures(featureList):
+ featureList.sort(key = regSortNumberKey)
+ featureList.sort(key = regSortNameKey)
+ featureList.sort(key = regSortCategoryKey)
+
+# GeneratorOptions - base class for options used during header production
+# These options are target language independent, and used by
+# Registry.apiGen() and by base OutputGenerator objects.
+#
+# Members
+# filename - name of file to generate, or None to write to stdout.
+# apiname - string matching <api> 'apiname' attribute, e.g. 'gl'.
+# profile - string specifying API profile , e.g. 'core', or None.
+# versions - regex matching API versions to process interfaces for.
+# Normally '.*' or '[0-9]\.[0-9]' to match all defined versions.
+# emitversions - regex matching API versions to actually emit
+# interfaces for (though all requested versions are considered
+# when deciding which interfaces to generate). For GL 4.3 glext.h,
+# this might be '1\.[2-5]|[2-4]\.[0-9]'.
+# defaultExtensions - If not None, a string which must in its
+# entirety match the pattern in the "supported" attribute of
+# the <extension>. Defaults to None. Usually the same as apiname.
+# addExtensions - regex matching names of additional extensions
+# to include. Defaults to None.
+# removeExtensions - regex matching names of extensions to
+# remove (after defaultExtensions and addExtensions). Defaults
+# to None.
+# sortProcedure - takes a list of FeatureInfo objects and sorts
+# them in place to a preferred order in the generated output.
+# Default is core API versions, ARB/KHR/OES extensions, all
+# other extensions, alphabetically within each group.
+# The regex patterns can be None or empty, in which case they match
+# nothing.
+class GeneratorOptions:
+ """Represents options during header production from an API registry"""
+ def __init__(self,
+ filename = None,
+ apiname = None,
+ profile = None,
+ versions = '.*',
+ emitversions = '.*',
+ defaultExtensions = None,
+ addExtensions = None,
+ removeExtensions = None,
+ sortProcedure = regSortFeatures):
+ self.filename = filename
+ self.apiname = apiname
+ self.profile = profile
+ self.versions = self.emptyRegex(versions)
+ self.emitversions = self.emptyRegex(emitversions)
+ self.defaultExtensions = defaultExtensions
+ self.addExtensions = self.emptyRegex(addExtensions)
+ self.removeExtensions = self.emptyRegex(removeExtensions)
+ self.sortProcedure = sortProcedure
+ #
+ # Substitute a regular expression which matches no version
+ # or extension names for None or the empty string.
+ def emptyRegex(self,pat):
+ if (pat == None or pat == ''):
+ return '_nomatch_^'
+ else:
+ return pat
+
+# CGeneratorOptions - subclass of GeneratorOptions.
+#
+# Adds options used by COutputGenerator objects during C language header
+# generation.
+#
+# Additional members
+# prefixText - list of strings to prefix generated header with
+# (usually a copyright statement + calling convention macros).
+# protectFile - True if multiple inclusion protection should be
+# generated (based on the filename) around the entire header.
+# protectFeature - True if #ifndef..#endif protection should be
+# generated around a feature interface in the header file.
+# genFuncPointers - True if function pointer typedefs should be
+# generated
+# protectProto - True if #ifdef..#endif protection should be
+# generated around prototype declarations
+# protectProtoStr - #ifdef symbol to use around prototype
+# declarations, if protected
+# apicall - string to use for the function declaration prefix,
+# such as APICALL on Windows.
+# apientry - string to use for the calling convention macro,
+# in typedefs, such as APIENTRY.
+# apientryp - string to use for the calling convention macro
+# in function pointer typedefs, such as APIENTRYP.
+class CGeneratorOptions(GeneratorOptions):
+ """Represents options during C header production from an API registry"""
+ def __init__(self,
+ filename = None,
+ apiname = None,
+ profile = None,
+ versions = '.*',
+ emitversions = '.*',
+ defaultExtensions = None,
+ addExtensions = None,
+ removeExtensions = None,
+ sortProcedure = regSortFeatures,
+ prefixText = "",
+ genFuncPointers = True,
+ protectFile = True,
+ protectFeature = True,
+ protectProto = True,
+ protectProtoStr = True,
+ apicall = '',
+ apientry = '',
+ apientryp = ''):
+ GeneratorOptions.__init__(self, filename, apiname, profile,
+ versions, emitversions, defaultExtensions,
+ addExtensions, removeExtensions, sortProcedure)
+ self.prefixText = prefixText
+ self.genFuncPointers = genFuncPointers
+ self.protectFile = protectFile
+ self.protectFeature = protectFeature
+ self.protectProto = protectProto
+ self.protectProtoStr = protectProtoStr
+ self.apicall = apicall
+ self.apientry = apientry
+ self.apientryp = apientryp
+
+# OutputGenerator - base class for generating API interfaces.
+# Manages basic logic, logging, and output file control
+# Derived classes actually generate formatted output.
+#
+# ---- methods ----
+# OutputGenerator(errFile, warnFile, diagFile)
+# errFile, warnFile, diagFile - file handles to write errors,
+# warnings, diagnostics to. May be None to not write.
+# logMsg(level, *args) - log messages of different categories
+# level - 'error', 'warn', or 'diag'. 'error' will also
+# raise a UserWarning exception
+# *args - print()-style arguments
+# beginFile(genOpts) - start a new interface file
+# genOpts - GeneratorOptions controlling what's generated and how
+# endFile() - finish an interface file, closing it when done
+# beginFeature(interface, emit) - write interface for a feature
+# and tag generated features as having been done.
+# interface - element for the <version> / <extension> to generate
+# emit - actually write to the header only when True
+# endFeature() - finish an interface.
+# genType(typeinfo,name) - generate interface for a type
+# typeinfo - TypeInfo for a type
+# genEnum(enuminfo, name) - generate interface for an enum
+# enuminfo - EnumInfo for an enum
+# name - enum name
+# genCmd(cmdinfo) - generate interface for a command
+# cmdinfo - CmdInfo for a command
+class OutputGenerator:
+ """Generate specified API interfaces in a specific style, such as a C header"""
+ def __init__(self,
+ errFile = sys.stderr,
+ warnFile = sys.stderr,
+ diagFile = sys.stdout):
+ self.outFile = None
+ self.errFile = errFile
+ self.warnFile = warnFile
+ self.diagFile = diagFile
+ # Internal state
+ self.featureName = None
+ self.genOpts = None
+ #
+ # logMsg - write a message of different categories to different
+ # destinations.
+ # level -
+ # 'diag' (diagnostic, voluminous)
+ # 'warn' (warning)
+ # 'error' (fatal error - raises exception after logging)
+ # *args - print()-style arguments to direct to corresponding log
+ def logMsg(self, level, *args):
+ """Log a message at the given level. Can be ignored or log to a file"""
+ if (level == 'error'):
+ strfile = io.StringIO()
+ write('ERROR:', *args, file=strfile)
+ if (self.errFile != None):
+ write(strfile.getvalue(), file=self.errFile)
+ raise UserWarning(strfile.getvalue())
+ elif (level == 'warn'):
+ if (self.warnFile != None):
+ write('WARNING:', *args, file=self.warnFile)
+ elif (level == 'diag'):
+ if (self.diagFile != None):
+ write('DIAG:', *args, file=self.diagFile)
+ else:
+ raise UserWarning(
+ '*** FATAL ERROR in Generator.logMsg: unknown level:' + level)
+ #
+ def beginFile(self, genOpts):
+ self.genOpts = genOpts
+ #
+ # Open specified output file. Not done in constructor since a
+ # Generator can be used without writing to a file.
+ if (self.genOpts.filename != None):
+ self.outFile = open(self.genOpts.filename, 'w')
+ else:
+ self.outFile = sys.stdout
+ def endFile(self):
+ self.errFile and self.errFile.flush()
+ self.warnFile and self.warnFile.flush()
+ self.diagFile and self.diagFile.flush()
+ self.outFile.flush()
+ if (self.outFile != sys.stdout and self.outFile != sys.stderr):
+ self.outFile.close()
+ self.genOpts = None
+ #
+ def beginFeature(self, interface, emit):
+ self.emit = emit
+ self.featureName = interface.get('name')
+ # If there's an additional 'protect' attribute in the feature, save it
+ self.featureExtraProtect = interface.get('protect')
+ def endFeature(self):
+ # Derived classes responsible for emitting feature
+ self.featureName = None
+ self.featureExtraProtect = None
+ #
+ # Type generation
+ def genType(self, typeinfo, name):
+ if (self.featureName == None):
+ raise UserWarning('Attempt to generate type', name,
+ 'when not in feature')
+ #
+ # Enumerant generation
+ def genEnum(self, enuminfo, name):
+ if (self.featureName == None):
+ raise UserWarning('Attempt to generate enum', name,
+ 'when not in feature')
+ #
+ # Command generation
+ def genCmd(self, cmd, name):
+ if (self.featureName == None):
+ raise UserWarning('Attempt to generate command', name,
+ 'when not in feature')
+
+# COutputGenerator - subclass of OutputGenerator.
+# Generates C-language API interfaces.
+#
+# ---- methods ----
+# COutputGenerator(errFile, warnFile, diagFile) - args as for
+# OutputGenerator. Defines additional internal state.
+# makeCDecls(cmd) - return C prototype and function pointer typedef for a
+# <command> Element, as a list of two strings
+# cmd - Element for the <command>
+# newline() - print a newline to the output file (utility function)
+# ---- methods overriding base class ----
+# beginFile(genOpts)
+# endFile()
+# beginFeature(interface, emit)
+# endFeature()
+# genType(typeinfo,name) - generate interface for a type
+# genEnum(enuminfo, name)
+# genCmd(cmdinfo)
+class COutputGenerator(OutputGenerator):
+ """Generate specified API interfaces in a specific style, such as a C header"""
+ def __init__(self,
+ errFile = sys.stderr,
+ warnFile = sys.stderr,
+ diagFile = sys.stdout):
+ OutputGenerator.__init__(self, errFile, warnFile, diagFile)
+ # Internal state - accumulators for different inner block text
+ self.typeBody = ''
+ self.enumBody = ''
+ self.cmdBody = ''
+ #
+ # makeCDecls - return C prototype and function pointer typedef for a
+ # command, as a two-element list of strings.
+ # cmd - Element containing a <command> tag
+ def makeCDecls(self, cmd):
+ """Generate C function pointer typedef for <command> Element"""
+ proto = cmd.find('proto')
+ params = cmd.findall('param')
+ # Begin accumulating prototype and typedef strings
+ pdecl = self.genOpts.apicall
+ tdecl = 'typedef '
+ #
+ # Insert the function return type/name.
+ # For prototypes, add APIENTRY macro before the name
+ # For typedefs, add (APIENTRYP <name>) around the name and
+ # use the PFNGLCMDNAMEPROC nameng convention.
+ # Done by walking the tree for <proto> element by element.
+ # lxml.etree has elem.text followed by (elem[i], elem[i].tail)
+ # for each child element and any following text
+ # Leading text
+ pdecl += noneStr(proto.text)
+ tdecl += noneStr(proto.text)
+ # For each child element, if it's a <name> wrap in appropriate
+ # declaration. Otherwise append its contents and tail contents.
+ for elem in proto:
+ text = noneStr(elem.text)
+ tail = noneStr(elem.tail)
+ if (elem.tag == 'name'):
+ pdecl += self.genOpts.apientry + text + tail
+ tdecl += '(' + self.genOpts.apientryp + 'PFN' + text.upper() + 'PROC' + tail + ')'
+ else:
+ pdecl += text + tail
+ tdecl += text + tail
+ # Now add the parameter declaration list, which is identical
+ # for prototypes and typedefs. Concatenate all the text from
+ # a <param> node without the tags. No tree walking required
+ # since all tags are ignored.
+ n = len(params)
+ paramdecl = ' ('
+ if n > 0:
+ for i in range(0,n):
+ paramdecl += ''.join([t for t in params[i].itertext()])
+ if (i < n - 1):
+ paramdecl += ', '
+ else:
+ paramdecl += 'void'
+ paramdecl += ");\n";
+ return [ pdecl + paramdecl, tdecl + paramdecl ]
+ #
+ def newline(self):
+ write('', file=self.outFile)
+ #
+ def beginFile(self, genOpts):
+ OutputGenerator.beginFile(self, genOpts)
+ # C-specific
+ #
+ # Multiple inclusion protection & C++ wrappers.
+ if (genOpts.protectFile and self.genOpts.filename):
+ headerSym = '__' + re.sub('\.h', '_h_', os.path.basename(self.genOpts.filename))
+ write('#ifndef', headerSym, file=self.outFile)
+ write('#define', headerSym, '1', file=self.outFile)
+ self.newline()
+ write('#ifdef __cplusplus', file=self.outFile)
+ write('extern "C" {', file=self.outFile)
+ write('#endif', file=self.outFile)
+ self.newline()
+ #
+ # User-supplied prefix text, if any (list of strings)
+ if (genOpts.prefixText):
+ for s in genOpts.prefixText:
+ write(s, file=self.outFile)
+ #
+ # Some boilerplate describing what was generated - this
+ # will probably be removed later since the extensions
+ # pattern may be very long.
+ write('/* Generated C header for:', file=self.outFile)
+ write(' * API:', genOpts.apiname, file=self.outFile)
+ if (genOpts.profile):
+ write(' * Profile:', genOpts.profile, file=self.outFile)
+ write(' * Versions considered:', genOpts.versions, file=self.outFile)
+ write(' * Versions emitted:', genOpts.emitversions, file=self.outFile)
+ write(' * Default extensions included:', genOpts.defaultExtensions, file=self.outFile)
+ write(' * Additional extensions included:', genOpts.addExtensions, file=self.outFile)
+ write(' * Extensions removed:', genOpts.removeExtensions, file=self.outFile)
+ write(' */', file=self.outFile)
+ def endFile(self):
+ # C-specific
+ # Finish C++ wrapper and multiple inclusion protection
+ self.newline()
+ write('#ifdef __cplusplus', file=self.outFile)
+ write('}', file=self.outFile)
+ write('#endif', file=self.outFile)
+ if (self.genOpts.protectFile and self.genOpts.filename):
+ self.newline()
+ write('#endif', file=self.outFile)
+ # Finish processing in superclass
+ OutputGenerator.endFile(self)
+ def beginFeature(self, interface, emit):
+ # Start processing in superclass
+ OutputGenerator.beginFeature(self, interface, emit)
+ # C-specific
+ # Accumulate types, enums, function pointer typedefs, end function
+ # prototypes separately for this feature. They're only printed in
+ # endFeature().
+ self.typeBody = ''
+ self.enumBody = ''
+ self.cmdPointerBody = ''
+ self.cmdBody = ''
+ def endFeature(self):
+ # C-specific
+ # Actually write the interface to the output file.
+ if (self.emit):
+ self.newline()
+ if (self.genOpts.protectFeature):
+ write('#ifndef', self.featureName, file=self.outFile)
+ write('#define', self.featureName, '1', file=self.outFile)
+ if (self.typeBody != ''):
+ write(self.typeBody, end='', file=self.outFile)
+ #
+ # Don't add additional protection for derived type declarations,
+ # which may be needed by other features later on.
+ if (self.featureExtraProtect != None):
+ write('#ifdef', self.featureExtraProtect, file=self.outFile)
+ if (self.enumBody != ''):
+ write(self.enumBody, end='', file=self.outFile)
+ if (self.genOpts.genFuncPointers and self.cmdPointerBody != ''):
+ write(self.cmdPointerBody, end='', file=self.outFile)
+ if (self.cmdBody != ''):
+ if (self.genOpts.protectProto):
+ write('#ifdef', self.genOpts.protectProtoStr, file=self.outFile)
+ write(self.cmdBody, end='', file=self.outFile)
+ if (self.genOpts.protectProto):
+ write('#endif', file=self.outFile)
+ if (self.featureExtraProtect != None):
+ write('#endif /*', self.featureExtraProtect, '*/', file=self.outFile)
+ if (self.genOpts.protectFeature):
+ write('#endif /*', self.featureName, '*/', file=self.outFile)
+ # Finish processing in superclass
+ OutputGenerator.endFeature(self)
+ #
+ # Type generation
+ def genType(self, typeinfo, name):
+ OutputGenerator.genType(self, typeinfo, name)
+ #
+ # Replace <apientry /> tags with an APIENTRY-style string
+ # (from self.genOpts). Copy other text through unchanged.
+ # If the resulting text is an empty string, don't emit it.
+ typeElem = typeinfo.elem
+ s = noneStr(typeElem.text)
+ for elem in typeElem:
+ if (elem.tag == 'apientry'):
+ s += self.genOpts.apientry + noneStr(elem.tail)
+ else:
+ s += noneStr(elem.text) + noneStr(elem.tail)
+ if (len(s) > 0):
+ self.typeBody += s + "\n"
+ #
+ # Enumerant generation
+ def genEnum(self, enuminfo, name):
+ OutputGenerator.genEnum(self, enuminfo, name)
+ #
+ # EnumInfo.type is a C value suffix (e.g. u, ull)
+ self.enumBody += '#define ' + name.ljust(33) + ' ' + enuminfo.elem.get('value')
+ #
+ # Handle non-integer 'type' fields by using it as the C value suffix
+ t = enuminfo.elem.get('type')
+ if (t != '' and t != 'i'):
+ self.enumBody += enuminfo.type
+ self.enumBody += "\n"
+ #
+ # Command generation
+ def genCmd(self, cmdinfo, name):
+ OutputGenerator.genCmd(self, cmdinfo, name)
+ #
+ decls = self.makeCDecls(cmdinfo.elem)
+ self.cmdBody += decls[0]
+ if (self.genOpts.genFuncPointers):
+ self.cmdPointerBody += decls[1]
+
+# Registry - object representing an API registry, loaded from an XML file
+# Members
+# tree - ElementTree containing the root <registry>
+# typedict - dictionary of TypeInfo objects keyed by type name
+# groupdict - dictionary of GroupInfo objects keyed by group name
+# enumdict - dictionary of EnumInfo objects keyed by enum name
+# cmddict - dictionary of CmdInfo objects keyed by command name
+# apidict - dictionary of <api> Elements keyed by API name
+# extensions - list of <extension> Elements
+# extdict - dictionary of <extension> Elements keyed by extension name
+# gen - OutputGenerator object used to write headers / messages
+# genOpts - GeneratorOptions object used to control which
+# fetures to write and how to format them
+# emitFeatures - True to actually emit features for a version / extension,
+# or False to just treat them as emitted
+# Public methods
+# loadElementTree(etree) - load registry from specified ElementTree
+# loadFile(filename) - load registry from XML file
+# setGenerator(gen) - OutputGenerator to use
+# parseTree() - parse the registry once loaded & create dictionaries
+# dumpReg(maxlen, filehandle) - diagnostic to dump the dictionaries
+# to specified file handle (default stdout). Truncates type /
+# enum / command elements to maxlen characters (default 80)
+# generator(g) - specify the output generator object
+# apiGen(apiname, genOpts) - generate API headers for the API type
+# and profile specified in genOpts, but only for the versions and
+# extensions specified there.
+# apiReset() - call between calls to apiGen() to reset internal state
+# validateGroups() - call to verify that each <proto> or <param>
+# with a 'group' attribute matches an actual existing group.
+# Private methods
+# addElementInfo(elem,info,infoName,dictionary) - add feature info to dict
+# lookupElementInfo(fname,dictionary) - lookup feature info in dict
+class Registry:
+ """Represents an API registry loaded from XML"""
+ def __init__(self):
+ self.tree = None
+ self.typedict = {}
+ self.groupdict = {}
+ self.enumdict = {}
+ self.cmddict = {}
+ self.apidict = {}
+ self.extensions = []
+ self.extdict = {}
+ # A default output generator, so commands prior to apiGen can report
+ # errors via the generator object.
+ self.gen = OutputGenerator()
+ self.genOpts = None
+ self.emitFeatures = False
+ def loadElementTree(self, tree):
+ """Load ElementTree into a Registry object and parse it"""
+ self.tree = tree
+ self.parseTree()
+ def loadFile(self, file):
+ """Load an API registry XML file into a Registry object and parse it"""
+ self.tree = etree.parse(file)
+ self.parseTree()
+ def setGenerator(self, gen):
+ """Specify output generator object. None restores the default generator"""
+ self.gen = gen
+ # addElementInfo - add information about an element to the
+ # corresponding dictionary
+ # elem - <type>/<group>/<enum>/<command>/<feature>/<extension> Element
+ # info - corresponding {Type|Group|Enum|Cmd|Feature}Info object
+ # infoName - 'type' / 'group' / 'enum' / 'command' / 'feature' / 'extension'
+ # dictionary - self.{type|group|enum|cmd|api|ext}dict
+ # If the Element has an 'api' attribute, the dictionary key is the
+ # tuple (name,api). If not, the key is the name. 'name' is an
+ # attribute of the Element
+ def addElementInfo(self, elem, info, infoName, dictionary):
+ if ('api' in elem.attrib):
+ key = (elem.get('name'),elem.get('api'))
+ else:
+ key = elem.get('name')
+ if key in dictionary:
+ self.gen.logMsg('warn', '*** Attempt to redefine',
+ infoName, 'with key:', key)
+ else:
+ dictionary[key] = info
+ #
+ # lookupElementInfo - find a {Type|Enum|Cmd}Info object by name.
+ # If an object qualified by API name exists, use that.
+ # fname - name of type / enum / command
+ # dictionary - self.{type|enum|cmd}dict
+ def lookupElementInfo(self, fname, dictionary):
+ key = (fname, self.genOpts.apiname)
+ if (key in dictionary):
+ # self.gen.logMsg('diag', 'Found API-specific element for feature', fname)
+ return dictionary[key]
+ elif (fname in dictionary):
+ # self.gen.logMsg('diag', 'Found generic element for feature', fname)
+ return dictionary[fname]
+ else:
+ return None
+ def parseTree(self):
+ """Parse the registry Element, once created"""
+ # This must be the Element for the root <registry>
+ self.reg = self.tree.getroot()
+ #
+ # Create dictionary of registry types from toplevel <types> tags
+ # and add 'name' attribute to each <type> tag (where missing)
+ # based on its <name> element.
+ #
+ # There's usually one <types> block; more are OK
+ # Required <type> attributes: 'name' or nested <name> tag contents
+ self.typedict = {}
+ for type in self.reg.findall('types/type'):
+ # If the <type> doesn't already have a 'name' attribute, set
+ # it from contents of its <name> tag.
+ if (type.get('name') == None):
+ type.attrib['name'] = type.find('name').text
+ self.addElementInfo(type, TypeInfo(type), 'type', self.typedict)
+ #
+ # Create dictionary of registry groups from toplevel <groups> tags.
+ #
+ # There's usually one <groups> block; more are OK.
+ # Required <group> attributes: 'name'
+ self.groupdict = {}
+ for group in self.reg.findall('groups/group'):
+ self.addElementInfo(group, GroupInfo(group), 'group', self.groupdict)
+ #
+ # Create dictionary of registry enums from toplevel <enums> tags
+ #
+ # There are usually many <enums> tags in different namespaces, but
+ # these are functional namespaces of the values, while the actual
+ # enum names all share the dictionary.
+ # Required <enums> attributes: 'name', 'value'
+ self.enumdict = {}
+ for enum in self.reg.findall('enums/enum'):
+ self.addElementInfo(enum, EnumInfo(enum), 'enum', self.enumdict)
+ #
+ # Create dictionary of registry commands from <command> tags
+ # and add 'name' attribute to each <command> tag (where missing)
+ # based on its <proto><name> element.
+ #
+ # There's usually only one <commands> block; more are OK.
+ # Required <command> attributes: 'name' or <proto><name> tag contents
+ self.cmddict = {}
+ for cmd in self.reg.findall('commands/command'):
+ # If the <command> doesn't already have a 'name' attribute, set
+ # it from contents of its <proto><name> tag.
+ if (cmd.get('name') == None):
+ cmd.attrib['name'] = cmd.find('proto/name').text
+ ci = CmdInfo(cmd)
+ self.addElementInfo(cmd, ci, 'command', self.cmddict)
+ #
+ # Create dictionaries of API and extension interfaces
+ # from toplevel <api> and <extension> tags.
+ #
+ self.apidict = {}
+ for feature in self.reg.findall('feature'):
+ ai = FeatureInfo(feature)
+ self.addElementInfo(feature, ai, 'feature', self.apidict)
+ self.extensions = self.reg.findall('extensions/extension')
+ self.extdict = {}
+ for feature in self.extensions:
+ ei = FeatureInfo(feature)
+ self.addElementInfo(feature, ei, 'extension', self.extdict)
+ def dumpReg(self, maxlen = 40, filehandle = sys.stdout):
+ """Dump all the dictionaries constructed from the Registry object"""
+ write('***************************************', file=filehandle)
+ write(' ** Dumping Registry contents **', file=filehandle)
+ write('***************************************', file=filehandle)
+ write('// Types', file=filehandle)
+ for name in self.typedict:
+ tobj = self.typedict[name]
+ write(' Type', name, '->', etree.tostring(tobj.elem)[0:maxlen], file=filehandle)
+ write('// Groups', file=filehandle)
+ for name in self.groupdict:
+ gobj = self.groupdict[name]
+ write(' Group', name, '->', etree.tostring(gobj.elem)[0:maxlen], file=filehandle)
+ write('// Enums', file=filehandle)
+ for name in self.enumdict:
+ eobj = self.enumdict[name]
+ write(' Enum', name, '->', etree.tostring(eobj.elem)[0:maxlen], file=filehandle)
+ write('// Commands', file=filehandle)
+ for name in self.cmddict:
+ cobj = self.cmddict[name]
+ write(' Command', name, '->', etree.tostring(cobj.elem)[0:maxlen], file=filehandle)
+ write('// APIs', file=filehandle)
+ for key in self.apidict:
+ write(' API Version ', key, '->',
+ etree.tostring(self.apidict[key].elem)[0:maxlen], file=filehandle)
+ write('// Extensions', file=filehandle)
+ for key in self.extdict:
+ write(' Extension', key, '->',
+ etree.tostring(self.extdict[key].elem)[0:maxlen], file=filehandle)
+ # write('***************************************', file=filehandle)
+ # write(' ** Dumping XML ElementTree **', file=filehandle)
+ # write('***************************************', file=filehandle)
+ # write(etree.tostring(self.tree.getroot(),pretty_print=True), file=filehandle)
+ #
+ # typename - name of type
+ # required - boolean (to tag features as required or not)
+ def markTypeRequired(self, typename, required):
+ """Require (along with its dependencies) or remove (but not its dependencies) a type"""
+ self.gen.logMsg('diag', '*** tagging type:', typename, '-> required =', required)
+ # Get TypeInfo object for <type> tag corresponding to typename
+ type = self.lookupElementInfo(typename, self.typedict)
+ if (type != None):
+ # Tag required type dependencies as required.
+ # This DOES NOT un-tag dependencies in a <remove> tag.
+ # See comments in markRequired() below for the reason.
+ if (required and ('requires' in type.elem.attrib)):
+ depType = type.elem.get('requires')
+ self.gen.logMsg('diag', '*** Generating dependent type',
+ depType, 'for type', typename)
+ self.markTypeRequired(depType, required)
+ type.required = required
+ else:
+ self.gen.logMsg('warn', '*** type:', typename , 'IS NOT DEFINED')
+ #
+ # features - Element for <require> or <remove> tag
+ # required - boolean (to tag features as required or not)
+ def markRequired(self, features, required):
+ """Require or remove features specified in the Element"""
+ self.gen.logMsg('diag', '*** markRequired (features = <too long to print>, required =', required, ')')
+ # Loop over types, enums, and commands in the tag
+ # @@ It would be possible to respect 'api' and 'profile' attributes
+ # in individual features, but that's not done yet.
+ for typeElem in features.findall('type'):
+ self.markTypeRequired(typeElem.get('name'), required)
+ for enumElem in features.findall('enum'):
+ name = enumElem.get('name')
+ self.gen.logMsg('diag', '*** tagging enum:', name, '-> required =', required)
+ enum = self.lookupElementInfo(name, self.enumdict)
+ if (enum != None):
+ enum.required = required
+ else:
+ self.gen.logMsg('warn', '*** enum:', name , 'IS NOT DEFINED')
+ for cmdElem in features.findall('command'):
+ name = cmdElem.get('name')
+ self.gen.logMsg('diag', '*** tagging command:', name, '-> required =', required)
+ cmd = self.lookupElementInfo(name, self.cmddict)
+ if (cmd != None):
+ cmd.required = required
+ # Tag all parameter types of this command as required.
+ # This DOES NOT remove types of commands in a <remove>
+ # tag, because many other commands may use the same type.
+ # We could be more clever and reference count types,
+ # instead of using a boolean.
+ if (required):
+ # Look for <ptype> in entire <command> tree,
+ # not just immediate children
+ for ptype in cmd.elem.findall('.//ptype'):
+ self.gen.logMsg('diag', '*** markRequired: command implicitly requires dependent type', ptype.text)
+ self.markTypeRequired(ptype.text, required)
+ else:
+ self.gen.logMsg('warn', '*** command:', name, 'IS NOT DEFINED')
+ #
+ # interface - Element for <version> or <extension>, containing
+ # <require> and <remove> tags
+ # api - string specifying API name being generated
+ # profile - string specifying API profile being generated
+ def requireAndRemoveFeatures(self, interface, api, profile):
+ """Process <recquire> and <remove> tags for a <version> or <extension>"""
+ # <require> marks things that are required by this version/profile
+ for feature in interface.findall('require'):
+ if (matchAPIProfile(api, profile, feature)):
+ self.markRequired(feature,True)
+ # <remove> marks things that are removed by this version/profile
+ for feature in interface.findall('remove'):
+ if (matchAPIProfile(api, profile, feature)):
+ self.markRequired(feature,False)
+ #
+ # generateFeature - generate a single type / enum / command,
+ # and all its dependencies as needed.
+ # fname - name of feature (<type>/<enum>/<command>
+ # ftype - type of feature, 'type' | 'enum' | 'command'
+ # dictionary - of *Info objects - self.{type|enum|cmd}dict
+ # genProc - bound function pointer for self.gen.gen{Type|Enum|Cmd}
+ def generateFeature(self, fname, ftype, dictionary, genProc):
+ f = self.lookupElementInfo(fname, dictionary)
+ if (f == None):
+ # No such feature. This is an error, but reported earlier
+ self.gen.logMsg('diag', '*** No entry found for feature', fname,
+ 'returning!')
+ return
+ #
+ # If feature isn't required, or has already been declared, return
+ if (not f.required):
+ self.gen.logMsg('diag', '*** Skipping', ftype, fname, '(not required)')
+ return
+ if (f.declared):
+ self.gen.logMsg('diag', '*** Skipping', ftype, fname, '(already declared)')
+ return
+ #
+ # Pull in dependent type declaration(s) of the feature.
+ # For types, there may be one in the 'required' attribute of the element
+ # For commands, there may be many in <ptype> tags within the element
+ # For enums, no dependencies are allowed (though perhasps if you
+ # have a uint64 enum, it should require GLuint64)
+ if (ftype == 'type'):
+ if ('requires' in f.elem.attrib):
+ depname = f.elem.get('requires')
+ self.gen.logMsg('diag', '*** Generating required dependent type',
+ depname)
+ self.generateFeature(depname, 'type', self.typedict,
+ self.gen.genType)
+ elif (ftype == 'command'):
+ for ptype in f.elem.findall('.//ptype'):
+ depname = ptype.text
+ self.gen.logMsg('diag', '*** Generating required parameter type',
+ depname)
+ self.generateFeature(depname, 'type', self.typedict,
+ self.gen.genType)
+ #
+ # Actually generate the type only if emitting declarations
+ if self.emitFeatures:
+ self.gen.logMsg('diag', '*** Emitting', ftype, 'decl for', fname)
+ genProc(f, fname)
+ else:
+ self.gen.logMsg('diag', '*** Skipping', ftype, fname,
+ '(not emitting this feature)')
+ # Always mark feature declared, as though actually emitted
+ f.declared = True
+ #
+ # generateRequiredInterface - generate all interfaces required
+ # by an API version or extension
+ # interface - Element for <version> or <extension>
+ def generateRequiredInterface(self, interface):
+ """Generate required C interface for specified API version/extension"""
+ #
+ # Loop over all features inside all <require> tags.
+ # <remove> tags are ignored (handled in pass 1).
+ for features in interface.findall('require'):
+ for t in features.findall('type'):
+ self.generateFeature(t.get('name'), 'type', self.typedict,
+ self.gen.genType)
+ for e in features.findall('enum'):
+ self.generateFeature(e.get('name'), 'enum', self.enumdict,
+ self.gen.genEnum)
+ for c in features.findall('command'):
+ self.generateFeature(c.get('name'), 'command', self.cmddict,
+ self.gen.genCmd)
+ #
+ # apiGen(genOpts) - generate interface for specified versions
+ # genOpts - GeneratorOptions object with parameters used
+ # by the Generator object.
+ def apiGen(self, genOpts):
+ """Generate interfaces for the specified API type and range of versions"""
+ #
+ self.gen.logMsg('diag', '*******************************************')
+ self.gen.logMsg('diag', ' Registry.apiGen file:', genOpts.filename,
+ 'api:', genOpts.apiname,
+ 'profile:', genOpts.profile)
+ self.gen.logMsg('diag', '*******************************************')
+ #
+ self.genOpts = genOpts
+ # Reset required/declared flags for all features
+ self.apiReset()
+ #
+ # Compile regexps used to select versions & extensions
+ regVersions = re.compile(self.genOpts.versions)
+ regEmitVersions = re.compile(self.genOpts.emitversions)
+ regAddExtensions = re.compile(self.genOpts.addExtensions)
+ regRemoveExtensions = re.compile(self.genOpts.removeExtensions)
+ #
+ # Get all matching API versions & add to list of FeatureInfo
+ features = []
+ apiMatch = False
+ for key in self.apidict:
+ fi = self.apidict[key]
+ api = fi.elem.get('api')
+ if (api == self.genOpts.apiname):
+ apiMatch = True
+ if (regVersions.match(fi.number)):
+ # Matches API & version #s being generated. Mark for
+ # emission and add to the features[] list .
+ # @@ Could use 'declared' instead of 'emit'?
+ fi.emit = (regEmitVersions.match(fi.number) != None)
+ features.append(fi)
+ if (not fi.emit):
+ self.gen.logMsg('diag', '*** NOT tagging feature api =', api,
+ 'name =', fi.name, 'number =', fi.number,
+ 'for emission (does not match emitversions pattern)')
+ else:
+ self.gen.logMsg('diag', '*** NOT including feature api =', api,
+ 'name =', fi.name, 'number =', fi.number,
+ '(does not match requested versions)')
+ else:
+ self.gen.logMsg('diag', '*** NOT including feature api =', api,
+ 'name =', fi.name,
+ '(does not match requested API)')
+ if (not apiMatch):
+ self.gen.logMsg('warn', '*** No matching API versions found!')
+ #
+ # Get all matching extensions & add to the list.
+ # Start with extensions tagged with 'api' pattern matching the API
+ # being generated. Add extensions matching the pattern specified in
+ # regExtensions, then remove extensions matching the pattern
+ # specified in regRemoveExtensions
+ for key in self.extdict:
+ ei = self.extdict[key]
+ extName = ei.name
+ include = False
+ #
+ # Include extension if defaultExtensions is not None and if the
+ # 'supported' attribute matches defaultExtensions. The regexp in
+ # 'supported' must exactly match defaultExtensions, so bracket
+ # it with ^(pat)$.
+ pat = '^(' + ei.elem.get('supported') + ')$'
+ if (self.genOpts.defaultExtensions and
+ re.match(pat, self.genOpts.defaultExtensions)):
+ self.gen.logMsg('diag', '*** Including extension',
+ extName, "(defaultExtensions matches the 'supported' attribute)")
+ include = True
+ #
+ # Include additional extensions if the extension name matches
+ # the regexp specified in the generator options. This allows
+ # forcing extensions into an interface even if they're not
+ # tagged appropriately in the registry.
+ if (regAddExtensions.match(extName) != None):
+ self.gen.logMsg('diag', '*** Including extension',
+ extName, '(matches explicitly requested extensions to add)')
+ include = True
+ # Remove extensions if the name matches the regexp specified
+ # in generator options. This allows forcing removal of
+ # extensions from an interface even if they're tagged that
+ # way in the registry.
+ if (regRemoveExtensions.match(extName) != None):
+ self.gen.logMsg('diag', '*** Removing extension',
+ extName, '(matches explicitly requested extensions to remove)')
+ include = False
+ #
+ # If the extension is to be included, add it to the
+ # extension features list.
+ if (include):
+ ei.emit = True
+ features.append(ei)
+ else:
+ self.gen.logMsg('diag', '*** NOT including extension',
+ extName, '(does not match api attribute or explicitly requested extensions)')
+ #
+ # Sort the extension features list, if a sort procedure is defined
+ if (self.genOpts.sortProcedure):
+ self.genOpts.sortProcedure(features)
+ #
+ # Pass 1: loop over requested API versions and extensions tagging
+ # types/commands/features as required (in an <require> block) or no
+ # longer required (in an <exclude> block). It is possible to remove
+ # a feature in one version and restore it later by requiring it in
+ # a later version.
+ # If a profile other than 'None' is being generated, it must
+ # match the profile attribute (if any) of the <require> and
+ # <remove> tags.
+ self.gen.logMsg('diag', '*** PASS 1: TAG FEATURES ********************************************')
+ for f in features:
+ self.gen.logMsg('diag', '*** PASS 1: Tagging required and removed features for',
+ f.name)
+ self.requireAndRemoveFeatures(f.elem, self.genOpts.apiname, self.genOpts.profile)
+ #
+ # Pass 2: loop over specified API versions and extensions printing
+ # declarations for required things which haven't already been
+ # generated.
+ self.gen.logMsg('diag', '*** PASS 2: GENERATE INTERFACES FOR FEATURES ************************')
+ self.gen.beginFile(self.genOpts)
+ for f in features:
+ self.gen.logMsg('diag', '*** PASS 2: Generating interface for',
+ f.name)
+ emit = self.emitFeatures = f.emit
+ if (not emit):
+ self.gen.logMsg('diag', '*** PASS 2: NOT declaring feature',
+ f.elem.get('name'), 'because it is not tagged for emission')
+ # Generate the interface (or just tag its elements as having been
+ # emitted, if they haven't been).
+ self.gen.beginFeature(f.elem, emit)
+ self.generateRequiredInterface(f.elem)
+ self.gen.endFeature()
+ self.gen.endFile()
+ #
+ # apiReset - use between apiGen() calls to reset internal state
+ #
+ def apiReset(self):
+ """Reset type/enum/command dictionaries before generating another API"""
+ for type in self.typedict:
+ self.typedict[type].resetState()
+ for enum in self.enumdict:
+ self.enumdict[enum].resetState()
+ for cmd in self.cmddict:
+ self.cmddict[cmd].resetState()
+ for cmd in self.apidict:
+ self.apidict[cmd].resetState()
+ #
+ # validateGroups - check that group= attributes match actual groups
+ #
+ def validateGroups(self):
+ """Validate group= attributes on <param> and <proto> tags"""
+ # Keep track of group names not in <group> tags
+ badGroup = {}
+ self.gen.logMsg('diag', '*** VALIDATING GROUP ATTRIBUTES ***')
+ for cmd in self.reg.findall('commands/command'):
+ proto = cmd.find('proto')
+ funcname = cmd.find('proto/name').text
+ if ('group' in proto.attrib.keys()):
+ group = proto.get('group')
+ # self.gen.logMsg('diag', '*** Command ', funcname, ' has return group ', group)
+ if (group not in self.groupdict.keys()):
+ # self.gen.logMsg('diag', '*** Command ', funcname, ' has UNKNOWN return group ', group)
+ if (group not in badGroup.keys()):
+ badGroup[group] = 1
+ else:
+ badGroup[group] = badGroup[group] + 1
+ for param in cmd.findall('param'):
+ pname = param.find('name')
+ if (pname != None):
+ pname = pname.text
+ else:
+ pname = type.get('name')
+ if ('group' in param.attrib.keys()):
+ group = param.get('group')
+ if (group not in self.groupdict.keys()):
+ # self.gen.logMsg('diag', '*** Command ', funcname, ' param ', pname, ' has UNKNOWN group ', group)
+ if (group not in badGroup.keys()):
+ badGroup[group] = 1
+ else:
+ badGroup[group] = badGroup[group] + 1
+ if (len(badGroup.keys()) > 0):
+ self.gen.logMsg('diag', '*** SUMMARY OF UNRECOGNIZED GROUPS ***')
+ for key in sorted(badGroup.keys()):
+ self.gen.logMsg('diag', ' ', key, ' occurred ', badGroup[key], ' times')
diff --git a/xorg-server/hw/xwin/glx/simpledib.c b/xorg-server/hw/xwin/glx/simpledib.c
new file mode 100644
index 000000000..f491e2857
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/simpledib.c
@@ -0,0 +1,675 @@
+/*
+** Simple example of rendering to a Windows DIB (Device Independent Bitmap)
+*/
+#include <windows.h>
+#include <math.h>
+#include <GL/gl.h>
+
+#if !defined(M_PI)
+#define M_PI 3.14159265F
+#endif
+
+char *className = "OpenGL";
+char *windowName = "Simple DIB Example";
+int winX = 0, winY = 0;
+int winWidth = 1024, winHeight = 1024;
+
+HDC hDC;
+HDC hDCFrontBuffer;
+HGLRC hGLRC;
+HPALETTE hPalette;
+HBITMAP hBitmap, hOldBitmap;
+
+void (*idleFunc)(void);
+
+BOOL colorIndexMode = FALSE;
+BOOL doubleBuffered = FALSE;
+BOOL renderToDIB = TRUE;
+
+/* Struct used to manage color ramps */
+struct colorIndexState {
+ GLfloat amb[3]; /* ambient color / bottom of ramp */
+ GLfloat diff[3]; /* diffuse color / middle of ramp */
+ GLfloat spec[3]; /* specular color / top of ramp */
+ GLfloat ratio; /* ratio of diffuse to specular in ramp */
+ GLint indexes[3]; /* where ramp was placed in palette */
+};
+
+/*
+** Each entry in this array corresponds to a color ramp in the
+** palette. The indexes member of each struct is updated to
+** reflect the placement of the color ramp in the palette.
+*/
+#define NUM_COLORS (sizeof(colors) / sizeof(colors[0]))
+struct colorIndexState colors[] = {
+ {
+ { 0.0F, 0.0F, 0.0F },
+ { 0.1F, 0.6F, 0.3F },
+ { 1.0F, 1.0F, 1.0F },
+ 0.75F, { 0, 0, 0 },
+ },
+ {
+ { 0.0F, 0.0F, 0.0F },
+ { 0.0F, 0.2F, 0.5F },
+ { 1.0F, 1.0F, 1.0F },
+
+ 0.75F, { 0, 0, 0 },
+ },
+ {
+ { 0.0F, 0.05F, 0.05F },
+ { 0.6F, 0.0F, 0.8F },
+ { 1.0F, 1.0F, 1.0F },
+ 0.75F, { 0, 0, 0 },
+ },
+};
+
+void
+drawTorus(void)
+{
+ int numMajor = 32;
+ int numMinor = 24;
+ float majorRadius = 0.6F;
+ float minorRadius = 0.2F;
+ double majorStep = 2.0F*M_PI / numMajor;
+ double minorStep = 2.0F*M_PI / numMinor;
+ int i, j;
+
+ for (i=0; i<numMajor; ++i) {
+ double a0 = i * majorStep;
+ double a1 = a0 + majorStep;
+ GLfloat x0 = (GLfloat) cos(a0);
+ GLfloat y0 = (GLfloat) sin(a0);
+ GLfloat x1 = (GLfloat) cos(a1);
+ GLfloat y1 = (GLfloat) sin(a1);
+
+ if (i & 1) {
+ glColor3fv(colors[0].diff);
+ glMaterialiv(GL_FRONT, GL_COLOR_INDEXES, colors[0].indexes);
+ } else {
+ glColor3fv(colors[1].diff);
+ glMaterialiv(GL_FRONT, GL_COLOR_INDEXES, colors[1].indexes);
+ }
+
+ glBegin(GL_TRIANGLE_STRIP);
+ for (j=0; j<=numMinor; ++j) {
+ double b = j * minorStep;
+ GLfloat c = (GLfloat) cos(b);
+ GLfloat r = minorRadius * c + majorRadius;
+ GLfloat z = minorRadius * (GLfloat) sin(b);
+
+ glNormal3f(x0*c, y0*c, z/minorRadius);
+ glVertex3f(x0*r, y0*r, z);
+
+ glNormal3f(x1*c, y1*c, z/minorRadius);
+ glVertex3f(x1*r, y1*r, z);
+ }
+ glEnd();
+ }
+}
+
+/*****************************************************************/
+
+void
+setProjection(void)
+{
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ /*
+ ** Preserve the aspect ratio of objects in the scene.
+ */
+ if (winWidth > winHeight) {
+ GLfloat aspect = (GLfloat) winWidth / (GLfloat) winHeight;
+ glFrustum(-0.5F*aspect, 0.5F*aspect, -0.5F, 0.5F, 1.0F, 3.0F);
+ } else {
+ GLfloat aspect = (GLfloat) winHeight / (GLfloat) winWidth;
+ glFrustum(-0.5F, 0.5F, -0.5F*aspect, 0.5F*aspect, 1.0F, 3.0F);
+ }
+ glMatrixMode(GL_MODELVIEW);
+}
+
+void
+init(void)
+{
+ GLfloat matShine = 20.00F;
+ GLfloat light0Pos[4] = { 0.70F, 0.70F, 1.25F, 0.00F };
+
+ glClearColor(colors[2].diff[0], colors[2].diff[1], colors[2].diff[2], 1.0F);
+ glClearIndex((GLfloat) colors[2].indexes[1]);
+
+ setProjection();
+ glTranslatef(0.0F, 0.0F, -2.0F);
+
+ glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, matShine);
+ glLightfv(GL_LIGHT0, GL_POSITION, light0Pos);
+ glEnable(GL_LIGHT0);
+
+ glEnable(GL_LIGHTING);
+ glEnable(GL_DEPTH_TEST);
+
+ if (!colorIndexMode) {
+ glEnable(GL_COLOR_MATERIAL);
+ }
+}
+
+void
+doRedraw(void)
+{
+ static GLfloat x, y, z;
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix();
+ glRotatef(x, 1.0F, 0.0F, 0.0F);
+ glRotatef(y, 0.0F, 1.0F, 0.0F);
+ glRotatef(z, 0.0F, 0.0F, 1.0F);
+
+ drawTorus();
+
+ glPopMatrix();
+
+ if (renderToDIB) {
+ glFinish();
+ BitBlt(hDCFrontBuffer, /*winWidth/4, winHeight/4, winWidth/2, winHeight/2,*/0,0,winWidth, winHeight, hDC, 0, 0, SRCCOPY);
+ GdiFlush();
+ } else {
+ SwapBuffers(hDC);
+ }
+
+ x += 5.0F;
+ if (x > 360.0F) x -= 360.0F;
+ y += 7.0F;
+ if (y > 360.0F) y -= 360.0F;
+ z += 9.0F;
+ if (z > 360.0F) z -= 360.0F;
+}
+
+void
+redraw(void)
+{
+ idleFunc = doRedraw;
+}
+
+void
+resize(void)
+{
+ setProjection();
+ glViewport(0, 0, winWidth, winHeight /*winWidth/2, winHeight/2*/);
+}
+
+/*****************************************************************/
+
+void
+setupDIB(HDC hDC)
+{
+ BITMAPINFO *bmInfo;
+ BITMAPINFOHEADER *bmHeader;
+ UINT usage;
+ VOID *base;
+ int bmiSize;
+ int bitsPerPixel;
+
+ bmiSize = sizeof(*bmInfo);
+ bitsPerPixel = GetDeviceCaps(hDC, BITSPIXEL);
+
+ switch (bitsPerPixel) {
+ case 8:
+ /* bmiColors is 256 WORD palette indices */
+ bmiSize += (256 * sizeof(WORD)) - sizeof(RGBQUAD);
+ break;
+ case 16:
+ /* bmiColors is 3 WORD component masks */
+ bmiSize += (3 * sizeof(DWORD)) - sizeof(RGBQUAD);
+ break;
+ case 24:
+ case 32:
+ default:
+ /* bmiColors not used */
+ break;
+ }
+
+ bmInfo = (BITMAPINFO *) calloc(1, bmiSize);
+ bmHeader = &bmInfo->bmiHeader;
+
+ bmHeader->biSize = sizeof(*bmHeader);
+ bmHeader->biWidth = winWidth /* /2 */;
+ bmHeader->biHeight = winHeight /* /2 */;
+ bmHeader->biPlanes = 1; /* must be 1 */
+ bmHeader->biBitCount = bitsPerPixel;
+ bmHeader->biXPelsPerMeter = 0;
+ bmHeader->biYPelsPerMeter = 0;
+ bmHeader->biClrUsed = 0; /* all are used */
+ bmHeader->biClrImportant = 0; /* all are important */
+
+ switch (bitsPerPixel) {
+ case 8:
+ bmHeader->biCompression = BI_RGB;
+ bmHeader->biSizeImage = 0;
+ usage = DIB_PAL_COLORS;
+ /* bmiColors is 256 WORD palette indices */
+ {
+ WORD *palIndex = (WORD *) &bmInfo->bmiColors[0];
+ int i;
+
+ for (i=0; i<256; i++) {
+ palIndex[i] = i;
+ }
+ }
+ break;
+ case 16:
+ bmHeader->biCompression = BI_RGB;
+ bmHeader->biSizeImage = 0;
+ usage = DIB_RGB_COLORS;
+ /* bmiColors is 3 WORD component masks */
+ {
+ DWORD *compMask = (DWORD *) &bmInfo->bmiColors[0];
+
+ compMask[0] = 0xF800;
+ compMask[1] = 0x07E0;
+ compMask[2] = 0x001F;
+ }
+ break;
+ case 24:
+ case 32:
+ default:
+ bmHeader->biCompression = BI_RGB;
+ bmHeader->biSizeImage = 0;
+ usage = DIB_RGB_COLORS;
+ /* bmiColors not used */
+ break;
+ }
+
+ hBitmap = CreateDIBSection(hDC, bmInfo, usage, &base, NULL, 0);
+ if (hBitmap == NULL) {
+ (void) MessageBox(WindowFromDC(hDC),
+ "Failed to create DIBSection.",
+ "OpenGL application error",
+ MB_ICONERROR | MB_OK);
+ exit(1);
+ }
+
+ hOldBitmap = SelectObject(hDC, hBitmap);
+
+ free(bmInfo);
+}
+
+void
+resizeDIB(HDC hDC)
+{
+ SelectObject(hDC, hOldBitmap);
+ DeleteObject(hBitmap);
+ setupDIB(hDC);
+}
+
+void
+setupPalette(HDC hDC)
+{
+ PIXELFORMATDESCRIPTOR pfd;
+ LOGPALETTE* pPal;
+ int pixelFormat = GetPixelFormat(hDC);
+ int paletteSize;
+
+ DescribePixelFormat(hDC, pixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &pfd);
+
+ /*
+ ** Determine if a palette is needed and if so what size.
+ */
+ if (pfd.dwFlags & PFD_NEED_PALETTE) {
+ paletteSize = 1 << pfd.cColorBits;
+ } else if (pfd.iPixelType == PFD_TYPE_COLORINDEX) {
+ paletteSize = 4096;
+ } else {
+ return;
+ }
+
+ pPal = (LOGPALETTE*)
+ malloc(sizeof(LOGPALETTE) + paletteSize * sizeof(PALETTEENTRY));
+ pPal->palVersion = 0x300;
+ pPal->palNumEntries = paletteSize;
+
+ if (pfd.iPixelType == PFD_TYPE_RGBA) {
+ /*
+ ** Fill the logical paletee with RGB color ramps
+ */
+ int redMask = (1 << pfd.cRedBits) - 1;
+ int greenMask = (1 << pfd.cGreenBits) - 1;
+ int blueMask = (1 << pfd.cBlueBits) - 1;
+ int i;
+
+ for (i=0; i<paletteSize; ++i) {
+ pPal->palPalEntry[i].peRed =
+ (((i >> pfd.cRedShift) & redMask) * 255) / redMask;
+ pPal->palPalEntry[i].peGreen =
+ (((i >> pfd.cGreenShift) & greenMask) * 255) / greenMask;
+ pPal->palPalEntry[i].peBlue =
+ (((i >> pfd.cBlueShift) & blueMask) * 255) / blueMask;
+ pPal->palPalEntry[i].peFlags = 0;
+ }
+ } else {
+ /*
+ ** Fill the logical palette with color ramps.
+ **
+ ** Set up the logical palette so that it can be realized
+ ** into the system palette as an identity palette.
+ **
+ ** 1) The default static entries should be present and at the right
+ ** location. The easiest way to do this is to grab them from
+ ** the current system palette.
+ **
+ ** 2) All non-static entries should be initialized to unique values.
+ ** The easiest way to do this is to ensure that all of the non-static
+ ** entries have the PC_NOCOLLAPSE flag bit set.
+ */
+ int numRamps = NUM_COLORS;
+ int rampSize = (paletteSize - 20) / numRamps;
+ int extra = (paletteSize - 20) - (numRamps * rampSize);
+ int i, r;
+
+ /*
+ ** Initialize static entries by copying them from the
+ ** current system palette.
+ */
+ GetSystemPaletteEntries(hDC, 0, paletteSize, &pPal->palPalEntry[0]);
+
+ /*
+ ** Fill in non-static entries with desired colors.
+ */
+ for (r=0; r<numRamps; ++r) {
+ int rampBase = r * rampSize + 10;
+ PALETTEENTRY *pe = &pPal->palPalEntry[rampBase];
+ int diffSize = (int) (rampSize * colors[r].ratio);
+ int specSize = rampSize - diffSize;
+
+ for (i=0; i<rampSize; ++i) {
+ GLfloat *c0, *c1;
+ GLint a;
+
+ if (i < diffSize) {
+ c0 = colors[r].amb;
+ c1 = colors[r].diff;
+ a = (i * 255) / (diffSize - 1);
+ } else {
+ c0 = colors[r].diff;
+ c1 = colors[r].spec;
+ a = ((i - diffSize) * 255) / (specSize - 1);
+ }
+
+ pe[i].peRed = (BYTE) (a * (c1[0] - c0[0]) + 255 * c0[0]);
+ pe[i].peGreen = (BYTE) (a * (c1[1] - c0[1]) + 255 * c0[1]);
+ pe[i].peBlue = (BYTE) (a * (c1[2] - c0[2]) + 255 * c0[2]);
+ pe[i].peFlags = PC_NOCOLLAPSE;
+ }
+
+ colors[r].indexes[0] = rampBase;
+ colors[r].indexes[1] = rampBase + (diffSize-1);
+ colors[r].indexes[2] = rampBase + (rampSize-1);
+ }
+
+ /*
+ ** Initialize any remaining non-static entries.
+ */
+ for (i=0; i<extra; ++i) {
+ int index = numRamps*rampSize+10+i;
+ PALETTEENTRY *pe = &pPal->palPalEntry[index];
+
+ pe->peRed = (BYTE) 0;
+ pe->peGreen = (BYTE) 0;
+ pe->peBlue = (BYTE) 0;
+ pe->peFlags = PC_NOCOLLAPSE;
+ }
+ }
+
+ hPalette = CreatePalette(pPal);
+ free(pPal);
+
+ if (hPalette) {
+ SelectPalette(hDC, hPalette, FALSE);
+ RealizePalette(hDC);
+ }
+}
+
+void
+setupPixelFormat(HDC hDC)
+{
+ PIXELFORMATDESCRIPTOR pfd = {
+ sizeof(PIXELFORMATDESCRIPTOR), /* size of this pfd */
+ 1, /* version num */
+ PFD_SUPPORT_OPENGL, /* support OpenGL */
+ 0, /* pixel type */
+ 0, /* 8-bit color depth */
+ 0, 0, 0, 0, 0, 0, /* color bits (ignored) */
+ 0, /* no alpha buffer */
+ 0, /* alpha bits (ignored) */
+ 0, /* no accumulation buffer */
+ 0, 0, 0, 0, /* accum bits (ignored) */
+ 16, /* depth buffer */
+ 0, /* no stencil buffer */
+ 0, /* no auxiliary buffers */
+ PFD_MAIN_PLANE, /* main layer */
+ 0, /* reserved */
+ 0, 0, 0, /* no layer, visible, damage masks */
+ };
+ int SelectedPixelFormat;
+ BOOL retVal;
+
+ pfd.cColorBits = GetDeviceCaps(hDC, BITSPIXEL);
+
+ if (colorIndexMode) {
+ pfd.iPixelType = PFD_TYPE_COLORINDEX;
+ } else {
+ pfd.iPixelType = PFD_TYPE_RGBA;
+ }
+
+ if (doubleBuffered) {
+ pfd.dwFlags |= PFD_DOUBLEBUFFER;
+ }
+
+ if (renderToDIB) {
+ pfd.dwFlags |= PFD_DRAW_TO_BITMAP;
+ } else {
+ pfd.dwFlags |= PFD_DRAW_TO_WINDOW;
+ }
+
+ SelectedPixelFormat = ChoosePixelFormat(hDC, &pfd);
+ if (SelectedPixelFormat == 0) {
+ (void) MessageBox(WindowFromDC(hDC),
+ "Failed to find acceptable pixel format.",
+ "OpenGL application error",
+ MB_ICONERROR | MB_OK);
+ exit(1);
+ }
+
+ retVal = SetPixelFormat(hDC, SelectedPixelFormat, &pfd);
+ if (retVal != TRUE) {
+ (void) MessageBox(WindowFromDC(hDC),
+ "Failed to set pixel format.",
+ "OpenGL application error",
+ MB_ICONERROR | MB_OK);
+ exit(1);
+ }
+}
+
+LRESULT APIENTRY
+WndProc(
+ HWND hWnd,
+ UINT message,
+ WPARAM wParam,
+ LPARAM lParam)
+{
+ switch (message) {
+ case WM_CREATE:
+ return 0;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ return 0;
+ case WM_SIZE:
+ if (hGLRC) {
+ winWidth = (int) LOWORD(lParam);
+ winHeight = (int) HIWORD(lParam);
+ /**/
+ if (renderToDIB) {
+ resizeDIB(hDC);
+ }
+ /**/
+ resize();
+ return 0;
+ }
+ case WM_PALETTECHANGED:
+ /*
+ ** Update palette mapping if this *is not* the active window.
+ */
+ if (hGLRC && hPalette && (HWND) wParam != hWnd) {
+ UnrealizeObject(hPalette);
+ SelectPalette(hDC, hPalette, FALSE);
+ RealizePalette(hDC);
+ redraw();
+ return 0;
+ }
+ break;
+ case WM_QUERYNEWPALETTE:
+ /*
+ ** Update palette mapping if this *is* the active window.
+ */
+ if (hGLRC && hPalette) {
+ UnrealizeObject(hPalette);
+ SelectPalette(hDC, hPalette, FALSE);
+ RealizePalette(hDC);
+ redraw();
+ return TRUE;
+ }
+ break;
+ case WM_PAINT:
+ /*
+ ** Update the window. Don't use the device context returned by
+ ** BeginPaint as it won't have the right palette selected into it.
+ */
+ if (hGLRC) {
+ PAINTSTRUCT ps;
+
+ BeginPaint(hWnd, &ps);
+ redraw();
+ EndPaint(hWnd, &ps);
+ return 0;
+ }
+ break;
+ case WM_CHAR:
+ switch ((int)wParam) {
+ case VK_ESCAPE:
+ DestroyWindow(hWnd);
+ return 0;
+ case VK_SPACE:
+ if (idleFunc) {
+ idleFunc = NULL;
+ } else {
+ idleFunc = doRedraw;
+ }
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+
+ /* Deal with any unprocessed messages */
+ return DefWindowProc(hWnd, message, wParam, lParam);
+}
+
+int APIENTRY
+WinMain(
+ HINSTANCE hCurrentInst,
+ HINSTANCE hPreviousInst,
+ LPSTR lpszCmdLine,
+ int nCmdShow)
+{
+ const GLubyte * Ret;
+ WNDCLASS wndClass;
+ HWND hWnd;
+ MSG msg;
+
+ __asm int 3;
+ Ret = glGetString( GL_EXTENSIONS );
+
+ /* Define and register a window class */
+ wndClass.style = CS_HREDRAW | CS_VREDRAW;
+ wndClass.lpfnWndProc = WndProc;
+ wndClass.cbClsExtra = 0;
+ wndClass.cbWndExtra = 0;
+ wndClass.hInstance = hCurrentInst;
+ wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
+ wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
+ wndClass.hbrBackground = GetStockObject(WHITE_BRUSH);
+ wndClass.lpszMenuName = NULL;
+ wndClass.lpszClassName = className;
+ RegisterClass(&wndClass);
+
+ /* Create a window of the previously defined class */
+ hWnd = CreateWindow(
+ className, /* Window class's name */
+ windowName, /* Title bar text */
+ WS_OVERLAPPEDWINDOW | /* The window's style */
+ WS_CLIPCHILDREN |
+ WS_CLIPSIBLINGS,
+ winX, winY, /* Position */
+ winWidth, winHeight, /* Size */
+ NULL, /* Parent window's handle */
+ NULL, /* Menu handle */
+ hCurrentInst, /* Instance handle */
+ NULL); /* No additional data */
+
+ /* Map the window to the screen */
+ ShowWindow(hWnd, nCmdShow);
+
+ /* Force the window to repaint itself */
+ UpdateWindow(hWnd);
+
+ /*
+ ** Set up for OpenGL rendering. Bind the rendering context to
+ ** the same device context that the palette will be selected into.
+ */
+ hDC = GetDC(hWnd);
+ hDCFrontBuffer = hDC;
+ if (renderToDIB) {
+ hDC = CreateCompatibleDC(hDCFrontBuffer);
+ setupDIB(hDC);
+ }
+ Ret = glGetString( GL_EXTENSIONS );
+ setupPixelFormat(hDC);
+ Ret = glGetString( GL_EXTENSIONS );
+ setupPalette(hDC);
+ Ret = glGetString( GL_EXTENSIONS );
+ hGLRC = wglCreateContext(hDC);
+ Ret = glGetString( GL_EXTENSIONS );
+ wglMakeCurrent(hDC, hGLRC);
+ Ret = glGetString( GL_EXTENSIONS );
+ init();
+ idleFunc = doRedraw;
+
+
+
+ /* Process Messages */
+ while (1) {
+ /* execute the idle function while there are no messages to process */
+ while (idleFunc &&
+ PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) == FALSE)
+ {
+ (*idleFunc)();
+ }
+ if (GetMessage(&msg, NULL, 0, 0) != TRUE) {
+ break;
+ }
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+
+ /*
+ ** Finish OpenGL rendering.
+ */
+ idleFunc = NULL;
+ if (hGLRC) {
+ wglMakeCurrent(NULL, NULL);
+ wglDeleteContext(hGLRC);
+ }
+ ReleaseDC(hWnd, hDC);
+
+ return msg.wParam;
+}
diff --git a/xorg-server/hw/xwin/glx/wgl.xml b/xorg-server/hw/xwin/glx/wgl.xml
new file mode 100644
index 000000000..0114547c2
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/wgl.xml
@@ -0,0 +1,1958 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<registry>
+ <!--
+ Copyright (c) 2013-2014 The Khronos Group Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ 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 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.
+ -->
+ <!--
+ This file, wgl.xml, is the WGL API Registry. The older ".spec" file
+ format has been retired and will no longer be updated with new
+ extensions and API versions. The canonical version of the registry,
+ together with documentation, schema, and Python generator scripts used
+ to generate C header files for WGL, can always be found in the Khronos
+ Registry at
+ http://www.opengl.org/registry/
+ -->
+
+ <!-- SECTION: WGL type definitions. Does not include base Windows types. -->
+
+ <types>
+ <!-- Dummy placeholders for Windows types -->
+ <type name="BOOL"/>
+ <type name="CHAR"/>
+ <type name="DWORD"/>
+ <type name="FLOAT"/>
+ <type name="GLbitfield"/>
+ <type name="GLboolean"/>
+ <type name="GLenum"/>
+ <type name="GLfloat"/>
+ <type name="GLint"/>
+ <type name="GLsizei"/>
+ <type name="GLuint"/>
+ <type name="GLushort"/>
+ <type name="HANDLE"/>
+ <type name="HDC"/>
+ <type name="HGLRC"/>
+ <type name="INT"/>
+ <type name="INT32"/>
+ <type name="INT64"/>
+ <type name="PROC"/>
+ <type name="RECT"/>
+ <type name="LPCSTR"/>
+ <type name="LPVOID"/>
+ <type name="UINT"/>
+ <type name="USHORT"/>
+ <type name="VOID"/>
+ <!-- Could be filled in from wgltypes.txt -->
+ <type name="COLORREF"/>
+ <type name="HENHMETAFILE"/>
+ <type name="LAYERPLANEDESCRIPTOR"/>
+ <type name="LPGLYPHMETRICSFLOAT"/>
+ <type name="PIXELFORMATDESCRIPTOR"/>
+ <!-- These are dependencies WGL types require to be declared legally -->
+ <!-- Declaring C structures in XML is a pain indentation-wise -->
+ <type>struct <name>_GPU_DEVICE</name> {
+ DWORD cb;
+ CHAR DeviceName[32];
+ CHAR DeviceString[128];
+ DWORD Flags;
+ RECT rcVirtualScreen;
+};</type>
+ <!-- These are actual WGL types. Windows types are not included. -->
+ <type>DECLARE_HANDLE(<name>HPBUFFERARB</name>);</type>
+ <type>DECLARE_HANDLE(<name>HPBUFFEREXT</name>);</type>
+ <type>DECLARE_HANDLE(<name>HVIDEOOUTPUTDEVICENV</name>);</type>
+ <type>DECLARE_HANDLE(<name>HPVIDEODEV</name>);</type>
+ <type>DECLARE_HANDLE(<name>HPGPUNV</name>);</type>
+ <type>DECLARE_HANDLE(<name>HGPUNV</name>);</type>
+ <type>DECLARE_HANDLE(<name>HVIDEOINPUTDEVICENV</name>);</type>
+ <type requires="_GPU_DEVICE">typedef struct _GPU_DEVICE <name>GPU_DEVICE</name>;</type>
+ <type requires="_GPU_DEVICE">typedef struct _GPU_DEVICE *<name>PGPU_DEVICE</name>;</type>
+ </types>
+
+ <!-- SECTION: WGL enumerant (token) definitions. -->
+
+ <!-- Bitmasks each have their own namespace, although bits are
+ sometimes reused for other purposes -->
+
+ <enums namespace="WGLLayerPlaneMask" type="bitmask" vendor="MS">
+ <enum value="0x00000001" name="WGL_SWAP_MAIN_PLANE"/>
+ <enum value="0x00000002" name="WGL_SWAP_OVERLAY1"/>
+ <enum value="0x00000004" name="WGL_SWAP_OVERLAY2"/>
+ <enum value="0x00000008" name="WGL_SWAP_OVERLAY3"/>
+ <enum value="0x00000010" name="WGL_SWAP_OVERLAY4"/>
+ <enum value="0x00000020" name="WGL_SWAP_OVERLAY5"/>
+ <enum value="0x00000040" name="WGL_SWAP_OVERLAY6"/>
+ <enum value="0x00000080" name="WGL_SWAP_OVERLAY7"/>
+ <enum value="0x00000100" name="WGL_SWAP_OVERLAY8"/>
+ <enum value="0x00000200" name="WGL_SWAP_OVERLAY9"/>
+ <enum value="0x00000400" name="WGL_SWAP_OVERLAY10"/>
+ <enum value="0x00000800" name="WGL_SWAP_OVERLAY11"/>
+ <enum value="0x00001000" name="WGL_SWAP_OVERLAY12"/>
+ <enum value="0x00002000" name="WGL_SWAP_OVERLAY13"/>
+ <enum value="0x00004000" name="WGL_SWAP_OVERLAY14"/>
+ <enum value="0x00008000" name="WGL_SWAP_OVERLAY15"/>
+ <enum value="0x00010000" name="WGL_SWAP_UNDERLAY1"/>
+ <enum value="0x00020000" name="WGL_SWAP_UNDERLAY2"/>
+ <enum value="0x00040000" name="WGL_SWAP_UNDERLAY3"/>
+ <enum value="0x00080000" name="WGL_SWAP_UNDERLAY4"/>
+ <enum value="0x00100000" name="WGL_SWAP_UNDERLAY5"/>
+ <enum value="0x00200000" name="WGL_SWAP_UNDERLAY6"/>
+ <enum value="0x00400000" name="WGL_SWAP_UNDERLAY7"/>
+ <enum value="0x00800000" name="WGL_SWAP_UNDERLAY8"/>
+ <enum value="0x01000000" name="WGL_SWAP_UNDERLAY9"/>
+ <enum value="0x02000000" name="WGL_SWAP_UNDERLAY10"/>
+ <enum value="0x04000000" name="WGL_SWAP_UNDERLAY11"/>
+ <enum value="0x08000000" name="WGL_SWAP_UNDERLAY12"/>
+ <enum value="0x10000000" name="WGL_SWAP_UNDERLAY13"/>
+ <enum value="0x20000000" name="WGL_SWAP_UNDERLAY14"/>
+ <enum value="0x40000000" name="WGL_SWAP_UNDERLAY15"/>
+ </enums>
+
+ <enums namespace="WGLColorBufferMask" type="bitmask" vendor="ARB">
+ <enum value="0x00000001" name="WGL_FRONT_COLOR_BUFFER_BIT_ARB"/>
+ <enum value="0x00000002" name="WGL_BACK_COLOR_BUFFER_BIT_ARB"/>
+ <enum value="0x00000004" name="WGL_DEPTH_BUFFER_BIT_ARB"/>
+ <enum value="0x00000008" name="WGL_STENCIL_BUFFER_BIT_ARB"/>
+ </enums>
+
+ <enums namespace="WGLContextFlagsMask" type="bitmask" vendor="ARB">
+ <enum value="0x00000001" name="WGL_CONTEXT_DEBUG_BIT_ARB"/>
+ <enum value="0x00000002" name="WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB"/>
+ <enum value="0x00000004" name="WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB"/>
+ <enum value="0x00000008" name="WGL_CONTEXT_RESET_ISOLATION_BIT_ARB"/>
+ </enums>
+
+ <enums namespace="WGLContextProfileMask" type="bitmask" vendor="ARB">
+ <enum value="0x00000001" name="WGL_CONTEXT_CORE_PROFILE_BIT_ARB"/>
+ <enum value="0x00000002" name="WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB"/>
+ <enum value="0x00000004" name="WGL_CONTEXT_ES_PROFILE_BIT_EXT"/>
+ <enum value="0x00000004" name="WGL_CONTEXT_ES2_PROFILE_BIT_EXT" alias="WGL_CONTEXT_ES_PROFILE_BIT_EXT"/>
+ </enums>
+
+ <enums namespace="WGLImageBufferMaskI3D" type="bitmask" vendor="I3D">
+ <enum value="0x00000001" name="WGL_IMAGE_BUFFER_MIN_ACCESS_I3D"/>
+ <enum value="0x00000002" name="WGL_IMAGE_BUFFER_LOCK_I3D"/>
+ </enums>
+
+ <enums namespace="WGLDXInteropMaskNV" type="bitmask" vendor="NV">
+ <enum value="0x00000000" name="WGL_ACCESS_READ_ONLY_NV"/>
+ <enum value="0x00000001" name="WGL_ACCESS_READ_WRITE_NV"/>
+ <enum value="0x00000002" name="WGL_ACCESS_WRITE_DISCARD_NV"/>
+ </enums>
+
+ <!-- The default ("API") enum namespace starts here. While some
+ assigned values may overlap, and different parts of the
+ namespace are reserved for different purposes, it is a single
+ namespace. The "class" attribute indicates some of the reserved
+ purposes but is by no means complete (and cannot be, since many
+ tokens are reused for different purposes in different
+ extensions and API versions). -->
+
+ <enums namespace="WGL" group="SpecialNumbers" vendor="MS">
+ <enum value="0" name="WGL_FONT_LINES"/>
+ <enum value="1" name="WGL_FONT_POLYGONS"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x1F00" end="0x1F02" vendor="ARB" comment="Unclear why AMD used values in this range">
+ <enum value="0x1F00" name="WGL_GPU_VENDOR_AMD"/>
+ <enum value="0x1F01" name="WGL_GPU_RENDERER_STRING_AMD"/>
+ <enum value="0x1F02" name="WGL_GPU_OPENGL_VERSION_STRING_AMD"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x2000" end="0x203F" vendor="ARB">
+ <enum value="0x2000" name="WGL_NUMBER_PIXEL_FORMATS_ARB"/>
+ <enum value="0x2000" name="WGL_NUMBER_PIXEL_FORMATS_EXT"/>
+ <enum value="0x2001" name="WGL_DRAW_TO_WINDOW_ARB"/>
+ <enum value="0x2001" name="WGL_DRAW_TO_WINDOW_EXT"/>
+ <enum value="0x2002" name="WGL_DRAW_TO_BITMAP_ARB"/>
+ <enum value="0x2002" name="WGL_DRAW_TO_BITMAP_EXT"/>
+ <enum value="0x2003" name="WGL_ACCELERATION_ARB"/>
+ <enum value="0x2003" name="WGL_ACCELERATION_EXT"/>
+ <enum value="0x2004" name="WGL_NEED_PALETTE_ARB"/>
+ <enum value="0x2004" name="WGL_NEED_PALETTE_EXT"/>
+ <enum value="0x2005" name="WGL_NEED_SYSTEM_PALETTE_ARB"/>
+ <enum value="0x2005" name="WGL_NEED_SYSTEM_PALETTE_EXT"/>
+ <enum value="0x2006" name="WGL_SWAP_LAYER_BUFFERS_ARB"/>
+ <enum value="0x2006" name="WGL_SWAP_LAYER_BUFFERS_EXT"/>
+ <enum value="0x2007" name="WGL_SWAP_METHOD_ARB"/>
+ <enum value="0x2007" name="WGL_SWAP_METHOD_EXT"/>
+ <enum value="0x2008" name="WGL_NUMBER_OVERLAYS_ARB"/>
+ <enum value="0x2008" name="WGL_NUMBER_OVERLAYS_EXT"/>
+ <enum value="0x2009" name="WGL_NUMBER_UNDERLAYS_ARB"/>
+ <enum value="0x2009" name="WGL_NUMBER_UNDERLAYS_EXT"/>
+ <enum value="0x200A" name="WGL_TRANSPARENT_ARB"/>
+ <enum value="0x200A" name="WGL_TRANSPARENT_EXT"/>
+ <enum value="0x200B" name="WGL_TRANSPARENT_VALUE_EXT"/>
+ <enum value="0x200C" name="WGL_SHARE_DEPTH_ARB"/>
+ <enum value="0x200C" name="WGL_SHARE_DEPTH_EXT"/>
+ <enum value="0x200D" name="WGL_SHARE_STENCIL_ARB"/>
+ <enum value="0x200D" name="WGL_SHARE_STENCIL_EXT"/>
+ <enum value="0x200E" name="WGL_SHARE_ACCUM_ARB"/>
+ <enum value="0x200E" name="WGL_SHARE_ACCUM_EXT"/>
+ <enum value="0x200F" name="WGL_SUPPORT_GDI_ARB"/>
+ <enum value="0x200F" name="WGL_SUPPORT_GDI_EXT"/>
+ <enum value="0x2010" name="WGL_SUPPORT_OPENGL_ARB"/>
+ <enum value="0x2010" name="WGL_SUPPORT_OPENGL_EXT"/>
+ <enum value="0x2011" name="WGL_DOUBLE_BUFFER_ARB"/>
+ <enum value="0x2011" name="WGL_DOUBLE_BUFFER_EXT"/>
+ <enum value="0x2012" name="WGL_STEREO_ARB"/>
+ <enum value="0x2012" name="WGL_STEREO_EXT"/>
+ <enum value="0x2013" name="WGL_PIXEL_TYPE_ARB"/>
+ <enum value="0x2013" name="WGL_PIXEL_TYPE_EXT"/>
+ <enum value="0x2014" name="WGL_COLOR_BITS_ARB"/>
+ <enum value="0x2014" name="WGL_COLOR_BITS_EXT"/>
+ <enum value="0x2015" name="WGL_RED_BITS_ARB"/>
+ <enum value="0x2015" name="WGL_RED_BITS_EXT"/>
+ <enum value="0x2016" name="WGL_RED_SHIFT_ARB"/>
+ <enum value="0x2016" name="WGL_RED_SHIFT_EXT"/>
+ <enum value="0x2017" name="WGL_GREEN_BITS_ARB"/>
+ <enum value="0x2017" name="WGL_GREEN_BITS_EXT"/>
+ <enum value="0x2018" name="WGL_GREEN_SHIFT_ARB"/>
+ <enum value="0x2018" name="WGL_GREEN_SHIFT_EXT"/>
+ <enum value="0x2019" name="WGL_BLUE_BITS_ARB"/>
+ <enum value="0x2019" name="WGL_BLUE_BITS_EXT"/>
+ <enum value="0x201A" name="WGL_BLUE_SHIFT_ARB"/>
+ <enum value="0x201A" name="WGL_BLUE_SHIFT_EXT"/>
+ <enum value="0x201B" name="WGL_ALPHA_BITS_ARB"/>
+ <enum value="0x201B" name="WGL_ALPHA_BITS_EXT"/>
+ <enum value="0x201C" name="WGL_ALPHA_SHIFT_ARB"/>
+ <enum value="0x201C" name="WGL_ALPHA_SHIFT_EXT"/>
+ <enum value="0x201D" name="WGL_ACCUM_BITS_ARB"/>
+ <enum value="0x201D" name="WGL_ACCUM_BITS_EXT"/>
+ <enum value="0x201E" name="WGL_ACCUM_RED_BITS_ARB"/>
+ <enum value="0x201E" name="WGL_ACCUM_RED_BITS_EXT"/>
+ <enum value="0x201F" name="WGL_ACCUM_GREEN_BITS_ARB"/>
+ <enum value="0x201F" name="WGL_ACCUM_GREEN_BITS_EXT"/>
+ <enum value="0x2020" name="WGL_ACCUM_BLUE_BITS_ARB"/>
+ <enum value="0x2020" name="WGL_ACCUM_BLUE_BITS_EXT"/>
+ <enum value="0x2021" name="WGL_ACCUM_ALPHA_BITS_ARB"/>
+ <enum value="0x2021" name="WGL_ACCUM_ALPHA_BITS_EXT"/>
+ <enum value="0x2022" name="WGL_DEPTH_BITS_ARB"/>
+ <enum value="0x2022" name="WGL_DEPTH_BITS_EXT"/>
+ <enum value="0x2023" name="WGL_STENCIL_BITS_ARB"/>
+ <enum value="0x2023" name="WGL_STENCIL_BITS_EXT"/>
+ <enum value="0x2024" name="WGL_AUX_BUFFERS_ARB"/>
+ <enum value="0x2024" name="WGL_AUX_BUFFERS_EXT"/>
+ <enum value="0x2025" name="WGL_NO_ACCELERATION_ARB"/>
+ <enum value="0x2025" name="WGL_NO_ACCELERATION_EXT"/>
+ <enum value="0x2026" name="WGL_GENERIC_ACCELERATION_ARB"/>
+ <enum value="0x2026" name="WGL_GENERIC_ACCELERATION_EXT"/>
+ <enum value="0x2027" name="WGL_FULL_ACCELERATION_ARB"/>
+ <enum value="0x2027" name="WGL_FULL_ACCELERATION_EXT"/>
+ <enum value="0x2028" name="WGL_SWAP_EXCHANGE_ARB"/>
+ <enum value="0x2028" name="WGL_SWAP_EXCHANGE_EXT"/>
+ <enum value="0x2029" name="WGL_SWAP_COPY_ARB"/>
+ <enum value="0x2029" name="WGL_SWAP_COPY_EXT"/>
+ <enum value="0x202A" name="WGL_SWAP_UNDEFINED_ARB"/>
+ <enum value="0x202A" name="WGL_SWAP_UNDEFINED_EXT"/>
+ <enum value="0x202B" name="WGL_TYPE_RGBA_ARB"/>
+ <enum value="0x202B" name="WGL_TYPE_RGBA_EXT"/>
+ <enum value="0x202C" name="WGL_TYPE_COLORINDEX_ARB"/>
+ <enum value="0x202C" name="WGL_TYPE_COLORINDEX_EXT"/>
+ <enum value="0x202D" name="WGL_DRAW_TO_PBUFFER_ARB"/>
+ <enum value="0x202D" name="WGL_DRAW_TO_PBUFFER_EXT"/>
+ <enum value="0x202E" name="WGL_MAX_PBUFFER_PIXELS_ARB"/>
+ <enum value="0x202E" name="WGL_MAX_PBUFFER_PIXELS_EXT"/>
+ <enum value="0x202F" name="WGL_MAX_PBUFFER_WIDTH_ARB"/>
+ <enum value="0x202F" name="WGL_MAX_PBUFFER_WIDTH_EXT"/>
+ <enum value="0x2030" name="WGL_MAX_PBUFFER_HEIGHT_ARB"/>
+ <enum value="0x2030" name="WGL_MAX_PBUFFER_HEIGHT_EXT"/>
+ <enum value="0x2031" name="WGL_OPTIMAL_PBUFFER_WIDTH_EXT"/>
+ <enum value="0x2032" name="WGL_OPTIMAL_PBUFFER_HEIGHT_EXT"/>
+ <enum value="0x2033" name="WGL_PBUFFER_LARGEST_ARB"/>
+ <enum value="0x2033" name="WGL_PBUFFER_LARGEST_EXT"/>
+ <enum value="0x2034" name="WGL_PBUFFER_WIDTH_ARB"/>
+ <enum value="0x2034" name="WGL_PBUFFER_WIDTH_EXT"/>
+ <enum value="0x2035" name="WGL_PBUFFER_HEIGHT_ARB"/>
+ <enum value="0x2035" name="WGL_PBUFFER_HEIGHT_EXT"/>
+ <enum value="0x2036" name="WGL_PBUFFER_LOST_ARB"/>
+ <enum value="0x2037" name="WGL_TRANSPARENT_RED_VALUE_ARB"/>
+ <enum value="0x2038" name="WGL_TRANSPARENT_GREEN_VALUE_ARB"/>
+ <enum value="0x2039" name="WGL_TRANSPARENT_BLUE_VALUE_ARB"/>
+ <enum value="0x203A" name="WGL_TRANSPARENT_ALPHA_VALUE_ARB"/>
+ <enum value="0x203B" name="WGL_TRANSPARENT_INDEX_VALUE_ARB"/>
+ <unused start="0x203C" end="0x203F"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x2040" end="0x205F" vendor="I3D">
+ <enum value="0x2040" name="WGL_DEPTH_FLOAT_EXT"/>
+ <enum value="0x2041" name="WGL_SAMPLE_BUFFERS_ARB"/>
+ <enum value="0x2041" name="WGL_SAMPLE_BUFFERS_EXT"/>
+ <enum value="0x2042" name="WGL_COVERAGE_SAMPLES_NV"/>
+ <enum value="0x2042" name="WGL_SAMPLES_ARB"/>
+ <enum value="0x2042" name="WGL_SAMPLES_EXT"/>
+ <enum value="0x2043" name="ERROR_INVALID_PIXEL_TYPE_ARB"/>
+ <enum value="0x2043" name="ERROR_INVALID_PIXEL_TYPE_EXT"/>
+ <enum value="0x2044" name="WGL_GENLOCK_SOURCE_MULTIVIEW_I3D"/>
+ <enum value="0x2045" name="WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D"/>
+ <enum value="0x2046" name="WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D"/>
+ <enum value="0x2047" name="WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D"/>
+ <enum value="0x2048" name="WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D"/>
+ <enum value="0x2049" name="WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D"/>
+ <enum value="0x204A" name="WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D"/>
+ <enum value="0x204B" name="WGL_GENLOCK_SOURCE_EDGE_RISING_I3D"/>
+ <enum value="0x204C" name="WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D"/>
+ <unused start="0x204D"/>
+ <enum value="0x204E" name="WGL_GAMMA_TABLE_SIZE_I3D"/>
+ <enum value="0x204F" name="WGL_GAMMA_EXCLUDE_DESKTOP_I3D"/>
+ <enum value="0x2050" name="WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D"/>
+ <enum value="0x2051" name="WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D"/>
+ <enum value="0x2052" name="WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D"/>
+ <enum value="0x2053" name="WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D"/>
+ <enum value="0x2054" name="ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB"/>
+ <enum value="0x2055" name="WGL_STEREO_EMITTER_ENABLE_3DL"/>
+ <enum value="0x2056" name="WGL_STEREO_EMITTER_DISABLE_3DL"/>
+ <enum value="0x2057" name="WGL_STEREO_POLARITY_NORMAL_3DL"/>
+ <enum value="0x2058" name="WGL_STEREO_POLARITY_INVERT_3DL"/>
+ <unused start="0x2059" end="0x205F"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x2060" end="0x206F" vendor="3DFX">
+ <unused start="0x2060" end="0x206F" comment="Could be reclaimed"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x2070" end="0x209F" vendor="ARB" comment="Shared with GLX; synchronize create_context enums">
+ <enum value="0x2060" name="WGL_SAMPLE_BUFFERS_3DFX"/>
+ <enum value="0x2061" name="WGL_SAMPLES_3DFX"/>
+ <enum value="0x2070" name="WGL_BIND_TO_TEXTURE_RGB_ARB"/>
+ <enum value="0x2071" name="WGL_BIND_TO_TEXTURE_RGBA_ARB"/>
+ <enum value="0x2072" name="WGL_TEXTURE_FORMAT_ARB"/>
+ <enum value="0x2073" name="WGL_TEXTURE_TARGET_ARB"/>
+ <enum value="0x2074" name="WGL_MIPMAP_TEXTURE_ARB"/>
+ <enum value="0x2075" name="WGL_TEXTURE_RGB_ARB"/>
+ <enum value="0x2076" name="WGL_TEXTURE_RGBA_ARB"/>
+ <enum value="0x2077" name="WGL_NO_TEXTURE_ARB"/>
+ <enum value="0x2078" name="WGL_TEXTURE_CUBE_MAP_ARB"/>
+ <enum value="0x2079" name="WGL_TEXTURE_1D_ARB"/>
+ <enum value="0x207A" name="WGL_TEXTURE_2D_ARB"/>
+ <enum value="0x207B" name="WGL_MIPMAP_LEVEL_ARB"/>
+ <enum value="0x207C" name="WGL_CUBE_MAP_FACE_ARB"/>
+ <enum value="0x207D" name="WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"/>
+ <enum value="0x207E" name="WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"/>
+ <enum value="0x207F" name="WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"/>
+ <enum value="0x2080" name="WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"/>
+ <enum value="0x2081" name="WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"/>
+ <enum value="0x2082" name="WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"/>
+ <enum value="0x2083" name="WGL_FRONT_LEFT_ARB"/>
+ <enum value="0x2084" name="WGL_FRONT_RIGHT_ARB"/>
+ <enum value="0x2085" name="WGL_BACK_LEFT_ARB"/>
+ <enum value="0x2086" name="WGL_BACK_RIGHT_ARB"/>
+ <enum value="0x2087" name="WGL_AUX0_ARB"/>
+ <enum value="0x2088" name="WGL_AUX1_ARB"/>
+ <enum value="0x2089" name="WGL_AUX2_ARB"/>
+ <enum value="0x208A" name="WGL_AUX3_ARB"/>
+ <enum value="0x208B" name="WGL_AUX4_ARB"/>
+ <enum value="0x208C" name="WGL_AUX5_ARB"/>
+ <enum value="0x208D" name="WGL_AUX6_ARB"/>
+ <enum value="0x208E" name="WGL_AUX7_ARB"/>
+ <enum value="0x208F" name="WGL_AUX8_ARB"/>
+ <enum value="0x2090" name="WGL_AUX9_ARB"/>
+ <enum value="0x2091" name="WGL_CONTEXT_MAJOR_VERSION_ARB"/>
+ <enum value="0x2092" name="WGL_CONTEXT_MINOR_VERSION_ARB"/>
+ <enum value="0x2093" name="WGL_CONTEXT_LAYER_PLANE_ARB"/>
+ <enum value="0x2094" name="WGL_CONTEXT_FLAGS_ARB"/>
+ <enum value="0x2095" name="ERROR_INVALID_VERSION_ARB"/>
+ <enum value="0x2096" name="ERROR_INVALID_PROFILE_ARB"/>
+ <!-- 0x2097-0x2098 reserved for future WGL/GLX extensions -->
+ <unused start="0x2099" end="0x209F"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x20A0" end="0x219F" vendor="NV" comment="shared with GLX">
+ <enum value="0x20A0" name="WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV"/>
+ <enum value="0x20A1" name="WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV"/>
+ <enum value="0x20A2" name="WGL_TEXTURE_RECTANGLE_NV"/>
+ <enum value="0x20A3" name="WGL_BIND_TO_TEXTURE_DEPTH_NV"/>
+ <enum value="0x20A4" name="WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV"/>
+ <enum value="0x20A5" name="WGL_DEPTH_TEXTURE_FORMAT_NV"/>
+ <enum value="0x20A6" name="WGL_TEXTURE_DEPTH_COMPONENT_NV"/>
+ <enum value="0x20A7" name="WGL_DEPTH_COMPONENT_NV"/>
+ <enum value="0x20A8" name="WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT"/>
+ <enum value="0x20A9" name="WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB"/>
+ <enum value="0x20A9" name="WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
+ <unused start="0x20AA" end="0x20AF"/>
+ <enum value="0x20B0" name="WGL_FLOAT_COMPONENTS_NV"/>
+ <enum value="0x20B1" name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV"/>
+ <enum value="0x20B2" name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV"/>
+ <enum value="0x20B3" name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV"/>
+ <enum value="0x20B4" name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV"/>
+ <enum value="0x20B5" name="WGL_TEXTURE_FLOAT_R_NV"/>
+ <enum value="0x20B6" name="WGL_TEXTURE_FLOAT_RG_NV"/>
+ <enum value="0x20B7" name="WGL_TEXTURE_FLOAT_RGB_NV"/>
+ <enum value="0x20B8" name="WGL_TEXTURE_FLOAT_RGBA_NV"/>
+ <enum value="0x20B9" name="WGL_COLOR_SAMPLES_NV"/>
+ <unused start="0x20BA" end="0x20BF"/>
+ <enum value="0x20C0" name="WGL_BIND_TO_VIDEO_RGB_NV"/>
+ <enum value="0x20C1" name="WGL_BIND_TO_VIDEO_RGBA_NV"/>
+ <enum value="0x20C2" name="WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV"/>
+ <enum value="0x20C3" name="WGL_VIDEO_OUT_COLOR_NV"/>
+ <enum value="0x20C4" name="WGL_VIDEO_OUT_ALPHA_NV"/>
+ <enum value="0x20C5" name="WGL_VIDEO_OUT_DEPTH_NV"/>
+ <enum value="0x20C6" name="WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV"/>
+ <enum value="0x20C7" name="WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV"/>
+ <enum value="0x20C8" name="WGL_VIDEO_OUT_FRAME"/>
+ <enum value="0x20C9" name="WGL_VIDEO_OUT_FIELD_1"/>
+ <enum value="0x20CA" name="WGL_VIDEO_OUT_FIELD_2"/>
+ <enum value="0x20CB" name="WGL_VIDEO_OUT_STACKED_FIELDS_1_2"/>
+ <enum value="0x20CC" name="WGL_VIDEO_OUT_STACKED_FIELDS_2_1"/>
+ <unused start="0x20CD" comment="reserved for GLX_DEVICE_ID_NV (not present in WGL interface)"/>
+ <enum value="0x20CE" name="WGL_UNIQUE_ID_NV"/>
+ <enum value="0x20CF" name="WGL_NUM_VIDEO_CAPTURE_SLOTS_NV"/>
+ <enum value="0x20D0" name="ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV"/>
+ <enum value="0x20D1" name="ERROR_MISSING_AFFINITY_MASK_NV"/>
+ <unused start="0x20D2" end="0x20EF"/>
+ <enum value="0x20F0" name="WGL_NUM_VIDEO_SLOTS_NV"/>
+ <unused start="0x20F1" end="0x219F"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x21A0" end="0x21AF" vendor="AMD">
+ <enum value="0x21A0" name="WGL_TYPE_RGBA_FLOAT_ARB"/>
+ <enum value="0x21A0" name="WGL_TYPE_RGBA_FLOAT_ATI"/>
+ <unused start="0x21A1"/>
+ <enum value="0x21A2" name="WGL_GPU_FASTEST_TARGET_GPUS_AMD"/>
+ <enum value="0x21A3" name="WGL_GPU_RAM_AMD"/>
+ <enum value="0x21A4" name="WGL_GPU_CLOCK_AMD"/>
+ <enum value="0x21A5" name="WGL_GPU_NUM_PIPES_AMD"/>
+ <enum value="0x21A6" name="WGL_GPU_NUM_SIMD_AMD"/>
+ <enum value="0x21A7" name="WGL_GPU_NUM_RB_AMD"/>
+ <enum value="0x21A8" name="WGL_GPU_NUM_SPI_AMD"/>
+ <unused start="0x21A9" end="0x21AF"/>
+ </enums>
+
+ <enums namespace="WGL" start="0x21B0" end="0x21BF" vendor="Matrox" comment="could be reclaimed (tentative, RFC sent to ARB 2002/10/3)">
+ <unused start="0x21B0" end="0x21BF"/>
+ </enums>
+
+<!-- Please remember that new enumerant allocations must be obtained by
+ request to the Khronos API registrar (see comments at the top of this
+ file) File requests in the Khronos Bugzilla, OpenGL project, Registry
+ component. Also note that some GLX enum values are shared with GL and
+ WGL, and new ranges should be allocated with such overlaps in mind. -->
+
+<!-- Reservable for future use: 0x21C0-0x2FFF.
+ To generate a new range, allocate multiples of 16 starting at the
+ lowest available point in this block. -->
+ <enums namespace="WGL" start="0x21C0" end="0x2FFF" vendor="ARB">
+ <unused start="0x21C0" end="0x2FFF" comment="Reserved for future use"/>
+ </enums>
+
+ <enums namespace="GL" start="0x8250" end="0x826F" vendor="ARB" comment="Values shared with GL. Do not allocate additional values in this range.">
+ <enum value="0x8252" name="WGL_LOSE_CONTEXT_ON_RESET_ARB"/>
+ <enum value="0x8256" name="WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB"/>
+ <enum value="0x8261" name="WGL_NO_RESET_NOTIFICATION_ARB"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9120" end="0x912F" vendor="ARB" comment="Values shared with GL. Do not allocate additional values in this range.">
+ <enum value="0x9126" name="WGL_CONTEXT_PROFILE_MASK_ARB"/>
+ </enums>
+
+ <!-- SECTION: WGL command definitions. -->
+ <commands namespace="WGL">
+ <command>
+ <proto>int <name>ChoosePixelFormat</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param>const <ptype>PIXELFORMATDESCRIPTOR</ptype> *<name>pPfd</name></param>
+ </command>
+ <command>
+ <proto>int <name>DescribePixelFormat</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>ipfd</name></param>
+ <param><ptype>UINT</ptype> <name>cjpfd</name></param>
+ <param>const <ptype>PIXELFORMATDESCRIPTOR</ptype> *<name>ppfd</name></param>
+ </command>
+ <command>
+ <proto>int <name>GetPixelFormat</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>SetPixelFormat</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>ipfd</name></param>
+ <param>const <ptype>PIXELFORMATDESCRIPTOR</ptype> *<name>ppfd</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>SwapBuffers</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ </command>
+ <command>
+ <proto>void *<name>wglAllocateMemoryNV</name></proto>
+ <param><ptype>GLsizei</ptype> <name>size</name></param>
+ <param><ptype>GLfloat</ptype> <name>readfreq</name></param>
+ <param><ptype>GLfloat</ptype> <name>writefreq</name></param>
+ <param><ptype>GLfloat</ptype> <name>priority</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglAssociateImageBufferEventsI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>const <ptype>HANDLE</ptype> *<name>pEvent</name></param>
+ <param>const <ptype>LPVOID</ptype> *<name>pAddress</name></param>
+ <param>const <ptype>DWORD</ptype> *<name>pSize</name></param>
+ <param><ptype>UINT</ptype> <name>count</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglBeginFrameTrackingI3D</name></proto>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>wglBindDisplayColorTableEXT</name></proto>
+ <param><ptype>GLushort</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglBindSwapBarrierNV</name></proto>
+ <param><ptype>GLuint</ptype> <name>group</name></param>
+ <param><ptype>GLuint</ptype> <name>barrier</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglBindTexImageARB</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param>int <name>iBuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglBindVideoCaptureDeviceNV</name></proto>
+ <param><ptype>UINT</ptype> <name>uVideoSlot</name></param>
+ <param><ptype>HVIDEOINPUTDEVICENV</ptype> <name>hDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglBindVideoDeviceNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>unsigned int <name>uVideoSlot</name></param>
+ <param><ptype>HVIDEOOUTPUTDEVICENV</ptype> <name>hVideoDevice</name></param>
+ <param>const int *<name>piAttribList</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglBindVideoImageNV</name></proto>
+ <param><ptype>HPVIDEODEV</ptype> <name>hVideoDevice</name></param>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param>int <name>iVideoBuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>VOID</ptype> <name>wglBlitContextFramebufferAMD</name></proto>
+ <param><ptype>HGLRC</ptype> <name>dstCtx</name></param>
+ <param><ptype>GLint</ptype> <name>srcX0</name></param>
+ <param><ptype>GLint</ptype> <name>srcY0</name></param>
+ <param><ptype>GLint</ptype> <name>srcX1</name></param>
+ <param><ptype>GLint</ptype> <name>srcY1</name></param>
+ <param><ptype>GLint</ptype> <name>dstX0</name></param>
+ <param><ptype>GLint</ptype> <name>dstY0</name></param>
+ <param><ptype>GLint</ptype> <name>dstX1</name></param>
+ <param><ptype>GLint</ptype> <name>dstY1</name></param>
+ <param><ptype>GLbitfield</ptype> <name>mask</name></param>
+ <param><ptype>GLenum</ptype> <name>filter</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglChoosePixelFormatARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>const int *<name>piAttribIList</name></param>
+ <param>const <ptype>FLOAT</ptype> *<name>pfAttribFList</name></param>
+ <param><ptype>UINT</ptype> <name>nMaxFormats</name></param>
+ <param>int *<name>piFormats</name></param>
+ <param><ptype>UINT</ptype> *<name>nNumFormats</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglChoosePixelFormatEXT</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>const int *<name>piAttribIList</name></param>
+ <param>const <ptype>FLOAT</ptype> *<name>pfAttribFList</name></param>
+ <param><ptype>UINT</ptype> <name>nMaxFormats</name></param>
+ <param>int *<name>piFormats</name></param>
+ <param><ptype>UINT</ptype> *<name>nNumFormats</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglCopyContext</name></proto>
+ <param><ptype>HGLRC</ptype> <name>hglrcSrc</name></param>
+ <param><ptype>HGLRC</ptype> <name>hglrcDst</name></param>
+ <param><ptype>UINT</ptype> <name>mask</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglCopyImageSubDataNV</name></proto>
+ <param><ptype>HGLRC</ptype> <name>hSrcRC</name></param>
+ <param><ptype>GLuint</ptype> <name>srcName</name></param>
+ <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+ <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+ <param><ptype>GLint</ptype> <name>srcX</name></param>
+ <param><ptype>GLint</ptype> <name>srcY</name></param>
+ <param><ptype>GLint</ptype> <name>srcZ</name></param>
+ <param><ptype>HGLRC</ptype> <name>hDstRC</name></param>
+ <param><ptype>GLuint</ptype> <name>dstName</name></param>
+ <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+ <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+ <param><ptype>GLint</ptype> <name>dstX</name></param>
+ <param><ptype>GLint</ptype> <name>dstY</name></param>
+ <param><ptype>GLint</ptype> <name>dstZ</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ </command>
+ <command>
+ <proto><ptype>HDC</ptype> <name>wglCreateAffinityDCNV</name></proto>
+ <param>const <ptype>HGPUNV</ptype> *<name>phGpuList</name></param>
+ </command>
+ <command>
+ <proto><ptype>HGLRC</ptype> <name>wglCreateAssociatedContextAMD</name></proto>
+ <param><ptype>UINT</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto><ptype>HGLRC</ptype> <name>wglCreateAssociatedContextAttribsAMD</name></proto>
+ <param><ptype>UINT</ptype> <name>id</name></param>
+ <param><ptype>HGLRC</ptype> <name>hShareContext</name></param>
+ <param>const int *<name>attribList</name></param>
+ </command>
+ <command>
+ <proto><ptype>HANDLE</ptype> <name>wglCreateBufferRegionARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param><ptype>UINT</ptype> <name>uType</name></param>
+ </command>
+ <command>
+ <proto><ptype>HGLRC</ptype> <name>wglCreateContext</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ </command>
+ <command>
+ <proto><ptype>HGLRC</ptype> <name>wglCreateContextAttribsARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>HGLRC</ptype> <name>hShareContext</name></param>
+ <param>const int *<name>attribList</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>wglCreateDisplayColorTableEXT</name></proto>
+ <param><ptype>GLushort</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto><ptype>LPVOID</ptype> <name>wglCreateImageBufferI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>DWORD</ptype> <name>dwSize</name></param>
+ <param><ptype>UINT</ptype> <name>uFlags</name></param>
+ </command>
+ <command>
+ <proto><ptype>HGLRC</ptype> <name>wglCreateLayerContext</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param>int <name>level</name></param>
+ </command>
+ <command>
+ <proto><ptype>HPBUFFERARB</ptype> <name>wglCreatePbufferARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iPixelFormat</name></param>
+ <param>int <name>iWidth</name></param>
+ <param>int <name>iHeight</name></param>
+ <param>const int *<name>piAttribList</name></param>
+ </command>
+ <command>
+ <proto><ptype>HPBUFFEREXT</ptype> <name>wglCreatePbufferEXT</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iPixelFormat</name></param>
+ <param>int <name>iWidth</name></param>
+ <param>int <name>iHeight</name></param>
+ <param>const int *<name>piAttribList</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDelayBeforeSwapNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>GLfloat</ptype> <name>seconds</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDeleteAssociatedContextAMD</name></proto>
+ <param><ptype>HGLRC</ptype> <name>hglrc</name></param>
+ </command>
+ <command>
+ <proto><ptype>VOID</ptype> <name>wglDeleteBufferRegionARB</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hRegion</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDeleteContext</name></proto>
+ <param><ptype>HGLRC</ptype> <name>oldContext</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDeleteDCNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDescribeLayerPlane</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param>int <name>pixelFormat</name></param>
+ <param>int <name>layerPlane</name></param>
+ <param><ptype>UINT</ptype> <name>nBytes</name></param>
+ <param>const <ptype>LAYERPLANEDESCRIPTOR</ptype> *<name>plpd</name></param>
+ </command>
+ <command>
+ <proto><ptype>VOID</ptype> <name>wglDestroyDisplayColorTableEXT</name></proto>
+ <param><ptype>GLushort</ptype> <name>id</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDestroyImageBufferI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>LPVOID</ptype> <name>pAddress</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDestroyPbufferARB</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDestroyPbufferEXT</name></proto>
+ <param><ptype>HPBUFFEREXT</ptype> <name>hPbuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDisableFrameLockI3D</name></proto>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDisableGenlockI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDXCloseDeviceNV</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDXLockObjectsNV</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hDevice</name></param>
+ <param><ptype>GLint</ptype> <name>count</name></param>
+ <param><ptype>HANDLE</ptype> *<name>hObjects</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDXObjectAccessNV</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hObject</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto><ptype>HANDLE</ptype> <name>wglDXOpenDeviceNV</name></proto>
+ <param>void *<name>dxDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>HANDLE</ptype> <name>wglDXRegisterObjectNV</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hDevice</name></param>
+ <param>void *<name>dxObject</name></param>
+ <param><ptype>GLuint</ptype> <name>name</name></param>
+ <param><ptype>GLenum</ptype> <name>type</name></param>
+ <param><ptype>GLenum</ptype> <name>access</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDXSetResourceShareHandleNV</name></proto>
+ <param>void *<name>dxObject</name></param>
+ <param><ptype>HANDLE</ptype> <name>shareHandle</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDXUnlockObjectsNV</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hDevice</name></param>
+ <param><ptype>GLint</ptype> <name>count</name></param>
+ <param><ptype>HANDLE</ptype> *<name>hObjects</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglDXUnregisterObjectNV</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hDevice</name></param>
+ <param><ptype>HANDLE</ptype> <name>hObject</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglEnableFrameLockI3D</name></proto>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglEnableGenlockI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglEndFrameTrackingI3D</name></proto>
+ </command>
+ <command>
+ <proto><ptype>UINT</ptype> <name>wglEnumerateVideoCaptureDevicesNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param><ptype>HVIDEOINPUTDEVICENV</ptype> *<name>phDeviceList</name></param>
+ </command>
+ <command>
+ <proto>int <name>wglEnumerateVideoDevicesNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>HVIDEOOUTPUTDEVICENV</ptype> *<name>phDeviceList</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglEnumGpuDevicesNV</name></proto>
+ <param><ptype>HGPUNV</ptype> <name>hGpu</name></param>
+ <param><ptype>UINT</ptype> <name>iDeviceIndex</name></param>
+ <param><ptype>PGPU_DEVICE</ptype> <name>lpGpuDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglEnumGpusFromAffinityDCNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hAffinityDC</name></param>
+ <param><ptype>UINT</ptype> <name>iGpuIndex</name></param>
+ <param><ptype>HGPUNV</ptype> *<name>hGpu</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglEnumGpusNV</name></proto>
+ <param><ptype>UINT</ptype> <name>iGpuIndex</name></param>
+ <param><ptype>HGPUNV</ptype> *<name>phGpu</name></param>
+ </command>
+ <command>
+ <proto>void <name>wglFreeMemoryNV</name></proto>
+ <param>void *<name>pointer</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGenlockSampleRateI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> <name>uRate</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGenlockSourceDelayI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> <name>uDelay</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGenlockSourceEdgeI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> <name>uEdge</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGenlockSourceI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> <name>uSource</name></param>
+ </command>
+ <command>
+ <proto><ptype>UINT</ptype> <name>wglGetContextGPUIDAMD</name></proto>
+ <param><ptype>HGLRC</ptype> <name>hglrc</name></param>
+ </command>
+ <command>
+ <proto><ptype>HGLRC</ptype> <name>wglGetCurrentAssociatedContextAMD</name></proto>
+ </command>
+ <command>
+ <proto><ptype>HGLRC</ptype> <name>wglGetCurrentContext</name></proto>
+ </command>
+ <command>
+ <proto><ptype>HDC</ptype> <name>wglGetCurrentDC</name></proto>
+ </command>
+ <command>
+ <proto><ptype>HDC</ptype> <name>wglGetCurrentReadDCARB</name></proto>
+ </command>
+ <command>
+ <proto><ptype>HDC</ptype> <name>wglGetCurrentReadDCEXT</name></proto>
+ </command>
+ <command>
+ <proto><ptype>PROC</ptype> <name>wglGetDefaultProcAddress</name></proto>
+ <param><ptype>LPCSTR</ptype> <name>lpszProc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetDigitalVideoParametersI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iAttribute</name></param>
+ <param>int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto><ptype>UINT</ptype> <name>GetEnhMetaFilePixelFormat</name></proto>
+ <param><ptype>HENHMETAFILE</ptype> <name>hemf</name></param>
+ <param>const <ptype>PIXELFORMATDESCRIPTOR</ptype> *<name>ppfd</name></param>
+ </command>
+ <command>
+ <proto>const char *<name>wglGetExtensionsStringARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ </command>
+ <command>
+ <proto>const char *<name>wglGetExtensionsStringEXT</name></proto>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetFrameUsageI3D</name></proto>
+ <param>float *<name>pUsage</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetGammaTableI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iEntries</name></param>
+ <param><ptype>USHORT</ptype> *<name>puRed</name></param>
+ <param><ptype>USHORT</ptype> *<name>puGreen</name></param>
+ <param><ptype>USHORT</ptype> *<name>puBlue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetGammaTableParametersI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iAttribute</name></param>
+ <param>int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetGenlockSampleRateI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> *<name>uRate</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetGenlockSourceDelayI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> *<name>uDelay</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetGenlockSourceEdgeI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> *<name>uEdge</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetGenlockSourceI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> *<name>uSource</name></param>
+ </command>
+ <command>
+ <proto><ptype>UINT</ptype> <name>wglGetGPUIDsAMD</name></proto>
+ <param><ptype>UINT</ptype> <name>maxCount</name></param>
+ <param><ptype>UINT</ptype> *<name>ids</name></param>
+ </command>
+ <command>
+ <proto><ptype>INT</ptype> <name>wglGetGPUInfoAMD</name></proto>
+ <param><ptype>UINT</ptype> <name>id</name></param>
+ <param>int <name>property</name></param>
+ <param><ptype>GLenum</ptype> <name>dataType</name></param>
+ <param><ptype>UINT</ptype> <name>size</name></param>
+ <param>void *<name>data</name></param>
+ </command>
+ <command>
+ <proto>int <name>wglGetLayerPaletteEntries</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param>int <name>iStart</name></param>
+ <param>int <name>cEntries</name></param>
+ <param>const <ptype>COLORREF</ptype> *<name>pcr</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetMscRateOML</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param><ptype>INT32</ptype> *<name>numerator</name></param>
+ <param><ptype>INT32</ptype> *<name>denominator</name></param>
+ </command>
+ <command>
+ <proto><ptype>HDC</ptype> <name>wglGetPbufferDCARB</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>HDC</ptype> <name>wglGetPbufferDCEXT</name></proto>
+ <param><ptype>HPBUFFEREXT</ptype> <name>hPbuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetPixelFormatAttribfvARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>iPixelFormat</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param><ptype>UINT</ptype> <name>nAttributes</name></param>
+ <param>const int *<name>piAttributes</name></param>
+ <param><ptype>FLOAT</ptype> *<name>pfValues</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetPixelFormatAttribfvEXT</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>iPixelFormat</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param><ptype>UINT</ptype> <name>nAttributes</name></param>
+ <param>int *<name>piAttributes</name></param>
+ <param><ptype>FLOAT</ptype> *<name>pfValues</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetPixelFormatAttribivARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>iPixelFormat</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param><ptype>UINT</ptype> <name>nAttributes</name></param>
+ <param>const int *<name>piAttributes</name></param>
+ <param>int *<name>piValues</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetPixelFormatAttribivEXT</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>iPixelFormat</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param><ptype>UINT</ptype> <name>nAttributes</name></param>
+ <param>int *<name>piAttributes</name></param>
+ <param>int *<name>piValues</name></param>
+ </command>
+ <command>
+ <proto><ptype>PROC</ptype> <name>wglGetProcAddress</name></proto>
+ <param><ptype>LPCSTR</ptype> <name>lpszProc</name></param>
+ </command>
+ <command>
+ <proto>int <name>wglGetSwapIntervalEXT</name></proto>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetSyncValuesOML</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param><ptype>INT64</ptype> *<name>ust</name></param>
+ <param><ptype>INT64</ptype> *<name>msc</name></param>
+ <param><ptype>INT64</ptype> *<name>sbc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetVideoDeviceNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>numDevices</name></param>
+ <param><ptype>HPVIDEODEV</ptype> *<name>hVideoDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglGetVideoInfoNV</name></proto>
+ <param><ptype>HPVIDEODEV</ptype> <name>hpVideoDevice</name></param>
+ <param>unsigned long *<name>pulCounterOutputPbuffer</name></param>
+ <param>unsigned long *<name>pulCounterOutputVideo</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglIsEnabledFrameLockI3D</name></proto>
+ <param><ptype>BOOL</ptype> *<name>pFlag</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglIsEnabledGenlockI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>BOOL</ptype> *<name>pFlag</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglJoinSwapGroupNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>GLuint</ptype> <name>group</name></param>
+ </command>
+ <command>
+ <proto><ptype>GLboolean</ptype> <name>wglLoadDisplayColorTableEXT</name></proto>
+ <param>const <ptype>GLushort</ptype> *<name>table</name></param>
+ <param><ptype>GLuint</ptype> <name>length</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglLockVideoCaptureDeviceNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param><ptype>HVIDEOINPUTDEVICENV</ptype> <name>hDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglMakeAssociatedContextCurrentAMD</name></proto>
+ <param><ptype>HGLRC</ptype> <name>hglrc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglMakeContextCurrentARB</name></proto>
+ <param><ptype>HDC</ptype> <name>hDrawDC</name></param>
+ <param><ptype>HDC</ptype> <name>hReadDC</name></param>
+ <param><ptype>HGLRC</ptype> <name>hglrc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglMakeContextCurrentEXT</name></proto>
+ <param><ptype>HDC</ptype> <name>hDrawDC</name></param>
+ <param><ptype>HDC</ptype> <name>hReadDC</name></param>
+ <param><ptype>HGLRC</ptype> <name>hglrc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglMakeCurrent</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param><ptype>HGLRC</ptype> <name>newContext</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryCurrentContextNV</name></proto>
+ <param>int <name>iAttribute</name></param>
+ <param>int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryFrameCountNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>GLuint</ptype> *<name>count</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryFrameLockMasterI3D</name></proto>
+ <param><ptype>BOOL</ptype> *<name>pFlag</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryFrameTrackingI3D</name></proto>
+ <param><ptype>DWORD</ptype> *<name>pFrameCount</name></param>
+ <param><ptype>DWORD</ptype> *<name>pMissedFrames</name></param>
+ <param>float *<name>pLastMissedUsage</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryGenlockMaxSourceDelayI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> *<name>uMaxLineDelay</name></param>
+ <param><ptype>UINT</ptype> *<name>uMaxPixelDelay</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryMaxSwapGroupsNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>GLuint</ptype> *<name>maxGroups</name></param>
+ <param><ptype>GLuint</ptype> *<name>maxBarriers</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryPbufferARB</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param>int <name>iAttribute</name></param>
+ <param>int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryPbufferEXT</name></proto>
+ <param><ptype>HPBUFFEREXT</ptype> <name>hPbuffer</name></param>
+ <param>int <name>iAttribute</name></param>
+ <param>int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQuerySwapGroupNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>GLuint</ptype> *<name>group</name></param>
+ <param><ptype>GLuint</ptype> *<name>barrier</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglQueryVideoCaptureDeviceNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param><ptype>HVIDEOINPUTDEVICENV</ptype> <name>hDevice</name></param>
+ <param>int <name>iAttribute</name></param>
+ <param>int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglRealizeLayerPalette</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param><ptype>BOOL</ptype> <name>bRealize</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglReleaseImageBufferEventsI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>const <ptype>LPVOID</ptype> *<name>pAddress</name></param>
+ <param><ptype>UINT</ptype> <name>count</name></param>
+ </command>
+ <command>
+ <proto>int <name>wglReleasePbufferDCARB</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ </command>
+ <command>
+ <proto>int <name>wglReleasePbufferDCEXT</name></proto>
+ <param><ptype>HPBUFFEREXT</ptype> <name>hPbuffer</name></param>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglReleaseTexImageARB</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param>int <name>iBuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglReleaseVideoCaptureDeviceNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDc</name></param>
+ <param><ptype>HVIDEOINPUTDEVICENV</ptype> <name>hDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglReleaseVideoDeviceNV</name></proto>
+ <param><ptype>HPVIDEODEV</ptype> <name>hVideoDevice</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglReleaseVideoImageNV</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param>int <name>iVideoBuffer</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglResetFrameCountNV</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglRestoreBufferRegionARB</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hRegion</name></param>
+ <param>int <name>x</name></param>
+ <param>int <name>y</name></param>
+ <param>int <name>width</name></param>
+ <param>int <name>height</name></param>
+ <param>int <name>xSrc</name></param>
+ <param>int <name>ySrc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSaveBufferRegionARB</name></proto>
+ <param><ptype>HANDLE</ptype> <name>hRegion</name></param>
+ <param>int <name>x</name></param>
+ <param>int <name>y</name></param>
+ <param>int <name>width</name></param>
+ <param>int <name>height</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSendPbufferToVideoNV</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param>int <name>iBufferType</name></param>
+ <param>unsigned long *<name>pulCounterPbuffer</name></param>
+ <param><ptype>BOOL</ptype> <name>bBlock</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSetDigitalVideoParametersI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iAttribute</name></param>
+ <param>const int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSetGammaTableI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iEntries</name></param>
+ <param>const <ptype>USHORT</ptype> *<name>puRed</name></param>
+ <param>const <ptype>USHORT</ptype> *<name>puGreen</name></param>
+ <param>const <ptype>USHORT</ptype> *<name>puBlue</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSetGammaTableParametersI3D</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param>int <name>iAttribute</name></param>
+ <param>const int *<name>piValue</name></param>
+ </command>
+ <command>
+ <proto>int <name>wglSetLayerPaletteEntries</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>iLayerPlane</name></param>
+ <param>int <name>iStart</name></param>
+ <param>int <name>cEntries</name></param>
+ <param>const <ptype>COLORREF</ptype> *<name>pcr</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSetPbufferAttribARB</name></proto>
+ <param><ptype>HPBUFFERARB</ptype> <name>hPbuffer</name></param>
+ <param>const int *<name>piAttribList</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSetStereoEmitterState3DL</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>UINT</ptype> <name>uState</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglShareLists</name></proto>
+ <param><ptype>HGLRC</ptype> <name>hrcSrvShare</name></param>
+ <param><ptype>HGLRC</ptype> <name>hrcSrvSource</name></param>
+ </command>
+ <command>
+ <proto><ptype>INT64</ptype> <name>wglSwapBuffersMscOML</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param><ptype>INT64</ptype> <name>target_msc</name></param>
+ <param><ptype>INT64</ptype> <name>divisor</name></param>
+ <param><ptype>INT64</ptype> <name>remainder</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSwapLayerBuffers</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param><ptype>UINT</ptype> <name>fuFlags</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglSwapIntervalEXT</name></proto>
+ <param>int <name>interval</name></param>
+ </command>
+ <command>
+ <proto><ptype>INT64</ptype> <name>wglSwapLayerBuffersMscOML</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param>int <name>fuPlanes</name></param>
+ <param><ptype>INT64</ptype> <name>target_msc</name></param>
+ <param><ptype>INT64</ptype> <name>divisor</name></param>
+ <param><ptype>INT64</ptype> <name>remainder</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglUseFontBitmaps</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>DWORD</ptype> <name>first</name></param>
+ <param><ptype>DWORD</ptype> <name>count</name></param>
+ <param><ptype>DWORD</ptype> <name>listBase</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglUseFontBitmapsA</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>DWORD</ptype> <name>first</name></param>
+ <param><ptype>DWORD</ptype> <name>count</name></param>
+ <param><ptype>DWORD</ptype> <name>listBase</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglUseFontBitmapsW</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>DWORD</ptype> <name>first</name></param>
+ <param><ptype>DWORD</ptype> <name>count</name></param>
+ <param><ptype>DWORD</ptype> <name>listBase</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglUseFontOutlines</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>DWORD</ptype> <name>first</name></param>
+ <param><ptype>DWORD</ptype> <name>count</name></param>
+ <param><ptype>DWORD</ptype> <name>listBase</name></param>
+ <param><ptype>FLOAT</ptype> <name>deviation</name></param>
+ <param><ptype>FLOAT</ptype> <name>extrusion</name></param>
+ <param>int <name>format</name></param>
+ <param><ptype>LPGLYPHMETRICSFLOAT</ptype> <name>lpgmf</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglUseFontOutlinesA</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>DWORD</ptype> <name>first</name></param>
+ <param><ptype>DWORD</ptype> <name>count</name></param>
+ <param><ptype>DWORD</ptype> <name>listBase</name></param>
+ <param><ptype>FLOAT</ptype> <name>deviation</name></param>
+ <param><ptype>FLOAT</ptype> <name>extrusion</name></param>
+ <param>int <name>format</name></param>
+ <param><ptype>LPGLYPHMETRICSFLOAT</ptype> <name>lpgmf</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglUseFontOutlinesW</name></proto>
+ <param><ptype>HDC</ptype> <name>hDC</name></param>
+ <param><ptype>DWORD</ptype> <name>first</name></param>
+ <param><ptype>DWORD</ptype> <name>count</name></param>
+ <param><ptype>DWORD</ptype> <name>listBase</name></param>
+ <param><ptype>FLOAT</ptype> <name>deviation</name></param>
+ <param><ptype>FLOAT</ptype> <name>extrusion</name></param>
+ <param>int <name>format</name></param>
+ <param><ptype>LPGLYPHMETRICSFLOAT</ptype> <name>lpgmf</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglWaitForMscOML</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param><ptype>INT64</ptype> <name>target_msc</name></param>
+ <param><ptype>INT64</ptype> <name>divisor</name></param>
+ <param><ptype>INT64</ptype> <name>remainder</name></param>
+ <param><ptype>INT64</ptype> *<name>ust</name></param>
+ <param><ptype>INT64</ptype> *<name>msc</name></param>
+ <param><ptype>INT64</ptype> *<name>sbc</name></param>
+ </command>
+ <command>
+ <proto><ptype>BOOL</ptype> <name>wglWaitForSbcOML</name></proto>
+ <param><ptype>HDC</ptype> <name>hdc</name></param>
+ <param><ptype>INT64</ptype> <name>target_sbc</name></param>
+ <param><ptype>INT64</ptype> *<name>ust</name></param>
+ <param><ptype>INT64</ptype> *<name>msc</name></param>
+ <param><ptype>INT64</ptype> *<name>sbc</name></param>
+ </command>
+ </commands>
+
+ <!-- SECTION: WGL API interface definitions. -->
+ <feature api="wgl" name="WGL_VERSION_1_0" number="1.0">
+ <require>
+ <enum name="WGL_FONT_LINES"/>
+ <enum name="WGL_FONT_POLYGONS"/>
+ <enum name="WGL_SWAP_MAIN_PLANE"/>
+ <enum name="WGL_SWAP_OVERLAY1"/>
+ <enum name="WGL_SWAP_OVERLAY2"/>
+ <enum name="WGL_SWAP_OVERLAY3"/>
+ <enum name="WGL_SWAP_OVERLAY4"/>
+ <enum name="WGL_SWAP_OVERLAY5"/>
+ <enum name="WGL_SWAP_OVERLAY6"/>
+ <enum name="WGL_SWAP_OVERLAY7"/>
+ <enum name="WGL_SWAP_OVERLAY8"/>
+ <enum name="WGL_SWAP_OVERLAY9"/>
+ <enum name="WGL_SWAP_OVERLAY10"/>
+ <enum name="WGL_SWAP_OVERLAY11"/>
+ <enum name="WGL_SWAP_OVERLAY12"/>
+ <enum name="WGL_SWAP_OVERLAY13"/>
+ <enum name="WGL_SWAP_OVERLAY14"/>
+ <enum name="WGL_SWAP_OVERLAY15"/>
+ <enum name="WGL_SWAP_UNDERLAY1"/>
+ <enum name="WGL_SWAP_UNDERLAY2"/>
+ <enum name="WGL_SWAP_UNDERLAY3"/>
+ <enum name="WGL_SWAP_UNDERLAY4"/>
+ <enum name="WGL_SWAP_UNDERLAY5"/>
+ <enum name="WGL_SWAP_UNDERLAY6"/>
+ <enum name="WGL_SWAP_UNDERLAY7"/>
+ <enum name="WGL_SWAP_UNDERLAY8"/>
+ <enum name="WGL_SWAP_UNDERLAY9"/>
+ <enum name="WGL_SWAP_UNDERLAY10"/>
+ <enum name="WGL_SWAP_UNDERLAY11"/>
+ <enum name="WGL_SWAP_UNDERLAY12"/>
+ <enum name="WGL_SWAP_UNDERLAY13"/>
+ <enum name="WGL_SWAP_UNDERLAY14"/>
+ <enum name="WGL_SWAP_UNDERLAY15"/>
+ <command name="ChoosePixelFormat"/>
+ <command name="DescribePixelFormat"/>
+ <command name="GetEnhMetaFilePixelFormat"/>
+ <command name="GetPixelFormat"/>
+ <command name="SetPixelFormat"/>
+ <command name="SwapBuffers"/>
+ <command name="wglCopyContext"/>
+ <command name="wglCreateContext"/>
+ <command name="wglCreateLayerContext"/>
+ <command name="wglDeleteContext"/>
+ <command name="wglDescribeLayerPlane"/>
+ <command name="wglGetCurrentContext"/>
+ <command name="wglGetCurrentDC"/>
+ <command name="wglGetLayerPaletteEntries"/>
+ <command name="wglGetProcAddress"/>
+ <command name="wglMakeCurrent"/>
+ <command name="wglRealizeLayerPalette"/>
+ <command name="wglSetLayerPaletteEntries"/>
+ <command name="wglShareLists"/>
+ <command name="wglSwapLayerBuffers"/>
+ <command name="wglUseFontBitmaps"/>
+ <command name="wglUseFontBitmapsA"/>
+ <command name="wglUseFontBitmapsW"/>
+ <command name="wglUseFontOutlines"/>
+ <command name="wglUseFontOutlinesA"/>
+ <command name="wglUseFontOutlinesW"/>
+ </require>
+ </feature>
+
+ <!-- SECTION: WGL extension interface definitions -->
+ <extensions>
+ <extension name="WGL_ARB_buffer_region" supported="wgl">
+ <require>
+ <enum name="WGL_FRONT_COLOR_BUFFER_BIT_ARB"/>
+ <enum name="WGL_BACK_COLOR_BUFFER_BIT_ARB"/>
+ <enum name="WGL_DEPTH_BUFFER_BIT_ARB"/>
+ <enum name="WGL_STENCIL_BUFFER_BIT_ARB"/>
+ <command name="wglCreateBufferRegionARB"/>
+ <command name="wglDeleteBufferRegionARB"/>
+ <command name="wglSaveBufferRegionARB"/>
+ <command name="wglRestoreBufferRegionARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_multisample" supported="wgl">
+ <require>
+ <enum name="WGL_SAMPLE_BUFFERS_ARB"/>
+ <enum name="WGL_SAMPLES_ARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_extensions_string" supported="wgl">
+ <require>
+ <command name="wglGetExtensionsStringARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_pixel_format" supported="wgl">
+ <require>
+ <enum name="WGL_NUMBER_PIXEL_FORMATS_ARB"/>
+ <enum name="WGL_DRAW_TO_WINDOW_ARB"/>
+ <enum name="WGL_DRAW_TO_BITMAP_ARB"/>
+ <enum name="WGL_ACCELERATION_ARB"/>
+ <enum name="WGL_NEED_PALETTE_ARB"/>
+ <enum name="WGL_NEED_SYSTEM_PALETTE_ARB"/>
+ <enum name="WGL_SWAP_LAYER_BUFFERS_ARB"/>
+ <enum name="WGL_SWAP_METHOD_ARB"/>
+ <enum name="WGL_NUMBER_OVERLAYS_ARB"/>
+ <enum name="WGL_NUMBER_UNDERLAYS_ARB"/>
+ <enum name="WGL_TRANSPARENT_ARB"/>
+ <enum name="WGL_TRANSPARENT_RED_VALUE_ARB"/>
+ <enum name="WGL_TRANSPARENT_GREEN_VALUE_ARB"/>
+ <enum name="WGL_TRANSPARENT_BLUE_VALUE_ARB"/>
+ <enum name="WGL_TRANSPARENT_ALPHA_VALUE_ARB"/>
+ <enum name="WGL_TRANSPARENT_INDEX_VALUE_ARB"/>
+ <enum name="WGL_SHARE_DEPTH_ARB"/>
+ <enum name="WGL_SHARE_STENCIL_ARB"/>
+ <enum name="WGL_SHARE_ACCUM_ARB"/>
+ <enum name="WGL_SUPPORT_GDI_ARB"/>
+ <enum name="WGL_SUPPORT_OPENGL_ARB"/>
+ <enum name="WGL_DOUBLE_BUFFER_ARB"/>
+ <enum name="WGL_STEREO_ARB"/>
+ <enum name="WGL_PIXEL_TYPE_ARB"/>
+ <enum name="WGL_COLOR_BITS_ARB"/>
+ <enum name="WGL_RED_BITS_ARB"/>
+ <enum name="WGL_RED_SHIFT_ARB"/>
+ <enum name="WGL_GREEN_BITS_ARB"/>
+ <enum name="WGL_GREEN_SHIFT_ARB"/>
+ <enum name="WGL_BLUE_BITS_ARB"/>
+ <enum name="WGL_BLUE_SHIFT_ARB"/>
+ <enum name="WGL_ALPHA_BITS_ARB"/>
+ <enum name="WGL_ALPHA_SHIFT_ARB"/>
+ <enum name="WGL_ACCUM_BITS_ARB"/>
+ <enum name="WGL_ACCUM_RED_BITS_ARB"/>
+ <enum name="WGL_ACCUM_GREEN_BITS_ARB"/>
+ <enum name="WGL_ACCUM_BLUE_BITS_ARB"/>
+ <enum name="WGL_ACCUM_ALPHA_BITS_ARB"/>
+ <enum name="WGL_DEPTH_BITS_ARB"/>
+ <enum name="WGL_STENCIL_BITS_ARB"/>
+ <enum name="WGL_AUX_BUFFERS_ARB"/>
+ <enum name="WGL_NO_ACCELERATION_ARB"/>
+ <enum name="WGL_GENERIC_ACCELERATION_ARB"/>
+ <enum name="WGL_FULL_ACCELERATION_ARB"/>
+ <enum name="WGL_SWAP_EXCHANGE_ARB"/>
+ <enum name="WGL_SWAP_COPY_ARB"/>
+ <enum name="WGL_SWAP_UNDEFINED_ARB"/>
+ <enum name="WGL_TYPE_RGBA_ARB"/>
+ <enum name="WGL_TYPE_COLORINDEX_ARB"/>
+ <command name="wglGetPixelFormatAttribivARB"/>
+ <command name="wglGetPixelFormatAttribfvARB"/>
+ <command name="wglChoosePixelFormatARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_make_current_read" supported="wgl">
+ <require>
+ <enum name="ERROR_INVALID_PIXEL_TYPE_ARB"/>
+ <enum name="ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB"/>
+ <command name="wglMakeContextCurrentARB"/>
+ <command name="wglGetCurrentReadDCARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_pbuffer" supported="wgl">
+ <require>
+ <enum name="WGL_DRAW_TO_PBUFFER_ARB"/>
+ <enum name="WGL_MAX_PBUFFER_PIXELS_ARB"/>
+ <enum name="WGL_MAX_PBUFFER_WIDTH_ARB"/>
+ <enum name="WGL_MAX_PBUFFER_HEIGHT_ARB"/>
+ <enum name="WGL_PBUFFER_LARGEST_ARB"/>
+ <enum name="WGL_PBUFFER_WIDTH_ARB"/>
+ <enum name="WGL_PBUFFER_HEIGHT_ARB"/>
+ <enum name="WGL_PBUFFER_LOST_ARB"/>
+ <command name="wglCreatePbufferARB"/>
+ <command name="wglGetPbufferDCARB"/>
+ <command name="wglReleasePbufferDCARB"/>
+ <command name="wglDestroyPbufferARB"/>
+ <command name="wglQueryPbufferARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_render_texture" supported="wgl">
+ <require>
+ <enum name="WGL_BIND_TO_TEXTURE_RGB_ARB"/>
+ <enum name="WGL_BIND_TO_TEXTURE_RGBA_ARB"/>
+ <enum name="WGL_TEXTURE_FORMAT_ARB"/>
+ <enum name="WGL_TEXTURE_TARGET_ARB"/>
+ <enum name="WGL_MIPMAP_TEXTURE_ARB"/>
+ <enum name="WGL_TEXTURE_RGB_ARB"/>
+ <enum name="WGL_TEXTURE_RGBA_ARB"/>
+ <enum name="WGL_NO_TEXTURE_ARB"/>
+ <enum name="WGL_TEXTURE_CUBE_MAP_ARB"/>
+ <enum name="WGL_TEXTURE_1D_ARB"/>
+ <enum name="WGL_TEXTURE_2D_ARB"/>
+ <enum name="WGL_MIPMAP_LEVEL_ARB"/>
+ <enum name="WGL_CUBE_MAP_FACE_ARB"/>
+ <enum name="WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB"/>
+ <enum name="WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB"/>
+ <enum name="WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB"/>
+ <enum name="WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB"/>
+ <enum name="WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB"/>
+ <enum name="WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB"/>
+ <enum name="WGL_FRONT_LEFT_ARB"/>
+ <enum name="WGL_FRONT_RIGHT_ARB"/>
+ <enum name="WGL_BACK_LEFT_ARB"/>
+ <enum name="WGL_BACK_RIGHT_ARB"/>
+ <enum name="WGL_AUX0_ARB"/>
+ <enum name="WGL_AUX1_ARB"/>
+ <enum name="WGL_AUX2_ARB"/>
+ <enum name="WGL_AUX3_ARB"/>
+ <enum name="WGL_AUX4_ARB"/>
+ <enum name="WGL_AUX5_ARB"/>
+ <enum name="WGL_AUX6_ARB"/>
+ <enum name="WGL_AUX7_ARB"/>
+ <enum name="WGL_AUX8_ARB"/>
+ <enum name="WGL_AUX9_ARB"/>
+ <command name="wglBindTexImageARB"/>
+ <command name="wglReleaseTexImageARB"/>
+ <command name="wglSetPbufferAttribARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_pixel_format_float" supported="wgl">
+ <require>
+ <enum name="WGL_TYPE_RGBA_FLOAT_ARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_framebuffer_sRGB" supported="wgl">
+ <require>
+ <enum name="WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_create_context" supported="wgl">
+ <require>
+ <enum name="WGL_CONTEXT_DEBUG_BIT_ARB"/>
+ <enum name="WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB"/>
+ <enum name="WGL_CONTEXT_MAJOR_VERSION_ARB"/>
+ <enum name="WGL_CONTEXT_MINOR_VERSION_ARB"/>
+ <enum name="WGL_CONTEXT_LAYER_PLANE_ARB"/>
+ <enum name="WGL_CONTEXT_FLAGS_ARB"/>
+ <enum name="ERROR_INVALID_VERSION_ARB"/>
+ <command name="wglCreateContextAttribsARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_create_context_profile" supported="wgl">
+ <require>
+ <enum name="WGL_CONTEXT_PROFILE_MASK_ARB"/>
+ <enum name="WGL_CONTEXT_CORE_PROFILE_BIT_ARB"/>
+ <enum name="WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB"/>
+ <enum name="ERROR_INVALID_PROFILE_ARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_create_context_robustness" supported="wgl">
+ <require>
+ <enum name="WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB"/>
+ <enum name="WGL_LOSE_CONTEXT_ON_RESET_ARB"/>
+ <enum name="WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB"/>
+ <enum name="WGL_NO_RESET_NOTIFICATION_ARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_robustness_application_isolation" supported="wgl">
+ <require>
+ <enum name="WGL_CONTEXT_RESET_ISOLATION_BIT_ARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_ARB_robustness_share_group_isolation" supported="wgl">
+ <require>
+ <enum name="WGL_CONTEXT_RESET_ISOLATION_BIT_ARB"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_display_color_table" supported="wgl">
+ <require>
+ <command name="wglCreateDisplayColorTableEXT"/>
+ <command name="wglLoadDisplayColorTableEXT"/>
+ <command name="wglBindDisplayColorTableEXT"/>
+ <command name="wglDestroyDisplayColorTableEXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_extensions_string" supported="wgl">
+ <require>
+ <command name="wglGetExtensionsStringEXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_make_current_read" supported="wgl">
+ <require>
+ <enum name="ERROR_INVALID_PIXEL_TYPE_EXT"/>
+ <command name="wglMakeContextCurrentEXT"/>
+ <command name="wglGetCurrentReadDCEXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_pbuffer" supported="wgl">
+ <require>
+ <enum name="WGL_DRAW_TO_PBUFFER_EXT"/>
+ <enum name="WGL_MAX_PBUFFER_PIXELS_EXT"/>
+ <enum name="WGL_MAX_PBUFFER_WIDTH_EXT"/>
+ <enum name="WGL_MAX_PBUFFER_HEIGHT_EXT"/>
+ <enum name="WGL_OPTIMAL_PBUFFER_WIDTH_EXT"/>
+ <enum name="WGL_OPTIMAL_PBUFFER_HEIGHT_EXT"/>
+ <enum name="WGL_PBUFFER_LARGEST_EXT"/>
+ <enum name="WGL_PBUFFER_WIDTH_EXT"/>
+ <enum name="WGL_PBUFFER_HEIGHT_EXT"/>
+ <command name="wglCreatePbufferEXT"/>
+ <command name="wglGetPbufferDCEXT"/>
+ <command name="wglReleasePbufferDCEXT"/>
+ <command name="wglDestroyPbufferEXT"/>
+ <command name="wglQueryPbufferEXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_pixel_format" supported="wgl">
+ <require>
+ <enum name="WGL_NUMBER_PIXEL_FORMATS_EXT"/>
+ <enum name="WGL_DRAW_TO_WINDOW_EXT"/>
+ <enum name="WGL_DRAW_TO_BITMAP_EXT"/>
+ <enum name="WGL_ACCELERATION_EXT"/>
+ <enum name="WGL_NEED_PALETTE_EXT"/>
+ <enum name="WGL_NEED_SYSTEM_PALETTE_EXT"/>
+ <enum name="WGL_SWAP_LAYER_BUFFERS_EXT"/>
+ <enum name="WGL_SWAP_METHOD_EXT"/>
+ <enum name="WGL_NUMBER_OVERLAYS_EXT"/>
+ <enum name="WGL_NUMBER_UNDERLAYS_EXT"/>
+ <enum name="WGL_TRANSPARENT_EXT"/>
+ <enum name="WGL_TRANSPARENT_VALUE_EXT"/>
+ <enum name="WGL_SHARE_DEPTH_EXT"/>
+ <enum name="WGL_SHARE_STENCIL_EXT"/>
+ <enum name="WGL_SHARE_ACCUM_EXT"/>
+ <enum name="WGL_SUPPORT_GDI_EXT"/>
+ <enum name="WGL_SUPPORT_OPENGL_EXT"/>
+ <enum name="WGL_DOUBLE_BUFFER_EXT"/>
+ <enum name="WGL_STEREO_EXT"/>
+ <enum name="WGL_PIXEL_TYPE_EXT"/>
+ <enum name="WGL_COLOR_BITS_EXT"/>
+ <enum name="WGL_RED_BITS_EXT"/>
+ <enum name="WGL_RED_SHIFT_EXT"/>
+ <enum name="WGL_GREEN_BITS_EXT"/>
+ <enum name="WGL_GREEN_SHIFT_EXT"/>
+ <enum name="WGL_BLUE_BITS_EXT"/>
+ <enum name="WGL_BLUE_SHIFT_EXT"/>
+ <enum name="WGL_ALPHA_BITS_EXT"/>
+ <enum name="WGL_ALPHA_SHIFT_EXT"/>
+ <enum name="WGL_ACCUM_BITS_EXT"/>
+ <enum name="WGL_ACCUM_RED_BITS_EXT"/>
+ <enum name="WGL_ACCUM_GREEN_BITS_EXT"/>
+ <enum name="WGL_ACCUM_BLUE_BITS_EXT"/>
+ <enum name="WGL_ACCUM_ALPHA_BITS_EXT"/>
+ <enum name="WGL_DEPTH_BITS_EXT"/>
+ <enum name="WGL_STENCIL_BITS_EXT"/>
+ <enum name="WGL_AUX_BUFFERS_EXT"/>
+ <enum name="WGL_NO_ACCELERATION_EXT"/>
+ <enum name="WGL_GENERIC_ACCELERATION_EXT"/>
+ <enum name="WGL_FULL_ACCELERATION_EXT"/>
+ <enum name="WGL_SWAP_EXCHANGE_EXT"/>
+ <enum name="WGL_SWAP_COPY_EXT"/>
+ <enum name="WGL_SWAP_UNDEFINED_EXT"/>
+ <enum name="WGL_TYPE_RGBA_EXT"/>
+ <enum name="WGL_TYPE_COLORINDEX_EXT"/>
+ <command name="wglGetPixelFormatAttribivEXT"/>
+ <command name="wglGetPixelFormatAttribfvEXT"/>
+ <command name="wglChoosePixelFormatEXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_swap_control" supported="wgl">
+ <require>
+ <command name="wglSwapIntervalEXT"/>
+ <command name="wglGetSwapIntervalEXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_depth_float" supported="wgl">
+ <require>
+ <enum name="WGL_DEPTH_FLOAT_EXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_vertex_array_range" supported="wgl">
+ <require>
+ <command name="wglAllocateMemoryNV"/>
+ <command name="wglFreeMemoryNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_3DFX_multisample" supported="wgl">
+ <require>
+ <enum name="WGL_SAMPLE_BUFFERS_3DFX"/>
+ <enum name="WGL_SAMPLES_3DFX"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_multisample" supported="wgl">
+ <require>
+ <enum name="WGL_SAMPLE_BUFFERS_EXT"/>
+ <enum name="WGL_SAMPLES_EXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_OML_sync_control" supported="wgl">
+ <require>
+ <command name="wglGetSyncValuesOML"/>
+ <command name="wglGetMscRateOML"/>
+ <command name="wglSwapBuffersMscOML"/>
+ <command name="wglSwapLayerBuffersMscOML"/>
+ <command name="wglWaitForMscOML"/>
+ <command name="wglWaitForSbcOML"/>
+ </require>
+ </extension>
+ <extension name="WGL_I3D_digital_video_control" supported="wgl">
+ <require>
+ <enum name="WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D"/>
+ <enum name="WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D"/>
+ <enum name="WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D"/>
+ <enum name="WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D"/>
+ <command name="wglGetDigitalVideoParametersI3D"/>
+ <command name="wglSetDigitalVideoParametersI3D"/>
+ </require>
+ </extension>
+ <extension name="WGL_I3D_gamma" supported="wgl">
+ <require>
+ <enum name="WGL_GAMMA_TABLE_SIZE_I3D"/>
+ <enum name="WGL_GAMMA_EXCLUDE_DESKTOP_I3D"/>
+ <command name="wglGetGammaTableParametersI3D"/>
+ <command name="wglSetGammaTableParametersI3D"/>
+ <command name="wglGetGammaTableI3D"/>
+ <command name="wglSetGammaTableI3D"/>
+ </require>
+ </extension>
+ <extension name="WGL_I3D_genlock" supported="wgl">
+ <require>
+ <enum name="WGL_GENLOCK_SOURCE_MULTIVIEW_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_EDGE_RISING_I3D"/>
+ <enum name="WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D"/>
+ <command name="wglEnableGenlockI3D"/>
+ <command name="wglDisableGenlockI3D"/>
+ <command name="wglIsEnabledGenlockI3D"/>
+ <command name="wglGenlockSourceI3D"/>
+ <command name="wglGetGenlockSourceI3D"/>
+ <command name="wglGenlockSourceEdgeI3D"/>
+ <command name="wglGetGenlockSourceEdgeI3D"/>
+ <command name="wglGenlockSampleRateI3D"/>
+ <command name="wglGetGenlockSampleRateI3D"/>
+ <command name="wglGenlockSourceDelayI3D"/>
+ <command name="wglGetGenlockSourceDelayI3D"/>
+ <command name="wglQueryGenlockMaxSourceDelayI3D"/>
+ </require>
+ </extension>
+ <extension name="WGL_I3D_image_buffer" supported="wgl">
+ <require>
+ <enum name="WGL_IMAGE_BUFFER_MIN_ACCESS_I3D"/>
+ <enum name="WGL_IMAGE_BUFFER_LOCK_I3D"/>
+ <command name="wglCreateImageBufferI3D"/>
+ <command name="wglDestroyImageBufferI3D"/>
+ <command name="wglAssociateImageBufferEventsI3D"/>
+ <command name="wglReleaseImageBufferEventsI3D"/>
+ </require>
+ </extension>
+ <extension name="WGL_I3D_swap_frame_lock" supported="wgl">
+ <require>
+ <command name="wglEnableFrameLockI3D"/>
+ <command name="wglDisableFrameLockI3D"/>
+ <command name="wglIsEnabledFrameLockI3D"/>
+ <command name="wglQueryFrameLockMasterI3D"/>
+ </require>
+ </extension>
+ <extension name="WGL_I3D_swap_frame_usage" supported="wgl">
+ <require>
+ <command name="wglGetFrameUsageI3D"/>
+ <command name="wglBeginFrameTrackingI3D"/>
+ <command name="wglEndFrameTrackingI3D"/>
+ <command name="wglQueryFrameTrackingI3D"/>
+ </require>
+ </extension>
+ <extension name="WGL_ATI_pixel_format_float" supported="wgl">
+ <require>
+ <enum name="WGL_TYPE_RGBA_FLOAT_ATI"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_float_buffer" supported="wgl">
+ <require>
+ <enum name="WGL_FLOAT_COMPONENTS_NV"/>
+ <enum name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV"/>
+ <enum name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV"/>
+ <enum name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV"/>
+ <enum name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV"/>
+ <enum name="WGL_TEXTURE_FLOAT_R_NV"/>
+ <enum name="WGL_TEXTURE_FLOAT_RG_NV"/>
+ <enum name="WGL_TEXTURE_FLOAT_RGB_NV"/>
+ <enum name="WGL_TEXTURE_FLOAT_RGBA_NV"/>
+ </require>
+ </extension>
+ <extension name="WGL_3DL_stereo_control" supported="wgl">
+ <require>
+ <enum name="WGL_STEREO_EMITTER_ENABLE_3DL"/>
+ <enum name="WGL_STEREO_EMITTER_DISABLE_3DL"/>
+ <enum name="WGL_STEREO_POLARITY_NORMAL_3DL"/>
+ <enum name="WGL_STEREO_POLARITY_INVERT_3DL"/>
+ <command name="wglSetStereoEmitterState3DL"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_pixel_format_packed_float" supported="wgl">
+ <require>
+ <enum name="WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_framebuffer_sRGB" supported="wgl">
+ <require>
+ <enum name="WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_present_video" supported="wgl">
+ <require>
+ <enum name="WGL_NUM_VIDEO_SLOTS_NV"/>
+ <command name="wglEnumerateVideoDevicesNV"/>
+ <command name="wglBindVideoDeviceNV"/>
+ <command name="wglQueryCurrentContextNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_video_output" supported="wgl">
+ <require>
+ <enum name="WGL_BIND_TO_VIDEO_RGB_NV"/>
+ <enum name="WGL_BIND_TO_VIDEO_RGBA_NV"/>
+ <enum name="WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV"/>
+ <enum name="WGL_VIDEO_OUT_COLOR_NV"/>
+ <enum name="WGL_VIDEO_OUT_ALPHA_NV"/>
+ <enum name="WGL_VIDEO_OUT_DEPTH_NV"/>
+ <enum name="WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV"/>
+ <enum name="WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV"/>
+ <enum name="WGL_VIDEO_OUT_FRAME"/>
+ <enum name="WGL_VIDEO_OUT_FIELD_1"/>
+ <enum name="WGL_VIDEO_OUT_FIELD_2"/>
+ <enum name="WGL_VIDEO_OUT_STACKED_FIELDS_1_2"/>
+ <enum name="WGL_VIDEO_OUT_STACKED_FIELDS_2_1"/>
+ <command name="wglGetVideoDeviceNV"/>
+ <command name="wglReleaseVideoDeviceNV"/>
+ <command name="wglBindVideoImageNV"/>
+ <command name="wglReleaseVideoImageNV"/>
+ <command name="wglSendPbufferToVideoNV"/>
+ <command name="wglGetVideoInfoNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_render_depth_texture" supported="wgl">
+ <require>
+ <enum name="WGL_BIND_TO_TEXTURE_DEPTH_NV"/>
+ <enum name="WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV"/>
+ <enum name="WGL_DEPTH_TEXTURE_FORMAT_NV"/>
+ <enum name="WGL_TEXTURE_DEPTH_COMPONENT_NV"/>
+ <enum name="WGL_DEPTH_COMPONENT_NV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_render_texture_rectangle" supported="wgl">
+ <require>
+ <enum name="WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV"/>
+ <enum name="WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV"/>
+ <enum name="WGL_TEXTURE_RECTANGLE_NV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_swap_group" supported="wgl">
+ <require>
+ <command name="wglJoinSwapGroupNV"/>
+ <command name="wglBindSwapBarrierNV"/>
+ <command name="wglQuerySwapGroupNV"/>
+ <command name="wglQueryMaxSwapGroupsNV"/>
+ <command name="wglQueryFrameCountNV"/>
+ <command name="wglResetFrameCountNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_gpu_affinity" supported="wgl">
+ <require>
+ <enum name="ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV"/>
+ <enum name="ERROR_MISSING_AFFINITY_MASK_NV"/>
+ <command name="wglEnumGpusNV"/>
+ <command name="wglEnumGpuDevicesNV"/>
+ <command name="wglCreateAffinityDCNV"/>
+ <command name="wglEnumGpusFromAffinityDCNV"/>
+ <command name="wglDeleteDCNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_AMD_gpu_association" supported="wgl">
+ <require>
+ <enum name="WGL_GPU_VENDOR_AMD"/>
+ <enum name="WGL_GPU_RENDERER_STRING_AMD"/>
+ <enum name="WGL_GPU_OPENGL_VERSION_STRING_AMD"/>
+ <enum name="WGL_GPU_FASTEST_TARGET_GPUS_AMD"/>
+ <enum name="WGL_GPU_RAM_AMD"/>
+ <enum name="WGL_GPU_CLOCK_AMD"/>
+ <enum name="WGL_GPU_NUM_PIPES_AMD"/>
+ <enum name="WGL_GPU_NUM_SIMD_AMD"/>
+ <enum name="WGL_GPU_NUM_RB_AMD"/>
+ <enum name="WGL_GPU_NUM_SPI_AMD"/>
+ <command name="wglGetGPUIDsAMD"/>
+ <command name="wglGetGPUInfoAMD"/>
+ <command name="wglGetContextGPUIDAMD"/>
+ <command name="wglCreateAssociatedContextAMD"/>
+ <command name="wglCreateAssociatedContextAttribsAMD"/>
+ <command name="wglDeleteAssociatedContextAMD"/>
+ <command name="wglMakeAssociatedContextCurrentAMD"/>
+ <command name="wglGetCurrentAssociatedContextAMD"/>
+ <command name="wglBlitContextFramebufferAMD"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_video_capture" supported="wgl">
+ <require>
+ <enum name="WGL_UNIQUE_ID_NV"/>
+ <enum name="WGL_NUM_VIDEO_CAPTURE_SLOTS_NV"/>
+ <command name="wglBindVideoCaptureDeviceNV"/>
+ <command name="wglEnumerateVideoCaptureDevicesNV"/>
+ <command name="wglLockVideoCaptureDeviceNV"/>
+ <command name="wglQueryVideoCaptureDeviceNV"/>
+ <command name="wglReleaseVideoCaptureDeviceNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_copy_image" supported="wgl">
+ <require>
+ <command name="wglCopyImageSubDataNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_multisample_coverage" supported="wgl">
+ <require>
+ <enum name="WGL_COVERAGE_SAMPLES_NV"/>
+ <enum name="WGL_COLOR_SAMPLES_NV"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_create_context_es_profile" supported="wgl">
+ <require>
+ <enum name="WGL_CONTEXT_ES_PROFILE_BIT_EXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_create_context_es2_profile" supported="wgl">
+ <require>
+ <enum name="WGL_CONTEXT_ES2_PROFILE_BIT_EXT"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_DX_interop" supported="wgl">
+ <require>
+ <enum name="WGL_ACCESS_READ_ONLY_NV"/>
+ <enum name="WGL_ACCESS_READ_WRITE_NV"/>
+ <enum name="WGL_ACCESS_WRITE_DISCARD_NV"/>
+ <command name="wglDXSetResourceShareHandleNV"/>
+ <command name="wglDXOpenDeviceNV"/>
+ <command name="wglDXCloseDeviceNV"/>
+ <command name="wglDXRegisterObjectNV"/>
+ <command name="wglDXUnregisterObjectNV"/>
+ <command name="wglDXObjectAccessNV"/>
+ <command name="wglDXLockObjectsNV"/>
+ <command name="wglDXUnlockObjectsNV"/>
+ </require>
+ </extension>
+ <extension name="WGL_NV_DX_interop2" supported="wgl">
+ <require>
+ </require>
+ </extension>
+ <extension name="WGL_EXT_swap_control_tear" supported="wgl">
+ <require>
+ </require>
+ </extension>
+ <extension name="WGL_NV_delay_before_swap" supported="wgl">
+ <require>
+ <command name="wglDelayBeforeSwapNV"/>
+ </require>
+ </extension>
+ </extensions>
+</registry>
diff --git a/xorg-server/hw/xwin/glx/wgl_ext_api.c b/xorg-server/hw/xwin/glx/wgl_ext_api.c
index 78b6e2a02..c11eb4f14 100644
--- a/xorg-server/hw/xwin/glx/wgl_ext_api.c
+++ b/xorg-server/hw/xwin/glx/wgl_ext_api.c
@@ -35,15 +35,20 @@
#include <GL/glext.h>
#include <glx/glxserver.h>
#include <glx/glxext.h>
-#include <GL/wglext.h>
+#include "wglext.h"
#include <wgl_ext_api.h>
#include "glwindows.h"
#define RESOLVE_DECL(type) \
static type type##proc = NULL;
+#ifdef _DEBUG
#define PRERESOLVE(type, symbol) \
type##proc = (type)wglGetProcAddress(symbol);
+#else
+#define PRERESOLVE(type, symbol) \
+ type##proc = (type)wglGetProcAddress(symbol);
+#endif
#define RESOLVE_RET(type, symbol, retval) \
if (type##proc == NULL) { \
diff --git a/xorg-server/hw/xwin/glx/wgl_ext_api.h b/xorg-server/hw/xwin/glx/wgl_ext_api.h
index b7231eb13..63b1d7ef1 100644
--- a/xorg-server/hw/xwin/glx/wgl_ext_api.h
+++ b/xorg-server/hw/xwin/glx/wgl_ext_api.h
@@ -29,7 +29,7 @@
#ifndef wgl_ext_api_h
#define wgl_ext_api_h
-#include <GL/wglext.h>
+#include "wglext.h"
void wglResolveExtensionProcs(void);
@@ -38,46 +38,46 @@ void wglResolveExtensionProcs(void);
XXX: should be automatically generated as well
*/
-const char *wglGetExtensionsStringARBWrapper(HDC hdc);
-BOOL wglMakeContextCurrentARBWrapper(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
-HDC wglGetCurrentReadDCARBWrapper(VOID);
+const char * __stdcall wglGetExtensionsStringARBWrapper(HDC hdc);
+BOOL __stdcall wglMakeContextCurrentARBWrapper(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+HDC __stdcall wglGetCurrentReadDCARBWrapper(VOID);
-BOOL wglGetPixelFormatAttribivARBWrapper(HDC hdc,
+BOOL __stdcall wglGetPixelFormatAttribivARBWrapper(HDC hdc,
int iPixelFormat,
int iLayerPlane,
UINT nAttributes,
const int *piAttributes,
int *piValues);
-BOOL wglGetPixelFormatAttribfvARBWrapper(HDC hdc,
+BOOL __stdcall wglGetPixelFormatAttribfvARBWrapper(HDC hdc,
int iPixelFormat,
int iLayerPlane,
UINT nAttributes,
const int *piAttributes,
FLOAT * pfValues);
-BOOL wglChoosePixelFormatARBWrapper(HDC hdc,
+BOOL __stdcall wglChoosePixelFormatARBWrapper(HDC hdc,
const int *piAttribIList,
const FLOAT * pfAttribFList,
UINT nMaxFormats,
int *piFormats, UINT * nNumFormats);
-HPBUFFERARB wglCreatePbufferARBWrapper(HDC hDC,
+HPBUFFERARB __stdcall wglCreatePbufferARBWrapper(HDC hDC,
int iPixelFormat,
int iWidth,
int iHeight, const int *piAttribList);
-HDC wglGetPbufferDCARBWrapper(HPBUFFERARB hPbuffer);
+HDC __stdcall wglGetPbufferDCARBWrapper(HPBUFFERARB hPbuffer);
-int wglReleasePbufferDCARBWrapper(HPBUFFERARB hPbuffer, HDC hDC);
+int __stdcall wglReleasePbufferDCARBWrapper(HPBUFFERARB hPbuffer, HDC hDC);
-BOOL wglDestroyPbufferARBWrapper(HPBUFFERARB hPbuffer);
+BOOL __stdcall wglDestroyPbufferARBWrapper(HPBUFFERARB hPbuffer);
-BOOL wglQueryPbufferARBWrapper(HPBUFFERARB hPbuffer,
+BOOL __stdcall wglQueryPbufferARBWrapper(HPBUFFERARB hPbuffer,
int iAttribute, int *piValue);
-BOOL wglSwapIntervalEXTWrapper(int interval);
+BOOL __stdcall wglSwapIntervalEXTWrapper(int interval);
-int wglGetSwapIntervalEXTWrapper(void);
+int __stdcall wglGetSwapIntervalEXTWrapper(void);
#endif /* wgl_ext_api_h */
diff --git a/xorg-server/hw/xwin/glx/wglext.h b/xorg-server/hw/xwin/glx/wglext.h
new file mode 100644
index 000000000..5860c867a
--- /dev/null
+++ b/xorg-server/hw/xwin/glx/wglext.h
@@ -0,0 +1,833 @@
+#ifndef __wglext_h_
+#define __wglext_h_ 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+** Copyright (c) 2013-2014 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** 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 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.
+*/
+/*
+** This header is generated from the Khronos OpenGL / OpenGL ES XML
+** API Registry. The current version of the Registry, generator scripts
+** used to make the header, and the header can be found at
+** http://www.opengl.org/registry/
+**
+** Khronos $Revision: 27191 $ on $Date: 2014-06-30 15:11:33 -0700 (Mon, 30 Jun 2014) $
+*/
+
+#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
+#define WIN32_LEAN_AND_MEAN 1
+#include <windows.h>
+#endif
+
+#define WGL_WGLEXT_VERSION 20140630
+
+/* Generated C header for:
+ * API: wgl
+ * Versions considered: .*
+ * Versions emitted: _nomatch_^
+ * Default extensions included: wgl
+ * Additional extensions included: _nomatch_^
+ * Extensions removed: _nomatch_^
+ */
+
+#ifndef WGL_ARB_buffer_region
+#define WGL_ARB_buffer_region 1
+#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
+#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
+#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
+#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
+typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
+typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
+typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
+typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
+#ifdef WGL_WGLEXT_PROTOTYPES
+HANDLE WINAPI wglCreateBufferRegionARB (HDC hDC, int iLayerPlane, UINT uType);
+VOID WINAPI wglDeleteBufferRegionARB (HANDLE hRegion);
+BOOL WINAPI wglSaveBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height);
+BOOL WINAPI wglRestoreBufferRegionARB (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
+#endif
+#endif /* WGL_ARB_buffer_region */
+
+#ifndef WGL_ARB_create_context
+#define WGL_ARB_create_context 1
+#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
+#define WGL_CONTEXT_FLAGS_ARB 0x2094
+#define ERROR_INVALID_VERSION_ARB 0x2095
+typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList);
+#ifdef WGL_WGLEXT_PROTOTYPES
+HGLRC WINAPI wglCreateContextAttribsARB (HDC hDC, HGLRC hShareContext, const int *attribList);
+#endif
+#endif /* WGL_ARB_create_context */
+
+#ifndef WGL_ARB_create_context_profile
+#define WGL_ARB_create_context_profile 1
+#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
+#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define ERROR_INVALID_PROFILE_ARB 0x2096
+#endif /* WGL_ARB_create_context_profile */
+
+#ifndef WGL_ARB_create_context_robustness
+#define WGL_ARB_create_context_robustness 1
+#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
+#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
+#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
+#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
+#endif /* WGL_ARB_create_context_robustness */
+
+#ifndef WGL_ARB_extensions_string
+#define WGL_ARB_extensions_string 1
+typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
+#ifdef WGL_WGLEXT_PROTOTYPES
+const char *WINAPI wglGetExtensionsStringARB (HDC hdc);
+#endif
+#endif /* WGL_ARB_extensions_string */
+
+#ifndef WGL_ARB_framebuffer_sRGB
+#define WGL_ARB_framebuffer_sRGB 1
+#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
+#endif /* WGL_ARB_framebuffer_sRGB */
+
+#ifndef WGL_ARB_make_current_read
+#define WGL_ARB_make_current_read 1
+#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
+#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
+typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+HDC WINAPI wglGetCurrentReadDCARB (void);
+#endif
+#endif /* WGL_ARB_make_current_read */
+
+#ifndef WGL_ARB_multisample
+#define WGL_ARB_multisample 1
+#define WGL_SAMPLE_BUFFERS_ARB 0x2041
+#define WGL_SAMPLES_ARB 0x2042
+#endif /* WGL_ARB_multisample */
+
+#ifndef WGL_ARB_pbuffer
+#define WGL_ARB_pbuffer 1
+DECLARE_HANDLE(HPBUFFERARB);
+#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
+#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
+#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
+#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
+#define WGL_PBUFFER_LARGEST_ARB 0x2033
+#define WGL_PBUFFER_WIDTH_ARB 0x2034
+#define WGL_PBUFFER_HEIGHT_ARB 0x2035
+#define WGL_PBUFFER_LOST_ARB 0x2036
+typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
+typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
+typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
+typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
+typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
+#ifdef WGL_WGLEXT_PROTOTYPES
+HPBUFFERARB WINAPI wglCreatePbufferARB (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
+HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB hPbuffer);
+int WINAPI wglReleasePbufferDCARB (HPBUFFERARB hPbuffer, HDC hDC);
+BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB hPbuffer);
+BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
+#endif
+#endif /* WGL_ARB_pbuffer */
+
+#ifndef WGL_ARB_pixel_format
+#define WGL_ARB_pixel_format 1
+#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
+#define WGL_DRAW_TO_WINDOW_ARB 0x2001
+#define WGL_DRAW_TO_BITMAP_ARB 0x2002
+#define WGL_ACCELERATION_ARB 0x2003
+#define WGL_NEED_PALETTE_ARB 0x2004
+#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
+#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
+#define WGL_SWAP_METHOD_ARB 0x2007
+#define WGL_NUMBER_OVERLAYS_ARB 0x2008
+#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
+#define WGL_TRANSPARENT_ARB 0x200A
+#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
+#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
+#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
+#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
+#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
+#define WGL_SHARE_DEPTH_ARB 0x200C
+#define WGL_SHARE_STENCIL_ARB 0x200D
+#define WGL_SHARE_ACCUM_ARB 0x200E
+#define WGL_SUPPORT_GDI_ARB 0x200F
+#define WGL_SUPPORT_OPENGL_ARB 0x2010
+#define WGL_DOUBLE_BUFFER_ARB 0x2011
+#define WGL_STEREO_ARB 0x2012
+#define WGL_PIXEL_TYPE_ARB 0x2013
+#define WGL_COLOR_BITS_ARB 0x2014
+#define WGL_RED_BITS_ARB 0x2015
+#define WGL_RED_SHIFT_ARB 0x2016
+#define WGL_GREEN_BITS_ARB 0x2017
+#define WGL_GREEN_SHIFT_ARB 0x2018
+#define WGL_BLUE_BITS_ARB 0x2019
+#define WGL_BLUE_SHIFT_ARB 0x201A
+#define WGL_ALPHA_BITS_ARB 0x201B
+#define WGL_ALPHA_SHIFT_ARB 0x201C
+#define WGL_ACCUM_BITS_ARB 0x201D
+#define WGL_ACCUM_RED_BITS_ARB 0x201E
+#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
+#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
+#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
+#define WGL_DEPTH_BITS_ARB 0x2022
+#define WGL_STENCIL_BITS_ARB 0x2023
+#define WGL_AUX_BUFFERS_ARB 0x2024
+#define WGL_NO_ACCELERATION_ARB 0x2025
+#define WGL_GENERIC_ACCELERATION_ARB 0x2026
+#define WGL_FULL_ACCELERATION_ARB 0x2027
+#define WGL_SWAP_EXCHANGE_ARB 0x2028
+#define WGL_SWAP_COPY_ARB 0x2029
+#define WGL_SWAP_UNDEFINED_ARB 0x202A
+#define WGL_TYPE_RGBA_ARB 0x202B
+#define WGL_TYPE_COLORINDEX_ARB 0x202C
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
+typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
+BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
+BOOL WINAPI wglChoosePixelFormatARB (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
+#endif
+#endif /* WGL_ARB_pixel_format */
+
+#ifndef WGL_ARB_pixel_format_float
+#define WGL_ARB_pixel_format_float 1
+#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
+#endif /* WGL_ARB_pixel_format_float */
+
+#ifndef WGL_ARB_render_texture
+#define WGL_ARB_render_texture 1
+#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
+#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
+#define WGL_TEXTURE_FORMAT_ARB 0x2072
+#define WGL_TEXTURE_TARGET_ARB 0x2073
+#define WGL_MIPMAP_TEXTURE_ARB 0x2074
+#define WGL_TEXTURE_RGB_ARB 0x2075
+#define WGL_TEXTURE_RGBA_ARB 0x2076
+#define WGL_NO_TEXTURE_ARB 0x2077
+#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
+#define WGL_TEXTURE_1D_ARB 0x2079
+#define WGL_TEXTURE_2D_ARB 0x207A
+#define WGL_MIPMAP_LEVEL_ARB 0x207B
+#define WGL_CUBE_MAP_FACE_ARB 0x207C
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
+#define WGL_FRONT_LEFT_ARB 0x2083
+#define WGL_FRONT_RIGHT_ARB 0x2084
+#define WGL_BACK_LEFT_ARB 0x2085
+#define WGL_BACK_RIGHT_ARB 0x2086
+#define WGL_AUX0_ARB 0x2087
+#define WGL_AUX1_ARB 0x2088
+#define WGL_AUX2_ARB 0x2089
+#define WGL_AUX3_ARB 0x208A
+#define WGL_AUX4_ARB 0x208B
+#define WGL_AUX5_ARB 0x208C
+#define WGL_AUX6_ARB 0x208D
+#define WGL_AUX7_ARB 0x208E
+#define WGL_AUX8_ARB 0x208F
+#define WGL_AUX9_ARB 0x2090
+typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
+typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
+typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglBindTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
+BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB hPbuffer, int iBuffer);
+BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB hPbuffer, const int *piAttribList);
+#endif
+#endif /* WGL_ARB_render_texture */
+
+#ifndef WGL_ARB_robustness_application_isolation
+#define WGL_ARB_robustness_application_isolation 1
+#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
+#endif /* WGL_ARB_robustness_application_isolation */
+
+#ifndef WGL_ARB_robustness_share_group_isolation
+#define WGL_ARB_robustness_share_group_isolation 1
+#endif /* WGL_ARB_robustness_share_group_isolation */
+
+#ifndef WGL_3DFX_multisample
+#define WGL_3DFX_multisample 1
+#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
+#define WGL_SAMPLES_3DFX 0x2061
+#endif /* WGL_3DFX_multisample */
+
+#ifndef WGL_3DL_stereo_control
+#define WGL_3DL_stereo_control 1
+#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
+#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
+#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
+#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
+typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglSetStereoEmitterState3DL (HDC hDC, UINT uState);
+#endif
+#endif /* WGL_3DL_stereo_control */
+
+#ifndef WGL_AMD_gpu_association
+#define WGL_AMD_gpu_association 1
+#define WGL_GPU_VENDOR_AMD 0x1F00
+#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
+#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
+#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
+#define WGL_GPU_RAM_AMD 0x21A3
+#define WGL_GPU_CLOCK_AMD 0x21A4
+#define WGL_GPU_NUM_PIPES_AMD 0x21A5
+#define WGL_GPU_NUM_SIMD_AMD 0x21A6
+#define WGL_GPU_NUM_RB_AMD 0x21A7
+#define WGL_GPU_NUM_SPI_AMD 0x21A8
+typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT *ids);
+typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void *data);
+typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
+typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
+typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int *attribList);
+typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
+typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
+typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
+typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+#ifdef WGL_WGLEXT_PROTOTYPES
+UINT WINAPI wglGetGPUIDsAMD (UINT maxCount, UINT *ids);
+INT WINAPI wglGetGPUInfoAMD (UINT id, int property, GLenum dataType, UINT size, void *data);
+UINT WINAPI wglGetContextGPUIDAMD (HGLRC hglrc);
+HGLRC WINAPI wglCreateAssociatedContextAMD (UINT id);
+HGLRC WINAPI wglCreateAssociatedContextAttribsAMD (UINT id, HGLRC hShareContext, const int *attribList);
+BOOL WINAPI wglDeleteAssociatedContextAMD (HGLRC hglrc);
+BOOL WINAPI wglMakeAssociatedContextCurrentAMD (HGLRC hglrc);
+HGLRC WINAPI wglGetCurrentAssociatedContextAMD (void);
+VOID WINAPI wglBlitContextFramebufferAMD (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+#endif
+#endif /* WGL_AMD_gpu_association */
+
+#ifndef WGL_ATI_pixel_format_float
+#define WGL_ATI_pixel_format_float 1
+#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
+#endif /* WGL_ATI_pixel_format_float */
+
+#ifndef WGL_EXT_create_context_es2_profile
+#define WGL_EXT_create_context_es2_profile 1
+#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
+#endif /* WGL_EXT_create_context_es2_profile */
+
+#ifndef WGL_EXT_create_context_es_profile
+#define WGL_EXT_create_context_es_profile 1
+#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
+#endif /* WGL_EXT_create_context_es_profile */
+
+#ifndef WGL_EXT_depth_float
+#define WGL_EXT_depth_float 1
+#define WGL_DEPTH_FLOAT_EXT 0x2040
+#endif /* WGL_EXT_depth_float */
+
+#ifndef WGL_EXT_display_color_table
+#define WGL_EXT_display_color_table 1
+typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
+typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
+typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
+typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
+#ifdef WGL_WGLEXT_PROTOTYPES
+GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort id);
+GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *table, GLuint length);
+GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort id);
+VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort id);
+#endif
+#endif /* WGL_EXT_display_color_table */
+
+#ifndef WGL_EXT_extensions_string
+#define WGL_EXT_extensions_string 1
+typedef const char *(WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
+#ifdef WGL_WGLEXT_PROTOTYPES
+const char *WINAPI wglGetExtensionsStringEXT (void);
+#endif
+#endif /* WGL_EXT_extensions_string */
+
+#ifndef WGL_EXT_framebuffer_sRGB
+#define WGL_EXT_framebuffer_sRGB 1
+#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
+#endif /* WGL_EXT_framebuffer_sRGB */
+
+#ifndef WGL_EXT_make_current_read
+#define WGL_EXT_make_current_read 1
+#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
+typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+HDC WINAPI wglGetCurrentReadDCEXT (void);
+#endif
+#endif /* WGL_EXT_make_current_read */
+
+#ifndef WGL_EXT_multisample
+#define WGL_EXT_multisample 1
+#define WGL_SAMPLE_BUFFERS_EXT 0x2041
+#define WGL_SAMPLES_EXT 0x2042
+#endif /* WGL_EXT_multisample */
+
+#ifndef WGL_EXT_pbuffer
+#define WGL_EXT_pbuffer 1
+DECLARE_HANDLE(HPBUFFEREXT);
+#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
+#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
+#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
+#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
+#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
+#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
+#define WGL_PBUFFER_LARGEST_EXT 0x2033
+#define WGL_PBUFFER_WIDTH_EXT 0x2034
+#define WGL_PBUFFER_HEIGHT_EXT 0x2035
+typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
+typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
+typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
+typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
+typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
+#ifdef WGL_WGLEXT_PROTOTYPES
+HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
+HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT hPbuffer);
+int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT hPbuffer, HDC hDC);
+BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT hPbuffer);
+BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
+#endif
+#endif /* WGL_EXT_pbuffer */
+
+#ifndef WGL_EXT_pixel_format
+#define WGL_EXT_pixel_format 1
+#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
+#define WGL_DRAW_TO_WINDOW_EXT 0x2001
+#define WGL_DRAW_TO_BITMAP_EXT 0x2002
+#define WGL_ACCELERATION_EXT 0x2003
+#define WGL_NEED_PALETTE_EXT 0x2004
+#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
+#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
+#define WGL_SWAP_METHOD_EXT 0x2007
+#define WGL_NUMBER_OVERLAYS_EXT 0x2008
+#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
+#define WGL_TRANSPARENT_EXT 0x200A
+#define WGL_TRANSPARENT_VALUE_EXT 0x200B
+#define WGL_SHARE_DEPTH_EXT 0x200C
+#define WGL_SHARE_STENCIL_EXT 0x200D
+#define WGL_SHARE_ACCUM_EXT 0x200E
+#define WGL_SUPPORT_GDI_EXT 0x200F
+#define WGL_SUPPORT_OPENGL_EXT 0x2010
+#define WGL_DOUBLE_BUFFER_EXT 0x2011
+#define WGL_STEREO_EXT 0x2012
+#define WGL_PIXEL_TYPE_EXT 0x2013
+#define WGL_COLOR_BITS_EXT 0x2014
+#define WGL_RED_BITS_EXT 0x2015
+#define WGL_RED_SHIFT_EXT 0x2016
+#define WGL_GREEN_BITS_EXT 0x2017
+#define WGL_GREEN_SHIFT_EXT 0x2018
+#define WGL_BLUE_BITS_EXT 0x2019
+#define WGL_BLUE_SHIFT_EXT 0x201A
+#define WGL_ALPHA_BITS_EXT 0x201B
+#define WGL_ALPHA_SHIFT_EXT 0x201C
+#define WGL_ACCUM_BITS_EXT 0x201D
+#define WGL_ACCUM_RED_BITS_EXT 0x201E
+#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
+#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
+#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
+#define WGL_DEPTH_BITS_EXT 0x2022
+#define WGL_STENCIL_BITS_EXT 0x2023
+#define WGL_AUX_BUFFERS_EXT 0x2024
+#define WGL_NO_ACCELERATION_EXT 0x2025
+#define WGL_GENERIC_ACCELERATION_EXT 0x2026
+#define WGL_FULL_ACCELERATION_EXT 0x2027
+#define WGL_SWAP_EXCHANGE_EXT 0x2028
+#define WGL_SWAP_COPY_EXT 0x2029
+#define WGL_SWAP_UNDEFINED_EXT 0x202A
+#define WGL_TYPE_RGBA_EXT 0x202B
+#define WGL_TYPE_COLORINDEX_EXT 0x202C
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
+typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
+BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
+BOOL WINAPI wglChoosePixelFormatEXT (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
+#endif
+#endif /* WGL_EXT_pixel_format */
+
+#ifndef WGL_EXT_pixel_format_packed_float
+#define WGL_EXT_pixel_format_packed_float 1
+#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
+#endif /* WGL_EXT_pixel_format_packed_float */
+
+#ifndef WGL_EXT_swap_control
+#define WGL_EXT_swap_control 1
+typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
+typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglSwapIntervalEXT (int interval);
+int WINAPI wglGetSwapIntervalEXT (void);
+#endif
+#endif /* WGL_EXT_swap_control */
+
+#ifndef WGL_EXT_swap_control_tear
+#define WGL_EXT_swap_control_tear 1
+#endif /* WGL_EXT_swap_control_tear */
+
+#ifndef WGL_I3D_digital_video_control
+#define WGL_I3D_digital_video_control 1
+#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
+#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
+#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
+#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
+typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
+typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC hDC, int iAttribute, int *piValue);
+BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC hDC, int iAttribute, const int *piValue);
+#endif
+#endif /* WGL_I3D_digital_video_control */
+
+#ifndef WGL_I3D_gamma
+#define WGL_I3D_gamma 1
+#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
+#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
+typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
+typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
+typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
+typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglGetGammaTableParametersI3D (HDC hDC, int iAttribute, int *piValue);
+BOOL WINAPI wglSetGammaTableParametersI3D (HDC hDC, int iAttribute, const int *piValue);
+BOOL WINAPI wglGetGammaTableI3D (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
+BOOL WINAPI wglSetGammaTableI3D (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
+#endif
+#endif /* WGL_I3D_gamma */
+
+#ifndef WGL_I3D_genlock
+#define WGL_I3D_genlock 1
+#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
+#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
+#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
+#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
+#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
+#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
+#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
+#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
+#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
+typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
+typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
+typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
+typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglEnableGenlockI3D (HDC hDC);
+BOOL WINAPI wglDisableGenlockI3D (HDC hDC);
+BOOL WINAPI wglIsEnabledGenlockI3D (HDC hDC, BOOL *pFlag);
+BOOL WINAPI wglGenlockSourceI3D (HDC hDC, UINT uSource);
+BOOL WINAPI wglGetGenlockSourceI3D (HDC hDC, UINT *uSource);
+BOOL WINAPI wglGenlockSourceEdgeI3D (HDC hDC, UINT uEdge);
+BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC hDC, UINT *uEdge);
+BOOL WINAPI wglGenlockSampleRateI3D (HDC hDC, UINT uRate);
+BOOL WINAPI wglGetGenlockSampleRateI3D (HDC hDC, UINT *uRate);
+BOOL WINAPI wglGenlockSourceDelayI3D (HDC hDC, UINT uDelay);
+BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC hDC, UINT *uDelay);
+BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
+#endif
+#endif /* WGL_I3D_genlock */
+
+#ifndef WGL_I3D_image_buffer
+#define WGL_I3D_image_buffer 1
+#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
+#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
+typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
+typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
+typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
+typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
+#ifdef WGL_WGLEXT_PROTOTYPES
+LPVOID WINAPI wglCreateImageBufferI3D (HDC hDC, DWORD dwSize, UINT uFlags);
+BOOL WINAPI wglDestroyImageBufferI3D (HDC hDC, LPVOID pAddress);
+BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
+BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC hDC, const LPVOID *pAddress, UINT count);
+#endif
+#endif /* WGL_I3D_image_buffer */
+
+#ifndef WGL_I3D_swap_frame_lock
+#define WGL_I3D_swap_frame_lock 1
+typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
+typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
+typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
+typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglEnableFrameLockI3D (void);
+BOOL WINAPI wglDisableFrameLockI3D (void);
+BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *pFlag);
+BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *pFlag);
+#endif
+#endif /* WGL_I3D_swap_frame_lock */
+
+#ifndef WGL_I3D_swap_frame_usage
+#define WGL_I3D_swap_frame_usage 1
+typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
+typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
+typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
+typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglGetFrameUsageI3D (float *pUsage);
+BOOL WINAPI wglBeginFrameTrackingI3D (void);
+BOOL WINAPI wglEndFrameTrackingI3D (void);
+BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
+#endif
+#endif /* WGL_I3D_swap_frame_usage */
+
+#ifndef WGL_NV_DX_interop
+#define WGL_NV_DX_interop 1
+#define WGL_ACCESS_READ_ONLY_NV 0x00000000
+#define WGL_ACCESS_READ_WRITE_NV 0x00000001
+#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
+typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void *dxObject, HANDLE shareHandle);
+typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void *dxDevice);
+typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice);
+typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
+typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject);
+typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access);
+typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
+typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE *hObjects);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglDXSetResourceShareHandleNV (void *dxObject, HANDLE shareHandle);
+HANDLE WINAPI wglDXOpenDeviceNV (void *dxDevice);
+BOOL WINAPI wglDXCloseDeviceNV (HANDLE hDevice);
+HANDLE WINAPI wglDXRegisterObjectNV (HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
+BOOL WINAPI wglDXUnregisterObjectNV (HANDLE hDevice, HANDLE hObject);
+BOOL WINAPI wglDXObjectAccessNV (HANDLE hObject, GLenum access);
+BOOL WINAPI wglDXLockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
+BOOL WINAPI wglDXUnlockObjectsNV (HANDLE hDevice, GLint count, HANDLE *hObjects);
+#endif
+#endif /* WGL_NV_DX_interop */
+
+#ifndef WGL_NV_DX_interop2
+#define WGL_NV_DX_interop2 1
+#endif /* WGL_NV_DX_interop2 */
+
+#ifndef WGL_NV_copy_image
+#define WGL_NV_copy_image 1
+typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+#endif
+#endif /* WGL_NV_copy_image */
+
+#ifndef WGL_NV_delay_before_swap
+#define WGL_NV_delay_before_swap 1
+typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglDelayBeforeSwapNV (HDC hDC, GLfloat seconds);
+#endif
+#endif /* WGL_NV_delay_before_swap */
+
+#ifndef WGL_NV_float_buffer
+#define WGL_NV_float_buffer 1
+#define WGL_FLOAT_COMPONENTS_NV 0x20B0
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
+#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
+#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
+#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
+#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
+#endif /* WGL_NV_float_buffer */
+
+#ifndef WGL_NV_gpu_affinity
+#define WGL_NV_gpu_affinity 1
+DECLARE_HANDLE(HGPUNV);
+struct _GPU_DEVICE {
+ DWORD cb;
+ CHAR DeviceName[32];
+ CHAR DeviceString[128];
+ DWORD Flags;
+ RECT rcVirtualScreen;
+};
+typedef struct _GPU_DEVICE *PGPU_DEVICE;
+#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
+#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
+typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
+typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
+typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
+typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
+typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu);
+BOOL WINAPI wglEnumGpuDevicesNV (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
+HDC WINAPI wglCreateAffinityDCNV (const HGPUNV *phGpuList);
+BOOL WINAPI wglEnumGpusFromAffinityDCNV (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
+BOOL WINAPI wglDeleteDCNV (HDC hdc);
+#endif
+#endif /* WGL_NV_gpu_affinity */
+
+#ifndef WGL_NV_multisample_coverage
+#define WGL_NV_multisample_coverage 1
+#define WGL_COVERAGE_SAMPLES_NV 0x2042
+#define WGL_COLOR_SAMPLES_NV 0x20B9
+#endif /* WGL_NV_multisample_coverage */
+
+#ifndef WGL_NV_present_video
+#define WGL_NV_present_video 1
+DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
+#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
+typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
+typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
+typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int *piValue);
+#ifdef WGL_WGLEXT_PROTOTYPES
+int WINAPI wglEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
+BOOL WINAPI wglBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
+BOOL WINAPI wglQueryCurrentContextNV (int iAttribute, int *piValue);
+#endif
+#endif /* WGL_NV_present_video */
+
+#ifndef WGL_NV_render_depth_texture
+#define WGL_NV_render_depth_texture 1
+#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
+#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
+#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
+#define WGL_DEPTH_COMPONENT_NV 0x20A7
+#endif /* WGL_NV_render_depth_texture */
+
+#ifndef WGL_NV_render_texture_rectangle
+#define WGL_NV_render_texture_rectangle 1
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
+#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
+#endif /* WGL_NV_render_texture_rectangle */
+
+#ifndef WGL_NV_swap_group
+#define WGL_NV_swap_group 1
+typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
+typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
+typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint *group, GLuint *barrier);
+typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
+typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint *count);
+typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglJoinSwapGroupNV (HDC hDC, GLuint group);
+BOOL WINAPI wglBindSwapBarrierNV (GLuint group, GLuint barrier);
+BOOL WINAPI wglQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier);
+BOOL WINAPI wglQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
+BOOL WINAPI wglQueryFrameCountNV (HDC hDC, GLuint *count);
+BOOL WINAPI wglResetFrameCountNV (HDC hDC);
+#endif
+#endif /* WGL_NV_swap_group */
+
+#ifndef WGL_NV_vertex_array_range
+#define WGL_NV_vertex_array_range 1
+typedef void *(WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
+typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
+#ifdef WGL_WGLEXT_PROTOTYPES
+void *WINAPI wglAllocateMemoryNV (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
+void WINAPI wglFreeMemoryNV (void *pointer);
+#endif
+#endif /* WGL_NV_vertex_array_range */
+
+#ifndef WGL_NV_video_capture
+#define WGL_NV_video_capture 1
+DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
+#define WGL_UNIQUE_ID_NV 0x20CE
+#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
+typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
+typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
+typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
+typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
+UINT WINAPI wglEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
+BOOL WINAPI wglLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+BOOL WINAPI wglQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
+BOOL WINAPI wglReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+#endif
+#endif /* WGL_NV_video_capture */
+
+#ifndef WGL_NV_video_output
+#define WGL_NV_video_output 1
+DECLARE_HANDLE(HPVIDEODEV);
+#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
+#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
+#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
+#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
+#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
+#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
+#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
+#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
+#define WGL_VIDEO_OUT_FRAME 0x20C8
+#define WGL_VIDEO_OUT_FIELD_1 0x20C9
+#define WGL_VIDEO_OUT_FIELD_2 0x20CA
+#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
+#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
+typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
+typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
+typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
+typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
+typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
+typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglGetVideoDeviceNV (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
+BOOL WINAPI wglReleaseVideoDeviceNV (HPVIDEODEV hVideoDevice);
+BOOL WINAPI wglBindVideoImageNV (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
+BOOL WINAPI wglReleaseVideoImageNV (HPBUFFERARB hPbuffer, int iVideoBuffer);
+BOOL WINAPI wglSendPbufferToVideoNV (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
+BOOL WINAPI wglGetVideoInfoNV (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
+#endif
+#endif /* WGL_NV_video_output */
+
+#ifndef WGL_OML_sync_control
+#define WGL_OML_sync_control 1
+typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
+typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
+typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
+typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
+typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
+typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
+#ifdef WGL_WGLEXT_PROTOTYPES
+BOOL WINAPI wglGetSyncValuesOML (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
+BOOL WINAPI wglGetMscRateOML (HDC hdc, INT32 *numerator, INT32 *denominator);
+INT64 WINAPI wglSwapBuffersMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
+INT64 WINAPI wglSwapLayerBuffersMscOML (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
+BOOL WINAPI wglWaitForMscOML (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
+BOOL WINAPI wglWaitForSbcOML (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
+#endif
+#endif /* WGL_OML_sync_control */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/xorg-server/hw/xwin/glx/winpriv.c b/xorg-server/hw/xwin/glx/winpriv.c
index 4f6e4ffd5..1b8ec5a4a 100644
--- a/xorg-server/hw/xwin/glx/winpriv.c
+++ b/xorg-server/hw/xwin/glx/winpriv.c
@@ -11,6 +11,8 @@
#include "winpriv.h"
#include "winwindow.h"
+extern Bool g_fXdmcpEnabled;
+
void
winCreateWindowsWindow(WindowPtr pWin);
@@ -21,7 +23,8 @@ void
HWND
winGetWindowInfo(WindowPtr pWin)
{
- winTrace("%s: pWin %p XID 0x%x\n", __FUNCTION__, pWin, pWin->drawable.id);
+ HWND hwnd = NULL;
+ winDebug("%s:%d pWin %p XID 0x%x\n", __FUNCTION__, __LINE__, pWin, pWin->drawable.id);
/* a real window was requested */
if (pWin != NULL) {
@@ -29,11 +32,10 @@ winGetWindowInfo(WindowPtr pWin)
ScreenPtr pScreen = pWin->drawable.pScreen;
winPrivScreenPtr pWinScreen = winGetScreenPriv(pScreen);
winScreenInfoPtr pScreenInfo = NULL;
- HWND hwnd = NULL;
if (pWinScreen == NULL) {
ErrorF("winGetWindowInfo: screen has no privates\n");
- return NULL;
+ return hwnd;
}
hwnd = pWinScreen->hwndScreen;
@@ -50,19 +52,103 @@ winGetWindowInfo(WindowPtr pWin)
}
if (pWinPriv->hWnd == NULL) {
+ if (pWin->parent && pWin->parent->parent)
+ {
+ int offsetx;
+ int offsety;
+ int ExtraClass=(pWin->realized)?WS_VISIBLE:0;
+ HWND hWndParent;
+ WindowPtr pParent=pWin->parent;
+ while (pParent)
+ {
+ winWindowPriv(pParent);
+ hWndParent=pWinPriv->hWnd;
+ if (hWndParent)
+ break;
+ pParent=pParent->parent;
+ }
+ if (!hWndParent)
+ hWndParent=hwnd;
+ if (pParent)
+ {
+ offsetx=pParent->drawable.x;
+ offsety=pParent->drawable.y;
+ }
+ else
+ {
+ offsetx=0;
+ offsety=0;
+ }
+ pWinPriv->hWnd=CreateWindowExA(0,
+ WIN_GL_WINDOW_CLASS,
+ "",
+ WS_CHILD |WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_DISABLED | ExtraClass,
+ pWin->drawable.x-offsetx,
+ pWin->drawable.y-offsety,
+ pWin->drawable.width,
+ pWin->drawable.height,
+ hWndParent,
+ NULL,
+ g_hInstance,
+ pWin);
+ winDebug("Window created %x %x %d %d %d %d\n",pWinPriv->hWnd,hWndParent,pWin->drawable.x-offsetx,pWin->drawable.y-offsety,pWin->drawable.width, pWin->drawable.height);
+ pWinPriv->fWglUsed=TRUE;
+ }
+ else
+ {
winCreateWindowsWindow(pWin);
- ErrorF("winGetWindowInfo: forcing window to exist...\n");
+ winDebug("winGetWindowInfo: forcing window to exist...\n");
+ }
}
-
if (pWinPriv->hWnd != NULL) {
/* copy window handle */
hwnd = pWinPriv->hWnd;
-
- /* mark GLX active on that hwnd */
- pWinPriv->fWglUsed = TRUE;
}
+ }
+ else if (g_fXdmcpEnabled)
+ {
+ winWindowPriv(pWin);
- return hwnd;
+ if (pWinPriv == NULL)
+ {
+ ErrorF("winGetWindowInfo: window has no privates\n");
+ return hwnd;
+ }
+ if (pWinPriv->hWnd == NULL)
+ {
+ if (!((pWin->drawable.x==0) &&
+ (pWin->drawable.y==0) &&
+ (pWin->drawable.width==pScreen->width) &&
+ (pWin->drawable.height==pScreen->height)
+ )
+ )
+ {
+ int ExtraClass=(pWin->realized)?WS_VISIBLE:0;
+ pWinPriv->hWnd=CreateWindowExA(0,
+ WIN_GL_WINDOW_CLASS,
+ "",
+ WS_CHILD |WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_DISABLED | ExtraClass,
+ pWin->drawable.x,
+ pWin->drawable.y,
+ pWin->drawable.width,
+ pWin->drawable.height,
+ pWinScreen->hwndScreen,
+ NULL,
+ g_hInstance,
+ pWin);
+ pWinPriv->fWglUsed=TRUE;
+ /* copy size and window handle */
+ hwnd = pWinPriv->hWnd;
+ }
+ else
+ {
+ hwnd = pWinScreen->hwndScreen;
+ }
+ }
+ else
+ {
+ hwnd = pWinPriv->hWnd;
+ }
}
#endif
#ifdef XWIN_MULTIWINDOWEXTWM
@@ -73,14 +159,12 @@ winGetWindowInfo(WindowPtr pWin)
if (pRLWinPriv == NULL) {
ErrorF("winGetWindowInfo: window has no privates\n");
- return hwnd;
}
if (pRLWinPriv->hWnd != NULL) {
/* copy window handle */
hwnd = pRLWinPriv->hWnd;
}
- return hwnd;
}
#endif
}
@@ -90,15 +174,16 @@ winGetWindowInfo(WindowPtr pWin)
if (pWinScreen == NULL) {
ErrorF("winGetWindowInfo: screen has no privates\n");
- return NULL;
}
+ else
+ {
+ winDebug("winGetWindowInfo: returning root window\n");
- ErrorF("winGetWindowInfo: returning root window\n");
-
- return pWinScreen->hwndScreen;
+ hwnd=pWinScreen->hwndScreen;
+ }
}
- return NULL;
+ return hwnd;
}
Bool
@@ -117,5 +202,8 @@ winCheckScreenAiglxIsSupported(ScreenPtr pScreen)
return TRUE;
#endif
+ if (g_fXdmcpEnabled)
+ return TRUE;
+
return FALSE;
}
diff --git a/xorg-server/hw/xwin/glx/winpriv.h b/xorg-server/hw/xwin/glx/winpriv.h
index dce1edf48..710525ccc 100644
--- a/xorg-server/hw/xwin/glx/winpriv.h
+++ b/xorg-server/hw/xwin/glx/winpriv.h
@@ -7,5 +7,7 @@
#include <X11/Xwindows.h>
#include <windowstr.h>
+#define WIN_GL_WINDOW_CLASS "XWinGLTest"
+
HWND winGetWindowInfo(WindowPtr pWin);
Bool winCheckScreenAiglxIsSupported(ScreenPtr pScreen);
diff --git a/xorg-server/hw/xwin/makefile b/xorg-server/hw/xwin/makefile
new file mode 100644
index 000000000..46bcc1e05
--- /dev/null
+++ b/xorg-server/hw/xwin/makefile
@@ -0,0 +1,165 @@
+LIBRARY = libXWin
+
+XWIN_MULTIWINDOW=1
+XWIN_CLIPBOARD=1
+XWIN_MULTIWINDOWEXTWM=0 # currently not working correctly
+XWIN_MULTIWINDOWINTWM=0 # currently not working correctly
+XWIN_RANDR=1
+XWIN_NATIVEGDI=0 # currently not working correctly
+XWIN_PRIMARYFB=0 # currently not working correctly
+XWIN_GLX_WINDOWS=1 # everything is in the glx makefile
+
+if XWIN_CLIPBOARD
+SRCS_CLIPBOARD = \
+ winclipboardinit.c \
+ winclipboardtextconv.c \
+ winclipboardthread.c \
+ winclipboardwndproc.c \
+ winclipboardwrappers.c \
+ winclipboardxevents.c
+DEFS_CLIPBOARD = -DXWIN_CLIPBOARD
+endif
+
+if XWIN_GLX_WINDOWS
+GLX_DIR = glx
+DEFS_GLX_WINDOWS = -DXWIN_GLX_WINDOWS
+XWIN_GLX_LIBS = $(top_builddir)/hw/xwin/glx/libXwinGLX.la
+XWIN_GLX_LINK_FLAGS = -lopengl32
+endif
+
+if XWIN_MULTIWINDOW
+SRCS_MULTIWINDOW = \
+ winmultiwindowshape.c \
+ winmultiwindowwindow.c \
+ winmultiwindowwm.c \
+ winmultiwindowwndproc.c \
+ winSetAppUserModelID.c
+DEFS_MULTIWINDOW = -DXWIN_MULTIWINDOW
+endif
+
+if XWIN_MULTIWINDOWEXTWM
+SRCS_MULTIWINDOWEXTWM = \
+ winwin32rootless.c \
+ winwin32rootlesswindow.c \
+ winwin32rootlesswndproc.c \
+ winwindowswm.c
+DEFS_MULTIWINDOWEXTWM = -DXWIN_MULTIWINDOWEXTWM
+MULTIWINDOWEXTWM_LIBS = $(top_builddir)/miext/rootless/librootless.la
+endif
+
+if XWIN_NATIVEGDI
+SRCS_NATIVEGDI = \
+ winclip.c \
+ winfillsp.c \
+ winfont.c \
+ wingc.c \
+ wingetsp.c \
+ winnativegdi.c \
+ winpixmap.c \
+ winpolyline.c \
+ winrop.c \
+ winsetsp.c
+DEFS_NATIVEGDI = -DXWIN_NATIVEGDI
+endif
+
+if XWIN_PRIMARYFB
+SRCS_PRIMARYFB = \
+ winpfbdd.c
+DEFS_PRIMARYFB = -DXWIN_PRIMARYFB
+endif
+
+if XWIN_RANDR
+SRCS_RANDR = \
+ winrandr.c
+DEFS_RANDR = -DXWIN_RANDR
+endif
+
+if XWIN_XV
+SRCS_XV = \
+ winvideo.c
+DEFS_XV = -DXWIN_XV
+endif
+
+SRCS = 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 \
+ 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 \
+ winkeybd.h \
+ winkeynames.h \
+ winlayouts.h \
+ winmessages.h \
+ winmsg.h \
+ winms.h \
+ winmultiwindowclass.h \
+ winprefs.h \
+ winresource.h \
+ winwindow.h \
+ windisplay.c \
+ XWin.rc \
+ $(SRCS_CLIPBOARD) \
+ $(SRCS_MULTIWINDOW) \
+ $(SRCS_MULTIWINDOWEXTWM) \
+ $(SRCS_NATIVEGDI) \
+ $(SRCS_PRIMARYFB) \
+ $(SRCS_RANDR) \
+ $(SRCS_XV) \
+ xdmcphostselect.c
+
+CSRCS=$(filter %.c,$(SRCS)) $(filter %.y,$(SRCS)) $(filter %.l,$(SRCS))
+CSRCS := $(CSRCS:%.y=%.c)
+CSRCS := $(CSRCS:%.l=%.c)
+
+ DEFS = $(DEFS_CLIPBOARD) \
+ $(DEFS_GLX_WINDOWS) \
+ $(DEFS_MULTIWINDOW) \
+ $(DEFS_MULTIWINDOWEXTWM) \
+ $(DEFS_NATIVEGDI) \
+ $(DEFS_PRIMARYFB) \
+ $(DEFS_RANDR) \
+ $(DEFS_XV)
+
+DEFINES += $(DEFS:-D%=%) HAVE_XWIN_CONFIG_H PTW32_STATIC_LIB RELOCATE_PROJECTROOT
+
+INCLUDES += ..\.. ..\..\miext\rootless
+
+INCLUDES += $(OBJDIR)
+
+$(OBJDIR)\winprefslex.c $(OBJDIR)\winprefsyacc.c $(OBJDIR)\winprefsyacc.h: winprefslex.l winprefsyacc.y
+ doflexbison.bat $(subst \,/,$(OBJDIR))
+
diff --git a/xorg-server/hw/xwin/propertystore.h b/xorg-server/hw/xwin/propertystore.h
index 6afc6c954..b4a761f51 100644
--- a/xorg-server/hw/xwin/propertystore.h
+++ b/xorg-server/hw/xwin/propertystore.h
@@ -26,7 +26,7 @@
#include <windows.h>
-#ifdef __MINGW64_VERSION_MAJOR
+#if defined(__MINGW64_VERSION_MAJOR) || defined(_MSC_VER)
/* If we are using headers from mingw-w64 project, it provides the PSDK headers this needs ... */
#include <propkey.h>
#include <propsys.h>
diff --git a/xorg-server/hw/xwin/swrastwgl_dri/.gitignore b/xorg-server/hw/xwin/swrastwgl_dri/.gitignore
new file mode 100644
index 000000000..ff5c6df34
--- /dev/null
+++ b/xorg-server/hw/xwin/swrastwgl_dri/.gitignore
@@ -0,0 +1 @@
+diag.txt
diff --git a/xorg-server/hw/xwin/swrastwgl_dri/glwindows.h b/xorg-server/hw/xwin/swrastwgl_dri/glwindows.h
new file mode 100644
index 000000000..3e200644f
--- /dev/null
+++ b/xorg-server/hw/xwin/swrastwgl_dri/glwindows.h
@@ -0,0 +1,39 @@
+/*
+ * File: glwindows.h
+ * Purpose: Header for GLX implementation using native Windows OpenGL library
+ *
+ * Authors: Alexander Gottwald
+ * Jon TURNEY
+ *
+ * Copyright (c) Jon TURNEY 2009
+ * Copyright (c) Alexander Gottwald 2004
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+#include <GL/gl.h>
+
+void glWinCallDelta(void);
+void glxWinPushNativeProvider(void);
+const GLubyte* glGetStringWrapperNonstatic(GLenum name);
+void glAddSwapHintRectWINWrapperNonstatic(GLint x, GLint y, GLsizei width,
+ GLsizei height);
+void glWinSetupDispatchTable(void);
diff --git a/xorg-server/hw/xwin/glx/glthunk.c b/xorg-server/hw/xwin/swrastwgl_dri/glwrap.c
index d49fe487c..6d794b671 100644
--- a/xorg-server/hw/xwin/glx/glthunk.c
+++ b/xorg-server/hw/xwin/swrastwgl_dri/glwrap.c
@@ -1,8 +1,13 @@
/*
- * File: glthunk.c
- * Purpose: cdecl thunk wrapper library for Win32 stdcall OpenGL library
+ * 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
*
- * 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"),
@@ -32,15 +37,36 @@
#endif
#include <X11/Xwindows.h>
-
-#define GL_GLEXT_LEGACY
#include <GL/gl.h>
-#undef GL_ARB_imaging
-#undef GL_VERSION_1_3
#include <GL/glext.h>
+#include <glx/glheader.h>
+#include <glx/glxserver.h>
+#include <glx/glxext.h>
+#include <glx/glapi.h>
+#include <glx/dispatch.h>
+#include <glwindows.h>
+#include <winmsg.h>
+
+#ifdef _DEBUG
+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)) {
+ glWinDirectProcCallsLast = glWinDirectProcCalls;
+ glWinIndirectProcCallsLast = glWinIndirectProcCalls;
+ }
+}
+#endif
-static PROC
-glWinResolveHelper(PROC * cache, const char *symbol)
+static __inline PROC
+glWinResolveHelper(PROC * cache, char *symbol)
{
PROC proc = NULL;
@@ -48,9 +74,11 @@ 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;
}
}
@@ -66,12 +94,20 @@ glWinResolveHelper(PROC * cache, const char *symbol)
return proc;
}
+#ifdef _DEBUG
+#define INCPROCCALLS glWinIndirectProcCalls++;
+#else
+#define INCPROCCALLS
+#endif
+
#define RESOLVE_RET(proctype, symbol, retval) \
static PROC cache = NULL; \
- __stdcall proctype proc = (proctype)glWinResolveHelper(&cache, symbol); \
+ proctype proc = (proctype)glWinResolveHelper(&cache, symbol); \
if (proc == NULL) { \
+ __glXErrorCallBack(0); \
return retval; \
- }
+ } \
+ INCPROCCALLS
#define RESOLVE(proctype, symbol) RESOLVE_RET(proctype, symbol,)
@@ -82,6 +118,34 @@ 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_thunks.c"
+#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);
+}
diff --git a/xorg-server/hw/xwin/swrastwgl_dri/makefile b/xorg-server/hw/xwin/swrastwgl_dri/makefile
new file mode 100644
index 000000000..201f2aeb9
--- /dev/null
+++ b/xorg-server/hw/xwin/swrastwgl_dri/makefile
@@ -0,0 +1,21 @@
+ifndef PYTHON3
+$(error Please define PYTHON3 environment variable)
+endif
+
+SHAREDLIB = swrastwgl_dri
+
+INCLUDES += $(OBJDIR) ..\..\.. .. ..\glx
+DEFINES += INSERVER HAVE_XWIN_CONFIG_H PTW32_STATIC_LIB
+
+$(OBJDIR)\swrastwgl_dri.dll : ..\..\..\$(SERVOBJDIR)\vcxsrv.exe
+LINKLIBS += ..\..\..\$(SERVOBJDIR)\vcxsrv.lib
+
+CSRCS = swrastwgl_dri.c glwrap.c wgl_ext_api.c
+
+vpath %.c ../glx
+
+$(OBJDIR)\generated_gl_wrappers.c: ../glx/gen_gl_wrappers.py ../glx/gl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py ../../../glx/dispatch.h
+ $(PYTHON3) ../glx/gen_gl_wrappers.py -outfile $@ -nodbgcount -registry ../glx/gl.xml -staticwrappers -dispatchheader ../../../glx/dispatch.h
+
+$(OBJDIR)\generated_wgl_wrappers.c: ../glx/gen_gl_wrappers.py ../glx/wgl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py
+ $(PYTHON3) ../glx/gen_gl_wrappers.py -outfile $@ -nodbgcount -registry ../glx/wgl.xml -prefix wgl -preresolve
diff --git a/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c b/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c
new file mode 100644
index 000000000..6036f347f
--- /dev/null
+++ b/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c
@@ -0,0 +1,3391 @@
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+#include <X11/Xwindows.h>
+#include <GL/gl.h>
+#include <GL/glext.h>
+#include <GL/glx.h>
+#include <GL/internal/dri_interface.h>
+#include <stdint.h>
+
+#include <glx/glheader.h>
+#include <glx/glapi.h>
+#include <glx/glapitable.h>
+
+typedef unsigned char BYTE;
+typedef int BOOL;
+
+#ifdef _DEBUG
+#define PRINTF(...) ErrorF( __VA_ARGS__)
+#else
+#define PRINTF(...)
+#endif
+
+#undef PUBLIC
+#define PUBLIC __declspec(dllexport)
+
+BOOL colorIndexMode = FALSE;
+BOOL doubleBuffered = FALSE;
+
+struct __DRIscreenRec
+{
+ int ScreenNum;
+ int max_gl_core_version;
+ int max_gl_compat_version;
+ int max_gl_es1_version;
+ int max_gl_es2_version;
+
+ const __DRIextension **extensions;
+ const __DRIswrastLoaderExtension *swrast_loader;
+};
+
+struct __DRIcontextRec
+{
+ struct _glapi_table *Dispatch;
+
+ void *driverPrivate;
+ void *loaderPrivate;
+ __DRIdrawable *driDrawablePriv;
+ __DRIdrawable *driReadablePriv;
+ __DRIscreen *driScreenPriv;
+};
+
+struct __DRIdrawableRec
+{
+ HDC hDC;
+ HDC hDCFrontBuffer;
+ HGLRC hGLRC;
+ HPALETTE hPalette;
+ HBITMAP hBitmap;
+ int winWidth;
+ int winHeight;
+ int bitsPerPixel;
+ VOID *bits;
+
+ void *driverPrivate;
+ void *loaderPrivate;
+ __DRIscreen *driScreenPriv;
+ int refcount;
+};
+
+/* Struct used to manage color ramps */
+struct colorIndexState
+{
+ GLfloat amb[3]; /* ambient color / bottom of ramp */
+ GLfloat diff[3]; /* diffuse color / middle of ramp */
+ GLfloat spec[3]; /* specular color / top of ramp */
+ GLfloat ratio; /* ratio of diffuse to specular in ramp */
+ GLint indexes[3]; /* where ramp was placed in palette */
+};
+
+/*
+** Each entry in this array corresponds to a color ramp in the
+** palette. The indexes member of each struct is updated to
+** reflect the placement of the color ramp in the palette.
+*/
+#define NUM_COLORS (sizeof(colors) / sizeof(colors[0]))
+struct colorIndexState colors[] = {
+ {
+ { 0.0F, 0.0F, 0.0F },
+ { 0.1F, 0.6F, 0.3F },
+ { 1.0F, 1.0F, 1.0F },
+ 0.75F, { 0, 0, 0 },
+ },
+ {
+ { 0.0F, 0.0F, 0.0F },
+ { 0.0F, 0.2F, 0.5F },
+ { 1.0F, 1.0F, 1.0F },
+
+ 0.75F, { 0, 0, 0 },
+ },
+ {
+ { 0.0F, 0.05F, 0.05F },
+ { 0.6F, 0.0F, 0.8F },
+ { 1.0F, 1.0F, 1.0F },
+ 0.75F, { 0, 0, 0 },
+ },
+};
+void setupPalette(__DRIdrawable * pdp)
+{
+ PIXELFORMATDESCRIPTOR pfd;
+ LOGPALETTE* pPal;
+ int pixelFormat = GetPixelFormat(pdp->hDC);
+ int paletteSize;
+
+ PRINTF(__FUNCTION__": pdp %x\n", pdp);
+
+ DescribePixelFormat(pdp->hDC, pixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &pfd);
+
+ /*
+ ** Determine if a palette is needed and if so what size.
+ */
+ if (pfd.dwFlags & PFD_NEED_PALETTE) {
+ paletteSize = 1 << pfd.cColorBits;
+ } else if (pfd.iPixelType == PFD_TYPE_COLORINDEX) {
+ paletteSize = 4096;
+ } else {
+ return;
+ }
+
+ pPal = (LOGPALETTE*)malloc(sizeof(LOGPALETTE) + paletteSize * sizeof(PALETTEENTRY));
+ pPal->palVersion = 0x300;
+ pPal->palNumEntries = paletteSize;
+
+ if (pfd.iPixelType == PFD_TYPE_RGBA)
+ {
+ /*
+ ** Fill the logical paletee with RGB color ramps
+ */
+ int redMask = (1 << pfd.cRedBits) - 1;
+ int greenMask = (1 << pfd.cGreenBits) - 1;
+ int blueMask = (1 << pfd.cBlueBits) - 1;
+ int i;
+
+ for (i=0; i<paletteSize; ++i) {
+ pPal->palPalEntry[i].peRed =
+ (((i >> pfd.cRedShift) & redMask) * 255) / redMask;
+ pPal->palPalEntry[i].peGreen =
+ (((i >> pfd.cGreenShift) & greenMask) * 255) / greenMask;
+ pPal->palPalEntry[i].peBlue =
+ (((i >> pfd.cBlueShift) & blueMask) * 255) / blueMask;
+ pPal->palPalEntry[i].peFlags = 0;
+ }
+ } else {
+ /*
+ ** Fill the logical palette with color ramps.
+ **pcp
+ ** Set up the logical palette so that it can be realized
+ ** into the system palette as an identity palette.
+ **
+ ** 1) The default static entries should be present and at the right
+ ** location. The easiest way to do this is to grab them from
+ ** the current system palette.
+ **
+ ** 2) All non-static entries should be initialized to unique values.
+ ** The easiest way to do this is to ensure that all of the non-static
+ ** entries have the PC_NOCOLLAPSE flag bit set.
+ */
+ int numRamps = NUM_COLORS;
+ int rampSize = (paletteSize - 20) / numRamps;
+ int extra = (paletteSize - 20) - (numRamps * rampSize);
+ int i, r;
+
+ /*
+ ** Initialize static entries by copying them from the
+ ** current system palette.
+ */
+ GetSystemPaletteEntries(pdp->hDC, 0, paletteSize, &pPal->palPalEntry[0]);
+
+ /*
+ ** Fill in non-static entries with desired colors.
+ */
+ for (r=0; r<numRamps; ++r) {
+ int rampBase = r * rampSize + 10;
+ PALETTEENTRY *pe = &pPal->palPalEntry[rampBase];
+ int diffSize = (int) (rampSize * colors[r].ratio);
+ int specSize = rampSize - diffSize;
+
+ for (i=0; i<rampSize; ++i) {
+ GLfloat *c0, *c1;
+ GLint a;
+
+ if (i < diffSize) {
+ c0 = colors[r].amb;
+ c1 = colors[r].diff;
+ a = (i * 255) / (diffSize - 1);
+ } else {
+ c0 = colors[r].diff;
+ c1 = colors[r].spec;
+ a = ((i - diffSize) * 255) / (specSize - 1);
+ }
+
+ pe[i].peRed = (BYTE) (a * (c1[0] - c0[0]) + 255 * c0[0]);
+ pe[i].peGreen = (BYTE) (a * (c1[1] - c0[1]) + 255 * c0[1]);
+ pe[i].peBlue = (BYTE) (a * (c1[2] - c0[2]) + 255 * c0[2]);
+ pe[i].peFlags = PC_NOCOLLAPSE;
+ }
+
+ colors[r].indexes[0] = rampBase;
+ colors[r].indexes[1] = rampBase + (diffSize-1);
+ colors[r].indexes[2] = rampBase + (rampSize-1);
+ }
+
+ /*
+ ** Initialize any remaining non-static entries.
+ */
+ for (i=0; i<extra; ++i) {
+ int index = numRamps*rampSize+10+i;
+ PALETTEENTRY *pe = &pPal->palPalEntry[index];
+
+ pe->peRed = (BYTE) 0;
+ pe->peGreen = (BYTE) 0;
+ pe->peBlue = (BYTE) 0;
+ pe->peFlags = PC_NOCOLLAPSE;
+ }
+ }
+
+ pdp->hPalette = CreatePalette(pPal);
+ free(pPal);
+
+ if (pdp->hPalette) {
+ SelectPalette(pdp->hDC, pdp->hPalette, FALSE);
+ RealizePalette(pdp->hDC);
+ }
+}
+
+void setupPixelFormat(__DRIdrawable *pdp)
+{
+ PIXELFORMATDESCRIPTOR pfd = {
+ sizeof(PIXELFORMATDESCRIPTOR), /* size of this pfd */
+ 1, /* version num */
+ PFD_SUPPORT_OPENGL, /* support OpenGL */
+ 0, /* pixel type */
+ 0, /* 8-bit color depth */
+ 0, 0, 0, 0, 0, 0, /* color bits (ignored) */
+ 0, /* no alpha buffer */
+ 0, /* alpha bits (ignored) */
+ 0, /* no accumulation buffer */
+ 0, 0, 0, 0, /* accum bits (ignored) */
+ 16, /* depth buffer */
+ 0, /* no stencil buffer */
+ 0, /* no auxiliary buffers */
+ PFD_MAIN_PLANE, /* main layer */
+ 0, /* reserved */
+ 0, 0, 0, /* no layer, visible, damage masks */
+ };
+ int SelectedPixelFormat;
+ BOOL retVal;
+
+ PRINTF(__FUNCTION__": pdp %x\n", pdp);
+
+ pfd.cColorBits = GetDeviceCaps(pdp->hDC, BITSPIXEL);
+
+ if (colorIndexMode) {
+ pfd.iPixelType = PFD_TYPE_COLORINDEX;
+ } else {
+ pfd.iPixelType = PFD_TYPE_RGBA;
+ }
+
+ if (doubleBuffered) {
+ pfd.dwFlags |= PFD_DOUBLEBUFFER;
+ }
+
+ pfd.dwFlags |= PFD_DRAW_TO_BITMAP;
+
+ SelectedPixelFormat = ChoosePixelFormat(pdp->hDC, &pfd);
+ if (SelectedPixelFormat == 0)
+ {
+ (void) MessageBox(WindowFromDC(pdp->hDC), "Failed to find acceptable pixel format.", "OpenGL application error", MB_ICONERROR | MB_OK);
+ exit(1);
+ }
+
+ retVal = SetPixelFormat(pdp->hDC, SelectedPixelFormat, &pfd);
+ if (retVal != TRUE)
+ {
+ MessageBox(WindowFromDC(pdp->hDC), "Failed to set pixel format.", "OpenGL application error", MB_ICONERROR | MB_OK);
+ exit(1);
+ }
+}
+
+void setupDIB(__DRIdrawable * pdp)
+{
+ HBITMAP hBitmap;
+ BITMAPINFO *bmInfo;
+ BITMAPINFOHEADER *bmHeader;
+ UINT usage;
+ VOID *base;
+ int bmiSize;
+ int bitsPerPixel;
+
+ PRINTF(__FUNCTION__": pdp %x\n", pdp);
+
+ bmiSize = sizeof(*bmInfo);
+ bitsPerPixel = GetDeviceCaps(pdp->hDC, BITSPIXEL);
+ pdp->bitsPerPixel=bitsPerPixel;
+
+ switch (bitsPerPixel) {
+ case 8:
+ /* bmiColors is 256 WORD palette indices */
+ bmiSize += (256 * sizeof(WORD)) - sizeof(RGBQUAD);
+ break;
+ case 16:
+ /* bmiColors is 3 WORD component masks */
+ bmiSize += (3 * sizeof(DWORD)) - sizeof(RGBQUAD);
+ break;
+ case 24:
+ case 32:
+ default:
+ /* bmiColors not used */
+ break;
+ }
+
+ bmInfo = (BITMAPINFO *) calloc(1, bmiSize);
+ bmHeader = &bmInfo->bmiHeader;
+
+ bmHeader->biSize = sizeof(*bmHeader);
+ bmHeader->biWidth = pdp->winWidth;
+ bmHeader->biHeight = pdp->winHeight;
+ bmHeader->biPlanes = 1; /* must be 1 */
+ bmHeader->biBitCount = bitsPerPixel;
+ bmHeader->biXPelsPerMeter = 0;
+ bmHeader->biYPelsPerMeter = 0;
+ bmHeader->biClrUsed = 0; /* all are used */
+ bmHeader->biClrImportant = 0; /* all are important */
+
+ switch (bitsPerPixel) {
+ case 8:
+ bmHeader->biCompression = BI_RGB;
+ bmHeader->biSizeImage = 0;
+ usage = DIB_PAL_COLORS;
+ /* bmiColors is 256 WORD palette indices */
+ {
+ WORD *palIndex = (WORD *) &bmInfo->bmiColors[0];
+ int i;
+
+ for (i=0; i<256; i++) {
+ palIndex[i] = i;
+ }
+ }
+ break;
+ case 16:
+ bmHeader->biCompression = BI_RGB;
+ bmHeader->biSizeImage = 0;
+ usage = DIB_RGB_COLORS;
+ /* bmiColors is 3 WORD component masks */
+ {
+ DWORD *compMask = (DWORD *) &bmInfo->bmiColors[0];
+
+ compMask[0] = 0xF800;
+ compMask[1] = 0x07E0;
+ compMask[2] = 0x001F;
+ }
+ break;
+ case 24:
+ case 32:
+ default:
+ bmHeader->biCompression = BI_RGB;
+ bmHeader->biSizeImage = 0;
+ usage = DIB_RGB_COLORS;
+ /* bmiColors not used */
+ break;
+ }
+
+ hBitmap = CreateDIBSection(pdp->hDC, bmInfo, usage, &base, NULL, 0);
+ if (hBitmap == NULL)
+ {
+ (void) MessageBox(WindowFromDC(pdp->hDC), "Failed to create DIBSection.", "OpenGL application error", MB_ICONERROR | MB_OK);
+ exit(1);
+ }
+
+ pdp->bits=base;
+ SelectObject(pdp->hDC, hBitmap);
+ if (pdp->hBitmap) DeleteObject(pdp->hBitmap);
+ pdp->hBitmap = hBitmap;
+
+ free(bmInfo);
+}
+
+static void setupLoaderExtensions(__DRIscreen *psp, const __DRIextension **extensions)
+{
+ int i;
+
+ for (i = 0; extensions[i]; i++)
+ {
+ if (strcmp(extensions[i]->name, __DRI_SWRAST_LOADER) == 0)
+ psp->swrast_loader = (__DRIswrastLoaderExtension *) extensions[i];
+ }
+}
+
+static const __DRItexBufferExtension swrastTexBufferExtension = {
+ { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION },
+ NULL,// swrastSetTexBuffer,
+ NULL // swrastSetTexBuffer2
+};
+
+static const __DRIextension *dri_screen_extensions[] = {
+ &swrastTexBufferExtension.base,
+ NULL
+};
+
+struct gl_config
+{
+ GLboolean rgbMode;
+ GLboolean floatMode;
+ GLboolean colorIndexMode; /* XXX is this used anywhere? */
+ GLuint doubleBufferMode;
+ GLuint stereoMode;
+
+ GLboolean haveAccumBuffer;
+ GLboolean haveDepthBuffer;
+ GLboolean haveStencilBuffer;
+
+ GLint redBits, greenBits, blueBits, alphaBits; /* bits per comp */
+ GLuint redMask, greenMask, blueMask, alphaMask;
+ GLint rgbBits; /* total bits for rgb */
+ GLint indexBits; /* total bits for colorindex */
+
+ GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
+ GLint depthBits;
+ GLint stencilBits;
+
+ GLint numAuxBuffers;
+
+ GLint level;
+
+ /* EXT_visual_rating / GLX 1.2 */
+ GLint visualRating;
+
+ /* EXT_visual_info / GLX 1.2 */
+ GLint transparentPixel;
+ /* colors are floats scaled to ints */
+ GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha;
+ GLint transparentIndex;
+
+ /* ARB_multisample / SGIS_multisample */
+ GLint sampleBuffers;
+ GLint samples;
+
+ /* SGIX_pbuffer / GLX 1.3 */
+ GLint maxPbufferWidth;
+ GLint maxPbufferHeight;
+ GLint maxPbufferPixels;
+ GLint optimalPbufferWidth; /* Only for SGIX_pbuffer. */
+ GLint optimalPbufferHeight; /* Only for SGIX_pbuffer. */
+
+ /* OML_swap_method */
+ GLint swapMethod;
+
+ /* EXT_texture_from_pixmap */
+ GLint bindToTextureRgb;
+ GLint bindToTextureRgba;
+ GLint bindToMipmapTexture;
+ GLint bindToTextureTargets;
+ GLint yInverted;
+
+ /* EXT_framebuffer_sRGB */
+ GLint sRGBCapable;
+};
+
+struct __DRIconfigRec {
+ struct gl_config modes;
+};
+
+#define __ATTRIB(attrib, field) \
+ { attrib, offsetof(struct gl_config, field) }
+
+static const struct { unsigned int attrib, offset; } attribMap[] = {
+ __ATTRIB(__DRI_ATTRIB_BUFFER_SIZE, rgbBits),
+ __ATTRIB(__DRI_ATTRIB_LEVEL, level),
+ __ATTRIB(__DRI_ATTRIB_RED_SIZE, redBits),
+ __ATTRIB(__DRI_ATTRIB_GREEN_SIZE, greenBits),
+ __ATTRIB(__DRI_ATTRIB_BLUE_SIZE, blueBits),
+ __ATTRIB(__DRI_ATTRIB_ALPHA_SIZE, alphaBits),
+ __ATTRIB(__DRI_ATTRIB_DEPTH_SIZE, depthBits),
+ __ATTRIB(__DRI_ATTRIB_STENCIL_SIZE, stencilBits),
+ __ATTRIB(__DRI_ATTRIB_ACCUM_RED_SIZE, accumRedBits),
+ __ATTRIB(__DRI_ATTRIB_ACCUM_GREEN_SIZE, accumGreenBits),
+ __ATTRIB(__DRI_ATTRIB_ACCUM_BLUE_SIZE, accumBlueBits),
+ __ATTRIB(__DRI_ATTRIB_ACCUM_ALPHA_SIZE, accumAlphaBits),
+ __ATTRIB(__DRI_ATTRIB_SAMPLE_BUFFERS, sampleBuffers),
+ __ATTRIB(__DRI_ATTRIB_SAMPLES, samples),
+ __ATTRIB(__DRI_ATTRIB_DOUBLE_BUFFER, doubleBufferMode),
+ __ATTRIB(__DRI_ATTRIB_STEREO, stereoMode),
+ __ATTRIB(__DRI_ATTRIB_AUX_BUFFERS, numAuxBuffers),
+ __ATTRIB(__DRI_ATTRIB_TRANSPARENT_TYPE, transparentPixel),
+ __ATTRIB(__DRI_ATTRIB_TRANSPARENT_INDEX_VALUE, transparentPixel),
+ __ATTRIB(__DRI_ATTRIB_TRANSPARENT_RED_VALUE, transparentRed),
+ __ATTRIB(__DRI_ATTRIB_TRANSPARENT_GREEN_VALUE, transparentGreen),
+ __ATTRIB(__DRI_ATTRIB_TRANSPARENT_BLUE_VALUE, transparentBlue),
+ __ATTRIB(__DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE, transparentAlpha),
+ __ATTRIB(__DRI_ATTRIB_RED_MASK, redMask),
+ __ATTRIB(__DRI_ATTRIB_GREEN_MASK, greenMask),
+ __ATTRIB(__DRI_ATTRIB_BLUE_MASK, blueMask),
+ __ATTRIB(__DRI_ATTRIB_ALPHA_MASK, alphaMask),
+ __ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_WIDTH, maxPbufferWidth),
+ __ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_HEIGHT, maxPbufferHeight),
+ __ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_PIXELS, maxPbufferPixels),
+ __ATTRIB(__DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH, optimalPbufferWidth),
+ __ATTRIB(__DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT, optimalPbufferHeight),
+ __ATTRIB(__DRI_ATTRIB_SWAP_METHOD, swapMethod),
+ __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_BIND_TO_TEXTURE_TARGETS, bindToTextureTargets),
+ __ATTRIB(__DRI_ATTRIB_YINVERTED, yInverted),
+ __ATTRIB(__DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE, sRGBCapable),
+
+ /* The struct field doesn't matter here, these are handled by the
+ * switch in driGetConfigAttribIndex. We need them in the array
+ * so the iterator includes them though.*/
+ __ATTRIB(__DRI_ATTRIB_RENDER_TYPE, level),
+ __ATTRIB(__DRI_ATTRIB_CONFIG_CAVEAT, level),
+ __ATTRIB(__DRI_ATTRIB_SWAP_METHOD, level)
+};
+
+#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
+
+/**
+ * Mesa texture/renderbuffer image formats.
+ */
+typedef enum
+{
+ MESA_FORMAT_NONE = 0,
+
+ /**
+ * \name Basic hardware formats
+ *
+ * The mesa format name specification is as follows:
+ *
+ * There shall be 3 naming format base types: those for component array
+ * formats (type A); those for compressed formats (type C); and those for
+ * packed component formats (type P). With type A formats, color component
+ * order does not change with endianess. Each format name shall begin with
+ * MESA_FORMAT_, followed by a component label (from the Component Label
+ * list below) for each component in the order that the component(s) occur
+ * in the format, except for non-linear color formats where the first
+ * letter shall be 'S'. For type P formats, each component label is
+ * followed by the number of bits that represent it in the fundamental
+ * data type used by the format.
+ *
+ * Following the listing of the component labels shall be an underscore; a
+ * compression type followed by an underscore for Type C formats only; a
+ * storage type from the list below; and a bit with for type A formats,
+ * which is the bit width for each array element.
+ *
+ *
+ * ---------- Format Base Type A: Array ----------
+ * MESA_FORMAT_[component list]_[storage type][array element bit width]
+ *
+ * examples:
+ * MESA_FORMAT_A_SNORM8 - uchar[i] = A
+ * MESA_FORMAT_RGBA_16 - ushort[i * 4 + 0] = R, ushort[i * 4 + 1] = G,
+ * ushort[i * 4 + 2] = B, ushort[i * 4 + 3] = A
+ * MESA_FORMAT_Z_UNORM32 - float[i] = Z
+ *
+ *
+ *
+ * ---------- Format Base Type C: Compressed ----------
+ * MESA_FORMAT_[component list*][_*][compression type][storage type*]
+ * * where required
+ *
+ * examples:
+ * MESA_FORMAT_RGB_ETC1
+ * MESA_FORMAT_RGBA_ETC2
+ * MESA_FORMAT_LATC1_UNORM
+ * MESA_FORMAT_RGBA_FXT1
+ *
+ *
+ *
+ * ---------- Format Base Type P: Packed ----------
+ * MESA_FORMAT_[[component list,bit width][storage type*][_]][_][storage type**]
+ * * when type differs between component
+ * ** when type applies to all components
+ *
+ * examples: msb <------ TEXEL BITS -----------> lsb
+ * MESA_FORMAT_A8B8G8R8_UNORM, AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR
+ * MESA_FORMAT_R5G6B5_UNORM RRRR RGGG GGGB BBBB
+ * MESA_FORMAT_B4G4R4X4_UNORM BBBB GGGG RRRR XXXX
+ * MESA_FORMAT_Z32_FLOAT_S8X24_UINT
+ * MESA_FORMAT_R10G10B10A2_UINT
+ * MESA_FORMAT_R9G9B9E5_FLOAT
+ *
+ *
+ *
+ * ---------- Component Labels: ----------
+ * A - Alpha
+ * B - Blue
+ * DU - Delta U
+ * DV - Delta V
+ * E - Shared Exponent
+ * G - Green
+ * I - Intensity
+ * L - Luminance
+ * R - Red
+ * S - Stencil (when not followed by RGB or RGBA)
+ * U - Chrominance
+ * V - Chrominance
+ * Y - Luma
+ * X - Packing bits
+ * Z - Depth
+ *
+ *
+ *
+ * ---------- Type C Compression Types: ----------
+ * DXT1 - Color component labels shall be given
+ * DXT3 - Color component labels shall be given
+ * DXT5 - Color component labels shall be given
+ * ETC1 - No other information required
+ * ETC2 - No other information required
+ * FXT1 - Color component labels shall be given
+ * FXT3 - Color component labels shall be given
+ * LATC1 - Fundamental data type shall be given
+ * LATC2 - Fundamental data type shall be given
+ * RGTC1 - Color component labels and data type shall be given
+ * RGTC2 - Color component labels and data type shall be given
+ *
+ *
+ *
+ * ---------- Storage Types: ----------
+ * FLOAT
+ * SINT
+ * UINT
+ * SNORM
+ * UNORM
+ * SRGB - RGB components, or L are UNORMs in sRGB color space.
+ * Alpha, if present is linear.
+ *
+ */
+
+ /* Packed unorm formats */ /* msb <------ TEXEL BITS -----------> lsb */
+ /* ---- ---- ---- ---- ---- ---- ---- ---- */
+ MESA_FORMAT_A8B8G8R8_UNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */
+ MESA_FORMAT_X8B8G8R8_UNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx xxxx */
+ MESA_FORMAT_R8G8B8A8_UNORM, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R8G8B8X8_UNORM, /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_B8G8R8A8_UNORM, /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_B8G8R8X8_UNORM, /* xxxx xxxx RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_A8R8G8B8_UNORM, /* BBBB BBBB GGGG GGGG RRRR RRRR AAAA AAAA */
+ MESA_FORMAT_X8R8G8B8_UNORM, /* BBBB BBBB GGGG GGGG RRRR RRRR xxxx xxxx */
+ MESA_FORMAT_L16A16_UNORM, /* AAAA AAAA AAAA AAAA LLLL LLLL LLLL LLLL */
+ MESA_FORMAT_A16L16_UNORM, /* LLLL LLLL LLLL LLLL AAAA AAAA AAAA AAAA */
+ MESA_FORMAT_B5G6R5_UNORM, /* RRRR RGGG GGGB BBBB */
+ MESA_FORMAT_R5G6B5_UNORM, /* BBBB BGGG GGGR RRRR */
+ MESA_FORMAT_B4G4R4A4_UNORM, /* AAAA RRRR GGGG BBBB */
+ MESA_FORMAT_B4G4R4X4_UNORM, /* xxxx RRRR GGGG BBBB */
+ MESA_FORMAT_A4R4G4B4_UNORM, /* BBBB GGGG RRRR AAAA */
+ MESA_FORMAT_A1B5G5R5_UNORM, /* RRRR RGGG GGBB BBBA */
+ MESA_FORMAT_B5G5R5A1_UNORM, /* ARRR RRGG GGGB BBBB */
+ MESA_FORMAT_B5G5R5X1_UNORM, /* xRRR RRGG GGGB BBBB */
+ MESA_FORMAT_A1R5G5B5_UNORM, /* BBBB BGGG GGRR RRRA */
+ MESA_FORMAT_L8A8_UNORM, /* AAAA AAAA LLLL LLLL */
+ MESA_FORMAT_A8L8_UNORM, /* LLLL LLLL AAAA AAAA */
+ MESA_FORMAT_R8G8_UNORM, /* GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_G8R8_UNORM, /* RRRR RRRR GGGG GGGG */
+ MESA_FORMAT_L4A4_UNORM, /* AAAA LLLL */
+ MESA_FORMAT_B2G3R3_UNORM, /* RRRG GGBB */
+
+ MESA_FORMAT_R16G16_UNORM, /* GGGG GGGG GGGG GGGG RRRR RRRR RRRR RRRR */
+ MESA_FORMAT_G16R16_UNORM, /* RRRR RRRR RRRR RRRR GGGG GGGG GGGG GGGG */
+ MESA_FORMAT_B10G10R10A2_UNORM,/* AARR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
+ MESA_FORMAT_B10G10R10X2_UNORM,/* xxRR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
+ MESA_FORMAT_R10G10B10A2_UNORM,/* AABB BBBB BBBB GGGG GGGG GGRR RRRR RRRR */
+
+ MESA_FORMAT_S8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ SSSS SSSS */
+ MESA_FORMAT_X8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ xxxx xxxx */
+ MESA_FORMAT_Z24_UNORM_S8_UINT,/* SSSS SSSS ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */
+ MESA_FORMAT_Z24_UNORM_X8_UINT,/* xxxx xxxx ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */
+
+ MESA_FORMAT_YCBCR, /* YYYY YYYY UorV UorV */
+ MESA_FORMAT_YCBCR_REV, /* UorV UorV YYYY YYYY */
+
+ /* Array unorm formats */
+ MESA_FORMAT_A_UNORM8, /* ubyte[i] = A */
+ MESA_FORMAT_A_UNORM16, /* ushort[i] = A */
+ MESA_FORMAT_L_UNORM8, /* ubyte[i] = L */
+ MESA_FORMAT_L_UNORM16, /* ushort[i] = L */
+ MESA_FORMAT_I_UNORM8, /* ubyte[i] = I */
+ MESA_FORMAT_I_UNORM16, /* ushort[i] = I */
+ MESA_FORMAT_R_UNORM8, /* ubyte[i] = R */
+ MESA_FORMAT_R_UNORM16, /* ushort[i] = R */
+ MESA_FORMAT_BGR_UNORM8, /* ubyte[i*3] = B, [i*3+1] = G, [i*3+2] = R */
+ MESA_FORMAT_RGB_UNORM8, /* ubyte[i*3] = R, [i*3+1] = G, [i*3+2] = B */
+ MESA_FORMAT_RGBA_UNORM16, /* ushort[i] = R, [1] = G, [2] = B, [3] = A */
+ MESA_FORMAT_RGBX_UNORM16,
+
+ MESA_FORMAT_Z_UNORM16, /* ushort[i] = Z */
+ MESA_FORMAT_Z_UNORM32, /* uint[i] = Z */
+ MESA_FORMAT_S_UINT8, /* ubyte[i] = S */
+
+ /* Packed signed/normalized formats */
+ /* msb <------ TEXEL BITS -----------> lsb */
+ /* ---- ---- ---- ---- ---- ---- ---- ---- */
+ MESA_FORMAT_A8B8G8R8_SNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */
+ MESA_FORMAT_X8B8G8R8_SNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx xxxx */
+ MESA_FORMAT_R8G8B8A8_SNORM, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R8G8B8X8_SNORM, /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R16G16_SNORM, /* GGGG GGGG GGGG GGGG RRRR RRRR RRRR RRRR */
+ MESA_FORMAT_G16R16_SNORM, /* RRRR RRRR RRRR RRRR GGGG GGGG GGGG GGGG */
+ MESA_FORMAT_R8G8_SNORM, /* GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_G8R8_SNORM, /* RRRR RRRR GGGG GGGG */
+ MESA_FORMAT_L8A8_SNORM, /* AAAA AAAA LLLL LLLL */
+
+ /* Array signed/normalized formats */
+ MESA_FORMAT_A_SNORM8, /* byte[i] = A */
+ MESA_FORMAT_A_SNORM16, /* short[i] = A */
+ MESA_FORMAT_L_SNORM8, /* byte[i] = L */
+ MESA_FORMAT_L_SNORM16, /* short[i] = L */
+ MESA_FORMAT_I_SNORM8, /* byte[i] = I */
+ MESA_FORMAT_I_SNORM16, /* short[i] = I */
+ MESA_FORMAT_R_SNORM8, /* byte[i] = R */
+ MESA_FORMAT_R_SNORM16, /* short[i] = R */
+ MESA_FORMAT_LA_SNORM16, /* short[i * 2] = L, [i * 2 + 1] = A */
+ MESA_FORMAT_RGB_SNORM16, /* short[i*3] = R, [i*3+1] = G, [i*3+2] = B */
+ MESA_FORMAT_RGBA_SNORM16, /* ... */
+ MESA_FORMAT_RGBX_SNORM16, /* ... */
+
+ /* Packed sRGB formats */
+ MESA_FORMAT_A8B8G8R8_SRGB, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */
+ MESA_FORMAT_B8G8R8A8_SRGB, /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_B8G8R8X8_SRGB, /* xxxx xxxx RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_R8G8B8A8_SRGB, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R8G8B8X8_SRGB, /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_L8A8_SRGB, /* AAAA AAAA LLLL LLLL */
+
+ /* Array sRGB formats */
+ MESA_FORMAT_L_SRGB8, /* ubyte[i] = L */
+ MESA_FORMAT_BGR_SRGB8, /* ubyte[i*3] = B, [i*3+1] = G, [i*3+2] = R */
+
+ /* Packed float formats */
+ MESA_FORMAT_R9G9B9E5_FLOAT,
+ MESA_FORMAT_R11G11B10_FLOAT, /* BBBB BBBB BBGG GGGG GGGG GRRR RRRR RRRR */
+ MESA_FORMAT_Z32_FLOAT_S8X24_UINT, /* (float, x24s8) */
+
+ /* Array float formats */
+ MESA_FORMAT_A_FLOAT16,
+ MESA_FORMAT_A_FLOAT32,
+ MESA_FORMAT_L_FLOAT16,
+ MESA_FORMAT_L_FLOAT32,
+ MESA_FORMAT_LA_FLOAT16,
+ MESA_FORMAT_LA_FLOAT32,
+ MESA_FORMAT_I_FLOAT16,
+ MESA_FORMAT_I_FLOAT32,
+ MESA_FORMAT_R_FLOAT16,
+ MESA_FORMAT_R_FLOAT32,
+ MESA_FORMAT_RG_FLOAT16,
+ MESA_FORMAT_RG_FLOAT32,
+ MESA_FORMAT_RGB_FLOAT16,
+ MESA_FORMAT_RGB_FLOAT32,
+ MESA_FORMAT_RGBA_FLOAT16,
+ MESA_FORMAT_RGBA_FLOAT32, /* float[0] = R, [1] = G, [2] = B, [3] = A */
+ MESA_FORMAT_RGBX_FLOAT16,
+ MESA_FORMAT_RGBX_FLOAT32,
+ MESA_FORMAT_Z_FLOAT32,
+
+ /* Packed signed/unsigned non-normalized integer formats */
+ MESA_FORMAT_B10G10R10A2_UINT, /* AARR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
+ MESA_FORMAT_R10G10B10A2_UINT, /* AABB BBBB BBBB GGGG GGGG GGRR RRRR RRRR */
+
+ /* Array signed/unsigned non-normalized integer formats */
+ MESA_FORMAT_A_UINT8,
+ MESA_FORMAT_A_UINT16,
+ MESA_FORMAT_A_UINT32,
+ MESA_FORMAT_A_SINT8,
+ MESA_FORMAT_A_SINT16,
+ MESA_FORMAT_A_SINT32,
+
+ MESA_FORMAT_I_UINT8,
+ MESA_FORMAT_I_UINT16,
+ MESA_FORMAT_I_UINT32,
+ MESA_FORMAT_I_SINT8,
+ MESA_FORMAT_I_SINT16,
+ MESA_FORMAT_I_SINT32,
+
+ MESA_FORMAT_L_UINT8,
+ MESA_FORMAT_L_UINT16,
+ MESA_FORMAT_L_UINT32,
+ MESA_FORMAT_L_SINT8,
+ MESA_FORMAT_L_SINT16,
+ MESA_FORMAT_L_SINT32,
+
+ MESA_FORMAT_LA_UINT8,
+ MESA_FORMAT_LA_UINT16,
+ MESA_FORMAT_LA_UINT32,
+ MESA_FORMAT_LA_SINT8,
+ MESA_FORMAT_LA_SINT16,
+ MESA_FORMAT_LA_SINT32,
+
+ MESA_FORMAT_R_UINT8,
+ MESA_FORMAT_R_UINT16,
+ MESA_FORMAT_R_UINT32,
+ MESA_FORMAT_R_SINT8,
+ MESA_FORMAT_R_SINT16,
+ MESA_FORMAT_R_SINT32,
+
+ MESA_FORMAT_RG_UINT8,
+ MESA_FORMAT_RG_UINT16,
+ MESA_FORMAT_RG_UINT32,
+ MESA_FORMAT_RG_SINT8,
+ MESA_FORMAT_RG_SINT16,
+ MESA_FORMAT_RG_SINT32,
+
+ MESA_FORMAT_RGB_UINT8,
+ MESA_FORMAT_RGB_UINT16,
+ MESA_FORMAT_RGB_UINT32,
+ MESA_FORMAT_RGB_SINT8,
+ MESA_FORMAT_RGB_SINT16,
+ MESA_FORMAT_RGB_SINT32,
+
+ MESA_FORMAT_RGBA_UINT8,
+ MESA_FORMAT_RGBA_UINT16,
+ MESA_FORMAT_RGBA_UINT32,
+ MESA_FORMAT_RGBA_SINT8,
+ MESA_FORMAT_RGBA_SINT16,
+ MESA_FORMAT_RGBA_SINT32,
+
+ MESA_FORMAT_RGBX_UINT8,
+ MESA_FORMAT_RGBX_UINT16,
+ MESA_FORMAT_RGBX_UINT32,
+ MESA_FORMAT_RGBX_SINT8,
+ MESA_FORMAT_RGBX_SINT16,
+ MESA_FORMAT_RGBX_SINT32,
+
+ /* DXT compressed formats */
+ MESA_FORMAT_RGB_DXT1,
+ MESA_FORMAT_RGBA_DXT1,
+ MESA_FORMAT_RGBA_DXT3,
+ MESA_FORMAT_RGBA_DXT5,
+
+ /* DXT sRGB compressed formats */
+ MESA_FORMAT_SRGB_DXT1,
+ MESA_FORMAT_SRGBA_DXT1,
+ MESA_FORMAT_SRGBA_DXT3,
+ MESA_FORMAT_SRGBA_DXT5,
+
+ /* FXT1 compressed formats */
+ MESA_FORMAT_RGB_FXT1,
+ MESA_FORMAT_RGBA_FXT1,
+
+ /* RGTC compressed formats */
+ MESA_FORMAT_R_RGTC1_UNORM,
+ MESA_FORMAT_R_RGTC1_SNORM,
+ MESA_FORMAT_RG_RGTC2_UNORM,
+ MESA_FORMAT_RG_RGTC2_SNORM,
+
+ /* LATC1/2 compressed formats */
+ MESA_FORMAT_L_LATC1_UNORM,
+ MESA_FORMAT_L_LATC1_SNORM,
+ MESA_FORMAT_LA_LATC2_UNORM,
+ MESA_FORMAT_LA_LATC2_SNORM,
+
+ /* ETC1/2 compressed formats */
+ MESA_FORMAT_ETC1_RGB8,
+ MESA_FORMAT_ETC2_RGB8,
+ MESA_FORMAT_ETC2_SRGB8,
+ MESA_FORMAT_ETC2_RGBA8_EAC,
+ MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC,
+ MESA_FORMAT_ETC2_R11_EAC,
+ MESA_FORMAT_ETC2_RG11_EAC,
+ MESA_FORMAT_ETC2_SIGNED_R11_EAC,
+ MESA_FORMAT_ETC2_SIGNED_RG11_EAC,
+ MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1,
+ MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1,
+
+ MESA_FORMAT_COUNT
+}
+ mesa_format;
+
+/**
+ * Information about texture formats.
+ */
+struct gl_format_info
+{
+ mesa_format Name;
+
+ /** text name for debugging */
+ const char *StrName;
+
+ /**
+ * Base format is one of GL_RED, GL_RG, GL_RGB, GL_RGBA, GL_ALPHA,
+ * GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_YCBCR_MESA,
+ * GL_DEPTH_COMPONENT, GL_STENCIL_INDEX, GL_DEPTH_STENCIL.
+ */
+ GLenum BaseFormat;
+
+ /**
+ * Logical data type: one of GL_UNSIGNED_NORMALIZED, GL_SIGNED_NORMALIZED,
+ * GL_UNSIGNED_INT, GL_INT, GL_FLOAT.
+ */
+ GLenum DataType;
+
+ GLubyte RedBits;
+ GLubyte GreenBits;
+ GLubyte BlueBits;
+ GLubyte AlphaBits;
+ GLubyte LuminanceBits;
+ GLubyte IntensityBits;
+ GLubyte IndexBits;
+ GLubyte DepthBits;
+ GLubyte StencilBits;
+
+ /**
+ * To describe compressed formats. If not compressed, Width=Height=1.
+ */
+ GLubyte BlockWidth, BlockHeight;
+ GLubyte BytesPerBlock;
+};
+
+/**
+ * Info about each format.
+ * These must be in the same order as the MESA_FORMAT_* enums so that
+ * we can do lookups without searching.
+ */
+static struct gl_format_info format_info[MESA_FORMAT_COUNT] =
+{
+ /* Packed unorm formats */
+ {
+ MESA_FORMAT_NONE, /* Name */
+ "MESA_FORMAT_NONE", /* StrName */
+ GL_NONE, /* BaseFormat */
+ GL_NONE, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 0, 0, 0 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A8B8G8R8_UNORM, /* Name */
+ "MESA_FORMAT_A8B8G8R8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_X8B8G8R8_UNORM, /* Name */
+ "MESA_FORMAT_X8B8G8R8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R8G8B8A8_UNORM, /* Name */
+ "MESA_FORMAT_R8G8B8A8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R8G8B8X8_UNORM, /* Name */
+ "MESA_FORMAT_R8G8B8X8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B8G8R8A8_UNORM, /* Name */
+ "MESA_FORMAT_B8G8R8A8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B8G8R8X8_UNORM, /* Name */
+ "MESA_FORMAT_B8G8R8X8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A8R8G8B8_UNORM, /* Name */
+ "MESA_FORMAT_A8R8G8B8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_X8R8G8B8_UNORM, /* Name */
+ "MESA_FORMAT_X8R8G8B8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L16A16_UNORM, /* Name */
+ "MESA_FORMAT_L16A16_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 16, /* Red/Green/Blue/AlphaBits */
+ 16, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A16L16_UNORM, /* Name */
+ "MESA_FORMAT_A16L16_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 16, /* Red/Green/Blue/AlphaBits */
+ 16, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B5G6R5_UNORM, /* Name */
+ "MESA_FORMAT_B5G6R5_UNORM", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 6, 5, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R5G6B5_UNORM, /* Name */
+ "MESA_FORMAT_R5G6B5_UNORM", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 6, 5, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B4G4R4A4_UNORM, /* Name */
+ "MESA_FORMAT_B4G4R4A4_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 4, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B4G4R4X4_UNORM,
+ "MESA_FORMAT_B4G4R4X4_UNORM",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A4R4G4B4_UNORM, /* Name */
+ "MESA_FORMAT_A4R4G4B4_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 4, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A1B5G5R5_UNORM, /* Name */
+ "MESA_FORMAT_A1B5G5R5_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 5, 5, 1, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B5G5R5A1_UNORM, /* Name */
+ "MESA_FORMAT_B5G5R5A1_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 5, 5, 1, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B5G5R5X1_UNORM,
+ "MESA_FORMAT_B5G5R5X1_UNORM",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 5, 5, 5, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A1R5G5B5_UNORM, /* Name */
+ "MESA_FORMAT_A1R5G5B5_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 5, 5, 1, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L8A8_UNORM, /* Name */
+ "MESA_FORMAT_L8A8_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 8, /* Red/Green/Blue/AlphaBits */
+ 8, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A8L8_UNORM, /* Name */
+ "MESA_FORMAT_A8L8_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 8, /* Red/Green/Blue/AlphaBits */
+ 8, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R8G8_UNORM,
+ "MESA_FORMAT_R8G8_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_G8R8_UNORM,
+ "MESA_FORMAT_G8R8_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L4A4_UNORM, /* Name */
+ "MESA_FORMAT_L4A4_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 4, /* Red/Green/Blue/AlphaBits */
+ 4, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B2G3R3_UNORM, /* Name */
+ "MESA_FORMAT_B2G3R3_UNORM", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 3, 3, 2, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R16G16_UNORM,
+ "MESA_FORMAT_R16G16_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_G16R16_UNORM,
+ "MESA_FORMAT_G16R16_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B10G10R10A2_UNORM,
+ "MESA_FORMAT_B10G10R10A2_UNORM",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B10G10R10X2_UNORM,
+ "MESA_FORMAT_B10G10R10X2_UNORM",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 10, 10, 10, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R10G10B10A2_UNORM,
+ "MESA_FORMAT_R10G10B10A2_UNORM",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_S8_UINT_Z24_UNORM, /* Name */
+ "MESA_FORMAT_S8_UINT_Z24_UNORM", /* StrName */
+ GL_DEPTH_STENCIL, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_X8_UINT_Z24_UNORM, /* Name */
+ "MESA_FORMAT_X8_UINT_Z24_UNORM", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_Z24_UNORM_S8_UINT, /* Name */
+ "MESA_FORMAT_Z24_UNORM_S8_UINT", /* StrName */
+ GL_DEPTH_STENCIL, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_Z24_UNORM_X8_UINT, /* Name */
+ "MESA_FORMAT_Z24_UNORM_X8_UINT", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_YCBCR, /* Name */
+ "MESA_FORMAT_YCBCR", /* StrName */
+ GL_YCBCR_MESA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_YCBCR_REV, /* Name */
+ "MESA_FORMAT_YCBCR_REV", /* StrName */
+ GL_YCBCR_MESA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Array unorm formats */
+ {
+ MESA_FORMAT_A_UNORM8, /* Name */
+ "MESA_FORMAT_A_UNORM8", /* StrName */
+ GL_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A_UNORM16, /* Name */
+ "MESA_FORMAT_A_UNORM16", /* StrName */
+ GL_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 16, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L_UNORM8, /* Name */
+ "MESA_FORMAT_L_UNORM8", /* StrName */
+ GL_LUMINANCE, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 8, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L_UNORM16, /* Name */
+ "MESA_FORMAT_L_UNORM16", /* StrName */
+ GL_LUMINANCE, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 16, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_I_UNORM8, /* Name */
+ "MESA_FORMAT_I_UNORM8", /* StrName */
+ GL_INTENSITY, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 8, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_I_UNORM16, /* Name */
+ "MESA_FORMAT_I_UNORM16", /* StrName */
+ GL_INTENSITY, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 16, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R_UNORM8,
+ "MESA_FORMAT_R_UNORM8",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_R_UNORM16,
+ "MESA_FORMAT_R_UNORM16",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_BGR_UNORM8, /* Name */
+ "MESA_FORMAT_BGR_UNORM8", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 3 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_RGB_UNORM8, /* Name */
+ "MESA_FORMAT_RGB_UNORM8", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 3 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_RGBA_UNORM16,
+ "MESA_FORMAT_RGBA_UNORM16",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_UNORM16,
+ "MESA_FORMAT_RGBX_UNORM16",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_Z_UNORM16, /* Name */
+ "MESA_FORMAT_Z_UNORM16", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 16, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_Z_UNORM32, /* Name */
+ "MESA_FORMAT_Z_UNORM32", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 32, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_S_UINT8, /* Name */
+ "MESA_FORMAT_S_UINT8", /* StrName */
+ GL_STENCIL_INDEX, /* BaseFormat */
+ GL_UNSIGNED_INT, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Packed signed/normalized formats */
+ {
+ MESA_FORMAT_A8B8G8R8_SNORM,
+ "MESA_FORMAT_A8B8G8R8_SNORM",
+ GL_RGBA,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_X8B8G8R8_SNORM,
+ "MESA_FORMAT_X8B8G8R8_SNORM",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4 /* 4 bpp, but no alpha */
+ },
+ {
+ MESA_FORMAT_R8G8B8A8_SNORM,
+ "MESA_FORMAT_R8G8B8A8_SNORM",
+ GL_RGBA,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8B8X8_SNORM,
+ "MESA_FORMAT_R8G8B8X8_SNORM",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R16G16_SNORM,
+ "MESA_FORMAT_R16G16_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_G16R16_SNORM,
+ "MESA_FORMAT_G16R16_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8_SNORM,
+ "MESA_FORMAT_R8G8_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_G8R8_SNORM,
+ "MESA_FORMAT_G8R8_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L8A8_SNORM,
+ "MESA_FORMAT_L8A8_SNORM",
+ GL_LUMINANCE_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+
+ /* Array signed/normalized formats */
+ {
+ MESA_FORMAT_A_SNORM8,
+ "MESA_FORMAT_A_SNORM8",
+ GL_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_A_SNORM16,
+ "MESA_FORMAT_A_SNORM16",
+ GL_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_SNORM8,
+ "MESA_FORMAT_L_SNORM8",
+ GL_LUMINANCE,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_L_SNORM16,
+ "MESA_FORMAT_L_SNORM16",
+ GL_LUMINANCE,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_SNORM8,
+ "MESA_FORMAT_I_SNORM8",
+ GL_INTENSITY,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 0, 8, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_I_SNORM16,
+ "MESA_FORMAT_I_SNORM16",
+ GL_INTENSITY,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_SNORM8, /* Name */
+ "MESA_FORMAT_R_SNORM8", /* StrName */
+ GL_RED, /* BaseFormat */
+ GL_SIGNED_NORMALIZED, /* DataType */
+ 8, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R_SNORM16,
+ "MESA_FORMAT_R_SNORM16",
+ GL_RED,
+ GL_SIGNED_NORMALIZED,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_LA_SNORM16,
+ "MESA_FORMAT_LA_SNORM16",
+ GL_LUMINANCE_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGB_SNORM16,
+ "MESA_FORMAT_RGB_SNORM16",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGBA_SNORM16,
+ "MESA_FORMAT_RGBA_SNORM16",
+ GL_RGBA,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_SNORM16,
+ "MESA_FORMAT_RGBX_SNORM16",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+
+ /* Packed sRGB formats */
+ {
+ MESA_FORMAT_A8B8G8R8_SRGB,
+ "MESA_FORMAT_A8B8G8R8_SRGB",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B8G8R8A8_SRGB,
+ "MESA_FORMAT_B8G8R8A8_SRGB",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B8G8R8X8_SRGB,
+ "MESA_FORMAT_B8G8R8X8_SRGB",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8B8A8_SRGB,
+ "MESA_FORMAT_R8G8B8A8_SRGB",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8B8X8_SRGB,
+ "MESA_FORMAT_R8G8B8X8_SRGB",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L8A8_SRGB,
+ "MESA_FORMAT_L8A8_SRGB",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+
+ /* Array sRGB formats */
+ {
+ MESA_FORMAT_L_SRGB8,
+ "MESA_FORMAT_L_SRGB8",
+ GL_LUMINANCE,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_BGR_SRGB8,
+ "MESA_FORMAT_BGR_SRGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 3
+ },
+
+ /* Packed float formats */
+ {
+ MESA_FORMAT_R9G9B9E5_FLOAT,
+ "MESA_FORMAT_RGB9_E5",
+ GL_RGB,
+ GL_FLOAT,
+ 9, 9, 9, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R11G11B10_FLOAT,
+ "MESA_FORMAT_R11G11B10_FLOAT",
+ GL_RGB,
+ GL_FLOAT,
+ 11, 11, 10, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_Z32_FLOAT_S8X24_UINT, /* Name */
+ "MESA_FORMAT_Z32_FLOAT_S8X24_UINT", /* StrName */
+ GL_DEPTH_STENCIL, /* BaseFormat */
+ /* DataType here is used to answer GL_TEXTURE_DEPTH_TYPE queries, and is
+ * never used for stencil because stencil is always GL_UNSIGNED_INT.
+ */
+ GL_FLOAT, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 32, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 8 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Array float formats */
+ {
+ MESA_FORMAT_A_FLOAT16,
+ "MESA_FORMAT_A_FLOAT16",
+ GL_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A_FLOAT32,
+ "MESA_FORMAT_A_FLOAT32",
+ GL_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L_FLOAT16,
+ "MESA_FORMAT_L_FLOAT16",
+ GL_LUMINANCE,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_FLOAT32,
+ "MESA_FORMAT_L_FLOAT32",
+ GL_LUMINANCE,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 32, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_FLOAT16,
+ "MESA_FORMAT_LA_FLOAT16",
+ GL_LUMINANCE_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_FLOAT32,
+ "MESA_FORMAT_LA_FLOAT32",
+ GL_LUMINANCE_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 32,
+ 32, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_I_FLOAT16,
+ "MESA_FORMAT_I_FLOAT16",
+ GL_INTENSITY,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_FLOAT32,
+ "MESA_FORMAT_I_FLOAT32",
+ GL_INTENSITY,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 0, 32, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R_FLOAT16,
+ "MESA_FORMAT_R_FLOAT16",
+ GL_RED,
+ GL_FLOAT,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_FLOAT32,
+ "MESA_FORMAT_R_FLOAT32",
+ GL_RED,
+ GL_FLOAT,
+ 32, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_FLOAT16,
+ "MESA_FORMAT_RG_FLOAT16",
+ GL_RG,
+ GL_FLOAT,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_FLOAT32,
+ "MESA_FORMAT_RG_FLOAT32",
+ GL_RG,
+ GL_FLOAT,
+ 32, 32, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGB_FLOAT16,
+ "MESA_FORMAT_RGB_FLOAT16",
+ GL_RGB,
+ GL_FLOAT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGB_FLOAT32,
+ "MESA_FORMAT_RGB_FLOAT32",
+ GL_RGB,
+ GL_FLOAT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 12
+ },
+ {
+ MESA_FORMAT_RGBA_FLOAT16,
+ "MESA_FORMAT_RGBA_FLOAT16",
+ GL_RGBA,
+ GL_FLOAT,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBA_FLOAT32,
+ "MESA_FORMAT_RGBA_FLOAT32",
+ GL_RGBA,
+ GL_FLOAT,
+ 32, 32, 32, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBX_FLOAT16,
+ "MESA_FORMAT_RGBX_FLOAT16",
+ GL_RGB,
+ GL_FLOAT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_FLOAT32,
+ "MESA_FORMAT_RGBX_FLOAT32",
+ GL_RGB,
+ GL_FLOAT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_Z_FLOAT32, /* Name */
+ "MESA_FORMAT_Z_FLOAT32", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_FLOAT, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 32, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Packed signed/unsigned non-normalized integer formats */
+ {
+ MESA_FORMAT_B10G10R10A2_UINT,
+ "MESA_FORMAT_B10G10R10A2_UINT",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R10G10B10A2_UINT,
+ "MESA_FORMAT_R10G10B10A2_UINT",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+
+ /* Array signed/unsigned non-normalized integer formats */
+ {
+ MESA_FORMAT_A_UINT8,
+ "MESA_FORMAT_A_UINT8",
+ GL_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_A_UINT16,
+ "MESA_FORMAT_A_UINT16",
+ GL_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A_UINT32,
+ "MESA_FORMAT_A_UINT32",
+ GL_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_A_SINT8,
+ "MESA_FORMAT_A_SINT8",
+ GL_ALPHA,
+ GL_INT,
+ 0, 0, 0, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_A_SINT16,
+ "MESA_FORMAT_A_SINT16",
+ GL_ALPHA,
+ GL_INT,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A_SINT32,
+ "MESA_FORMAT_A_SINT32",
+ GL_ALPHA,
+ GL_INT,
+ 0, 0, 0, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_I_UINT8,
+ "MESA_FORMAT_I_UINT8",
+ GL_INTENSITY,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 0, 8, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_I_UINT16,
+ "MESA_FORMAT_I_UINT16",
+ GL_INTENSITY,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_UINT32,
+ "MESA_FORMAT_I_UINT32",
+ GL_INTENSITY,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 0, 32, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_I_SINT8,
+ "MESA_FORMAT_I_SINT8",
+ GL_INTENSITY,
+ GL_INT,
+ 0, 0, 0, 0,
+ 0, 8, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_I_SINT16,
+ "MESA_FORMAT_I_SINT16",
+ GL_INTENSITY,
+ GL_INT,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_SINT32,
+ "MESA_FORMAT_I_SINT32",
+ GL_INTENSITY,
+ GL_INT,
+ 0, 0, 0, 0,
+ 0, 32, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L_UINT8,
+ "MESA_FORMAT_L_UINT8",
+ GL_LUMINANCE,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_L_UINT16,
+ "MESA_FORMAT_L_UINT16",
+ GL_LUMINANCE,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_UINT32,
+ "MESA_FORMAT_L_UINT32",
+ GL_LUMINANCE,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 32, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L_SINT8,
+ "MESA_FORMAT_L_SINT8",
+ GL_LUMINANCE,
+ GL_INT,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_L_SINT16,
+ "MESA_FORMAT_L_SINT16",
+ GL_LUMINANCE,
+ GL_INT,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_SINT32,
+ "MESA_FORMAT_L_SINT32",
+ GL_LUMINANCE,
+ GL_INT,
+ 0, 0, 0, 0,
+ 32, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_UINT8,
+ "MESA_FORMAT_LA_UINT8",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_LA_UINT16,
+ "MESA_FORMAT_LA_UINT16",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_UINT32,
+ "MESA_FORMAT_LA_UINT32",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 32,
+ 32, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_LA_SINT8,
+ "MESA_FORMAT_LA_SINT8",
+ GL_LUMINANCE_ALPHA,
+ GL_INT,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_LA_SINT16,
+ "MESA_FORMAT_LA_SINT16",
+ GL_LUMINANCE_ALPHA,
+ GL_INT,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_SINT32,
+ "MESA_FORMAT_LA_SINT32",
+ GL_LUMINANCE_ALPHA,
+ GL_INT,
+ 0, 0, 0, 32,
+ 32, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_R_UINT8,
+ "MESA_FORMAT_R_UINT8",
+ GL_RED,
+ GL_UNSIGNED_INT,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_R_UINT16,
+ "MESA_FORMAT_R_UINT16",
+ GL_RED,
+ GL_UNSIGNED_INT,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_UINT32,
+ "MESA_FORMAT_R_UINT32",
+ GL_RED,
+ GL_UNSIGNED_INT,
+ 32, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R_SINT8,
+ "MESA_FORMAT_R_SINT8",
+ GL_RED,
+ GL_INT,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_R_SINT16,
+ "MESA_FORMAT_R_SINT16",
+ GL_RED,
+ GL_INT,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_SINT32,
+ "MESA_FORMAT_R_SINT32",
+ GL_RED,
+ GL_INT,
+ 32, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_UINT8,
+ "MESA_FORMAT_RG_UINT8",
+ GL_RG,
+ GL_UNSIGNED_INT,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_RG_UINT16,
+ "MESA_FORMAT_RG_UINT16",
+ GL_RG,
+ GL_UNSIGNED_INT,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_UINT32,
+ "MESA_FORMAT_RG_UINT32",
+ GL_RG,
+ GL_UNSIGNED_INT,
+ 32, 32, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RG_SINT8,
+ "MESA_FORMAT_RG_SINT8",
+ GL_RG,
+ GL_INT,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_RG_SINT16,
+ "MESA_FORMAT_RG_SINT16",
+ GL_RG,
+ GL_INT,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_SINT32,
+ "MESA_FORMAT_RG_SINT32",
+ GL_RG,
+ GL_INT,
+ 32, 32, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGB_UINT8,
+ "MESA_FORMAT_RGB_UINT8",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 3
+ },
+ {
+ MESA_FORMAT_RGB_UINT16,
+ "MESA_FORMAT_RGB_UINT16",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGB_UINT32,
+ "MESA_FORMAT_RGB_UINT32",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 12
+ },
+ {
+ MESA_FORMAT_RGB_SINT8,
+ "MESA_FORMAT_RGB_SINT8",
+ GL_RGB,
+ GL_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 3
+ },
+ {
+ MESA_FORMAT_RGB_SINT16,
+ "MESA_FORMAT_RGB_SINT16",
+ GL_RGB,
+ GL_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGB_SINT32,
+ "MESA_FORMAT_RGB_SINT32",
+ GL_RGB,
+ GL_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 12
+ },
+ {
+ MESA_FORMAT_RGBA_UINT8,
+ "MESA_FORMAT_RGBA_UINT8",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBA_UINT16,
+ "MESA_FORMAT_RGBA_UINT16",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBA_UINT32,
+ "MESA_FORMAT_RGBA_UINT32",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 32, 32, 32, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBA_SINT8,
+ "MESA_FORMAT_RGBA_SINT8",
+ GL_RGBA,
+ GL_INT,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBA_SINT16,
+ "MESA_FORMAT_RGBA_SINT16",
+ GL_RGBA,
+ GL_INT,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBA_SINT32,
+ "MESA_FORMAT_RGBA_SINT32",
+ GL_RGBA,
+ GL_INT,
+ 32, 32, 32, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBX_UINT8,
+ "MESA_FORMAT_RGBX_UINT8",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBX_UINT16,
+ "MESA_FORMAT_RGBX_UINT16",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_UINT32,
+ "MESA_FORMAT_RGBX_UINT32",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBX_SINT8,
+ "MESA_FORMAT_RGBX_SINT8",
+ GL_RGB,
+ GL_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBX_SINT16,
+ "MESA_FORMAT_RGBX_SINT16",
+ GL_RGB,
+ GL_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_SINT32,
+ "MESA_FORMAT_RGBX_SINT32",
+ GL_RGB,
+ GL_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+
+ /* DXT compressed formats */
+ {
+ MESA_FORMAT_RGB_DXT1, /* Name */
+ "MESA_FORMAT_RGB_DXT1", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 0, /* approx Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_DXT1,
+ "MESA_FORMAT_RGBA_DXT1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_DXT3,
+ "MESA_FORMAT_RGBA_DXT3",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_DXT5,
+ "MESA_FORMAT_RGBA_DXT5",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* DXT sRGB compressed formats */
+ {
+ MESA_FORMAT_SRGB_DXT1, /* Name */
+ "MESA_FORMAT_SRGB_DXT1", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 0, /* approx Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_SRGBA_DXT1,
+ "MESA_FORMAT_SRGBA_DXT1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_SRGBA_DXT3,
+ "MESA_FORMAT_SRGBA_DXT3",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_SRGBA_DXT5,
+ "MESA_FORMAT_SRGBA_DXT5",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* FXT1 compressed formats */
+ {
+ MESA_FORMAT_RGB_FXT1,
+ "MESA_FORMAT_RGB_FXT1",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 0, /* approx Red/Green/BlueBits */
+ 0, 0, 0, 0, 0,
+ 8, 4, 16 /* 16 bytes per 8x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_FXT1,
+ "MESA_FORMAT_RGBA_FXT1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 1, /* approx Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0,
+ 8, 4, 16 /* 16 bytes per 8x4 block */
+ },
+
+ /* RGTC compressed formats */
+ {
+ MESA_FORMAT_R_RGTC1_UNORM,
+ "MESA_FORMAT_R_RGTC1_UNORM",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_R_RGTC1_SNORM,
+ "MESA_FORMAT_R_RGTC1_SNORM",
+ GL_RED,
+ GL_SIGNED_NORMALIZED,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RG_RGTC2_UNORM,
+ "MESA_FORMAT_RG_RGTC2_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RG_RGTC2_SNORM,
+ "MESA_FORMAT_RG_RGTC2_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* LATC1/2 compressed formats */
+ {
+ MESA_FORMAT_L_LATC1_UNORM,
+ "MESA_FORMAT_L_LATC1_UNORM",
+ GL_LUMINANCE,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 4, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_L_LATC1_SNORM,
+ "MESA_FORMAT_L_LATC1_SNORM",
+ GL_LUMINANCE,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 4, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_LA_LATC2_UNORM,
+ "MESA_FORMAT_LA_LATC2_UNORM",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 4,
+ 4, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_LA_LATC2_SNORM,
+ "MESA_FORMAT_LA_LATC2_SNORM",
+ GL_LUMINANCE_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 4,
+ 4, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* ETC1/2 compressed formats */
+ {
+ MESA_FORMAT_ETC1_RGB8,
+ "MESA_FORMAT_ETC1_RGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RGB8,
+ "MESA_FORMAT_ETC2_RGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SRGB8,
+ "MESA_FORMAT_ETC2_SRGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RGBA8_EAC,
+ "MESA_FORMAT_ETC2_RGBA8_EAC",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC,
+ "MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_R11_EAC,
+ "MESA_FORMAT_ETC2_R11_EAC",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 11, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RG11_EAC,
+ "MESA_FORMAT_ETC2_RG11_EAC",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 11, 11, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SIGNED_R11_EAC,
+ "MESA_FORMAT_ETC2_SIGNED_R11_EAC",
+ GL_RED,
+ GL_SIGNED_NORMALIZED,
+ 11, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SIGNED_RG11_EAC,
+ "MESA_FORMAT_ETC2_SIGNED_RG11_EAC",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 11, 11, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1,
+ "MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 1,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1,
+ "MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 1,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+};
+
+static const struct gl_format_info *
+_mesa_get_format_info(mesa_format format)
+{
+ const struct gl_format_info *info = &format_info[format];
+ assert(info->Name == format);
+ return info;
+}
+
+
+/** Return string name of format (for debugging) */
+const char *
+_mesa_get_format_name(mesa_format format)
+{
+ const struct gl_format_info *info = _mesa_get_format_info(format);
+ return info->StrName;
+}
+
+/**
+ * Return bits per component for the given format.
+ * \param format one of MESA_FORMAT_x
+ * \param pname the component, such as GL_RED_BITS, GL_TEXTURE_BLUE_BITS, etc.
+ */
+GLint
+_mesa_get_format_bits(mesa_format format, GLenum pname)
+{
+ const struct gl_format_info *info = _mesa_get_format_info(format);
+
+ switch (pname) {
+ case GL_RED_BITS:
+ case GL_TEXTURE_RED_SIZE:
+ case GL_RENDERBUFFER_RED_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE:
+ return info->RedBits;
+ case GL_GREEN_BITS:
+ case GL_TEXTURE_GREEN_SIZE:
+ case GL_RENDERBUFFER_GREEN_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:
+ return info->GreenBits;
+ case GL_BLUE_BITS:
+ case GL_TEXTURE_BLUE_SIZE:
+ case GL_RENDERBUFFER_BLUE_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:
+ return info->BlueBits;
+ case GL_ALPHA_BITS:
+ case GL_TEXTURE_ALPHA_SIZE:
+ case GL_RENDERBUFFER_ALPHA_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:
+ return info->AlphaBits;
+ case GL_TEXTURE_INTENSITY_SIZE:
+ return info->IntensityBits;
+ case GL_TEXTURE_LUMINANCE_SIZE:
+ return info->LuminanceBits;
+ case GL_INDEX_BITS:
+ return info->IndexBits;
+ case GL_DEPTH_BITS:
+ case GL_TEXTURE_DEPTH_SIZE_ARB:
+ case GL_RENDERBUFFER_DEPTH_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:
+ return info->DepthBits;
+ case GL_STENCIL_BITS:
+ case GL_TEXTURE_STENCIL_SIZE_EXT:
+ case GL_RENDERBUFFER_STENCIL_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:
+ return info->StencilBits;
+ default:
+ ErrorF("bad pname in _mesa_get_format_bits(): %d\n",pname);
+ return 0;
+ }
+}
+
+/**
+ * Return color encoding for given format.
+ * \return GL_LINEAR or GL_SRGB
+ */
+GLenum
+_mesa_get_format_color_encoding(mesa_format format)
+{
+ /* XXX this info should be encoded in gl_format_info */
+ switch (format) {
+ case MESA_FORMAT_BGR_SRGB8:
+ case MESA_FORMAT_A8B8G8R8_SRGB:
+ case MESA_FORMAT_B8G8R8A8_SRGB:
+ case MESA_FORMAT_R8G8B8A8_SRGB:
+ case MESA_FORMAT_L_SRGB8:
+ case MESA_FORMAT_L8A8_SRGB:
+ case MESA_FORMAT_SRGB_DXT1:
+ case MESA_FORMAT_SRGBA_DXT1:
+ case MESA_FORMAT_SRGBA_DXT3:
+ case MESA_FORMAT_SRGBA_DXT5:
+ case MESA_FORMAT_R8G8B8X8_SRGB:
+ case MESA_FORMAT_ETC2_SRGB8:
+ case MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC:
+ case MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1:
+ case MESA_FORMAT_B8G8R8X8_SRGB:
+ return GL_SRGB;
+ default:
+ return GL_LINEAR;
+ }
+}
+
+__DRIconfig **
+driCreateConfigs(mesa_format format,
+ const uint8_t * depth_bits, const uint8_t * stencil_bits,
+ unsigned num_depth_stencil_bits,
+ const GLenum * db_modes, unsigned num_db_modes,
+ const uint8_t * msaa_samples, unsigned num_msaa_modes,
+ GLboolean enable_accum)
+{
+ static const uint32_t masks_table[][4] = {
+ /* MESA_FORMAT_B5G6R5_UNORM */
+ { 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 },
+ /* MESA_FORMAT_B8G8R8X8_UNORM */
+ { 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
+ /* MESA_FORMAT_B8G8R8A8_UNORM */
+ { 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 },
+ /* MESA_FORMAT_B10G10R10X2_UNORM */
+ { 0x3FF00000, 0x000FFC00, 0x000003FF, 0x00000000 },
+ /* MESA_FORMAT_B10G10R10A2_UNORM */
+ { 0x3FF00000, 0x000FFC00, 0x000003FF, 0xC0000000 },
+ };
+
+ const uint32_t * masks;
+ __DRIconfig **configs, **c;
+ struct gl_config *modes;
+ unsigned i, j, k, h;
+ unsigned num_modes;
+ unsigned num_accum_bits = (enable_accum) ? 2 : 1;
+ int red_bits;
+ int green_bits;
+ int blue_bits;
+ int alpha_bits;
+ bool is_srgb;
+
+ switch (format) {
+ case MESA_FORMAT_B5G6R5_UNORM:
+ masks = masks_table[0];
+ break;
+ case MESA_FORMAT_B8G8R8X8_UNORM:
+ masks = masks_table[1];
+ break;
+ case MESA_FORMAT_B8G8R8A8_UNORM:
+ case MESA_FORMAT_B8G8R8A8_SRGB:
+ masks = masks_table[2];
+ break;
+ case MESA_FORMAT_B10G10R10X2_UNORM:
+ masks = masks_table[3];
+ break;
+ case MESA_FORMAT_B10G10R10A2_UNORM:
+ masks = masks_table[4];
+ break;
+ default:
+ fprintf(stderr, "[%s:%u] Unknown framebuffer type %s (%d).\n",
+ __FUNCTION__, __LINE__,
+ _mesa_get_format_name(format), format);
+ return NULL;
+ }
+
+ red_bits = _mesa_get_format_bits(format, GL_RED_BITS);
+ green_bits = _mesa_get_format_bits(format, GL_GREEN_BITS);
+ blue_bits = _mesa_get_format_bits(format, GL_BLUE_BITS);
+ alpha_bits = _mesa_get_format_bits(format, GL_ALPHA_BITS);
+ is_srgb = _mesa_get_format_color_encoding(format) == GL_SRGB;
+
+ num_modes = num_depth_stencil_bits * num_db_modes * num_accum_bits * num_msaa_modes;
+ configs = calloc(1, (num_modes + 1) * sizeof *configs);
+ if (configs == NULL)
+ return NULL;
+
+ c = configs;
+ for ( k = 0 ; k < num_depth_stencil_bits ; k++ ) {
+ for ( i = 0 ; i < num_db_modes ; i++ ) {
+ for ( h = 0 ; h < num_msaa_modes; h++ ) {
+ for ( j = 0 ; j < num_accum_bits ; j++ ) {
+ *c = malloc (sizeof **c);
+ modes = &(*c)->modes;
+ c++;
+
+ memset(modes, 0, sizeof *modes);
+ modes->redBits = red_bits;
+ modes->greenBits = green_bits;
+ modes->blueBits = blue_bits;
+ modes->alphaBits = alpha_bits;
+ modes->redMask = masks[0];
+ modes->greenMask = masks[1];
+ modes->blueMask = masks[2];
+ modes->alphaMask = masks[3];
+ modes->rgbBits = modes->redBits + modes->greenBits
+ + modes->blueBits + modes->alphaBits;
+
+ modes->accumRedBits = 16 * j;
+ modes->accumGreenBits = 16 * j;
+ modes->accumBlueBits = 16 * j;
+ modes->accumAlphaBits = (masks[3] != 0) ? 16 * j : 0;
+ modes->visualRating = (j == 0) ? GLX_NONE : GLX_SLOW_CONFIG;
+
+ modes->stencilBits = stencil_bits[k];
+ modes->depthBits = depth_bits[k];
+
+ modes->transparentPixel = GLX_NONE;
+ modes->transparentRed = GLX_DONT_CARE;
+ modes->transparentGreen = GLX_DONT_CARE;
+ modes->transparentBlue = GLX_DONT_CARE;
+ modes->transparentAlpha = GLX_DONT_CARE;
+ modes->transparentIndex = GLX_DONT_CARE;
+ modes->rgbMode = GL_TRUE;
+
+ if ( db_modes[i] == GLX_NONE ) {
+ modes->doubleBufferMode = GL_FALSE;
+ }
+ else {
+ modes->doubleBufferMode = GL_TRUE;
+ modes->swapMethod = db_modes[i];
+ }
+
+ modes->samples = msaa_samples[h];
+ modes->sampleBuffers = modes->samples ? 1 : 0;
+
+
+ modes->haveAccumBuffer = ((modes->accumRedBits +
+ modes->accumGreenBits +
+ modes->accumBlueBits +
+ modes->accumAlphaBits) > 0);
+ modes->haveDepthBuffer = (modes->depthBits > 0);
+ modes->haveStencilBuffer = (modes->stencilBits > 0);
+
+ modes->bindToTextureRgb = GL_TRUE;
+ modes->bindToTextureRgba = GL_TRUE;
+ modes->bindToMipmapTexture = GL_FALSE;
+ modes->bindToTextureTargets =
+ __DRI_ATTRIB_TEXTURE_1D_BIT |
+ __DRI_ATTRIB_TEXTURE_2D_BIT |
+ __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT;
+
+ modes->yInverted = GL_TRUE;
+ modes->sRGBCapable = is_srgb;
+ }
+ }
+ }
+ }
+ *c = NULL;
+
+ return configs;
+}
+
+static __DRIconfig **
+swrastFillInModes(__DRIscreen *psp,
+ unsigned pixel_bits, unsigned depth_bits,
+ unsigned stencil_bits, GLboolean have_back_buffer)
+{
+ __DRIconfig **configs;
+ unsigned depth_buffer_factor;
+ unsigned back_buffer_factor;
+ mesa_format format;
+
+ /* GLX_SWAP_COPY_OML is only supported because the Intel driver doesn't
+ * support pageflipping at all.
+ */
+ static const GLenum back_buffer_modes[] = {
+ GLX_NONE, GLX_SWAP_UNDEFINED_OML
+ };
+
+ uint8_t depth_bits_array[4];
+ uint8_t stencil_bits_array[4];
+ uint8_t msaa_samples_array[1];
+
+ (void) psp;
+ (void) have_back_buffer;
+
+ depth_bits_array[0] = 0;
+ depth_bits_array[1] = 0;
+ depth_bits_array[2] = depth_bits;
+ depth_bits_array[3] = depth_bits;
+
+ /* Just like with the accumulation buffer, always provide some modes
+ * with a stencil buffer.
+ */
+ stencil_bits_array[0] = 0;
+ stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
+ stencil_bits_array[2] = 0;
+ stencil_bits_array[3] = (stencil_bits == 0) ? 8 : stencil_bits;
+
+ msaa_samples_array[0] = 0;
+
+ depth_buffer_factor = 4;
+ back_buffer_factor = 2;
+
+ switch (pixel_bits) {
+ case 16:
+ format = MESA_FORMAT_B5G6R5_UNORM;
+ break;
+ case 24:
+ format = MESA_FORMAT_B8G8R8X8_UNORM;
+ break;
+ case 32:
+ format = MESA_FORMAT_B8G8R8A8_UNORM;
+ break;
+ default:
+ fprintf(stderr, "[%s:%u] bad depth %d\n", __FUNCTION__, __LINE__,
+ pixel_bits);
+ return NULL;
+ }
+
+ configs = driCreateConfigs(format,
+ depth_bits_array, stencil_bits_array,
+ depth_buffer_factor, back_buffer_modes,
+ back_buffer_factor, msaa_samples_array, 1,
+ GL_TRUE);
+ if (configs == NULL) {
+ fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __FUNCTION__,
+ __LINE__);
+ return NULL;
+ }
+
+ return configs;
+}
+
+__DRIconfig **driConcatConfigs(__DRIconfig **a,
+ __DRIconfig **b)
+{
+ __DRIconfig **all;
+ int i, j, index;
+
+ if (a == NULL || a[0] == NULL)
+ return b;
+ else if (b == NULL || b[0] == NULL)
+ return a;
+
+ i = 0;
+ while (a[i] != NULL)
+ i++;
+ j = 0;
+ while (b[j] != NULL)
+ j++;
+
+ all = malloc((i + j + 1) * sizeof *all);
+ index = 0;
+ for (i = 0; a[i] != NULL; i++)
+ all[index++] = a[i];
+ for (j = 0; b[j] != NULL; j++)
+ all[index++] = b[j];
+ all[index++] = NULL;
+
+ free(a);
+ free(b);
+
+ return all;
+}
+
+/**
+ * Return the value of a configuration attribute. The attribute is
+ * indicated by the index.
+ */
+static int
+driGetConfigAttribIndex(const __DRIconfig *config,
+ unsigned int index, unsigned int *value)
+{
+ switch (attribMap[index].attrib) {
+ case __DRI_ATTRIB_RENDER_TYPE:
+ /* no support for color index mode */
+ *value = __DRI_ATTRIB_RGBA_BIT;
+ break;
+ case __DRI_ATTRIB_CONFIG_CAVEAT:
+ if (config->modes.visualRating == GLX_NON_CONFORMANT_CONFIG)
+ *value = __DRI_ATTRIB_NON_CONFORMANT_CONFIG;
+ else if (config->modes.visualRating == GLX_SLOW_CONFIG)
+ *value = __DRI_ATTRIB_SLOW_BIT;
+ else
+ *value = 0;
+ break;
+ case __DRI_ATTRIB_SWAP_METHOD:
+ /* XXX no return value??? */
+ break;
+
+ default:
+ /* any other int-sized field */
+ *value = *(unsigned int *)
+ ((char *) &config->modes + attribMap[index].offset);
+
+ break;
+ }
+
+ return GL_TRUE;
+}
+
+
+/**
+ * Get the value of a configuration attribute.
+ * \param attrib the attribute (one of the _DRI_ATTRIB_x tokens)
+ * \param value returns the attribute's value
+ * \return 1 for success, 0 for failure
+ */
+int
+driGetConfigAttrib(const __DRIconfig *config, unsigned int attrib, unsigned int *value)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(attribMap); i++)
+ if (attribMap[i].attrib == attrib)
+ return driGetConfigAttribIndex(config, i, value);
+
+ return GL_FALSE;
+}
+
+/**
+ * Get a configuration attribute name and value, given an index.
+ * \param index which field of the __DRIconfig to query
+ * \param attrib returns the attribute name (one of the _DRI_ATTRIB_x tokens)
+ * \param value returns the attribute's value
+ * \return 1 for success, 0 for failure
+ */
+int driIndexConfigAttrib(const __DRIconfig *config, int index, unsigned int *attrib, unsigned int *value)
+{
+ if (index >= 0 && index < ARRAY_SIZE(attribMap))
+ {
+ *attrib = attribMap[index].attrib;
+ return driGetConfigAttribIndex(config, index, value);
+ }
+
+ return GL_FALSE;
+}
+
+static const __DRIconfig **dri_init_screen(__DRIscreen * psp)
+{
+ __DRIconfig **configs8, **configs16, **configs24, **configs32;
+
+ PRINTF(__FUNCTION__": psp %x\n", psp);
+
+ psp->max_gl_compat_version = 21;
+ psp->max_gl_es1_version = 11;
+ psp->max_gl_es2_version = 20;
+
+ psp->extensions = dri_screen_extensions;
+
+ configs16 = swrastFillInModes(psp, 16, 16, 0, 1);
+ configs24 = swrastFillInModes(psp, 24, 24, 8, 1);
+ configs32 = swrastFillInModes(psp, 32, 24, 8, 1);
+
+ configs24 = driConcatConfigs(configs16, configs24);
+ configs32 = driConcatConfigs(configs24, configs32);
+
+ return (const __DRIconfig **)configs32;
+}
+
+static __DRIscreen *driCreateNewScreen(int scrn, const __DRIextension **extensions, const __DRIconfig ***driver_configs, void *data)
+{
+ static const __DRIextension *emptyExtensionList[] = { NULL };
+ __DRIscreen *psp;
+
+ HDC hDc = GetDC(NULL);
+ int bitsPerPixel= GetDeviceCaps(hDc, BITSPIXEL);
+ ReleaseDC(NULL, hDc);
+ if (bitsPerPixel<24)
+ {
+ PRINTF(__FUNCTION__": bitsPerPixel not supported %d\n", bitsPerPixel);
+ return NULL;
+ }
+
+ psp = calloc(sizeof(struct __DRIscreenRec),1);
+ if (!psp)
+ return NULL;
+
+ PRINTF(__FUNCTION__": psp %x\n", psp);
+
+ setupLoaderExtensions(psp, extensions);
+
+ psp->extensions = emptyExtensionList;
+ psp->ScreenNum = scrn;
+
+ *driver_configs = dri_init_screen(psp);
+
+ if (*driver_configs == NULL)
+ {
+ free(psp);
+ return NULL;
+ }
+
+ return psp;
+}
+
+static __DRIcontext *driCreateNewContext(__DRIscreen *psp, const __DRIconfig *config, __DRIcontext *shared, void *data)
+{
+ __DRIcontext *pcp;
+ void * const shareCtx = (shared != NULL) ? shared->driverPrivate : NULL;
+
+ pcp = calloc(sizeof(struct __DRIcontextRec),1);
+ if (!pcp)
+ return NULL;
+
+ PRINTF(__FUNCTION__": psp %x, shared %x, data %x, pcp %x\n", psp, shared, data, pcp);
+
+ pcp->loaderPrivate = data;
+
+ pcp->driScreenPriv = psp;
+ pcp->driDrawablePriv = NULL;
+ pcp->driReadablePriv = NULL;
+
+ pcp->Dispatch=calloc(sizeof(void*), (sizeof(struct _glapi_table) / sizeof(void *) + MAX_EXTENSION_FUNCS));
+ _glapi_set_dispatch(pcp->Dispatch);
+
+ glWinSetupDispatchTable();
+
+ return pcp;
+}
+
+static const __DRIextension **driGetExtensions(__DRIscreen *psp)
+{
+ return psp->extensions;
+}
+
+static void driDrawableCheckSize(__DRIdrawable *pdp)
+{
+ int x;
+ int y;
+ int w;
+ int h;
+ pdp->driScreenPriv->swrast_loader->getDrawableInfo(pdp, &x, &y, &w, &h, pdp->loaderPrivate);
+ if (pdp->winWidth==w && pdp->winHeight==h)
+ return;
+ pdp->winWidth=w;
+ pdp->winHeight=h;
+ setupDIB(pdp);
+}
+static __DRIdrawable *driCreateNewDrawable(__DRIscreen *psp, const __DRIconfig *config, void *data)
+{
+ __DRIdrawable *pdp = calloc(sizeof(struct __DRIdrawableRec),1);
+ if (!pdp)
+ return NULL;
+
+ PRINTF(__FUNCTION__": pdp %x, data %x\n", pdp, data);
+
+ pdp->loaderPrivate = data;
+
+ pdp->driScreenPriv = psp;
+
+ pdp->refcount++;
+
+ pdp->hDCFrontBuffer = GetDC(NULL);
+ pdp->hDC = CreateCompatibleDC(pdp->hDCFrontBuffer);
+
+ driDrawableCheckSize(pdp);
+
+ setupPixelFormat(pdp);
+ setupPalette(pdp);
+ pdp->hGLRC = wglCreateContext(pdp->hDC);
+
+ return pdp;
+}
+
+static __DRIcontext *current_pcp;
+
+static int driBindContext(__DRIcontext *pcp, __DRIdrawable *pdp, __DRIdrawable *prp)
+{
+ PRINTF(__FUNCTION__": pcp %x, pdp %x, prp %x\n",pcp, pdp, prp);
+
+ if (current_pcp)
+ {
+ driUnbindContext(current_pcp);
+ current_pcp=NULL;
+ }
+
+ /* Bind the drawable to the context */
+ if (pcp)
+ {
+ static int Created=0;
+
+ if (!pdp || !prp)
+ {
+ return GL_TRUE;
+ }
+
+ pcp->driDrawablePriv = pdp;
+ pcp->driReadablePriv = prp;
+ if (pdp)
+ {
+ pdp->refcount++;
+ }
+ if ( prp && pdp != prp )
+ {
+ prp->refcount++;
+ }
+
+ if (wglGetCurrentContext()!=pdp->hGLRC)
+ {
+ if (!wglMakeCurrent(pdp->hDC, pdp->hGLRC))
+ ErrorF("Error making context current: pdp %x\n",pdp);
+ PRINTF("pdp->hDC %x to pdp->hGLRC %x\n",pdp->hDC, pdp->hGLRC);
+ }
+ if (Created)
+ {
+ // initialize wgl extension proc pointers (don't call them before here...)
+ // (but we need to have a current context for them to be resolvable)
+ Created=1;
+ wglResolveExtensionProcs();
+ }
+ current_pcp=pcp;
+ _glapi_set_dispatch(pcp->Dispatch);
+ }
+
+ return GL_TRUE;
+}
+
+static void driDestroyDrawable(__DRIdrawable *pdp)
+{
+ if (pdp)
+ {
+ pdp->refcount--;
+ if (pdp->refcount) return;
+
+ PRINTF(__FUNCTION__": pdp %x\n", pdp);
+
+ wglDeleteContext (pdp->hGLRC);
+ DeleteDC(pdp->hDC);
+ ReleaseDC(NULL, pdp->hDCFrontBuffer);
+ DeleteObject(pdp->hBitmap);
+ if (pdp->hPalette) DeleteObject(pdp->hPalette);
+
+ free(pdp);
+ }
+}
+
+static int driUnbindContext(__DRIcontext *pcp)
+{
+ __DRIdrawable *pdp;
+ __DRIdrawable *prp;
+
+ PRINTF(__FUNCTION__": pcp %x\n", pcp);
+
+ if (pcp == NULL)
+ return GL_FALSE;
+
+ pdp = pcp->driDrawablePriv;
+ prp = pcp->driReadablePriv;
+
+ /* already unbound */
+ if (!pdp && !prp)
+ {
+ PRINTF(__FUNCTION__": pcp %x already unbound\n", pcp);
+ return GL_TRUE;
+ }
+
+ if (wglGetCurrentContext()==pdp->hGLRC)
+ {
+ current_pcp=NULL;
+ wglMakeCurrent(pdp->hDC, NULL);
+ PRINTF("pdp->hDC %x to NULL\n", pdp->hDC);
+ }
+
+ driDestroyDrawable(pdp);
+ if (prp!=pdp)
+ driDestroyDrawable(prp);
+
+ pcp->driDrawablePriv = NULL;
+ pcp->driReadablePriv = NULL;
+ _glapi_set_dispatch(NULL);
+
+ return GL_TRUE;
+}
+
+static void driDestroyContext(__DRIcontext *pcp)
+{
+ PRINTF(__FUNCTION__": pcp %x\n", pcp);
+ if (pcp)
+ {
+ driUnbindContext(pcp);
+ free(pcp);
+ }
+}
+
+static void driDestroyScreen(__DRIscreen *psp)
+{
+ PRINTF(__FUNCTION__": psp %x\n", psp);
+ if (psp)
+ {
+ free(psp);
+ }
+}
+
+static void driSwapBuffers(__DRIdrawable *pdp)
+{
+// GET_CURRENT_CONTEXT(ctx);
+ /* Revert image */
+ int Row;
+ int UpRow;
+ int ColCount;
+ int HalfRowCount;
+ int *pBits;
+
+ //GdiFlush();
+
+ driDrawableCheckSize(pdp);
+
+ ColCount=pdp->winWidth;
+ HalfRowCount=pdp->winHeight/2;
+ pBits=(int*)pdp->bits;
+
+ for (Row=0,UpRow=2*HalfRowCount-1; Row<HalfRowCount; Row++,UpRow--)
+ {
+ int j;
+ for (j=0; j<ColCount; j++)
+ {
+ int Temp=pBits[Row*ColCount+j];
+ pBits[Row*ColCount+j]=pBits[UpRow*ColCount+j];
+ pBits[UpRow*ColCount+j]=Temp;
+ }
+ }
+
+ pdp->driScreenPriv->swrast_loader->putImage(pdp, __DRI_SWRAST_IMAGE_OP_SWAP, 0, 0, pdp->winWidth, pdp->winHeight, pdp->bits, pdp->loaderPrivate);
+}
+
+const __DRIcoreExtension driCoreExtension = {
+ { __DRI_CORE, __DRI_CORE_VERSION },
+ NULL, /* driCreateNewScreen */
+ driDestroyScreen,
+ driGetExtensions,
+ driGetConfigAttrib,
+ driIndexConfigAttrib,
+ NULL, /* driCreateNewDrawable */
+ driDestroyDrawable,
+ driSwapBuffers,
+ driCreateNewContext,
+ NULL,// driCopyContext,
+ driDestroyContext,
+ driBindContext,
+ driUnbindContext
+};
+
+const __DRIswrastExtension driWGLExtension = {
+ { __DRI_SWRAST, __DRI_SWRAST_VERSION },
+ driCreateNewScreen,
+ driCreateNewDrawable,
+ NULL // driCreateNewContextForAPI
+};
+
+/* This is the table of extensions that the loader will dlsym() for. */
+PUBLIC const __DRIextension *__driDriverExtensions[] =
+{
+ &driCoreExtension.base,
+ &driWGLExtension.base,
+ NULL
+};
diff --git a/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.def b/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.def
new file mode 100644
index 000000000..b5826a404
--- /dev/null
+++ b/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.def
@@ -0,0 +1,2 @@
+EXPORTS
+
diff --git a/xorg-server/hw/xwin/taskbar.h b/xorg-server/hw/xwin/taskbar.h
new file mode 100644
index 000000000..94f3f9efb
--- /dev/null
+++ b/xorg-server/hw/xwin/taskbar.h
@@ -0,0 +1,39 @@
+/*
+ *Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
+ *
+ *Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ *"Software"), to deal in the Software without restriction, including
+ *without limitation the rights to use, copy, modify, merge, publish,
+ *distribute, sublicense, and/or sell copies of the Software, and to
+ *permit persons to whom the Software is furnished to do so, subject to
+ *the following conditions:
+ *
+ *The above copyright notice and this permission notice shall be
+ *included in all copies or substantial portions of the Software.
+ *
+ *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
+ *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *Except as contained in this notice, the name of the XFree86 Project
+ *shall not be used in advertising or otherwise to promote the sale, use
+ *or other dealings in this Software without prior written authorization
+ *from the XFree86 Project.
+ */
+
+#ifndef _TASKBAR_H
+#define _TASKBAR_H
+
+#include <windows.h>
+#include <propsys.h>
+#include <propkey.h>
+
+typedef HRESULT (__stdcall *SHGETPROPERTYSTOREFORWINDOWPROC)(HWND,REFIID,void**);
+typedef HRESULT (__stdcall *PROPVARIANTCLEARPROC)(PROPVARIANT*);
+
+#endif
diff --git a/xorg-server/hw/xwin/win.h b/xorg-server/hw/xwin/win.h
index a738a5940..47e8f36eb 100644
--- a/xorg-server/hw/xwin/win.h
+++ b/xorg-server/hw/xwin/win.h
@@ -47,11 +47,6 @@
#define WM_MOUSEHWHEEL 0x020E
#endif
-/* Turn debug messages on or off */
-#ifndef CYGDEBUG
-#define CYGDEBUG NO
-#endif
-
#define WIN_DEFAULT_BPP 0
#define WIN_DEFAULT_WHITEPIXEL 255
#define WIN_DEFAULT_BLACKPIXEL 0
@@ -136,6 +131,9 @@
#include <errno.h>
#if defined(XWIN_MULTIWINDOWEXTWM) || defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
#define HANDLE void *
+#ifdef _MSC_VER
+typedef int pid_t;
+#endif
#include <pthread.h>
#undef HANDLE
#endif
@@ -200,43 +198,6 @@
#include "winwindow.h"
#include "winmsg.h"
-/*
- * Debugging macros
- */
-
-#if CYGDEBUG
-#define DEBUG_MSG(str,...) \
-if (fDebugProcMsg) \
-{ \
- char *pszTemp; \
- int iLength; \
- if (asprintf (&pszTemp, str, ##__VA_ARGS__) != -1) { \
- MessageBox (NULL, pszTemp, szFunctionName, MB_OK); \
- free (pszTemp); \
- } \
-}
-#else
-#define DEBUG_MSG(str,...)
-#endif
-
-#if CYGDEBUG
-#define DEBUG_FN_NAME(str) PTSTR szFunctionName = str
-#else
-#define DEBUG_FN_NAME(str)
-#endif
-
-#if CYGDEBUG || YES
-#define DEBUGVARS BOOL fDebugProcMsg = FALSE
-#else
-#define DEBUGVARS
-#endif
-
-#if CYGDEBUG || YES
-#define DEBUGPROC_MSG fDebugProcMsg = TRUE
-#else
-#define DEBUGPROC_MSG
-#endif
-
#define PROFILEPOINT(point,thresh)\
{\
static unsigned int PROFPT##point = 0;\
@@ -417,9 +378,11 @@ typedef struct {
Bool fDecoration;
#ifdef XWIN_MULTIWINDOWEXTWM
Bool fMWExtWM;
- Bool fInternalWM;
Bool fAnotherWMRunning;
#endif
+#ifdef XWIN_MULTIWINDOWINTWM
+ Bool fInternalWM;
+#endif
Bool fRootless;
#ifdef XWIN_MULTIWINDOW
Bool fMultiWindow;
@@ -489,17 +452,19 @@ typedef struct _winPrivScreenRec {
/* Privates used by shadow fb and primary fb DirectDraw servers */
LPDIRECTDRAW pdd;
- LPDIRECTDRAWSURFACE2 pddsPrimary;
+ LPDIRECTDRAWSURFACE pddsPrimary;
LPDIRECTDRAW2 pdd2;
/* Privates used by shadow fb DirectDraw server */
- LPDIRECTDRAWSURFACE2 pddsShadow;
+ LPDIRECTDRAWSURFACE pddsShadow;
LPDDSURFACEDESC pddsdShadow;
+#ifdef XWIN_PRIMARYFB
/* Privates used by primary fb DirectDraw server */
- LPDIRECTDRAWSURFACE2 pddsOffscreen;
+ LPDIRECTDRAWSURFACE pddsOffscreen;
LPDDSURFACEDESC pddsdOffscreen;
LPDDSURFACEDESC pddsdPrimary;
+#endif
/* Privates used by shadow fb DirectDraw Nonlocking server */
LPDIRECTDRAW4 pdd4;
@@ -793,7 +758,7 @@ Bool
winInitClipboard(void);
void
- winFixClipboardChain(void);
+ winFixClipboardChain (int Removed);
#endif
/*
@@ -820,6 +785,9 @@ Bool
* windialogs.c
*/
+int
+GetLiveClients (winPrivScreenPtr pScreenPriv);
+
void
winDisplayExitDialog(winPrivScreenPtr pScreenPriv);
@@ -1239,7 +1207,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
*/
void
- winInitNotifyIcon(winPrivScreenPtr pScreenPriv);
+ winInitNotifyIcon (winPrivScreenPtr pScreenPriv, Bool Modify);
void
winDeleteNotifyIcon(winPrivScreenPtr pScreenPriv);
@@ -1342,13 +1310,13 @@ winMWExtWMUpdateWindowDecoration(win32RootlessWindowPtr pRLWinPriv,
wBOOL CALLBACK winMWExtWMDecorateWindow(HWND hwnd, LPARAM lParam);
-Bool
- winIsInternalWMRunning(winScreenInfoPtr pScreenInfo);
-
void
winMWExtWMRestackWindows(ScreenPtr pScreen);
#endif
-
+#ifdef XWIN_MULTIWINDOWINTWM
+Bool
+ winIsInternalWMRunning (winScreenInfoPtr pScreenInfo);
+#endif
#ifdef XWIN_MULTIWINDOWEXTWM
/*
* winwin32rootlesswndproc.c
@@ -1384,6 +1352,13 @@ void
winInitializeScreens(int maxscreens);
/*
+ * windisplay.c
+ */
+
+void
+winGetDisplayName(char *szDisplay, unsigned int screen);
+
+/*
* winrandr.c
*/
Bool
diff --git a/xorg-server/hw/xwin/winSetAppUserModelID.c b/xorg-server/hw/xwin/winSetAppUserModelID.c
index 41615e19c..3c449a3a8 100644
--- a/xorg-server/hw/xwin/winSetAppUserModelID.c
+++ b/xorg-server/hw/xwin/winSetAppUserModelID.c
@@ -34,6 +34,7 @@
#include "winmsg.h"
#include <shlwapi.h>
+#include <propvarutil.h>
#define INITGUID
#include "initguid.h"
@@ -95,7 +96,7 @@ winSetAppUserModelID(HWND hWnd, const char *AppID)
hr = g_pSHGetPropertyStoreForWindow(hWnd, &IID_IPropertyStore,
(void **) &pps);
if (SUCCEEDED(hr) && pps) {
- memset(&pv, 0, sizeof(PROPVARIANT));
+ PropVariantInit(&pv);
if (AppID) {
pv.vt = VT_LPWSTR;
hr = SHStrDupA(AppID, &pv.pwszVal);
diff --git a/xorg-server/hw/xwin/winallpriv.c b/xorg-server/hw/xwin/winallpriv.c
index 629af92c9..0bbac20cd 100644
--- a/xorg-server/hw/xwin/winallpriv.c
+++ b/xorg-server/hw/xwin/winallpriv.c
@@ -47,10 +47,8 @@ winAllocatePrivates(ScreenPtr pScreen)
{
winPrivScreenPtr pScreenPriv;
-#if CYGDEBUG
winDebug("winAllocateScreenPrivates - g_ulServerGeneration: %d "
"serverGeneration: %d\n", g_ulServerGeneration, serverGeneration);
-#endif
/* We need a new slot for our privates if the screen gen has changed */
if (g_ulServerGeneration != serverGeneration) {
@@ -72,7 +70,7 @@ winAllocatePrivates(ScreenPtr pScreen)
/* Register our screen private */
if (!dixRegisterPrivateKey(g_iScreenPrivateKey, PRIVATE_SCREEN, 0)) {
- ErrorF("winAllocatePrivates - AllocateScreenPrivate () failed\n");
+ ErrorF ("winAllocatePrivates - dixRegisterPrivateKey () failed\n");
return FALSE;
}
@@ -112,9 +110,7 @@ winAllocatePrivates(ScreenPtr pScreen)
Bool
winInitCmapPrivates(ColormapPtr pcmap, int i)
{
-#if CYGDEBUG
winDebug("winInitCmapPrivates\n");
-#endif
/*
* I see no way that this function can do anything useful
@@ -139,9 +135,7 @@ winAllocateCmapPrivates(ColormapPtr pCmap)
winPrivCmapPtr pCmapPriv;
static unsigned long s_ulPrivateGeneration = 0;
-#if CYGDEBUG
winDebug("winAllocateCmapPrivates\n");
-#endif
/* Get a new privates index when the server generation changes */
if (s_ulPrivateGeneration != serverGeneration) {
@@ -168,9 +162,7 @@ winAllocateCmapPrivates(ColormapPtr pCmap)
/* Save the cmap private pointer */
winSetCmapPriv(pCmap, pCmapPriv);
-#if CYGDEBUG
winDebug("winAllocateCmapPrivates - Returning\n");
-#endif
return TRUE;
}
diff --git a/xorg-server/hw/xwin/winauth.c b/xorg-server/hw/xwin/winauth.c
index 7efa1c00f..4e6c3814f 100644
--- a/xorg-server/hw/xwin/winauth.c
+++ b/xorg-server/hw/xwin/winauth.c
@@ -32,6 +32,10 @@
#include <xwin-config.h>
#endif
+#define GC X11_GC /* To avoid compilation errors later when including win.h (which also defines the GC type) */
+#include <X11/Xlib.h>
+#undef GC
+
#include "win.h"
/* Includes for authorization */
@@ -56,15 +60,28 @@ static char *g_pAuthData = NULL;
* Code to generate a MIT-MAGIC-COOKIE-1, copied from under XCSECURITY
*/
+
+
#ifndef XCSECURITY
void
GenerateRandomData(int len, char *buf)
{
int fd;
-
+#ifdef _MSC_VER
+ static HANDLE hAdvApi32;
+ static BOOLEAN (_stdcall * RtlGenRandom)(void *,unsigned long);
+
+ if (!hAdvApi32)
+ {
+ hAdvApi32=LoadLibrary("advapi32.dll");
+ RtlGenRandom=(BOOLEAN (_stdcall *)(void*,unsigned long))GetProcAddress(hAdvApi32,"SystemFunction036");
+ }
+ RtlGenRandom(buf, len);
+#else
fd = open("/dev/urandom", O_RDONLY);
read(fd, buf, len);
close(fd);
+#endif
}
static char cookie[16]; /* 128 bits */
@@ -114,7 +131,6 @@ GenerateAuthorization(unsigned name_length,
Bool
winGenerateAuthorization(void)
{
- Bool fFreeAuth = FALSE;
SecurityAuthorizationPtr pAuth = NULL;
/* Call OS layer to generate authorization key */
@@ -125,12 +141,13 @@ winGenerateAuthorization(void)
ErrorF("winGenerateAuthorization - GenerateAuthorization failed\n");
goto auth_bailout;
}
-
+#ifdef WINDBG
else {
winDebug("winGenerateAuthorization - GenerateAuthorization success!\n"
"AuthDataLen: %d AuthData: %s\n",
g_uiAuthDataLen, g_pAuthData);
}
+#endif
#ifdef XCSECURITY
/* Allocate structure for additional auth information */
@@ -155,19 +172,16 @@ winGenerateAuthorization(void)
/* Add the authorization to the server's auth list */
if (!AddResource(g_authId, SecurityAuthorizationResType, pAuth)) {
ErrorF("winGenerateAuthorization - AddResource failed for auth.\n");
- fFreeAuth = TRUE;
goto auth_bailout;
}
/* Don't free the auth data, since it is still used internally */
- pAuth = NULL;
#endif
return TRUE;
auth_bailout:
- if (fFreeAuth)
- free(pAuth);
+ free(pAuth);
return FALSE;
}
@@ -176,6 +190,7 @@ winGenerateAuthorization(void)
void
winSetAuthorization(void)
{
+ if (g_pAuthData)
XSetAuthorization(AUTH_NAME,
strlen(AUTH_NAME), g_pAuthData, g_uiAuthDataLen);
}
diff --git a/xorg-server/hw/xwin/winclip.c b/xorg-server/hw/xwin/winclip.c
index 941e9483a..6862603ba 100644
--- a/xorg-server/hw/xwin/winclip.c
+++ b/xorg-server/hw/xwin/winclip.c
@@ -37,6 +37,6 @@
RegionPtr
winPixmapToRegionNativeGDI(PixmapPtr pPix)
{
- ErrorF("winPixmapToRegion()\n");
+ winDebug("winPixmapToRegion()\n");
return NULL;
}
diff --git a/xorg-server/hw/xwin/winclipboard.h b/xorg-server/hw/xwin/winclipboard.h
index cb7769510..d42497cc9 100644
--- a/xorg-server/hw/xwin/winclipboard.h
+++ b/xorg-server/hw/xwin/winclipboard.h
@@ -34,7 +34,9 @@
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
+#ifndef _MSC_VER
#include <unistd.h>
+#endif
#ifdef __CYGWIN__
#include <sys/select.h>
#else
@@ -42,6 +44,9 @@
#endif
#include <fcntl.h>
#include <setjmp.h>
+#ifdef _MSC_VER
+typedef int pid_t;
+#endif
#include <pthread.h>
/* X headers */
@@ -49,7 +54,6 @@
#include <X11/Xatom.h>
#include <X11/Xproto.h>
#include <X11/Xutil.h>
-#include <X11/Xlocale.h>
/* Windows headers */
#include <X11/Xwindows.h>
@@ -68,19 +72,14 @@
#define WIN_XEVENTS_SUCCESS 0
#define WIN_XEVENTS_CONVERT 2
#define WIN_XEVENTS_NOTIFY 3
-#define WIN_CLIPBOARD_RETRIES 40
-#define WIN_CLIPBOARD_DELAY 1
-#define WM_WM_REINIT (WM_USER + 1)
+#include "winmsg.h"
/*
* References to external symbols
*/
extern char *display;
-extern void winDebug(const char *format, ...);
-extern void winErrorFVerb(int verb, const char *format, ...);
-
/*
* winclipboardinit.c
*/
@@ -122,5 +121,5 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
int
winClipboardFlushXEvents(HWND hwnd,
- int iWindow, Display * pDisplay, Bool fUnicodeSupport);
+ int iWindow, Display * pDisplay, Bool fUnicodeSupport, Bool ClipboardOpened);
#endif
diff --git a/xorg-server/hw/xwin/winclipboardinit.c b/xorg-server/hw/xwin/winclipboardinit.c
index 157006dab..45cf5e048 100644
--- a/xorg-server/hw/xwin/winclipboardinit.c
+++ b/xorg-server/hw/xwin/winclipboardinit.c
@@ -33,6 +33,9 @@
#endif
#include "dixstruct.h"
#include "winclipboard.h"
+#include "objbase.h"
+#include "ddraw.h"
+#include "winwindow.h"
/*
* Local typedefs
@@ -126,9 +129,9 @@ winClipboardCreateMessagingWindow(void)
}
void
-winFixClipboardChain(void)
+winFixClipboardChain(int Removed)
{
if (g_fClipboard && g_hwndClipboard) {
- PostMessage(g_hwndClipboard, WM_WM_REINIT, 0, 0);
+ PostMessage (g_hwndClipboard, WM_WM_REINIT, Removed, 0);
}
}
diff --git a/xorg-server/hw/xwin/winclipboardthread.c b/xorg-server/hw/xwin/winclipboardthread.c
index 33595be7f..488a00fcc 100644
--- a/xorg-server/hw/xwin/winclipboardthread.c
+++ b/xorg-server/hw/xwin/winclipboardthread.c
@@ -42,7 +42,11 @@
#include <errno.h>
#endif
#include "misc.h"
+#include "winmsg.h"
+#ifdef _MSC_VER
+#define snprintf _snprintf
+#endif
/*
* References to external symbols
*/
@@ -50,17 +54,16 @@
extern Bool g_fUnicodeClipboard;
extern Bool g_fClipboardStarted;
extern Bool g_fClipboardLaunched;
-extern Bool g_fClipboard;
extern HWND g_hwndClipboard;
extern void *g_pClipboardDisplay;
extern Window g_iClipboardWindow;
+extern Bool g_fClipboardPrimary;
/*
* Global variables
*/
static jmp_buf g_jmpEntry;
-static int clipboardRestarts = 0;
static XIOErrorHandler g_winClipboardOldIOErrorHandler;
static pthread_t g_winClipboardProcThread;
@@ -76,6 +79,8 @@ static int
static int
winClipboardIOErrorHandler(Display * pDisplay);
+static void
+winClipboardThreadExit(void *arg);
/*
* Main thread function
*/
@@ -102,8 +107,9 @@ winClipboardProc(void *pvNotUsed)
char szDisplay[512];
int iSelectError;
- winDebug("winClipboardProc - Hello\n");
- ++clipboardRestarts;
+ pthread_cleanup_push(&winClipboardThreadExit, NULL);
+
+ winDebug ("winClipboardProc - Hello\n");
/* Do we use Unicode clipboard? */
fUseUnicode = g_fUnicodeClipboard;
@@ -111,16 +117,11 @@ winClipboardProc(void *pvNotUsed)
/* Save the Unicode support flag in a global */
g_fUseUnicode = fUseUnicode;
- /* Allow multiple threads to access Xlib */
- if (XInitThreads() == 0) {
- ErrorF("winClipboardProc - XInitThreads failed.\n");
- goto winClipboardProc_Exit;
- }
-
- /* See if X supports the current locale */
- if (XSupportsLocale() == False) {
- ErrorF("winClipboardProc - Warning: Locale not supported by X.\n");
- }
+ /* Create Windows messaging window */
+ hwnd = winClipboardCreateMessagingWindow ();
+
+ /* Save copy of HWND in screen privates */
+ g_hwndClipboard = hwnd;
/* Set error handler */
XSetErrorHandler(winClipboardErrorHandler);
@@ -135,12 +136,11 @@ winClipboardProc(void *pvNotUsed)
if (iReturn != WIN_JMP_ERROR_IO && iReturn != WIN_JMP_OKAY) {
/* setjmp returned an unknown value, exit */
ErrorF("winClipboardProc - setjmp returned: %d exiting\n", iReturn);
- goto winClipboardProc_Exit;
+ goto thread_errorexit;
}
else if (iReturn == WIN_JMP_ERROR_IO) {
/* TODO: Cleanup the Win32 window and free any allocated memory */
ErrorF("winClipboardProc - setjmp returned for IO Error Handler.\n");
- pthread_exit(NULL);
}
/* Use our generated cookie for authentication */
@@ -157,10 +157,10 @@ winClipboardProc(void *pvNotUsed)
* for all screens on the display. That is why there is only
* one clipboard client thread.
*/
- snprintf(szDisplay, 512, "127.0.0.1:%s.0", display);
+ winGetDisplayName(szDisplay,0);
/* Print the display connection string */
- ErrorF("winClipboardProc - DISPLAY=%s\n", szDisplay);
+ winDebug ("winClipboardProc - DISPLAY=%s\n", szDisplay);
/* Open the X display */
do {
@@ -180,24 +180,26 @@ winClipboardProc(void *pvNotUsed)
/* Make sure that the display opened */
if (pDisplay == NULL) {
ErrorF("winClipboardProc - Failed opening the display, giving up\n");
- goto winClipboardProc_Done;
+ goto thread_errorexit;
}
/* Save the display in the screen privates */
g_pClipboardDisplay = pDisplay;
- ErrorF("winClipboardProc - XOpenDisplay () returned and "
+ winDebug ("winClipboardProc - XOpenDisplay () returned and "
"successfully opened the display.\n");
/* Get our connection number */
iConnectionNumber = ConnectionNumber(pDisplay);
+ winDebug("Clipboard is using socket %d\n",iConnectionNumber);
+
#ifdef HAS_DEVWINDOWS
/* Open a file descriptor for the windows message queue */
- fdMessageQueue = open(WIN_MSG_QUEUE_FNAME, O_RDONLY);
+ fdMessageQueue = open (WIN_MSG_QUEUE_FNAME, _O_RDONLY);
if (fdMessageQueue == -1) {
ErrorF("winClipboardProc - Failed opening %s\n", WIN_MSG_QUEUE_FNAME);
- goto winClipboardProc_Done;
+ goto thread_errorexit;
}
/* Find max of our file descriptors */
@@ -208,6 +210,10 @@ winClipboardProc(void *pvNotUsed)
/* Create atom */
atomClipboard = XInternAtom(pDisplay, "CLIPBOARD", False);
+ XInternAtom (pDisplay, WIN_LOCAL_PROPERTY, False);
+ XInternAtom (pDisplay, "UTF8_STRING", False);
+ XInternAtom (pDisplay, "COMPOUND_TEXT", False);
+ XInternAtom (pDisplay, "TARGETS", False);
/* Create a messaging window */
iWindow = XCreateSimpleWindow(pDisplay,
@@ -219,7 +225,7 @@ winClipboardProc(void *pvNotUsed)
BlackPixel(pDisplay, 0));
if (iWindow == 0) {
ErrorF("winClipboardProc - Could not create an X window.\n");
- goto winClipboardProc_Done;
+ goto thread_errorexit;
}
XStoreName(pDisplay, iWindow, "xwinclip");
@@ -232,30 +238,30 @@ winClipboardProc(void *pvNotUsed)
/* Save the window in the screen privates */
g_iClipboardWindow = iWindow;
- /* Create Windows messaging window */
- hwnd = winClipboardCreateMessagingWindow();
-
- /* Save copy of HWND in screen privates */
- g_hwndClipboard = hwnd;
-
/* Assert ownership of selections if Win32 clipboard is owned */
if (NULL != GetClipboardOwner()) {
- /* PRIMARY */
- iReturn = XSetSelectionOwner(pDisplay, XA_PRIMARY,
- iWindow, CurrentTime);
- if (iReturn == BadAtom || iReturn == BadWindow ||
- XGetSelectionOwner(pDisplay, XA_PRIMARY) != iWindow) {
- ErrorF("winClipboardProc - Could not set PRIMARY owner\n");
- goto winClipboardProc_Done;
+ if (g_fClipboardPrimary)
+ {
+ /* PRIMARY */
+ winDebug("winClipboardProc - asserted ownership.\n");
+ iReturn = XSetSelectionOwner (pDisplay, XA_PRIMARY,
+ iWindow, CurrentTime);
+ if (iReturn == BadAtom || iReturn == BadWindow /*||
+ XGetSelectionOwner (pDisplay, XA_PRIMARY) != iWindow*/)
+ {
+ ErrorF ("winClipboardProc - Could not set PRIMARY owner\n");
+ goto thread_errorexit;
+ }
}
/* CLIPBOARD */
iReturn = XSetSelectionOwner(pDisplay, atomClipboard,
iWindow, CurrentTime);
- if (iReturn == BadAtom || iReturn == BadWindow ||
- XGetSelectionOwner(pDisplay, atomClipboard) != iWindow) {
- ErrorF("winClipboardProc - Could not set CLIPBOARD owner\n");
- goto winClipboardProc_Done;
+ if (iReturn == BadAtom || iReturn == BadWindow /*||
+ XGetSelectionOwner (pDisplay, atomClipboard) != iWindow*/)
+ {
+ ErrorF ("winClipboardProc - Could not set CLIPBOARD owner\n");
+ goto thread_errorexit;
}
}
@@ -265,12 +271,17 @@ winClipboardProc(void *pvNotUsed)
* because there may be events in local data structures
* already.
*/
- winClipboardFlushXEvents(hwnd, iWindow, pDisplay, fUseUnicode);
+ //winClipboardFlushXEvents(hwnd, iWindow, pDisplay, fUseUnicode);
/* Pre-flush Windows messages */
+ winDebug ("Start flushing \n");
if (!winClipboardFlushWindowsMessageQueue(hwnd))
- return 0;
+ {
+ ErrorF ("winClipboardFlushWindowsMessageQueue - returned 0\n");
+ goto thread_errorexit;
+ }
+ winDebug ("winClipboardProc - Started\n");
/* Signal that the clipboard client has started */
g_fClipboardStarted = TRUE;
@@ -323,10 +334,12 @@ winClipboardProc(void *pvNotUsed)
}
/* Branch on which descriptor became active */
- if (FD_ISSET(iConnectionNumber, &fdsRead)) {
+// if (FD_ISSET (iConnectionNumber, &fdsRead)) {
+// Also do it when no read since winClipboardFlushXEvents
+// is sending the output.
/* Process X events */
- winClipboardFlushXEvents(hwnd, iWindow, pDisplay, fUseUnicode);
- }
+ winClipboardFlushXEvents(hwnd, iWindow, pDisplay, fUseUnicode, FALSE);
+// }
#ifdef HAS_DEVWINDOWS
/* Check for Windows event ready */
@@ -345,26 +358,15 @@ winClipboardProc(void *pvNotUsed)
}
}
- winClipboardProc_Exit:
- /* disable the clipboard, which means the thread will die */
- g_fClipboard = FALSE;
-
- winClipboardProc_Done:
- /* Close our Windows window */
- if (g_hwndClipboard) {
- /* Destroy the Window window (hwnd) */
- winDebug("winClipboardProc - Destroy Windows window\n");
- PostMessage(g_hwndClipboard, WM_DESTROY, 0, 0);
- winClipboardFlushWindowsMessageQueue(g_hwndClipboard);
- }
-
/* Close our X window */
if (pDisplay && iWindow) {
iReturn = XDestroyWindow(pDisplay, iWindow);
if (iReturn == BadWindow)
ErrorF("winClipboardProc - XDestroyWindow returned BadWindow.\n");
+#ifdef WINDBG
else
- ErrorF("winClipboardProc - XDestroyWindow succeeded.\n");
+ winDebug("winClipboardProc - XDestroyWindow succeeded.\n");
+#endif
}
#ifdef HAS_DEVWINDOWS
@@ -391,41 +393,28 @@ winClipboardProc(void *pvNotUsed)
}
#endif
- /* global clipboard variable reset */
- g_fClipboardLaunched = FALSE;
- g_fClipboardStarted = FALSE;
- g_iClipboardWindow = None;
- g_pClipboardDisplay = NULL;
- g_hwndClipboard = NULL;
-
- /* checking if we need to restart */
- if (clipboardRestarts >= WIN_CLIPBOARD_RETRIES) {
- /* terminates clipboard thread but the main server still lives */
- ErrorF
- ("winClipboardProc - the clipboard thread has restarted %d times and seems to be unstable, disabling clipboard integration\n",
- clipboardRestarts);
- g_fClipboard = FALSE;
- return NULL;
+ goto commonexit;
+
+thread_errorexit:
+ if (g_pClipboardDisplay && g_iClipboardWindow)
+ {
+ iReturn = XDestroyWindow (g_pClipboardDisplay, g_iClipboardWindow);
+ if (iReturn == BadWindow)
+ ErrorF ("winClipboardProc - XDestroyWindow returned BadWindow.\n");
+#ifdef WINDBG
+ else
+ winDebug ("winClipboardProc - XDestroyWindow succeeded.\n");
+#endif
}
+ winDebug ("Clipboard thread died.\n");
- if (g_fClipboard) {
- sleep(WIN_CLIPBOARD_DELAY);
- ErrorF("winClipboardProc - trying to restart clipboard thread \n");
- /* Create the clipboard client thread */
- if (!winInitClipboard()) {
- ErrorF("winClipboardProc - winClipboardInit failed.\n");
- return NULL;
- }
+commonexit:
+ g_iClipboardWindow = None;
+ g_pClipboardDisplay = NULL;
+ g_fClipboardLaunched = FALSE;
+ g_fClipboardStarted = FALSE;
- winDebug("winClipboardProc - winInitClipboard returned.\n");
- /* Flag that clipboard client has been launched */
- g_fClipboardLaunched = TRUE;
- }
- else {
- ErrorF("winClipboardProc - Clipboard disabled - Exit from server \n");
- /* clipboard thread has exited, stop server as well */
- raise(SIGTERM);
- }
+ pthread_cleanup_pop(0);
return NULL;
}
@@ -441,8 +430,17 @@ winClipboardErrorHandler(Display * pDisplay, XErrorEvent * pErr)
XGetErrorText(pDisplay, pErr->error_code, pszErrorMsg, sizeof(pszErrorMsg));
ErrorF("winClipboardErrorHandler - ERROR: \n\t%s\n"
- "\tSerial: %lu, Request Code: %d, Minor Code: %d\n",
- pszErrorMsg, pErr->serial, pErr->request_code, pErr->minor_code);
+ " errorCode %d\n"
+ " serial %lu\n"
+ " resourceID 0x%x\n"
+ " majorCode %d\n"
+ " minorCode %d\n"
+ , pszErrorMsg
+ , pErr->error_code
+ , pErr->serial
+ , pErr->resourceid
+ , pErr->request_code
+ , pErr->minor_code);
return 0;
}
@@ -465,3 +463,15 @@ winClipboardIOErrorHandler(Display * pDisplay)
return 0;
}
+
+/*
+ * winClipboardThreadExit - Thread exit handler
+ */
+
+static void
+winClipboardThreadExit(void *arg)
+{
+ /* clipboard thread has exited, stop server as well */
+ AbortDDX(EXIT_ERR_ABORT);
+ TerminateProcess(GetCurrentProcess(),1);
+}
diff --git a/xorg-server/hw/xwin/winclipboardwndproc.c b/xorg-server/hw/xwin/winclipboardwndproc.c
index 90dc9e0bb..7447183ac 100644
--- a/xorg-server/hw/xwin/winclipboardwndproc.c
+++ b/xorg-server/hw/xwin/winclipboardwndproc.c
@@ -26,7 +26,7 @@
*the sale, use or other dealings in this Software without prior written
*authorization from the copyright holder(s) and author(s).
*
- * Authors: Harold L Hunt II
+ * Authors: Harold L Hunt II
* Colin Harrison
*/
@@ -37,12 +37,16 @@
#include <sys/time.h>
#include "winclipboard.h"
#include "misc.h"
+#include "winmsg.h"
+#include "objbase.h"
+#include "ddraw.h"
+#include "winwindow.h"
/*
* Constants
*/
-#define WIN_POLL_TIMEOUT 1
+#define WIN_POLL_TIMEOUT 1
/*
* References to external symbols
@@ -51,6 +55,9 @@
extern void *g_pClipboardDisplay;
extern Window g_iClipboardWindow;
extern Atom g_atomLastOwnedSelection;
+extern Bool g_fClipboardStarted;
+extern HWND g_hwndClipboard;
+extern Bool g_fClipboardPrimary;
/*
* Process X events up to specified timeout
@@ -65,8 +72,17 @@ winProcessXEventsTimeout(HWND hwnd, int iWindow, Display * pDisplay,
int iReturn;
DWORD dwStopTime = GetTickCount() + iTimeoutSec * 1000;
- winDebug("winProcessXEventsTimeout () - pumping X events for %d seconds\n",
- iTimeoutSec);
+ /* Make sure the output messages are sent before waiting on a response. */
+ iReturn = winClipboardFlushXEvents (hwnd,
+ iWindow,
+ pDisplay,
+ fUseUnicode,
+ TRUE);
+ if (WIN_XEVENTS_NOTIFY == iReturn)
+ {
+ /* Bail out if notify processed */
+ return iReturn;
+ }
/* Get our connection number */
iConnNumber = ConnectionNumber(pDisplay);
@@ -76,9 +92,6 @@ winProcessXEventsTimeout(HWND hwnd, int iWindow, Display * pDisplay,
fd_set fdsRead;
long remainingTime;
- /* We need to ensure that all pending events are processed */
- XSync(pDisplay, FALSE);
-
/* Setup the file descriptor set */
FD_ZERO(&fdsRead);
FD_SET(iConnNumber, &fdsRead);
@@ -101,8 +114,8 @@ winProcessXEventsTimeout(HWND hwnd, int iWindow, Display * pDisplay,
NULL, /* No exception mask */
&tv); /* Timeout */
if (iReturn < 0) {
- ErrorF("winProcessXEventsTimeout - Call to select () failed: %d. "
- "Bailing.\n", iReturn);
+ ErrorF("winProcessXEventsTimeout - Call to select () failed: %d (%x). "
+ "Bailing.\n", iReturn, WSAGetLastError());
break;
}
@@ -111,7 +124,7 @@ winProcessXEventsTimeout(HWND hwnd, int iWindow, Display * pDisplay,
/* Process X events */
/* Exit when we see that server is shutting down */
iReturn = winClipboardFlushXEvents(hwnd,
- iWindow, pDisplay, fUseUnicode);
+ iWindow, pDisplay, fUseUnicode, TRUE);
winDebug
("winProcessXEventsTimeout () - winClipboardFlushXEvents returned %d\n",
@@ -138,7 +151,6 @@ LRESULT CALLBACK
winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND s_hwndNextViewer;
- static Bool s_fCBCInitialized;
/* Branch on message type */
switch (message) {
@@ -150,7 +162,7 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
ChangeClipboardChain(hwnd, s_hwndNextViewer);
s_hwndNextViewer = NULL;
-
+ g_hwndClipboard = NULL;
PostQuitMessage(0);
}
return 0;
@@ -162,16 +174,16 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
winDebug("winClipboardWindowProc - WM_CREATE\n");
- first = GetClipboardViewer(); /* Get handle to first viewer in chain. */
- if (first == hwnd)
- return 0; /* Make sure it's not us! */
/* Add ourselves to the clipboard viewer chain */
- next = SetClipboardViewer(hwnd);
- error_code = GetLastError();
- if (SUCCEEDED(error_code) && (next == first)) /* SetClipboardViewer must have succeeded, and the handle */
- s_hwndNextViewer = next; /* it returned must have been the first window in the chain */
- else
- s_fCBCInitialized = FALSE;
+ s_hwndNextViewer = SetClipboardViewer (hwnd);
+ #ifdef _DEBUG
+ if (s_hwndNextViewer== hwnd)
+ {
+ ErrorF("WM_CREATE: SetClipboardViewer returned own window. This causes an endless loop, so reset s_hwndNextViewer. ");
+ s_hwndNextViewer=NULL;
+ }
+ #endif
+
}
return 0;
@@ -184,9 +196,8 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if ((HWND) wParam == s_hwndNextViewer) {
s_hwndNextViewer = (HWND) lParam;
if (s_hwndNextViewer == hwnd) {
- s_hwndNextViewer = NULL;
- winErrorFVerb(1, "winClipboardWindowProc - WM_CHANGECBCHAIN: "
- "attempted to set next window to ourselves.");
+ winDebug("WM_CHANGECBCHAIN: trying to set s_hwndNextViewer to own window. Resetting it back to NULL. ");
+ s_hwndNextViewer=NULL; /* This would cause an endless loop, so break it by ending the loop here. I have seen this happening, why??? */
}
}
else if (s_hwndNextViewer)
@@ -213,30 +224,28 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
HWND first, next;
DWORD error_code = 0;
-
+ if (!g_hwndClipboard)
+ return 0;
winDebug("winClipboardWindowProc - WM_WM_REINIT: Enter\n");
first = GetClipboardViewer(); /* Get handle to first viewer in chain. */
- if (first == hwnd)
- return 0; /* Make sure it's not us! */
- winDebug(" WM_WM_REINIT: Replacing us(%x) with %x at head "
- "of chain\n", hwnd, s_hwndNextViewer);
- s_fCBCInitialized = FALSE;
- ChangeClipboardChain(hwnd, s_hwndNextViewer);
- s_hwndNextViewer = NULL;
- s_fCBCInitialized = FALSE;
- winDebug(" WM_WM_REINIT: Putting us back at head of chain.\n");
- first = GetClipboardViewer(); /* Get handle to first viewer in chain. */
- if (first == hwnd)
- return 0; /* Make sure it's not us! */
- next = SetClipboardViewer(hwnd);
- error_code = GetLastError();
- if (SUCCEEDED(error_code) && (next == first)) /* SetClipboardViewer must have succeeded, and the handle */
- s_hwndNextViewer = next; /* it returned must have been the first window in the chain */
- else
- s_fCBCInitialized = FALSE;
+ if (first != hwnd)
+ {
+ winDebug (" WM_WM_REINIT: Replacing us(%x) with %x at head "
+ "of chain\n", hwnd, s_hwndNextViewer);
+ if (!wParam) ChangeClipboardChain (hwnd, s_hwndNextViewer); /* When wParam is set, the window was already removed from the chain */
+ winDebug (" WM_WM_REINIT: Putting us back at head of chain.\n");
+ s_hwndNextViewer = SetClipboardViewer (hwnd);
+ #ifdef _DEBUG
+ if (s_hwndNextViewer== hwnd)
+ {
+ ErrorF("WM_WM_REINIT: SetClipboardViewer returned own window. This causes an endless loop, so reset s_hwndNextViewer. ");
+ s_hwndNextViewer=NULL;
+ }
+ #endif
+ }
+ winDebug ("winClipboardWindowProc - WM_WM_REINIT: Exit\n");
}
- winDebug("winClipboardWindowProc - WM_WM_REINIT: Exit\n");
return 0;
case WM_DRAWCLIPBOARD:
@@ -248,7 +257,14 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
Window iWindow = g_iClipboardWindow;
int iReturn;
- winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD: Enter\n");
+ winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD 0x%x 0x%x 0x%x: Enter\n",hwnd,wParam,lParam);
+
+ if (!g_fClipboardStarted) {
+ winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit with no processing\n");
+ if (s_hwndNextViewer)
+ SendMessage (s_hwndNextViewer, message, wParam, lParam);
+ return 0;
+ }
if (generation != serverGeneration) {
generation = serverGeneration;
@@ -264,44 +280,15 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
}
else {
/* Attempt to break the nesting by getting out of the chain, twice?, and then fix and bail */
- s_fCBCInitialized = FALSE;
ChangeClipboardChain(hwnd, s_hwndNextViewer);
- winFixClipboardChain();
- winErrorFVerb(1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ winFixClipboardChain(1);
+ ErrorF ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
"Nested calls detected. Re-initing.\n");
winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n");
s_fProcessingDrawClipboard = FALSE;
return 0;
}
- /* Bail on first message */
- if (!s_fCBCInitialized) {
- s_fCBCInitialized = TRUE;
- s_fProcessingDrawClipboard = FALSE;
- winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n");
- return 0;
- }
-
- /*
- * NOTE: We cannot bail out when NULL == GetClipboardOwner ()
- * because some applications deal with the clipboard in a manner
- * that causes the clipboard owner to be NULL when they are in
- * fact taking ownership. One example of this is the Win32
- * native compile of emacs.
- */
-
- /* Bail when we still own the clipboard */
- if (hwnd == GetClipboardOwner()) {
-
- winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
- "We own the clipboard, returning.\n");
- winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n");
- s_fProcessingDrawClipboard = FALSE;
- if (s_hwndNextViewer)
- SendMessage(s_hwndNextViewer, message, wParam, lParam);
- return 0;
- }
-
/*
* Do not take ownership of the X11 selections when something
* other than CF_TEXT or CF_UNICODETEXT has been copied
@@ -320,20 +307,20 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
*/
XSync(pDisplay, FALSE);
- winDebug("winClipboardWindowProc - XSync done.\n");
-
- /* Release PRIMARY selection if owned */
- iReturn = XGetSelectionOwner(pDisplay, XA_PRIMARY);
- if (iReturn == g_iClipboardWindow) {
- winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
- "PRIMARY selection is owned by us.\n");
- XSetSelectionOwner(pDisplay, XA_PRIMARY, None, CurrentTime);
+ if (g_fClipboardPrimary)
+ {
+ /* Release PRIMARY selection if owned */
+ iReturn = XGetSelectionOwner (pDisplay, XA_PRIMARY);
+ if (iReturn == g_iClipboardWindow) {
+ winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ "PRIMARY selection is owned by us.\n");
+ XSetSelectionOwner (pDisplay, XA_PRIMARY, None, CurrentTime);
+ }
+ else if (BadWindow == iReturn || BadAtom == iReturn)
+ ErrorF ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ "XGetSelection failed for PRIMARY: %d\n",
+ iReturn);
}
- else if (BadWindow == iReturn || BadAtom == iReturn)
- winErrorFVerb(1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - "
- "XGetSelection failed for PRIMARY: %d\n",
- iReturn);
-
/* Release CLIPBOARD selection if owned */
iReturn = XGetSelectionOwner(pDisplay, atomClipboard);
if (iReturn == g_iClipboardWindow) {
@@ -342,7 +329,7 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
XSetSelectionOwner(pDisplay, atomClipboard, None, CurrentTime);
}
else if (BadWindow == iReturn || BadAtom == iReturn)
- winErrorFVerb(1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ ErrorF ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
"XGetSelection failed for CLIPBOARD: %d\n",
iReturn);
@@ -352,45 +339,48 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
SendMessage(s_hwndNextViewer, message, wParam, lParam);
return 0;
}
-
- /* Reassert ownership of PRIMARY */
- iReturn = XSetSelectionOwner(pDisplay,
- XA_PRIMARY, iWindow, CurrentTime);
- if (iReturn == BadAtom || iReturn == BadWindow ||
- XGetSelectionOwner(pDisplay, XA_PRIMARY) != iWindow) {
- winErrorFVerb(1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - "
- "Could not reassert ownership of PRIMARY\n");
- }
- else {
- winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
- "Reasserted ownership of PRIMARY\n");
- }
-
- /* Reassert ownership of the CLIPBOARD */
- iReturn = XSetSelectionOwner(pDisplay,
- atomClipboard, iWindow, CurrentTime);
-
- if (iReturn == BadAtom || iReturn == BadWindow ||
- XGetSelectionOwner(pDisplay, atomClipboard) != iWindow) {
- winErrorFVerb(1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - "
- "Could not reassert ownership of CLIPBOARD\n");
- }
- else {
- winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
- "Reasserted ownership of CLIPBOARD\n");
+ /* Only reassert ownership when we did not change the clipboard ourselves */
+ if (hwnd!=(HWND)wParam) {
+ if (g_fClipboardPrimary) {
+ /* Reassert ownership of PRIMARY */
+ iReturn = XSetSelectionOwner (pDisplay,
+ XA_PRIMARY, iWindow, CurrentTime);
+ if (iReturn == BadAtom || iReturn == BadWindow ||
+ XGetSelectionOwner (pDisplay, XA_PRIMARY) != iWindow) {
+ ErrorF ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ "Could not reassert ownership of PRIMARY\n");
+ }
+ else {
+ winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ "Reasserted ownership of PRIMARY\n");
+ }
+ }
+ /* Reassert ownership of the CLIPBOARD */
+ iReturn = XSetSelectionOwner (pDisplay,
+ atomClipboard, iWindow, CurrentTime);
+
+ if (iReturn == BadAtom || iReturn == BadWindow ||
+ XGetSelectionOwner (pDisplay, atomClipboard) != iWindow) {
+ ErrorF ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ "Could not reassert ownership of CLIPBOARD\n");
+ }
+ else {
+ winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD - "
+ "Reasserted ownership of CLIPBOARD\n");
+ }
+
+ /* Flush the pending SetSelectionOwner event now */
+ XFlush (pDisplay);
}
- /* Flush the pending SetSelectionOwner event now */
- XFlush(pDisplay);
-
s_fProcessingDrawClipboard = FALSE;
- }
winDebug("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n");
/* Pass the message on the next window in the clipboard viewer chain */
if (s_hwndNextViewer)
SendMessage(s_hwndNextViewer, message, wParam, lParam);
return 0;
+ }
case WM_DESTROYCLIPBOARD:
/*
* NOTE: Intentionally do nothing.
@@ -427,10 +417,10 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
XInternAtom(pDisplay,
"COMPOUND_TEXT", False),
XInternAtom(pDisplay,
- "CYGX_CUT_BUFFER", False),
+ WIN_LOCAL_PROPERTY, False),
iWindow, CurrentTime);
if (iReturn == BadAtom || iReturn == BadWindow) {
- winErrorFVerb(1, "winClipboardWindowProc - WM_RENDER*FORMAT - "
+ ErrorF ("winClipboardWindowProc - WM_RENDER*FORMAT - "
"XConvertSelection () failed\n");
break;
}
@@ -438,23 +428,18 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* Special handling for WM_RENDERALLFORMATS */
if (message == WM_RENDERALLFORMATS) {
/* We must open and empty the clipboard */
-
- /* Close clipboard if we have it open already */
- if (GetOpenClipboardWindow() == hwnd) {
- CloseClipboard();
- }
-
if (!OpenClipboard(hwnd)) {
- winErrorFVerb(1, "winClipboardWindowProc - WM_RENDER*FORMATS - "
+ ErrorF ("winClipboardWindowProc - WM_RENDER*FORMATS - "
"OpenClipboard () failed: %08x\n",
GetLastError());
break;
}
if (!EmptyClipboard()) {
- winErrorFVerb(1, "winClipboardWindowProc - WM_RENDER*FORMATS - "
+ ErrorF ("winClipboardWindowProc - WM_RENDER*FORMATS - "
"EmptyClipboard () failed: %08x\n",
GetLastError());
+ CloseClipboard ();
break;
}
}
@@ -473,6 +458,7 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
* satisfy the requirement that we write something to it.
*/
if (WIN_XEVENTS_NOTIFY != iReturn) {
+ ErrorF("winClipboardWindowProc - winProcessXEventsTimeout should have returned WIN_XEVENTS_NOTIFY was %d\n",iReturn);
/* Paste no data, to satisfy required call to SetClipboardData */
SetClipboardData(CF_UNICODETEXT, NULL);
SetClipboardData(CF_TEXT, NULL);
@@ -486,7 +472,7 @@ winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* We must close the clipboard */
if (!CloseClipboard()) {
- winErrorFVerb(1,
+ ErrorF (
"winClipboardWindowProc - WM_RENDERALLFORMATS - "
"CloseClipboard () failed: %08x\n",
GetLastError());
diff --git a/xorg-server/hw/xwin/winclipboardwrappers.c b/xorg-server/hw/xwin/winclipboardwrappers.c
index bfd6bff8b..2671fc000 100644
--- a/xorg-server/hw/xwin/winclipboardwrappers.c
+++ b/xorg-server/hw/xwin/winclipboardwrappers.c
@@ -62,6 +62,7 @@ extern Bool g_fClipboard;
extern Window g_iClipboardWindow;
extern Atom g_atomLastOwnedSelection;
extern HWND g_hwndClipboard;
+extern Bool g_fClipboardPrimary;
/*
@@ -77,12 +78,14 @@ winProcEstablishConnection(ClientPtr client)
static int s_iCallCount = 0;
static unsigned long s_ulServerGeneration = 0;
+ #ifdef WINDBG
if (s_iCallCount == 0)
winDebug("winProcEstablishConnection - Hello\n");
+ #endif
/* Do nothing if clipboard is not enabled */
if (!g_fClipboard) {
- ErrorF("winProcEstablishConnection - Clipboard is not enabled, "
+ winDebug ("winProcEstablishConnection - Clipboard is not enabled, "
"returning.\n");
/* Unwrap the original function, call it, and return */
@@ -129,7 +132,7 @@ winProcEstablishConnection(ClientPtr client)
/* If the clipboard client has already been started, abort */
if (g_fClipboardLaunched) {
- ErrorF("winProcEstablishConnection - Clipboard client already "
+ winDebug ("winProcEstablishConnection - Clipboard client already "
"launched, returning.\n");
return iReturn;
}
@@ -160,7 +163,7 @@ winProcEstablishConnection(ClientPtr client)
return iReturn;
}
- ErrorF("winProcEstablishConnection - winInitClipboard returned.\n");
+ winDebug ("winProcEstablishConnection - winInitClipboard returned.\n");
}
/* Flag that clipboard client has been launched */
@@ -173,14 +176,12 @@ winProcEstablishConnection(ClientPtr client)
* Wrapper for internal SetSelectionOwner function.
* Grabs ownership of Windows clipboard when X11 clipboard owner changes.
*/
-
int
winProcSetSelectionOwner(ClientPtr client)
{
int i;
DrawablePtr pDrawable;
WindowPtr pWindow = None;
- Bool fOwnedToNotOwned = FALSE;
static Window s_iOwners[CLIP_NUM_SELECTIONS] = { None };
static unsigned long s_ulServerGeneration = 0;
@@ -194,7 +195,7 @@ winProcSetSelectionOwner(ClientPtr client)
if (s_ulServerGeneration != serverGeneration) {
/* Save new generation number */
s_ulServerGeneration = serverGeneration;
-
+
/* Initialize static variables */
for (i = 0; i < CLIP_NUM_SELECTIONS; ++i)
s_iOwners[i] = None;
@@ -202,8 +203,8 @@ winProcSetSelectionOwner(ClientPtr client)
/* Abort if clipboard not completely initialized yet */
if (!g_fClipboardStarted) {
- /* ErrorF ("winProcSetSelectionOwner - Clipboard not yet started, "
- "aborting.\n"); */
+ winDebug ("winProcSetSelectionOwner - Clipboard not yet started, "
+ "aborting.\n");
goto winProcSetSelectionOwner_Done;
}
@@ -221,11 +222,9 @@ winProcSetSelectionOwner(ClientPtr client)
/* Now we either have a valid window or None */
/* Save selection owners for monitored selections, ignore other selections */
- if (XA_PRIMARY == stuff->selection) {
+ if (XA_PRIMARY == stuff->selection && g_fClipboardPrimary) {
/* Look for owned -> not owned transition */
if (None == stuff->window && None != s_iOwners[CLIP_OWN_PRIMARY]) {
- fOwnedToNotOwned = TRUE;
-
winDebug("winProcSetSelectionOwner - PRIMARY - Going from "
"owned to not owned.\n");
@@ -239,19 +238,17 @@ winProcSetSelectionOwner(ClientPtr client)
/* Save new selection owner or None */
s_iOwners[CLIP_OWN_PRIMARY] = stuff->window;
- winDebug("winProcSetSelectionOwner - PRIMARY - Now owned by: %d\n",
- stuff->window);
+ winDebug ("winProcSetSelectionOwner - PRIMARY - Now owned by: 0x%x (clipboard is 0x%x)\n",
+ stuff->window,g_iClipboardWindow);
}
else if (MakeAtom("CLIPBOARD", 9, TRUE) == stuff->selection) {
/* Look for owned -> not owned transition */
if (None == stuff->window && None != s_iOwners[CLIP_OWN_CLIPBOARD]) {
- fOwnedToNotOwned = TRUE;
-
winDebug("winProcSetSelectionOwner - CLIPBOARD - Going from "
"owned to not owned.\n");
/* Adjust last owned selection */
- if (None != s_iOwners[CLIP_OWN_PRIMARY])
+ if ((None != s_iOwners[CLIP_OWN_PRIMARY]) && g_fClipboardPrimary)
g_atomLastOwnedSelection = XA_PRIMARY;
else
g_atomLastOwnedSelection = None;
@@ -260,9 +257,8 @@ winProcSetSelectionOwner(ClientPtr client)
/* Save new selection owner or None */
s_iOwners[CLIP_OWN_CLIPBOARD] = stuff->window;
- winDebug("winProcSetSelectionOwner - CLIPBOARD - Now owned by: %d\n",
- stuff->window);
-
+ winDebug ("winProcSetSelectionOwner - CLIPBOARD - Now owned by: 0x%x, clipboard is 0x%x\n",
+ stuff->window,g_iClipboardWindow);
}
else
goto winProcSetSelectionOwner_Done;
@@ -277,40 +273,15 @@ winProcSetSelectionOwner(ClientPtr client)
if (g_iClipboardWindow == s_iOwners[CLIP_OWN_CLIPBOARD])
s_iOwners[CLIP_OWN_CLIPBOARD] = None;
- /*
- * Handle case when selection is being disowned,
- * WM_DRAWCLIPBOARD did not do the disowning,
- * both monitored selections are no longer owned,
- * an owned to not owned transition was detected,
- * and we currently own the Win32 clipboard.
- */
- if (stuff->window == None
- && s_iOwners[CLIP_OWN_PRIMARY] == None
- && s_iOwners[CLIP_OWN_CLIPBOARD] == None
- && fOwnedToNotOwned
- && g_hwndClipboard != NULL && g_hwndClipboard == GetClipboardOwner()) {
- winDebug("winProcSetSelectionOwner - We currently own the "
- "clipboard and neither the PRIMARY nor the CLIPBOARD "
- "selections are owned, releasing ownership of Win32 "
- "clipboard.\n");
-
- /* Release ownership of the Windows clipboard */
- OpenClipboard(NULL);
- EmptyClipboard();
- CloseClipboard();
-
- goto winProcSetSelectionOwner_Done;
- }
-
/* Abort if no window at this point */
if (None == stuff->window) {
- winDebug("winProcSetSelectionOwner - No window, returning.\n");
+ winDebug ("winProcSetSelectionOwner - No window, returning.\n");
goto winProcSetSelectionOwner_Done;
}
/* Abort if invalid selection */
if (!ValidAtom(stuff->selection)) {
- ErrorF("winProcSetSelectionOwner - Found BadAtom, aborting.\n");
+ winDebug ("winProcSetSelectionOwner - Found BadAtom, aborting.\n");
goto winProcSetSelectionOwner_Done;
}
@@ -319,27 +290,22 @@ winProcSetSelectionOwner(ClientPtr client)
/* Abort if clipboard manager is owning the selection */
if (pDrawable->id == g_iClipboardWindow) {
- winDebug("winProcSetSelectionOwner - We changed ownership, "
+ winDebug ("winProcSetSelectionOwner - We changed ownership, "
"aborting.\n");
goto winProcSetSelectionOwner_Done;
}
/* Abort if root window is taking ownership */
if (pDrawable->id == 0) {
- ErrorF("winProcSetSelectionOwner - Root window taking ownership, "
+ winDebug ("winProcSetSelectionOwner - Root window taking ownership, "
"aborting\n");
goto winProcSetSelectionOwner_Done;
}
- /* Close clipboard if we have it open already */
- if (GetOpenClipboardWindow() == g_hwndClipboard) {
- CloseClipboard();
- }
-
/* Access the Windows clipboard */
if (!OpenClipboard(g_hwndClipboard)) {
- ErrorF("winProcSetSelectionOwner - OpenClipboard () failed: %08x\n",
- (int) GetLastError());
+ ErrorF ("winProcSetSelectionOwner - OpenClipboard () failed: %08x, hwnd: %08x\n",
+ (int) GetLastError (),g_hwndClipboard);
goto winProcSetSelectionOwner_Done;
}
@@ -347,9 +313,11 @@ winProcSetSelectionOwner(ClientPtr client)
if (!EmptyClipboard()) {
ErrorF("winProcSetSelectionOwner - EmptyClipboard () failed: %08x\n",
(int) GetLastError());
+ CloseClipboard ();
goto winProcSetSelectionOwner_Done;
}
+ winDebug("winProcSetSelectionOwner - SetClipboardData NULL\n");
/* Advertise regular text and unicode */
SetClipboardData(CF_UNICODETEXT, NULL);
SetClipboardData(CF_TEXT, NULL);
@@ -364,6 +332,6 @@ winProcSetSelectionOwner(ClientPtr client)
goto winProcSetSelectionOwner_Done;
}
- winProcSetSelectionOwner_Done:
+winProcSetSelectionOwner_Done:
return (*winProcSetSelectionOwnerOrig) (client);
}
diff --git a/xorg-server/hw/xwin/winclipboardxevents.c b/xorg-server/hw/xwin/winclipboardxevents.c
index 7d3c30e85..15ee0ab18 100644
--- a/xorg-server/hw/xwin/winclipboardxevents.c
+++ b/xorg-server/hw/xwin/winclipboardxevents.c
@@ -35,6 +35,10 @@
#endif
#include "winclipboard.h"
#include "misc.h"
+#include "winmsg.h"
+#include <unistd.h>
+
+extern Bool g_fClipboardPrimary;
/*
* Process any pending X events
@@ -42,7 +46,7 @@
int
winClipboardFlushXEvents(HWND hwnd,
- int iWindow, Display * pDisplay, Bool fUseUnicode)
+ int iWindow, Display * pDisplay, Bool fUseUnicode, Bool ClipboardOpened)
{
static Atom atomLocalProperty;
static Atom atomCompoundText;
@@ -85,6 +89,8 @@ winClipboardFlushXEvents(HWND hwnd,
/* Get the next event - will not block because one is ready */
XNextEvent(pDisplay, &event);
+ winDebug ("Received event type %d\n",event.type);
+
/* Branch on the event type */
switch (event.type) {
/*
@@ -92,6 +98,7 @@ winClipboardFlushXEvents(HWND hwnd,
*/
case SelectionRequest:
+#ifdef _DEBUG
{
char *pszAtomName = NULL;
@@ -103,7 +110,10 @@ winClipboardFlushXEvents(HWND hwnd,
winDebug("SelectionRequest - Target atom name %s\n", pszAtomName);
XFree(pszAtomName);
pszAtomName = NULL;
+ winDebug ("SelectionRequest - owner %d\n", event.xselectionrequest.owner);
+ winDebug ("SelectionRequest - requestor %d\n", event.xselectionrequest.requestor);
}
+#endif
/* Abort if invalid target type */
if (event.xselectionrequest.target != XA_STRING
@@ -165,24 +175,24 @@ winClipboardFlushXEvents(HWND hwnd,
break;
}
- /* Close clipboard if we have it open already */
- if (GetOpenClipboardWindow() == hwnd) {
- CloseClipboard();
- }
-
- /* Access the clipboard */
- if (!OpenClipboard(hwnd)) {
- ErrorF("winClipboardFlushXEvents - SelectionRequest - "
- "OpenClipboard () failed: %08lx\n", GetLastError());
+ /* Access the clipboard */
+ if (!ClipboardOpened)
+ {
+ if (!OpenClipboard (hwnd))
+ {
+ ErrorF ("winClipboardFlushXEvents - SelectionRequest - "
+ "OpenClipboard () failed: %08lx\n",
+ GetLastError ());
/* Abort */
fAbort = TRUE;
goto winClipboardFlushXEvents_SelectionRequest_Done;
+ }
+
+ /* Indicate that clipboard was opened */
+ fCloseClipboard = TRUE;
}
- /* Indicate that clipboard was opened */
- fCloseClipboard = TRUE;
-
/* Check that clipboard format is available */
if (fUseUnicode && !IsClipboardFormatAvailable(CF_UNICODETEXT)) {
static int count; /* Hack to stop acroread spamming the log */
@@ -232,7 +242,16 @@ winClipboardFlushXEvents(HWND hwnd,
hGlobal = GetClipboardData(CF_TEXT);
}
if (!hGlobal) {
- ErrorF("winClipboardFlushXEvents - SelectionRequest - "
+ if (GetLastError()==ERROR_CLIPBOARD_NOT_OPEN && ClipboardOpened)
+ {
+ ErrorF("We should not have received a SelectionRequest????\n"
+ "The owner is the clipboard, but in reality it was"
+ "an X window\n");
+ /* Set the owner to None */
+ if (g_fClipboardPrimary) XSetSelectionOwner (pDisplay, XA_PRIMARY, None, CurrentTime);
+ XSetSelectionOwner (pDisplay, XInternAtom (pDisplay, "CLIPBOARD", False), None, CurrentTime);
+ }
+ ErrorF ("winClipboardFlushXEvents - SelectionRequest - "
"GetClipboardData () failed: %08lx\n", GetLastError());
/* Abort */
@@ -320,9 +339,11 @@ winClipboardFlushXEvents(HWND hwnd,
/* Release the clipboard data */
GlobalUnlock(hGlobal);
pszGlobalData = NULL;
- fCloseClipboard = FALSE;
- CloseClipboard();
-
+ if (fCloseClipboard)
+ {
+ fCloseClipboard = FALSE;
+ CloseClipboard ();
+ }
/* Clean up */
XFree(xtpText.value);
xtpText.value = NULL;
@@ -401,9 +422,8 @@ winClipboardFlushXEvents(HWND hwnd,
/*
* SelectionNotify
*/
-
case SelectionNotify:
-
+#ifdef _DEBUG
winDebug("winClipboardFlushXEvents - SelectionNotify\n");
{
char *pszAtomName;
@@ -414,8 +434,11 @@ winClipboardFlushXEvents(HWND hwnd,
winDebug
("winClipboardFlushXEvents - SelectionNotify - ATOM: %s\n",
pszAtomName);
+ winDebug ("SelectionNotify - requestor %d\n", event.xselectionrequest.requestor);
XFree(pszAtomName);
}
+#endif
+
/*
* Request conversion of UTF8 and CompoundText targets.
@@ -498,6 +521,7 @@ winClipboardFlushXEvents(HWND hwnd,
break;
}
+#ifdef WINDBG
{
char *pszAtomName = NULL;
@@ -508,6 +532,7 @@ winClipboardFlushXEvents(HWND hwnd,
XFree(pszAtomName);
pszAtomName = NULL;
}
+#endif
if (fUseUnicode) {
#ifdef X_HAVE_UTF8_STRING
@@ -529,7 +554,7 @@ winClipboardFlushXEvents(HWND hwnd,
for (i = 0; i < iCount; i++) {
iReturnDataLen += strlen(ppszTextList[i]);
}
- pszReturnData = malloc(iReturnDataLen + 1);
+ pszReturnData = (char *) malloc(iReturnDataLen + 1);
pszReturnData[0] = '\0';
for (i = 0; i < iCount; i++) {
strcat(pszReturnData, ppszTextList[i]);
@@ -538,7 +563,7 @@ winClipboardFlushXEvents(HWND hwnd,
else {
ErrorF("winClipboardFlushXEvents - SelectionNotify - "
"X*TextPropertyToTextList list_return is NULL.\n");
- pszReturnData = malloc(1);
+ pszReturnData = (char *) malloc(1);
pszReturnData[0] = '\0';
}
}
@@ -559,7 +584,7 @@ winClipboardFlushXEvents(HWND hwnd,
ErrorF("%d\n", iReturn);
break;
}
- pszReturnData = malloc(1);
+ pszReturnData = (char *) malloc(1);
pszReturnData[0] = '\0';
}
@@ -572,7 +597,7 @@ winClipboardFlushXEvents(HWND hwnd,
xtpText.nitems = 0;
/* Convert the X clipboard string to DOS format */
- winClipboardUNIXtoDOS(&pszReturnData, strlen(pszReturnData));
+ winClipboardUNIXtoDOS((unsigned char **)&pszReturnData, strlen(pszReturnData));
if (fUseUnicode) {
/* Find out how much space needed to convert MBCS to Unicode */
@@ -682,14 +707,32 @@ winClipboardFlushXEvents(HWND hwnd,
}
return WIN_XEVENTS_NOTIFY;
- case SelectionClear:
+ /*
+ * SelectionClear
+ */
+ case SelectionClear:
+#ifdef _DEBUG
winDebug("SelectionClear - doing nothing\n");
+ {
+ char *pszAtomName;
+
+ pszAtomName = XGetAtomName (pDisplay,
+ event.xselection.selection);
+
+ winDebug ("SelectionClear - ATOM: %s\n",
+ pszAtomName);
+ winDebug ("SelectionClear - owner %d\n", event.xselectionrequest.owner);
+
+ XFree (pszAtomName);
+ }
+#endif
break;
case PropertyNotify:
break;
-
+
case MappingNotify:
+ XRefreshKeyboardMapping((XMappingEvent *)&event);
break;
default:
diff --git a/xorg-server/hw/xwin/wincmap.c b/xorg-server/hw/xwin/wincmap.c
index 5dcc8bceb..4275265be 100644
--- a/xorg-server/hw/xwin/wincmap.c
+++ b/xorg-server/hw/xwin/wincmap.c
@@ -116,16 +116,12 @@ winInstallColormap(ColormapPtr pColormap)
winScreenPriv(pScreen);
ColormapPtr oldpmap = pScreenPriv->pcmapInstalled;
-#if CYGDEBUG
winDebug("winInstallColormap\n");
-#endif
/* Did the colormap actually change? */
if (pColormap != oldpmap) {
-#if CYGDEBUG
winDebug("winInstallColormap - Colormap has changed, attempt "
"to install.\n");
-#endif
/* Was there a previous colormap? */
if (oldpmap != (ColormapPtr) None) {
@@ -139,10 +135,9 @@ winInstallColormap(ColormapPtr pColormap)
/* Call the engine specific colormap install procedure */
if (!((*pScreenPriv->pwinInstallColormap) (pColormap))) {
- winErrorFVerb(2,
- "winInstallColormap - Screen specific colormap install "
- "procedure failed. Continuing, but colors may be "
- "messed up from now on.\n");
+ ErrorF ("winInstallColormap - Screen specific colormap install "
+ "procedure failed. Continuing, but colors may be "
+ "messed up from now on.\n");
}
}
@@ -157,9 +152,7 @@ winUninstallColormap(ColormapPtr pmap)
winScreenPriv(pmap->pScreen);
ColormapPtr curpmap = pScreenPriv->pcmapInstalled;
-#if CYGDEBUG
winDebug("winUninstallColormap\n");
-#endif
/* Is the colormap currently installed? */
if (pmap != curpmap) {
@@ -194,7 +187,7 @@ winStoreColors(ColormapPtr pmap, int ndef, xColorItem * pdefs)
int i;
unsigned short nRed, nGreen, nBlue;
-#if CYGDEBUG
+#ifdef WINDBG
if (ndef != 1)
winDebug("winStoreColors - ndef: %d\n", ndef);
#endif
@@ -216,18 +209,15 @@ winStoreColors(ColormapPtr pmap, int ndef, xColorItem * pdefs)
pCmapPriv->rgbColors[pdefs[0].pixel + i].rgbGreen = nGreen;
pCmapPriv->rgbColors[pdefs[0].pixel + i].rgbBlue = nBlue;
-#if CYGDEBUG
winDebug("winStoreColors - nRed %d nGreen %d nBlue %d\n",
nRed, nGreen, nBlue);
-#endif
}
/* Call the engine specific store colors procedure */
if (!((pScreenPriv->pwinStoreColors) (pmap, ndef, pdefs))) {
- winErrorFVerb(2,
- "winStoreColors - Engine cpecific color storage procedure "
- "failed. Continuing, but colors may be messed up from now "
- "on.\n");
+ ErrorF ("winStoreColors - Engine cpecific color storage procedure "
+ "failed. Continuing, but colors may be messed up from now "
+ "on.\n");
}
}
@@ -237,9 +227,7 @@ winResolveColor(unsigned short *pred,
unsigned short *pgreen,
unsigned short *pblue, VisualPtr pVisual)
{
-#if CYGDEBUG
winDebug("winResolveColor ()\n");
-#endif
miResolveColor(pred, pgreen, pblue, pVisual);
}
@@ -253,9 +241,7 @@ winCreateColormap(ColormapPtr pmap)
winScreenPriv(pScreen);
-#if CYGDEBUG
winDebug("winCreateColormap\n");
-#endif
/* Allocate colormap privates */
if (!winAllocateCmapPrivates(pmap)) {
@@ -301,19 +287,16 @@ winDestroyColormap(ColormapPtr pColormap)
/* Call the engine specific colormap destruction procedure */
if (!((*pScreenPriv->pwinDestroyColormap) (pColormap))) {
- winErrorFVerb(2,
- "winDestroyColormap - Engine specific colormap destruction "
- "procedure failed. Continuing, but it is possible that memory "
- "was leaked, or that colors will be messed up from now on.\n");
+ ErrorF ("winDestroyColormap - Engine specific colormap destruction "
+ "procedure failed. Continuing, but it is possible that memory "
+ "was leaked, or that colors will be messed up from now on.\n");
}
/* Free the colormap privates */
free(pCmapPriv);
winSetCmapPriv(pColormap, NULL);
-#if CYGDEBUG
winDebug("winDestroyColormap - Returning\n");
-#endif
}
/*
@@ -338,10 +321,8 @@ winGetPaletteDIB(ScreenPtr pScreen, ColormapPtr pcmap)
return FALSE;
}
-#if CYGDEBUG
winDebug("winGetPaletteDIB - Retrieved %d colors from DIB\n",
uiColorsRetrieved);
-#endif
/* Set the DIB color table to the default screen palette */
if (SetDIBColorTable(pScreenPriv->hdcShadow,
@@ -359,10 +340,8 @@ winGetPaletteDIB(ScreenPtr pScreen, ColormapPtr pcmap)
nGreen = rgbColors[i].rgbGreen << 8;
nBlue = rgbColors[i].rgbBlue << 8;
-#if CYGDEBUG
winDebug("winGetPaletteDIB - Allocating a color: %d; "
"%d %d %d\n", pixel, nRed, nGreen, nBlue);
-#endif
/* Allocate a entry in the X colormap */
if (AllocColor(pcmap, &nRed, &nGreen, &nBlue, &pixel, 0) != Success) {
@@ -421,10 +400,8 @@ winGetPaletteDD(ScreenPtr pScreen, ColormapPtr pcmap)
return FALSE;
}
-#if CYGDEBUG
winDebug("winGetPaletteDD - uiSystemPaletteEntries %d\n",
uiSystemPaletteEntries);
-#endif
/* Allocate palette entries structure */
ppeColors = malloc(uiSystemPaletteEntries * sizeof(PALETTEENTRY));
@@ -444,10 +421,8 @@ winGetPaletteDD(ScreenPtr pScreen, ColormapPtr pcmap)
nRed = ppeColors[i].peRed << 8;
nGreen = ppeColors[i].peGreen << 8;
nBlue = ppeColors[i].peBlue << 8;
-#if CYGDEBUG
winDebug("winGetPaletteDD - Allocating a color: %d; "
"%d %d %d\n", pixel, nRed, nGreen, nBlue);
-#endif
if (AllocColor(pcmap, &nRed, &nGreen, &nBlue, &pixel, 0) != Success) {
ErrorF("winGetPaletteDD - AllocColor () failed, pixel %d\n", i);
free(ppeColors);
@@ -493,9 +468,7 @@ winCreateDefColormap(ScreenPtr pScreen)
ColormapPtr pcmap = NULL;
Pixel wp, bp;
-#if CYGDEBUG
winDebug("winCreateDefColormap\n");
-#endif
/* Use standard fb colormaps for non palettized color modes */
if (pScreenInfo->dwBPP > 8) {
@@ -514,9 +487,7 @@ winCreateDefColormap(ScreenPtr pScreen)
* to be changed by clients.
*/
-#if CYGDEBUG
winDebug("winCreateDefColormap - defColormap: %d\n", pScreen->defColormap);
-#endif
/* Allocate an X colormap, owned by client 0 */
if (CreateColormap(pScreen->defColormap,
@@ -533,9 +504,7 @@ winCreateDefColormap(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winCreateDefColormap - Created a colormap\n");
-#endif
/* Branch on the visual class */
if (!(pVisual->class & DynamicClass)) {
@@ -570,33 +539,12 @@ winCreateDefColormap(ScreenPtr pScreen)
pScreen->whitePixel = wp;
pScreen->blackPixel = bp;
-#if 0
- /* Have to reserve first 10 and last ten pixels in DirectDraw windowed */
- if (pScreenInfo->dwEngine != WIN_SERVER_SHADOW_GDI) {
- int k;
- Pixel p;
-
- for (k = 1; k < 10; ++k) {
- p = k;
- if (AllocColor(pcmap, &ones, &ones, &ones, &p, 0) != Success)
- FatalError("Foo!\n");
- }
-
- for (k = 245; k < 255; ++k) {
- p = k;
- if (AllocColor(pcmap, &zero, &zero, &zero, &p, 0) != Success)
- FatalError("Baz!\n");
- }
- }
-#endif
}
/* Install the created colormap */
(*pScreen->InstallColormap) (pcmap);
-#if CYGDEBUG
winDebug("winCreateDefColormap - Returning\n");
-#endif
return TRUE;
}
diff --git a/xorg-server/hw/xwin/winconfig.c b/xorg-server/hw/xwin/winconfig.c
index a6d3c0a1f..95b95bc73 100644
--- a/xorg-server/hw/xwin/winconfig.c
+++ b/xorg-server/hw/xwin/winconfig.c
@@ -140,10 +140,10 @@ winReadConfigfile()
filename = xf86openConfigFile(CONFIGPATH, "XF86Config", PROJECTROOT);
if (filename) {
- winMsg(from, "Using config file: \"%s\"\n", filename);
+ winDebug ("Using config file: \"%s\"\n", filename);
}
else {
- winMsg(X_ERROR, "Unable to locate/open config file");
+ ErrorF ("Unable to locate/open config file");
if (xf86ConfigFile)
ErrorF(": \"%s\"", xf86ConfigFile);
ErrorF("\n");
@@ -163,7 +163,7 @@ winReadConfigfile()
free(filename);
free(dirname);
if ((g_xf86configptr = xf86readConfigFile()) == NULL) {
- winMsg(X_ERROR, "Problem parsing the config file\n");
+ ErrorF ("Problem parsing the config file\n");
return FALSE;
}
xf86closeConfigFile();
@@ -175,12 +175,11 @@ winReadConfigfile()
if (g_xf86configptr->conf_layout_lst == NULL ||
g_cmdline.screenname != NULL) {
if (g_cmdline.screenname == NULL) {
- winMsg(X_WARNING,
- "No Layout section. Using the first Screen section.\n");
+ winDebug ("No Layout section. Using the first Screen section.\n");
}
if (!configImpliedLayout(&g_winConfigLayout,
g_xf86configptr->conf_screen_lst)) {
- winMsg(X_ERROR, "Unable to determine the screen layout\n");
+ ErrorF ("Unable to determine the screen layout\n");
return FALSE;
}
}
@@ -196,14 +195,14 @@ winReadConfigfile()
if (!configLayout(&g_winConfigLayout,
g_xf86configptr->conf_layout_lst, dfltlayout)) {
- winMsg(X_ERROR, "Unable to determine the screen layout\n");
+ ErrorF ("Unable to determine the screen layout\n");
return FALSE;
}
}
else {
if (!configLayout(&g_winConfigLayout,
g_xf86configptr->conf_layout_lst, NULL)) {
- winMsg(X_ERROR, "Unable to determine the screen layout\n");
+ ErrorF ("Unable to determine the screen layout\n");
return FALSE;
}
}
@@ -263,7 +262,7 @@ winConfigKeyboard(DeviceIntPtr pDevice)
break;
}
g_winInfo.keyboard.rate = (kbd_speed > 0) ? kbd_speed : 1;
- winMsgVerb(X_PROBED, 1, "Setting autorepeat to delay=%d, rate=%d\n",
+ winDebug("Setting autorepeat to delay=%d, rate=%d\n",
g_winInfo.keyboard.delay, g_winInfo.keyboard.rate);
}
}
@@ -286,9 +285,9 @@ winConfigKeyboard(DeviceIntPtr pDevice)
such as the lack of WM_KEYUP for Caps Lock key.
Loading US layout fixes this problem. */
if (LoadKeyboardLayout("00000409", KLF_ACTIVATE) != NULL)
- winMsg(X_INFO, "Loading US keyboard layout.\n");
+ winDebug("Loading US keyboard layout.\n");
else
- winMsg(X_ERROR, "LoadKeyboardLayout failed.\n");
+ ErrorF ("LoadKeyboardLayout failed.\n");
}
}
@@ -314,9 +313,8 @@ winConfigKeyboard(DeviceIntPtr pDevice)
free(regpath);
}
- winMsg(X_PROBED,
- "Windows keyboard layout: \"%s\" (%08x) \"%s\", type %d\n",
- layoutName, layoutNum, layoutFriendlyName, keyboardType);
+ winDebug ("Windows keyboard layout: \"%s\" (%08x) \"%s\", type %d\n",
+ layoutName, layoutNum, layoutFriendlyName, keyboardType);
for (pLayout = winKBLayouts; pLayout->winlayout != -1; pLayout++) {
if (pLayout->winlayout != layoutNum)
@@ -325,11 +323,11 @@ winConfigKeyboard(DeviceIntPtr pDevice)
continue;
bfound = TRUE;
- winMsg(X_PROBED,
+ winDebug (
"Found matching XKB configuration \"%s\"\n",
pLayout->layoutname);
- winMsg(X_PROBED,
+ winDebug(
"Model = \"%s\" Layout = \"%s\""
" Variant = \"%s\" Options = \"%s\"\n",
pLayout->xkbmodel ? pLayout->xkbmodel : "none",
@@ -337,17 +335,16 @@ winConfigKeyboard(DeviceIntPtr pDevice)
pLayout->xkbvariant ? pLayout->xkbvariant : "none",
pLayout->xkboptions ? pLayout->xkboptions : "none");
- g_winInfo.xkb.model = pLayout->xkbmodel;
- g_winInfo.xkb.layout = pLayout->xkblayout;
- g_winInfo.xkb.variant = pLayout->xkbvariant;
- g_winInfo.xkb.options = pLayout->xkboptions;
+ g_winInfo.xkb.model = (char *)pLayout->xkbmodel;
+ g_winInfo.xkb.layout = (char *)pLayout->xkblayout;
+ g_winInfo.xkb.variant = (char *)pLayout->xkbvariant;
+ g_winInfo.xkb.options = (char *)pLayout->xkboptions;
break;
}
if (!bfound) {
- winMsg(X_ERROR,
- "Keyboardlayout \"%s\" (%s) is unknown, using X server default layout\n",
+ ErrorF ("Keyboardlayout \"%s\" (%s) is unknown, using X server default layout\n",
layoutFriendlyName, layoutName);
}
}
@@ -379,8 +376,8 @@ winConfigKeyboard(DeviceIntPtr pDevice)
if (kbd != NULL) {
if (kbd->inp_identifier)
- winMsg(kbdfrom, "Using keyboard \"%s\" as primary keyboard\n",
- kbd->inp_identifier);
+ winDebug ("Using keyboard \"%s\" as primary keyboard\n",
+ kbd->inp_identifier);
if ((s = winSetStrOption(kbd->inp_option_lst, "AutoRepeat", NULL))) {
if ((sscanf(s, "%ld %ld", &g_winInfo.keyboard.delay,
@@ -388,12 +385,12 @@ winConfigKeyboard(DeviceIntPtr pDevice)
(g_winInfo.keyboard.delay < 1) ||
(g_winInfo.keyboard.rate == 0) ||
(1000 / g_winInfo.keyboard.rate) < 1) {
- winErrorFVerb(2, "\"%s\" is not a valid AutoRepeat value", s);
+ ErrorF ("\"%s\" is not a valid AutoRepeat value", s);
free(s);
return FALSE;
}
free(s);
- winMsg(X_CONFIG, "AutoRepeat: %ld %ld\n",
+ winDebug ("AutoRepeat: %ld %ld\n",
g_winInfo.keyboard.delay, g_winInfo.keyboard.rate);
}
#endif
@@ -411,7 +408,7 @@ winConfigKeyboard(DeviceIntPtr pDevice)
#endif
if (s) {
g_winInfo.xkb.rules = NULL_IF_EMPTY(s);
- winMsg(from, "XKB: rules: \"%s\"\n", s);
+ winDebug ("XKB: rules: \"%s\"\n", s);
}
s = NULL;
@@ -427,7 +424,7 @@ winConfigKeyboard(DeviceIntPtr pDevice)
#endif
if (s) {
g_winInfo.xkb.model = NULL_IF_EMPTY(s);
- winMsg(from, "XKB: model: \"%s\"\n", s);
+ winDebug ("XKB: model: \"%s\"\n", s);
}
s = NULL;
@@ -443,7 +440,7 @@ winConfigKeyboard(DeviceIntPtr pDevice)
#endif
if (s) {
g_winInfo.xkb.layout = NULL_IF_EMPTY(s);
- winMsg(from, "XKB: layout: \"%s\"\n", s);
+ winDebug ("XKB: layout: \"%s\"\n", s);
}
s = NULL;
@@ -459,7 +456,7 @@ winConfigKeyboard(DeviceIntPtr pDevice)
#endif
if (s) {
g_winInfo.xkb.variant = NULL_IF_EMPTY(s);
- winMsg(from, "XKB: variant: \"%s\"\n", s);
+ winDebug ("XKB: variant: \"%s\"\n", s);
}
s = NULL;
@@ -472,10 +469,16 @@ winConfigKeyboard(DeviceIntPtr pDevice)
s = winSetStrOption(kbd->inp_option_lst, "XkbOptions", NULL);
from = X_CONFIG;
}
+#else
+ else
+ {
+ if (!g_winInfo.xkb.options)
+ s="grab:break_actions"; /* Currently attach default CTRL+ALT+NKP/ and CTRL+ALT+NKP* mappings to release grab functions */
+ }
#endif
if (s) {
g_winInfo.xkb.options = NULL_IF_EMPTY(s);
- winMsg(from, "XKB: options: \"%s\"\n", s);
+ winDebug ("XKB: options: \"%s\"\n", s);
}
#ifdef XWIN_XF86CONFIG
@@ -513,8 +516,8 @@ winConfigMouse(DeviceIntPtr pDevice)
if (mouse != NULL) {
if (mouse->inp_identifier)
- winMsg(mousefrom, "Using pointer \"%s\" as primary pointer\n",
- mouse->inp_identifier);
+ winDebug ("Using pointer \"%s\" as primary pointer\n",
+ mouse->inp_identifier);
g_winInfo.pointer.emulate3Buttons =
winSetBoolOption(mouse->inp_option_lst, "Emulate3Buttons", FALSE);
@@ -527,8 +530,8 @@ winConfigMouse(DeviceIntPtr pDevice)
g_winInfo.pointer.emulate3Timeout = g_cmdline.emulate3timeout;
}
else {
- winMsg(X_ERROR, "No primary pointer configured\n");
- winMsg(X_DEFAULT, "Using compiletime defaults for pointer\n");
+ winDebug ("No primary pointer configured\n");
+ winDebug ("Using compiletime defaults for pointer\n");
}
return TRUE;
@@ -556,7 +559,7 @@ winConfigFiles()
from = X_CONFIG;
defaultFontPath = strdup(filesptr->file_fontpath);
}
- winMsg(from, "FontPath set to \"%s\"\n", defaultFontPath);
+ winDebug ("FontPath set to \"%s\"\n", defaultFontPath);
return TRUE;
}
@@ -567,7 +570,7 @@ winConfigFiles(void)
/* Fontpath */
if (g_cmdline.fontPath) {
defaultFontPath = g_cmdline.fontPath;
- winMsg(X_CMDLINE, "FontPath set to \"%s\"\n", defaultFontPath);
+ winDebug("FontPath set to \"%s\"\n", defaultFontPath);
}
return TRUE;
@@ -742,8 +745,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
switch (p->type) {
case OPTV_INTEGER:
if (*s == '\0') {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires an integer value\n", p->name);
+ winDebug ( "Option \"%s\" requires an integer value\n",
p->found = FALSE;
}
else {
@@ -752,8 +754,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
p->found = TRUE;
}
else {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires an integer value\n",
+ winDebug ( "Option \"%s\" requires an integer value\n",
p->name);
p->found = FALSE;
}
@@ -761,8 +762,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
break;
case OPTV_STRING:
if (*s == '\0') {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a string value\n", p->name);
+ winDebug ( "Option \"%s\" requires a string value\n", p->name);
p->found = FALSE;
}
else {
@@ -776,8 +776,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
break;
case OPTV_REAL:
if (*s == '\0') {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a floating point value\n",
+ winDebug ( "Option \"%s\" requires a floating point value\n",
p->name);
p->found = FALSE;
}
@@ -787,8 +786,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
p->found = TRUE;
}
else {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a floating point value\n",
+ winDebug ( "Option \"%s\" requires a floating point value\n",
p->name);
p->found = FALSE;
}
@@ -799,8 +797,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
p->found = TRUE;
}
else {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a boolean value\n", p->name);
+ winDebug ( "Option \"%s\" requires a boolean value\n", p->name);
p->found = FALSE;
}
break;
@@ -826,8 +823,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
}
case OPTV_FREQ:
if (*s == '\0') {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a frequency value\n",
+ winDebug ( "Option \"%s\" requires a frequency value\n",
p->name);
p->found = FALSE;
}
@@ -846,8 +842,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
!winNameCompare(end, "M"))
units = 1000000;
else {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a frequency value\n",
+ winDebug ( "Option \"%s\" requires a frequency value\n",
p->name);
p->found = FALSE;
}
@@ -855,8 +850,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
freq *= (double) units;
}
else {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a frequency value\n",
+ winDebug ( "Option \"%s\" requires a frequency value\n",
p->name);
p->found = FALSE;
}
@@ -872,11 +866,11 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
break;
}
if (p->found) {
- winDrvMsgVerb(scrnIndex, X_CONFIG, 2, "Option \"%s\"", p->name);
+ winDebug ("Option \"%s\"", p->name);
if (!(p->type == OPTV_BOOLEAN && *s == 0)) {
- winErrorFVerb(2, " \"%s\"", s);
+ winDebug (" \"%s\"", s);
}
- winErrorFVerb(2, "\n");
+ winDebug ("\n");
}
}
else if (p->type == OPTV_BOOLEAN) {
@@ -909,8 +903,7 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
p->found = TRUE;
}
else {
- winDrvMsg(scrnIndex, X_WARNING,
- "Option \"%s\" requires a boolean value\n", newn);
+ winDebug ( "Option \"%s\" requires a boolean value\n", newn);
p->found = FALSE;
}
}
@@ -918,11 +911,11 @@ ParseOptionValue(int scrnIndex, void *options, OptionInfoPtr p)
p->found = FALSE;
}
if (p->found) {
- winDrvMsgVerb(scrnIndex, X_CONFIG, 2, "Option \"%s\"", newn);
+ winDebug ("Option \"%s\"", newn);
if (*s != 0) {
- winErrorFVerb(2, " \"%s\"", s);
+ winDebug (" \"%s\"", s);
}
- winErrorFVerb(2, "\n");
+ winDebug ("\n");
}
free(n);
}
diff --git a/xorg-server/hw/xwin/wincreatewnd.c b/xorg-server/hw/xwin/wincreatewnd.c
index 6732dcb58..597f6bc4e 100644
--- a/xorg-server/hw/xwin/wincreatewnd.c
+++ b/xorg-server/hw/xwin/wincreatewnd.c
@@ -60,10 +60,10 @@ winCreateBoundingWindowFullScreen(ScreenPtr pScreen)
HWND *phwnd = &pScreenPriv->hwndScreen;
WNDCLASSEX wc;
char szTitle[256];
+ char HostName[256];
+ gethostname(HostName,256);
-#if CYGDEBUG
winDebug("winCreateBoundingWindowFullScreen\n");
-#endif
/* Setup our window class */
wc.cbSize = sizeof(WNDCLASSEX);
@@ -91,12 +91,13 @@ winCreateBoundingWindowFullScreen(ScreenPtr pScreen)
snprintf(szTitle,
sizeof(szTitle),
WINDOW_TITLE_XDMCP,
- g_pszQueryHost, display, (int) pScreenInfo->dwScreen);
+ g_pszQueryHost, HostName, display, (int) pScreenInfo->dwScreen);
else
+ {
snprintf(szTitle,
sizeof(szTitle),
- WINDOW_TITLE, display, (int) pScreenInfo->dwScreen);
-
+ WINDOW_TITLE, HostName, display, (int) pScreenInfo->dwScreen);
+ }
/* Create the window */
*phwnd = CreateWindowExA(0, /* Extended styles */
WINDOW_CLASS, /* Class name */
@@ -153,6 +154,9 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
DWORD dwWindowStyle;
BOOL fForceShowWindow = FALSE;
char szTitle[256];
+ char HostName[256];
+
+ gethostname(HostName,256);
winDebug("winCreateBoundingWindowWindowed - User w: %d h: %d\n",
(int) pScreenInfo->dwUserWidth, (int) pScreenInfo->dwUserHeight);
@@ -244,10 +248,8 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
/* Did the user specify a height and width? */
if (pScreenInfo->fUserGaveHeightAndWidth) {
/* User gave a desired height and width, try to accomodate */
-#if CYGDEBUG
winDebug("winCreateBoundingWindowWindowed - User gave height "
"and width\n");
-#endif
/* Adjust the window width and height for borders and title bar */
if (pScreenInfo->fDecoration
@@ -259,27 +261,21 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
&& !pScreenInfo->fMultiWindow
#endif
) {
-#if CYGDEBUG
winDebug
("winCreateBoundingWindowWindowed - Window has decoration\n");
-#endif
/* Are we resizable */
if (pScreenInfo->iResizeMode != notAllowed) {
-#if CYGDEBUG
winDebug
("winCreateBoundingWindowWindowed - Window is resizable\n");
-#endif
iWidth += 2 * GetSystemMetrics(SM_CXSIZEFRAME);
iHeight += 2 * GetSystemMetrics(SM_CYSIZEFRAME)
+ GetSystemMetrics(SM_CYCAPTION);
}
else {
-#if CYGDEBUG
winDebug
("winCreateBoundingWindowWindowed - Window is not resizable\n");
-#endif
iWidth += 2 * GetSystemMetrics(SM_CXFIXEDFRAME);
iHeight += 2 * GetSystemMetrics(SM_CYFIXEDFRAME)
@@ -289,10 +285,8 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
}
else {
/* By default, we are creating a window that is as large as possible */
-#if CYGDEBUG
winDebug("winCreateBoundingWindowWindowed - User did not give "
"height and width\n");
-#endif
/* Defaults are wrong if we have multiple monitors */
if (pScreenInfo->fMultipleMonitors) {
iWidth = GetSystemMetrics(SM_CXVIRTUALSCREEN);
@@ -317,10 +311,8 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
if (iHeight >= (rcWorkArea.bottom - rcWorkArea.top))
iHeight = rcWorkArea.bottom - rcWorkArea.top;
-#if CYGDEBUG
winDebug("winCreateBoundingWindowWindowed - Adjusted width: %d "
"height: %d\n", iWidth, iHeight);
-#endif
}
/* Set display and screen-specific tooltip text */
@@ -328,11 +320,13 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
snprintf(szTitle,
sizeof(szTitle),
WINDOW_TITLE_XDMCP,
- g_pszQueryHost, display, (int) pScreenInfo->dwScreen);
+ g_pszQueryHost, HostName, display, (int) pScreenInfo->dwScreen);
else
+ {
snprintf(szTitle,
sizeof(szTitle),
- WINDOW_TITLE, display, (int) pScreenInfo->dwScreen);
+ WINDOW_TITLE, HostName, display, (int) pScreenInfo->dwScreen);
+ }
/* Create the window */
*phwnd = CreateWindowExA(0, /* Extended styles */
@@ -351,9 +345,7 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winCreateBoundingWindowWindowed - CreateWindowEx () returned\n");
-#endif
if (fForceShowWindow) {
ErrorF
diff --git a/xorg-server/hw/xwin/wincursor.c b/xorg-server/hw/xwin/wincursor.c
index f3ac0f7ae..55c304f04 100644
--- a/xorg-server/hw/xwin/wincursor.c
+++ b/xorg-server/hw/xwin/wincursor.c
@@ -43,10 +43,9 @@
#define BRIGHTNESS(x) (x##Red * 0.299 + x##Green * 0.587 + x##Blue * 0.114)
-#if 0
-#define WIN_DEBUG_MSG winDebug
-#else
-#define WIN_DEBUG_MSG(...)
+#ifdef _MSC_VER
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
/*
@@ -82,7 +81,7 @@ winPointerWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
/* Don't ignore subsequent warps */
s_fInitialWarp = FALSE;
- winErrorFVerb(2,
+ winDebug (
"winPointerWarpCursor - Discarding first warp: %d %d\n",
x, y);
@@ -164,7 +163,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
BITMAPINFO *pbmi;
uint32_t *lpBits;
- WIN_DEBUG_MSG("winLoadCursor: Win32: %dx%d X11: %dx%d hotspot: %d,%d\n",
+ winDebug("winLoadCursor: Win32: %dx%d X11: %dx%d hotspot: %d,%d\n",
pScreenPriv->cursor.sm_cx, pScreenPriv->cursor.sm_cy,
pCursor->bits->width, pCursor->bits->height,
pCursor->bits->xhot, pCursor->bits->yhot);
@@ -178,7 +177,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
/* Check wether the X11 cursor is bigger than the win32 cursor */
if (pScreenPriv->cursor.sm_cx < pCursor->bits->width ||
pScreenPriv->cursor.sm_cy < pCursor->bits->height) {
- winErrorFVerb(3,
+ ErrorF (
"winLoadCursor - Windows requires %dx%d cursor but X requires %dx%d\n",
pScreenPriv->cursor.sm_cx, pScreenPriv->cursor.sm_cy,
pCursor->bits->width, pCursor->bits->height);
@@ -242,7 +241,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
/* We have a truecolor alpha-blended cursor and can use it! */
if (pCursor->bits->argb) {
- WIN_DEBUG_MSG("winLoadCursor: Trying truecolor alphablended cursor\n");
+ winDebug("winLoadCursor: Trying truecolor alphablended cursor\n");
memset(&bi, 0, sizeof(BITMAPV4HEADER));
bi.bV4Size = sizeof(BITMAPV4HEADER);
bi.bV4Width = pScreenPriv->cursor.sm_cx;
@@ -272,7 +271,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
if (!lpBits) {
RGBQUAD *pbmiColors;
/* Bicolor, use a palettized DIB */
- WIN_DEBUG_MSG("winLoadCursor: Trying two color cursor\n");
+ winDebug("winLoadCursor: Trying two color cursor\n");
pbmi = (BITMAPINFO *) &bi;
pbmiColors = &(pbmi->bmiColors[0]);
@@ -341,7 +340,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
/* If one of the previous two methods gave us the bitmap we need, make a cursor */
if (lpBits) {
- WIN_DEBUG_MSG("winLoadCursor: Creating bitmap cursor: hotspot %d,%d\n",
+ winDebug("winLoadCursor: Creating bitmap cursor: hotspot %d,%d\n",
pCursor->bits->xhot, pCursor->bits->yhot);
hAnd = NULL;
@@ -371,13 +370,12 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
hCursor = (HCURSOR) CreateIconIndirect(&ii);
if (hCursor == NULL)
- winW32Error(2, "winLoadCursor - CreateIconIndirect failed:");
+ winW32Error("winLoadCursor - CreateIconIndirect failed:");
else {
if (GetIconInfo(hCursor, &ii)) {
if (ii.fIcon) {
- WIN_DEBUG_MSG
+ winDebug
("winLoadCursor: CreateIconIndirect returned no cursor. Trying again.\n");
-
DestroyCursor(hCursor);
ii.fIcon = FALSE;
@@ -386,7 +384,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
hCursor = (HCURSOR) CreateIconIndirect(&ii);
if (hCursor == NULL)
- winW32Error(2,
+ winW32Error(
"winLoadCursor - CreateIconIndirect failed:");
}
/* GetIconInfo creates new bitmaps. Destroy them again */
@@ -412,7 +410,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
pScreenPriv->cursor.sm_cx,
pScreenPriv->cursor.sm_cy, pAnd, pXor);
if (hCursor == NULL)
- winW32Error(2, "winLoadCursor - CreateCursor failed:");
+ winW32Error("winLoadCursor - CreateCursor failed:");
}
free(pAnd);
free(pXor);
@@ -467,7 +465,7 @@ winSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x,
BOOL bInhibit;
winScreenPriv(pScreen);
- WIN_DEBUG_MSG("winSetCursor: cursor=%p\n", pCursor);
+ winDebug("winSetCursor: cursor=%p\n", pCursor);
/* Inhibit changing the cursor if the mouse is not in a client area */
bInhibit = FALSE;
@@ -509,7 +507,7 @@ winSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x,
}
pScreenPriv->cursor.handle =
winLoadCursor(pScreen, pCursor, pScreen->myNum);
- WIN_DEBUG_MSG("winSetCursor: handle=%p\n", pScreenPriv->cursor.handle);
+ winDebug("winSetCursor: handle=%p\n", pScreenPriv->cursor.handle);
if (!bInhibit)
SetCursor(pScreenPriv->cursor.handle);
@@ -600,9 +598,11 @@ winInitCursor(ScreenPtr pScreen)
pPointPriv = (miPointerScreenPtr)
dixLookupPrivate(&pScreen->devPrivates, miPointerScreenKey);
- pScreenPriv->cursor.spriteFuncs = pPointPriv->spriteFuncs;
- pPointPriv->spriteFuncs = &winSpriteFuncsRec;
-
+ if (pPointPriv)
+ {
+ pScreenPriv->cursor.spriteFuncs = pPointPriv->spriteFuncs;
+ pPointPriv->spriteFuncs = &winSpriteFuncsRec;
+ }
pScreenPriv->cursor.handle = NULL;
pScreenPriv->cursor.visible = FALSE;
diff --git a/xorg-server/hw/xwin/windialogs.c b/xorg-server/hw/xwin/windialogs.c
index c9af0e203..bb48af0ab 100644
--- a/xorg-server/hw/xwin/windialogs.c
+++ b/xorg-server/hw/xwin/windialogs.c
@@ -189,8 +189,8 @@ winInitDialog(HWND hwndDlg)
*/
if (GetSystemMetrics(SM_CMONITORS) > 1) {
/* Still need to refresh the frame change. */
- SetWindowPos(hwndDlg, HWND_TOPMOST, 0, 0, 0, 0,
- SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
+ SetWindowPos (hwndDlg, HWND_TOP, 0,0,0,0,
+ SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
}
else {
GetWindowRect(hwndDesk, &rcDesk);
@@ -229,12 +229,8 @@ winInitDialog(HWND hwndDlg)
PostMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM) hIconSmall);
}
-/*
- * Display the Exit dialog box
- */
-
-void
-winDisplayExitDialog(winPrivScreenPtr pScreenPriv)
+int
+GetLiveClients (winPrivScreenPtr pScreenPriv)
{
int i;
int liveClients = 0;
@@ -257,6 +253,20 @@ winDisplayExitDialog(winPrivScreenPtr pScreenPriv)
if (liveClients < 0)
liveClients = 0;
+ pScreenPriv->iConnectedClients = liveClients;
+
+ return liveClients;
+}
+
+/*
+ * Display the Exit dialog box
+ */
+
+void
+winDisplayExitDialog (winPrivScreenPtr pScreenPriv)
+{
+ int liveClients = GetLiveClients(pScreenPriv);
+
/* Don't show the exit confirmation dialog if SilentExit & no clients,
or ForceExit, is enabled */
if ((pref.fSilentExit && liveClients <= 0) || pref.fForceExit) {
@@ -268,8 +278,6 @@ winDisplayExitDialog(winPrivScreenPtr pScreenPriv)
return;
}
- pScreenPriv->iConnectedClients = liveClients;
-
/* Check if dialog already exists */
if (g_hDlgExit != NULL) {
/* Dialog box already exists, display it */
@@ -428,50 +436,40 @@ winChangeDepthDlgProc(HWND hwndDialog, UINT message,
static winPrivScreenPtr s_pScreenPriv = NULL;
static winScreenInfo *s_pScreenInfo = NULL;
-#if CYGDEBUG
winDebug("winChangeDepthDlgProc\n");
-#endif
/* Branch on message type */
switch (message) {
case WM_INITDIALOG:
-#if CYGDEBUG
winDebug("winChangeDepthDlgProc - WM_INITDIALOG\n");
-#endif
/* Store pointers to private structures for future use */
s_pScreenPriv = (winPrivScreenPtr) lParam;
s_pScreenInfo = s_pScreenPriv->pScreenInfo;
-#if CYGDEBUG
winDebug("winChangeDepthDlgProc - WM_INITDIALOG - s_pScreenPriv: %08x, "
"s_pScreenInfo: %08x\n",
s_pScreenPriv, s_pScreenInfo);
-#endif
-#if CYGDEBUG
winDebug("winChangeDepthDlgProc - WM_INITDIALOG - orig bpp: %d, "
"current bpp: %d\n",
s_pScreenInfo->dwBPP,
GetDeviceCaps(s_pScreenPriv->hdcScreen, BITSPIXEL));
-#endif
winInitDialog(hwndDialog);
return TRUE;
case WM_DISPLAYCHANGE:
-#if CYGDEBUG
winDebug("winChangeDepthDlgProc - WM_DISPLAYCHANGE - orig bpp: %d, "
"new bpp: %d\n",
s_pScreenInfo->dwBPP,
GetDeviceCaps(s_pScreenPriv->hdcScreen, BITSPIXEL));
-#endif
/* Dismiss the dialog if the display returns to the original depth */
if (GetDeviceCaps(s_pScreenPriv->hdcScreen, BITSPIXEL) ==
s_pScreenInfo->dwBPP) {
- ErrorF("winChangeDelthDlgProc - wParam == s_pScreenInfo->dwBPP\n");
+ winDebug ("winChangeDelthDlgProc - wParam == s_pScreenInfo->dwBPP\n");
/* Depth has been restored, dismiss dialog */
DestroyWindow(g_hDlgDepthChange);
@@ -557,16 +555,12 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam)
{
static winPrivScreenPtr s_pScreenPriv = NULL;
-#if CYGDEBUG
winDebug("winAboutDlgProc\n");
-#endif
/* Branch on message type */
switch (message) {
case WM_INITDIALOG:
-#if CYGDEBUG
winDebug("winAboutDlgProc - WM_INITDIALOG\n");
-#endif
/* Store pointer to private structure for future use */
s_pScreenPriv = (winPrivScreenPtr) lParam;
diff --git a/xorg-server/hw/xwin/windisplay.c b/xorg-server/hw/xwin/windisplay.c
new file mode 100644
index 000000000..db7b2f4d8
--- /dev/null
+++ b/xorg-server/hw/xwin/windisplay.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) Jon TURNEY 2009
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and 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.
+ *
+ */
+
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+#include "win.h"
+
+#include <X11/Xwindows.h>
+
+/*
+ Generate a display name string referring to the display of this server,
+ using a transport we know is enabled
+*/
+
+void
+winGetDisplayName(char *szDisplay, unsigned int screen)
+{
+ if (TransIsListening("local"))
+ {
+ snprintf(szDisplay, 512, ":%s.%d", display, screen);
+ }
+ else if (TransIsListening("inet"))
+ {
+ snprintf(szDisplay, 512, "127.0.0.1:%s.%d", display, screen);
+ }
+ else if (TransIsListening("inet6"))
+ {
+ snprintf(szDisplay, 512, "[::1]:%s.%d", display, screen);
+ }
+ else
+ {
+ // this can't happen!
+ winDebug ("winGetDisplay: Don't know what to use for DISPLAY\n");
+ snprintf(szDisplay, 512, "localhost:%s.%d", display, screen);
+ }
+
+ winDebug ("winGetDisplay: DISPLAY=%s\n", szDisplay);
+}
diff --git a/xorg-server/hw/xwin/winengine.c b/xorg-server/hw/xwin/winengine.c
index 1f55ada58..e597e2c49 100644
--- a/xorg-server/hw/xwin/winengine.c
+++ b/xorg-server/hw/xwin/winengine.c
@@ -85,13 +85,13 @@ winDetectSupportedEngines(void)
ddrval = (*g_fpDirectDrawCreate) (NULL, (void **) &lpdd, NULL);
if (FAILED(ddrval)) {
/* No DirectDraw support */
- winErrorFVerb(2,
+ winDebug (
"winDetectSupportedEngines - DirectDraw not installed\n");
return;
}
else {
/* We have DirectDraw */
- winErrorFVerb(2,
+ winDebug (
"winDetectSupportedEngines - DirectDraw installed, allowing ShadowDD\n");
g_dwEnginesSupported |= WIN_SERVER_SHADOW_DD;
@@ -99,7 +99,7 @@ winDetectSupportedEngines(void)
/* Allow PrimaryDD engine if NT */
if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) {
g_dwEnginesSupported |= WIN_SERVER_PRIMARY_DD;
- winErrorFVerb(2,
+ winDebug (
"winDetectSupportedEngines - Windows NT, allowing PrimaryDD\n");
}
#endif
@@ -111,7 +111,7 @@ winDetectSupportedEngines(void)
(LPVOID *) &lpdd4);
if (SUCCEEDED(ddrval)) {
/* We have DirectDraw4 */
- winErrorFVerb(2,
+ winDebug (
"winDetectSupportedEngines - DirectDraw4 installed, allowing ShadowDDNL\n");
g_dwEnginesSupported |= WIN_SERVER_SHADOW_DDNL;
}
@@ -123,7 +123,7 @@ winDetectSupportedEngines(void)
IDirectDraw_Release(lpdd);
}
- winErrorFVerb(2,
+ winDebug (
"winDetectSupportedEngines - Returning, supported engines %08x\n",
(unsigned int) g_dwEnginesSupported);
}
@@ -162,7 +162,7 @@ winSetEngine(ScreenPtr pScreen)
/* ShadowGDI is the only engine that supports windowed PseudoColor */
if (dwBPP == 8 && !pScreenInfo->fFullScreen) {
- winErrorFVerb(2,
+ winDebug (
"winSetEngine - Windowed && PseudoColor => ShadowGDI\n");
pScreenInfo->dwEngine = WIN_SERVER_SHADOW_GDI;
@@ -180,7 +180,7 @@ winSetEngine(ScreenPtr pScreen)
|| pScreenInfo->fMultiWindow
#endif
) {
- winErrorFVerb(2,
+ winDebug (
"winSetEngine - Multi Window or Rootless => ShadowGDI\n");
pScreenInfo->dwEngine = WIN_SERVER_SHADOW_GDI;
@@ -189,9 +189,9 @@ winSetEngine(ScreenPtr pScreen)
return TRUE;
}
- /* If the user's choice is supported, we'll use that */
- if (g_dwEnginesSupported & pScreenInfo->dwEnginePreferred) {
- winErrorFVerb(2, "winSetEngine - Using user's preference: %d\n",
+ /* If there is a user's choice, we'll use that */
+ if (pScreenInfo->dwEnginePreferred) {
+ winDebug ("winSetEngine - Using user's preference: %d\n",
(int) pScreenInfo->dwEnginePreferred);
pScreenInfo->dwEngine = pScreenInfo->dwEnginePreferred;
@@ -217,14 +217,14 @@ winSetEngine(ScreenPtr pScreen)
break;
#endif
default:
- FatalError("winSetEngine - Invalid engine type\n");
+ FatalError ("winSetEngine - Invalid engine type %d\n",pScreenInfo->dwEngine);
}
return TRUE;
}
/* ShadowDDNL has good performance, so why not */
if (g_dwEnginesSupported & WIN_SERVER_SHADOW_DDNL) {
- winErrorFVerb(2, "winSetEngine - Using Shadow DirectDraw NonLocking\n");
+ winDebug ("winSetEngine - Using Shadow DirectDraw NonLocking\n");
pScreenInfo->dwEngine = WIN_SERVER_SHADOW_DDNL;
/* Set engine function pointers */
@@ -234,7 +234,7 @@ winSetEngine(ScreenPtr pScreen)
/* ShadowDD is next in line */
if (g_dwEnginesSupported & WIN_SERVER_SHADOW_DD) {
- winErrorFVerb(2, "winSetEngine - Using Shadow DirectDraw\n");
+ winDebug ("winSetEngine - Using Shadow DirectDraw\n");
pScreenInfo->dwEngine = WIN_SERVER_SHADOW_DD;
/* Set engine function pointers */
@@ -244,7 +244,7 @@ winSetEngine(ScreenPtr pScreen)
/* ShadowGDI is next in line */
if (g_dwEnginesSupported & WIN_SERVER_SHADOW_GDI) {
- winErrorFVerb(2, "winSetEngine - Using Shadow GDI DIB\n");
+ winDebug ("winSetEngine - Using Shadow GDI DIB\n");
pScreenInfo->dwEngine = WIN_SERVER_SHADOW_GDI;
/* Set engine function pointers */
diff --git a/xorg-server/hw/xwin/winerror.c b/xorg-server/hw/xwin/winerror.c
index 1318b0f36..e8e63be03 100644
--- a/xorg-server/hw/xwin/winerror.c
+++ b/xorg-server/hw/xwin/winerror.c
@@ -35,6 +35,7 @@
#include <../xfree86/common/xorgVersion.h>
#include "win.h"
+extern Bool g_fSilentDupError;
#ifdef DDXOSVERRORF
void
OsVendorVErrorF(const char *pszFormat, va_list va_args)
@@ -48,6 +49,26 @@ OsVendorVErrorF(const char *pszFormat, va_list va_args)
pthread_mutex_lock(&s_pmPrinting);
#endif
+ /*
+ If we want to silence it,
+ detect if we are going to abort due to duplication error
+ */
+ if (g_fSilentDupError)
+ {
+ if ((strcmp(pszFormat,
+ "InitOutput - Duplicate invocation on display "
+ "number: %s. Exiting.\n") == 0)
+ || (strcmp(pszFormat,
+ "Server is already active for display %s\n%s %s\n%s\n") == 0)
+ || (strcmp(pszFormat,
+ "MakeAllCOTSServerListeners: server already running\n") == 0)
+ || (strcmp(pszFormat,
+ "MakeAllCOTSServerListeners: failed to create listener for %s\n") == 0))
+ {
+ g_fSilentFatalError = TRUE;
+ }
+ }
+
/* Print the error message to a log file, could be stderr */
LogVWrite(0, pszFormat, va_args);
@@ -64,11 +85,10 @@ OsVendorVErrorF(const char *pszFormat, va_list va_args)
*
* Attempt to do last-ditch, safe, important cleanup here.
*/
+char g_FatalErrorMessage[1024];
void
OsVendorFatalError(const char *f, va_list args)
{
- char errormsg[1024] = "";
-
/* Don't give duplicate warning if UseMsg was called */
if (g_fSilentFatalError)
return;
@@ -79,9 +99,6 @@ OsVendorFatalError(const char *f, va_list args)
}
LogClose(EXIT_ERR_ABORT);
- /* Format the error message */
- vsnprintf(errormsg, sizeof(errormsg), f, args);
-
/*
Sometimes the error message needs a bit of cosmetic cleaning
up for use in a dialog box...
@@ -89,7 +106,7 @@ OsVendorFatalError(const char *f, va_list args)
{
char *s;
- while ((s = strstr(errormsg, "\n\t")) != NULL) {
+ while ((s = strstr(g_FatalErrorMessage, "\n\t")) != NULL) {
s[0] = ' ';
s[1] = '\n';
}
@@ -99,7 +116,7 @@ OsVendorFatalError(const char *f, va_list args)
"%s\n\n"
"Please open %s for more information.\n",
MB_ICONERROR,
- errormsg,
+ g_FatalErrorMessage,
(g_pszLogFile ? g_pszLogFile : "the logfile"));
}
diff --git a/xorg-server/hw/xwin/winfont.c b/xorg-server/hw/xwin/winfont.c
index 7bcbce1c7..e7356486d 100644
--- a/xorg-server/hw/xwin/winfont.c
+++ b/xorg-server/hw/xwin/winfont.c
@@ -43,9 +43,7 @@ winRealizeFontNativeGDI(ScreenPtr pScreen, FontPtr pFont)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winRealizeFont (%p, %p)\n", pScreen, pFont);
-#endif
+ winDebug("winRealizeFont (%p, %p)\n", pScreen, pFont);
WIN_UNWRAP(RealizeFont);
if (pScreen->RealizeFont)
@@ -64,9 +62,7 @@ winUnrealizeFontNativeGDI(ScreenPtr pScreen, FontPtr pFont)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winUnrealizeFont (%p, %p)\n", pScreen, pFont);
-#endif
+ winDebug("winUnrealizeFont (%p, %p)\n", pScreen, pFont);
WIN_UNWRAP(UnrealizeFont);
if (pScreen->UnrealizeFont)
@@ -74,9 +70,5 @@ winUnrealizeFontNativeGDI(ScreenPtr pScreen, FontPtr pFont)
WIN_WRAP(UnrealizeFont, winUnrealizeFontNativeGDI);
return fResult;
-#if CYGDEBUG
- winDebug("winUnrealizeFont()\n");
-#endif
- return TRUE;
}
#endif
diff --git a/xorg-server/hw/xwin/wingc.c b/xorg-server/hw/xwin/wingc.c
index 5986e0a47..aba398d0a 100644
--- a/xorg-server/hw/xwin/wingc.c
+++ b/xorg-server/hw/xwin/wingc.c
@@ -37,46 +37,13 @@
* Local prototypes
*/
-#if 0
-static void
- winChangeGCNativeGDI(GCPtr pGC, unsigned long ulChanges);
-#endif
-
static void
winValidateGCNativeGDI(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable);
-#if 0
-static void
- winCopyGCNativeGDI(GCPtr pGCsrc, unsigned long ulMask, GCPtr pGCdst);
-#endif
-
static void
winDestroyGCNativeGDI(GCPtr pGC);
-#if 0
-static void
- winChangeClipNativeGDI(GCPtr pGC, int nType, void *pValue, int nRects);
-
-static void
- winDestroyClipNativeGDI(GCPtr pGC);
-
-static void
- winCopyClipNativeGDI(GCPtr pGCdst, GCPtr pGCsrc);
-#endif
-
-#if 0
-/* GC Handling Routines */
-const GCFuncs winGCFuncs = {
- winValidateGCNativeGDI,
- winChangeGCNativeGDI,
- winCopyGCNativeGDI,
- winDestroyGCNativeGDI,
- winChangeClipNativeGDI,
- winDestroyClipNativeGDI,
- winCopyClipNativeGDI,
-};
-#else
const GCFuncs winGCFuncs = {
winValidateGCNativeGDI,
miChangeGC,
@@ -86,7 +53,6 @@ const GCFuncs winGCFuncs = {
miDestroyClip,
miCopyClip,
};
-#endif
/* Drawing Primitives */
const GCOps winGCOps = {
@@ -107,13 +73,8 @@ const GCOps winGCOps = {
miPolyText16,
miImageText8,
miImageText16,
-#if 0
- winImageGlyphBltNativeGDI,
- winPolyGlyphBltNativeGDI,
-#else
miImageGlyphBlt,
miPolyGlyphBlt,
-#endif
miPushPixels,
};
@@ -126,9 +87,7 @@ winCreateGCNativeGDI(GCPtr pGC)
winPrivGCPtr pGCPriv = NULL;
winPrivScreenPtr pScreenPriv = NULL;
-#if 0
- ErrorF("winCreateGCNativeGDI - depth: %d\n", pGC->depth);
-#endif
+ winDebug ("winCreateGCNativeGDI - depth: %d\n", pGC->depth);
pGC->ops = (GCOps *) &winGCOps;
pGC->funcs = (GCFuncs *) &winGCFuncs;
@@ -153,17 +112,6 @@ winCreateGCNativeGDI(GCPtr pGC)
return TRUE;
}
-#if 0
-/* See Porting Layer Definition - p. 45 */
-static void
-winChangeGCNativeGDI(GCPtr pGC, unsigned long ulChanges)
-{
-#if 0
- ErrorF("winChangeGCNativeGDI () - Doing nothing\n");
-#endif
-}
-#endif
-
static void
winValidateGCNativeGDI(GCPtr pGC,
unsigned long ulChanges, DrawablePtr pDrawable)
@@ -176,15 +124,6 @@ winValidateGCNativeGDI(GCPtr pGC,
}
}
-#if 0
-/* See Porting Layer Definition - p. 46 */
-static void
-winCopyGCNativeGDI(GCPtr pGCsrc, unsigned long ulMask, GCPtr pGCdst)
-{
-
-}
-#endif
-
/* See Porting Layer Definition - p. 46 */
static void
winDestroyGCNativeGDI(GCPtr pGC)
@@ -210,26 +149,3 @@ winDestroyGCNativeGDI(GCPtr pGC)
/* Invalidate the GC privates pointer */
winSetGCPriv(pGC, NULL);
}
-
-#if 0
-/* See Porting Layer Definition - p. 46 */
-static void
-winChangeClipNativeGDI(GCPtr pGC, int nType, void *pValue, int nRects)
-{
-
-}
-
-/* See Porting Layer Definition - p. 47 */
-static void
-winDestroyClipNativeGDI(GCPtr pGC)
-{
-
-}
-
-/* See Porting Layer Definition - p. 47 */
-static void
-winCopyClipNativeGDI(GCPtr pGCdst, GCPtr pGCsrc)
-{
-
-}
-#endif
diff --git a/xorg-server/hw/xwin/wingetsp.c b/xorg-server/hw/xwin/wingetsp.c
index 049e2c939..1076b5cc5 100644
--- a/xorg-server/hw/xwin/wingetsp.c
+++ b/xorg-server/hw/xwin/wingetsp.c
@@ -57,9 +57,7 @@ winGetSpansNativeGDI(DrawablePtr pDrawable,
/* Branch on the drawable type */
switch (pDrawable->type) {
case DRAWABLE_PIXMAP:
-#if 0
- ErrorF("winGetSpans - DRAWABLE_PIXMAP %08x\n", pDrawable);
-#endif
+ winDebug ("winGetSpans - DRAWABLE_PIXMAP %08x\n", pDrawable);
pPixmap = (PixmapPtr) pDrawable;
pPixmapPriv = winGetPixmapPriv(pPixmap);
@@ -98,12 +96,6 @@ winGetSpansNativeGDI(DrawablePtr pDrawable,
SelectObject(hdcMem, hbmpOrig);
DeleteObject(hbmpWindow);
-#if 0
- ErrorF("(%dx%dx%d) (%d,%d) w: %d\n",
- pDrawable->width, pDrawable->height, pDrawable->depth,
- pPoint->x, pPoint->y, *piWidth);
-#endif
-
/* Calculate offset of next bit destination */
pDst += PixmapBytePad(*piWidth, pDrawable->depth);
}
@@ -117,9 +109,6 @@ winGetSpansNativeGDI(DrawablePtr pDrawable,
break;
case DRAWABLE_WINDOW:
-#if 0
- ErrorF("winGetSpans - DRAWABLE_WINDOW\n");
-#endif
/* Open a memory HDC */
hdcMem = CreateCompatibleDC(NULL);
@@ -150,12 +139,6 @@ winGetSpansNativeGDI(DrawablePtr pDrawable,
DeleteObject(hbmpWindow);
-#if 0
- ErrorF("(%dx%dx%d) (%d,%d) w: %d\n",
- pDrawable->width, pDrawable->height, pDrawable->depth,
- pPoint->x, pPoint->y, *piWidth);
-#endif
-
/* Calculate offset of next bit destination */
pDst += PixmapBytePad(*piWidth, pDrawable->depth);
}
diff --git a/xorg-server/hw/xwin/winglobals.c b/xorg-server/hw/xwin/winglobals.c
index b9ad294d5..54e5e0ba2 100644
--- a/xorg-server/hw/xwin/winglobals.c
+++ b/xorg-server/hw/xwin/winglobals.c
@@ -78,6 +78,7 @@ Bool g_fNoHelpMessageBox = FALSE;
Bool g_fSoftwareCursor = FALSE;
Bool g_fSilentDupError = FALSE;
Bool g_fNativeGl = TRUE;
+Bool g_fswrastwgl = FALSE;
Bool g_fHostInTitle = FALSE;
pthread_mutex_t g_pmTerminating = PTHREAD_MUTEX_INITIALIZER;
@@ -94,6 +95,7 @@ winDispatchProcPtr winProcSetSelectionOwnerOrig = NULL;
Bool g_fUnicodeClipboard = TRUE;
Bool g_fClipboard = TRUE;
+Bool g_fClipboardPrimary = TRUE;
Bool g_fClipboardLaunched = FALSE;
Bool g_fClipboardStarted = FALSE;
pthread_t g_ptClipboardProc;
@@ -103,6 +105,11 @@ Window g_iClipboardWindow = None;
Atom g_atomLastOwnedSelection = None;
#endif
+const char WIN_WINDOW_PROP[]= "vcxsrv_window_prop_rl";
+const char WIN_WID_PROP[]= "vcxsrv_wid_prop_rl";
+const char WIN_NEEDMANAGE_PROP[]= "vcxsrv_override_redirect_prop_rl";
+const char WIN_SCR_PROP[]= "vcxsrv_screen_prop_rl";
+
/*
* Re-initialize global variables that are invalidated
* by a server reset.
diff --git a/xorg-server/hw/xwin/winglobals.h b/xorg-server/hw/xwin/winglobals.h
index 60c00da42..722569bf9 100644
--- a/xorg-server/hw/xwin/winglobals.h
+++ b/xorg-server/hw/xwin/winglobals.h
@@ -54,6 +54,7 @@ extern Bool g_fXdmcpEnabled;
extern Bool g_fNoHelpMessageBox;
extern Bool g_fSilentDupError;
extern Bool g_fNativeGl;
+extern Bool g_fswrastwgl;
extern Bool g_fHostInTitle;
extern HWND g_hDlgDepthChange;
diff --git a/xorg-server/hw/xwin/winkeybd.c b/xorg-server/hw/xwin/winkeybd.c
index 3a75ab268..d76ed005e 100644
--- a/xorg-server/hw/xwin/winkeybd.c
+++ b/xorg-server/hw/xwin/winkeybd.c
@@ -156,7 +156,7 @@ winKeybdProc(DeviceIntPtr pDeviceInt, int iState)
/* FIXME: Maybe we should use winGetKbdLeds () here? */
defaultKeyboardControl.leds = g_winInfo.keyboard.leds;
- winErrorFVerb(2, "Rules = \"%s\" Model = \"%s\" Layout = \"%s\""
+ winDebug("Rules = \"%s\" Model = \"%s\" Layout = \"%s\""
" Variant = \"%s\" Options = \"%s\"\n",
g_winInfo.xkb.rules ? g_winInfo.xkb.rules : "none",
g_winInfo.xkb.model ? g_winInfo.xkb.model : "none",
@@ -174,8 +174,7 @@ winKeybdProc(DeviceIntPtr pDeviceInt, int iState)
ctrl->repeat_interval = 1000 / g_winInfo.keyboard.rate;
}
else {
- winErrorFVerb(1,
- "winKeybdProc - Error initializing keyboard AutoRepeat\n");
+ winDebug ("winKeybdProc - Error initializing keyboard AutoRepeat\n");
}
break;
@@ -265,6 +264,21 @@ winRestoreModeKeyStates(void)
XkbStateFieldFromRec(&inputInfo.keyboard->key->xkbInfo->state);
winDebug("winRestoreModeKeyStates: state %d\n", internalKeyStates);
+ {
+ /* Make sure the message queue is empty, otherwise the GetKeyState will not always
+ return the correct state of the numlock key, capslock key, ...
+ This is mainly because this function is called from the WM_SETFOCUS handler.
+ From MSDN GetKeyState: The key status returned from this function changes as a thread
+ reads key messages from its message queue.*/
+ MSG msg;
+
+ /* Process all messages on our queue */
+ while (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
+ {
+ DispatchMessage (&msg);
+ }
+ }
+
/* Check if modifier keys are pressed, and if so, fake a press */
{
diff --git a/xorg-server/hw/xwin/winkeybd.h b/xorg-server/hw/xwin/winkeybd.h
index 6701f0959..545aef751 100644
--- a/xorg-server/hw/xwin/winkeybd.h
+++ b/xorg-server/hw/xwin/winkeybd.h
@@ -39,8 +39,10 @@
#define WIN_KEYMAP_COLS 3
-/* Rows 160 through 165 correspond to software-generated codes, which
- * may not be associated with the appropriate scan code.
+/* ASCII column, rows 33 through 40 are for Speech Recognition with
+ * num-lock asserted.
+ * Rows 160 through 165 correspond to software-generated codes, which
+ * may not be associated with the appropriate scan code/extended bit
*/
const int
g_iKeyMap[] = {
@@ -78,14 +80,14 @@ const int
/* 30 */ 0, 0, 0,
/* 31 */ 0, 0, 0,
/* 32 */ 0, 0, 0,
- /* 33 */ VK_PRIOR, 0, KEY_PgUp,
- /* 34 */ VK_NEXT, 0, KEY_PgDown,
- /* 35 */ VK_END, 0, KEY_End,
- /* 36 */ VK_HOME, 0, KEY_Home,
- /* 37 */ VK_LEFT, 0, KEY_Left,
- /* 38 */ VK_UP, 0, KEY_Up,
- /* 39 */ VK_RIGHT, 0, KEY_Right,
- /* 40 */ VK_DOWN, 0, KEY_Down,
+ /* 33 */ VK_PRIOR, KEY_PgUp, KEY_PgUp,
+ /* 34 */ VK_NEXT, KEY_PgDown, KEY_PgDown,
+ /* 35 */ VK_END, KEY_End, KEY_End,
+ /* 36 */ VK_HOME, KEY_Home, KEY_Home,
+ /* 37 */ VK_LEFT, KEY_Left, KEY_Left,
+ /* 38 */ VK_UP, KEY_Up, KEY_Up,
+ /* 39 */ VK_RIGHT, KEY_Right, KEY_Right,
+ /* 40 */ VK_DOWN, KEY_Down, KEY_Down,
/* 41 */ 0, 0, 0,
/* 42 */ 0, 0, 0,
/* 43 */ 0, 0, 0,
@@ -205,12 +207,12 @@ const int
/* 157 */ 0, 0, 0,
/* 158 */ 0, 0, 0,
/* 159 */ 0, 0, 0,
- /* 160 */ VK_LSHIFT, KEY_ShiftL, 0,
- /* 161 */ VK_RSHIFT, KEY_ShiftR, 0,
- /* 162 */ VK_LCONTROL, KEY_LCtrl, 0,
- /* 163 */ VK_RCONTROL, KEY_RCtrl, 0,
- /* 164 */ VK_LMENU, KEY_Alt, 0,
- /* 165 */ VK_RMENU, KEY_AltLang, 0,
+ /* 160 */ VK_LSHIFT, KEY_ShiftL, KEY_ShiftL,
+ /* 161 */ VK_RSHIFT, KEY_ShiftR, KEY_ShiftR,
+ /* 162 */ VK_LCONTROL, KEY_LCtrl, KEY_LCtrl,
+ /* 163 */ VK_RCONTROL, KEY_RCtrl, KEY_RCtrl,
+ /* 164 */ VK_LMENU, KEY_Alt, KEY_Alt,
+ /* 165 */ VK_RMENU, KEY_AltLang, KEY_AltLang,
/* 166 */ 0, 0, 0,
/* 167 */ 0, 0, 0,
/* 168 */ 0, 0, 0,
@@ -268,7 +270,7 @@ const int
/* 220 */ 0, 0, 0,
/* 221 */ 0, 0, 0,
/* 222 */ 0, 0, 0,
- /* 223 */ VK_OEM_8, 0, KEY_RCtrl,
+ /* 223 */ VK_OEM_8, 0, KEY_RCtrl,
/* at least on Canadian Multilingual Standard layout */
/* 224 */ 0, 0, 0,
/* 225 */ 0, 0, 0,
@@ -301,7 +303,7 @@ const int
/* 252 */ 0, 0, 0,
/* 253 */ 0, 0, 0,
/* 254 */ 0, 0, 0,
- /* 255 */ VK_FN, 0, KEY_Fn
+ /* 255 */ VK_FN, 0, KEY_Fn
/* Most keyboards don't generate a scancode for Fn, but a few do... */
};
diff --git a/xorg-server/hw/xwin/winlayouts.h b/xorg-server/hw/xwin/winlayouts.h
index 8b6b98407..0aae18b00 100644
--- a/xorg-server/hw/xwin/winlayouts.h
+++ b/xorg-server/hw/xwin/winlayouts.h
@@ -64,6 +64,7 @@ WinKBLayoutRec winKBLayouts[] = {
{0x0000040b, -1, "pc105", "fi", NULL, NULL, "Finnish"},
{0x0000040c, -1, "pc105", "fr", NULL, NULL, "French (Standard)"},
{0x0000080c, -1, "pc105", "be", NULL, NULL, "French (Belgian)"},
+ {0x0001080c, -1, "pc105", "be", NULL, NULL, "Belgian (Comma)"},
{0x00000c0c, -1, "pc105", "ca", "fr-legacy", NULL,
"French (Canada, Legacy)"},
{0x0000100c, -1, "pc105", "ch", "fr", NULL, "French (Switzerland)"},
diff --git a/xorg-server/hw/xwin/winmisc.c b/xorg-server/hw/xwin/winmisc.c
index 10f97322f..f810ed073 100644
--- a/xorg-server/hw/xwin/winmisc.c
+++ b/xorg-server/hw/xwin/winmisc.c
@@ -44,7 +44,7 @@ void
winQueryBestSizeNativeGDI(int class, unsigned short *pWidth,
unsigned short *pHeight, ScreenPtr pScreen)
{
- ErrorF("winQueryBestSizeNativeGDI\n");
+ winDebug ("winQueryBestSizeNativeGDI\n");
}
#endif
diff --git a/xorg-server/hw/xwin/winmonitors.c b/xorg-server/hw/xwin/winmonitors.c
index 955fb9214..916b8b0bb 100644
--- a/xorg-server/hw/xwin/winmonitors.c
+++ b/xorg-server/hw/xwin/winmonitors.c
@@ -32,6 +32,8 @@ from The Open Group.
#endif
#include "win.h"
+#define COMPILE_MULTIMON_STUBS
+#include <multimon.h>
#include "winmonitors.h"
/*
@@ -68,7 +70,5 @@ QueryMonitor(int i, struct GetMonitorInfoData *data)
data->requestedMonitor = i;
/* query information */
- EnumDisplayMonitors(NULL, NULL, getMonitorInfo, (LPARAM) data);
-
- return TRUE;
+ return !EnumDisplayMonitors(NULL, NULL, getMonitorInfo, (LPARAM) data);
}
diff --git a/xorg-server/hw/xwin/winmouse.c b/xorg-server/hw/xwin/winmouse.c
index bbe21cba6..6b293f0ab 100644
--- a/xorg-server/hw/xwin/winmouse.c
+++ b/xorg-server/hw/xwin/winmouse.c
@@ -36,6 +36,13 @@
#endif
#include "win.h"
+#ifdef XKB
+#ifndef XKB_IN_SERVER
+#define XKB_IN_SERVER
+#endif
+#include <xkbsrv.h>
+#endif
+
#include "inputstr.h"
#include "exevents.h" /* for button/axes labels */
#include "xserver-properties.h"
@@ -45,18 +52,6 @@
static CARD8 const *g_winMouseButtonMap = NULL;
/*
- * Local prototypes
- */
-
-static void
- winMouseCtrl(DeviceIntPtr pDevice, PtrCtrl * pCtrl);
-
-static void
-winMouseCtrl(DeviceIntPtr pDevice, PtrCtrl * pCtrl)
-{
-}
-
-/*
* See Porting Layer Definition - p. 18
* This is known as a DeviceProc
*/
@@ -75,7 +70,7 @@ winMouseProc(DeviceIntPtr pDeviceInt, int iState)
case DEVICE_INIT:
/* Get number of mouse buttons */
lngMouseButtons = GetSystemMetrics(SM_CMOUSEBUTTONS);
- winMsg(X_PROBED, "%d mouse buttons found\n", lngMouseButtons);
+ winDebug("%d mouse buttons found\n", lngMouseButtons);
/* Mapping of windows events to X events:
* LEFT:1 MIDDLE:2 RIGHT:3
@@ -122,7 +117,7 @@ winMouseProc(DeviceIntPtr pDeviceInt, int iState)
map,
lngMouseButtons + lngWheelEvents,
btn_labels,
- winMouseCtrl,
+ (PtrCtrlProcPtr)NoopDDA,
GetMotionHistorySize(), 2, axes_labels);
free(map);
@@ -231,10 +226,8 @@ winMouseButtonsSendEvent(int iEventType, int iButton)
QueuePointerEvents(g_pwinPointer, iEventType, iButton,
POINTER_RELATIVE, &mask);
-#if CYGDEBUG
- ErrorF("winMouseButtonsSendEvent: iEventType: %d, iButton: %d\n",
+ winDebug("winMouseButtonsSendEvent: iEventType: %d, iButton: %d\n",
iEventType, iButton);
-#endif
}
/*
diff --git a/xorg-server/hw/xwin/winmsg.c b/xorg-server/hw/xwin/winmsg.c
index 56e7a097c..7831a3b36 100644
--- a/xorg-server/hw/xwin/winmsg.c
+++ b/xorg-server/hw/xwin/winmsg.c
@@ -33,72 +33,16 @@
#endif
#include "win.h"
#include "winmsg.h"
-#if CYGDEBUG
+#ifdef WINDBG
#include "winmessages.h"
#endif
#include <stdarg.h>
-void
-winVMsg(int, MessageType, int verb, const char *, va_list)
-_X_ATTRIBUTE_PRINTF(4, 0);
-
-void
-winVMsg(int scrnIndex, MessageType type, int verb, const char *format,
- va_list ap)
-{
- LogVMessageVerb(type, verb, format, ap);
-}
+#ifdef WINDBG
-void
-winDrvMsg(int scrnIndex, MessageType type, const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
- LogVMessageVerb(type, 0, format, ap);
- va_end(ap);
-}
-void
-winMsg(MessageType type, const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
- LogVMessageVerb(type, 1, format, ap);
- va_end(ap);
-}
-
-void
-winDrvMsgVerb(int scrnIndex, MessageType type, int verb, const char *format,
- ...)
-{
- va_list ap;
-
- va_start(ap, format);
- LogVMessageVerb(type, verb, format, ap);
- va_end(ap);
-}
-
-void
-winMsgVerb(MessageType type, int verb, const char *format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- LogVMessageVerb(type, verb, format, ap);
- va_end(ap);
-}
-
-void
-winErrorFVerb(int verb, const char *format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- LogVMessageVerb(X_NONE, verb, format, ap);
- va_end(ap);
-}
void
winDebug(const char *format, ...)
@@ -111,23 +55,24 @@ winDebug(const char *format, ...)
}
void
-winTrace(const char *format, ...)
+winDebug4 (const char *format, ...)
{
va_list ap;
va_start(ap, format);
- LogVMessageVerb(X_NONE, 10, format, ap);
+ LogVMessageVerb(X_NONE, 4, format, ap);
va_end(ap);
}
+#endif
void
-winW32Error(int verb, const char *msg)
+winW32Error(const char *msg)
{
- winW32ErrorEx(verb, msg, GetLastError());
+ winW32ErrorEx(msg, GetLastError());
}
void
-winW32ErrorEx(int verb, const char *msg, DWORD errorcode)
+winW32ErrorEx(const char *msg, DWORD errorcode)
{
LPVOID buffer;
@@ -138,15 +83,16 @@ winW32ErrorEx(int verb, const char *msg, DWORD errorcode)
errorcode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &buffer, 0, NULL)) {
- winErrorFVerb(verb, "Unknown error in FormatMessage!\n");
+ ErrorF(msg);
+ ErrorF("Unknown error in FormatMessage!\n");
}
else {
- winErrorFVerb(verb, "%s %s", msg, (char *) buffer);
+ ErrorF("%s %s", msg, (char *)buffer);
LocalFree(buffer);
}
}
-#if CYGDEBUG
+#ifdef WINDBG
void
winDebugWin32Message(const char *function, HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam)
@@ -175,10 +121,4 @@ winDebugWin32Message(const char *function, HWND hwnd, UINT message,
}
}
}
-#else
-void
-winDebugWin32Message(const char *function, HWND hwnd, UINT message,
- WPARAM wParam, LPARAM lParam)
-{
-}
#endif
diff --git a/xorg-server/hw/xwin/winmsg.h b/xorg-server/hw/xwin/winmsg.h
index b638f2cb3..beb6683ed 100644
--- a/xorg-server/hw/xwin/winmsg.h
+++ b/xorg-server/hw/xwin/winmsg.h
@@ -33,33 +33,21 @@
/*
* Function prototypes
*/
+
+#include "os.h"
-void
-winDrvMsgVerb(int scrnIndex,
- MessageType type, int verb, const char *format, ...)
-_X_ATTRIBUTE_PRINTF(4, 5);
-void
-winDrvMsg(int scrnIndex, MessageType type, const char *format, ...)
-_X_ATTRIBUTE_PRINTF(3, 4);
-void
-winMsgVerb(MessageType type, int verb, const char *format, ...)
-_X_ATTRIBUTE_PRINTF(3, 4);
-void
-winMsg(MessageType type, const char *format, ...)
-_X_ATTRIBUTE_PRINTF(2, 3);
-void
-winDebug(const char *format, ...)
-_X_ATTRIBUTE_PRINTF(1, 2);
-void
-winTrace(const char *format, ...)
-_X_ATTRIBUTE_PRINTF(1, 2);
+#if !defined(_MSC_VER) || defined(_DEBUG)
+#define WINDBG
+void winDebug (const char *format, ...);
+void winDebug4 (const char *format, ...);
+void winDebugWin32Message(const char* function, HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
+#else
+#define winDebug(...)
+#define winDebug4(...)
+#define winDebugWin32Message(...)
+#endif
-void
-winErrorFVerb(int verb, const char *format, ...)
-_X_ATTRIBUTE_PRINTF(2, 3);
-void winW32Error(int verb, const char *message);
-void winW32ErrorEx(int verb, const char *message, DWORD errorcode);
-void winDebugWin32Message(const char *function, HWND hwnd, UINT message,
- WPARAM wParam, LPARAM lParam);
+void winW32Error(const char *message);
+void winW32ErrorEx(const char *message, DWORD errorcode);
#endif
diff --git a/xorg-server/hw/xwin/winmsgwindow.c b/xorg-server/hw/xwin/winmsgwindow.c
index 59f1da503..e48a46af7 100644
--- a/xorg-server/hw/xwin/winmsgwindow.c
+++ b/xorg-server/hw/xwin/winmsgwindow.c
@@ -25,7 +25,6 @@
#ifdef HAVE_XWIN_CONFIG_H
#include <xwin-config.h>
#endif
-
#include "win.h"
/*
diff --git a/xorg-server/hw/xwin/winmultiwindowclass.c b/xorg-server/hw/xwin/winmultiwindowclass.c
index 6787332a3..ec283610e 100644
--- a/xorg-server/hw/xwin/winmultiwindowclass.c
+++ b/xorg-server/hw/xwin/winmultiwindowclass.c
@@ -134,8 +134,9 @@ winMultiWindowGetWMHints(WindowPtr pWin, WinXWMHints * hints)
memset(hints, 0, sizeof(WinXWMHints));
while (prop) {
- if (prop->propertyName == XA_WM_HINTS && prop->data) {
- memcpy(hints, prop->data, sizeof(WinXWMHints));
+ if (prop->propertyName == XA_WM_HINTS && prop->data
+ && prop->format == 32) {
+ memcpy (hints, prop->data, 4*(int)prop->size); /* format/8 = 4 */
return 1;
}
else
@@ -208,8 +209,9 @@ winMultiWindowGetWMNormalHints(WindowPtr pWin, WinXSizeHints * hints)
memset(hints, 0, sizeof(WinXSizeHints));
while (prop) {
- if (prop->propertyName == XA_WM_NORMAL_HINTS && prop->data) {
- memcpy(hints, prop->data, sizeof(WinXSizeHints));
+ if (prop->propertyName == XA_WM_NORMAL_HINTS && prop->data
+ && prop->format == 32) {
+ memcpy (hints, prop->data, 4*(int)prop->size); /* format/8 = 4 */
return 1;
}
else
@@ -241,9 +243,11 @@ winMultiWindowGetTransientFor(WindowPtr pWin, Window *pDaddyId)
*pDaddyId = 0;
while (prop) {
- if (prop->propertyName == XA_WM_TRANSIENT_FOR) {
+ if (prop->propertyName == XA_WM_TRANSIENT_FOR
+ && prop->format == 32
+ && prop->data) {
if (pDaddyId)
- memcpy(pDaddyId, prop->data, sizeof(Window));
+ memcpy (pDaddyId, prop->data, 4*(int)prop->size); /* format/8 = 4 */
return 1;
}
else
diff --git a/xorg-server/hw/xwin/winmultiwindowclass.h b/xorg-server/hw/xwin/winmultiwindowclass.h
index 3244f78e3..cb47ce943 100644
--- a/xorg-server/hw/xwin/winmultiwindowclass.h
+++ b/xorg-server/hw/xwin/winmultiwindowclass.h
@@ -47,16 +47,6 @@ typedef struct {
/* this structure may be extended in the future */
} WinXWMHints;
-/* Window manager hints mask bits */
-#define InputHint (1L << 0)
-#define StateHint (1L << 1)
-#define IconPixmapHint (1L << 2)
-#define IconWindowHint (1L << 3)
-#define IconPositionHint (1L << 4)
-#define IconMaskHint (1L << 5)
-#define WindowGroupHint (1L << 6)
-#define UrgencyHint (1L << 8)
-#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint|IconPositionHint|IconMaskHint|WindowGroupHint)
/*
* new version containing base_width, base_height, and win_gravity fields;
diff --git a/xorg-server/hw/xwin/winmultiwindowicons.c b/xorg-server/hw/xwin/winmultiwindowicons.c
index 93d389d46..5ffc24278 100644
--- a/xorg-server/hw/xwin/winmultiwindowicons.c
+++ b/xorg-server/hw/xwin/winmultiwindowicons.c
@@ -237,18 +237,20 @@ NetWMToWinIconAlpha(uint32_t * icon)
HDC hdc = GetDC(NULL);
uint32_t *DIB_pixels;
ICONINFO ii;
- BITMAPV4HEADER bmh = { sizeof(bmh) };
+ BITMAPV5HEADER bmh;
/* Define an ARGB pixel format used for Color+Alpha icons */
- bmh.bV4Width = width;
- bmh.bV4Height = -height; /* Invert the image */
- bmh.bV4Planes = 1;
- bmh.bV4BitCount = 32;
- bmh.bV4V4Compression = BI_BITFIELDS;
- bmh.bV4AlphaMask = 0xFF000000;
- bmh.bV4RedMask = 0x00FF0000;
- bmh.bV4GreenMask = 0x0000FF00;
- bmh.bV4BlueMask = 0x000000FF;
+ ZeroMemory(&bmh,sizeof(bmh));
+ bmh.bV5Size = sizeof(bmh);
+ bmh.bV5Width = width;
+ bmh.bV5Height = -height; /* Invert the image */
+ bmh.bV5Planes = 1;
+ bmh.bV5BitCount = 32;
+ bmh.bV5Compression = BI_BITFIELDS;
+ bmh.bV5AlphaMask = 0xFF000000;
+ bmh.bV5RedMask = 0x00FF0000;
+ bmh.bV5GreenMask = 0x0000FF00;
+ bmh.bV5BlueMask = 0x000000FF;
ii.fIcon = TRUE;
ii.xHotspot = 0; /* ignored */
@@ -351,7 +353,7 @@ NetWMToWinIcon(int bpp, uint32_t * icon)
dwlConditionMask);
versionChecked = TRUE;
- ErrorF("OS has icon alpha channel support: %s\n",
+ winDebug("OS has icon alpha channel support: %s\n",
hasIconAlphaChannel ? "yes" : "no");
}
diff --git a/xorg-server/hw/xwin/winmultiwindowshape.c b/xorg-server/hw/xwin/winmultiwindowshape.c
index cb0f38950..0a00e79ee 100644
--- a/xorg-server/hw/xwin/winmultiwindowshape.c
+++ b/xorg-server/hw/xwin/winmultiwindowshape.c
@@ -46,9 +46,7 @@ winSetShapeMultiWindow(WindowPtr pWin, int kind)
winScreenPriv(pScreen);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winSetShapeMultiWindow - pWin: %08x kind: %i\n", pWin, kind);
-#endif
+ winDebug ("winSetShapeMultiWindow - pWin: %08x kind: %i\n", pWin, kind);
WIN_UNWRAP(SetShape);
(*pScreen->SetShape) (pWin, kind);
@@ -89,9 +87,7 @@ winReshapeMultiWindow(WindowPtr pWin)
winWindowPriv(pWin);
-#if CYGDEBUG
winDebug("winReshape ()\n");
-#endif
/* Bail if the window is the root window */
if (pWin->parent == NULL)
@@ -197,3 +193,14 @@ winReshapeMultiWindow(WindowPtr pWin)
return;
}
+
+void
+winShapeRgnUpdateMultiwindow(HWND hwnd)
+{
+ WindowPtr pWin = GetProp (hwnd, WIN_WINDOW_PROP);
+ if (pWin)
+ {
+ winReshapeMultiWindow(pWin);
+ winUpdateRgnMultiWindow(pWin);
+ }
+}
diff --git a/xorg-server/hw/xwin/winmultiwindowwindow.c b/xorg-server/hw/xwin/winmultiwindowwindow.c
index f2e7907b8..2439ddb67 100644
--- a/xorg-server/hw/xwin/winmultiwindowwindow.c
+++ b/xorg-server/hw/xwin/winmultiwindowwindow.c
@@ -83,7 +83,7 @@ winInitMultiWindowClass(void)
wcx.hIconSm = hIconSmall;
#if CYGMULTIWINDOW_DEBUG
- ErrorF("winCreateWindowsWindow - Creating class: %s\n", WINDOW_CLASS_X);
+ winDebug ("winCreateWindowsWindow - Creating class: %s\n", WINDOW_CLASS_X);
#endif
atomXWinClass = RegisterClassEx(&wcx);
@@ -104,7 +104,7 @@ winCreateWindowMultiWindow(WindowPtr pWin)
winScreenPriv(pScreen);
#if CYGMULTIWINDOW_DEBUG
- winTrace("winCreateWindowMultiWindow - pWin: %p\n", pWin);
+ winDebug ("winCreateWindowMultiWindow - pWin: %p\n", pWin);
#endif
WIN_UNWRAP(CreateWindow);
@@ -137,7 +137,7 @@ winDestroyWindowMultiWindow(WindowPtr pWin)
winScreenPriv(pScreen);
#if CYGMULTIWINDOW_DEBUG
- ErrorF("winDestroyWindowMultiWindow - pWin: %p\n", pWin);
+ winDebug ("winDestroyWindowMultiWindow - pWin: %p\n", pWin);
#endif
WIN_UNWRAP(DestroyWindow);
@@ -175,30 +175,29 @@ winPositionWindowMultiWindow(WindowPtr pWin, int x, int y)
RECT rcNew;
RECT rcOld;
-#if CYGMULTIWINDOW_DEBUG
+#ifdef WINDBG
RECT rcClient;
RECT *lpRc;
#endif
DWORD dwExStyle;
DWORD dwStyle;
-#if CYGMULTIWINDOW_DEBUG
- winTrace("winPositionWindowMultiWindow - pWin: %p\n", pWin);
-#endif
+ winDebug ("winPositionWindowMultiWindow - pWin: %p\n", pWin);
WIN_UNWRAP(PositionWindow);
fResult = (*pScreen->PositionWindow) (pWin, x, y);
WIN_WRAP(PositionWindow, winPositionWindowMultiWindow);
-#if CYGWINDOWING_DEBUG
- ErrorF("winPositionWindowMultiWindow: (x, y) = (%d, %d)\n", x, y);
-#endif
+ winDebug ("winPositionWindowMultiWindow: (x, y) = (%d, %d)\n", x, y);
/* Bail out if the Windows window handle is bad */
if (!hWnd) {
-#if CYGWINDOWING_DEBUG
- ErrorF("\timmediately return since hWnd is NULL\n");
-#endif
+ winDebug ("\timmediately return since hWnd is NULL\n");
+ if (pWin->redirectDraw != RedirectDrawNone)
+ {
+ winDebug("winPositionWindowMultiWindow: Calling compReallocPixmap to make sure the pixmap buffer is valid.\n");
+ compReallocPixmap(pWin, x, y, pWin->drawable.width, pWin->drawable.height, pWin->borderWidth);
+ }
return fResult;
}
@@ -219,7 +218,7 @@ winPositionWindowMultiWindow(WindowPtr pWin, int x, int y)
#if CYGMULTIWINDOW_DEBUG
lpRc = &rcNew;
- ErrorF("winPositionWindowMultiWindow - (%d ms)drawable (%d, %d)-(%d, %d)\n",
+ winDebug ("winPositionWindowMultiWindow - (%d ms)drawable (%d, %d)-(%d, %d)\n",
GetTickCount(), lpRc->left, lpRc->top, lpRc->right, lpRc->bottom);
#endif
@@ -237,37 +236,41 @@ winPositionWindowMultiWindow(WindowPtr pWin, int x, int y)
GetClientRect(hWnd, &rcClient);
lpRc = &rcNew;
- ErrorF("winPositionWindowMultiWindow - (%d ms)rcNew (%d, %d)-(%d, %d)\n",
+ winDebug ("winPositionWindowMultiWindow - (%d ms)rcNew (%d, %d)-(%d, %d)\n",
GetTickCount(), lpRc->left, lpRc->top, lpRc->right, lpRc->bottom);
lpRc = &rcOld;
- ErrorF("winPositionWindowMultiWindow - (%d ms)rcOld (%d, %d)-(%d, %d)\n",
+ winDebug ("winPositionWindowMultiWindow - (%d ms)rcOld (%d, %d)-(%d, %d)\n",
GetTickCount(), lpRc->left, lpRc->top, lpRc->right, lpRc->bottom);
lpRc = &rcClient;
- ErrorF("(%d ms)rcClient (%d, %d)-(%d, %d)\n",
+ winDebug ("(%d ms)rcClient (%d, %d)-(%d, %d)\n",
GetTickCount(), lpRc->left, lpRc->top, lpRc->right, lpRc->bottom);
#endif
/* Check if the old rectangle and new rectangle are the same */
if (!EqualRect(&rcNew, &rcOld)) {
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winPositionWindowMultiWindow - Need to move\n");
-#endif
-
-#if CYGWINDOWING_DEBUG
- ErrorF("\tMoveWindow to (%ld, %ld) - %ldx%ld\n", rcNew.left, rcNew.top,
+ winDebug ("winPositionWindowMultiWindow - Need to move\n");
+ winDebug ("\tMoveWindow to (%ld, %ld) - %ldx%ld\n", rcNew.left, rcNew.top,
rcNew.right - rcNew.left, rcNew.bottom - rcNew.top);
-#endif
+
/* Change the position and dimensions of the Windows window */
- MoveWindow(hWnd,
- rcNew.left, rcNew.top,
- rcNew.right - rcNew.left, rcNew.bottom - rcNew.top, TRUE);
+ if (pWinPriv->fWglUsed)
+ {
+ int iWidth=rcNew.right - rcNew.left;
+ int iHeight=rcNew.bottom - rcNew.top;
+ ScreenToClient(GetParent(hWnd), (LPPOINT)&rcNew);
+ MoveWindow (hWnd,
+ rcNew.left, rcNew.top,
+ iWidth, iHeight, TRUE);
+ }
+ else
+ MoveWindow (hWnd,
+ rcNew.left, rcNew.top,
+ rcNew.right - rcNew.left, rcNew.bottom - rcNew.top, TRUE);
}
else {
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winPositionWindowMultiWindow - Not need to move\n");
-#endif
+ winDebug ("winPositionWindowMultiWindow - Not need to move\n");
}
return fResult;
@@ -285,9 +288,7 @@ winChangeWindowAttributesMultiWindow(WindowPtr pWin, unsigned long mask)
winScreenPriv(pScreen);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winChangeWindowAttributesMultiWindow - pWin: %08x\n", pWin);
-#endif
+ winDebug ("winChangeWindowAttributesMultiWindow - pWin: %08x\n", pWin);
WIN_UNWRAP(ChangeWindowAttributes);
fResult = (*pScreen->ChangeWindowAttributes) (pWin, mask);
@@ -315,7 +316,7 @@ winUnmapWindowMultiWindow(WindowPtr pWin)
winScreenPriv(pScreen);
#if CYGMULTIWINDOW_DEBUG
- ErrorF("winUnmapWindowMultiWindow - pWin: %08x\n", pWin);
+ winDebug ("winUnmapWindowMultiWindow - pWin: %08x\n", pWin);
#endif
WIN_UNWRAP(UnrealizeWindow);
@@ -346,7 +347,7 @@ winMapWindowMultiWindow(WindowPtr pWin)
winScreenPriv(pScreen);
#if CYGMULTIWINDOW_DEBUG
- ErrorF("winMapWindowMultiWindow - pWin: %08x\n", pWin);
+ winDebug ("winMapWindowMultiWindow - pWin: %08x\n", pWin);
#endif
WIN_UNWRAP(RealizeWindow);
@@ -398,76 +399,23 @@ winReparentWindowMultiWindow(WindowPtr pWin, WindowPtr pPriorParent)
void
winRestackWindowMultiWindow(WindowPtr pWin, WindowPtr pOldNextSib)
{
-#if 0
- WindowPtr pPrevWin;
- UINT uFlags;
- HWND hInsertAfter;
- HWND hWnd = NULL;
-#endif
ScreenPtr pScreen = pWin->drawable.pScreen;
winScreenPriv(pScreen);
-#if CYGMULTIWINDOW_DEBUG || CYGWINDOWING_DEBUG
- winTrace("winRestackMultiWindow - %08x\n", pWin);
-#endif
+ winDebug ("winRestackMultiWindow - %08x\n", pWin);
WIN_UNWRAP(RestackWindow);
if (pScreen->RestackWindow)
(*pScreen->RestackWindow) (pWin, pOldNextSib);
WIN_WRAP(RestackWindow, winRestackWindowMultiWindow);
-#if 1
/*
* Calling winReorderWindowsMultiWindow here means our window manager
* (i.e. Windows Explorer) has initiative to determine Z order.
*/
if (pWin->nextSib != pOldNextSib)
winReorderWindowsMultiWindow();
-#else
- /* Bail out if no window privates or window handle is invalid */
- if (!pWinPriv || !pWinPriv->hWnd)
- return;
-
- /* Get a pointer to our previous sibling window */
- pPrevWin = pWin->prevSib;
-
- /*
- * Look for a sibling window with
- * valid privates and window handle
- */
- while (pPrevWin && !winGetWindowPriv(pPrevWin)
- && !winGetWindowPriv(pPrevWin)->hWnd)
- pPrevWin = pPrevWin->prevSib;
-
- /* Check if we found a valid sibling */
- if (pPrevWin) {
- /* Valid sibling - get handle to insert window after */
- hInsertAfter = winGetWindowPriv(pPrevWin)->hWnd;
- uFlags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE;
-
- hWnd = GetNextWindow(pWinPriv->hWnd, GW_HWNDPREV);
-
- do {
- if (GetProp(hWnd, WIN_WINDOW_PROP)) {
- if (hWnd == winGetWindowPriv(pPrevWin)->hWnd) {
- uFlags |= SWP_NOZORDER;
- }
- break;
- }
- hWnd = GetNextWindow(hWnd, GW_HWNDPREV);
- }
- while (hWnd);
- }
- else {
- /* No valid sibling - make this window the top window */
- hInsertAfter = HWND_TOP;
- uFlags = SWP_NOMOVE | SWP_NOSIZE;
- }
-
- /* Perform the restacking operation in Windows */
- SetWindowPos(pWinPriv->hWnd, hInsertAfter, 0, 0, 0, 0, uFlags);
-#endif
}
/*
@@ -502,15 +450,36 @@ winCreateWindowsWindow(WindowPtr pWin)
iHeight = pWin->drawable.height;
/* If it's an InputOutput window, and so is going to end up being made visible,
- make sure the window actually ends up somewhere where it will be visible */
+ make sure the window actually ends up somewhere where it will be visible
+ Dont't do it by making just one of the two iX and iY CW_USEDEFAULT since
+ this will create a window at place CW_USEDEFAULT which is 0x80000000 */
if (pWin->drawable.class != InputOnly) {
- if ((iX < GetSystemMetrics(SM_XVIRTUALSCREEN)) ||
- (iX > GetSystemMetrics(SM_CXVIRTUALSCREEN)))
- iX = CW_USEDEFAULT;
-
- if ((iY < GetSystemMetrics(SM_YVIRTUALSCREEN)) ||
- (iY > GetSystemMetrics(SM_CYVIRTUALSCREEN)))
- iY = CW_USEDEFAULT;
+ while (1) {
+ if (iX < GetSystemMetrics (SM_XVIRTUALSCREEN)) {
+ iX = GetSystemMetrics (SM_XVIRTUALSCREEN);
+ ErrorF("Resetting iX to %d\n",iX);
+ }
+ else if (iX > GetSystemMetrics (SM_CXVIRTUALSCREEN))
+ {
+ iX = GetSystemMetrics (SM_CXVIRTUALSCREEN)-iWidth;
+ ErrorF("Resetting iX to %d\n",iX);
+ }
+ else
+ break;
+ }
+
+ while (1) {
+ if (iY < GetSystemMetrics (SM_YVIRTUALSCREEN)) {
+ iY = GetSystemMetrics (SM_YVIRTUALSCREEN);
+ ErrorF("Resetting iY to %d\n",iY);
+ }
+ else if (iY > GetSystemMetrics (SM_CYVIRTUALSCREEN)) {
+ iY = GetSystemMetrics (SM_CYVIRTUALSCREEN)-iHeight;
+ ErrorF("Resetting iY to %d\n",iY);
+ }
+ else
+ break;
+ }
}
winDebug("winCreateWindowsWindow - %dx%d @ %dx%d\n", iWidth, iHeight, iX,
@@ -577,16 +546,20 @@ winCreateWindowsWindow(WindowPtr pWin)
}
pWinPriv->hWnd = hWnd;
+ /* If we asked the native WM to place the window, synchronize the X window position.
+ Do this before the next SetWindowPos because this one is generating a WM_STYLECHANGED
+ message which is causing a window move, which is wrong if the Xwindow does not
+ have the correct coordinates yet */
+ if (iX == CW_USEDEFAULT) {
+ winAdjustXWindow(pWin, hWnd);
+ }
/* Change style back to popup, already placed... */
SetWindowLongPtr(hWnd, GWL_STYLE,
WS_POPUP | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
SetWindowPos(hWnd, 0, 0, 0, 0, 0,
SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE |
SWP_NOACTIVATE);
-
- /* Adjust the X window to match the window placement we actually got... */
- winAdjustXWindow(pWin, hWnd);
-
+
/* Make sure it gets the proper system menu for a WS_POPUP, too */
GetSystemMenu(hWnd, TRUE);
@@ -670,7 +643,7 @@ winUpdateWindowsWindow(WindowPtr pWin)
HWND hWnd = pWinPriv->hWnd;
#if CYGMULTIWINDOW_DEBUG
- ErrorF("winUpdateWindowsWindow\n");
+ winDebug("winUpdateWindowsWindow\n");
#endif
/* Check if the Windows window's parents have been destroyed */
@@ -689,13 +662,44 @@ winUpdateWindowsWindow(WindowPtr pWin)
UpdateWindow(pWinPriv->hWnd);
}
else if (hWnd != NULL) {
- /* Destroy the Windows window if its parents are destroyed */
- winDestroyWindowsWindow(pWin);
- assert(pWinPriv->hWnd == NULL);
+ if (pWinPriv->fWglUsed) {
+ /* We do not need to destroy the window but to reparent it and move it to the
+ correct place when it is an opengl window */
+ int offsetx;
+ int offsety;
+ HWND hParentWnd;
+ WindowPtr pParent=pWin->parent;
+
+ while (pParent) {
+ winWindowPriv(pParent);
+ hParentWnd=pWinPriv->hWnd;
+ if (hParentWnd)
+ break;
+ pParent=pParent->parent;
+ }
+
+ if (pParent) {
+ offsetx=pParent->drawable.x;
+ offsety=pParent->drawable.y;
+ }
+ else {
+ offsetx=0;
+ offsety=0;
+ }
+ winDebug ("-winUpdateWindowsWindow: %x changing parent to %x and moving to %d,%d\n",pWinPriv->hWnd,hParentWnd,pWin->drawable.x-offsetx,pWin->drawable.y-offsety);
+ SetParent(pWinPriv->hWnd,hParentWnd);
+ SetWindowPos(pWinPriv->hWnd,NULL,pWin->drawable.x-offsetx,pWin->drawable.y-offsety,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_SHOWWINDOW);
+ }
+ else {
+ /* Destroy the Windows window if its parents are destroyed */
+ /* First check if we need to release the DC when it is an opengl window */
+ winDestroyWindowsWindow (pWin);
+ assert (pWinPriv->hWnd == NULL);
+ }
}
#if CYGMULTIWINDOW_DEBUG
- ErrorF("-winUpdateWindowsWindow\n");
+ winDebug ("-winUpdateWindowsWindow\n");
#endif
}
@@ -713,7 +717,7 @@ winGetWindowID(WindowPtr pWin)
FindClientResourcesByType(c, RT_WINDOW, winFindWindow, &wi);
#if CYGMULTIWINDOW_DEBUG
- ErrorF("winGetWindowID - Window ID: %d\n", wi.id);
+ winDebug("winGetWindowID - Window ID: %d\n", wi.id);
#endif
return wi.id;
@@ -748,16 +752,12 @@ winReorderWindowsMultiWindow(void)
DWORD dwCurrentProcessID = GetCurrentProcessId();
DWORD dwWindowProcessID = 0;
-#if CYGMULTIWINDOW_DEBUG || CYGWINDOWING_DEBUG
- winTrace("winReorderWindowsMultiWindow\n");
-#endif
+ winDebug("winReorderWindowsMultiWindow\n");
if (fRestacking) {
/* It is a recusive call so immediately exit */
-#if CYGWINDOWING_DEBUG
- ErrorF("winReorderWindowsMultiWindow - "
+ winDebug("winReorderWindowsMultiWindow - "
"exit because fRestacking == TRUE\n");
-#endif
return;
}
fRestacking = TRUE;
@@ -809,9 +809,7 @@ winMinimizeWindow(Window id)
ScreenPtr pScreen = NULL;
winPrivScreenPtr pScreenPriv = NULL;
-#if CYGWINDOWING_DEBUG
- ErrorF("winMinimizeWindow\n");
-#endif
+ winDebug("winMinimizeWindow\n");
dixLookupResourceByType((void *) &pWin, id, RT_WINDOW, NullClient,
DixUnknownAccess);
@@ -824,7 +822,7 @@ winMinimizeWindow(Window id)
if (pScreen)
pScreenPriv = winGetScreenPriv(pScreen);
-#ifdef XWIN_MULTIWINDOWEXTWM
+#ifdef XWIN_MULTIWINDOWINTWM
if (pScreenPriv && pScreenPriv->pScreenInfo->fInternalWM) {
pRLWinPriv =
(win32RootlessWindowPtr) RootlessFrameForWindow(pWin, FALSE);
@@ -852,9 +850,8 @@ winCopyWindowMultiWindow(WindowPtr pWin, DDXPointRec oldpt, RegionPtr oldRegion)
winScreenPriv(pScreen);
-#if CYGWINDOWING_DEBUG
- ErrorF("CopyWindowMultiWindow\n");
-#endif
+ winDebug("CopyWindowMultiWindow\n");
+
WIN_UNWRAP(CopyWindow);
(*pScreen->CopyWindow) (pWin, oldpt, oldRegion);
WIN_WRAP(CopyWindow, winCopyWindowMultiWindow);
@@ -871,9 +868,7 @@ winMoveWindowMultiWindow(WindowPtr pWin, int x, int y,
winScreenPriv(pScreen);
-#if CYGWINDOWING_DEBUG
- ErrorF("MoveWindowMultiWindow to (%d, %d)\n", x, y);
-#endif
+ winDebug("MoveWindowMultiWindow to (%d, %d)\n", x, y);
WIN_UNWRAP(MoveWindow);
(*pScreen->MoveWindow) (pWin, x, y, pSib, kind);
@@ -891,9 +886,8 @@ winResizeWindowMultiWindow(WindowPtr pWin, int x, int y, unsigned int w,
winScreenPriv(pScreen);
-#if CYGWINDOWING_DEBUG
- ErrorF("ResizeWindowMultiWindow to (%d, %d) - %dx%d\n", x, y, w, h);
-#endif
+ winDebug("ResizeWindowMultiWindow to (%d, %d) - %dx%d\n", x, y, w, h);
+
WIN_UNWRAP(ResizeWindow);
(*pScreen->ResizeWindow) (pWin, x, y, w, h, pSib);
WIN_WRAP(ResizeWindow, winResizeWindowMultiWindow);
@@ -922,14 +916,10 @@ winAdjustXWindow(WindowPtr pWin, HWND hwnd)
#define WIDTH(rc) (rc.right - rc.left)
#define HEIGHT(rc) (rc.bottom - rc.top)
-#if CYGWINDOWING_DEBUG
- ErrorF("winAdjustXWindow\n");
-#endif
+ winDebug("winAdjustXWindow\n");
if (IsIconic(hwnd)) {
-#if CYGWINDOWING_DEBUG
- ErrorF("\timmediately return because the window is iconized\n");
-#endif
+ winDebug("\timmediately return because the window is iconized\n");
/*
* If the Windows window is minimized, its WindowRect has
* meaningless values so we don't adjust X window to it.
@@ -945,34 +935,26 @@ winAdjustXWindow(WindowPtr pWin, HWND hwnd)
x = pDraw->x + GetSystemMetrics(SM_XVIRTUALSCREEN);
y = pDraw->y + GetSystemMetrics(SM_YVIRTUALSCREEN);
SetRect(&rcDraw, x, y, x + pDraw->width, y + pDraw->height);
-#ifdef CYGMULTIWINDOW_DEBUG
winDebug("\tDrawable extend {%d, %d, %d, %d}, {%d, %d}\n",
rcDraw.left, rcDraw.top, rcDraw.right, rcDraw.bottom,
rcDraw.right - rcDraw.left, rcDraw.bottom - rcDraw.top);
-#endif
dwExStyle = GetWindowLongPtr(hwnd, GWL_EXSTYLE);
dwStyle = GetWindowLongPtr(hwnd, GWL_STYLE);
-#ifdef CYGMULTIWINDOW_DEBUG
winDebug("\tWindowStyle: %08x %08x\n", dwStyle, dwExStyle);
-#endif
AdjustWindowRectEx(&rcDraw, dwStyle, FALSE, dwExStyle);
/* The source of adjust */
GetWindowRect(hwnd, &rcWin);
-#ifdef CYGMULTIWINDOW_DEBUG
winDebug("\tWindow extend {%d, %d, %d, %d}, {%d, %d}\n",
rcWin.left, rcWin.top, rcWin.right, rcWin.bottom,
rcWin.right - rcWin.left, rcWin.bottom - rcWin.top);
winDebug("\tDraw extend {%d, %d, %d, %d}, {%d, %d}\n",
rcDraw.left, rcDraw.top, rcDraw.right, rcDraw.bottom,
rcDraw.right - rcDraw.left, rcDraw.bottom - rcDraw.top);
-#endif
if (EqualRect(&rcDraw, &rcWin)) {
/* Bail if no adjust is needed */
-#if CYGWINDOWING_DEBUG
- ErrorF("\treturn because already adjusted\n");
-#endif
+ winDebug("\treturn because already adjusted\n");
return 0;
}
@@ -992,10 +974,8 @@ winAdjustXWindow(WindowPtr pWin, HWND hwnd)
vlist[1] = pDraw->y + dY - wBorderWidth(pWin);
vlist[2] = pDraw->width + dW;
vlist[3] = pDraw->height + dH;
-#if CYGWINDOWING_DEBUG
- ErrorF("\tConfigureWindow to (%ld, %ld) - %ldx%ld\n", vlist[0], vlist[1],
- vlist[2], vlist[3]);
-#endif
+ winDebug("\tConfigureWindow to (%ld, %ld) - %ldx%ld\n", vlist[0], vlist[1],
+ vlist[2], vlist[3]);
return ConfigureWindow(pWin, CWX | CWY | CWWidth | CWHeight,
vlist, wClient(pWin));
diff --git a/xorg-server/hw/xwin/winmultiwindowwm.c b/xorg-server/hw/xwin/winmultiwindowwm.c
index 618e38121..45aa93016 100644..100755
--- a/xorg-server/hw/xwin/winmultiwindowwm.c
+++ b/xorg-server/hw/xwin/winmultiwindowwm.c
@@ -43,12 +43,14 @@
#include <fcntl.h>
#include <setjmp.h>
#define HANDLE void *
+#ifdef _MSC_VER
+typedef int pid_t;
+#endif
#include <pthread.h>
#undef HANDLE
#include <X11/X.h>
#include <X11/Xatom.h>
#include <X11/Xlib.h>
-#include <X11/Xlocale.h>
#include <X11/Xproto.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
@@ -59,10 +61,13 @@
#include "winprefs.h"
#include "window.h"
#include "pixmapstr.h"
+#include "winmsg.h"
#include "windowstr.h"
+#include "winmultiwindowclass.h"
#include "winglobals.h"
#ifdef XWIN_MULTIWINDOWEXTWM
+#define _WINDOWSWM_SERVER_
#include <X11/extensions/windowswmstr.h>
#else
/* We need the native HWND atom for intWM, so for consistency use the
@@ -78,9 +83,8 @@ extern void winDebug(const char *format, ...);
extern void winReshapeMultiWindow(WindowPtr pWin);
extern void winUpdateRgnMultiWindow(WindowPtr pWin);
-#ifndef CYGDEBUG
-#define CYGDEBUG NO
-#endif
+extern void winSetAuthorization(void);
+extern void winUpdateIcon(HWND hWnd, Display *pDisplay, Window id, HICON hIconNew);
/*
* Constant defines
@@ -108,7 +112,9 @@ typedef struct _WMMsgQueueRec {
struct _WMMsgNodeRec *pTail;
pthread_mutex_t pmMutex;
pthread_cond_t pcNotEmpty;
+#ifdef _DEBUG
int nQueueSize;
+#endif
} WMMsgQueueRec, *WMMsgQueuePtr;
typedef struct _WMInfo {
@@ -118,7 +124,9 @@ typedef struct _WMInfo {
Atom atmWmDelete;
Atom atmWmTakeFocus;
Atom atmPrivMap;
+#ifdef XWIN_MULTIWINDOWINTWM
Bool fAllowOtherWM;
+#endif
} WMInfoRec, *WMInfoPtr;
typedef struct _WMProcArgRec {
@@ -172,20 +180,17 @@ static int
static int
winMultiWindowXMsgProcIOErrorHandler(Display * pDisplay);
+static void
+ winMultiWindowThreadExit(void *arg);
+
static int
winRedirectErrorHandler(Display * pDisplay, XErrorEvent * pErr);
static void
winInitMultiWindowWM(WMInfoPtr pWMInfo, WMProcArgPtr pProcArg);
-#if 0
-static void
- PreserveWin32Stack(WMInfoPtr pWMInfo, Window iWindow, UINT direction);
-#endif
-
static Bool
-
-CheckAnotherWindowManager(Display * pDisplay, DWORD dwScreen,
+ CheckAnotherWindowManager(Display * pDisplay, DWORD dwScreen,
Bool fAllowOtherWM);
static void
@@ -230,46 +235,10 @@ PushMessage(WMMsgQueuePtr pQueue, WMMsgNodePtr pNode)
pQueue->pHead = pNode;
}
-#if 0
- switch (pNode->msg.msg) {
- case WM_WM_MOVE:
- ErrorF("\tWM_WM_MOVE\n");
- break;
- case WM_WM_SIZE:
- ErrorF("\tWM_WM_SIZE\n");
- break;
- case WM_WM_RAISE:
- ErrorF("\tWM_WM_RAISE\n");
- break;
- case WM_WM_LOWER:
- ErrorF("\tWM_WM_LOWER\n");
- break;
- case WM_WM_MAP:
- ErrorF("\tWM_WM_MAP\n");
- break;
- case WM_WM_MAP2:
- ErrorF("\tWM_WM_MAP2\n");
- break;
- case WM_WM_MAP3:
- ErrorF("\tWM_WM_MAP3\n");
- break;
- case WM_WM_UNMAP:
- ErrorF("\tWM_WM_UNMAP\n");
- break;
- case WM_WM_KILL:
- ErrorF("\tWM_WM_KILL\n");
- break;
- case WM_WM_ACTIVATE:
- ErrorF("\tWM_WM_ACTIVATE\n");
- break;
- default:
- ErrorF("\tUnknown Message.\n");
- break;
- }
-#endif
-
+#ifdef _DEBUG
/* Increase the count of elements in the queue by one */
++(pQueue->nQueueSize);
+#endif
/* Release the queue mutex */
pthread_mutex_unlock(&pQueue->pmMutex);
@@ -278,7 +247,7 @@ PushMessage(WMMsgQueuePtr pQueue, WMMsgNodePtr pNode)
pthread_cond_signal(&pQueue->pcNotEmpty);
}
-#if CYGMULTIWINDOW_DEBUG
+#ifdef WINDBG
/*
* QueueSize - Return the size of the queue
*/
@@ -323,12 +292,12 @@ PopMessage(WMMsgQueuePtr pQueue, WMInfoPtr pWMInfo)
pQueue->pTail = NULL;
}
+ #ifdef _DEBUG
/* Drop the number of elements in the queue by one */
--(pQueue->nQueueSize);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("Queue Size %d %d\n", pQueue->nQueueSize, QueueSize(pQueue));
-#endif
+ winDebug ("Queue Size %d %d\n", pQueue->nQueueSize, QueueSize(pQueue));
+ #endif
/* Release the queue mutex */
pthread_mutex_unlock(&pQueue->pmMutex);
@@ -374,24 +343,24 @@ InitQueue(WMMsgQueuePtr pQueue)
pQueue->pTail = NULL;
/* There are no elements initially */
+ #ifdef _DEBUG
pQueue->nQueueSize = 0;
-#if CYGMULTIWINDOW_DEBUG
winDebug("InitQueue - Queue Size %d %d\n", pQueue->nQueueSize,
QueueSize(pQueue));
-#endif
+ #endif
- winDebug("InitQueue - Calling pthread_mutex_init\n");
+ winDebug ("InitQueue - Calling pthread_mutex_init\n");
/* Create synchronization objects */
pthread_mutex_init(&pQueue->pmMutex, NULL);
- winDebug("InitQueue - pthread_mutex_init returned\n");
- winDebug("InitQueue - Calling pthread_cond_init\n");
+ winDebug ("InitQueue - pthread_mutex_init returned\n");
+ winDebug ("InitQueue - Calling pthread_cond_init\n");
pthread_cond_init(&pQueue->pcNotEmpty, NULL);
- winDebug("InitQueue - pthread_cond_init returned\n");
+ winDebug ("InitQueue - pthread_cond_init returned\n");
return TRUE;
}
@@ -440,9 +409,7 @@ GetWindowName(Display * pDisplay, Window iWin, char **ppWindowName)
char *pszClientMachine;
char hostname[HOST_NAME_MAX + 1];
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("GetWindowName\n");
-#endif
+ winDebug ("GetWindowName\n");
/* Intialize ppWindowName to NULL */
*ppWindowName = NULL;
@@ -450,9 +417,7 @@ GetWindowName(Display * pDisplay, Window iWin, char **ppWindowName)
/* Try to get window name */
nResult = XGetWMName(pDisplay, iWin, &xtpWindowName);
if (!nResult || !xtpWindowName.value || !xtpWindowName.nitems) {
-#if CYGMULTIWINDOW_DEBUG
ErrorF("GetWindowName - XGetWMName failed. No name.\n");
-#endif
return;
}
@@ -745,21 +710,23 @@ winMultiWindowWMProc(void *pArg)
WMProcArgPtr pProcArg = (WMProcArgPtr) pArg;
WMInfoPtr pWMInfo = pProcArg->pWMInfo;
+ pthread_cleanup_push(&winMultiWindowThreadExit, NULL);
+
/* Initialize the Window Manager */
winInitMultiWindowWM(pWMInfo, pProcArg);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winMultiWindowWMProc ()\n");
-#endif
+ winDebug ("winMultiWindowWMProc ()\n");
/* Loop until we explicitly break out */
for (;;) {
WMMsgNodePtr pNode;
+#ifdef XWIN_MULTIWINDOWINTWM
if (g_fAnotherWMRunning) { /* Another Window manager exists. */
Sleep(1000);
continue;
}
+#endif
/* Pop a message off of our queue */
pNode = PopMessage(&pWMInfo->wmMsgQueue, pWMInfo);
@@ -770,47 +737,26 @@ winMultiWindowWMProc(void *pArg)
pthread_exit(NULL);
}
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winMultiWindowWMProc - %d ms MSG: %d ID: %d\n",
- GetTickCount(), (int) pNode->msg.msg, (int) pNode->msg.dwID);
-#endif
+ winDebug ("winMultiWindowWMProc - %d ms MSG: %d ID: %d\n",
+ GetTickCount(), (int) pNode->msg.msg, (int) pNode->msg.dwID);
/* Branch on the message type */
switch (pNode->msg.msg) {
-#if 0
- case WM_WM_MOVE:
- ErrorF("\tWM_WM_MOVE\n");
- break;
-
- case WM_WM_SIZE:
- ErrorF("\tWM_WM_SIZE\n");
- break;
-#endif
-
case WM_WM_RAISE:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_RAISE\n");
-#endif
+ winDebug ("\tWM_WM_RAISE\n");
/* Raise the window */
XRaiseWindow(pWMInfo->pDisplay, pNode->msg.iWindow);
-#if 0
- PreserveWin32Stack(pWMInfo, pNode->msg.iWindow, GW_HWNDPREV);
-#endif
break;
case WM_WM_LOWER:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_LOWER\n");
-#endif
+ winDebug ("\tWM_WM_LOWER\n");
/* Lower the window */
XLowerWindow(pWMInfo->pDisplay, pNode->msg.iWindow);
break;
case WM_WM_MAP:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_MAP\n");
-#endif
+ winDebug ("\tWM_WM_MAP\n");
/* Put a note as to the HWND associated with this Window */
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER,
32,
@@ -821,9 +767,8 @@ winMultiWindowWMProc(void *pArg)
break;
case WM_WM_MAP2:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_MAP2\n");
-#endif
+ winDebug ("\tWM_WM_MAP2\n");
+
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER,
32,
PropModeReplace,
@@ -831,16 +776,14 @@ winMultiWindowWMProc(void *pArg)
break;
case WM_WM_MAP3:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_MAP3\n");
-#endif
+ winDebug ("\tWM_WM_MAP3\n");
+
/* Put a note as to the HWND associated with this Window */
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER,
32,
PropModeReplace,
(unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4);
UpdateName(pWMInfo, pNode->msg.iWindow);
- UpdateIcon(pWMInfo, pNode->msg.iWindow);
UpdateStyle(pWMInfo, pNode->msg.iWindow);
@@ -854,21 +797,18 @@ winMultiWindowWMProc(void *pArg)
}
}
+ UpdateIcon(pWMInfo, pNode->msg.iWindow);
break;
case WM_WM_UNMAP:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_UNMAP\n");
-#endif
+ winDebug ("\tWM_WM_UNMAP\n");
/* Unmap the window */
XUnmapWindow(pWMInfo->pDisplay, pNode->msg.iWindow);
break;
case WM_WM_KILL:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_KILL\n");
-#endif
+ winDebug ("\tWM_WM_KILL\n");
{
/* --- */
if (IsWmProtocolAvailable(pWMInfo->pDisplay,
@@ -883,9 +823,7 @@ winMultiWindowWMProc(void *pArg)
break;
case WM_WM_ACTIVATE:
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("\tWM_WM_ACTIVATE\n");
-#endif
+ winDebug ("\tWM_WM_ACTIVATE\n");
/* Set the input focus */
/*
@@ -969,9 +907,10 @@ winMultiWindowWMProc(void *pArg)
/* Free the passed-in argument */
free(pProcArg);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("-winMultiWindowWMProc ()\n");
-#endif
+ winDebug("-winMultiWindowWMProc ()\n");
+
+ pthread_cleanup_pop(0);
+
return NULL;
}
@@ -995,6 +934,8 @@ winMultiWindowXMsgProc(void *pArg)
int iReturn;
XIconSize *xis;
+ pthread_cleanup_push(&winMultiWindowThreadExit, NULL);
+
winDebug("winMultiWindowXMsgProc - Hello\n");
/* Check that argument pointer is not invalid */
@@ -1003,7 +944,7 @@ winMultiWindowXMsgProc(void *pArg)
pthread_exit(NULL);
}
- ErrorF("winMultiWindowXMsgProc - Calling pthread_mutex_lock ()\n");
+ winDebug("winMultiWindowXMsgProc - Calling pthread_mutex_lock ()\n");
/* Grab the server started mutex - pause until we get it */
iReturn = pthread_mutex_lock(pProcArg->ppmServerStarted);
@@ -1013,23 +954,12 @@ winMultiWindowXMsgProc(void *pArg)
pthread_exit(NULL);
}
- ErrorF("winMultiWindowXMsgProc - pthread_mutex_lock () returned.\n");
-
- /* Allow multiple threads to access Xlib */
- if (XInitThreads() == 0) {
- ErrorF("winMultiWindowXMsgProc - XInitThreads () failed. Exiting.\n");
- pthread_exit(NULL);
- }
-
- /* See if X supports the current locale */
- if (XSupportsLocale() == False) {
- ErrorF("winMultiWindowXMsgProc - Warning: locale not supported by X\n");
- }
+ winDebug("winMultiWindowXMsgProc - pthread_mutex_lock () returned.\n");
/* Release the server started mutex */
pthread_mutex_unlock(pProcArg->ppmServerStarted);
- ErrorF("winMultiWindowXMsgProc - pthread_mutex_unlock () returned.\n");
+ winDebug("winMultiWindowXMsgProc - pthread_mutex_unlock () returned.\n");
/* Install our error handler */
XSetErrorHandler(winMultiWindowXMsgProcErrorHandler);
@@ -1053,14 +983,10 @@ winMultiWindowXMsgProc(void *pArg)
}
/* Setup the display connection string x */
- snprintf(pszDisplay,
- 512, "127.0.0.1:%s.%d", display, (int) pProcArg->dwScreen);
+ winGetDisplayName(pszDisplay, (int)pProcArg->dwScreen);
/* Print the display connection string */
- ErrorF("winMultiWindowXMsgProc - DISPLAY=%s\n", pszDisplay);
-
- /* Use our generated cookie for authentication */
- winSetAuthorization();
+ winDebug("winMultiWindowXMsgProc - DISPLAY=%s\n", pszDisplay);
/* Initialize retry count */
iRetries = 0;
@@ -1070,8 +996,8 @@ winMultiWindowXMsgProc(void *pArg)
/* Try to open the display */
pProcArg->pDisplay = XOpenDisplay(pszDisplay);
if (pProcArg->pDisplay == NULL) {
- ErrorF("winMultiWindowXMsgProc - Could not open display, try: %d, "
- "sleeping: %d\n", iRetries + 1, WIN_CONNECT_DELAY);
+ winDebug("winMultiWindowXMsgProc - Could not open display, try: %d, "
+ "sleeping: %d\n", iRetries + 1, WIN_CONNECT_DELAY);
++iRetries;
sleep(WIN_CONNECT_DELAY);
continue;
@@ -1088,15 +1014,25 @@ winMultiWindowXMsgProc(void *pArg)
pthread_exit(NULL);
}
- ErrorF("winMultiWindowXMsgProc - XOpenDisplay () returned and "
- "successfully opened the display.\n");
+ winDebug("winMultiWindowXMsgProc - XOpenDisplay () returned and "
+ "successfully opened the display.\n");
/* Check if another window manager is already running */
+#ifdef XWIN_MULTIWINDOWINTWM
g_fAnotherWMRunning =
CheckAnotherWindowManager(pProcArg->pDisplay, pProcArg->dwScreen,
pProcArg->pWMInfo->fAllowOtherWM);
+#else
+ g_fAnotherWMRunning =
+ CheckAnotherWindowManager(pProcArg->pDisplay, pProcArg->dwScreen,
+ FALSE);
+#endif
- if (g_fAnotherWMRunning && !pProcArg->pWMInfo->fAllowOtherWM) {
+ if (g_fAnotherWMRunning
+#ifdef XWIN_MULTIWINDOWINTWM
+ && !pProcArg->pWMInfo->fAllowOtherWM
+#endif
+ ) {
ErrorF("winMultiWindowXMsgProc - "
"another window manager is running. Exiting.\n");
pthread_exit(NULL);
@@ -1109,19 +1045,13 @@ winMultiWindowXMsgProc(void *pArg)
xis->max_width = xis->max_height = 48;
xis->width_inc = xis->height_inc = 16;
XSetIconSizes(pProcArg->pDisplay,
- RootWindow(pProcArg->pDisplay, pProcArg->dwScreen),
+ XRootWindow(pProcArg->pDisplay, pProcArg->dwScreen),
xis, 1);
XFree(xis);
}
atmWmName = XInternAtom(pProcArg->pDisplay, "WM_NAME", False);
- atmWmHints = XInternAtom(pProcArg->pDisplay, "WM_HINTS", False);
atmWmChange = XInternAtom(pProcArg->pDisplay, "WM_CHANGE_STATE", False);
- atmNetWmIcon = XInternAtom(pProcArg->pDisplay, "_NET_WM_ICON", False);
- atmWindowState = XInternAtom(pProcArg->pDisplay, "_NET_WM_STATE", False);
- atmMotifWmHints = XInternAtom(pProcArg->pDisplay, "_MOTIF_WM_HINTS", False);
- atmWindowType = XInternAtom(pProcArg->pDisplay, "_NET_WM_WINDOW_TYPE", False);
- atmNormalHints = XInternAtom(pProcArg->pDisplay, "WM_NORMAL_HINTS", False);
/*
iiimxcf had a bug until 2009-04-27, assuming that the
@@ -1138,6 +1068,7 @@ winMultiWindowXMsgProc(void *pArg)
if (g_shutdown)
break;
+#ifdef XWIN_MULTIWINDOWINTWM
if (pProcArg->pWMInfo->fAllowOtherWM && !XPending(pProcArg->pDisplay)) {
if (CheckAnotherWindowManager
(pProcArg->pDisplay, pProcArg->dwScreen, TRUE)) {
@@ -1155,12 +1086,13 @@ winMultiWindowXMsgProc(void *pArg)
Sleep(500);
continue;
}
+#endif
/* Fetch next event */
XNextEvent(pProcArg->pDisplay, &event);
/* Branch on event type */
- if (event.type == CreateNotify) {
+ if (event.type == MapNotify /* CreateNotify */) {
XWindowAttributes attr;
XSelectInput(pProcArg->pDisplay,
@@ -1170,7 +1102,7 @@ winMultiWindowXMsgProc(void *pArg)
XGetWindowAttributes(pProcArg->pDisplay,
event.xcreatewindow.window, &attr);
- if (!attr.override_redirect)
+ if (!attr.override_redirect && attr.class != InputOnly)
XSetWindowBorderWidth(pProcArg->pDisplay,
event.xcreatewindow.window, 0);
}
@@ -1218,6 +1150,7 @@ winMultiWindowXMsgProc(void *pArg)
event_send.xreparent.parent = parent;
event_send.xreparent.x = attr.x;
event_send.xreparent.y = attr.y;
+ event_send.xreparent.override_redirect = False;
XSendEvent(event.xmap.display,
event.xmap.window,
@@ -1258,6 +1191,20 @@ winMultiWindowXMsgProc(void *pArg)
winSendMessageToWM(pProcArg->pWMInfo, &msg);
}
else {
+ static Atom atmWindowState, atmMotifWmHints, atmWindowType, atmNormalHints, atmWmHints, atmNetWmIcon;
+ if (atmWmHints == None)
+ atmWmHints = XInternAtom(pProcArg->pDisplay, "WM_HINTS", False);
+ if (atmWindowState == None)
+ atmWindowState = XInternAtom(pProcArg->pDisplay, "_NET_WM_STATE", False);
+ if (atmMotifWmHints == None)
+ atmMotifWmHints = XInternAtom(pProcArg->pDisplay, "_MOTIF_WM_HINTS", False);
+ if (atmWindowType == None)
+ atmWindowType = XInternAtom(pProcArg->pDisplay, "_NET_WM_WINDOW_TYPE", False);
+ if (atmNormalHints == None)
+ atmNormalHints = XInternAtom(pProcArg->pDisplay, "WM_NORMAL_HINTS", False);
+ if (atmNetWmIcon == None)
+ atmNetWmIcon = XInternAtom(pProcArg->pDisplay, "_NET_WM_ICON", False);
+
/*
Several properties are considered for WM hints, check if this property change affects any of them...
(this list needs to be kept in sync with winApplyHints())
@@ -1290,7 +1237,7 @@ winMultiWindowXMsgProc(void *pArg)
else if (event.type == ClientMessage
&& event.xclient.message_type == atmWmChange
&& event.xclient.data.l[0] == IconicState) {
- ErrorF("winMultiWindowXMsgProc - WM_CHANGE_STATE - IconicState\n");
+ winDebug("winMultiWindowXMsgProc - WM_CHANGE_STATE - IconicState\n");
memset(&msg, 0, sizeof(msg));
@@ -1302,7 +1249,7 @@ winMultiWindowXMsgProc(void *pArg)
}
XCloseDisplay(pProcArg->pDisplay);
- pthread_exit(NULL);
+ pthread_cleanup_pop(0);
return NULL;
}
@@ -1339,7 +1286,9 @@ winInitWM(void **ppWMInfo,
/* Set a return pointer to the Window Manager info structure */
*ppWMInfo = pWMInfo;
+#ifdef XWIN_MULTIWINDOWINTWM
pWMInfo->fAllowOtherWM = allowOtherWM;
+#endif
/* Setup the argument structure for the thread function */
pArg->dwScreen = dwScreen;
@@ -1370,9 +1319,7 @@ winInitWM(void **ppWMInfo,
return FALSE;
}
-#if CYGDEBUG || YES
winDebug("winInitWM - Returning.\n");
-#endif
return TRUE;
}
@@ -1396,7 +1343,7 @@ winInitMultiWindowWM(WMInfoPtr pWMInfo, WMProcArgPtr pProcArg)
pthread_exit(NULL);
}
- ErrorF("winInitMultiWindowWM - Calling pthread_mutex_lock ()\n");
+ winDebug("winInitMultiWindowWM - Calling pthread_mutex_lock ()\n");
/* Grab our garbage mutex to satisfy pthread_cond_wait */
iReturn = pthread_mutex_lock(pProcArg->ppmServerStarted);
@@ -1406,23 +1353,12 @@ winInitMultiWindowWM(WMInfoPtr pWMInfo, WMProcArgPtr pProcArg)
pthread_exit(NULL);
}
- ErrorF("winInitMultiWindowWM - pthread_mutex_lock () returned.\n");
-
- /* Allow multiple threads to access Xlib */
- if (XInitThreads() == 0) {
- ErrorF("winInitMultiWindowWM - XInitThreads () failed. Exiting.\n");
- pthread_exit(NULL);
- }
-
- /* See if X supports the current locale */
- if (XSupportsLocale() == False) {
- ErrorF("winInitMultiWindowWM - Warning: Locale not supported by X.\n");
- }
+ winDebug("winInitMultiWindowWM - pthread_mutex_lock () returned.\n");
/* Release the server started mutex */
pthread_mutex_unlock(pProcArg->ppmServerStarted);
- ErrorF("winInitMultiWindowWM - pthread_mutex_unlock () returned.\n");
+ winDebug("winInitMultiWindowWM - pthread_mutex_unlock () returned.\n");
/* Install our error handler */
XSetErrorHandler(winMultiWindowWMErrorHandler);
@@ -1446,11 +1382,10 @@ winInitMultiWindowWM(WMInfoPtr pWMInfo, WMProcArgPtr pProcArg)
}
/* Setup the display connection string x */
- snprintf(pszDisplay,
- 512, "127.0.0.1:%s.%d", display, (int) pProcArg->dwScreen);
+ winGetDisplayName(pszDisplay, (int)pProcArg->dwScreen);
/* Print the display connection string */
- ErrorF("winInitMultiWindowWM - DISPLAY=%s\n", pszDisplay);
+ winDebug("winInitMultiWindowWM - DISPLAY=%s\n", pszDisplay);
/* Use our generated cookie for authentication */
winSetAuthorization();
@@ -1478,8 +1413,8 @@ winInitMultiWindowWM(WMInfoPtr pWMInfo, WMProcArgPtr pProcArg)
pthread_exit(NULL);
}
- ErrorF("winInitMultiWindowWM - XOpenDisplay () returned and "
- "successfully opened the display.\n");
+ winDebug("winInitMultiWindowWM - XOpenDisplay () returned and "
+ "successfully opened the display.\n");
/* Create some atoms */
pWMInfo->atmWmProtos = XInternAtom(pWMInfo->pDisplay,
@@ -1497,7 +1432,7 @@ winInitMultiWindowWM(WMInfoPtr pWMInfo, WMProcArgPtr pProcArg)
if (cursor) {
XDefineCursor(pWMInfo->pDisplay,
- DefaultRootWindow(pWMInfo->pDisplay), cursor);
+ XDefaultRootWindow(pWMInfo->pDisplay), cursor);
XFreeCursor(pWMInfo->pDisplay, cursor);
}
}
@@ -1512,9 +1447,7 @@ winSendMessageToWM(void *pWMInfo, winWMMessagePtr pMsg)
{
WMMsgNodePtr pNode;
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winSendMessageToWM ()\n");
-#endif
+ winDebug("winSendMessageToWM ()\n");
pNode = malloc(sizeof(WMMsgNodeRec));
if (pNode != NULL) {
@@ -1540,7 +1473,18 @@ winMultiWindowWMErrorHandler(Display * pDisplay, XErrorEvent * pErr)
}
XGetErrorText(pDisplay, pErr->error_code, pszErrorMsg, sizeof(pszErrorMsg));
- ErrorF("winMultiWindowWMErrorHandler - ERROR: %s\n", pszErrorMsg);
+ ErrorF("winMultiWindowWMErrorHandler - ERROR: %s\n"
+ " errorCode %d\n"
+ " serial %d\n"
+ " resourceID 0x%x\n"
+ " majorCode %d\n"
+ " minorCode %d\n"
+ , pszErrorMsg
+ , pErr->error_code
+ , pErr->serial
+ , pErr->resourceid
+ , pErr->request_code
+ , pErr->minor_code);
return 0;
}
@@ -1552,11 +1496,11 @@ winMultiWindowWMErrorHandler(Display * pDisplay, XErrorEvent * pErr)
static int
winMultiWindowWMIOErrorHandler(Display * pDisplay)
{
+ if (g_shutdown) pthread_exit(NULL);
+
ErrorF("winMultiWindowWMIOErrorHandler!\n");
if (pthread_equal(pthread_self(), g_winMultiWindowWMThread)) {
- if (g_shutdown)
- pthread_exit(NULL);
/* Restart at the main entry point */
longjmp(g_jmpWMEntry, WIN_JMP_ERROR_IO);
@@ -1578,9 +1522,18 @@ winMultiWindowXMsgProcErrorHandler(Display * pDisplay, XErrorEvent * pErr)
char pszErrorMsg[100];
XGetErrorText(pDisplay, pErr->error_code, pszErrorMsg, sizeof(pszErrorMsg));
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winMultiWindowXMsgProcErrorHandler - ERROR: %s\n", pszErrorMsg);
-#endif
+ ErrorF("winMultiWindowXMsgProcErrorHandler - ERROR: %s\n"
+ " errorCode %d\n"
+ " serial %d\n"
+ " resourceID 0x%x\n"
+ " majorCode %d\n"
+ " minorCode %d\n"
+ , pszErrorMsg
+ , pErr->error_code
+ , pErr->serial
+ , pErr->resourceid
+ , pErr->request_code
+ , pErr->minor_code);
return 0;
}
@@ -1592,6 +1545,8 @@ winMultiWindowXMsgProcErrorHandler(Display * pDisplay, XErrorEvent * pErr)
static int
winMultiWindowXMsgProcIOErrorHandler(Display * pDisplay)
{
+ if (g_shutdown) pthread_exit(NULL);
+
ErrorF("winMultiWindowXMsgProcIOErrorHandler!\n");
if (pthread_equal(pthread_self(), g_winMultiWindowXMsgProcThread)) {
@@ -1606,6 +1561,18 @@ winMultiWindowXMsgProcIOErrorHandler(Display * pDisplay)
}
/*
+ * winMultiWindowThreadExit - Thread exit handler
+ */
+
+static void
+winMultiWindowThreadExit(void *arg)
+{
+ AbortDDX(EXIT_ERR_ABORT);
+
+ /* multiwindow client thread has exited, stop server as well */
+ TerminateProcess(GetCurrentProcess(),1);
+}
+/*
* Catch RedirectError to detect other window manager running
*/
@@ -1642,7 +1609,7 @@ CheckAnotherWindowManager(Display * pDisplay, DWORD dwScreen,
If other WMs are not allowed, also select one of the events which only one client
at a time is allowed to select, so other window managers won't start...
*/
- XSelectInput(pDisplay, RootWindow(pDisplay, dwScreen),
+ XSelectInput(pDisplay, XRootWindow(pDisplay, dwScreen),
SubstructureNotifyMask | (!fAllowOtherWM ? ButtonPressMask :
0));
XSync(pDisplay, 0);
@@ -1656,7 +1623,8 @@ CheckAnotherWindowManager(Display * pDisplay, DWORD dwScreen,
void
winDeinitMultiWindowWM(void)
{
- ErrorF("winDeinitMultiWindowWM - Noting shutdown in progress\n");
+ if (g_shutdown == TRUE) return;
+ winDebug("winDeinitMultiWindowWM - Noting shutdown in progress\n");
g_shutdown = TRUE;
}
@@ -1679,13 +1647,15 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle)
static Atom windowState, motif_wm_hints, windowType;
static Atom hiddenState, fullscreenState, belowState, aboveState,
skiptaskbarState;
- static Atom dockWindow;
+ static Atom dockWindow, splashWindow;
static int generation;
Atom type, *pAtom = NULL;
int format;
- unsigned long hint = 0, maxmin = 0, nitems = 0, left = 0;
+ unsigned long hint = 0, maxmin = 0, nitems = 0, left = 0, taskbar = 0;
unsigned long style, exStyle;
+ WindowPtr pWin = GetProp (hWnd, WIN_WINDOW_PROP);
MwmHints *mwm_hint = NULL;
+ WinXSizeHints SizeHints;
if (!hWnd)
return;
@@ -1703,6 +1673,7 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle)
belowState = XInternAtom(pDisplay, "_NET_WM_STATE_BELOW", False);
aboveState = XInternAtom(pDisplay, "_NET_WM_STATE_ABOVE", False);
dockWindow = XInternAtom(pDisplay, "_NET_WM_WINDOW_TYPE_DOCK", False);
+ splashWindow = XInternAtom(pDisplay, "_NET_WM_WINDOW_TYPE_SPLASH", False);
skiptaskbarState =
XInternAtom(pDisplay, "_NET_WM_STATE_SKIP_TASKBAR", False);
}
@@ -1739,7 +1710,7 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle)
if (mwm_hint && nitems == PropMwmHintsElements &&
(mwm_hint->flags & MwmHintsDecorations)) {
if (!mwm_hint->decorations)
- hint |= HINT_NOFRAME;
+ hint |= (HINT_NOFRAME | HINT_NOSYSMENU | HINT_NOMINIMIZE | HINT_NOMAXIMIZE);
else if (!(mwm_hint->decorations & MwmDecorAll)) {
if (mwm_hint->decorations & MwmDecorBorder)
hint |= HINT_BORDER;
@@ -1776,7 +1747,11 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle)
hint = (hint & ~HINT_NOFRAME) | HINT_SIZEBOX; /* Xming puts a sizebox on dock windows */
*zstyle = HWND_TOPMOST;
}
- }
+ else if (*pAtom == splashWindow) {
+ hint |= (HINT_SKIPTASKBAR | HINT_NOSYSMENU | HINT_NOMINIMIZE | HINT_NOMAXIMIZE);
+ *zstyle = HWND_TOPMOST;
+ }
+ }
if (pAtom)
XFree(pAtom);
}
@@ -1812,26 +1787,36 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle)
*/
{
XClassHint class_hint = { 0, 0 };
- char *window_name = 0;
- char *application_id = 0;
if (XGetClassHint(pDisplay, iWindow, &class_hint)) {
+ char *window_name = 0;
+ char *application_id = 0;
+ char *rand_id = 0;
+
XFetchName(pDisplay, iWindow, &window_name);
+ taskbar = winOverrideTaskbar(class_hint.res_name, class_hint.res_class, window_name);
+ if (taskbar & TASKBAR_NEWTAB) {
+ int irand_id;
+ srand((unsigned)time(NULL));
+ irand_id = rand();
+ asprintf(&rand_id, "%d", irand_id);
+ }
style =
winOverrideStyle(class_hint.res_name, class_hint.res_class,
window_name);
-#define APPLICATION_ID_FORMAT "%s.xwin.%s"
-#define APPLICATION_ID_UNKNOWN "unknown"
- if (class_hint.res_class) {
- asprintf(&application_id, APPLICATION_ID_FORMAT, XVENDORNAME,
- class_hint.res_class);
- }
- else {
- asprintf(&application_id, APPLICATION_ID_FORMAT, XVENDORNAME,
- APPLICATION_ID_UNKNOWN);
- }
+ /* AppUserModelID in the following form CompanyName.ProductName.SubProduct.VersionInformation
+ VersionInformation is set random with NEWTAB and to display-number normally. No spaces allowed. */
+ asprintf(&application_id,
+ "%s.%s.%s.%s",
+ XVENDORNAME,
+ PROJECT_NAME,
+ (class_hint.res_class) ? class_hint.res_class :
+ (class_hint.res_name) ? class_hint.res_name :
+ (window_name) ? window_name : "SubProductUnknown",
+ (taskbar & TASKBAR_NEWTAB) ? rand_id :
+ (getenv("DISNO")) ? getenv("DISNO") : 0);
winSetAppUserModelID(hWnd, application_id);
if (class_hint.res_name)
@@ -1900,13 +1885,21 @@ winApplyHints(Display * pDisplay, Window iWindow, HWND hWnd, HWND * zstyle)
if (hint & HINT_NOSYSMENU)
style = style & ~WS_SYSMENU;
- if (hint & HINT_SKIPTASKBAR)
+ if ((hint & HINT_SKIPTASKBAR) || (taskbar & TASKBAR_NOTAB)) {
+ winShowWindowOnTaskbar(hWnd, FALSE);
style = style & ~WS_MINIMIZEBOX; /* window will become lost if minimized */
+ }
+
+ if (!IsWindow (hWnd))
+ {
+ ErrorF("Windows window 0x%x has become invalid, so returning without applying hints\n",hWnd);
+ return;
+ }
SetWindowLongPtr(hWnd, GWL_STYLE, style);
exStyle = GetWindowLongPtr(hWnd, GWL_EXSTYLE);
- if (hint & HINT_SKIPTASKBAR)
+ if ((hint & HINT_SKIPTASKBAR) || (taskbar & TASKBAR_NOTAB))
exStyle = (exStyle & ~WS_EX_APPWINDOW) | WS_EX_TOOLWINDOW;
else
exStyle = (exStyle & ~WS_EX_TOOLWINDOW) | WS_EX_APPWINDOW;
@@ -1943,9 +1936,6 @@ winUpdateWindowPosition(HWND hWnd, HWND * zstyle)
/* Setup a rectangle with the X window position and size */
SetRect(&rcNew, iX, iY, iX + iWidth, iY + iHeight);
- winDebug("winUpdateWindowPosition - drawable extent (%d, %d)-(%d, %d)\n",
- rcNew.left, rcNew.top, rcNew.right, rcNew.bottom);
-
AdjustWindowRectEx(&rcNew, GetWindowLongPtr(hWnd, GWL_STYLE), FALSE,
GetWindowLongPtr(hWnd, GWL_EXSTYLE));
@@ -1962,9 +1952,6 @@ winUpdateWindowPosition(HWND hWnd, HWND * zstyle)
rcNew.bottom += iDy;
}
- winDebug("winUpdateWindowPosition - Window extent (%d, %d)-(%d, %d)\n",
- rcNew.left, rcNew.top, rcNew.right, rcNew.bottom);
-
/* Position the Windows window */
SetWindowPos(hWnd, *zstyle, rcNew.left, rcNew.top,
rcNew.right - rcNew.left, rcNew.bottom - rcNew.top, 0);
diff --git a/xorg-server/hw/xwin/winmultiwindowwndproc.c b/xorg-server/hw/xwin/winmultiwindowwndproc.c
index 17823baf2..624c96fca 100644
--- a/xorg-server/hw/xwin/winmultiwindowwndproc.c
+++ b/xorg-server/hw/xwin/winmultiwindowwndproc.c
@@ -35,6 +35,10 @@
#ifdef HAVE_XWIN_CONFIG_H
#include <xwin-config.h>
#endif
+#define GC tempGC // This is to avoid name conflicts when including the next headers which also define GC
+#include <X11/Xutil.h>
+#undef GC
+
#include "win.h"
#include "dixevents.h"
#include "winmultiwindowclass.h"
@@ -44,6 +48,14 @@
extern void winUpdateWindowPosition(HWND hWnd, HWND * zstyle);
+#ifdef XKB
+#ifndef XKB_IN_SERVER
+#define XKB_IN_SERVER
+#endif
+#include <xkbsrv.h>
+#endif
+
+
/*
* Local globals
*/
@@ -316,12 +328,10 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static Bool s_fTracking = FALSE;
Bool needRestack = FALSE;
LRESULT ret;
- static Bool hasEnteredSizeMove = FALSE;
+ static Bool hasEnteredSizeMove = FALSE;
-#if CYGDEBUG
winDebugWin32Message("winTopLevelWindowProc", hwnd, message, wParam,
lParam);
-#endif
/* Check if the Windows window property for our X window pointer is valid */
if ((pWin = GetProp(hwnd, WIN_WINDOW_PROP)) != NULL) {
@@ -353,32 +363,13 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
fWMMsgInitialized = TRUE;
-#if 0
- /*
- * Print some debugging information
- */
-
- ErrorF("hWnd %08X\n", hwnd);
- ErrorF("pWin %08X\n", pWin);
- ErrorF("pDraw %08X\n", pDraw);
- ErrorF("\ttype %08X\n", pWin->drawable.type);
- ErrorF("\tclass %08X\n", pWin->drawable.class);
- ErrorF("\tdepth %08X\n", pWin->drawable.depth);
- ErrorF("\tbitsPerPixel %08X\n", pWin->drawable.bitsPerPixel);
- ErrorF("\tid %08X\n", pWin->drawable.id);
- ErrorF("\tx %08X\n", pWin->drawable.x);
- ErrorF("\ty %08X\n", pWin->drawable.y);
- ErrorF("\twidth %08X\n", pWin->drawable.width);
- ErrorF("\thenght %08X\n", pWin->drawable.height);
- ErrorF("\tpScreen %08X\n", pWin->drawable.pScreen);
- ErrorF("\tserialNumber %08X\n", pWin->drawable.serialNumber);
- ErrorF("g_iWindowPrivateKey %p\n", g_iWindowPrivateKey);
- ErrorF("pWinPriv %08X\n", pWinPriv);
- ErrorF("s_pScreenPriv %08X\n", s_pScreenPriv);
- ErrorF("s_pScreenInfo %08X\n", s_pScreenInfo);
- ErrorF("hwndScreen %08X\n", hwndScreen);
-#endif
}
+ #ifdef _DEBUG
+ else if (message!=WM_CREATE)
+ {
+ winDebug("Warning: message 0x%x received when WIN_WINDOW_PROP NULL\n",message);
+ }
+ #endif
/* Branch on message type */
switch (message) {
@@ -410,10 +401,9 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
GetWindowRect(hwnd, &rWindow);
hRgnWindow = CreateRectRgnIndirect(&rWindow);
SetWindowRgn(hwnd, hRgnWindow, TRUE);
- DeleteObject(hRgnWindow);
}
- SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR) XMING_SIGNATURE);
+ SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)VCXSRV_SIGNATURE);
return 0;
@@ -594,6 +584,9 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
case WM_MOUSELEAVE:
+ /* We can't do anything without privates */
+ if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput)
+ break;
/* Mouse has left our client area */
/* Flag that we are no longer tracking */
@@ -757,7 +750,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (wParam == VK_F4 && (GetKeyState(VK_MENU) & 0x8000))
break;
-#if CYGWINDOWING_DEBUG
+#ifdef WINDBG
if (wParam == VK_ESCAPE) {
/* Place for debug: put any tests and dumps here */
WINDOWPLACEMENT windPlace;
@@ -767,25 +760,25 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
windPlace.length = sizeof(WINDOWPLACEMENT);
GetWindowPlacement(hwnd, &windPlace);
pRect = &windPlace.rcNormalPosition;
- ErrorF("\nCYGWINDOWING Dump:\n"
+ winDebug ("\nCYGWINDOWING Dump:\n"
"\tdrawable: (%hd, %hd) - %hdx%hd\n", pDraw->x,
pDraw->y, pDraw->width, pDraw->height);
- ErrorF("\twindPlace: (%ld, %ld) - %ldx%ld\n", pRect->left,
- pRect->top, pRect->right - pRect->left,
- pRect->bottom - pRect->top);
+ winDebug ("\twindPlace: (%ld, %ld) - %ldx%ld\n", pRect->left,
+ pRect->top, pRect->right - pRect->left,
+ pRect->bottom - pRect->top);
if (GetClientRect(hwnd, &rc)) {
pRect = &rc;
- ErrorF("\tClientRect: (%ld, %ld) - %ldx%ld\n", pRect->left,
- pRect->top, pRect->right - pRect->left,
- pRect->bottom - pRect->top);
+ winDebug ("\tClientRect: (%ld, %ld) - %ldx%ld\n", pRect->left,
+ pRect->top, pRect->right - pRect->left,
+ pRect->bottom - pRect->top);
}
if (GetWindowRect(hwnd, &rc)) {
pRect = &rc;
- ErrorF("\tWindowRect: (%ld, %ld) - %ldx%ld\n", pRect->left,
- pRect->top, pRect->right - pRect->left,
- pRect->bottom - pRect->top);
+ winDebug ("\tWindowRect: (%ld, %ld) - %ldx%ld\n", pRect->left,
+ pRect->top, pRect->right - pRect->left,
+ pRect->bottom - pRect->top);
}
- ErrorF("\n");
+ winDebug ("\n");
}
#endif
@@ -820,9 +813,8 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* Tell our Window Manager thread to activate the window */
wmMsg.msg = WM_WM_ACTIVATE;
- if (fWMMsgInitialized)
- if (!pWin || !pWin->overrideRedirect) /* for OOo menus */
- winSendMessageToWM(s_pScreenPriv->pWMInfo, &wmMsg);
+ if (fWMMsgInitialized && pWin->realized && !pWin->overrideRedirect /* for OOo menus */)
+ winSendMessageToWM (s_pScreenPriv->pWMInfo, &wmMsg);
}
/* Prevent the mouse wheel from stalling when another window is minimized */
if (HIWORD(wParam) == 0 && LOWORD(wParam) == WA_ACTIVE &&
@@ -857,7 +849,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* Branch on if the window was killed in X already */
if (pWinPriv && !pWinPriv->fXKilled) {
- ErrorF("winTopLevelWindowProc - WM_DESTROY - WM_WM_KILL\n");
+ winDebug ("winTopLevelWindowProc - WM_DESTROY - WM_WM_KILL\n");
/* Tell our Window Manager thread to kill the window */
wmMsg.msg = WM_WM_KILL;
@@ -923,13 +915,10 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
else { /* It is an overridden window so make it top of Z stack */
HWND forHwnd = GetForegroundWindow();
-
-#if CYGWINDOWING_DEBUG
- ErrorF("overridden window is shown\n");
-#endif
+ winDebug ("overridden window is shown\n");
if (forHwnd != NULL) {
if (GetWindowLongPtr(forHwnd, GWLP_USERDATA) & (LONG_PTR)
- XMING_SIGNATURE) {
+ VCXSRV_SIGNATURE) {
if (GetWindowLongPtr(forHwnd, GWL_EXSTYLE) & WS_EX_TOPMOST)
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
@@ -954,6 +943,26 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* for applications like xterm */
return ValidateSizing(hwnd, pWin, wParam, lParam);
+ case WM_WINDOWPOSCHANGING:
+ {
+ /*
+ When window is moved or resized, force it to be redrawn, so that
+ any OpenGL content is re-drawn correctly, rather than copying bits
+ (which seem to be wrong, either because we are copying the wrong
+ window in the window heirarchy, or because we don't have the bits
+ drawn by OpenGL at all)
+
+ XXX: really this should check if any child has fWglUsed set, but
+ that might be expensive to check....
+ */
+ if (g_fNativeGl)
+ {
+ LPWINDOWPOS pWinPos = (LPWINDOWPOS)lParam;
+ pWinPos->flags |= SWP_NOCOPYBITS;
+ }
+ }
+ break;
+
case WM_WINDOWPOSCHANGED:
{
LPWINDOWPOS pWinPos = (LPWINDOWPOS) lParam;
@@ -1020,7 +1029,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_SIZE:
/* see dix/window.c */
-#if CYGWINDOWING_DEBUG
+#ifdef WINDBG
{
char buf[64];
@@ -1037,87 +1046,28 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
default:
strcpy(buf, "UNKNOWN_FLAG");
}
- ErrorF("winTopLevelWindowProc - WM_SIZE to %dx%d (%s) - %d ms\n",
- (int) LOWORD(lParam), (int) HIWORD(lParam), buf,
- (int) (GetTickCount()));
+ winDebug ("winTopLevelWindowProc - WM_SIZE to %dx%d (%s) - %d ms\n",
+ (int) LOWORD(lParam), (int) HIWORD(lParam), buf,
+ (int) (GetTickCount()));
}
#endif
- if (!hasEnteredSizeMove) {
+ if (!hasEnteredSizeMove)
+ {
/* Adjust the X Window to the moved Windows window */
- winAdjustXWindow(pWin, hwnd);
- }
- /* else: wait for WM_EXITSIZEMOVE */
- return 0; /* end of WM_SIZE handler */
-
- case WM_STYLECHANGING:
- /*
- When the style changes, adjust the Windows window size so the client area remains the same size,
- and adjust the Windows window position so that the client area remains in the same place.
- */
- {
- RECT newWinRect;
- DWORD dwExStyle;
- DWORD dwStyle;
- DWORD newStyle = ((STYLESTRUCT *) lParam)->styleNew;
- WINDOWINFO wi;
-
- dwExStyle = GetWindowLongPtr(hwnd, GWL_EXSTYLE);
- dwStyle = GetWindowLongPtr(hwnd, GWL_STYLE);
-
- winDebug("winTopLevelWindowProc - WM_STYLECHANGING from %08x %08x\n",
- dwStyle, dwExStyle);
-
- if (wParam == GWL_EXSTYLE)
- dwExStyle = newStyle;
-
- if (wParam == GWL_STYLE)
- dwStyle = newStyle;
-
- winDebug("winTopLevelWindowProc - WM_STYLECHANGING to %08x %08x\n",
- dwStyle, dwExStyle);
-
- /* Get client rect in screen coordinates */
- wi.cbSize = sizeof(WINDOWINFO);
- GetWindowInfo(hwnd, &wi);
-
- winDebug
- ("winTopLevelWindowProc - WM_STYLECHANGING client area {%d, %d, %d, %d}, {%d x %d}\n",
- wi.rcClient.left, wi.rcClient.top, wi.rcClient.right,
- wi.rcClient.bottom, wi.rcClient.right - wi.rcClient.left,
- wi.rcClient.bottom - wi.rcClient.top);
-
- newWinRect = wi.rcClient;
- if (!AdjustWindowRectEx(&newWinRect, dwStyle, FALSE, dwExStyle))
- winDebug
- ("winTopLevelWindowProc - WM_STYLECHANGING AdjustWindowRectEx failed\n");
-
- winDebug
- ("winTopLevelWindowProc - WM_STYLECHANGING window area should be {%d, %d, %d, %d}, {%d x %d}\n",
- newWinRect.left, newWinRect.top, newWinRect.right,
- newWinRect.bottom, newWinRect.right - newWinRect.left,
- newWinRect.bottom - newWinRect.top);
-
- /*
- Style change hasn't happened yet, so we can't adjust the window size yet, as the winAdjustXWindow()
- which WM_SIZE does will use the current (unchanged) style. Instead make a note to change it when
- WM_STYLECHANGED is received...
- */
- pWinPriv->hDwp = BeginDeferWindowPos(1);
- pWinPriv->hDwp =
- DeferWindowPos(pWinPriv->hDwp, hwnd, NULL, newWinRect.left,
- newWinRect.top, newWinRect.right - newWinRect.left,
- newWinRect.bottom - newWinRect.top,
- SWP_NOACTIVATE | SWP_NOZORDER);
+ winAdjustXWindow (pWin, hwnd);
+ if (wParam == SIZE_MINIMIZED) winReorderWindowsMultiWindow();
}
- return 0;
+ /* else: wait for WM_EXITSIZEMOVE */
+ return 0; /* end of WM_SIZE handler */
case WM_STYLECHANGED:
+ /* when the style changes, adjust the window size so the client area remains the same */
{
- if (pWinPriv->hDwp) {
- EndDeferWindowPos(pWinPriv->hDwp);
- pWinPriv->hDwp = NULL;
- }
- winDebug("winTopLevelWindowProc - WM_STYLECHANGED done\n");
+ LONG x,y;
+ DrawablePtr pDraw = &pWin->drawable;
+ x = pDraw->x - wBorderWidth(pWin);
+ y = pDraw->y - wBorderWidth(pWin);
+ winPositionWindowMultiWindow(pWin, x, y);
}
return 0;
@@ -1125,10 +1075,8 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* Check if this window needs to be made active when clicked */
if (!GetProp(pWinPriv->hWnd, WIN_NEEDMANAGE_PROP)) {
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winTopLevelWindowProc - WM_MOUSEACTIVATE - "
- "MA_NOACTIVATE\n");
-#endif
+ winDebug ("winTopLevelWindowProc - WM_MOUSEACTIVATE - "
+ "MA_NOACTIVATE\n");
/* */
return MA_NOACTIVATE;
diff --git a/xorg-server/hw/xwin/winnativegdi.c b/xorg-server/hw/xwin/winnativegdi.c
index 1859698a0..60d714dc7 100644
--- a/xorg-server/hw/xwin/winnativegdi.c
+++ b/xorg-server/hw/xwin/winnativegdi.c
@@ -109,7 +109,7 @@ winCloseScreenNativeGDI(ScreenPtr pScreen)
winScreenPriv(pScreen);
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
- ErrorF("winCloseScreenNativeGDI - Freeing screen resources\n");
+ winDebug ("winCloseScreenNativeGDI - Freeing screen resources\n");
/* Flag that the screen is closed */
pScreenPriv->fClosed = TRUE;
@@ -123,10 +123,10 @@ winCloseScreenNativeGDI(ScreenPtr pScreen)
/* Delete the window property */
RemoveProp(pScreenPriv->hwndScreen, WIN_SCR_PROP);
- ErrorF("winCloseScreenNativeGDI - Destroying window\n");
+ winDebug ("winCloseScreenNativeGDI - Destroying window\n");
/* Delete tray icon, if we have one */
- if (!pScreenInfo->fNoTrayIcon)
+ if (!pScreenInfo->fNoTrayIcon && !pref.fNoTrayIcon)
winDeleteNotifyIcon(pScreenPriv);
/* Free the exit confirmation dialog box, if it exists */
@@ -147,7 +147,7 @@ winCloseScreenNativeGDI(ScreenPtr pScreen)
/* Free the screen privates for this screen */
free(pScreenPriv);
- ErrorF("winCloseScreenNativeGDI - Returning\n");
+ winDebug ("winCloseScreenNativeGDI - Returning\n");
return TRUE;
}
@@ -202,8 +202,8 @@ winInitVisualsNativeGDI(ScreenPtr pScreen)
}
/* Tell the user how many bits per RGB we are using */
- ErrorF("winInitVisualsNativeGDI - Using dwBitsPerRGB: %d\n",
- (int) pScreenPriv->dwBitsPerRGB);
+ winDebug ("winInitVisualsNativeGDI - Using dwBitsPerRGB: %d\n",
+ (int) pScreenPriv->dwBitsPerRGB);
/* Create a single visual according to the Windows screen depth */
switch (pScreenInfo->dwDepth) {
@@ -223,7 +223,7 @@ winInitVisualsNativeGDI(ScreenPtr pScreen)
break;
case 8:
- ErrorF("winInitVisuals - Calling miSetVisualTypesAndMasks\n");
+ winDebug ("winInitVisuals - Calling miSetVisualTypesAndMasks\n");
if (!miSetVisualTypesAndMasks(pScreenInfo->dwDepth,
StaticColorMask,
pScreenPriv->dwBitsPerRGB,
@@ -241,9 +241,7 @@ winInitVisualsNativeGDI(ScreenPtr pScreen)
return FALSE;
}
-#if 1
- ErrorF("winInitVisualsNativeGDI - Returning\n");
-#endif
+ winDebug ("winInitVisualsNativeGDI - Returning\n");
return TRUE;
}
@@ -358,11 +356,13 @@ winCreateDIBNativeGDI(int iWidth, int iHeight, int iDepth,
pbmih->biPlanes = 1;
pbmih->biBitCount = iDepth;
pbmih->biCompression = BI_RGB;
+ /*
pbmih->biSizeImage = 0;
pbmih->biXPelsPerMeter = 0;
pbmih->biYPelsPerMeter = 0;
pbmih->biClrUsed = 0;
pbmih->biClrImportant = 0;
+ */
/* Setup color table for mono DIBs */
if (iDepth == 1) {
diff --git a/xorg-server/hw/xwin/winpfbdd.c b/xorg-server/hw/xwin/winpfbdd.c
index 010616101..b5a69cad8 100644
--- a/xorg-server/hw/xwin/winpfbdd.c
+++ b/xorg-server/hw/xwin/winpfbdd.c
@@ -73,7 +73,7 @@ winAllocateFBPrimaryDD(ScreenPtr pScreen)
DDSURFACEDESC *pddsdOffscreen = NULL;
RECT rcClient;
- ErrorF("winAllocateFBPrimaryDD\n");
+ winDebug ("winAllocateFBPrimaryDD\n");
/* Get client area location in screen coords */
GetClientRect(pScreenPriv->hwndScreen, &rcClient);
@@ -95,7 +95,7 @@ winAllocateFBPrimaryDD(ScreenPtr pScreen)
return FALSE;
}
- ErrorF("winAllocateFBPrimaryDD - Created and initialized DD\n");
+ winDebug ("winAllocateFBPrimaryDD - Created and initialized DD\n");
/* Are we windowed or fullscreen? */
if (pScreenInfo->fFullScreen) {
@@ -141,7 +141,7 @@ winAllocateFBPrimaryDD(ScreenPtr pScreen)
FatalError("winAllocateFBPrimaryDD - Could not create primary "
"surface %08x\n", (unsigned int) ddrval);
- ErrorF("winAllocateFBPrimaryDD - Created primary\n");
+ winDebug ("winAllocateFBPrimaryDD - Created primary\n");
/* Allocate a DD surface description for our screen privates */
pddsdPrimary = pScreenPriv->pddsdPrimary = malloc(sizeof(DDSURFACEDESC));
@@ -175,7 +175,7 @@ winAllocateFBPrimaryDD(ScreenPtr pScreen)
FatalError("winAllocateFBPrimaryDD - Could not create shadow "
"surface\n");
- ErrorF("winAllocateFBPrimaryDD - Created offscreen\n");
+ winDebug ("winAllocateFBPrimaryDD - Created offscreen\n");
/* Allocate a DD surface description for our screen privates */
pddsdOffscreen = pScreenPriv->pddsdOffscreen
@@ -186,7 +186,7 @@ winAllocateFBPrimaryDD(ScreenPtr pScreen)
ZeroMemory(pddsdOffscreen, sizeof(*pddsdOffscreen));
pddsdOffscreen->dwSize = sizeof(*pddsdOffscreen);
- ErrorF("winAllocateFBPrimaryDD - Locking primary\n");
+ winDebug ("winAllocateFBPrimaryDD - Locking primary\n");
/* Lock the primary surface */
ddrval = IDirectDrawSurface2_Lock(pScreenPriv->pddsPrimary,
@@ -197,7 +197,7 @@ winAllocateFBPrimaryDD(ScreenPtr pScreen)
FatalError("winAllocateFBPrimaryDD - Could not lock "
"primary surface\n");
- ErrorF("winAllocateFBPrimaryDD - Locked primary\n");
+ winDebug ("winAllocateFBPrimaryDD - Locked primary\n");
/* We don't know how to deal with anything other than RGB */
if (!(pddsdPrimary->ddpfPixelFormat.dwFlags & DDPF_RGB))
@@ -215,7 +215,7 @@ winAllocateFBPrimaryDD(ScreenPtr pScreen)
pScreenPriv->dwGreenMask = pddsdPrimary->ddpfPixelFormat.u3.dwGBitMask;
pScreenPriv->dwBlueMask = pddsdPrimary->ddpfPixelFormat.u4.dwBBitMask;
- ErrorF("winAllocateFBPrimaryDD - Returning\n");
+ winDebug ("winAllocateFBPrimaryDD - Returning\n");
return TRUE;
}
@@ -287,7 +287,7 @@ winCloseScreenPrimaryDD(ScreenPtr pScreen)
winFreeFBPrimaryDD(pScreen);
/* Delete tray icon, if we have one */
- if (!pScreenInfo->fNoTrayIcon)
+ if (!pScreenInfo->fNoTrayIcon && !pref.fNoTrayIcon)
winDeleteNotifyIcon(pScreenPriv);
/* Free the exit confirmation dialog box, if it exists */
@@ -339,11 +339,11 @@ winInitVisualsPrimaryDD(ScreenPtr pScreen)
else
pScreenPriv->dwBitsPerRGB = dwBlueBits;
- ErrorF("winInitVisualsPrimaryDD - Masks: %08x %08x %08x bpRGB: %d\n",
- (unsigned int) pScreenPriv->dwRedMask,
- (unsigned int) pScreenPriv->dwGreenMask,
- (unsigned int) pScreenPriv->dwBlueMask,
- (int) pScreenPriv->dwBitsPerRGB);
+ winDebug ("winInitVisualsPrimaryDD - Masks: %08x %08x %08x bpRGB: %d\n",
+ (unsigned int) pScreenPriv->dwRedMask,
+ (unsigned int) pScreenPriv->dwGreenMask,
+ (unsigned int) pScreenPriv->dwBlueMask,
+ (int) pScreenPriv->dwBitsPerRGB);
/* Create a single visual according to the Windows screen depth */
switch (pScreenInfo->dwDepth) {
@@ -364,9 +364,7 @@ winInitVisualsPrimaryDD(ScreenPtr pScreen)
break;
case 8:
-#if CYGDEBUG
winDebug("winInitVisuals - Calling miSetVisualTypesAndMasks\n");
-#endif /* CYGDEBUG */
if (!miSetVisualTypesAndMasks(pScreenInfo->dwDepth,
PseudoColorMask,
pScreenPriv->dwBitsPerRGB,
@@ -378,10 +376,8 @@ winInitVisualsPrimaryDD(ScreenPtr pScreen)
"miSetVisualTypesAndMasks failed\n");
return FALSE;
}
-#if CYGDEBUG
winDebug("winInitVisualsPrimaryDD - Returned from "
"miSetVisualTypesAndMasks\n");
-#endif /* CYGDEBUG */
break;
default:
@@ -389,7 +385,7 @@ winInitVisualsPrimaryDD(ScreenPtr pScreen)
return FALSE;
}
- ErrorF("winInitVisualsPrimaryDD - Returning\n");
+ winDebug ("winInitVisualsPrimaryDD - Returning\n");
return TRUE;
}
@@ -516,7 +512,7 @@ winHotKeyAltTabPrimaryDD(ScreenPtr pScreen)
winScreenPriv(pScreen);
HRESULT ddrval = DD_OK;
- ErrorF("\nwinHotKeyAltTabPrimaryDD\n\n");
+ winDebug ("\nwinHotKeyAltTabPrimaryDD\n\n");
/* Alt+Tab was pressed, we will lose focus very soon */
pScreenPriv->fActive = FALSE;
diff --git a/xorg-server/hw/xwin/winpixmap.c b/xorg-server/hw/xwin/winpixmap.c
index ef158c854..763d60e8c 100644
--- a/xorg-server/hw/xwin/winpixmap.c
+++ b/xorg-server/hw/xwin/winpixmap.c
@@ -68,11 +68,9 @@ winCreatePixmapNativeGDI(ScreenPtr pScreen,
return NullPixmap;
}
-#if CYGDEBUG
winDebug("winCreatePixmap () - w %d h %d d %d uh %d bw %d\n",
iWidth, iHeight, iDepth, usage_hint,
PixmapBytePad(iWidth, iDepth));
-#endif
/* Setup pixmap values */
pPixmap->drawable.type = DRAWABLE_PIXMAP;
@@ -112,11 +110,9 @@ winCreatePixmapNativeGDI(ScreenPtr pScreen,
(BITMAPINFO **) &pPixmapPriv->
pbmih);
-#if CYGDEBUG
winDebug("winCreatePixmap () - Created a pixmap %08x, %dx%dx%d, for "
"screen: %08x\n",
pPixmapPriv->hBitmap, iWidth, iHeight, iDepth, pScreen);
-#endif
return pPixmap;
}
@@ -132,9 +128,7 @@ winDestroyPixmapNativeGDI(PixmapPtr pPixmap)
{
winPrivPixmapPtr pPixmapPriv = NULL;
-#if CYGDEBUG
winDebug("winDestroyPixmapNativeGDI ()\n");
-#endif
/* Bail early if there is not a pixmap to destroy */
if (pPixmap == NULL) {
@@ -145,10 +139,8 @@ winDestroyPixmapNativeGDI(PixmapPtr pPixmap)
/* Get a handle to the pixmap privates */
pPixmapPriv = winGetPixmapPriv(pPixmap);
-#if CYGDEBUG
winDebug("winDestroyPixmapNativeGDI - pPixmapPriv->hBitmap: %08x\n",
pPixmapPriv->hBitmap);
-#endif
/* Decrement reference count, return if nonzero */
--pPixmap->refcnt;
@@ -184,40 +176,3 @@ winModifyPixmapHeaderNativeGDI(PixmapPtr pPixmap,
return TRUE;
}
-#if 0
-/*
- * Not used yet.
- * See cfb/cfbpixmap.c
- */
-
-static void
-winXRotatePixmapNativeGDI(PixmapPtr pPix, int rw)
-{
- ErrorF("winXRotatePixmap()\n");
- /* fill in this function, look at CFB */
-}
-
-/*
- * Not used yet.
- * See cfb/cfbpixmap.c
- */
-static void
-winYRotatePixmapNativeGDI(PixmapPtr pPix, int rh)
-{
- ErrorF("winYRotatePixmap()\n");
- /* fill in this function, look at CFB */
-}
-
-/*
- * Not used yet.
- * See cfb/cfbpixmap.c
- */
-
-static void
-winCopyRotatePixmapNativeGDI(PixmapPtr psrcPix, PixmapPtr *ppdstPix,
- int xrot, int yrot)
-{
- ErrorF("winCopyRotatePixmap()\n");
- /* fill in this function, look at CFB */
-}
-#endif
diff --git a/xorg-server/hw/xwin/winpolyline.c b/xorg-server/hw/xwin/winpolyline.c
index 8b7e10645..ce7c8de28 100644
--- a/xorg-server/hw/xwin/winpolyline.c
+++ b/xorg-server/hw/xwin/winpolyline.c
@@ -41,7 +41,7 @@ winPolyLineNativeGDI(DrawablePtr pDrawable,
switch (pGC->lineStyle) {
case LineSolid:
if (pGC->lineWidth == 0)
- return miZeroLine(pDrawable, pGC, mode, npt, ppt);
+ miZeroLine (pDrawable, pGC, mode, npt, ppt);
else
miWideLine(pDrawable, pGC, mode, npt, ppt);
break;
diff --git a/xorg-server/hw/xwin/winprefs.c b/xorg-server/hw/xwin/winprefs.c
index f386facdd..3d21066f4 100644
--- a/xorg-server/hw/xwin/winprefs.c
+++ b/xorg-server/hw/xwin/winprefs.c
@@ -51,6 +51,8 @@
extern const char *winGetBaseDir(void);
+extern const char *g_pszLogFile;
+
/* From winprefslex.l, the real parser */
extern int parse_file(FILE * fp);
@@ -346,8 +348,8 @@ HandleCustomWM_COMMAND(HWND hwnd, int command)
memset(&start, 0, sizeof(start));
start.cb = sizeof(start);
- start.dwFlags = STARTF_USESHOWWINDOW;
- start.wShowWindow = SW_HIDE;
+ //start.dwFlags = STARTF_USESHOWWINDOW;
+ //start.wShowWindow = SW_HIDE;
memset(&child, 0, sizeof(child));
@@ -359,7 +361,7 @@ HandleCustomWM_COMMAND(HWND hwnd, int command)
}
else
MessageBox(NULL, m->menuItem[j].param,
- "Mingrc Exec Command Error!",
+ "VcXsrv Exec Command Error!",
MB_OK | MB_ICONEXCLAMATION);
}
return TRUE;
@@ -711,16 +713,13 @@ LoadPreferences(void)
}
/* Setup a DISPLAY environment variable, need to allocate on heap */
- /* because putenv doesn't copy the argument... */
- snprintf(szDisplay, 512, "DISPLAY=127.0.0.1:%s.0", display);
- szEnvDisplay = (char *) (malloc(strlen(szDisplay) + 1));
- if (szEnvDisplay) {
- strcpy(szEnvDisplay, szDisplay);
- putenv(szEnvDisplay);
- }
+ /* because putenv doesn't copy the argument... Always use screen 0 */
+ winGetDisplayName(szDisplay, 0);
+ szEnvDisplay = (char *)(malloc(strlen(szDisplay)+9/*strlen("DISPLAY=")+1*/));
+ snprintf(szEnvDisplay, 512, "DISPLAY=%s", szDisplay);
+ putenv (szEnvDisplay);
/* Replace any "%display%" in menu commands with display string */
- snprintf(szDisplay, 512, "127.0.0.1:%s.0", display);
for (i = 0; i < pref.menuItems; i++) {
for (j = 0; j < pref.menu[i].menuItems; j++) {
if (pref.menu[i].menuItem[j].cmd == CMD_EXEC) {
@@ -732,6 +731,11 @@ LoadPreferences(void)
dstParam += strlen(szDisplay);
srcParam += 9;
}
+ else if (!strncmp(srcParam, "%logfile%", 9)) {
+ memcpy (dstParam, g_pszLogFile, strlen(g_pszLogFile));
+ dstParam += strlen(g_pszLogFile);
+ srcParam += 9;
+ }
else {
*dstParam = *srcParam;
dstParam++;
@@ -767,3 +771,24 @@ winOverrideStyle(char *res_name, char *res_class, char *wmName)
/* Didn't find the style, fail gracefully */
return STYLE_NONE;
}
+
+/*
+ * Check for a match of the window class to one specified in the
+ * TASKBAR{} section in the prefs file
+ */
+unsigned long
+winOverrideTaskbar(char *res_name, char *res_class, char *wmName)
+{
+ int i;
+
+ for (i=0; i<pref.taskbarItems; i++) {
+ if ((res_name && !strcmp(pref.taskbar[i].match, res_name)) ||
+ (res_class && !strcmp(pref.taskbar[i].match, res_class)) ||
+ (wmName && strstr(wmName, pref.taskbar[i].match))) {
+ if (pref.taskbar[i].type) return pref.taskbar[i].type;
+ }
+ }
+
+ /* Didn't find a taskbar type */
+ return TASKBAR_NONE;
+} \ No newline at end of file
diff --git a/xorg-server/hw/xwin/winprefs.h b/xorg-server/hw/xwin/winprefs.h
index 8f4eb0807..46744998d 100644
--- a/xorg-server/hw/xwin/winprefs.h
+++ b/xorg-server/hw/xwin/winprefs.h
@@ -66,6 +66,10 @@ typedef enum MENUCOMMANDTYPE {
#define STYLE_MINIMIZE (1L<<5) /* Open a window minimized */
#define STYLE_BOTTOM (1L<<6) /* Open a window at the bottom of the Z order */
+#define TASKBAR_NONE (0L) /* Dummy the first entry */
+#define TASKBAR_NOTAB (1L) /* Force no taskbar icon */
+#define TASKBAR_NEWTAB (1L<<1) /* Force new taskbar icon */
+
/* Where to place a system menu */
typedef enum MENUPOSITION {
AT_START, /* Place menu at the top of the system menu */
@@ -107,6 +111,12 @@ typedef struct STYLEITEM {
unsigned long type; /* What should it do? */
} STYLEITEM;
+/* To redefine taskbar properties for certain window types */
+typedef struct TASKBARITEM {
+ char match[MENU_MAX+1]; /* What string to search for? */
+ unsigned long type; /* What should it do? */
+} TASKBARITEM;
+
typedef struct WINPREFS {
/* Menu information */
MENUPARSED *menu; /* Array of created menus */
@@ -134,12 +144,18 @@ typedef struct WINPREFS {
STYLEITEM *style;
int styleItems;
+ TASKBARITEM *taskbar;
+ int taskbarItems;
+
/* Force exit flag */
Bool fForceExit;
/* Silent exit flag */
Bool fSilentExit;
+ /* No tray icon flag */
+ Bool fNoTrayIcon;
+
} WINPREFS;
/* The global pref settings structure loaded by the winprefyacc.y parser */
@@ -169,6 +185,9 @@ HICON winOverrideIcon(char *res_name, char *res_class, char *wmName);
unsigned long
winOverrideStyle(char *res_name, char *res_class, char *wmName);
+unsigned long
+ winOverrideTaskbar(char *res_name, char *res_class, char *wmName);
+
HICON winTaskbarIcon(void);
HICON winOverrideDefaultIcon(int size);
diff --git a/xorg-server/hw/xwin/winprefslex.l b/xorg-server/hw/xwin/winprefslex.l
index fd13edc05..5a6c96924 100644
--- a/xorg-server/hw/xwin/winprefslex.l
+++ b/xorg-server/hw/xwin/winprefslex.l
@@ -39,8 +39,6 @@
extern int yyparse(void);
-extern void ErrorF (const char* /*f*/, ...);
-
/* Copy the parsed string, must be free()d in yacc parser */
static char *makestr(char *str)
{
@@ -72,6 +70,9 @@ ICONDIRECTORY { return ICONDIRECTORY; }
DEFAULTICON { return DEFAULTICON; }
ICONS { return ICONS; }
STYLES { return STYLES; }
+TASKBAR { return TASKBAR; }
+NOTAB { return NOTAB; }
+NEWTAB { return NEWTAB; }
TOPMOST { return TOPMOST; }
MAXIMIZE { return MAXIMIZE; }
MINIMIZE { return MINIMIZE; }
diff --git a/xorg-server/hw/xwin/winprefsyacc.y b/xorg-server/hw/xwin/winprefsyacc.y
index 683fc44ca..8dae912d5 100644
--- a/xorg-server/hw/xwin/winprefsyacc.y
+++ b/xorg-server/hw/xwin/winprefsyacc.y
@@ -40,6 +40,7 @@
#define _STDLIB_H 1 /* bison checks this to know if stdlib has been included */
#include <string.h>
#include "winprefs.h"
+#include "winmsg.h"
/* The following give better error messages in bison at the cost of a few KB */
#define YYERROR_VERBOSE 1
@@ -75,6 +76,12 @@ static void OpenStyles(void);
static void AddStyleLine(char *matchstr, unsigned long style);
static void CloseStyles(void);
+static void SetNoTrayIcon(void);
+
+static void OpenTaskbar(void);
+static void AddTaskbarLine(char *matchstr, unsigned long type);
+static void CloseTaskbar(void);
+
static void OpenSysMenu(void);
static void AddSysMenuLine(char *matchstr, char *menuname, int pos);
static void CloseSysMenu(void);
@@ -84,6 +91,9 @@ static int yyerror (char *s);
extern char *yytext;
extern int yylex(void);
+#define YYMALLOC malloc
+#define YYFREE free
+
%}
%union {
@@ -107,6 +117,9 @@ extern int yylex(void);
%token NOTITLE
%token OUTLINE
%token NOFRAME
+%token TASKBAR
+%token NOTAB
+%token NEWTAB
%token DEFAULTSYSMENU
%token SYSMENU
%token ROOTMENU
@@ -125,6 +138,7 @@ extern int yylex(void);
%type <uVal> group1
%type <uVal> group2
%type <uVal> stylecombo
+%type <uVal> group3
%type <iVal> atspot
%%
@@ -147,6 +161,7 @@ command: defaulticon
| menu
| icons
| styles
+ | taskbar
| sysmenu
| rootmenu
| defaultsysmenu
@@ -222,6 +237,20 @@ stylelist: styleline
styles: STYLES LB {OpenStyles();} newline_or_nada stylelist RB {CloseStyles();}
;
+group3: NOTAB { $$=TASKBAR_NOTAB; }
+ | NEWTAB { $$=TASKBAR_NEWTAB; }
+ ;
+
+taskbarline: STRING group3 NEWLINE newline_or_nada { AddTaskbarLine($1, $2); free($1); }
+ ;
+
+taskbarlist: taskbarline
+ | taskbarline taskbarlist
+ ;
+
+taskbar: TASKBAR LB {OpenTaskbar();} newline_or_nada taskbarlist RB {CloseTaskbar();}
+ ;
+
atspot: { $$=AT_END; }
| ATSTART { $$=AT_START; }
| ATEND { $$=AT_END; }
@@ -243,7 +272,7 @@ forceexit: FORCEEXIT NEWLINE { pref.fForceExit = TRUE; }
silentexit: SILENTEXIT NEWLINE { pref.fSilentExit = TRUE; }
;
-debug: DEBUGOUTPUT STRING NEWLINE { ErrorF("LoadPreferences: %s\n", $2); free($2); }
+debug: DEBUGOUTPUT STRING NEWLINE { winDebug("LoadPreferences: %s\n", $2); free($2); }
;
@@ -352,7 +381,7 @@ static void
OpenIcons (void)
{
if (pref.icon != NULL) {
- ErrorF("LoadPreferences: Redefining icon mappings\n");
+ winDebug("LoadPreferences: Redefining icon mappings\n");
free(pref.icon);
pref.icon = NULL;
}
@@ -387,7 +416,7 @@ static void
OpenStyles (void)
{
if (pref.style != NULL) {
- ErrorF("LoadPreferences: Redefining window style\n");
+ winDebug("LoadPreferences: Redefining window style\n");
free(pref.style);
pref.style = NULL;
}
@@ -416,10 +445,49 @@ CloseStyles (void)
}
static void
+SetNoTrayIcon (void)
+{
+ pref.fNoTrayIcon=TRUE;
+}
+
+
+static void
+OpenTaskbar (void)
+{
+ if (pref.taskbar != NULL) {
+ ErrorF("LoadPreferences - Redefining taskbar property\n");
+ free(pref.taskbar);
+ pref.taskbar = NULL;
+ }
+ pref.taskbarItems = 0;
+}
+
+static void
+AddTaskbarLine (char *matchstr, unsigned long type)
+{
+ if (pref.taskbar==NULL)
+ pref.taskbar = malloc(sizeof(TASKBARITEM));
+ else
+ pref.taskbar = realloc(pref.taskbar, sizeof(TASKBARITEM)*(pref.taskbarItems+1));
+
+ strncpy(pref.taskbar[pref.taskbarItems].match, matchstr, MENU_MAX);
+ pref.taskbar[pref.taskbarItems].match[MENU_MAX] = 0;
+
+ pref.taskbar[pref.taskbarItems].type = type;
+
+ pref.taskbarItems++;
+}
+
+static void
+CloseTaskbar (void)
+{
+}
+
+static void
OpenSysMenu (void)
{
if (pref.sysMenu != NULL) {
- ErrorF("LoadPreferences: Redefining system menu\n");
+ winDebug("LoadPreferences: Redefining system menu\n");
free(pref.sysMenu);
pref.sysMenu = NULL;
}
diff --git a/xorg-server/hw/xwin/winprocarg.c b/xorg-server/hw/xwin/winprocarg.c
index f2bf05bad..ad0b5bbe9 100644
--- a/xorg-server/hw/xwin/winprocarg.c
+++ b/xorg-server/hw/xwin/winprocarg.c
@@ -44,6 +44,7 @@ from The Open Group.
#ifdef XWIN_CLIPBOARD
extern Bool g_fUnicodeClipboard;
extern Bool g_fClipboard;
+extern Bool g_fClipboardPrimary;
#endif
/*
@@ -84,9 +85,9 @@ winInitializeScreenDefaults(void)
dwWidth = GetSystemMetrics(SM_CXSCREEN);
dwHeight = GetSystemMetrics(SM_CYSCREEN);
- winErrorFVerb(2,
- "winInitializeScreenDefaults - primary monitor w %d h %d\n",
- (int) dwWidth, (int) dwHeight);
+ winDebug (
+ "winInitializeScreenDefaults - primary monitor w %d h %d\n",
+ (int) dwWidth, (int) dwHeight);
/* Set a default DPI, if no '-dpi' option was used */
if (monitorResolution == 0) {
@@ -96,17 +97,17 @@ winInitializeScreenDefaults(void)
int dpiX = GetDeviceCaps(hdc, LOGPIXELSX);
int dpiY = GetDeviceCaps(hdc, LOGPIXELSY);
- winErrorFVerb(2,
- "winInitializeScreenDefaults - native DPI x %d y %d\n",
- dpiX, dpiY);
+ winDebug(
+ "winInitializeScreenDefaults - native DPI x %d y %d\n",
+ dpiX, dpiY);
monitorResolution = dpiY;
ReleaseDC(NULL, hdc);
}
else {
- winErrorFVerb(1,
- "winInitializeScreenDefaults - Failed to retrieve native DPI, falling back to default of %d DPI\n",
- WIN_DEFAULT_DPI);
+ winDebug(
+ "winInitializeScreenDefaults - Failed to retrieve native DPI, falling back to default of %d DPI\n",
+ WIN_DEFAULT_DPI);
monitorResolution = WIN_DEFAULT_DPI;
}
}
@@ -131,6 +132,8 @@ winInitializeScreenDefaults(void)
defaultScreenInfo.fDecoration = TRUE;
#ifdef XWIN_MULTIWINDOWEXTWM
defaultScreenInfo.fMWExtWM = FALSE;
+#endif
+#ifdef XWIN_MULTIWINDOWINTWM
defaultScreenInfo.fInternalWM = FALSE;
#endif
defaultScreenInfo.fRootless = FALSE;
@@ -157,7 +160,7 @@ winInitializeScreenDefaults(void)
static void
winInitializeScreen(int i)
{
- winErrorFVerb(3, "winInitializeScreen - %d\n", i);
+ winDebug ("winInitializeScreen - %d\n",i);
/* Initialize default screen values, if needed */
winInitializeScreenDefaults();
@@ -174,7 +177,7 @@ winInitializeScreens(int maxscreens)
{
int i;
- winErrorFVerb(3, "winInitializeScreens - %i\n", maxscreens);
+ winDebug ("winInitializeScreens - %i\n", maxscreens);
if (maxscreens > g_iNumScreens) {
/* Reallocate the memory for DDX-specific screen info */
@@ -248,23 +251,22 @@ ddxProcessArgument(int argc, char *argv[], int i)
* OsVendorInit () gets called, otherwise we will overwrite
* settings changed by parameters such as -fullscreen, etc.
*/
- winErrorFVerb(2, "ddxProcessArgument - Initializing default "
- "screens\n");
+ winDebug ("ddxProcessArgument - Initializing default "
+ "screens\n");
winInitializeScreenDefaults();
}
}
-#if CYGDEBUG
winDebug("ddxProcessArgument - arg: %s\n", argv[i]);
-#endif
/*
* Look for the '-help' and similar options
*/
if (IS_OPTION("-help") || IS_OPTION("-h") || IS_OPTION("--help")) {
/* Reset logfile. We don't need that helpmessage in the logfile */
- g_pszLogFile = NULL;
+#ifdef _DEBUG
g_fNoHelpMessageBox = TRUE;
+#endif
UseMsg();
exit(0);
return 1;
@@ -272,7 +274,6 @@ ddxProcessArgument(int argc, char *argv[], int i)
if (IS_OPTION("-version") || IS_OPTION("--version")) {
/* Reset logfile. We don't need that versioninfo in the logfile */
- g_pszLogFile = NULL;
winLogVersionInfo();
exit(0);
return 1;
@@ -287,9 +288,7 @@ ddxProcessArgument(int argc, char *argv[], int i)
int iWidth, iHeight, iX, iY;
int iMonitor;
-#if CYGDEBUG
winDebug("ddxProcessArgument - screen - argc: %d i: %d\n", argc, i);
-#endif
/* Display the usage message if the argument is malformed */
if (i + 1 >= argc) {
@@ -324,9 +323,9 @@ ddxProcessArgument(int argc, char *argv[], int i)
("ddxProcessArgument - screen - Querying monitors failed\n");
}
else if (data.bMonitorSpecifiedExists == TRUE) {
- winErrorFVerb(2,
- "ddxProcessArgument - screen - Found Valid ``@Monitor'' = %d arg\n",
- iMonitor);
+ winDebug(
+ "ddxProcessArgument - screen - Found Valid ``@Monitor'' = %d arg\n",
+ iMonitor);
iArgsProcessed = 3;
g_ScreenInfo[nScreenNum].fUserGaveHeightAndWidth = FALSE;
g_ScreenInfo[nScreenNum].fUserGavePosition = TRUE;
@@ -354,8 +353,8 @@ ddxProcessArgument(int argc, char *argv[], int i)
else if (i + 2 < argc
&& 2 == sscanf(argv[i + 2], "%dx%d",
(int *) &iWidth, (int *) &iHeight)) {
- winErrorFVerb(2,
- "ddxProcessArgument - screen - Found ``WxD'' arg\n");
+ winDebug (
+ "ddxProcessArgument - screen - Found ``WxD'' arg\n");
iArgsProcessed = 3;
g_ScreenInfo[nScreenNum].fUserGaveHeightAndWidth = TRUE;
g_ScreenInfo[nScreenNum].dwWidth = iWidth;
@@ -365,8 +364,8 @@ ddxProcessArgument(int argc, char *argv[], int i)
/* Look for WxD+X+Y */
if (2 == sscanf(argv[i + 2], "%*dx%*d+%d+%d",
(int *) &iX, (int *) &iY)) {
- winErrorFVerb(2,
- "ddxProcessArgument - screen - Found ``X+Y'' arg\n");
+ winDebug (
+ "ddxProcessArgument - screen - Found ``X+Y'' arg\n");
g_ScreenInfo[nScreenNum].fUserGavePosition = TRUE;
g_ScreenInfo[nScreenNum].dwInitialX = iX;
g_ScreenInfo[nScreenNum].dwInitialY = iY;
@@ -410,9 +409,9 @@ ddxProcessArgument(int argc, char *argv[], int i)
("ddxProcessArgument - screen - Querying monitors failed\n");
}
else if (data.bMonitorSpecifiedExists == TRUE) {
- winErrorFVerb(2,
- "ddxProcessArgument - screen - Found Valid ``@Monitor'' = %d arg\n",
- iMonitor);
+ winDebug (
+ "ddxProcessArgument - screen - Found Valid ``@Monitor'' = %d arg\n",
+ iMonitor);
g_ScreenInfo[nScreenNum].fUserGavePosition = TRUE;
g_ScreenInfo[nScreenNum].iMonitor = iMonitor;
g_ScreenInfo[nScreenNum].hMonitor = data.monitorHandle;
@@ -433,7 +432,7 @@ ddxProcessArgument(int argc, char *argv[], int i)
}
else if (i + 3 < argc && 1 == sscanf(argv[i + 2], "%d", (int *) &iWidth)
&& 1 == sscanf(argv[i + 3], "%d", (int *) &iHeight)) {
- winErrorFVerb(2,
+ winDebug (
"ddxProcessArgument - screen - Found ``W D'' arg\n");
iArgsProcessed = 4;
g_ScreenInfo[nScreenNum].fUserGaveHeightAndWidth = TRUE;
@@ -443,7 +442,7 @@ ddxProcessArgument(int argc, char *argv[], int i)
g_ScreenInfo[nScreenNum].dwUserHeight = iHeight;
if (i + 5 < argc && 1 == sscanf(argv[i + 4], "%d", (int *) &iX)
&& 1 == sscanf(argv[i + 5], "%d", (int *) &iY)) {
- winErrorFVerb(2,
+ winDebug (
"ddxProcessArgument - screen - Found ``X Y'' arg\n");
iArgsProcessed = 6;
g_ScreenInfo[nScreenNum].fUserGavePosition = TRUE;
@@ -452,11 +451,11 @@ ddxProcessArgument(int argc, char *argv[], int i)
}
}
else {
- winErrorFVerb(2,
+ ErrorF (
"ddxProcessArgument - screen - Did not find size arg. "
- "dwWidth: %d dwHeight: %d\n",
- (int) g_ScreenInfo[nScreenNum].dwWidth,
- (int) g_ScreenInfo[nScreenNum].dwHeight);
+ "dwWidth: %d dwHeight: %d\n",
+ (int) g_ScreenInfo[nScreenNum].dwWidth,
+ (int) g_ScreenInfo[nScreenNum].dwHeight);
iArgsProcessed = 2;
g_ScreenInfo[nScreenNum].fUserGaveHeightAndWidth = FALSE;
}
@@ -533,6 +532,8 @@ ddxProcessArgument(int argc, char *argv[], int i)
screenInfoPtr->fMultipleMonitors = FALSE;
#endif
screenInfoPtr->fFullScreen = TRUE;
+ // resizing is not allowed in full screen so change the default to not allowed
+ screenInfoPtr->iResizeMode=notAllowed;
/* Indicate that we have processed this argument */
return 1;
@@ -574,6 +575,8 @@ ddxProcessArgument(int argc, char *argv[], int i)
/* Indicate that we have processed this argument */
return 1;
}
+#endif
+#ifdef XWIN_MULTIWINDOWINTWM
/*
* Look for the '-internalwm' argument
*/
@@ -716,6 +719,30 @@ ddxProcessArgument(int argc, char *argv[], int i)
/* Indicate that we have processed this argument */
return 1;
}
+
+ /*
+ * Look for the '-clipboard' argument
+ */
+ if (IS_OPTION ("-clipboardprimary"))
+ {
+ /* Now the default, we still accept the arg for backwards compatibility */
+ g_fClipboardPrimary = TRUE;
+
+ /* Indicate that we have processed this argument */
+ return 1;
+ }
+
+ /*
+ * Look for the '-noclipboard' argument
+ */
+ if (IS_OPTION ("-noclipboardprimary"))
+ {
+ g_fClipboardPrimary = FALSE;
+
+ /* Indicate that we have processed this argument */
+ return 1;
+ }
+
#endif
/*
@@ -1004,6 +1031,7 @@ ddxProcessArgument(int argc, char *argv[], int i)
if (IS_OPTION("-logverbose")) {
CHECK_ARGS(1);
g_iLogVerbose = atoi(argv[++i]);
+ LogSetParameter(XLOG_VERBOSITY, g_iLogVerbose);
return 2;
}
@@ -1069,10 +1097,27 @@ ddxProcessArgument(int argc, char *argv[], int i)
return 1;
}
- if (IS_OPTION("-nowgl")) {
+ else if (IS_OPTION("-nowgl")) {
g_fNativeGl = FALSE;
return 1;
}
+ else if (IS_OPTION("-swrastwgl"))
+ {
+ g_fswrastwgl = TRUE;
+ return 1;
+ }
+ else if (IS_OPTION("-parentprocessid"))
+ {
+ DWORD dwProcessId;
+ CHECK_ARGS (1);
+ dwProcessId = atoi(argv[++i]);
+ if (!AllowSetForegroundWindow(dwProcessId))
+ {
+ winMessageBoxF ("Error calling AllowSetForegroundWindow.", MB_ICONINFORMATION);
+ return 0;
+ }
+ return 2;
+ }
if (IS_OPTION("-hostintitle")) {
g_fHostInTitle = TRUE;
@@ -1145,7 +1190,7 @@ winLogCommandLine(int argc, char *argv[])
iCurrLen += strlen(argv[i]);
}
- ErrorF("XWin was started with the following command line:\n\n"
+ winDebug ("XWin was started with the following command line:\n\n"
"%s\n\n", g_pszCommandLine);
}
@@ -1162,9 +1207,9 @@ winLogVersionInfo(void)
return;
s_fBeenHere = TRUE;
- ErrorF("Welcome to the XWin X Server\n");
+ ErrorF("Welcome to the VcXsrv X Server\n");
ErrorF("Vendor: %s\n", XVENDORNAME);
- ErrorF("Release: %d.%d.%d.%d\n", XORG_VERSION_MAJOR,
+ ErrorF("Release: %d.%d.%d.%d\n\n", XORG_VERSION_MAJOR,
XORG_VERSION_MINOR, XORG_VERSION_PATCH, XORG_VERSION_SNAP);
if (strlen(BUILDERSTRING))
ErrorF("%s\n", BUILDERSTRING);
diff --git a/xorg-server/hw/xwin/winresource.h b/xorg-server/hw/xwin/winresource.h
index afbf9f28d..39b890c7c 100644
--- a/xorg-server/hw/xwin/winresource.h
+++ b/xorg-server/hw/xwin/winresource.h
@@ -46,4 +46,6 @@
#define ID_ABOUT_WEBSITE 303
+#define IDC_HOSTLIST 100
+
#endif
diff --git a/xorg-server/hw/xwin/winscrinit.c b/xorg-server/hw/xwin/winscrinit.c
index 23152cbd2..ae52f8a2c 100644
--- a/xorg-server/hw/xwin/winscrinit.c
+++ b/xorg-server/hw/xwin/winscrinit.c
@@ -88,10 +88,8 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
HDC hdc;
DWORD dwInitialBPP;
-#if CYGDEBUG || YES
winDebug("winScreenInit - dwWidth: %ld dwHeight: %ld\n",
pScreenInfo->dwWidth, pScreenInfo->dwHeight);
-#endif
/* Allocate privates for this screen */
if (!winAllocatePrivates(pScreen)) {
@@ -122,27 +120,27 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
/* Horribly misnamed function: Allow engine to adjust BPP for screen */
dwInitialBPP = pScreenInfo->dwBPP;
-
- if (!(*pScreenPriv->pwinAdjustVideoMode) (pScreen)) {
+
+ if (pScreenPriv->pwinAdjustVideoMode && !(*pScreenPriv->pwinAdjustVideoMode) (pScreen)) {
ErrorF("winScreenInit - winAdjustVideoMode () failed\n");
return FALSE;
}
if (dwInitialBPP == WIN_DEFAULT_BPP) {
/* No -depth parameter was passed, let the user know the depth being used */
- ErrorF
+ winDebug
("winScreenInit - Using Windows display depth of %d bits per pixel\n",
(int) pScreenInfo->dwBPP);
}
else if (dwInitialBPP != pScreenInfo->dwBPP) {
/* Warn user if engine forced a depth different to -depth parameter */
- ErrorF
+ winDebug
("winScreenInit - Command line depth of %d bpp overidden by engine, using %d bpp\n",
(int) dwInitialBPP, (int) pScreenInfo->dwBPP);
}
else {
- ErrorF("winScreenInit - Using command line depth of %d bpp\n",
- (int) pScreenInfo->dwBPP);
+ winDebug("winScreenInit - Using command line depth of %d bpp\n",
+ (int) pScreenInfo->dwBPP);
}
/* Check for supported display depth */
@@ -175,7 +173,7 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
}
/* Create display window */
- if (!(*pScreenPriv->pwinCreateBoundingWindow) (pScreen)) {
+ if (pScreenPriv->pwinCreateBoundingWindow && !(*pScreenPriv->pwinCreateBoundingWindow) (pScreen)) {
ErrorF("winScreenInit - pwinCreateBoundingWindow () " "failed\n");
return FALSE;
}
@@ -202,7 +200,7 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
miClearVisualTypes();
/* Call the engine dependent screen initialization procedure */
- if (!((*pScreenPriv->pwinFinishScreenInit) (pScreen->myNum, pScreen, argc, argv))) {
+ if (pScreenPriv->pwinFinishScreenInit && !((*pScreenPriv->pwinFinishScreenInit) (pScreen->myNum, pScreen, argc, argv))) {
ErrorF("winScreenInit - winFinishScreenInit () failed\n");
/* call the engine dependent screen close procedure to clean up from a failure */
@@ -213,8 +211,10 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
if (!g_fSoftwareCursor)
winInitCursor(pScreen);
+#ifdef WINDBG
else
- winErrorFVerb(2, "winScreenInit - Using software cursor\n");
+ winDebug("winScreenInit - Using software cursor\n");
+#endif
/*
Note the screen origin in a normalized coordinate space where (0,0) is at the top left
@@ -223,12 +223,9 @@ winScreenInit(ScreenPtr pScreen, int argc, char **argv)
pScreen->x = pScreenInfo->dwInitialX - GetSystemMetrics(SM_XVIRTUALSCREEN);
pScreen->y = pScreenInfo->dwInitialY - GetSystemMetrics(SM_YVIRTUALSCREEN);
- ErrorF("Screen %d added at virtual desktop coordinate (%d,%d).\n",
+ winDebug("Screen %d added at virtual desktop coordinate (%d,%d).\n",
pScreen->myNum, pScreen->x, pScreen->y);
-
-#if CYGDEBUG || YES
winDebug("winScreenInit - returning\n");
-#endif
return TRUE;
}
@@ -281,10 +278,10 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
+ winCountBits(pScreenPriv->dwGreenMask)
+ winCountBits(pScreenPriv->dwBlueMask);
- winErrorFVerb(2, "winFinishScreenInitFB - Masks: %08x %08x %08x\n",
- (unsigned int) pScreenPriv->dwRedMask,
- (unsigned int) pScreenPriv->dwGreenMask,
- (unsigned int) pScreenPriv->dwBlueMask);
+ winDebug ("winFinishScreenInitFB - Masks: %08x %08x %08x\n",
+ (unsigned int) pScreenPriv->dwRedMask,
+ (unsigned int) pScreenPriv->dwGreenMask,
+ (unsigned int) pScreenPriv->dwBlueMask);
/* Init visuals */
if (!(*pScreenPriv->pwinInitVisuals) (pScreen)) {
@@ -367,16 +364,12 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
#endif
/* Setup the cursor routines */
-#if CYGDEBUG
winDebug("winFinishScreenInitFB - Calling miDCInitialize ()\n");
-#endif
miDCInitialize(pScreen, &g_winPointerCursorFuncs);
/* KDrive does winCreateDefColormap right after miDCInitialize */
/* Create a default colormap */
-#if CYGDEBUG
winDebug("winFinishScreenInitFB - Calling winCreateDefColormap ()\n");
-#endif
if (!winCreateDefColormap(pScreen)) {
ErrorF("winFinishScreenInitFB - Could not create colormap\n");
return FALSE;
@@ -390,9 +383,7 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
&& !pScreenInfo->fMWExtWM
#endif
) {
-#if CYGDEBUG
winDebug("winFinishScreenInitFB - Calling shadowSetup ()\n");
-#endif
if (!shadowSetup(pScreen)) {
ErrorF("winFinishScreenInitFB - shadowSetup () failed\n");
return FALSE;
@@ -533,13 +524,11 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
#ifdef XWIN_MULTIWINDOW
|| pScreenInfo->fMultiWindow
#endif
-#ifdef XWIN_MULTIWINDOWEXTWM
+#ifdef XWIN_MULTIWINDOWINTWM
|| pScreenInfo->fInternalWM
#endif
) {
-#if CYGDEBUG || YES
winDebug("winFinishScreenInitFB - Calling winInitWM.\n");
-#endif
/* Initialize multi window mode */
if (!winInitWM(&pScreenPriv->pWMInfo,
@@ -547,7 +536,7 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
&pScreenPriv->ptXMsgProc,
&pScreenPriv->pmServerStarted,
pScreenInfo->dwScreen, (HWND) &pScreenPriv->hwndScreen,
-#ifdef XWIN_MULTIWINDOWEXTWM
+#ifdef XWIN_MULTIWINDOWINTWM
pScreenInfo->fInternalWM ||
#endif
FALSE)) {
@@ -563,9 +552,7 @@ winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv)
/* Tell the server that we have a valid depth */
pScreenPriv->fBadDepth = FALSE;
-#if CYGDEBUG || YES
winDebug("winFinishScreenInitFB - returning\n");
-#endif
return TRUE;
}
@@ -675,7 +662,7 @@ winFinishScreenInitNativeGDI(int i,
/* Bitmap */
pScreen->BitmapToRegion = winPixmapToRegionNativeGDI;
- ErrorF("winFinishScreenInitNativeGDI - calling miDCInitialize\n");
+ winDebug ("winFinishScreenInitNativeGDI - calling miDCInitialize\n");
/* Set the default white and black pixel positions */
pScreen->whitePixel = pScreen->blackPixel = (Pixel) 0;
@@ -693,8 +680,8 @@ winFinishScreenInitNativeGDI(int i,
return FALSE;
}
- ErrorF("winFinishScreenInitNativeGDI - miCreateDefColormap () "
- "returned\n");
+ winDebug ("winFinishScreenInitNativeGDI - miCreateDefColormap () "
+ "returned\n");
/* mi doesn't use a CloseScreen procedure, so no need to wrap */
pScreen->CloseScreen = pScreenPriv->pwinCloseScreen;
@@ -702,8 +689,8 @@ winFinishScreenInitNativeGDI(int i,
/* Tell the server that we are enabled */
pScreenPriv->fEnabled = TRUE;
- ErrorF("winFinishScreenInitNativeGDI - Successful addition of "
- "screen %p\n", pScreen);
+ winDebug ("winFinishScreenInitNativeGDI - Successful addition of "
+ "screen %p\n", pScreen);
return TRUE;
}
diff --git a/xorg-server/hw/xwin/winsetsp.c b/xorg-server/hw/xwin/winsetsp.c
index 11108cb53..29f49abe1 100644
--- a/xorg-server/hw/xwin/winsetsp.c
+++ b/xorg-server/hw/xwin/winsetsp.c
@@ -34,6 +34,11 @@
#endif
#include "win.h"
+typedef struct mybitmap
+{
+ BITMAPINFOHEADER bmiHeader;
+ RGBQUAD bmiColors[256]; /* Maximum palette used in case of 8-bit per pixel */
+} mybitmap_t;
/* See Porting Layer Definition - p. 55 */
void
winSetSpansNativeGDI(DrawablePtr pDrawable,
@@ -46,7 +51,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
PixmapPtr pPixmap = NULL;
winPrivPixmapPtr pPixmapPriv = NULL;
HBITMAP hbmpOrig = NULL;
- BITMAPINFO *pbmi;
+ mybitmap_t bmi;
HRGN hrgn = NULL, combined = NULL;
int nbox;
BoxPtr pbox;
@@ -57,8 +62,6 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
if (!nbox)
return;
- pbmi = malloc(sizeof(BITMAPINFO) + sizeof(RGBQUAD));
-
combined = CreateRectRgn(pbox->x1, pbox->y1, pbox->x2, pbox->y2);
nbox--;
pbox++;
@@ -88,20 +91,19 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
"failed on pPixmapPriv->hBitmap\n");
while (iSpans--) {
- 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;
+ ZeroMemory (&bmi, sizeof (mybitmap_t));
+ 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;
/* Setup color table for mono DIBs */
if (pDrawable->depth == 1) {
- RGBQUAD *bmiColors = &(pbmi->bmiColors[0]);
- bmiColors[1].rgbBlue = 255;
- bmiColors[1].rgbGreen = 255;
- bmiColors[1].rgbRed = 255;
+ bmi.bmiColors[1].rgbBlue = 255;
+ bmi.bmiColors[1].rgbGreen = 255;
+ bmi.bmiColors[1].rgbRed = 255;
}
StretchDIBits(pGCPriv->hdcMem,
@@ -110,7 +112,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
0, 0,
*piWidths, 1,
pSrcs,
- (BITMAPINFO *) pbmi,
+ (BITMAPINFO *) &bmi,
DIB_RGB_COLORS, g_copyROP[pGC->alu]);
pSrcs += PixmapBytePad(*piWidths, pDrawable->depth);
@@ -132,20 +134,19 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
combined = NULL;
while (iSpans--) {
- 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;
+ ZeroMemory (&bmi, sizeof (mybitmap_t));
+ 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;
/* Setup color table for mono DIBs */
if (pDrawable->depth == 1) {
- RGBQUAD *bmiColors = &(pbmi->bmiColors[0]);
- bmiColors[1].rgbBlue = 255;
- bmiColors[1].rgbGreen = 255;
- bmiColors[1].rgbRed = 255;
+ bmi.bmiColors[1].rgbBlue = 255;
+ bmi.bmiColors[1].rgbGreen = 255;
+ bmi.bmiColors[1].rgbRed = 255;
}
StretchDIBits(pGCPriv->hdc,
@@ -154,7 +155,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
0, 0,
*piWidths, 1,
pSrcs,
- (BITMAPINFO *) pbmi,
+ (BITMAPINFO *) &bmi,
DIB_RGB_COLORS, g_copyROP[pGC->alu]);
pSrcs += PixmapBytePad(*piWidths, pDrawable->depth);
@@ -170,6 +171,4 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
FatalError("\nwinSetSpansNativeGDI - Unknown drawable type\n\n");
break;
}
-
- free(pbmi);
}
diff --git a/xorg-server/hw/xwin/winshaddd.c b/xorg-server/hw/xwin/winshaddd.c
index 5f3b658fb..194449e63 100644
--- a/xorg-server/hw/xwin/winshaddd.c
+++ b/xorg-server/hw/xwin/winshaddd.c
@@ -35,6 +35,7 @@
#include <xwin-config.h>
#endif
#include "win.h"
+#include "winprefs.h"
/*
* Local prototypes
@@ -113,9 +114,7 @@ winCreatePrimarySurfaceShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winCreatePrimarySurfaceShadowDD - Created primary surface\n");
-#endif
/*
* Attach a clipper to the primary surface that will clip our blits to our
@@ -129,10 +128,8 @@ winCreatePrimarySurfaceShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winCreatePrimarySurfaceShadowDD - Attached clipper to "
"primary surface\n");
-#endif
/* Everything was correct */
return TRUE;
@@ -148,7 +145,7 @@ winReleasePrimarySurfaceShadowDD(ScreenPtr pScreen)
{
winScreenPriv(pScreen);
- ErrorF("winReleasePrimarySurfaceShadowDD - Hello\n");
+ winDebug ("winReleasePrimarySurfaceShadowDD - Hello\n");
/* Release the primary surface and clipper, if they exist */
if (pScreenPriv->pddsPrimary) {
@@ -158,14 +155,14 @@ winReleasePrimarySurfaceShadowDD(ScreenPtr pScreen)
*/
IDirectDrawSurface2_SetClipper(pScreenPriv->pddsPrimary, NULL);
- ErrorF("winReleasePrimarySurfaceShadowDD - Detached clipper\n");
+ winDebug ("winReleasePrimarySurfaceShadowDD - Detached clipper\n");
/* Release the primary surface */
IDirectDrawSurface2_Release(pScreenPriv->pddsPrimary);
pScreenPriv->pddsPrimary = NULL;
}
- ErrorF("winReleasePrimarySurfaceShadowDD - Released primary surface\n");
+ winDebug ("winReleasePrimarySurfaceShadowDD - Released primary surface\n");
return TRUE;
}
@@ -187,9 +184,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
DDSURFACEDESC ddsd;
DDSURFACEDESC *pddsdShadow = NULL;
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD\n");
-#endif
/* Create a clipper */
ddrval = (*g_fpDirectDrawCreateClipper) (0,
@@ -200,9 +195,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD - Created a clipper\n");
-#endif
/* Attach the clipper to our display window */
ddrval = IDirectDrawClipper_SetHWnd(pScreenPriv->pddcPrimary,
@@ -213,9 +206,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD - Attached clipper to window\n");
-#endif
/* Create a DirectDraw object, store the address at lpdd */
ddrval = (*g_fpDirectDrawCreate) (NULL, &pScreenPriv->pdd, NULL);
@@ -225,9 +216,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD () - Created and initialized DD\n");
-#endif
/* Get a DirectDraw2 interface pointer */
ddrval = IDirectDraw_QueryInterface(pScreenPriv->pdd,
@@ -300,7 +289,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
|| pScreenInfo->dwHeight != GetSystemMetrics(SM_CYSCREEN)
|| pScreenInfo->dwBPP != GetDeviceCaps(hdc, BITSPIXEL)
|| pScreenInfo->dwRefreshRate != 0)) {
- ErrorF("winAllocateFBShadowDD - Changing video mode\n");
+ winDebug ("winAllocateFBShadowDD - Changing video mode\n");
/* Change the video mode to the mode requested, and use the driver default refresh rate on failure */
ddrval = IDirectDraw2_SetDisplayMode(pScreenPriv->pdd2,
@@ -329,7 +318,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
}
}
else {
- ErrorF("winAllocateFBShadowDD - Not changing video mode\n");
+ winDebug ("winAllocateFBShadowDD - Not changing video mode\n");
}
/* Release our DC */
@@ -379,9 +368,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD - Created shadow\n");
-#endif
/* Allocate a DD surface description for our screen privates */
pddsdShadow = pScreenPriv->pddsdShadow = malloc(sizeof(DDSURFACEDESC));
@@ -393,9 +380,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
ZeroMemory(pddsdShadow, sizeof(*pddsdShadow));
pddsdShadow->dwSize = sizeof(*pddsdShadow);
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD - Locking shadow\n");
-#endif
/* Lock the shadow surface */
ddrval = IDirectDrawSurface2_Lock(pScreenPriv->pddsShadow,
@@ -406,9 +391,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD - Locked shadow\n");
-#endif
/* We don't know how to deal with anything other than RGB */
if (!(pddsdShadow->ddpfPixelFormat.dwFlags & DDPF_RGB)) {
@@ -428,9 +411,7 @@ winAllocateFBShadowDD(ScreenPtr pScreen)
pScreenPriv->dwGreenMask = pddsdShadow->ddpfPixelFormat.u3.dwGBitMask;
pScreenPriv->dwBlueMask = pddsdShadow->ddpfPixelFormat.u4.dwBBitMask;
-#if CYGDEBUG
winDebug("winAllocateFBShadowDD - Returning\n");
-#endif
return TRUE;
}
@@ -594,6 +575,7 @@ winShadowUpdateDD(ScreenPtr pScreen, shadowBufPtr pBuf)
/* Has our memory pointer changed? */
if (pScreenInfo->pfb != pScreenPriv->pddsdShadow->lpSurface) {
+ extern const char *g_pszLogFile;
ErrorF("winShadowUpdateDD - Memory location of the shadow "
"surface has changed, trying to update the root window "
"pixmap header to point to the new address. If you get "
@@ -630,9 +612,7 @@ winCloseScreenShadowDD(ScreenPtr pScreen)
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
Bool fReturn;
-#if CYGDEBUG
winDebug("winCloseScreenShadowDD - Freeing screen resources\n");
-#endif
/* Flag that the screen is closed */
pScreenPriv->fClosed = TRUE;
@@ -652,7 +632,7 @@ winCloseScreenShadowDD(ScreenPtr pScreen)
RemoveProp(pScreenPriv->hwndScreen, WIN_SCR_PROP);
/* Delete tray icon, if we have one */
- if (!pScreenInfo->fNoTrayIcon)
+ if (!pScreenInfo->fNoTrayIcon && !pref.fNoTrayIcon)
winDeleteNotifyIcon(pScreenPriv);
/* Free the exit confirmation dialog box, if it exists */
@@ -669,7 +649,7 @@ winCloseScreenShadowDD(ScreenPtr pScreen)
#if defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
/* Destroy the thread startup mutex */
- pthread_mutex_destroy(&pScreenPriv->pmServerStarted);
+ if (pScreenPriv->pmServerStarted) pthread_mutex_destroy (&pScreenPriv->pmServerStarted);
#endif
/* Kill our screeninfo's pointer to the screen */
@@ -711,13 +691,13 @@ winInitVisualsShadowDD(ScreenPtr pScreen)
else
pScreenPriv->dwBitsPerRGB = dwBlueBits;
- ErrorF("winInitVisualsShadowDD - Masks %08x %08x %08x BPRGB %d d %d "
- "bpp %d\n",
- (unsigned int) pScreenPriv->dwRedMask,
- (unsigned int) pScreenPriv->dwGreenMask,
- (unsigned int) pScreenPriv->dwBlueMask,
- (int) pScreenPriv->dwBitsPerRGB,
- (int) pScreenInfo->dwDepth, (int) pScreenInfo->dwBPP);
+ winDebug ("winInitVisualsShadowDD - Masks %08x %08x %08x BPRGB %d d %d "
+ "bpp %d\n",
+ (unsigned int) pScreenPriv->dwRedMask,
+ (unsigned int) pScreenPriv->dwGreenMask,
+ (unsigned int) pScreenPriv->dwBlueMask,
+ (int) pScreenPriv->dwBitsPerRGB,
+ (int) pScreenInfo->dwDepth, (int) pScreenInfo->dwBPP);
/* Create a single visual according to the Windows screen depth */
switch (pScreenInfo->dwDepth) {
@@ -771,9 +751,7 @@ winInitVisualsShadowDD(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winInitVisualsShadowDD - Returning\n");
-#endif
return TRUE;
}
@@ -1144,10 +1122,8 @@ winDestroyColormapShadowDD(ColormapPtr pColormap)
* we need to handle the default colormap in a special way.
*/
if (pColormap->flags & IsDefault) {
-#if CYGDEBUG
winDebug("winDestroyColormapShadowDD - Destroying default "
"colormap\n");
-#endif
/*
* FIXME: Walk the list of all screens, popping the default
diff --git a/xorg-server/hw/xwin/winshadddnl.c b/xorg-server/hw/xwin/winshadddnl.c
index 55af5c383..047482e09 100644
--- a/xorg-server/hw/xwin/winshadddnl.c
+++ b/xorg-server/hw/xwin/winshadddnl.c
@@ -35,6 +35,7 @@
#include <xwin-config.h>
#endif
#include "win.h"
+#include "winprefs.h"
#define FAIL_MSG_MAX_BLT 10
@@ -87,6 +88,65 @@ static Bool
static Bool
winReleasePrimarySurfaceShadowDDNL(ScreenPtr pScreen);
+static HRESULT myIDirectDrawSurface4_Blt( ScreenPtr pScreen, RECT *pRect, RECT *prcSrc)
+{
+ HRESULT ddrval = DD_OK;
+ unsigned i;
+ winScreenPriv(pScreen);
+
+
+ for (i = 0; i < 3; ++i)
+ {
+ if (pScreenPriv->pddsPrimary4)
+ ddrval = IDirectDrawSurface4_Blt(pScreenPriv->pddsPrimary4, pRect, pScreenPriv->pddsShadow4, prcSrc, DDBLT_WAIT, NULL);
+ else
+ ddrval = DDERR_SURFACELOST; // Surface has been closed
+ /* Try to regain the primary surface and blit again if we've lost it */
+ if (ddrval == DDERR_SURFACELOST)
+ {
+ /* Surface was lost */
+ ErrorF ("IDirectDrawSurface4_Blt reported that the primary "
+ "surface was lost, trying to restore, retry: %d\n", i + 1);
+
+ /* Try to restore the surface, once */
+
+ if (i==1)
+ {
+ ErrorF("Recreating DDraw surface because restoring of surface didn't work.\n");
+ winAllocateFBShadowDDNL(pScreen);
+ }
+ else
+ {
+ ddrval = IDirectDraw4_RestoreAllSurfaces (pScreenPriv->pdd4);
+ ErrorF ("IDirectDraw4_RestoreAllSurfaces returned: ");
+ if (ddrval == DD_OK)
+ ErrorF ("DD_OK\n");
+ else if (ddrval == DDERR_WRONGMODE)
+ ErrorF ("DDERR_WRONGMODE\n");
+ else if (ddrval == DDERR_INCOMPATIBLEPRIMARY)
+ ErrorF ("DDERR_INCOMPATIBLEPRIMARY\n");
+ else if (ddrval == DDERR_UNSUPPORTED)
+ ErrorF ("DDERR_UNSUPPORTED\n");
+ else if (ddrval == DDERR_INVALIDPARAMS)
+ ErrorF ("DDERR_INVALIDPARAMS\n");
+ else if (ddrval == DDERR_INVALIDOBJECT)
+ ErrorF ("DDERR_INVALIDOBJECT\n");
+ else
+ ErrorF ("unknown error: %08x\n", ddrval);
+ }
+ /* Loop around to try the blit one more time */
+ continue;
+ }
+ else if (FAILED (ddrval))
+ {
+ ErrorF ("IDirectDrawSurface4_Blt failed, but surface not "
+ "lost: %08x %d\n", ddrval, ddrval);
+ }
+ break;
+ }
+ return ddrval;
+}
+
/*
* Create the primary surface and attach the clipper.
* Used for both the initial surface creation and during
@@ -127,9 +187,7 @@ winCreatePrimarySurfaceShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if 1
winDebug("winCreatePrimarySurfaceShadowDDNL - Created primary surface\n");
-#endif
/* Attach our clipper to our primary surface handle */
ddrval = IDirectDrawSurface4_SetClipper(pScreenPriv->pddsPrimary4,
@@ -140,34 +198,22 @@ winCreatePrimarySurfaceShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if 1
winDebug("winCreatePrimarySurfaceShadowDDNL - Attached clipper to primary "
"surface\n");
-#endif
/* Everything was correct */
return TRUE;
}
-/*
- * Detach the clipper and release the primary surface.
- * Called from WM_DISPLAYCHANGE.
- */
-
-static Bool
-winReleasePrimarySurfaceShadowDDNL(ScreenPtr pScreen)
+static void ClosePrimarySurfaceShadowDDNL (winPrivScreenPtr pScreenPriv)
{
- winScreenPriv(pScreen);
-
- winDebug("winReleasePrimarySurfaceShadowDDNL - Hello\n");
-
/* Release the primary surface and clipper, if they exist */
if (pScreenPriv->pddsPrimary4) {
/*
* Detach the clipper from the primary surface.
* NOTE: We do this explicity for clarity. The Clipper is not released.
*/
- IDirectDrawSurface4_SetClipper(pScreenPriv->pddsPrimary4, NULL);
+ IDirectDrawSurface4_SetClipper (pScreenPriv->pddsPrimary4, NULL);
winDebug("winReleasePrimarySurfaceShadowDDNL - Detached clipper\n");
@@ -176,6 +222,47 @@ winReleasePrimarySurfaceShadowDDNL(ScreenPtr pScreen)
pScreenPriv->pddsPrimary4 = NULL;
}
+}
+
+static void ReleaseDDNL(winPrivScreenPtr pScreenPriv)
+{
+ /* Release the clipper object */
+ if (pScreenPriv->pddcPrimary)
+ {
+ IDirectDrawClipper_Release (pScreenPriv->pddcPrimary);
+ pScreenPriv->pddcPrimary = NULL;
+ }
+
+ /* Free the DirectDraw4 object, if there is one */
+ if (pScreenPriv->pdd4)
+ {
+ IDirectDraw4_RestoreDisplayMode (pScreenPriv->pdd4);
+ IDirectDraw4_Release (pScreenPriv->pdd4);
+ pScreenPriv->pdd4 = NULL;
+ }
+
+ /* Free the DirectDraw object, if there is one */
+ if (pScreenPriv->pdd)
+ {
+ IDirectDraw_Release (pScreenPriv->pdd);
+ pScreenPriv->pdd = NULL;
+ }
+}
+
+/*
+ * Detach the clipper and release the primary surface.
+ * Called from WM_DISPLAYCHANGE.
+ */
+
+static Bool
+winReleasePrimarySurfaceShadowDDNL (ScreenPtr pScreen)
+{
+ winScreenPriv(pScreen);
+
+ winDebug ("winReleasePrimarySurfaceShadowDDNL - Hello\n");
+
+ ClosePrimarySurfaceShadowDDNL(pScreenPriv);
+
winDebug("winReleasePrimarySurfaceShadowDDNL - Released primary surface\n");
return TRUE;
@@ -199,28 +286,41 @@ winAllocateFBShadowDDNL(ScreenPtr pScreen)
char *lpSurface = NULL;
DDPIXELFORMAT ddpfPrimary;
-#if CYGDEBUG
winDebug("winAllocateFBShadowDDNL - w %d h %d d %d\n",
pScreenInfo->dwWidth, pScreenInfo->dwHeight, pScreenInfo->dwDepth);
-#endif
/* Set the padded screen width */
pScreenInfo->dwPaddedWidth = PixmapBytePad(pScreenInfo->dwWidth,
pScreenInfo->dwBPP);
- /* Allocate memory for our shadow surface */
- lpSurface = malloc(pScreenInfo->dwPaddedWidth * pScreenInfo->dwHeight);
- if (lpSurface == NULL) {
- ErrorF("winAllocateFBShadowDDNL - Could not allocate bits\n");
- return FALSE;
- }
-
- /*
- * Initialize the framebuffer memory so we don't get a
- * strange display at startup
- */
- ZeroMemory(lpSurface, pScreenInfo->dwPaddedWidth * pScreenInfo->dwHeight);
+ if ( pScreenInfo->pfb)
+ {
+ ErrorF("winAllocateFBShadowDDNL calling for the second time, reallocating\n");
+ lpSurface=pScreenInfo->pfb;
+ if (pScreenPriv->pddsShadow4)
+ {
+ IDirectDrawSurface4_Release (pScreenPriv->pddsShadow4);
+ pScreenPriv->pddsShadow4 = NULL;
+ }
+ ClosePrimarySurfaceShadowDDNL(pScreenPriv);
+ ReleaseDDNL(pScreenPriv);
+ }
+ else
+ {
+ /* Allocate memory for our shadow surface */
+ lpSurface = malloc (pScreenInfo->dwPaddedWidth * pScreenInfo->dwHeight);
+ if (lpSurface == NULL) {
+ ErrorF ("winAllocateFBShadowDDNL - Could not allocate bits\n");
+ return FALSE;
+ }
+
+ /*
+ * Initialize the framebuffer memory so we don't get a
+ * strange display at startup
+ */
+ ZeroMemory (lpSurface, pScreenInfo->dwPaddedWidth * pScreenInfo->dwHeight);
+ }
/* Create a clipper */
ddrval = (*g_fpDirectDrawCreateClipper) (0,
&pScreenPriv->pddcPrimary, NULL);
@@ -230,9 +330,7 @@ winAllocateFBShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDDNL - Created a clipper\n");
-#endif
/* Attach the clipper to our display window */
ddrval = IDirectDrawClipper_SetHWnd(pScreenPriv->pddcPrimary,
@@ -243,9 +341,7 @@ winAllocateFBShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDDNL - Attached clipper to window\n");
-#endif
/* Create a DirectDraw object, store the address at lpdd */
ddrval = (*g_fpDirectDrawCreate) (NULL,
@@ -257,9 +353,7 @@ winAllocateFBShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDDNL - Created and initialized DD\n");
-#endif
/* Get a DirectDraw4 interface pointer */
ddrval = IDirectDraw_QueryInterface(pScreenPriv->pdd,
@@ -398,13 +492,11 @@ winAllocateFBShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winAllocateFBShadowDDNL - Primary masks: %08x %08x %08x "
"dwRGBBitCount: %d\n",
ddpfPrimary.u2.dwRBitMask,
ddpfPrimary.u3.dwGBitMask,
ddpfPrimary.u4.dwBBitMask, ddpfPrimary.u1.dwRGBBitCount);
-#endif
/* Describe the shadow surface to be created */
/*
@@ -439,19 +531,15 @@ winAllocateFBShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG || YES
winDebug("winAllocateFBShadowDDNL - Created shadow pitch: %d\n",
(int) ddsdShadow.u1.lPitch);
-#endif
/* Grab the pitch from the surface desc */
pScreenInfo->dwStride = (ddsdShadow.u1.lPitch * 8)
/ pScreenInfo->dwBPP;
-#if CYGDEBUG || YES
winDebug("winAllocateFBShadowDDNL - Created shadow stride: %d\n",
(int) pScreenInfo->dwStride);
-#endif
/* Save the pointer to our surface memory */
pScreenInfo->pfb = lpSurface;
@@ -461,9 +549,7 @@ winAllocateFBShadowDDNL(ScreenPtr pScreen)
pScreenPriv->dwGreenMask = ddsdShadow.u4.ddpfPixelFormat.u3.dwGBitMask;
pScreenPriv->dwBlueMask = ddsdShadow.u4.ddpfPixelFormat.u4.dwBBitMask;
-#if CYGDEBUG
winDebug("winAllocateFBShadowDDNL - Returning\n");
-#endif
return TRUE;
}
@@ -485,24 +571,7 @@ winFreeFBShadowDDNL(ScreenPtr pScreen)
/* Detach the clipper from the primary surface and release the primary surface, if there is one */
winReleasePrimarySurfaceShadowDDNL(pScreen);
- /* Release the clipper object */
- if (pScreenPriv->pddcPrimary) {
- IDirectDrawClipper_Release(pScreenPriv->pddcPrimary);
- pScreenPriv->pddcPrimary = NULL;
- }
-
- /* Free the DirectDraw4 object, if there is one */
- if (pScreenPriv->pdd4) {
- IDirectDraw4_RestoreDisplayMode(pScreenPriv->pdd4);
- IDirectDraw4_Release(pScreenPriv->pdd4);
- pScreenPriv->pdd4 = NULL;
- }
-
- /* Free the DirectDraw object, if there is one */
- if (pScreenPriv->pdd) {
- IDirectDraw_Release(pScreenPriv->pdd);
- pScreenPriv->pdd = NULL;
- }
+ ReleaseDDNL(pScreenPriv);
/* Invalidate the ScreenInfo's fb pointer */
pScreenInfo->pfb = NULL;
@@ -518,7 +587,6 @@ winShadowUpdateDDNL(ScreenPtr pScreen, shadowBufPtr pBuf)
winScreenPriv(pScreen);
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
RegionPtr damage = shadowDamage(pBuf);
- HRESULT ddrval = DD_OK;
RECT rcDest, rcSrc;
POINT ptOrigin;
DWORD dwBox = RegionNumRects(damage);
@@ -565,27 +633,10 @@ winShadowUpdateDDNL(ScreenPtr pScreen, shadowBufPtr pBuf)
rcDest.bottom = ptOrigin.y + rcSrc.bottom;
/* Blit the damaged areas */
- ddrval = IDirectDrawSurface4_Blt(pScreenPriv->pddsPrimary4,
- &rcDest,
- pScreenPriv->pddsShadow4,
- &rcSrc, DDBLT_WAIT, NULL);
- if (FAILED(ddrval)) {
- static int s_iFailCount = 0;
-
- if (s_iFailCount < FAIL_MSG_MAX_BLT) {
- ErrorF("winShadowUpdateDDNL - IDirectDrawSurface4_Blt () "
- "failed: %08x\n", (unsigned int) ddrval);
-
- ++s_iFailCount;
-
- if (s_iFailCount == FAIL_MSG_MAX_BLT) {
- ErrorF("winShadowUpdateDDNL - IDirectDrawSurface4_Blt "
- "failure message maximum (%d) reached. No "
- "more failure messages will be printed.\n",
- FAIL_MSG_MAX_BLT);
- }
- }
- }
+ if (pScreenPriv->pddsPrimary4)
+ myIDirectDrawSurface4_Blt (pScreen,
+ &rcDest,
+ &rcSrc);
/* Get a pointer to the next box */
++pBox;
@@ -604,11 +655,9 @@ winShadowUpdateDDNL(ScreenPtr pScreen, shadowBufPtr pBuf)
DeleteObject(hrgnCombined);
hrgnCombined = NULL;
-#if CYGDEBUG
winDebug("winShadowUpdateDDNL - be x1 %d y1 %d x2 %d y2 %d\n",
pBoxExtents->x1, pBoxExtents->y1,
pBoxExtents->x2, pBoxExtents->y2);
-#endif
/* Calculating a bounding box for the source is easy */
rcSrc.left = pBoxExtents->x1;
@@ -623,10 +672,7 @@ winShadowUpdateDDNL(ScreenPtr pScreen, shadowBufPtr pBuf)
rcDest.bottom = ptOrigin.y + rcSrc.bottom;
/* Our Blt should be clipped to the invalidated region */
- ddrval = IDirectDrawSurface4_Blt(pScreenPriv->pddsPrimary4,
- &rcDest,
- pScreenPriv->pddsShadow4,
- &rcSrc, DDBLT_WAIT, NULL);
+ myIDirectDrawSurface4_Blt (pScreen, &rcDest, &rcSrc);
/* Reset the clip region */
SelectClipRgn(pScreenPriv->hdcScreen, NULL);
@@ -655,11 +701,9 @@ winCloseScreenShadowDDNL(ScreenPtr pScreen)
{
winScreenPriv(pScreen);
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
- Bool fReturn;
+ Bool fReturn=FALSE;
-#if CYGDEBUG
winDebug("winCloseScreenShadowDDNL - Freeing screen resources\n");
-#endif
/* Flag that the screen is closed */
pScreenPriv->fClosed = TRUE;
@@ -679,7 +723,7 @@ winCloseScreenShadowDDNL(ScreenPtr pScreen)
RemoveProp(pScreenPriv->hwndScreen, WIN_SCR_PROP);
/* Delete tray icon, if we have one */
- if (!pScreenInfo->fNoTrayIcon)
+ if (!pScreenInfo->fNoTrayIcon && !pref.fNoTrayIcon)
winDeleteNotifyIcon(pScreenPriv);
/* Free the exit confirmation dialog box, if it exists */
@@ -696,7 +740,7 @@ winCloseScreenShadowDDNL(ScreenPtr pScreen)
#if defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
/* Destroy the thread startup mutex */
- pthread_mutex_destroy(&pScreenPriv->pmServerStarted);
+ if (pScreenPriv->pmServerStarted) pthread_mutex_destroy (&pScreenPriv->pmServerStarted);
#endif
/* Kill our screeninfo's pointer to the screen */
@@ -798,9 +842,7 @@ winInitVisualsShadowDDNL(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winInitVisualsShadowDDNL - Returning\n");
-#endif
return TRUE;
}
@@ -892,58 +934,14 @@ winBltExposedRegionsShadowDDNL(ScreenPtr pScreen)
rcSrc.right = pScreenInfo->dwWidth;
rcSrc.bottom = pScreenInfo->dwHeight;
- /* Try to regain the primary surface and blit again if we've lost it */
- for (i = 0; i <= WIN_REGAIN_SURFACE_RETRIES; ++i) {
- /* Our Blt should be clipped to the invalidated region */
- ddrval = IDirectDrawSurface4_Blt(pScreenPriv->pddsPrimary4,
- &rcDest,
- pScreenPriv->pddsShadow4,
- &rcSrc, DDBLT_WAIT, NULL);
- if (ddrval == DDERR_SURFACELOST) {
- /* Surface was lost */
- winErrorFVerb(1, "winBltExposedRegionsShadowDDNL - "
- "IDirectDrawSurface4_Blt reported that the primary "
- "surface was lost, trying to restore, retry: %d\n",
- i + 1);
-
- /* Try to restore the surface, once */
-
- ddrval = IDirectDrawSurface4_Restore(pScreenPriv->pddsPrimary4);
- winDebug("winBltExposedRegionsShadowDDNL - "
- "IDirectDrawSurface4_Restore returned: ");
- if (ddrval == DD_OK)
- winDebug("DD_OK\n");
- else if (ddrval == DDERR_WRONGMODE)
- winDebug("DDERR_WRONGMODE\n");
- else if (ddrval == DDERR_INCOMPATIBLEPRIMARY)
- winDebug("DDERR_INCOMPATIBLEPRIMARY\n");
- else if (ddrval == DDERR_UNSUPPORTED)
- winDebug("DDERR_UNSUPPORTED\n");
- else if (ddrval == DDERR_INVALIDPARAMS)
- winDebug("DDERR_INVALIDPARAMS\n");
- else if (ddrval == DDERR_INVALIDOBJECT)
- winDebug("DDERR_INVALIDOBJECT\n");
- else
- winDebug("unknown error: %08x\n", (unsigned int) ddrval);
-
- /* Loop around to try the blit one more time */
- continue;
- }
- else if (FAILED(ddrval)) {
- fReturn = FALSE;
- winErrorFVerb(1, "winBltExposedRegionsShadowDDNL - "
- "IDirectDrawSurface4_Blt failed, but surface not "
- "lost: %08x %d\n",
- (unsigned int) ddrval, (int) ddrval);
- goto winBltExposedRegionsShadowDDNL_Exit;
- }
- else {
- /* Success, stop looping */
- break;
- }
+ /* Our Blt should be clipped to the invalidated region */
+ ddrval = myIDirectDrawSurface4_Blt (pScreen, &rcDest, &rcSrc);
+ if (FAILED (ddrval))
+ {
+ fReturn = FALSE;
}
- winBltExposedRegionsShadowDDNL_Exit:
+winBltExposedRegionsShadowDDNL_Exit:
/* EndPaint frees the DC */
if (hdcUpdate != NULL)
EndPaint(pScreenPriv->hwndScreen, &ps);
@@ -982,7 +980,6 @@ winRedrawScreenShadowDDNL(ScreenPtr pScreen)
{
winScreenPriv(pScreen);
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
- HRESULT ddrval = DD_OK;
RECT rcSrc, rcDest;
POINT ptOrigin;
@@ -1003,15 +1000,7 @@ winRedrawScreenShadowDDNL(ScreenPtr pScreen)
rcSrc.bottom = pScreenInfo->dwHeight;
/* Redraw the whole window, to take account for the new colors */
- ddrval = IDirectDrawSurface4_Blt(pScreenPriv->pddsPrimary4,
- &rcDest,
- pScreenPriv->pddsShadow4,
- &rcSrc, DDBLT_WAIT, NULL);
- if (FAILED(ddrval)) {
- ErrorF("winRedrawScreenShadowDDNL - IDirectDrawSurface4_Blt () "
- "failed: %08x\n", (unsigned int) ddrval);
- }
-
+ myIDirectDrawSurface4_Blt (pScreen, &rcDest, &rcSrc);
return TRUE;
}
@@ -1139,10 +1128,8 @@ winDestroyColormapShadowDDNL(ColormapPtr pColormap)
* we need to handle the default colormap in a special way.
*/
if (pColormap->flags & IsDefault) {
-#if CYGDEBUG
winDebug
("winDestroyColormapShadowDDNL - Destroying default colormap\n");
-#endif
/*
* FIXME: Walk the list of all screens, popping the default
diff --git a/xorg-server/hw/xwin/winshadgdi.c b/xorg-server/hw/xwin/winshadgdi.c
index 5c815eb73..f04d2562b 100644
--- a/xorg-server/hw/xwin/winshadgdi.c
+++ b/xorg-server/hw/xwin/winshadgdi.c
@@ -32,6 +32,7 @@
#include <xwin-config.h>
#endif
#include "win.h"
+#include "winprefs.h"
/*
* Local function prototypes
@@ -92,8 +93,7 @@ winQueryScreenDIBFormat(ScreenPtr pScreen, BITMAPINFOHEADER * pbmih)
{
winScreenPriv(pScreen);
HBITMAP hbmp;
-
-#if CYGDEBUG
+#ifdef WINDBG
LPDWORD pdw = NULL;
#endif
@@ -116,7 +116,7 @@ winQueryScreenDIBFormat(ScreenPtr pScreen, BITMAPINFOHEADER * pbmih)
return FALSE;
}
-#if CYGDEBUG
+#ifdef WINDBG
/* Get a pointer to bitfields */
pdw = (DWORD *) ((CARD8 *) pbmih + sizeof(BITMAPINFOHEADER));
@@ -169,8 +169,8 @@ winQueryRGBBitsAndMasks(ScreenPtr pScreen)
/* Color masks for 24 bpp are standardized */
if (GetDeviceCaps(pScreenPriv->hdcScreen, PLANES)
* GetDeviceCaps(pScreenPriv->hdcScreen, BITSPIXEL) == 24) {
- ErrorF("winQueryRGBBitsAndMasks - GetDeviceCaps (BITSPIXEL) "
- "returned 24 for the screen. Using default 24bpp masks.\n");
+ winDebug ("winQueryRGBBitsAndMasks - GetDeviceCaps (BITSPIXEL) "
+ "returned 24 for the screen. Using default 24bpp masks.\n");
/* 8 bits per primary color */
pScreenPriv->dwBitsPerRGB = 8;
@@ -195,7 +195,7 @@ winQueryRGBBitsAndMasks(ScreenPtr pScreen)
/* Get a pointer to bitfields */
pdw = (DWORD *) ((CARD8 *) pbmih + sizeof(BITMAPINFOHEADER));
-#if CYGDEBUG
+#ifdef WINDBG
winDebug("%s - Masks: %08x %08x %08x\n", __FUNCTION__,
pdw[0], pdw[1], pdw[2]);
winDebug("%s - Bitmap: %dx%d %d bpp %d planes\n", __FUNCTION__,
@@ -327,10 +327,10 @@ winAllocateFBShadowGDI(ScreenPtr pScreen)
pScreenPriv->pbmih->biWidth = pScreenInfo->dwWidth;
pScreenPriv->pbmih->biHeight = -pScreenInfo->dwHeight;
- ErrorF("winAllocateFBShadowGDI - Creating DIB with width: %d height: %d "
- "depth: %d\n",
- (int) pScreenPriv->pbmih->biWidth,
- (int) -pScreenPriv->pbmih->biHeight, pScreenPriv->pbmih->biBitCount);
+ winDebug ("winAllocateFBShadowGDI - Creating DIB with width: %d height: %d "
+ "depth: %d\n",
+ (int) pScreenPriv->pbmih->biWidth,
+ (int) -pScreenPriv->pbmih->biHeight, pScreenPriv->pbmih->biBitCount);
/* Create a DI shadow bitmap with a bit pointer */
pScreenPriv->hbmpShadow = CreateDIBSection(pScreenPriv->hdcScreen,
@@ -339,32 +339,26 @@ winAllocateFBShadowGDI(ScreenPtr pScreen)
(VOID **) &pScreenInfo->pfb,
NULL, 0);
if (pScreenPriv->hbmpShadow == NULL || pScreenInfo->pfb == NULL) {
- winW32Error(2, "winAllocateFBShadowGDI - CreateDIBSection failed:");
+ winW32Error ("winAllocateFBShadowGDI - CreateDIBSection failed:");
return FALSE;
}
else {
-#if CYGDEBUG
winDebug("winAllocateFBShadowGDI - Shadow buffer allocated\n");
-#endif
}
/* Get information about the bitmap that was allocated */
GetObject(pScreenPriv->hbmpShadow, sizeof(dibsection), &dibsection);
-#if CYGDEBUG || YES
/* Print information about bitmap allocated */
winDebug("winAllocateFBShadowGDI - Dibsection width: %d height: %d "
"depth: %d size image: %d\n",
(int) dibsection.dsBmih.biWidth, (int) dibsection.dsBmih.biHeight,
dibsection.dsBmih.biBitCount, (int) dibsection.dsBmih.biSizeImage);
-#endif
/* Select the shadow bitmap into the shadow DC */
SelectObject(pScreenPriv->hdcShadow, pScreenPriv->hbmpShadow);
-#if CYGDEBUG
winDebug("winAllocateFBShadowGDI - Attempting a shadow blit\n");
-#endif
/* Do a test blit from the shadow to the screen, I think */
fReturn = BitBlt(pScreenPriv->hdcScreen,
@@ -372,20 +366,14 @@ winAllocateFBShadowGDI(ScreenPtr pScreen)
pScreenInfo->dwWidth, pScreenInfo->dwHeight,
pScreenPriv->hdcShadow, 0, 0, SRCCOPY);
if (fReturn) {
-#if CYGDEBUG
winDebug("winAllocateFBShadowGDI - Shadow blit success\n");
-#endif
}
else {
- winW32Error(2, "winAllocateFBShadowGDI - Shadow blit failure\n");
-#if 0
- return FALSE;
-#else
+ winW32Error ("winAllocateFBShadowGDI - Shadow blit failure\n");
/* ago: ignore this error. The blit fails with wine, but does not
* cause any problems later. */
fReturn = TRUE;
-#endif
}
/* Look for height weirdness */
@@ -398,10 +386,8 @@ winAllocateFBShadowGDI(ScreenPtr pScreen)
/ dibsection.dsBmih.biHeight)
* 8) / pScreenInfo->dwBPP;
-#if CYGDEBUG || YES
winDebug("winAllocateFBShadowGDI - Created shadow stride: %d\n",
(int) pScreenInfo->dwStride);
-#endif
#ifdef XWIN_MULTIWINDOW
/* Redraw all windows */
@@ -461,15 +447,16 @@ winShadowUpdateGDI(ScreenPtr pScreen, shadowBufPtr pBuf)
if (dwBox != 1) {
++s_dwNonUnitRegions;
- ErrorF("winShadowUpdatGDI - dwBox: %d\n", dwBox);
+ winDebug ("winShadowUpdatGDI - dwBox: %d\n", dwBox);
}
if ((s_dwTotalUpdates % 100) == 0)
- ErrorF("winShadowUpdateGDI - %d%% non-unity regions, avg boxes: %d "
- "nu: %d tu: %d\n",
- (s_dwNonUnitRegions * 100) / s_dwTotalUpdates,
- s_dwTotalBoxes / s_dwTotalUpdates,
- s_dwNonUnitRegions, s_dwTotalUpdates);
+ winDebug ("winShadowUpdateGDI - %d%% non-unity regions, avg boxes: %d "
+ "nu: %d tu: %d\n",
+ (s_dwNonUnitRegions * 100) / s_dwTotalUpdates,
+ s_dwTotalBoxes / s_dwTotalUpdates,
+ s_dwNonUnitRegions, s_dwTotalUpdates);
+ }
#endif /* XWIN_UPDATESTATS */
/*
@@ -578,9 +565,7 @@ winCloseScreenShadowGDI(ScreenPtr pScreen)
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
Bool fReturn;
-#if CYGDEBUG
winDebug("winCloseScreenShadowGDI - Freeing screen resources\n");
-#endif
/* Flag that the screen is closed */
pScreenPriv->fClosed = TRUE;
@@ -603,7 +588,7 @@ winCloseScreenShadowGDI(ScreenPtr pScreen)
ReleaseDC(pScreenPriv->hwndScreen, pScreenPriv->hdcScreen);
/* Delete tray icon, if we have one */
- if (!pScreenInfo->fNoTrayIcon)
+ if (!pScreenInfo->fNoTrayIcon && !pref.fNoTrayIcon)
winDeleteNotifyIcon(pScreenPriv);
/* Free the exit confirmation dialog box, if it exists */
@@ -620,7 +605,7 @@ winCloseScreenShadowGDI(ScreenPtr pScreen)
#if defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
/* Destroy the thread startup mutex */
- pthread_mutex_destroy(&pScreenPriv->pmServerStarted);
+ if (pScreenPriv->pmServerStarted) pthread_mutex_destroy (&pScreenPriv->pmServerStarted);
#endif
/* Invalidate our screeninfo's pointer to the screen */
@@ -647,13 +632,13 @@ winInitVisualsShadowGDI(ScreenPtr pScreen)
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
/* Display debugging information */
- ErrorF("winInitVisualsShadowGDI - Masks %08x %08x %08x BPRGB %d d %d "
- "bpp %d\n",
- (unsigned int) pScreenPriv->dwRedMask,
- (unsigned int) pScreenPriv->dwGreenMask,
- (unsigned int) pScreenPriv->dwBlueMask,
- (int) pScreenPriv->dwBitsPerRGB,
- (int) pScreenInfo->dwDepth, (int) pScreenInfo->dwBPP);
+ winDebug ("winInitVisualsShadowGDI - Masks %08x %08x %08x BPRGB %d d %d "
+ "bpp %d\n",
+ (unsigned int) pScreenPriv->dwRedMask,
+ (unsigned int) pScreenPriv->dwGreenMask,
+ (unsigned int) pScreenPriv->dwBlueMask,
+ (int) pScreenPriv->dwBitsPerRGB,
+ (int) pScreenInfo->dwDepth, (int) pScreenInfo->dwBPP);
/* Create a single visual according to the Windows screen depth */
switch (pScreenInfo->dwDepth) {
@@ -705,9 +690,7 @@ winInitVisualsShadowGDI(ScreenPtr pScreen)
return FALSE;
}
-#if CYGDEBUG
winDebug("winInitVisualsShadowGDI - Returning\n");
-#endif
return TRUE;
}
@@ -866,16 +849,12 @@ winRealizeInstalledPaletteShadowGDI(ScreenPtr pScreen)
winScreenPriv(pScreen);
winPrivCmapPtr pCmapPriv = NULL;
-#if CYGDEBUG
winDebug("winRealizeInstalledPaletteShadowGDI\n");
-#endif
/* Don't do anything if there is not a colormap */
if (pScreenPriv->pcmapInstalled == NULL) {
-#if CYGDEBUG
winDebug("winRealizeInstalledPaletteShadowGDI - No colormap "
"installed\n");
-#endif
return TRUE;
}
@@ -1080,10 +1059,8 @@ winDestroyColormapShadowGDI(ColormapPtr pColormap)
* we need to handle the default colormap in a special way.
*/
if (pColormap->flags & IsDefault) {
-#if CYGDEBUG
winDebug("winDestroyColormapShadowGDI - Destroying default "
"colormap\n");
-#endif
/*
* FIXME: Walk the list of all screens, popping the default
diff --git a/xorg-server/hw/xwin/wintaskbar.c b/xorg-server/hw/xwin/wintaskbar.c
index 7dd4ec30b..9c9faefe2 100644
--- a/xorg-server/hw/xwin/wintaskbar.c
+++ b/xorg-server/hw/xwin/wintaskbar.c
@@ -26,34 +26,7 @@
#include "win.h"
#include "winwindow.h"
-const GUID CLSID_TaskbarList = {0x56fdf344,0xfd6d,0x11d0,{0x95,0x8a,0x0,0x60,0x97,0xc9,0xa0,0x90}};
-const GUID IID_ITaskbarList = {0x56fdf342,0xfd6d,0x11d0,{0x95,0x8a,0x0,0x60,0x97,0xc9,0xa0,0x90}};
-
-#ifdef INTERFACE
-#undef INTERFACE
-#endif
-
-#define INTERFACE ITaskbarList
-DECLARE_INTERFACE_(ITaskbarList, IUnknown)
-{
- /* IUnknown methods */
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- /* ITaskbarList methods */
- STDMETHOD(HrInit) (THIS) PURE;
- STDMETHOD(AddTab) (THIS_ HWND hWnd) PURE;
- STDMETHOD(DeleteTab) (THIS_ HWND hWnd) PURE;
- STDMETHOD(ActivateTab) (THIS_ HWND hWnd) PURE;
- STDMETHOD(SetActiveAlt) (THIS_ HWND hWnd) PURE;
-};
-#undef INTERFACE
-
-/*
- The stuff above needs to be in win32api headers, not defined here,
- or at least generated from the MIDL :-)
-*/
+#include <shobjidl.h>
/*
This is unnecessarily heavyweight, we could just call CoInitialize() once at
diff --git a/xorg-server/hw/xwin/wintrayicon.c b/xorg-server/hw/xwin/wintrayicon.c
index e0aa7e5ab..3c7820cf7 100644
--- a/xorg-server/hw/xwin/wintrayicon.c
+++ b/xorg-server/hw/xwin/wintrayicon.c
@@ -36,34 +36,57 @@
#include <shellapi.h>
#include "winprefs.h"
+static NOTIFYICONDATA nid;
/*
* Initialize the tray icon
*/
void
-winInitNotifyIcon(winPrivScreenPtr pScreenPriv)
+winInitNotifyIcon(winPrivScreenPtr pScreenPriv, Bool Modify)
{
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
- NOTIFYICONDATA nid = { 0 };
+ char HostName[256];
- nid.cbSize = sizeof(NOTIFYICONDATA);
- nid.hWnd = pScreenPriv->hwndScreen;
- nid.uID = pScreenInfo->dwScreen;
- nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
- nid.uCallbackMessage = WM_TRAYICON;
- nid.hIcon = winTaskbarIcon();
+ if (!Modify)
+ {
+ nid.cbSize = sizeof(NOTIFYICONDATA);
+ nid.hWnd = pScreenPriv->hwndScreen;
+ nid.uID = pScreenInfo->dwScreen;
+ nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
+ nid.uCallbackMessage = WM_TRAYICON;
+ nid.hIcon = winTaskbarIcon();
+
+ /* Save handle to the icon so it can be freed later */
+ pScreenPriv->hiconNotifyIcon = nid.hIcon;
+ }
- /* Save handle to the icon so it can be freed later */
- pScreenPriv->hiconNotifyIcon = nid.hIcon;
+ gethostname(HostName,256);
/* Set display and screen-specific tooltip text */
- snprintf(nid.szTip,
- sizeof(nid.szTip),
- PROJECT_NAME " Server:%s.%d",
- display, (int) pScreenInfo->dwScreen);
+ if (g_pszQueryHost)
+ {
+ snprintf(nid.szTip,
+ sizeof(nid.szTip),
+ "%s - %s:%s.%d - %d clients",
+ g_pszQueryHost,
+ HostName,
+ display,
+ (int) pScreenInfo->dwScreen,
+ pScreenPriv->iConnectedClients);
+ }
+ else
+ {
+ snprintf (nid.szTip,
+ sizeof (nid.szTip),
+ "%s:%s.%d - %d clients",
+ HostName,
+ display,
+ (int) pScreenInfo->dwScreen,
+ pScreenPriv->iConnectedClients);
+ }
/* Add the tray icon */
- if (!Shell_NotifyIcon(NIM_ADD, &nid))
+ if (!Shell_NotifyIcon ((Modify) ? NIM_MODIFY : NIM_ADD, &nid))
ErrorF("winInitNotifyIcon - Shell_NotifyIcon Failed\n");
}
@@ -75,27 +98,16 @@ void
winDeleteNotifyIcon(winPrivScreenPtr pScreenPriv)
{
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
- NOTIFYICONDATA nid = { 0 };
-
-#if 0
- ErrorF("winDeleteNotifyIcon\n");
-#endif
- nid.cbSize = sizeof(NOTIFYICONDATA);
- nid.hWnd = pScreenPriv->hwndScreen;
- nid.uID = pScreenInfo->dwScreen;
+ if (!pScreenPriv->hiconNotifyIcon)
+ return;
/* Delete the tray icon */
- if (!Shell_NotifyIcon(NIM_DELETE, &nid)) {
- ErrorF("winDeleteNotifyIcon - Shell_NotifyIcon failed\n");
- return;
- }
+ Shell_NotifyIcon (NIM_DELETE, &nid);
/* Free the icon that was loaded */
- if (pScreenPriv->hiconNotifyIcon != NULL
- && DestroyIcon(pScreenPriv->hiconNotifyIcon) == 0) {
- ErrorF("winDeleteNotifyIcon - DestroyIcon failed\n");
- }
+ DestroyIcon (pScreenPriv->hiconNotifyIcon);
+
pScreenPriv->hiconNotifyIcon = NULL;
}
@@ -112,6 +124,17 @@ winHandleIconMessage(HWND hwnd, UINT message,
#endif
switch (lParam) {
+ case WM_MOUSEMOVE:
+ {
+ static int PrevNrClients;
+ int NrClients=GetLiveClients(pScreenPriv);
+ if (NrClients!=PrevNrClients)
+ {
+ PrevNrClients=NrClients;
+ winInitNotifyIcon (pScreenPriv, TRUE);
+ }
+ }
+ break;
case WM_LBUTTONUP:
/* Restack and bring all windows to top */
SetForegroundWindow (pScreenPriv->hwndScreen);
diff --git a/xorg-server/hw/xwin/winwin32rootless.c b/xorg-server/hw/xwin/winwin32rootless.c
index 660a78f2d..aeec0eee2 100644
--- a/xorg-server/hw/xwin/winwin32rootless.c
+++ b/xorg-server/hw/xwin/winwin32rootless.c
@@ -82,8 +82,7 @@ winMWExtWMQueryDIBFormat(win32RootlessWindowPtr pRLWinPriv,
BITMAPINFOHEADER * pbmih)
{
HBITMAP hbmp;
-
-#if CYGMULTIWINDOW_DEBUG
+#ifdef _DEBUG
LPDWORD pdw = NULL;
#endif
@@ -106,7 +105,7 @@ winMWExtWMQueryDIBFormat(win32RootlessWindowPtr pRLWinPriv,
return FALSE;
}
-#if CYGMULTIWINDOW_DEBUG
+#ifdef _DEBUG
/* Get a pointer to bitfields */
pdw = (DWORD *) ((CARD8 *) pbmih + sizeof(BITMAPINFOHEADER));
@@ -208,10 +207,8 @@ winMWExtWMCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
char *res_name, *res_class, *res_role;
static int s_iWindowID = 0;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMCreateFrame %d %d - %d %d\n",
newX, newY, pFrame->width, pFrame->height);
-#endif
pRLWinPriv = malloc(sizeof(win32RootlessWindowRec));
pRLWinPriv->pFrame = pFrame;
@@ -260,9 +257,7 @@ winMWExtWMCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
pszWindowID[sizeof(pszWindowID) - 1] = 0;
strcat(pszClass, pszWindowID);
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMCreateFrame - Creating class: %s\n", pszClass);
-#endif
/* Setup our window class */
wc.cbSize = sizeof(wc);
@@ -298,9 +293,7 @@ winMWExtWMCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
fResult = FALSE;
}
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMCreateFrame - ShowWindow\n");
-#endif
//ShowWindow (pRLWinPriv->hWnd, SW_SHOWNOACTIVATE);
g_fNoConfigureWindow = FALSE;
@@ -309,28 +302,8 @@ winMWExtWMCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
winMWExtWMReshapeFrame(pFrame->wid, pShape);
}
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMCreateFrame - (%p) %p\n",
pFrame->wid, pRLWinPriv->hWnd);
-#if 0
- {
- WindowPtr pWin2 = NULL;
- win32RootlessWindowPtr pRLWinPriv2 = NULL;
-
- /* Check if the Windows window property for our X window pointer is valid */
- if ((pWin2 =
- (WindowPtr) GetProp(pRLWinPriv->hWnd, WIN_WINDOW_PROP)) != NULL) {
- pRLWinPriv2 =
- (win32RootlessWindowPtr) RootlessFrameForWindow(pWin2, FALSE);
- }
- winDebug("winMWExtWMCreateFrame2 (%08x) %08x\n",
- pRLWinPriv2, pRLWinPriv2->hWnd);
- if (pRLWinPriv != pRLWinPriv2 || pRLWinPriv->hWnd != pRLWinPriv2->hWnd) {
- winDebug("Error param missmatch\n");
- }
- }
-#endif
-#endif
winMWExtWMSetNativeProperty(pFrame);
@@ -347,29 +320,8 @@ winMWExtWMDestroyFrame(RootlessFrameID wid)
int iReturn;
char pszClass[CLASS_NAME_LENGTH];
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMDestroyFrame (%p) %p\n",
pRLWinPriv, pRLWinPriv->hWnd);
-#if 0
- {
- WindowPtr pWin2 = NULL;
- win32RootlessWindowPtr pRLWinPriv2 = NULL;
-
- /* Check if the Windows window property for our X window pointer is valid */
- if ((pWin2 =
- (WindowPtr) GetProp(pRLWinPriv->hWnd, WIN_WINDOW_PROP)) != NULL) {
- pRLWinPriv2 =
- (win32RootlessWindowPtr) RootlessFrameForWindow(pWin2, FALSE);
- }
- winDebug("winMWExtWMDestroyFrame2 (%08x) %08x\n",
- pRLWinPriv2, pRLWinPriv2->hWnd);
- if (pRLWinPriv != pRLWinPriv2 || pRLWinPriv->hWnd != pRLWinPriv2->hWnd) {
- winDebug("Error param missmatch\n");
- *(int *) 0 = 1; //raise exseption
- }
- }
-#endif
-#endif
/* Store the info we need to destroy after this window is gone */
hInstance = (HINSTANCE) GetClassLongPtr(pRLWinPriv->hWnd, GCLP_HMODULE);
@@ -385,22 +337,16 @@ winMWExtWMDestroyFrame(RootlessFrameID wid)
/* Only if we were able to get the name */
if (iReturn) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMDestroyFrame - Unregistering %s: ", pszClass);
-#endif
iReturn = UnregisterClass(pszClass, hInstance);
+
+ winDebug ("winMWExtWMDestroyFramew - Deleting Icon\n");
}
-#if CYGMULTIWINDOW_DEBUG
- winDebug("winMWExtWMDestroyFramew - Deleting Icon\n");
-#endif
-
- winDestroyIcon(hIcon);
- winDestroyIcon(hIconSm);
+ winDestroyIcon(hiconClass);
+ winDestroyIcon(hiconSmClass);
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMDestroyFrame - done\n");
-#endif
}
void
@@ -413,10 +359,8 @@ winMWExtWMMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int iNewX,
DWORD dwStyle;
int iX, iY, iWidth, iHeight;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMMoveFrame (%p) (%d %d)\n", pRLWinPriv, iNewX,
iNewY);
-#endif
/* Get the Windows window style and extended style */
dwExStyle = GetWindowLongPtr(pRLWinPriv->hWnd, GWL_EXSTYLE);
@@ -433,29 +377,23 @@ winMWExtWMMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int iNewX,
/* Store the origin, height, and width in a rectangle structure */
SetRect(&rcNew, iX, iY, iX + iWidth, iY + iHeight);
-#ifdef CYGMULTIWINDOW_DEBUG
winDebug("\tWindow {%d, %d, %d, %d}, {%d, %d}\n",
rcNew.left, rcNew.top, rcNew.right, rcNew.bottom,
rcNew.right - rcNew.left, rcNew.bottom - rcNew.top);
-#endif
/*
* Calculate the required size of the Windows window rectangle,
* given the size of the Windows window client area.
*/
AdjustWindowRectEx(&rcNew, dwStyle, FALSE, dwExStyle);
-#ifdef CYGMULTIWINDOW_DEBUG
winDebug("\tAdjusted {%d, %d, %d, %d}, {%d, %d}\n",
rcNew.left, rcNew.top, rcNew.right, rcNew.bottom,
rcNew.right - rcNew.left, rcNew.bottom - rcNew.top);
-#endif
g_fNoConfigureWindow = TRUE;
SetWindowPos(pRLWinPriv->hWnd, NULL, rcNew.left, rcNew.top, 0, 0,
SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOZORDER);
g_fNoConfigureWindow = FALSE;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMMoveFrame (%p) done\n", pRLWinPriv);
-#endif
}
void
@@ -471,10 +409,8 @@ winMWExtWMResizeFrame(RootlessFrameID wid, ScreenPtr pScreen,
DWORD dwStyle;
int iX, iY;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMResizeFrame (%p) (%d %d)-(%d %d)\n",
pRLWinPriv, iNewX, iNewY, uiNewWidth, uiNewHeight);
-#endif
pRLWinPriv->fResized = TRUE;
@@ -523,9 +459,8 @@ winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
Bool fFirst = TRUE;
Bool fNeedRestack = TRUE;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMRestackFrame (%p)\n", pRLWinPriv);
-#endif
+
if (pScreenPriv && pScreenPriv->fRestacking)
return;
@@ -540,18 +475,16 @@ winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
ShowWindow(pRLWinPriv->hWnd, SW_SHOWNOACTIVATE);
if (pRLNextWinPriv == NULL) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("Win %08x is top\n", pRLWinPriv);
-#endif
pScreenPriv->widTop = wid;
SetWindowPos(pRLWinPriv->hWnd, HWND_TOP,
0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
- else if (winIsInternalWMRunning(pScreenInfo)) {
- /* using mulwinidow wm */
-#if CYGMULTIWINDOW_DEBUG
+#ifdef XWIN_MULTIWINDOWINTWM
+ else if (winIsInternalWMRunning(pScreenInfo)) {
+ /* using mulwinidow wm */
winDebug("Win %08x is not top\n", pRLWinPriv);
-#endif
+
for (hWnd = GetNextWindow(pRLWinPriv->hWnd, GW_HWNDPREV);
fNeedRestack && hWnd != NULL;
hWnd = GetNextWindow(hWnd, GW_HWNDPREV)) {
@@ -562,18 +495,14 @@ winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
if (hWnd == pRLNextWinPriv->hWnd) {
/* Enable interleave X window and Windows window */
if (!fFirst) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("raise: Insert after Win %08x\n",
pRLNextWinPriv);
-#endif
SetWindowPos(pRLWinPriv->hWnd, pRLNextWinPriv->hWnd,
0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
else {
-#if CYGMULTIWINDOW_DEBUG
winDebug("No change\n");
-#endif
}
fNeedRestack = FALSE;
break;
@@ -591,9 +520,8 @@ winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
if ((dwWindowProcessID == dwCurrentProcessID)
&& GetProp(hWnd, WIN_WINDOW_PROP)) {
if (hWnd == pRLNextWinPriv->hWnd) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("lower: Insert after Win %08x\n", pRLNextWinPriv);
-#endif
+
SetWindowPos(pRLWinPriv->hWnd, pRLNextWinPriv->hWnd,
0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
@@ -603,15 +531,14 @@ winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid)
}
}
}
+#endif
else {
/* using general wm like twm, wmaker etc.
Interleave X window and Windows window will cause problem. */
SetWindowPos(pRLWinPriv->hWnd, pRLNextWinPriv->hWnd,
0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMRestackFrame - done (%p)\n", pRLWinPriv);
-#endif
pRLWinPriv->fRestackingNow = FALSE;
}
@@ -623,9 +550,7 @@ winMWExtWMReshapeFrame(RootlessFrameID wid, RegionPtr pShape)
HRGN hRgn, hRgnWindow, hRgnClient;
RECT rcWindow, rcClient;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMReshapeFrame (%p)\n", pRLWinPriv);
-#endif
hRgn = winMWExtWMCreateRgnFromRegion(pShape);
@@ -652,9 +577,7 @@ winMWExtWMUnmapFrame(RootlessFrameID wid)
{
win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) wid;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMUnmapFrame (%p)\n", pRLWinPriv);
-#endif
g_fNoConfigureWindow = TRUE;
//ShowWindow (pRLWinPriv->hWnd, SW_MINIMIZE);
@@ -677,10 +600,8 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
HDC hdcNew;
HBITMAP hbmpNew;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMStartDrawing (%p) %08x\n", pRLWinPriv,
pRLWinPriv->fDestroyed);
-#endif
if (!pRLWinPriv->fDestroyed) {
pScreen = pRLWinPriv->pFrame->win->drawable.pScreen;
@@ -689,12 +610,11 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
if (pScreenPriv)
pScreenInfo = pScreenPriv->pScreenInfo;
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tpScreenPriv %p\n", pScreenPriv);
winDebug("\tpScreenInfo %p\n", pScreenInfo);
winDebug("\t(%d, %d)\n", (int) pRLWinPriv->pFrame->width,
(int) pRLWinPriv->pFrame->height);
-#endif
+
if (pRLWinPriv->hdcScreen == NULL) {
InitWin32RootlessEngine(pRLWinPriv);
}
@@ -729,15 +649,12 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
//return FALSE;
}
else {
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMStartDrawing - Shadow buffer allocated\n");
-#endif
}
/* Get information about the bitmap that was allocated */
GetObject(hbmpNew, sizeof(dibsection), &dibsection);
-#if CYGMULTIWINDOW_DEBUG
/* Print information about bitmap allocated */
winDebug("winMWExtWMStartDrawing - Dibsection width: %d height: %d "
"depth: %d size image: %d\n",
@@ -745,14 +662,11 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
(unsigned int) dibsection.dsBmih.biHeight,
(unsigned int) dibsection.dsBmih.biBitCount,
(unsigned int) dibsection.dsBmih.biSizeImage);
-#endif
/* Select the shadow bitmap into the shadow DC */
SelectObject(hdcNew, hbmpNew);
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMStartDrawing - Attempting a shadow blit\n");
-#endif
/* Blit from the old shadow to the new shadow */
fReturn = BitBlt(hdcNew,
@@ -761,9 +675,7 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
pRLWinPriv->pFrame->height, pRLWinPriv->hdcShadow,
0, 0, SRCCOPY);
if (fReturn) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMStartDrawing - Shadow blit success\n");
-#endif
}
else {
ErrorF("winMWExtWMStartDrawing - Shadow blit failure\n");
@@ -782,10 +694,8 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
pRLWinPriv->dwWidthBytes = dibsection.dsBm.bmWidthBytes;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMStartDrawing - bytesPerRow: %d\n",
(unsigned int) dibsection.dsBm.bmWidthBytes);
-#endif
/* Free the old shadow bitmap */
DeleteObject(pRLWinPriv->hdcShadow);
@@ -795,22 +705,18 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
pRLWinPriv->hbmpShadow = hbmpNew;
pRLWinPriv->fResized = FALSE;
-#if CYGMULTIWINDOW_DEBUG && FALSE
winDebug("winMWExtWMStartDrawing - 0x%08x %d\n",
(unsigned int) pRLWinPriv->pfb,
(unsigned int) dibsection.dsBm.bmWidthBytes);
-#endif
}
}
else {
ErrorF("winMWExtWMStartDrawing - Already window was destroyed \n");
}
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMStartDrawing - done (%p) %p %d\n",
pRLWinPriv,
pRLWinPriv->pfb,
(unsigned int) pRLWinPriv->dwWidthBytes);
-#endif
*pixelData = pRLWinPriv->pfb;
*bytesPerRow = pRLWinPriv->dwWidthBytes;
}
@@ -818,31 +724,6 @@ winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
void
winMWExtWMStopDrawing(RootlessFrameID wid, Bool fFlush)
{
-#if 0
- win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) wid;
- BLENDFUNCTION bfBlend;
- SIZE szWin;
- POINT ptSrc;
-
-#if CYGMULTIWINDOW_DEBUG || TRUE
- winDebug("winMWExtWMStopDrawing (%08x)\n", pRLWinPriv);
-#endif
- szWin.cx = pRLWinPriv->dwWidth;
- szWin.cy = pRLWinPriv->dwHeight;
- ptSrc.x = 0;
- ptSrc.y = 0;
- bfBlend.BlendOp = AC_SRC_OVER;
- bfBlend.BlendFlags = 0;
- bfBlend.SourceConstantAlpha = 255;
- bfBlend.AlphaFormat = AC_SRC_ALPHA;
-
- if (!UpdateLayeredWindow(pRLWinPriv->hWnd,
- NULL, NULL, &szWin,
- pRLWinPriv->hdcShadow, &ptSrc,
- 0, &bfBlend, ULW_ALPHA)) {
- ErrorF("winMWExtWMStopDrawing - UpdateLayeredWindow failed\n");
- }
-#endif
}
void
@@ -850,44 +731,6 @@ winMWExtWMUpdateRegion(RootlessFrameID wid, RegionPtr pDamage)
{
win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) wid;
-#if 0
- BLENDFUNCTION bfBlend;
- SIZE szWin;
- POINT ptSrc;
-#endif
-#if CYGMULTIWINDOW_DEBUG && 0
- winDebug("winMWExtWMUpdateRegion (%08x)\n", pRLWinPriv);
-#endif
-#if 0
- szWin.cx = pRLWinPriv->dwWidth;
- szWin.cy = pRLWinPriv->dwHeight;
- ptSrc.x = 0;
- ptSrc.y = 0;
- bfBlend.BlendOp = AC_SRC_OVER;
- bfBlend.BlendFlags = 0;
- bfBlend.SourceConstantAlpha = 255;
- bfBlend.AlphaFormat = AC_SRC_ALPHA;
-
- if (!UpdateLayeredWindow(pRLWinPriv->hWnd,
- NULL, NULL, &szWin,
- pRLWinPriv->hdcShadow, &ptSrc,
- 0, &bfBlend, ULW_ALPHA)) {
- LPVOID lpMsgBuf;
-
- /* Display a fancy error message */
- FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- GetLastError(),
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPTSTR) &lpMsgBuf, 0, NULL);
-
- ErrorF("winMWExtWMUpdateRegion - UpdateLayeredWindow failed: %s\n",
- (LPSTR) lpMsgBuf);
- LocalFree(lpMsgBuf);
- }
-#endif
if (!g_fNoConfigureWindow)
UpdateWindow(pRLWinPriv->hWnd);
}
@@ -899,10 +742,8 @@ winMWExtWMDamageRects(RootlessFrameID wid, int nCount, const BoxRec * pRects,
win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) wid;
const BoxRec *pEnd;
-#if CYGMULTIWINDOW_DEBUG && 0
winDebug("winMWExtWMDamageRects (%08x, %d, %08x, %d, %d)\n",
pRLWinPriv, nCount, pRects, shift_x, shift_y);
-#endif
for (pEnd = pRects + nCount; pRects < pEnd; pRects++) {
RECT rcDmg;
@@ -921,10 +762,8 @@ winMWExtWMRootlessSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin)
{
win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) pFrame->wid;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMRootlessSwitchWindow (%p) %p\n",
pRLWinPriv, pRLWinPriv->hWnd);
-#endif
pRLWinPriv->pFrame = pFrame;
pRLWinPriv->fResized = TRUE;
@@ -936,26 +775,6 @@ winMWExtWMRootlessSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin)
DeleteProperty(serverClient, oldWin, AtmWindowsWmNativeHwnd());
winMWExtWMSetNativeProperty(pFrame);
-#if CYGMULTIWINDOW_DEBUG
-#if 0
- {
- WindowPtr pWin2 = NULL;
- win32RootlessWindowPtr pRLWinPriv2 = NULL;
-
- /* Check if the Windows window property for our X window pointer is valid */
- if ((pWin2 =
- (WindowPtr) GetProp(pRLWinPriv->hWnd, WIN_WINDOW_PROP)) != NULL) {
- pRLWinPriv2 =
- (win32RootlessWindowPtr) RootlessFrameForWindow(pWin2, FALSE);
- }
- winDebug("winMWExtWMSwitchFrame2 (%08x) %08x\n",
- pRLWinPriv2, pRLWinPriv2->hWnd);
- if (pRLWinPriv != pRLWinPriv2 || pRLWinPriv->hWnd != pRLWinPriv2->hWnd) {
- winDebug("Error param missmatch\n");
- }
- }
-#endif
-#endif
}
void
@@ -963,9 +782,7 @@ winMWExtWMCopyBytes(unsigned int width, unsigned int height,
const void *src, unsigned int srcRowBytes,
void *dst, unsigned int dstRowBytes)
{
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMCopyBytes - Not implemented\n");
-#endif
}
void
@@ -976,19 +793,15 @@ winMWExtWMCopyWindow(RootlessFrameID wid, int nDstRects,
const BoxRec *pEnd;
RECT rcDmg;
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMCopyWindow (%p, %d, %p, %d, %d)\n",
pRLWinPriv, nDstRects, pDstRects, nDx, nDy);
-#endif
for (pEnd = pDstRects + nDstRects; pDstRects < pEnd; pDstRects++) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("BitBlt (%d, %d, %d, %d) (%d, %d)\n",
pDstRects->x1, pDstRects->y1,
pDstRects->x2 - pDstRects->x1,
pDstRects->y2 - pDstRects->y1,
pDstRects->x1 + nDx, pDstRects->y1 + nDy);
-#endif
if (!BitBlt(pRLWinPriv->hdcShadow,
pDstRects->x1, pDstRects->y1,
@@ -1006,9 +819,7 @@ winMWExtWMCopyWindow(RootlessFrameID wid, int nDstRects,
InvalidateRect(pRLWinPriv->hWnd, &rcDmg, FALSE);
}
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMCopyWindow - done\n");
-#endif
}
/*
diff --git a/xorg-server/hw/xwin/winwin32rootlesswindow.c b/xorg-server/hw/xwin/winwin32rootlesswindow.c
index 1faa531df..693fbcec0 100644
--- a/xorg-server/hw/xwin/winwin32rootlesswindow.c
+++ b/xorg-server/hw/xwin/winwin32rootlesswindow.c
@@ -194,22 +194,17 @@ winMWExtWMUpdateWindowDecoration(win32RootlessWindowPtr pRLWinPriv,
/* Get current window placement */
GetWindowPlacement(pRLWinPriv->hWnd, &wndPlace);
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo)) {
if (!pRLWinPriv->pFrame->win->overrideRedirect)
fDecorate = TRUE;
}
-#if 0
- if (wndPlace.showCmd == SW_HIDE)
- return; //showCmd = SWP_HIDEWINDOW;
- else
- showCmd = SWP_SHOWWINDOW;
-#else
+#endif
if (wndPlace.showCmd == SW_HIDE)
return;
if (IsWindowVisible(pRLWinPriv->hWnd))
showCmd = SWP_SHOWWINDOW;
-#endif
showCmd |= SWP_NOMOVE | SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOZORDER;
@@ -344,6 +339,7 @@ winMWExtWMUpdateWindowDecoration(win32RootlessWindowPtr pRLWinPriv,
}
}
+#ifdef XWIN_MULTIWINDOWINTWM
/*
* winIsInternalWMRunning (winScreenInfoPtr pScreenInfo)
*/
@@ -352,7 +348,7 @@ winIsInternalWMRunning(winScreenInfoPtr pScreenInfo)
{
return pScreenInfo->fInternalWM && !pScreenInfo->fAnotherWMRunning;
}
-
+#endif
/*
* winMWExtWMRestackWindows
*/
diff --git a/xorg-server/hw/xwin/winwin32rootlesswndproc.c b/xorg-server/hw/xwin/winwin32rootlesswndproc.c
index 001d0d2fc..0c5856d6e 100644
--- a/xorg-server/hw/xwin/winwin32rootlesswndproc.c
+++ b/xorg-server/hw/xwin/winwin32rootlesswndproc.c
@@ -413,7 +413,6 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
wmMsg.iHeight = pRLWinPriv->pFrame->height;
fWMMsgInitialized = TRUE;
-#if CYGDEBUG
winDebugWin32Message("winMWExtWMWindowProc", hwnd, message, wParam,
lParam);
@@ -423,7 +422,6 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
winDebug("\thwndScreen %08X\n", hwndScreen);
winDebug("winMWExtWMWindowProc (%08x) %08x %08x %08x\n",
pRLWinPriv, message, wParam, lParam);
-#endif
}
/* Branch on message type */
switch (message) {
@@ -438,20 +436,21 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
return 0;
case WM_CLOSE:
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_CLOSE %d\n", pRLWinPriv->fClose);
-#endif
+
/* Tell window-manager to close window */
if (pRLWinPriv->fClose) {
DestroyWindow(hwnd);
}
else {
if (winIsInternalWMRunning(pScreenInfo)) {
+#ifdef XWIN_MULTIWINDOWINTWM
/* Tell our Window Manager thread to kill the window */
wmMsg.msg = WM_WM_KILL;
if (fWMMsgInitialized)
winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg);
}
+#endif
winWindowsWMSendEvent(WindowsWMControllerNotify,
WindowsWMControllerNotifyMask,
1,
@@ -677,22 +676,23 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
return 0;
case WM_MOUSEACTIVATE:
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_MOUSEACTIVATE\n");
-#endif
-#if 1
+
+#ifdef XWIN_MULTIWINDOWINTWM
/* Check if this window needs to be made active when clicked */
if (winIsInternalWMRunning(pScreenInfo) && pWin->overrideRedirect) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_MOUSEACTIVATE - "
"MA_NOACTIVATE\n");
-#endif
/* */
return MA_NOACTIVATE;
}
#endif
- if (!winIsInternalWMRunning(pScreenInfo) && !IsMouseActive(pWin))
+ if (
+#ifdef XWIN_MULTIWINDOWINTWM
+ !winIsInternalWMRunning(pScreenInfo) &&
+#endif
+ !IsMouseActive (pWin))
return MA_NOACTIVATE;
break;
@@ -758,9 +758,7 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
return 0;
case WM_ERASEBKGND:
-#if CYGDEBUG
winDebug("winMWExtWMWindowProc - WM_ERASEBKGND\n");
-#endif
/*
* Pretend that we did erase the background but we don't care,
* since we repaint the entire region anyhow
@@ -801,11 +799,10 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
case WM_ACTIVATE:
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_ACTIVATE\n");
-#endif
if (LOWORD(wParam) != WA_INACTIVE) {
if (winIsInternalWMRunning(pScreenInfo)) {
+#ifdef XWIN_MULTIWINDOWINTWM
#if 0
/* Raise the window to the top in Z order */
wmMsg.msg = WM_WM_RAISE;
@@ -818,6 +815,7 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (!pWin || !pWin->overrideRedirect) /* for OOo menus */
winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg);
}
+#endif
winWindowsWMSendEvent(WindowsWMControllerNotify,
WindowsWMControllerNotifyMask,
1,
@@ -831,26 +829,24 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
pWinPos = (LPWINDOWPOS) lParam;
if (!(pWinPos->flags & SWP_NOZORDER)) {
if (pRLWinPriv->fRestackingNow || pScreenPriv->fRestacking) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("Win %p is now restacking.\n",
pRLWinPriv);
-#endif
break;
}
- if (winIsInternalWMRunning(pScreenInfo) || IsRaiseOnClick(pWin)) {
-#if CYGMULTIWINDOW_DEBUG
+ if (
+#ifdef XWIN_MULTIWINDOWINTWM
+ winIsInternalWMRunning(pScreenInfo) ||
+#endif
+ IsRaiseOnClick (pWin))
winDebug("Win %p has WINDOWSWM_RAISE_ON_CLICK.\n",
pRLWinPriv);
-#endif
break;
}
-#if CYGMULTIWINDOW_DEBUG
winDebug("Win %p forbid to change z order (%p).\n",
pRLWinPriv,
pWinPos->hwndInsertAfter);
-#endif
pWinPos->flags |= SWP_NOZORDER;
}
break;
@@ -885,14 +881,13 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
}
#endif
-#if CYGMULTIWINDOW_DEBUG
winDebug("\t(%d, %d)\n", (short) LOWORD(lParam),
(short) HIWORD(lParam));
-#endif
if (!pRLWinPriv->fMovingOrSizing) {
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo))
winAdjustXWindow(pWin, hwnd);
-
+#endif
winMWExtWMMoveXWindow(pWin, (LOWORD(lParam) - wBorderWidth(pWin)
- GetSystemMetrics(SM_XVIRTUALSCREEN)),
(HIWORD(lParam) - wBorderWidth(pWin)
@@ -901,23 +896,22 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
return 0;
case WM_SHOWWINDOW:
-#if CYGMULTIWINDOW_DEBUG || TRUE
winDebug("winMWExtWMWindowProc - WM_SHOWWINDOW - %d ms\n",
(unsigned int) GetTickCount());
-#endif
+
/* Bail out if the window is being hidden */
if (!wParam)
return 0;
+#ifdef XWIN_MULTIWINDOWINTWM
if (!pScreenInfo->fInternalWM) //XXXX
return 0;
winMWExtWMUpdateWindowDecoration(pRLWinPriv, pScreenInfo);
if (winIsInternalWMRunning(pScreenInfo)) {
-#if CYGMULTIWINDOW_DEBUG || TRUE
winDebug("\tMapWindow\n");
-#endif
+
/* Tell X to map the window */
MapWindow(pWin, wClient(pWin));
@@ -934,6 +928,9 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (fWMMsgInitialized)
winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg);
}
+#else
+ return 0;
+#endif
break;
case WM_SIZING:
@@ -944,7 +941,7 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_WINDOWPOSCHANGED:
{
pWinPos = (LPWINDOWPOS) lParam;
-#if CYGMULTIWINDOW_DEBUG
+#ifdef _DEBUG
winDebug("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED\n");
winDebug("\tflags: %s%s%s%s%s%s%s%s%s%s%s%s\n",
(pWinPos->flags & SWP_DRAWFRAME) ? "SWP_DRAWFRAME " : "",
@@ -969,20 +966,19 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (pWinPos->flags & SWP_HIDEWINDOW)
break;
+#ifdef XWIN_MULTIWINDOWINTWM
/* Reorder if window z order was changed */
if ((pScreenPriv != NULL)
&& !(pWinPos->flags & SWP_NOZORDER)
&& !(pWinPos->flags & SWP_SHOWWINDOW)
&& winIsInternalWMRunning(pScreenInfo)) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\twindow z order was changed\n");
-#endif
+
if (pWinPos->hwndInsertAfter == HWND_TOP
|| pWinPos->hwndInsertAfter == HWND_TOPMOST
|| pWinPos->hwndInsertAfter == HWND_NOTOPMOST) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\traise to top\n");
-#endif
+
/* Raise the window to the top in Z order */
wmMsg.msg = WM_WM_RAISE;
if (fWMMsgInitialized)
@@ -1012,9 +1008,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* If this is top of X windows in Windows stack,
raise it in X stack. */
if (hWndAbove == NULL) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\traise to top\n");
-#endif
+
/* Raise the window to the top in Z order */
wmMsg.msg = WM_WM_RAISE;
if (fWMMsgInitialized)
@@ -1023,18 +1018,19 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
}
#endif
}
+#endif
if (!(pWinPos->flags & SWP_NOSIZE)) {
if (IsIconic(hwnd)) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tIconic -> MINIMIZED\n");
-#endif
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo)) {
/* Raise the window to the top in Z order */
wmMsg.msg = WM_WM_LOWER;
if (fWMMsgInitialized)
winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg);
}
+#endif
winWindowsWMSendEvent(WindowsWMControllerNotify,
WindowsWMControllerNotifyMask,
1,
@@ -1042,9 +1038,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
pWin->drawable.id, 0, 0, 0, 0);
}
else if (IsZoomed(hwnd)) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tZoomed -> MAXIMIZED\n");
-#endif
+
winWindowsWMSendEvent(WindowsWMControllerNotify,
WindowsWMControllerNotifyMask,
1,
@@ -1052,9 +1047,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
pWin->drawable.id, 0, 0, 0, 0);
}
else {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tnone -> RESTORED\n");
-#endif
+
winWindowsWMSendEvent(WindowsWMControllerNotify,
WindowsWMControllerNotifyMask,
1,
@@ -1071,12 +1065,12 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (!(pWinPos->flags & SWP_NOMOVE)
&& !(pWinPos->flags & SWP_NOSIZE)) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tmove & resize\n");
-#endif
+
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo))
winAdjustXWindow(pWin, hwnd);
-
+#endif
winMWExtWMMoveResizeXWindow(pWin,
rcClient.left -
wBorderWidth(pWin)
@@ -1094,12 +1088,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
wBorderWidth(pWin) * 2);
}
else if (!(pWinPos->flags & SWP_NOMOVE)) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tmove\n");
-#endif
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo))
winAdjustXWindow(pWin, hwnd);
-
+#endif
winMWExtWMMoveResizeXWindow(pWin,
rcClient.left -
wBorderWidth(pWin)
@@ -1117,12 +1110,12 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
wBorderWidth(pWin) * 2);
}
else if (!(pWinPos->flags & SWP_NOMOVE)) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tmove\n");
-#endif
+
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo))
winAdjustXWindow(pWin, hwnd);
-
+#endif
winMWExtWMMoveXWindow(pWin,
rcClient.left - wBorderWidth(pWin)
- GetSystemMetrics(SM_XVIRTUALSCREEN),
@@ -1131,12 +1124,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
GetSystemMetrics(SM_YVIRTUALSCREEN));
}
else if (!(pWinPos->flags & SWP_NOSIZE)) {
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tresize\n");
-#endif
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo))
winAdjustXWindow(pWin, hwnd);
-
+#endif
winMWExtWMResizeXWindow(pWin,
rcClient.right - rcClient.left
- wBorderWidth(pWin) * 2,
@@ -1146,37 +1138,34 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
}
}
}
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED - done.\n");
-#endif
+
return 0;
case WM_SIZE:
/* see dix/window.c */
/* FIXME: Maximize/Restore? */
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_SIZE - %d ms\n",
(unsigned int) GetTickCount());
-#endif
-#if CYGMULTIWINDOW_DEBUG
+
winDebug("\t(%d, %d) %d\n", (short) LOWORD(lParam),
(short) HIWORD(lParam), g_fNoConfigureWindow);
-#endif
if (g_fNoConfigureWindow)
break;
/* Branch on type of resizing occurring */
switch (wParam) {
case SIZE_MINIMIZED:
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tSIZE_MINIMIZED\n");
-#endif
+
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo)) {
/* Raise the window to the top in Z order */
wmMsg.msg = WM_WM_LOWER;
if (fWMMsgInitialized)
winSendMessageToWM(pScreenPriv->pWMInfo, &wmMsg);
}
+#endif
winWindowsWMSendEvent(WindowsWMControllerNotify,
WindowsWMControllerNotifyMask,
1,
@@ -1186,9 +1175,8 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
case SIZE_RESTORED:
-#if CYGMULTIWINDOW_DEBUG
winDebug("\tSIZE_RESTORED\n");
-#endif
+
winWindowsWMSendEvent(WindowsWMControllerNotify,
WindowsWMControllerNotifyMask,
1,
@@ -1212,9 +1200,10 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* Perform the resize and notify the X client */
if (!pRLWinPriv->fMovingOrSizing) {
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo))
winAdjustXWindow(pWin, hwnd);
-
+#endif
winMWExtWMResizeXWindow(pWin, (short) LOWORD(lParam)
- wBorderWidth(pWin) * 2,
(short) HIWORD(lParam)
@@ -1229,9 +1218,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
#endif
if (wParam) {
if (winIsInternalWMRunning(pScreenInfo)) {
+#ifdef XWIN_MULTIWINDOWINTWM
}
else {
}
+#endif
winWindowsWMSendEvent(WindowsWMActivationNotify,
WindowsWMActivationNotifyMask,
1,
@@ -1256,26 +1247,26 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
case WM_ENTERSIZEMOVE:
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_ENTERSIZEMOVE - %d ms\n",
(unsigned int) GetTickCount());
-#endif
+
pRLWinPriv->fMovingOrSizing = TRUE;
break;
case WM_EXITSIZEMOVE:
-#if CYGMULTIWINDOW_DEBUG
winDebug("winMWExtWMWindowProc - WM_EXITSIZEMOVE - %d ms\n",
(unsigned int) GetTickCount());
-#endif
+
pRLWinPriv->fMovingOrSizing = FALSE;
GetClientRect(hwnd, &rcClient);
MapWindowPoints(hwnd, HWND_DESKTOP, (LPPOINT) &rcClient, 2);
+#ifdef XWIN_MULTIWINDOWINTWM
if (winIsInternalWMRunning(pScreenInfo))
winAdjustXWindow(pWin, hwnd);
+#endif
winMWExtWMMoveResizeXWindow(pWin, rcClient.left - wBorderWidth(pWin)
- GetSystemMetrics(SM_XVIRTUALSCREEN),
@@ -1288,11 +1279,11 @@ winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
case WM_MANAGE:
- ErrorF("winMWExtWMWindowProc - WM_MANAGE\n");
+ winDebug ("winMWExtWMWindowProc - WM_MANAGE\n");
break;
case WM_UNMANAGE:
- ErrorF("winMWExtWMWindowProc - WM_UNMANAGE\n");
+ winDebug ("winMWExtWMWindowProc - WM_UNMANAGE\n");
break;
default:
diff --git a/xorg-server/hw/xwin/winwindow.c b/xorg-server/hw/xwin/winwindow.c
index 8c1c28f2a..d00a312c1 100644
--- a/xorg-server/hw/xwin/winwindow.c
+++ b/xorg-server/hw/xwin/winwindow.c
@@ -61,9 +61,7 @@ winCreateWindowNativeGDI(WindowPtr pWin)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winCreateWindowNativeGDI (%p)\n", pWin);
-#endif
+ winDebug ("winCreateWindowNativeGDI (%p)\n", pWin);
WIN_UNWRAP(CreateWindow);
fResult = (*pScreen->CreateWindow) (pWin);
@@ -83,9 +81,7 @@ winDestroyWindowNativeGDI(WindowPtr pWin)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winDestroyWindowNativeGDI (%p)\n", pWin);
-#endif
+ winDebug ("winDestroyWindowNativeGDI (%p)\n", pWin);
WIN_UNWRAP(DestroyWindow);
fResult = (*pScreen->DestroyWindow) (pWin);
@@ -105,9 +101,7 @@ winPositionWindowNativeGDI(WindowPtr pWin, int x, int y)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winPositionWindowNativeGDI (%p)\n", pWin);
-#endif
+ winDebug ("winPositionWindowNativeGDI (%p)\n", pWin);
WIN_UNWRAP(PositionWindow);
fResult = (*pScreen->PositionWindow) (pWin, x, y);
@@ -133,9 +127,6 @@ winCopyWindowNativeGDI(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
winScreenPriv(pScreen);
-#if 0
- ErrorF("winCopyWindow\n");
-#endif
/* Create a region for the destination */
prgnDst = RegionCreate(NULL, 1);
@@ -171,18 +162,8 @@ winCopyWindowNativeGDI(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
pBoxDst = RegionRects(prgnDst);
ppt = pptSrc;
-#if 0
- ErrorF("winCopyWindow - x1\tx2\ty1\ty2\tx\ty\n");
-#endif
-
/* BitBlt each source to the destination point */
for (i = nbox; --i >= 0; pBoxDst++, ppt++) {
-#if 0
- ErrorF("winCopyWindow - %d\t%d\t%d\t%d\t%d\t%d\n",
- pBoxDst->x1, pBoxDst->x2, pBoxDst->y1, pBoxDst->y2,
- ppt->x, ppt->y);
-#endif
-
BitBlt(pScreenPriv->hdcScreen,
pBoxDst->x1, pBoxDst->y1,
pBoxDst->x2 - pBoxDst->x1, pBoxDst->y2 - pBoxDst->y1,
@@ -205,9 +186,7 @@ winChangeWindowAttributesNativeGDI(WindowPtr pWin, unsigned long mask)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winChangeWindowAttributesNativeGDI (%p)\n", pWin);
-#endif
+ winDebug ("winChangeWindowAttributesNativeGDI (%p)\n", pWin);
WIN_UNWRAP(ChangeWindowAttributes);
fResult = (*pScreen->ChangeWindowAttributes) (pWin, mask);
@@ -232,9 +211,7 @@ winUnmapWindowNativeGDI(WindowPtr pWin)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winUnmapWindowNativeGDI (%p)\n", pWin);
-#endif
+ winDebug ("winUnmapWindowNativeGDI (%p)\n", pWin);
WIN_UNWRAP(UnrealizeWindow);
fResult = (*pScreen->UnrealizeWindow) (pWin);
@@ -255,9 +232,7 @@ winMapWindowNativeGDI(WindowPtr pWin)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winMapWindowNativeGDI (%p)\n", pWin);
-#endif
+ winDebug ("winMapWindowNativeGDI (%p)\n", pWin);
WIN_UNWRAP(RealizeWindow);
fResult = (*pScreen->RealizeWindow) (pWin);
@@ -280,9 +255,7 @@ winCreateWindowRootless(WindowPtr pWin)
winWindowPriv(pWin);
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winCreateWindowRootless (%p)\n", pWin);
-#endif
+ winDebug ("winCreateWindowRootless (%p)\n", pWin);
WIN_UNWRAP(CreateWindow);
fResult = (*pScreen->CreateWindow) (pWin);
@@ -305,9 +278,7 @@ winDestroyWindowRootless(WindowPtr pWin)
winWindowPriv(pWin);
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winDestroyWindowRootless (%p)\n", pWin);
-#endif
+ winDebug ("winDestroyWindowRootless (%p)\n", pWin);
WIN_UNWRAP(DestroyWindow);
fResult = (*pScreen->DestroyWindow) (pWin);
@@ -334,9 +305,7 @@ winPositionWindowRootless(WindowPtr pWin, int x, int y)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winPositionWindowRootless (%p)\n", pWin);
-#endif
+ winDebug ("winPositionWindowRootless (%p)\n", pWin);
WIN_UNWRAP(PositionWindow);
fResult = (*pScreen->PositionWindow) (pWin, x, y);
@@ -358,9 +327,7 @@ winChangeWindowAttributesRootless(WindowPtr pWin, unsigned long mask)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winChangeWindowAttributesRootless (%p)\n", pWin);
-#endif
+ winDebug ("winChangeWindowAttributesRootless (%p)\n", pWin);
WIN_UNWRAP(ChangeWindowAttributes);
fResult = (*pScreen->ChangeWindowAttributes) (pWin, mask);
@@ -384,9 +351,7 @@ winUnmapWindowRootless(WindowPtr pWin)
winWindowPriv(pWin);
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winUnmapWindowRootless (%p)\n", pWin);
-#endif
+ winDebug ("winUnmapWindowRootless (%p)\n", pWin);
WIN_UNWRAP(UnrealizeWindow);
fResult = (*pScreen->UnrealizeWindow) (pWin);
@@ -414,9 +379,7 @@ winMapWindowRootless(WindowPtr pWin)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winMapWindowRootless (%p)\n", pWin);
-#endif
+ winDebug ("winMapWindowRootless (%p)\n", pWin);
WIN_UNWRAP(RealizeWindow);
fResult = (*pScreen->RealizeWindow) (pWin);
@@ -436,9 +399,7 @@ winSetShapeRootless(WindowPtr pWin, int kind)
winScreenPriv(pScreen);
-#if CYGDEBUG
- winTrace("winSetShapeRootless (%p, %i)\n", pWin, kind);
-#endif
+ winDebug ("winSetShapeRootless (%p, %i)\n", pWin, kind);
WIN_UNWRAP(SetShape);
(*pScreen->SetShape) (pWin, kind);
@@ -466,9 +427,7 @@ winAddRgn(WindowPtr pWin, void *data)
/* If pWin is not Root */
if (pWin->parent != NULL) {
-#if CYGDEBUG
winDebug("winAddRgn ()\n");
-#endif
if (pWin->mapped) {
iBorder = wBorderWidth(pWin);
@@ -481,9 +440,9 @@ winAddRgn(WindowPtr pWin, void *data)
hRgnWin = CreateRectRgn(0, 0, iWidth, iHeight);
if (hRgnWin == NULL) {
- ErrorF("winAddRgn - CreateRectRgn () failed\n");
- ErrorF(" Rect %d %d %d %d\n",
- iX, iY, iX + iWidth, iY + iHeight);
+ winDebug ("winAddRgn - CreateRectRgn () failed\n");
+ winDebug (" Rect %d %d %d %d\n",
+ iX, iY, iX + iWidth, iY + iHeight);
}
if (pWinPriv->hRgn) {
@@ -539,9 +498,7 @@ winReshapeRootless(WindowPtr pWin)
winWindowPriv(pWin);
-#if CYGDEBUG
winDebug("winReshapeRootless ()\n");
-#endif
/* Bail if the window is the root window */
if (pWin->parent == NULL)
diff --git a/xorg-server/hw/xwin/winwindow.h b/xorg-server/hw/xwin/winwindow.h
index 7e6bd565c..3ab7148d7 100644
--- a/xorg-server/hw/xwin/winwindow.h
+++ b/xorg-server/hw/xwin/winwindow.h
@@ -41,30 +41,24 @@
/* Constant strings */
#ifndef PROJECT_NAME
-#define PROJECT_NAME "Cygwin/X"
+#define PROJECT_NAME "VcXsrv"
#endif
-#define EXECUTABLE_NAME "XWin"
-#define WINDOW_CLASS "cygwin/x"
-#define WINDOW_TITLE PROJECT_NAME ":%s.%d"
-#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"
+#define EXECUTABLE_NAME "VcXsrv"
+#define WINDOW_CLASS "VcXsrv/x"
+#define WINDOW_TITLE PROJECT_NAME " Server - Display %s:%s.%d"
+#define WINDOW_TITLE_XDMCP PROJECT_NAME " Server - %s - Display %s:%s.%d"
+extern const char WIN_SCR_PROP[];
+#define WINDOW_CLASS_X "vcxsrv/x X rl"
+#define WINDOW_CLASS_X_MSG "vcxsrv/x X msg"
+#define WINDOW_TITLE_X PROJECT_NAME " X"
+extern const char WIN_WINDOW_PROP[];
#ifdef HAS_DEVWINDOWS
-#define WIN_MSG_QUEUE_FNAME "/dev/windows"
-#endif
-#define WIN_WID_PROP "cyg_wid_prop_rl"
-#define WIN_NEEDMANAGE_PROP "cyg_override_redirect_prop_rl"
-#ifndef CYGMULTIWINDOW_DEBUG
-#define CYGMULTIWINDOW_DEBUG NO
-#endif
-#ifndef CYGWINDOWING_DEBUG
-#define CYGWINDOWING_DEBUG NO
+#define WIN_MSG_QUEUE_FNAME "/dev/windows"
#endif
+extern const char WIN_WID_PROP[];
+extern const char WIN_NEEDMANAGE_PROP[];
-#define XMING_SIGNATURE 0x12345678L
+#define VCXSRV_SIGNATURE 0xdeaddeadL
typedef struct _winPrivScreenRec *winPrivScreenPtr;
@@ -76,6 +70,7 @@ typedef struct {
DWORD dwDummy;
HRGN hRgn;
HWND hWnd;
+ BOOL OpenGlWindow;
winPrivScreenPtr pScreenPriv;
Bool fXKilled;
HDWP hDwp;
@@ -114,6 +109,8 @@ typedef struct _winWMMessageRec {
#define WM_WM_HINTS_EVENT (WM_USER + 14)
#define WM_MANAGE (WM_USER + 100)
#define WM_UNMANAGE (WM_USER + 102)
+#define WM_WM_REINIT (WM_USER + 200)
+
#define MwmHintsDecorations (1L << 1)
@@ -151,6 +148,15 @@ void
winMinimizeWindow(Window id);
void
+winTaskbarInit (void);
+
+void
+winTaskbarDestroy (void);
+
+void
+winSetAppID (HWND hWnd, const char* AppID);
+
+void
winPropertyStoreInit(void);
void
diff --git a/xorg-server/hw/xwin/winwindowswm.c b/xorg-server/hw/xwin/winwindowswm.c
index 2805ff7ce..26dfa7e6f 100644
--- a/xorg-server/hw/xwin/winwindowswm.c
+++ b/xorg-server/hw/xwin/winwindowswm.c
@@ -234,26 +234,20 @@ winWindowsWMSendEvent(int type, unsigned int mask, int which, int arg,
WMEventPtr *pHead, pEvent;
ClientPtr client;
xWindowsWMNotifyEvent se;
-
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winWindowsWMSendEvent %d %d %d %d, %d %d - %d %d\n",
- type, mask, which, arg, x, y, w, h);
-#endif
+ winDebug ("winWindowsWMSendEvent %d %d %d %d, %d %d - %d %d\n",
+ type, mask, which, arg, x, y, w, h);
dixLookupResourceByType((void *) &pHead, eventResource, eventResourceType,
NullClient, DixUnknownAccess);
if (!pHead)
return;
for (pEvent = *pHead; pEvent; pEvent = pEvent->next) {
client = pEvent->client;
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winWindowsWMSendEvent - %p\n", client);
-#endif
+ winDebug ("winWindowsWMSendEvent - %p\n", client);
if ((pEvent->mask & mask) == 0) {
continue;
}
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("winWindowsWMSendEvent - send\n");
-#endif
+ winDebug ("winWindowsWMSendEvent - send\n");
+
se.type = type + WMEventBase;
se.kind = which;
se.window = window;
@@ -311,10 +305,8 @@ ProcWindowsWMFrameGetRect(ClientPtr client)
REQUEST(xWindowsWMFrameGetRectReq);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameGetRect %d %d\n",
- (sizeof(xWindowsWMFrameGetRectReq) >> 2), (int) client->req_len);
-#endif
+ winDebug ("ProcWindowsWMFrameGetRect %d %d\n",
+ (sizeof(xWindowsWMFrameGetRectReq) >> 2), (int) client->req_len);
REQUEST_SIZE_MATCH(xWindowsWMFrameGetRectReq);
rep.type = X_Reply;
@@ -330,10 +322,8 @@ ProcWindowsWMFrameGetRect(ClientPtr client)
SetRect(&rcNew, stuff->ix, stuff->iy,
stuff->ix + stuff->iw, stuff->iy + stuff->ih);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameGetRect - %d %d %d %d\n",
- stuff->ix, stuff->iy, stuff->ix + stuff->iw, stuff->iy + stuff->ih);
-#endif
+ winDebug ("ProcWindowsWMFrameGetRect - %d %d %d %d\n",
+ stuff->ix, stuff->iy, stuff->ix + stuff->iw, stuff->iy + stuff->ih);
/*
* Calculate the required size of the Windows window rectangle,
@@ -345,10 +335,8 @@ ProcWindowsWMFrameGetRect(ClientPtr client)
rep.y = rcNew.top;
rep.w = rcNew.right - rcNew.left;
rep.h = rcNew.bottom - rcNew.top;
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameGetRect - %d %d %d %d\n",
+ winDebug ("ProcWindowsWMFrameGetRect - %d %d %d %d\n",
rep.x, rep.y, rep.w, rep.h);
-#endif
WriteToClient(client, sizeof(xWindowsWMFrameGetRectReply), &rep);
return Success;
@@ -366,27 +354,23 @@ ProcWindowsWMFrameDraw(ClientPtr client)
REQUEST_SIZE_MATCH(xWindowsWMFrameDrawReq);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameDraw\n");
-#endif
+ winDebug ("ProcWindowsWMFrameDraw\n");
+
rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
if (rc != Success)
return rc;
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameDraw - Window found\n");
-#endif
+
+ winDebug ("ProcWindowsWMFrameDraw - Window found\n");
pRLWinPriv = (win32RootlessWindowPtr) RootlessFrameForWindow(pWin, TRUE);
if (pRLWinPriv == 0)
return BadWindow;
-#if CYGMULTIWINDOW_DEBUG
- 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);
-#endif
+ winDebug ("ProcWindowsWMFrameDraw - HWND %p 0x%08x 0x%08x\n",
+ pRLWinPriv->hWnd, (int) stuff->frame_style,
+ (int) stuff->frame_style_ex);
+ winDebug ("ProcWindowsWMFrameDraw - %d %d %d %d\n",
+ stuff->ix, stuff->iy, stuff->iw, stuff->ih);
/* Store the origin, height, and width in a rectangle structure */
SetRect(&rcNew, stuff->ix, stuff->iy,
@@ -433,9 +417,7 @@ ProcWindowsWMFrameDraw(ClientPtr client)
winMWExtWMReshapeFrame(pRLWinPriv, &newShape);
RegionUninit(&newShape);
}
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameDraw - done\n");
-#endif
+ winDebug ("ProcWindowsWMFrameDraw - done\n");
return Success;
}
@@ -451,18 +433,14 @@ ProcWindowsWMFrameSetTitle(ClientPtr client)
win32RootlessWindowPtr pRLWinPriv;
int rc;
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameSetTitle\n");
-#endif
+ winDebug ("ProcWindowsWMFrameSetTitle\n");
REQUEST_AT_LEAST_SIZE(xWindowsWMFrameSetTitleReq);
rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
if (rc != Success)
return rc;
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameSetTitle - Window found\n");
-#endif
+ winDebug ("ProcWindowsWMFrameSetTitle - Window found\n");
title_length = stuff->title_length;
title_max = (stuff->length << 2) - sizeof(xWindowsWMFrameSetTitleReq);
@@ -470,9 +448,7 @@ ProcWindowsWMFrameSetTitle(ClientPtr client)
if (title_max < title_length)
return BadValue;
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameSetTitle - length is valid\n");
-#endif
+ winDebug ("ProcWindowsWMFrameSetTitle - length is valid\n");
title_bytes = malloc(title_length + 1);
strncpy(title_bytes, (char *) &stuff[1], title_length);
@@ -490,9 +466,7 @@ ProcWindowsWMFrameSetTitle(ClientPtr client)
free(title_bytes);
-#if CYGMULTIWINDOW_DEBUG
- ErrorF("ProcWindowsWMFrameSetTitle - done\n");
-#endif
+ winDebug ("ProcWindowsWMFrameSetTitle - done\n");
return Success;
}
diff --git a/xorg-server/hw/xwin/winwndproc.c b/xorg-server/hw/xwin/winwndproc.c
index bee223de7..9444d229a 100644
--- a/xorg-server/hw/xwin/winwndproc.c
+++ b/xorg-server/hw/xwin/winwndproc.c
@@ -43,10 +43,16 @@
#include "winmonitors.h"
#include "inputstr.h"
+#ifndef XKB_IN_SERVER
+#define XKB_IN_SERVER
+#endif
+#include <xkbsrv.h>
+
/*
* Global variables
*/
+extern Bool g_fClipboardStarted;
Bool g_fCursor = TRUE;
Bool g_fButton[3] = { FALSE, FALSE, FALSE };
@@ -68,9 +74,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
int iScanCode;
int i;
-#if CYGDEBUG
winDebugWin32Message("winWindowProc", hwnd, message, wParam, lParam);
-#endif
/* Watch for server regeneration */
if (g_ulServerGeneration != s_ulServerGeneration) {
@@ -81,9 +85,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* Only retrieve new privates pointers if window handle is null or changed */
if ((s_pScreenPriv == NULL || hwnd != s_hwndLastPrivates)
&& (s_pScreenPriv = GetProp(hwnd, WIN_SCR_PROP)) != NULL) {
-#if CYGDEBUG
winDebug("winWindowProc - Setting privates handle\n");
-#endif
s_pScreenInfo = s_pScreenPriv->pScreenInfo;
s_pScreen = s_pScreenInfo->pScreen;
s_hwndLastPrivates = hwnd;
@@ -102,9 +104,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
s_pScreenPriv);
case WM_CREATE:
-#if CYGDEBUG
winDebug("winWindowProc - WM_CREATE\n");
-#endif
/*
* Add a property to our display window that references
@@ -123,7 +123,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
SetProp(hwnd, WIN_SCR_PROP, s_pScreenPriv);
/* Setup tray icon */
- if (!s_pScreenInfo->fNoTrayIcon) {
+ if (!s_pScreenInfo->fNoTrayIcon && !pref.fNoTrayIcon) {
/*
* NOTE: The WM_CREATE message is processed before CreateWindowEx
* returns, so s_pScreenPriv->hwndScreen is invalid at this point.
@@ -135,7 +135,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
s_pScreenPriv->hwndScreen = hwnd;
- winInitNotifyIcon(s_pScreenPriv);
+ winInitNotifyIcon(s_pScreenPriv,FALSE);
}
return 0;
@@ -168,9 +168,9 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
}
- ErrorF("winWindowProc - WM_DISPLAYCHANGE - new width: %d "
- "new height: %d new bpp: %d\n",
- LOWORD(lParam), HIWORD(lParam), wParam);
+ winDebug ("winWindowProc - WM_DISPLAYCHANGE - new width: %d "
+ "new height: %d new bpp: %d\n",
+ LOWORD(lParam), HIWORD(lParam), wParam);
/* 0 bpp has no defined meaning, ignore this message */
if (wParam == 0)
@@ -194,7 +194,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
#endif
)) {
/* Cannot display the visual until the depth is restored */
- ErrorF("winWindowProc - Disruptive change in depth\n");
+ winDebug ("winWindowProc - Disruptive change in depth\n");
/* Display depth change dialog */
winDisplayDepthChangeDialog(s_pScreenPriv);
@@ -244,7 +244,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
fMultiWindow
#endif
)) {
- DWORD dwWidth, dwHeight;
+ DWORD dwWidth = 0, dwHeight = 0;
if (s_pScreenInfo->fMultipleMonitors) {
/* resize to new virtual desktop size */
@@ -308,25 +308,31 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
winDebug
("winWindowProc - WM_DISPLAYCHANGE - Releasing and recreating primary surface\n");
- /* Release the old primary surface */
- (*s_pScreenPriv->pwinReleasePrimarySurface) (s_pScreen);
+ /* Reallocate the framebuffer used by the drawing engine */
+ (*s_pScreenPriv->pwinFreeFB)(s_pScreen);
+ if (!(*s_pScreenPriv->pwinAllocateFB)(s_pScreen))
+ {
+ ErrorF ("winWindowProc - WM_DISPLAYCHANGE - Could not reallocate framebuffer\n");
+ }
+ /* Update the screen pixmap to point to the new framebuffer */
+ winUpdateFBPointer(s_pScreen, s_pScreenPriv->pScreenInfo->pfb);
+ // Restore the ability to update screen, now with new dimensions
+ SetRootClip(s_pScreen, TRUE);
- /* Create the new primary surface */
- (*s_pScreenPriv->pwinCreatePrimarySurface) (s_pScreen);
+ // and arrange for it to be repainted
+ miPaintWindow(s_pScreen->root, &s_pScreen->root->borderClip, PW_BACKGROUND);
}
}
break;
-
+
case WM_SIZE:
{
SCROLLINFO si;
RECT rcWindow;
int iWidth, iHeight;
-#if CYGDEBUG
winDebug("winWindowProc - WM_SIZE\n");
-#endif
/* Break if we do not allow resizing */
if ((s_pScreenInfo->iResizeMode == notAllowed)
@@ -345,8 +351,8 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (wParam == SIZE_MINIMIZED)
return 0;
- ErrorF("winWindowProc - WM_SIZE - new client area w: %d h: %d\n",
- LOWORD(lParam), HIWORD(lParam));
+ winDebug ("winWindowProc - WM_SIZE - new client area w: %d h: %d\n",
+ LOWORD(lParam), HIWORD(lParam));
if (s_pScreenInfo->iResizeMode == resizeWithRandr) {
/* Actual resizing is done on WM_EXITSIZEMOVE */
@@ -425,20 +431,22 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
s_pScreenInfo->dwYOffset = -si.nPos;
}
return 0;
-
- case WM_SYSCOMMAND:
- if (s_pScreenInfo->iResizeMode == resizeWithRandr &&
- ((wParam & 0xfff0) == SC_MAXIMIZE ||
- (wParam & 0xfff0) == SC_RESTORE))
- PostMessage(hwnd, WM_EXITSIZEMOVE, 0, 0);
+
+ case WM_SYSCOMMAND:
+ if ((wParam & 0xfff0) == SC_MAXIMIZE ||
+ (wParam & 0xfff0) == SC_RESTORE)
+ {
+ winDebug("Posting WM_EXITSIZEMOVE message since windows does not send it when the maximised/restored button is clicked.\n");
+ PostMessage(hwnd, WM_EXITSIZEMOVE, 0, 0);
+ }
break;
case WM_ENTERSIZEMOVE:
- ErrorF("winWindowProc - WM_ENTERSIZEMOVE\n");
+ winDebug("winWindowProc - WM_ENTERSIZEMOVE\n");
break;
case WM_EXITSIZEMOVE:
- ErrorF("winWindowProc - WM_EXITSIZEMOVE\n");
+ winDebug("winWindowProc - WM_EXITSIZEMOVE\n");
if (s_pScreenInfo->iResizeMode == resizeWithRandr) {
/* Set screen size to match new client area, if it is different to current */
@@ -467,9 +475,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
SCROLLINFO si;
int iVertPos;
-#if CYGDEBUG
winDebug("winWindowProc - WM_VSCROLL\n");
-#endif
/* Get vertical scroll bar info */
si.cbSize = sizeof(si);
@@ -546,9 +552,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
SCROLLINFO si;
int iHorzPos;
-#if CYGDEBUG
winDebug("winWindowProc - WM_HSCROLL\n");
-#endif
/* Get horizontal scroll bar info */
si.cbSize = sizeof(si);
@@ -625,10 +629,8 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
int iCaptionHeight;
int iBorderHeight, iBorderWidth;
-#if CYGDEBUG
winDebug("winWindowProc - WM_GETMINMAXINFO - pScreenInfo: %08x\n",
s_pScreenInfo);
-#endif
/* Can't do anything without screen info */
if (s_pScreenInfo == NULL
@@ -669,9 +671,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
return 0;
case WM_ERASEBKGND:
-#if CYGDEBUG
winDebug("winWindowProc - WM_ERASEBKGND\n");
-#endif
/*
* Pretend that we did erase the background but we don't care,
* the application uses the full window estate. This avoids some
@@ -680,9 +680,6 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
return TRUE;
case WM_PAINT:
-#if CYGDEBUG
- winDebug("winWindowProc - WM_PAINT\n");
-#endif
/* Only paint if we have privates and the server is enabled */
if (s_pScreenPriv == NULL
|| !s_pScreenPriv->fEnabled
@@ -702,9 +699,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_PALETTECHANGED:
{
-#if CYGDEBUG
winDebug("winWindowProc - WM_PALETTECHANGED\n");
-#endif
/*
* Don't process if we don't have privates or a colormap,
* or if we have an invalid depth.
@@ -973,9 +968,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_MOUSEWHEEL:
if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput)
break;
-#if CYGDEBUG
winDebug("winWindowProc - WM_MOUSEWHEEL\n");
-#endif
/* Button4 = WheelUp */
/* Button5 = WheelDown */
winMouseWheel(&(s_pScreenPriv->iDeltaZ), GET_WHEEL_DELTA_WPARAM(wParam), Button4, Button5);
@@ -984,9 +977,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
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);
@@ -1039,21 +1030,13 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
* user enters Alt + F4 and is surprised when the application
* quits.
*/
- ErrorF("winWindowProc - WM_*KEYDOWN - Closekey hit, quitting\n");
+ winDebug ("winWindowProc - WM_*KEYDOWN - Closekey hit, quitting\n");
/* Display Exit dialog */
winDisplayExitDialog(s_pScreenPriv);
return 0;
}
- /*
- * Don't do anything for the Windows keys, as focus will soon
- * be returned to Windows. We may be able to trap the Windows keys,
- * but we should determine if that is desirable before doing so.
- */
- if ((wParam == VK_LWIN || wParam == VK_RWIN) && !g_fKeyboardHookLL)
- break;
-
/* Discard fake Ctrl_L events that precede AltGR on non-US keyboards */
if (winIsFakeCtrl_L(message, wParam, lParam))
return 0;
@@ -1093,14 +1076,6 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput)
break;
- /*
- * Don't do anything for the Windows keys, as focus will soon
- * be returned to Windows. We may be able to trap the Windows keys,
- * but we should determine if that is desirable before doing so.
- */
- if ((wParam == VK_LWIN || wParam == VK_RWIN) && !g_fKeyboardHookLL)
- break;
-
/* Ignore the fake Ctrl_L that follows an AltGr release */
if (winIsFakeCtrl_L(message, wParam, lParam))
return 0;
@@ -1128,7 +1103,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* TODO: Override display of window when we have a bad depth */
if (LOWORD(wParam) != WA_INACTIVE && s_pScreenPriv->fBadDepth) {
- ErrorF("winWindowProc - WM_ACTIVATE - Bad depth, trying "
+ winDebug ("winWindowProc - WM_ACTIVATE - Bad depth, trying "
"to override window activation\n");
/* Minimize the window */
@@ -1148,9 +1123,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
return 0;
}
-#if CYGDEBUG
winDebug("winWindowProc - WM_ACTIVATE\n");
-#endif
/*
* Focus is being changed to another window.
@@ -1174,9 +1147,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (s_pScreenPriv == NULL || s_pScreenInfo->fIgnoreInput)
break;
-#if CYGDEBUG || TRUE
winDebug("winWindowProc - WM_ACTIVATEAPP\n");
-#endif
/* Activate or deactivate */
s_pScreenPriv->fActive = wParam;
@@ -1190,13 +1161,13 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
#ifdef XWIN_CLIPBOARD
/* Make sure the clipboard chain is ok. */
- winFixClipboardChain();
+ winFixClipboardChain(0);
#endif
/* Call engine specific screen activation/deactivation function */
(*s_pScreenPriv->pwinActivateApp) (s_pScreen);
-#ifdef XWIN_MULTIWINDOWEXTWM
+#ifdef XWIN_MULTIWINDOWINTWM
if (s_pScreenPriv->fActive) {
/* Restack all window unless using built-in wm. */
if (s_pScreenInfo->fInternalWM && s_pScreenInfo->fAnotherWMRunning)
@@ -1241,6 +1212,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
if (s_pScreenInfo->fMultiWindow)
winDeinitMultiWindowWM();
#endif
+ g_fClipboardStarted=FALSE; /* This is to avoid dead-locls caused by the clipboard thread still doing some stuff */
GiveUp(0);
return 0;
@@ -1259,29 +1231,33 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
#ifdef XWIN_MULTIWINDOWEXTWM
case WM_MANAGE:
- ErrorF("winWindowProc - WM_MANAGE\n");
+ winDebug("winWindowProc - WM_MANAGE\n");
s_pScreenInfo->fAnotherWMRunning = FALSE;
+#ifdef XWIN_MULTIWINDOWINTWM
if (s_pScreenInfo->fInternalWM) {
EnumThreadWindows(g_dwCurrentThreadID, winMWExtWMDecorateWindow, 0);
//RootlessRepositionWindows (s_pScreen);
}
+#endif
break;
case WM_UNMANAGE:
- ErrorF("winWindowProc - WM_UNMANAGE\n");
+ winDebug("winWindowProc - WM_UNMANAGE\n");
s_pScreenInfo->fAnotherWMRunning = TRUE;
+#ifdef XWIN_MULTIWINDOWINTWM
if (s_pScreenInfo->fInternalWM) {
EnumThreadWindows(g_dwCurrentThreadID, winMWExtWMDecorateWindow, 0);
winMWExtWMRestackWindows(s_pScreen);
}
+#endif
break;
#endif
default:
if (message == s_uTaskbarRestart) {
- winInitNotifyIcon(s_pScreenPriv);
+ winInitNotifyIcon(s_pScreenPriv,FALSE);
}
break;
}
diff --git a/xorg-server/hw/xwin/xdmcphostselect.c b/xorg-server/hw/xwin/xdmcphostselect.c
new file mode 100644
index 000000000..9b8b62b93
--- /dev/null
+++ b/xorg-server/hw/xwin/xdmcphostselect.c
@@ -0,0 +1,180 @@
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+#include "win.h"
+
+void XdmcpHostSelected(int HostIndex);
+
+static HWND g_hDlgHosts;
+static char HostToConnect[128];
+
+static void SelectHost(int Index)
+{
+ int i;
+ char HostName[128];
+ int HostIndex=SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_GETITEMDATA, (WPARAM)Index, 0);
+
+ HostToConnect[0]=0;
+ SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_GETTEXT, (WPARAM)Index, (LPARAM)HostToConnect);
+ g_pszQueryHost=HostToConnect;
+
+ gethostname(HostName,128);
+
+ XdmcpHostSelected(HostIndex);
+
+ for (i = 0; i < g_iNumScreens; ++i)
+ {
+ /* Change the window title to reflect the host we are connecting to */
+ if (g_ScreenInfo[i].pScreen)
+ {
+ char szTitle[256];
+
+ winScreenPriv(g_ScreenInfo[i].pScreen);
+ winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
+ snprintf (szTitle, sizeof (szTitle), WINDOW_TITLE_XDMCP, HostToConnect, HostName, display, (int) pScreenInfo->dwScreen);
+ SetWindowText(pScreenPriv->hwndScreen,szTitle);
+ }
+ }
+
+ DestroyWindow (g_hDlgHosts);
+ g_hDlgHosts = NULL;
+}
+
+/*
+ * Process messages for the about dialog.
+ */
+
+static INT_PTR CALLBACK DisplayXdmcpHostsDlgProc (HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ /* Branch on message type */
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ {
+ HWND hwndDesk=GetForegroundWindow();
+ RECT rc, rcDlg, rcDesk;
+
+ GetWindowRect (hwndDesk, &rcDesk);
+ GetWindowRect (hwndDialog, &rcDlg);
+ CopyRect (&rc, &rcDesk);
+
+ OffsetRect (&rcDlg, -rcDlg.left, -rcDlg.top);
+ OffsetRect (&rc, -rc.left, -rc.top);
+ OffsetRect (&rc, -rcDlg.right, -rcDlg.bottom);
+
+ SetWindowPos (hwndDialog,
+ HWND_TOPMOST,
+ rcDesk.left + (rc.right / 2),
+ rcDesk.top + (rc.bottom / 2),
+ 0, 0,
+ SWP_NOSIZE | SWP_FRAMECHANGED);
+ return TRUE;
+ }
+ break;
+
+ case WM_COMMAND:
+ switch (LOWORD (wParam))
+ {
+ case IDOK:
+ {
+ int Index;
+ winDebug ("DisplayXdmcpHostsDlgProc - WM_COMMAND - IDOK or IDCANCEL\n");
+
+ /* Retreive the host to connect to */
+ Index=SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_GETCURSEL, 0, 0);
+ if (Index==LB_ERR)
+ {
+ MessageBox(hwndDialog,"Please select a host to connect to!","Error",MB_OK);
+ }
+ else
+ {
+ SelectHost(Index);
+ }
+
+ return TRUE;
+ }
+ break;
+ case IDCANCEL:
+ winDebug ("DisplayXdmcpHostsDlgProc - WM_COMMAND - IDCANCEL\n");
+
+ DestroyWindow (g_hDlgHosts);
+ AbortDDX(EXIT_ERR_ABORT);
+ TerminateProcess(GetCurrentProcess(),1); /* Exit the application */
+
+ return TRUE;
+ break;
+ case IDC_HOSTLIST:
+ if (HIWORD(wParam)==LBN_DBLCLK)
+ {
+ int Index=SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_GETCURSEL, 0, 0);
+ SelectHost(Index);
+ return TRUE;
+ }
+ break;
+ }
+ break;
+
+ case WM_CLOSE:
+ ErrorF ("DisplayXdmcpHostsDlgProc - WM_CLOSE\n");
+
+ DestroyWindow (g_hDlgHosts);
+ g_hDlgHosts = NULL;
+ AbortDDX(EXIT_ERR_ABORT);
+ TerminateProcess(GetCurrentProcess(),1); /* Exit the application */
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+int XdmcpHostAddName(const char *HostName, int HostIndex)
+{
+ int Index=SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_FINDSTRINGEXACT, -1, (LPARAM)HostName);
+ if (LB_ERR==Index)
+ {
+ Index=SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_ADDSTRING, 0, (LPARAM)HostName);
+ SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_SETITEMDATA, (WPARAM)Index, (LPARAM)HostIndex);
+ return -1;
+ }
+ else
+ return SendDlgItemMessage(g_hDlgHosts, IDC_HOSTLIST, LB_GETITEMDATA, (WPARAM)Index, 0);
+}
+/*
+ * Display the host selection dialog box
+ */
+
+void DisplayXdmcpHostsDialog(void)
+{
+ /* Check if dialog already exists */
+ if (g_hDlgHosts != NULL)
+ {
+ /* Dialog box already exists, display it */
+ ShowWindow (g_hDlgHosts, SW_SHOWDEFAULT);
+
+ /* User has lost the dialog. Show them where it is. */
+ SetForegroundWindow (g_hDlgHosts);
+
+ return;
+ }
+
+ /* Show an arrow cursor as long as the selection dialog is shown */
+ {
+ winScreenPriv(screenInfo.screens[0]);
+ pScreenPriv->cursor.handle=LoadCursor(NULL,IDC_ARROW);
+ }
+
+ /*
+ * Display the about box
+ */
+ g_hDlgHosts = CreateDialogParam (g_hInstance, "XDMCP_HOSTS", NULL, DisplayXdmcpHostsDlgProc, 0);
+
+ /* Show the dialog box */
+ ShowWindow (g_hDlgHosts, SW_SHOW);
+
+ /* Needed to get keyboard controls (tab, arrows, enter, esc) to work */
+ SetForegroundWindow (g_hDlgHosts);
+
+ /* Set focus to the OK button */
+ PostMessage (g_hDlgAbout, WM_NEXTDLGCTL, (WPARAM)GetDlgItem (g_hDlgHosts, IDOK), TRUE);
+}
diff --git a/xorg-server/hw/xwin/xlaunch/COPYING b/xorg-server/hw/xwin/xlaunch/COPYING
new file mode 100644
index 000000000..c7fa84400
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/COPYING
@@ -0,0 +1,25 @@
+
+ Copyright (c) 2005 Alexander Gottwald
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name(s) of the above copyright
+ holders shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in this Software without prior written authorization.
+
diff --git a/xorg-server/hw/xwin/xlaunch/config.cc b/xorg-server/hw/xwin/xlaunch/config.cc
new file mode 100644
index 000000000..fc268e2e8
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/config.cc
@@ -0,0 +1,200 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include "config.h"
+#include "window/util.h"
+#include <stdexcept>
+
+xmlDocPtr CreateDocument()
+{
+ xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");
+ xmlNodePtr root_node = xmlNewNode(NULL, BAD_CAST "XLaunch");
+ xmlDocSetRootElement(doc, root_node);
+
+ return doc;
+
+}
+
+void setAttribute(xmlNodePtr elem, const char *name, const char *value)
+{
+ xmlNewProp(elem, BAD_CAST name, BAD_CAST value);
+}
+
+void CConfig::Save(const char *filename)
+{
+ xmlDocPtr doc = CreateDocument();
+ xmlNodePtr root = xmlDocGetRootElement(doc);
+
+ switch (window)
+ {
+ case MultiWindow:
+ setAttribute(root, "WindowMode", "MultiWindow");
+ break;
+ case Fullscreen:
+ setAttribute(root, "WindowMode", "Fullscreen");
+ break;
+ default:
+ case Windowed:
+ setAttribute(root, "WindowMode", "Windowed");
+ break;
+ case Nodecoration:
+ setAttribute(root, "WindowMode", "Nodecoration");
+ break;
+ }
+ switch (client)
+ {
+ default:
+ case NoClient:
+ setAttribute(root, "ClientMode", "NoClient");
+ break;
+ case StartProgram:
+ setAttribute(root, "ClientMode", "StartProgram");
+ break;
+ case XDMCP:
+ setAttribute(root, "ClientMode", "XDMCP");
+ break;
+ }
+ setAttribute(root, "LocalClient", local?"True":"False");
+ setAttribute(root, "Display", display.c_str());
+ setAttribute(root, "LocalProgram", localprogram.c_str());
+ setAttribute(root, "RemoteProgram", remoteprogram.c_str());
+ setAttribute(root, "RemotePassword", remotepassword.c_str());
+ setAttribute(root, "PrivateKey", privatekey.c_str());
+ setAttribute(root, "RemoteHost", host.c_str());
+ setAttribute(root, "RemoteUser", user.c_str());
+ setAttribute(root, "XDMCPHost", xdmcp_host.c_str());
+ setAttribute(root, "XDMCPBroadcast", broadcast?"True":"False");
+ setAttribute(root, "XDMCPIndirect", indirect?"True":"False");
+ setAttribute(root, "Clipboard", clipboard?"True":"False");
+ setAttribute(root, "ClipboardPrimary", clipboardprimary?"True":"False");
+ setAttribute(root, "ExtraParams", extra_params.c_str());
+ setAttribute(root, "Wgl", wgl?"True":"False");
+ setAttribute(root, "DisableAC", disableac?"True":"False");
+ setAttribute(root, "XDMCPTerminate", xdmcpterminate?"True":"False");
+
+ xmlSaveFormatFileEnc(filename, doc, "UTF-8", 1);
+
+ /*free the document */
+ xmlFreeDoc(doc);
+
+ /*
+ *Free the global variables that may
+ *have been allocated by the parser.
+ */
+ xmlCleanupParser();
+}
+
+BOOL getAttribute(xmlNodePtr elem, const char *name, std::string &ret)
+{
+ char *pVal=(char*)xmlGetProp(elem,BAD_CAST name);
+ if (!pVal)
+ return false;
+ ret=pVal;
+ return true;
+}
+
+BOOL getAttributeBool(xmlNodePtr elem, const char *name, bool &ret)
+{
+ const char *pVal=(char*)xmlGetProp(elem, BAD_CAST name);
+ if (!pVal)
+ return false;
+
+ std::string str(pVal);
+
+ if (str == "True")
+ ret = true;
+ else
+ ret = false;
+ return true;
+}
+
+
+void CConfig::Load(const char *filename)
+{
+ xmlDocPtr doc = xmlReadFile(filename, NULL, 0);
+
+ xmlNodePtr root;
+
+ if (doc == NULL)
+ {
+ return;
+ }
+
+ root = xmlDocGetRootElement(doc);
+
+ std::string windowMode;
+ std::string clientMode;
+
+ if (getAttribute(root, "WindowMode", windowMode))
+ {
+ if (windowMode == "MultiWindow")
+ window = MultiWindow;
+ else if (windowMode == "Fullscreen")
+ window = Fullscreen;
+ else if (windowMode == "Windowed")
+ window = Windowed;
+ else if (windowMode == "Nodecoration")
+ window = Nodecoration;
+ }
+ if (getAttribute(root, "ClientMode", clientMode))
+ {
+ if (clientMode == "NoClient")
+ client = NoClient;
+ else if (clientMode == "StartProgram")
+ client = StartProgram;
+ else if (clientMode == "XDMCP")
+ client = XDMCP;
+ }
+
+ getAttributeBool(root, "LocalClient", local);
+ getAttribute(root, "Display", display);
+ getAttribute(root, "LocalProgram", localprogram);
+ getAttribute(root, "RemoteProgram", remoteprogram);
+ getAttribute(root, "RemotePassword", remotepassword);
+ getAttribute(root, "PrivateKey", privatekey);
+ getAttribute(root, "RemoteHost", host);
+ getAttribute(root, "RemoteUser", user);
+ getAttribute(root, "XDMCPHost", xdmcp_host);
+ getAttributeBool(root, "XDMCPBroadcast", broadcast);
+ getAttributeBool(root, "XDMCPIndirect", indirect);
+ getAttributeBool(root, "Clipboard", clipboard);
+ getAttributeBool(root, "ClipboardPrimary", clipboardprimary);
+ getAttribute(root, "ExtraParams", extra_params);
+ getAttributeBool(root, "Wgl", wgl);
+ getAttributeBool(root, "DisableAC", disableac);
+ getAttributeBool(root, "XDMCPTerminate", xdmcpterminate);
+
+ /*free the document */
+ xmlFreeDoc(doc);
+
+ /*
+ *Free the global variables that may
+ *have been allocated by the parser.
+ */
+ xmlCleanupParser();
+}
+
diff --git a/xorg-server/hw/xwin/xlaunch/config.h b/xorg-server/hw/xwin/xlaunch/config.h
new file mode 100644
index 000000000..d4ae5e35d
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/config.h
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ *
+ * Authors: Alexander Gottwald, Colin Harrison
+ */
+#ifndef __CONFIG_H__
+#define __CONFIG_H__
+#define UNICODE
+#define _UNICODE
+
+#define PROG_NUMBER 10
+#define HOST_NUMBER 10
+#define MAX_MESSAGE 256
+#define MAX_CAPTION 128
+
+#include <windows.h>
+#include <string>
+#include <vector>
+struct CConfig
+{
+ enum {MultiWindow, Fullscreen, Windowed, Nodecoration} window;
+ enum {NoClient, StartProgram, XDMCP} client;
+ bool local;
+ std::string display;
+ std::string localprogram;
+ std::string remoteprogram;
+ bool compress;
+ std::string host;
+ std::string user;
+ std::string remotepassword;
+ std::string privatekey;
+ bool broadcast;
+ bool indirect;
+ std::string xdmcp_host;
+ bool clipboard;
+ bool clipboardprimary;
+ bool wgl;
+ bool disableac;
+ bool xdmcpterminate;
+ std::string extra_params;
+ CConfig() : window(MultiWindow), client(NoClient), display("-1"),
+ local(false),
+ remotepassword(""),
+ privatekey(""),
+ localprogram("xcalc"),
+ remoteprogram("xterm"),
+ compress(false),
+ host(""),
+ user(""),
+ broadcast(false),
+ indirect(false),
+ xdmcp_host(""),
+ clipboard(true),
+ clipboardprimary(true),
+ extra_params(),
+ disableac(false),
+ wgl(true),
+ xdmcpterminate(false)
+ {
+ };
+ void Load(const char * filename);
+ void Save(const char * filename);
+};
+
+#endif
diff --git a/xorg-server/hw/xwin/xlaunch/main.cc b/xorg-server/hw/xwin/xlaunch/main.cc
new file mode 100644
index 000000000..bf4f5e6a5
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/main.cc
@@ -0,0 +1,982 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#define SAVEPOSIX _POSIX_
+#undef _POSIX_
+#include <io.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <stdio.h>
+#define _POSIX_ SAVEPOSIX
+
+#include "window/util.h"
+#include "window/wizard.h"
+#include "resources/resources.h"
+#include "config.h"
+#include <prsht.h>
+#include <commctrl.h>
+
+#include <stdexcept>
+
+#include <X11/Xlib.h>
+
+#include <sstream>
+
+static bool ContainPrintableChars(const char *Buf, unsigned Nbr)
+{
+ for (int i=0; i<Nbr; i++)
+ {
+ if (Buf[i]>0x20)
+ return true;
+ }
+ return false;
+}
+
+/*
+ * Process messages for the prompt dialog.
+ */
+
+static INT_PTR CALLBACK DisplayPromptDlgProc (HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ static LPARAM Param;
+ static UINT PasswordChar;
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ {
+ HWND hwndDesk=GetForegroundWindow();
+ RECT rc, rcDlg, rcDesk;
+
+ PasswordChar=SendDlgItemMessage(hwndDialog, IDC_INPUT, EM_GETPASSWORDCHAR, 0, 0);
+
+ GetWindowRect (hwndDesk, &rcDesk);
+ GetWindowRect (hwndDialog, &rcDlg);
+ CopyRect (&rc, &rcDesk);
+
+ OffsetRect (&rcDlg, -rcDlg.left, -rcDlg.top);
+ OffsetRect (&rc, -rc.left, -rc.top);
+ OffsetRect (&rc, -rcDlg.right, -rcDlg.bottom);
+
+ SetWindowPos (hwndDialog,
+ HWND_TOPMOST,
+ rcDesk.left + (rc.right / 2),
+ rcDesk.top + (rc.bottom / 2),
+ 0, 0,
+ SWP_NOSIZE | SWP_FRAMECHANGED);
+
+ Param=lParam;
+ SendDlgItemMessage(hwndDialog, IDC_PROMPT_DESC, WM_SETTEXT, 0, lParam);
+ return TRUE;
+ }
+ break;
+
+ case WM_COMMAND:
+ switch (LOWORD (wParam))
+ {
+ case IDOK:
+ SendDlgItemMessage(hwndDialog, IDC_INPUT, WM_GETTEXT, 128, Param);
+ EndDialog(hwndDialog, Param);
+ return TRUE;
+ case IDCANCEL:
+ EndDialog(hwndDialog, NULL);
+ return TRUE;
+ case IDC_PASSWORD:
+ {
+ HWND hDlg=GetDlgItem(hwndDialog, IDC_INPUT);
+ if (HIWORD(wParam)==BN_CLICKED)
+ {
+ if (BST_CHECKED==SendDlgItemMessage(hwndDialog, IDC_PASSWORD, BM_GETCHECK, 0, 0))
+ SendMessage(hDlg, EM_SETPASSWORDCHAR, 0, 0);
+ else
+ SendMessage(hDlg, EM_SETPASSWORDCHAR, (WPARAM)PasswordChar, 0);
+ }
+ InvalidateRect(hDlg, NULL, TRUE);
+ }
+ return TRUE;
+ }
+ break;
+
+ case WM_CLOSE:
+ EndDialog (hwndDialog, NULL);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static bool CheckOutput(HANDLE hChildStdoutRd, int hStdOut, int hStdIn)
+{
+ DWORD NbrAvail=0;
+ PeekNamedPipe(hChildStdoutRd, NULL, NULL, NULL, &NbrAvail, NULL);
+ if (NbrAvail)
+ {
+ char Buf[128];
+ size_t Nbr = _read(hStdOut, Buf, sizeof(Buf)-1);
+ if (ContainPrintableChars(Buf,Nbr))
+ {
+ Buf[Nbr]=0;
+ INT_PTR Ret = DialogBoxParam (GetModuleHandle(NULL), "IDD_PROMPT", NULL, DisplayPromptDlgProc, (LPARAM)Buf);
+
+ if (Ret)
+ {
+ char *Data=(char*)Ret;
+ // Write it to the client
+ _write(hStdIn, Data, strlen(Data));
+ _write(hStdIn, "\x0d\x0a", 2);
+ }
+
+ return true;
+ }
+
+ }
+ return false;
+}
+
+
+/// @brief Send WM_ENDSESSION to all program windows.
+/// This will shutdown the started xserver
+BOOL CALLBACK KillWindowsProc(HWND hwnd, LPARAM lParam)
+{
+ SendMessage(hwnd, WM_ENDSESSION, 0, 0);
+ return TRUE;
+}
+
+/// @brief Actual wizard implementation.
+/// This is based on generic CWizard but handles the special dialogs
+class CMyWizard : public CWizard
+{
+ public:
+ private:
+ CConfig config; /// Storage for config options.
+ public:
+ /// @brief Constructor.
+ /// Set wizard pages.
+ CMyWizard() : CWizard()
+ {
+ AddPage(IDD_DISPLAY, IDS_DISPLAY_TITLE, IDS_DISPLAY_SUBTITLE);
+ AddPage(IDD_CLIENTS, IDS_CLIENTS_TITLE, IDS_CLIENTS_SUBTITLE);
+ AddPage(IDD_PROGRAM, IDS_PROGRAM_TITLE, IDS_PROGRAM_SUBTITLE);
+ AddPage(IDD_XDMCP, IDS_XDMCP_TITLE, IDS_XDMCP_SUBTITLE);
+ //AddPage(IDD_FONTPATH, IDS_FONTPATH_TITLE, IDS_FONTPATH_SUBTITLE);
+ AddPage(IDD_EXTRA, IDS_EXTRA_TITLE, IDS_EXTRA_SUBTITLE);
+ AddPage(IDD_FINISH, IDS_FINISH_TITLE, IDS_FINISH_SUBTITLE);
+ }
+
+ virtual void LoadConfig(const char *filename)
+ {
+ try {
+ config.Load(filename);
+ } catch (std::runtime_error &e)
+ {
+ char Message[255];
+ sprintf(Message,"Failure: %s\n", e.what());
+ MessageBox(NULL,Message,"Exception",MB_OK);
+ }
+ }
+
+ /// @brief Handle the PSN_WIZNEXT message.
+ /// @param hwndDlg Handle to active page dialog.
+ /// @param index Index of current page.
+ /// @return TRUE if the message was handled. FALSE otherwise.
+ virtual BOOL WizardNext(HWND hwndDlg, unsigned index)
+ {
+#ifdef _DEBUG
+ printf("%s %d\n", __FUNCTION__, index);
+#endif
+ switch (PageID(index))
+ {
+ case IDD_DISPLAY:
+ // Check for select window mode
+ if (IsDlgButtonChecked(hwndDlg, IDC_MULTIWINDOW))
+ config.window = CConfig::MultiWindow;
+ else if (IsDlgButtonChecked(hwndDlg, IDC_FULLSCREEN))
+ config.window = CConfig::Fullscreen;
+ else if (IsDlgButtonChecked(hwndDlg, IDC_WINDOWED))
+ config.window = CConfig::Windowed;
+ else if (IsDlgButtonChecked(hwndDlg, IDC_NODECORATION))
+ config.window = CConfig::Nodecoration;
+ else
+ {
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
+ return TRUE;
+ }
+ // Get selected display number
+ {
+ char buffer[512];
+ GetDlgItemText(hwndDlg, IDC_DISPLAY, buffer, 512);
+ buffer[511] = 0;
+ config.display = buffer;
+ }
+ // Check for valid input
+ if (config.display.empty())
+ {
+ MessageBox(hwndDlg,"Please fill in a display number.","Error",MB_OK);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
+ }
+ else
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS);
+ return TRUE;
+ case IDD_CLIENTS:
+ // Check for select client startup method
+ if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT))
+ {
+ config.client = CConfig::StartProgram;
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_PROGRAM);
+ } else if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP))
+ {
+ config.client = CConfig::XDMCP;
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_XDMCP);
+ } else if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT_NONE))
+ {
+ config.client = CConfig::NoClient;
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA);
+ } else
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
+ return TRUE;
+ case IDD_PROGRAM:
+ // Check wether local or remote client should be started
+ if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT_LOCAL))
+ config.local = true;
+ else if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT_REMOTE))
+ config.local = false;
+ else
+ {
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
+ return TRUE;
+ }
+ // Read program, user and host name
+ {
+ char buffer[512];
+ GetDlgItemText(hwndDlg, IDC_CLIENT_USER, buffer, 512);
+ buffer[511] = 0;
+ config.user = buffer;
+ GetDlgItemText(hwndDlg, IDC_CLIENT_HOST, buffer, 512);
+ buffer[511] = 0;
+ config.host = buffer;
+ GetDlgItemText(hwndDlg, IDC_CLIENT_PROGRAM, buffer, 512);
+ buffer[511] = 0;
+ config.localprogram = buffer;
+ GetDlgItemText(hwndDlg, IDC_CLIENT_REMOTEPROGRAM, buffer, 512);
+ buffer[511] = 0;
+ config.remoteprogram = buffer;
+ GetDlgItemText(hwndDlg, IDC_CLIENT_PASSWORD, buffer, 512);
+ buffer[511] = 0;
+ config.remotepassword = buffer;
+ GetDlgItemText(hwndDlg, IDC_CLIENT_PRIVATEKEY, buffer, 512);
+ buffer[511] = 0;
+ config.privatekey = buffer;
+ }
+ // Check for valid input
+ if (!config.local && (config.host.empty() || config.localprogram.empty() || config.remoteprogram.empty()))
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
+ else
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA);
+ return TRUE;
+ case IDD_XDMCP:
+ // Check for broadcast
+ if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP_BROADCAST))
+ config.broadcast = true;
+ else if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP_QUERY))
+ config.broadcast = false;
+ else
+ {
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
+ return TRUE;
+ }
+ // Check for indirect mode
+ if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP_INDIRECT))
+ config.indirect = true;
+ else
+ config.indirect = false;
+ // Read hostname
+ {
+ char buffer[512];
+ GetDlgItemText(hwndDlg, IDC_XDMCP_HOST, buffer, 512);
+ buffer[511] = 0;
+ config.xdmcp_host = buffer;
+ }
+ // Check for valid input
+ if (!config.broadcast && config.xdmcp_host.empty())
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
+ else
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA);
+ if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP_TERMINATE))
+ config.xdmcpterminate = true;
+ else
+ config.xdmcpterminate = false;
+ return TRUE;
+ case IDD_EXTRA:
+ // check for clipboard
+ if (IsDlgButtonChecked(hwndDlg, IDC_CLIPBOARD))
+ config.clipboard = true;
+ else
+ config.clipboard = false;
+ // check for clipboard primary selection
+ if (IsDlgButtonChecked(hwndDlg, IDC_CLIPBOARDPRIMARY))
+ config.clipboardprimary = true;
+ else
+ config.clipboardprimary = false;
+ // check for wgl
+ if (IsDlgButtonChecked(hwndDlg, IDC_WGL))
+ config.wgl = true;
+ else
+ config.wgl = false;
+ // check for access control
+ if (IsDlgButtonChecked(hwndDlg, IDC_DISABLEAC))
+ config.disableac = true;
+ else
+ config.disableac = false;
+ // read parameters
+ {
+ char buffer[512];
+ GetDlgItemText(hwndDlg, IDC_EXTRA_PARAMS, buffer, 512);
+ buffer[511] = 0;
+ config.extra_params = buffer;
+ }
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_FINISH);
+ return TRUE;
+ default:
+ break;
+ }
+ return FALSE;
+ }
+ /// @brief Handle PSN_WIZFINISH message.
+ /// @param hwndDlg Handle to active page dialog.
+ /// @param index Index of current page.
+ /// @return TRUE if the message was handled. FALSE otherwise.
+ virtual BOOL WizardFinish(HWND hwndDlg, unsigned index)
+ {
+#ifdef _DEBUG
+ printf("finish %d\n", index);
+#endif
+ return FALSE;
+ }
+ /// @brief Handle PSN_WIZBACK message.
+ /// Basicly handles switching to proper page (skipping XDMCP or program page
+ /// if required).
+ /// @param hwndDlg Handle to active page dialog.
+ /// @param index Index of current page.
+ /// @return TRUE if the message was handled. FALSE otherwise.
+ virtual BOOL WizardBack(HWND hwndDlg, unsigned index)
+ {
+ switch (PageID(index))
+ {
+ case IDD_PROGRAM:
+ case IDD_XDMCP:
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS);
+ return TRUE;
+ case IDD_FONTPATH:
+ case IDD_EXTRA: // temporary. fontpath is disabled
+ switch (config.client)
+ {
+ case CConfig::NoClient:
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS);
+ return TRUE;
+ case CConfig::StartProgram:
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_PROGRAM);
+ return TRUE;
+ case CConfig::XDMCP:
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_XDMCP);
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+ }
+ /// @brief Handle PSN_SETACTIVE message.
+ /// @param hwndDlg Handle to active page dialog.
+ /// @param index Index of current page.
+ /// @return TRUE if the message was handled. FALSE otherwise.
+ virtual BOOL WizardActivate(HWND hwndDlg, unsigned index)
+ {
+#ifdef _DEBUG
+ printf("%s %d\n", __FUNCTION__, index);
+#endif
+ switch (PageID(index))
+ {
+ case IDD_CLIENTS:
+ // Enable or disable XDMCP radiobutton and text
+ if (config.window != CConfig::MultiWindow)
+ {
+ EnableWindow(GetDlgItem(hwndDlg, IDC_XDMCP), true);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_XDMCP_DESC), true);
+ }
+ else
+ {
+ if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP))
+ CheckRadioButton(hwndDlg, IDC_CLIENT_NONE, IDC_CLIENT, IDC_CLIENT_NONE);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_XDMCP), false);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_XDMCP_DESC), false);
+ }
+ break;
+ }
+ return FALSE;
+ }
+ protected:
+ /// @brief Enable or disable the control for remote clients.
+ /// @param hwndDlg Handle to active page dialog.
+ /// @param state State of control group.
+ void EnableRemoteProgramGroup(HWND hwndDlg, BOOL state)
+ {
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_PASSWORD), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_HOST), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_USER), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_PASSWORD_DESC), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_HOST_DESC), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_USER_DESC), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_REMOTEPROGRAM), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_REMOTEPROGRAM_DESC), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_PRIVATEKEY), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_PRIVATEKEY_DESC), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_PROGRAM), !state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CLIENT_PROGRAM_DESC), !state);
+ }
+ /// @brief Enable or disable the control for XDMCP connection.
+ /// @param hwndDlg Handle to active page dialog.
+ /// @param state State of control group.
+ void EnableXDMCPQueryGroup(HWND hwndDlg, BOOL state)
+ {
+ EnableWindow(GetDlgItem(hwndDlg, IDC_XDMCP_HOST), state);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_XDMCP_INDIRECT), state);
+ }
+ /// @brief Fill program box with default values.
+ /// @param hwndDlg Handle to active page dialog.
+ void FillProgramBox(HWND hwndDlg)
+ {
+ HWND cbwnd = GetDlgItem(hwndDlg, IDC_CLIENT_PROGRAM);
+ if (cbwnd == NULL)
+ return;
+ SendMessage(cbwnd, CB_RESETCONTENT, 0, 0);
+ SendMessage(cbwnd, CB_ADDSTRING, 0, (LPARAM) "xcalc");
+ SendMessage(cbwnd, CB_ADDSTRING, 0, (LPARAM) "xclock");
+ SendMessage(cbwnd, CB_ADDSTRING, 0, (LPARAM) "xwininfo");
+ SendMessage(cbwnd, CB_SETCURSEL, 0, 0);
+ }
+ void ShowSaveDialog(HWND parent)
+ {
+ char szTitle[512];
+ char szFilter[512];
+ char szFileTitle[512];
+ char szFile[MAX_PATH];
+ HINSTANCE hInst = GetModuleHandle(NULL);
+
+ LoadString(hInst, IDS_SAVE_TITLE, szTitle, sizeof(szTitle));
+ LoadString(hInst, IDS_SAVE_FILETITLE, szFileTitle, sizeof(szFileTitle));
+ LoadString(hInst, IDS_SAVE_FILTER, szFilter, sizeof(szFilter));
+ for (unsigned i=0; szFilter[i]; i++)
+ if (szFilter[i] == '%')
+ szFilter[i] = '\0';
+
+ strcpy(szFile, "config.xlaunch");
+
+ OPENFILENAME ofn;
+ memset(&ofn, 0, sizeof(OPENFILENAME));
+ ofn.lStructSize = sizeof(OPENFILENAME);
+ ofn.hwndOwner = parent;
+ ofn.lpstrFilter = szFilter;
+ ofn.lpstrFile= szFile;
+ ofn.nMaxFile = sizeof(szFile)/ sizeof(*szFile);
+ ofn.lpstrFileTitle = szFileTitle;
+ ofn.nMaxFileTitle = sizeof(szFileTitle);
+ ofn.lpstrInitialDir = (LPSTR)NULL;
+ ofn.Flags = OFN_SHOWHELP | OFN_OVERWRITEPROMPT;
+ ofn.lpstrTitle = szTitle;
+
+ if (GetSaveFileName(&ofn))
+ {
+ try {
+ config.Save(ofn.lpstrFile);
+ } catch (std::runtime_error &e)
+ {
+ char Message[255];
+ sprintf(Message,"Failure: %s\n", e.what());
+ MessageBox(NULL,Message,"Exception",MB_OK);
+ }
+ }
+ }
+ public:
+
+ /// @brief Handle messages fo the dialog pages.
+ /// @param hwndDlg Handle of active dialog.
+ /// @param uMsg Message code.
+ /// @param wParam Message parameter.
+ /// @param lParam Message parameter.
+ /// @param psp Handle to sheet paramters.
+ virtual INT_PTR PageDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam, PROPSHEETPAGE *psp)
+ {
+ HWND hwnd;
+ switch (uMsg)
+ {
+ case WM_INITDIALOG:
+ switch (PageID(PageIndex(psp)))
+ {
+ case IDD_DISPLAY:
+ // Init display dialog. Enable correct check buttons
+ switch (config.window)
+ {
+ default:
+ case CConfig::MultiWindow:
+ CheckRadioButton(hwndDlg, IDC_MULTIWINDOW, IDC_NODECORATION, IDC_MULTIWINDOW);
+ break;
+ case CConfig::Fullscreen:
+ CheckRadioButton(hwndDlg, IDC_MULTIWINDOW, IDC_NODECORATION, IDC_FULLSCREEN);
+ break;
+ case CConfig::Windowed:
+ CheckRadioButton(hwndDlg, IDC_MULTIWINDOW, IDC_NODECORATION, IDC_WINDOWED);
+ break;
+ case CConfig::Nodecoration:
+ CheckRadioButton(hwndDlg, IDC_MULTIWINDOW, IDC_NODECORATION, IDC_NODECORATION);
+ break;
+ }
+ // Set display number
+ SetDlgItemText(hwndDlg, IDC_DISPLAY, config.display.c_str());
+ break;
+ case IDD_CLIENTS:
+ // Init client dialog. Enable correct check buttons
+ switch (config.client)
+ {
+ default:
+ case CConfig::NoClient:
+ CheckRadioButton(hwndDlg, IDC_CLIENT_NONE, IDC_CLIENT, IDC_CLIENT_NONE);
+ break;
+ case CConfig::StartProgram:
+ CheckRadioButton(hwndDlg, IDC_CLIENT_NONE, IDC_CLIENT, IDC_CLIENT);
+ break;
+ case CConfig::XDMCP:
+ CheckRadioButton(hwndDlg, IDC_CLIENT_NONE, IDC_CLIENT, IDC_XDMCP);
+ break;
+ }
+ break;
+ case IDD_PROGRAM:
+ // Init program dialog. Check local and remote buttons
+ CheckRadioButton(hwndDlg, IDC_CLIENT_LOCAL, IDC_CLIENT_REMOTE, config.local?IDC_CLIENT_LOCAL:IDC_CLIENT_REMOTE);
+ EnableRemoteProgramGroup(hwndDlg, config.local?FALSE:TRUE);
+ // Fill combo boxes
+ FillProgramBox(hwndDlg);
+ // Set edit fields
+ SetDlgItemText(hwndDlg, IDC_CLIENT_PROGRAM, config.localprogram.c_str());
+ SetDlgItemText(hwndDlg, IDC_CLIENT_REMOTEPROGRAM, config.remoteprogram.c_str());
+ SetDlgItemText(hwndDlg, IDC_CLIENT_USER, config.user.c_str());
+ SetDlgItemText(hwndDlg, IDC_CLIENT_HOST, config.host.c_str());
+ SetDlgItemText(hwndDlg, IDC_CLIENT_PASSWORD, config.remotepassword.c_str());
+ SetDlgItemText(hwndDlg, IDC_CLIENT_PRIVATEKEY, config.privatekey.c_str());
+ break;
+ case IDD_XDMCP:
+ // Init XDMCP dialog. Check broadcast and indirect button
+ CheckRadioButton(hwndDlg, IDC_XDMCP_QUERY, IDC_XDMCP_BROADCAST, config.broadcast?IDC_XDMCP_BROADCAST:IDC_XDMCP_QUERY);
+ CheckDlgButton(hwndDlg, IDC_XDMCP_INDIRECT, config.indirect?BST_CHECKED:BST_UNCHECKED);
+ EnableXDMCPQueryGroup(hwndDlg, config.broadcast?FALSE:TRUE);
+ // Set hostname
+ SetDlgItemText(hwndDlg, IDC_XDMCP_HOST, config.xdmcp_host.c_str());
+ CheckDlgButton(hwndDlg, IDC_XDMCP_TERMINATE, config.xdmcpterminate?BST_CHECKED:BST_UNCHECKED);
+ break;
+ case IDD_EXTRA:
+ CheckDlgButton(hwndDlg, IDC_CLIPBOARD, config.clipboard?BST_CHECKED:BST_UNCHECKED);
+ CheckDlgButton(hwndDlg, IDC_CLIPBOARDPRIMARY, config.clipboardprimary?BST_CHECKED:BST_UNCHECKED);
+ CheckDlgButton(hwndDlg, IDC_WGL, config.wgl?BST_CHECKED:BST_UNCHECKED);
+ CheckDlgButton(hwndDlg, IDC_DISABLEAC, config.disableac?BST_CHECKED:BST_UNCHECKED);
+ SetDlgItemText(hwndDlg, IDC_EXTRA_PARAMS, config.extra_params.c_str());
+ break;
+
+ }
+ case WM_COMMAND:
+ // Handle control messages
+ switch (LOWORD(wParam))
+ {
+ // Handle clicks on images. Check proper radiobutton
+ case IDC_MULTIWINDOW_IMG:
+ case IDC_FULLSCREEN_IMG:
+ case IDC_WINDOWED_IMG:
+ case IDC_NODECORATION_IMG:
+ CheckRadioButton(hwndDlg, IDC_MULTIWINDOW, IDC_NODECORATION, LOWORD(wParam)-4);
+ SetFocus(GetDlgItem(hwndDlg, LOWORD(wParam)-4));
+ break;
+ // Disable unavailable controls
+ case IDC_CLIENT_REMOTE:
+ case IDC_CLIENT_LOCAL:
+ EnableRemoteProgramGroup(hwndDlg, LOWORD(wParam) == IDC_CLIENT_REMOTE);
+ break;
+ case IDC_XDMCP_QUERY:
+ case IDC_XDMCP_BROADCAST:
+ EnableXDMCPQueryGroup(hwndDlg, LOWORD(wParam) == IDC_XDMCP_QUERY);
+ break;
+ case IDC_FINISH_SAVE:
+ ShowSaveDialog(hwndDlg);
+ break;
+ }
+ }
+ // pass messages to parent
+ return CWizard::PageDispatch(hwndDlg, uMsg, wParam, lParam, psp);
+ }
+
+ /// @brief Try to connect to server.
+ /// Repeat until successful, server died or maximum number of retries
+ /// reached.
+ Display *WaitForServer(HANDLE serverProcess)
+ {
+ int ncycles = 120; /* # of cycles to wait */
+ int cycles; /* Wait cycle count */
+ Display *xd;
+
+ for (cycles = 0; cycles < ncycles; cycles++) {
+ if ((xd = XOpenDisplay(NULL))) {
+ return xd;
+ }
+ else {
+ if (WaitForSingleObject(serverProcess, 1000) == WAIT_TIMEOUT)
+ continue;
+ }
+ }
+ return NULL;
+ }
+
+ /// @brief Do the actual start of VCXsrv and clients
+ void StartUp()
+ {
+ std::string buffer;
+ std::string client;
+
+ // Construct display strings
+ int DisplayNbr=atoi(config.display.c_str());
+ std::string display_id = ":" + config.display;
+ std::string display = "DISPLAY=127.0.0.1" + display_id + ".0";
+
+ // Build Xsrv commandline
+ buffer = "vcxsrv ";
+ if (DisplayNbr!=-1)
+ buffer += display_id + " ";
+ switch (config.window)
+ {
+ case CConfig::MultiWindow:
+ buffer += "-multiwindow ";
+ break;
+ case CConfig::Fullscreen:
+ buffer += "-fullscreen ";
+ break;
+ case CConfig::Nodecoration:
+ buffer += "-nodecoration ";
+ break;
+ default:
+ break;
+ }
+ // Add XDMCP parameter
+ if (config.client == CConfig::XDMCP)
+ {
+ if (config.broadcast)
+ buffer += "-broadcast ";
+ else
+ {
+ if (config.indirect)
+ buffer += "-indirect ";
+ else
+ buffer += "-query ";
+ buffer += config.xdmcp_host;
+ buffer += " ";
+ }
+ if (config.xdmcpterminate)
+ buffer += "-terminate ";
+ }
+ if (config.clipboard)
+ buffer += "-clipboard ";
+ if (!config.clipboardprimary)
+ buffer += "-noclipboardprimary ";
+ if (config.wgl)
+ buffer += "-wgl ";
+ else
+ buffer += "-nowgl ";
+ if (config.disableac)
+ buffer += "-ac ";
+ if (!config.extra_params.empty())
+ {
+ buffer += config.extra_params;
+ buffer += " ";
+ }
+
+ int *pDisplayfd;
+ if (DisplayNbr==-1)
+ {
+ // Pass the handle of some shared memory to vcxsrv to getting back the display nbr
+ SECURITY_ATTRIBUTES sa;
+ sa.nLength=sizeof(sa);
+ sa.lpSecurityDescriptor=NULL;
+ sa.bInheritHandle=TRUE;
+ HANDLE hDisplayFdMem=CreateFileMapping(INVALID_HANDLE_VALUE, &sa, PAGE_READWRITE, 0, sizeof(int), NULL);
+ pDisplayfd=(int*)MapViewOfFile(hDisplayFdMem, FILE_MAP_READ|FILE_MAP_WRITE, 0, 0, 0);
+ *pDisplayfd=-1; // Not yet initialised
+ buffer+="-displayfd ";
+ std::stringstream ss;
+ ss<<(int)hDisplayFdMem;
+ buffer+=ss.str();
+ }
+ // Construct client commandline
+ if (config.client == CConfig::StartProgram)
+ {
+ if (!config.local)
+ {
+ char cmdline[512];
+ std::string host = config.host;
+ std::string remotepassword;
+ if (!config.user.empty())
+ host = config.user + "@" + config.host;
+ if (!config.remotepassword.empty())
+ remotepassword=std::string(" -pw ")+config.remotepassword;
+ if (!config.privatekey.empty())
+ remotepassword+=std::string(" -i \"")+config.privatekey+"\"";
+ _snprintf(cmdline,512,"plink -ssh -X%s %s %s",
+ remotepassword.c_str(), host.c_str(),config.remoteprogram.c_str());
+ client += cmdline;
+ }
+ else
+ {
+ client += config.localprogram.c_str();
+ }
+ }
+
+ // Prepare program startup
+ STARTUPINFO si, sic;
+ PROCESS_INFORMATION pi, pic;
+ DWORD hcount = 0;
+ Display *dpy = NULL;
+
+ ZeroMemory( &si, sizeof(si) );
+ si.cb = sizeof(si);
+ ZeroMemory( &pi, sizeof(pi) );
+ ZeroMemory( &sic, sizeof(sic) );
+ sic.cb = sizeof(sic);
+ ZeroMemory( &pic, sizeof(pic) );
+
+ // Start VCXsrv process.
+#ifdef _DEBUG
+ printf("%s\n", buffer.c_str());
+#endif
+ char CurDir[MAX_PATH];
+ GetModuleFileName(NULL,CurDir,MAX_PATH);
+ *strrchr(CurDir,'\\')=0;
+
+ if( !CreateProcess( NULL, (CHAR*)buffer.c_str(), NULL, NULL,
+ TRUE, 0, NULL, CurDir, &si, &pi ))
+ throw win32_error("CreateProcess failed");
+
+ if (!client.empty())
+ {
+ if (DisplayNbr==-1)
+ {
+ // Wait maximum 10 seconds
+ int Count=1000;
+ while (-1==*pDisplayfd)
+ {
+ if (Count-- < 0)
+ throw std::runtime_error("Connection to server failed");
+ Sleep(10);
+ }
+ std::stringstream ss;
+ ss<<*pDisplayfd;
+ display_id = ":" + ss.str();
+ display = "DISPLAY=127.0.0.1" + display_id + ".0";
+ }
+ // Set DISPLAY variable
+ _putenv(display.c_str());
+
+ // Wait for server to startup
+ dpy = WaitForServer(pi.hProcess);
+ if (dpy == NULL)
+ {
+ TerminateProcess(pi.hProcess, (DWORD)-1);
+ throw std::runtime_error("Connection to server failed");
+ }
+
+#ifdef _DEBUG
+ printf("%s\n", client.c_str());
+#endif
+
+ // Start the child process.
+
+ #if 1
+ // Create a console, otherwise some commands will not execute with plink
+ HWINSTA h=GetProcessWindowStation();
+ HWND hConsoleWnd=NULL;
+ if (h)
+ {
+ AllocConsole();
+ hConsoleWnd=GetConsoleWindow();
+ ShowWindow(hConsoleWnd, SW_HIDE ); // make it hidden, the disadvantage of this method is that the console window flashes
+ // but we must be able to show it when the client puts some output
+ }
+
+ HANDLE hChildStdinRd;
+ HANDLE hChildStdinWr;
+ HANDLE hChildStdoutRd;
+ HANDLE hChildStdoutWr;
+ SECURITY_ATTRIBUTES saAttr;
+ BOOL fSuccess;
+
+ saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
+ saAttr.bInheritHandle = TRUE;
+ saAttr.lpSecurityDescriptor = NULL;
+
+ if (!CreatePipe(&hChildStdinRd, &hChildStdinWr, &saAttr, 0))
+ throw win32_error("CreatePipe failed", GetLastError());
+
+ // Ensure the write handle to the pipe for STDIN is not inherited.
+ if ( ! SetHandleInformation(hChildStdinWr, HANDLE_FLAG_INHERIT, 0) )
+ throw win32_error("SetHandleInformation failed", GetLastError());
+
+ if (!CreatePipe(&hChildStdoutRd, &hChildStdoutWr, &saAttr, 0))
+ throw win32_error("CreatePipe failed", GetLastError());
+
+ // Ensure the read handle to the pipe for STDOUT is not inherited.
+ if ( ! SetHandleInformation(hChildStdoutRd, HANDLE_FLAG_INHERIT, 0) )
+ throw win32_error("SetHandleInformation failed", GetLastError());
+
+ sic.dwFlags = STARTF_USESTDHANDLES;
+ sic.hStdInput = hChildStdinRd;
+ sic.hStdOutput = hChildStdoutWr;
+ sic.hStdError = hChildStdoutWr;
+
+ if (!CreateProcess(NULL,(CHAR*)client.c_str(),NULL,NULL,TRUE,0,NULL, CurDir, &sic, &pic))
+ {
+ DWORD err = GetLastError();
+ TerminateProcess(pi.hProcess, (DWORD)-1);
+ throw win32_error("CreateProcess failed", err);
+ }
+ CloseHandle(hChildStdinRd);
+ CloseHandle(hChildStdoutWr);
+ CloseHandle(pic.hThread);
+
+ int hStdIn = _open_osfhandle((long)hChildStdinWr, _O_WRONLY|_O_BINARY);
+ int hStdOut = _open_osfhandle((long)hChildStdoutRd, _O_RDONLY|_O_BINARY);
+ HANDLE hConsoleInput=GetStdHandle(STD_INPUT_HANDLE);
+ HANDLE hConsoleOutput=GetStdHandle(STD_OUTPUT_HANDLE);
+ SetConsoleMode(hConsoleInput, 0); // Needed to disable local echo, and return only upon carriage return of read function
+ while (1)
+ {
+ if (!WaitForSingleObject(pic.hProcess, 20 ))
+ {
+ // Child does not exist anymore, but it could be that there is still error output in the pipes
+ // So wait some time, that then check the output again
+ Sleep(500);
+ CheckOutput(hChildStdoutRd, hStdOut, hStdIn);
+ break;
+ }
+ if (!WaitForSingleObject(pi.hProcess, 0))
+ {
+ TerminateProcess(pic.hProcess, (DWORD)-1);
+ break;
+ }
+ CheckOutput(hChildStdoutRd, hStdOut, hStdIn);
+ }
+ #else
+ // Hide a console window
+ // FIXME: This may make it impossible to enter the password
+ sic.dwFlags = STARTF_USESHOWWINDOW;
+ sic.wShowWindow = SW_HIDE;
+
+ if( !CreateProcess( NULL, (CHAR*)client.c_str(), NULL, NULL,
+ FALSE, 0, NULL, CurDir, &sic, &pic ))
+ {
+ DWORD err = GetLastError();
+ while (hcount--)
+ TerminateProcess(handles[hcount], (DWORD)-1);
+ throw win32_error("CreateProcess failed", err);
+ }
+ CloseHandle( pic.hThread );
+ #endif
+ }
+
+ // Wait until child process exits.
+ DWORD ret = WaitForSingleObject(pic.hProcess, INFINITE );
+
+#ifdef _DEBUG
+ printf("killing process!\n");
+#endif
+ // Check if Xsrv is still running, but only when we started a local program
+ if (config.local)
+ {
+ DWORD exitcode;
+ GetExitCodeProcess(pi.hProcess, &exitcode);
+ unsigned counter = 0;
+ while (exitcode == STILL_ACTIVE)
+ {
+ if (++counter > 10)
+ TerminateProcess(pi.hProcess, (DWORD)-1);
+ else
+ // Shutdown Xsrv (the soft way!)
+ EnumThreadWindows(pi.dwThreadId, KillWindowsProc, 0);
+ Sleep(500);
+ GetExitCodeProcess(pi.hProcess, &exitcode);
+ }
+ }
+
+ // Close process and thread handles.
+ CloseHandle( pi.hProcess );
+ CloseHandle( pi.hThread );
+ CloseHandle( pic.hProcess );
+ }
+};
+
+int main(int argc, char **argv)
+{
+ try {
+ InitCommonControls();
+ CMyWizard dialog;
+
+ bool skip_wizard = false;
+
+ for (int i = 1; i < argc; i++)
+ {
+ if (argv[i] == NULL)
+ continue;
+
+ std::string arg(argv[i]);
+ if (arg == "-load" && i + 1 < argc)
+ {
+ i++;
+ dialog.LoadConfig(argv[i]);
+ continue;
+ }
+ if (arg == "-run" && i + 1 < argc)
+ {
+ i++;
+ dialog.LoadConfig(argv[i]);
+ skip_wizard = true;
+ continue;
+ }
+ }
+
+ int ret = 0;
+ if (skip_wizard || (ret =dialog.ShowModal()) != 0)
+ dialog.StartUp();
+#ifdef _DEBUG
+ printf("return %d\n", ret);
+#endif
+ return 0;
+ } catch (std::runtime_error &e)
+ {
+ char Message[255];
+ sprintf(Message,"Failure: %s\n", e.what());
+ MessageBox(NULL,Message,"Exception",MB_OK);
+ return -1;
+ }
+}
diff --git a/xorg-server/hw/xwin/xlaunch/makefile b/xorg-server/hw/xwin/xlaunch/makefile
new file mode 100644
index 000000000..83426fe19
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/makefile
@@ -0,0 +1,22 @@
+INCLUDELIBFILES = window\$(OBJDIR)\window.lib \
+ $(MHMAKECONF)\libX11\$(OBJDIR)\libX11.lib \
+ $(MHMAKECONF)\libxcb\src\$(OBJDIR)\libxcb.lib \
+ $(MHMAKECONF)\libXau\$(OBJDIR)\libXau.lib
+
+CSRCS=config.cc main.cc
+
+INCLUDES += $(MHMAKECONF)\libxml2\include
+
+WINAPP = xlaunch
+
+RESOURCES = resources.rc
+
+$(OBJDIR)\%.res : resources\%.rc $(wildcard resources\*.rc)
+ $(RC) $(RCFLAGS) $(RCDEFINES:%=-d "%") $(RCINCLUDES:%=-i %) -Fo$(relpath $@) $<
+
+LIBDIRS=$(dir $(INCLUDELIBFILES))
+
+load_makefile $(LIBDIRS:%$(OBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+LINKLIBS += $(LIBXMLLIB) $(PTHREADLIB)
+
diff --git a/xorg-server/hw/xwin/xlaunch/resources/dialog.rc b/xorg-server/hw/xwin/xlaunch/resources/dialog.rc
new file mode 100644
index 000000000..3435329b2
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/dialog.rc
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#include <windows.h>
+#include "resources.h"
+
+#ifndef STR_CAPTION_DISPLAY
+#include "strings.rc"
+#endif
+
+IDD_DISPLAY DIALOGEX 0, 0, 317, 143
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTERMOUSE
+CAPTION STR_CAPTION_DISPLAY
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ AUTORADIOBUTTON STR_MULTIWINDOW,IDC_MULTIWINDOW,7,25,70,24,BS_MULTILINE|BS_TOP
+ AUTORADIOBUTTON STR_FULLSCREEN,IDC_FULLSCREEN,157,25,70,24,BS_MULTILINE|BS_TOP
+ AUTORADIOBUTTON STR_WINDOWED,IDC_WINDOWED,7,75,70,24,BS_MULTILINE|BS_TOP
+ AUTORADIOBUTTON STR_NODECORATION,IDC_NODECORATION,157,75,70,24,BS_MULTILINE|BS_TOP
+
+ CONTROL "IMG_MULTIWINDOW",IDC_MULTIWINDOW_IMG,"Static",SS_BITMAP | SS_NOTIFY,80,10,0,0
+ CONTROL "IMG_FULLSCREEN",IDC_FULLSCREEN_IMG,"Static",SS_BITMAP | SS_NOTIFY,230,10,0,0
+ CONTROL "IMG_WINDOWED",IDC_WINDOWED_IMG,"Static",SS_BITMAP | SS_NOTIFY,80,60,0,0
+ CONTROL "IMG_NODECORATION",IDC_NODECORATION_IMG,"Static",SS_BITMAP | SS_NOTIFY,230,60,0,0
+
+ LTEXT STR_DISPLAY_DESC,IDC_DISPLAY_DESC,7,120,64,12
+ LTEXT STR_DISPLAY_EXTRA_DESC,IDC_DISPLAY_EXTRA_DESC,7,132,200,12
+ EDITTEXT IDC_DISPLAY,80,118,67,12
+END
+
+IDD_CLIENTS DIALOGEX 0, 0, 317, 143
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTERMOUSE
+CAPTION STR_CAPTION_CLIENTS
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ AUTORADIOBUTTON STR_CLIENT_NONE,IDC_CLIENT_NONE,7,14,300,10
+ AUTORADIOBUTTON STR_CLIENT,IDC_CLIENT,7,56,300,10
+ AUTORADIOBUTTON STR_XDMCP,IDC_XDMCP,7,98,300,10
+
+ LTEXT STR_CLIENT_NONE_DESC,IDC_CLIENT_NONE_DESC,19,28,280,27
+ LTEXT STR_CLIENT_DESC,IDC_CLIENT_DESC,19,70,280,27
+ LTEXT STR_XDMCP_DESC,IDC_XDMCP_DESC,19,112,280,27
+END
+
+IDD_PROGRAM DIALOGEX 0, 0, 317, 143
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTERMOUSE
+CAPTION STR_CAPTION_PROGRAM
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ AUTORADIOBUTTON STR_CLIENT_LOCAL,IDC_CLIENT_LOCAL,7,14,300,10
+ AUTORADIOBUTTON STR_CLIENT_REMOTE,IDC_CLIENT_REMOTE,7,50,300,10
+
+ LTEXT STR_CLIENT_PROGRAM_DESC,IDC_CLIENT_PROGRAM_DESC,19,28,64,10
+ COMBOBOX IDC_CLIENT_PROGRAM,110,26,64,54,CBS_DROPDOWN | WS_VSCROLL
+
+
+ LTEXT STR_CLIENT_REMOTEPROGRAM_DESC,IDC_CLIENT_REMOTEPROGRAM_DESC,19,64,70,10
+ EDITTEXT IDC_CLIENT_REMOTEPROGRAM,110,62,200,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
+
+ LTEXT STR_CLIENT_PASSWORD_DESC,IDC_CLIENT_PASSWORD_DESC,19,78,70,10
+ EDITTEXT IDC_CLIENT_PASSWORD,110,76,64,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
+
+
+ LTEXT STR_CLIENT_HOST_DESC,IDC_CLIENT_HOST_DESC,19,92,70,10
+ EDITTEXT IDC_CLIENT_HOST,110,90,64,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
+
+ LTEXT STR_CLIENT_USER_DESC,IDC_CLIENT_USER_DESC,19,106,70,10
+ EDITTEXT IDC_CLIENT_USER,110,104,64,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
+
+ LTEXT STR_CLIENT_PRIVATEKEY_DESC,IDC_CLIENT_PRIVATEKEY_DESC,19,120,90,10
+ EDITTEXT IDC_CLIENT_PRIVATEKEY,110,118,200,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
+END
+
+IDD_XDMCP DIALOGEX 0, 0, 317, 143
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTERMOUSE
+CAPTION STR_CAPTION_XDMCP
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ AUTORADIOBUTTON STR_XDMCP_QUERY, IDC_XDMCP_QUERY,7,14,64,10
+ EDITTEXT IDC_XDMCP_HOST,78,12,64,12
+ AUTOCHECKBOX STR_XDMCP_INDIRECT,IDC_XDMCP_INDIRECT,19,28,280,10
+ AUTORADIOBUTTON STR_XDMCP_BROADCAST, IDC_XDMCP_BROADCAST,7,42,300,10
+ LTEXT STR_XDMCP_QUERY_DESC,IDC_XDMCP_QUERY_DESC,7,66,300,42
+ AUTOCHECKBOX STR_XDMCP_TERMINATE,IDC_XDMCP_TERMINATE,7,94,300,10
+END
+
+IDD_EXTRA DIALOGEX 0, 0, 317, 143
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTERMOUSE
+CAPTION STR_CAPTION_EXTRA
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ AUTOCHECKBOX STR_CLIPBOARD,IDC_CLIPBOARD,7,10,300,10
+ LTEXT STR_CLIPBOARD_DESC,IDC_CLIPBOARD_DESC,19,20,280,27
+
+ AUTOCHECKBOX STR_CLIPBOARDPRIMARY,IDC_CLIPBOARDPRIMARY,19,30,300,10
+ LTEXT STR_CLIPBOARDPRIMARY_DESC,IDC_CLIPBOARDPRIMARY_DESC,31,40,280,27
+
+ AUTOCHECKBOX STR_WGL,IDC_WGL,7,52,300,10
+ LTEXT STR_WGL_DESC,IDC_WGL_DESC,19,62,280,27
+
+ AUTOCHECKBOX STR_DISABLEAC,IDC_DISABLEAC,7,82,300,10
+ LTEXT STR_DISABLEAC_DESC,IDC_DISABLEAC_DESC,19,92,280,27
+
+ LTEXT STR_EXTRA_PARAMS_DESC,IDC_EXTRA_PARAMS_DESC,7,105,280,10
+ EDITTEXT IDC_EXTRA_PARAMS,7,115,300,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
+END
+
+IDD_FINISH DIALOGEX 0, 0, 317, 143
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTERMOUSE
+CAPTION STR_CAPTION_FINISH
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ LTEXT STR_FINISH_DESC,IDC_FINISH_DESC,7,14,300,28
+ LTEXT STR_FINISH_SAVE_DESC,IDC_FINISH_SAVE_DESC,7,56,300,12
+ PUSHBUTTON STR_FINISH_SAVE,IDC_FINISH_SAVE,7,68,75,14
+END
+
+/* Prompting dialog */
+IDD_PROMPT DIALOGEX 32, 32, 260, 115
+STYLE DS_SETFONT | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION
+EXSTYLE WS_EX_NOPARENTNOTIFY
+CAPTION "Input requested?"
+FONT 8, "MS Shell Dlg 2", 0, 0, 0x1
+BEGIN
+ LTEXT "",IDC_PROMPT_DESC,7,7,245,50, WS_BORDER
+ EDITTEXT IDC_INPUT,7,67,245,12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL | ES_PASSWORD
+ AUTOCHECKBOX "Show Characters", IDC_PASSWORD, 7,77,245,12, WS_TABSTOP
+ DEFPUSHBUTTON "OK",IDOK,61,95,50,15, WS_TABSTOP
+ PUSHBUTTON "Cancel",IDCANCEL,147,95,50,14, WS_TABSTOP
+END
+
diff --git a/xorg-server/hw/xwin/xlaunch/resources/fullscreen.bmp b/xorg-server/hw/xwin/xlaunch/resources/fullscreen.bmp
new file mode 100644
index 000000000..0d051f0b4
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/fullscreen.bmp
Binary files differ
diff --git a/xorg-server/hw/xwin/xlaunch/resources/images.rc b/xorg-server/hw/xwin/xlaunch/resources/images.rc
new file mode 100644
index 000000000..2eac53c93
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/images.rc
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+IMG_MULTIWINDOW BITMAP "resources\\multiwindow.bmp"
+IMG_WINDOWED BITMAP "resources\\windowed.bmp"
+IMG_FULLSCREEN BITMAP "resources\\fullscreen.bmp"
+IMG_NODECORATION BITMAP "resources\\nodecoration.bmp"
diff --git a/xorg-server/hw/xwin/xlaunch/resources/multiwindow.bmp b/xorg-server/hw/xwin/xlaunch/resources/multiwindow.bmp
new file mode 100644
index 000000000..0755c87b4
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/multiwindow.bmp
Binary files differ
diff --git a/xorg-server/hw/xwin/xlaunch/resources/nodecoration.bmp b/xorg-server/hw/xwin/xlaunch/resources/nodecoration.bmp
new file mode 100644
index 000000000..e9e1ce690
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/nodecoration.bmp
Binary files differ
diff --git a/xorg-server/hw/xwin/xlaunch/resources/resources.h b/xorg-server/hw/xwin/xlaunch/resources/resources.h
new file mode 100644
index 000000000..256ebb9fa
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/resources.h
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#define IDC_STATIC -1
+
+#define IDD_WELCOME 100
+#define IDD_FINISH 101
+#define IDD_DISPLAY 102
+#define IDD_CLIENTS 103
+#define IDD_PROGRAM 104
+#define IDD_XDMCP 105
+#define IDD_FONTPATH 106
+#define IDD_EXTRA 107
+
+#define IDI_XLAUNCH 108
+
+#define IDC_MULTIWINDOW 200
+#define IDC_WINDOWED 201
+#define IDC_FULLSCREEN 202
+#define IDC_NODECORATION 203
+#define IDC_MULTIWINDOW_IMG 204
+#define IDC_WINDOWED_IMG 205
+#define IDC_FULLSCREEN_IMG 206
+#define IDC_NODECORATION_IMG 207
+#define IDC_DISPLAY 208
+#define IDC_DISPLAY_DESC 209
+#define IDC_DISPLAY_EXTRA_DESC 210
+
+#define IDC_CLIENT_NONE 211
+#define IDC_XDMCP 212
+#define IDC_CLIENT 213
+#define IDC_CLIENT_LOCAL 214
+#define IDC_CLIENT_REMOTE 215
+#define IDC_CLIENT_HOST 216
+#define IDC_CLIENT_USER 217
+#define IDC_CLIENT_PASSWORD 218
+#define IDC_CLIENT_CONFIGURE 219
+#define IDC_CLIENT_PROGRAM 220
+#define IDC_XDMCP_QUERY 221
+#define IDC_XDMCP_BROADCAST 222
+#define IDC_XDMCP_INDIRECT 223
+#define IDC_XDMCP_HOST 224
+#define IDC_CLIENT_NONE_DESC 225
+#define IDC_XDMCP_DESC 226
+#define IDC_CLIENT_DESC 227
+#define IDC_XDMCP_QUERY_DESC 228
+#define IDC_CLIENT_PROGRAM_DESC 229
+#define IDC_CLIENT_HOST_DESC 230
+#define IDC_CLIENT_USER_DESC 231
+#define IDC_CLIENT_PASSWORD_DESC 232
+#define IDC_CLIENT_REMOTEPROGRAM 233
+#define IDC_CLIENT_REMOTEPROGRAM_DESC 234
+#define IDC_CLIENT_PRIVATEKEY 235
+#define IDC_CLIENT_PRIVATEKEY_DESC 236
+
+#define IDC_FONTPATH_DESC 240
+
+#define IDC_FINISH_DESC 250
+#define IDC_FINISH_SAVE 251
+#define IDC_FINISH_SAVE_DESC 252
+
+#define IDC_CLIPBOARD 260
+#define IDC_CLIPBOARD_DESC 261
+#define IDC_EXTRA_PARAMS 262
+#define IDC_EXTRA_PARAMS_DESC 263
+#define IDC_WGL 264
+#define IDC_WGL_DESC 265
+#define IDC_CLIPBOARDPRIMARY 266
+#define IDC_CLIPBOARDPRIMARY_DESC 267
+#define IDC_DISABLEAC 268
+#define IDC_DISABLEAC_DESC 269
+#define IDC_XDMCP_TERMINATE 270
+
+#define IDC_PROMPT_DESC 280
+#define IDC_INPUT 281
+#define IDC_PASSWORD 282
+
+#define IDS_DISPLAY_TITLE 300
+#define IDS_DISPLAY_SUBTITLE 301
+#define IDS_CLIENTS_TITLE 302
+#define IDS_CLIENTS_SUBTITLE 303
+#define IDS_PROGRAM_TITLE 304
+#define IDS_PROGRAM_SUBTITLE 305
+#define IDS_XDMCP_TITLE 306
+#define IDS_XDMCP_SUBTITLE 307
+#define IDS_FONTPATH_TITLE 308
+#define IDS_FONTPATH_SUBTITLE 309
+#define IDS_FINISH_TITLE 310
+#define IDS_FINISH_SUBTITLE 311
+#define IDS_EXTRA_TITLE 312
+#define IDS_EXTRA_SUBTITLE 313
+#define IDS_SAVE_TITLE 320
+#define IDS_SAVE_FILETITLE 321
+#define IDS_SAVE_FILTER 322
+
diff --git a/xorg-server/hw/xwin/xlaunch/resources/resources.rc b/xorg-server/hw/xwin/xlaunch/resources/resources.rc
new file mode 100644
index 000000000..e3df4610a
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/resources.rc
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#include <windows.h>
+
+#include "resources.h"
+#include "images.rc"
+#include "dialog.rc"
+
+IDI_XLAUNCH ICON "..\\..\\X.ico"
diff --git a/xorg-server/hw/xwin/xlaunch/resources/strings.rc b/xorg-server/hw/xwin/xlaunch/resources/strings.rc
new file mode 100644
index 000000000..f34f46208
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/strings.rc
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#define STR_CAPTION_DISPLAY "Display settings"
+#define STR_MULTIWINDOW "Multiple windows"
+#define STR_FULLSCREEN "Fullscreen"
+#define STR_WINDOWED "One large window"
+#define STR_NODECORATION "One window without titlebar"
+#define STR_DISPLAY_DESC "Display number"
+#define STR_DISPLAY_EXTRA_DESC "(Specify -1 to let vcxsrv automatically choose one)"
+
+#define STR_CAPTION_CLIENTS "Client startup"
+#define STR_CLIENT_NONE "Start no client"
+#define STR_CLIENT_NONE_DESC "This will just start the xserver. You will be able to start local clients later."
+#define STR_CLIENT "Start a program"
+#define STR_CLIENT_DESC "This will start a local or remote program which will connect to the xserver. You will be able to start local clients later too. Remote programs are started using SSH."
+#define STR_XDMCP "Open session via XDMCP"
+#define STR_XDMCP_DESC "This will start a remote XDMCP session. Starting local clients later is limited. This option is not available with the ""Multiple windows"" mode."
+
+#define STR_CAPTION_PROGRAM "Start program"
+#define STR_CLIENT_PROGRAM_DESC "Local program"
+#define STR_CLIENT_LOCAL "Start program on this computer"
+#define STR_CLIENT_REMOTE "Start program on remote computer"
+#define STR_CLIENT_PASSWORD_DESC "Password"
+#define STR_CLIENT_HOST_DESC "Connect to computer"
+#define STR_CLIENT_USER_DESC "Login as user"
+
+#define STR_CLIENT_REMOTEPROGRAM_DESC "Remote program"
+#define STR_CLIENT_PRIVATEKEY_DESC "Private key (putty format)"
+
+
+#define STR_CAPTION_XDMCP "XDMCP settings"
+#define STR_XDMCP_QUERY "Connect to host"
+#define STR_XDMCP_INDIRECT "Use indirect connect"
+#define STR_XDMCP_BROADCAST "Search for hosts (broadcast)"
+#define STR_XDMCP_QUERY_DESC "Some XDMCP servers must be configured to allow remote connections. Please check the documentation about configuring XDMCP servers."
+
+
+#define STR_CAPTION_FONTPATH "Fontpath settings"
+
+#define STR_CAPTION_EXTRA "Extra settings"
+#define STR_CLIPBOARD "Clipboard"
+#define STR_CLIPBOARD_DESC "Start the integrated clipboard manager"
+#define STR_CLIPBOARDPRIMARY "Primary Selection"
+#define STR_CLIPBOARDPRIMARY_DESC "Also map the PRIMARY selection to the windows clipboard."
+#define STR_WGL "Native opengl"
+#define STR_WGL_DESC "Use the native windows opengl library (wgl). Make sure to export the LIBGL_ALWAYS_INDIRECT environment variable."
+#define STR_EXTRA_PARAMS_DESC "Additional parameters for VcXsrv"
+
+#define STR_DISABLEAC "Disable access control"
+#define STR_DISABLEAC_DESC "Use this when you want vcxsrv to accept connections from all clients."
+
+#define STR_XDMCP_TERMINATE "Terminate on server reset."
+
+#define STR_CAPTION_FINISH "Finish configuration"
+#define STR_FINISH_DESC "Configuration is complete. Click Finish to start VcXsrv."
+#define STR_FINISH_SAVE_DESC "You may also save the configuration for later use."
+#define STR_FINISH_SAVE "Save configuration"
+
+#define STR_DISPLAY_TITLE "Select display settings"
+#define STR_DISPLAY_SUBTITLE "Choose how VcXsrv display programs"
+#define STR_CLIENTS_TITLE "Select how to start clients"
+#define STR_CLIENTS_SUBTITLE ""
+#define STR_PROGRAM_TITLE "Specify the program to start"
+#define STR_PROGRAM_SUBTITLE ""
+#define STR_XDMCP_TITLE "Configure a remote XDMCP connection"
+#define STR_XDMCP_SUBTITLE ""
+#define STR_FONTPATH_TITLE "Define font locations"
+#define STR_FONTPATH_SUBTITLE ""
+#define STR_FINISH_TITLE "Configuration complete"
+#define STR_FINISH_SUBTITLE ""
+#define STR_EXTRA_TITLE "Extra settings"
+#define STR_EXTRA_SUBTITLE ""
+
+#define STR_SAVE_TITLE "Save configuration"
+#define STR_SAVE_FILETITLE "Filename"
+#define STR_SAVE_FILTER "Xlaunch Files (*.xlaunch)%*.xlaunch%%"
+
+STRINGTABLE
+BEGIN
+ IDS_DISPLAY_TITLE STR_DISPLAY_TITLE
+ IDS_DISPLAY_SUBTITLE STR_DISPLAY_SUBTITLE
+ IDS_CLIENTS_TITLE STR_CLIENTS_TITLE
+ IDS_CLIENTS_SUBTITLE STR_CLIENTS_SUBTITLE
+ IDS_PROGRAM_TITLE STR_PROGRAM_TITLE
+ IDS_PROGRAM_SUBTITLE STR_PROGRAM_SUBTITLE
+ IDS_XDMCP_TITLE STR_XDMCP_TITLE
+ IDS_XDMCP_SUBTITLE STR_XDMCP_SUBTITLE
+ IDS_FONTPATH_TITLE STR_FONTPATH_TITLE
+ IDS_FONTPATH_SUBTITLE STR_FONTPATH_SUBTITLE
+ IDS_FINISH_TITLE STR_FINISH_TITLE
+ IDS_FINISH_SUBTITLE STR_FINISH_SUBTITLE
+ IDS_EXTRA_TITLE STR_EXTRA_TITLE
+ IDS_EXTRA_SUBTITLE STR_EXTRA_SUBTITLE
+ IDS_SAVE_TITLE STR_SAVE_TITLE
+ IDS_SAVE_FILETITLE STR_SAVE_FILETITLE
+ IDS_SAVE_FILTER STR_SAVE_FILTER
+END
diff --git a/xorg-server/hw/xwin/xlaunch/resources/windowed.bmp b/xorg-server/hw/xwin/xlaunch/resources/windowed.bmp
new file mode 100644
index 000000000..9eff2bff9
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/resources/windowed.bmp
Binary files differ
diff --git a/xorg-server/hw/xwin/xlaunch/window/dialog.cc b/xorg-server/hw/xwin/xlaunch/window/dialog.cc
new file mode 100644
index 000000000..76e5c35ac
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/dialog.cc
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#include <stdio.h>
+#include "dialog.h"
+#include "util.h"
+
+CBaseDialog::CBaseDialog() : CWindow(""), result(0)
+{
+}
+
+CDialog::CDialog(const char *res) : CBaseDialog(), resourcename(res)
+{
+}
+
+HWND CDialog::CreateWindowHandle()
+{
+ HWND ret = CreateDialog(
+ GetModuleHandle(NULL),
+ resourcename.c_str(),
+ NULL,
+ DialogProc);
+ if (ret == NULL)
+ throw win32_error("CreateDialog failed");
+ return ret;
+}
+
+INT_PTR CALLBACK CBaseDialog::DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ MessageDebug::debug(hwndDlg, uMsg, wParam, lParam, __FUNCTION__);
+ CBaseDialog* dialog = (CDialog*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
+ if (dialog != NULL)
+ return dialog->DlgDispatch(hwndDlg, uMsg, wParam, lParam);
+ return FALSE;
+}
+
+INT_PTR CBaseDialog::DlgDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ switch (uMsg)
+ {
+ case WM_COMMAND:
+ switch (LOWORD(wParam))
+ {
+ case IDOK:
+ case IDCANCEL:
+ result = wParam;
+ EndDialog(hwndDlg, wParam);
+ DestroyWindow(hwndDlg);
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}
+
+INT_PTR CDialog::DlgDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ return CBaseDialog::DlgDispatch(hwndDlg, uMsg, wParam, lParam);
+}
+
+int CBaseDialog::Execute()
+{
+ return CWindow::ShowModal();
+}
diff --git a/xorg-server/hw/xwin/xlaunch/window/dialog.h b/xorg-server/hw/xwin/xlaunch/window/dialog.h
new file mode 100644
index 000000000..073394bb2
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/dialog.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#ifndef __DIALOG_H__
+#define __DIALOG_H__
+
+#include "window.h"
+class CBaseDialog : public CWindow
+{
+ private:
+ int result;
+ protected:
+ static INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ virtual INT_PTR DlgDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ public:
+ CBaseDialog();
+ int Execute();
+};
+
+class CDialog : public CBaseDialog
+{
+ private:
+ std::string resourcename;
+ protected:
+ virtual INT_PTR DlgDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ virtual HWND CreateWindowHandle();
+ public:
+ CDialog(const char *res);
+};
+
+
+#endif
diff --git a/xorg-server/hw/xwin/xlaunch/window/makefile b/xorg-server/hw/xwin/xlaunch/window/makefile
new file mode 100644
index 000000000..18a33e728
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/makefile
@@ -0,0 +1,4 @@
+CSRCS=dialog.cc util.cc window.cc wizard.cc
+
+LIBRARY = window
+
diff --git a/xorg-server/hw/xwin/xlaunch/window/util.cc b/xorg-server/hw/xwin/xlaunch/window/util.cc
new file mode 100644
index 000000000..c01b782fc
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/util.cc
@@ -0,0 +1,1113 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#include "util.h"
+
+const char * MessageDebug::notify_names[NOTIFY_NAMES_LEN];
+
+std::string win32_error::message(DWORD errorcode)
+{
+ LPVOID lpMsgBuf;
+ if (!FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ errorcode,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
+ (LPTSTR) &lpMsgBuf,
+ 0,
+ NULL ))
+ {
+ return "Unknown error in FormatMessage";
+ }
+
+ std::string ret((LPCTSTR)lpMsgBuf);
+ LocalFree( lpMsgBuf );
+ return ret;
+}
+
+void MessageDebug::debug(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, const char *prefix)
+{
+#ifdef _DEBUG
+ static const char *psn_notify[] = {
+ "PSN_SETACTIVE",
+ "PSN_KILLACTIVE",
+ "PSN_APPLY",
+ "PSN_RESET",
+ NULL,
+ "PSN_HELP",
+ "PSN_WIZBACK",
+ "PSN_WIZNEXT",
+ "PSN_WIZFINISH",
+ "PSN_QUERYCANCEL" };
+ if (uMsg == WM_NOTIFY)
+ {
+ LPNMHDR pnmh = (LPNMHDR)lParam;
+ int psn_index = -(int)pnmh->code - 200;
+ if (psn_index >= 0 && psn_index < 10 && psn_notify[psn_index])
+ printf("%s: %p %04x WM_NOTIFY (%s)\n", prefix, hwnd, wParam, psn_notify[psn_index]);
+ else if (pnmh->code < NOTIFY_NAMES_LEN && notify_names[pnmh->code])
+ printf("%s: %p %04x WM_NOTIFY (%s)\n", prefix, hwnd, wParam, notify_names[pnmh->code]);
+ else
+ printf("%s: %p %04x WM_NOTIFY (%u)\n", prefix, hwnd, wParam, pnmh->code);
+ }
+ else if (uMsg >= MESSAGE_NAMES_LEN)
+ if (uMsg >= WM_USER)
+ printf("%s: %p %04x %08x WM_USER + %d\n", prefix, hwnd, wParam, lParam, uMsg - WM_USER);
+ else
+ printf("%s: %p %04x %08x %d\n", prefix, hwnd, wParam, lParam, uMsg);
+ else if (uMsg >= 0 && uMsg < MESSAGE_NAMES_LEN && message_names[uMsg])
+ printf("%s: %p %04x %08x %s\n", prefix, hwnd, wParam, lParam, message_names[uMsg]);
+#endif
+}
+
+
+const char * MessageDebug::message_names[MESSAGE_NAMES_LEN] = {
+ "WM_NULL",
+ "WM_CREATE",
+ "WM_DESTROY",
+ "WM_MOVE",
+ "4",
+ "WM_SIZE",
+ "WM_ACTIVATE",
+ "WM_SETFOCUS",
+ "WM_KILLFOCUS",
+ "9",
+ "WM_ENABLE",
+ "WM_SETREDRAW",
+ "WM_SETTEXT",
+ "WM_GETTEXT",
+ "WM_GETTEXTLENGTH",
+ "WM_PAINT",
+ "WM_CLOSE",
+ "WM_QUERYENDSESSION",
+ "WM_QUIT",
+ "WM_QUERYOPEN",
+ "WM_ERASEBKGND",
+ "WM_SYSCOLORCHANGE",
+ "WM_ENDSESSION",
+ "23",
+ "WM_SHOWWINDOW",
+ "25",
+ "WM_WININICHANGE",
+ "WM_DEVMODECHANGE",
+ "WM_ACTIVATEAPP",
+ "WM_FONTCHANGE",
+ "WM_TIMECHANGE",
+ "WM_CANCELMODE",
+ NULL /* WM_SETCURSOR */,
+ "WM_MOUSEACTIVATE",
+ "WM_CHILDACTIVATE",
+ "WM_QUEUESYNC",
+ "WM_GETMINMAXINFO",
+ "37",
+ "WM_PAINTICON",
+ "WM_ICONERASEBKGND",
+ "WM_NEXTDLGCTL",
+ "41",
+ "WM_SPOOLERSTATUS",
+ "WM_DRAWITEM",
+ "WM_MEASUREITEM",
+ "WM_DELETEITEM",
+ "WM_VKEYTOITEM",
+ "WM_CHARTOITEM",
+ "WM_SETFONT",
+ "WM_GETFONT",
+ "WM_SETHOTKEY",
+ "WM_GETHOTKEY",
+ "52",
+ "53",
+ "54",
+ "WM_QUERYDRAGICON",
+ "56",
+ "WM_COMPAREITEM",
+ "58",
+ "59",
+ "60",
+ "61",
+ "62",
+ "63",
+ "64",
+ "WM_COMPACTING",
+ "66",
+ "67",
+ "WM_COMMNOTIFY",
+ "69",
+ "WM_WINDOWPOSCHANGING",
+ "WM_WINDOWPOSCHANGED",
+ "WM_POWER",
+ "73",
+ "WM_COPYDATA",
+ "WM_CANCELJOURNAL",
+ "76",
+ "77",
+ "WM_NOTIFY",
+ "79",
+ "WM_INPUTLANGCHANGEREQUEST",
+ "WM_INPUTLANGCHANGE",
+ "WM_TCARD",
+ "WM_HELP",
+ "WM_USERCHANGED",
+ "WM_NOTIFYFORMAT",
+ "86",
+ "87",
+ "88",
+ "89",
+ "90",
+ "91",
+ "92",
+ "93",
+ "94",
+ "95",
+ "96",
+ "97",
+ "98",
+ "99",
+ "100",
+ "101",
+ "102",
+ "103",
+ "104",
+ "105",
+ "106",
+ "107",
+ "108",
+ "109",
+ "110",
+ "111",
+ "112",
+ "113",
+ "114",
+ "115",
+ "116",
+ "117",
+ "118",
+ "119",
+ "120",
+ "121",
+ "122",
+ "WM_CONTEXTMENU",
+ "WM_STYLECHANGING",
+ "WM_STYLECHANGED",
+ "WM_DISPLAYCHANGE",
+ "WM_GETICON",
+ "WM_SETICON",
+ "WM_NCCREATE",
+ "WM_NCDESTROY",
+ "WM_NCCALCSIZE",
+ NULL /* WM_NCHITTEST */,
+ "WM_NCPAINT",
+ "WM_NCACTIVATE",
+ "WM_GETDLGCODE",
+ "WM_SYNCPAINT",
+ "137",
+ "138",
+ "139",
+ "140",
+ "141",
+ "142",
+ "143",
+ "144",
+ "145",
+ "146",
+ "147",
+ "148",
+ "149",
+ "150",
+ "151",
+ "152",
+ "153",
+ "154",
+ "155",
+ "156",
+ "157",
+ "158",
+ "159",
+ NULL /* WM_NCMOUSEMOVE */,
+ "WM_NCLBUTTONDOWN",
+ "WM_NCLBUTTONUP",
+ "WM_NCLBUTTONDBLCLK",
+ "WM_NCRBUTTONDOWN",
+ "WM_NCRBUTTONUP",
+ "WM_NCRBUTTONDBLCLK",
+ "WM_NCMBUTTONDOWN",
+ "WM_NCMBUTTONUP",
+ "WM_NCMBUTTONDBLCLK",
+ "170",
+ "171",
+ "172",
+ "173",
+ "174",
+ "175",
+ "176",
+ "177",
+ "178",
+ "179",
+ "180",
+ "181",
+ "182",
+ "183",
+ "184",
+ "185",
+ "186",
+ "187",
+ "188",
+ "189",
+ "190",
+ "191",
+ "192",
+ "193",
+ "194",
+ "195",
+ "196",
+ "197",
+ "198",
+ "199",
+ "200",
+ "201",
+ "202",
+ "203",
+ "204",
+ "205",
+ "206",
+ "207",
+ "208",
+ "209",
+ "210",
+ "211",
+ "212",
+ "213",
+ "214",
+ "215",
+ "216",
+ "217",
+ "218",
+ "219",
+ "220",
+ "221",
+ "222",
+ "223",
+ "224",
+ "225",
+ "226",
+ "227",
+ "228",
+ "229",
+ "230",
+ "231",
+ "232",
+ "233",
+ "234",
+ "235",
+ "236",
+ "237",
+ "238",
+ "239",
+ "240",
+ "241",
+ "242",
+ "243",
+ "244",
+ "245",
+ "246",
+ "247",
+ "248",
+ "249",
+ "250",
+ "251",
+ "252",
+ "253",
+ "254",
+ "255",
+ "WM_KEYDOWN",
+ "WM_KEYUP",
+ "WM_CHAR",
+ "WM_DEADCHAR",
+ "WM_SYSKEYDOWN",
+ "WM_SYSKEYUP",
+ "WM_SYSCHAR",
+ "WM_SYSDEADCHAR",
+ "WM_CONVERTREQUESTEX",
+ "265",
+ "266",
+ "267",
+ "268",
+ "WM_IME_STARTCOMPOSITION",
+ "WM_IME_ENDCOMPOSITION",
+ "WM_IME_KEYLAST",
+ "WM_INITDIALOG",
+ "WM_COMMAND",
+ "WM_SYSCOMMAND",
+ NULL /* WM_TIMER */,
+ "WM_HSCROLL",
+ "WM_VSCROLL",
+ "WM_INITMENU",
+ "WM_INITMENUPOPUP",
+ "280",
+ "281",
+ "282",
+ "283",
+ "284",
+ "285",
+ "286",
+ "WM_MENUSELECT",
+ "WM_MENUCHAR",
+ "WM_ENTERIDLE",
+ "290",
+ "291",
+ "292",
+ "293",
+ "294",
+ "295",
+ "296",
+ "297",
+ "298",
+ "299",
+ "300",
+ "301",
+ "302",
+ "303",
+ "304",
+ "305",
+ "WM_CTLCOLORMSGBOX",
+ "WM_CTLCOLOREDIT",
+ "WM_CTLCOLORLISTBOX",
+ "WM_CTLCOLORBTN",
+ "WM_CTLCOLORDLG",
+ "WM_CTLCOLORSCROLLBAR",
+ "WM_CTLCOLORSTATIC",
+ "313",
+ "314",
+ "315",
+ "316",
+ "317",
+ "318",
+ "319",
+ "320",
+ "321",
+ "322",
+ "323",
+ "324",
+ "325",
+ "326",
+ "327",
+ "328",
+ "329",
+ "330",
+ "331",
+ "332",
+ "333",
+ "334",
+ "335",
+ "336",
+ "337",
+ "338",
+ "339",
+ "340",
+ "341",
+ "342",
+ "343",
+ "344",
+ "345",
+ "346",
+ "347",
+ "348",
+ "349",
+ "350",
+ "351",
+ "352",
+ "353",
+ "354",
+ "355",
+ "356",
+ "357",
+ "358",
+ "359",
+ "360",
+ "361",
+ "362",
+ "363",
+ "364",
+ "365",
+ "366",
+ "367",
+ "368",
+ "369",
+ "370",
+ "371",
+ "372",
+ "373",
+ "374",
+ "375",
+ "376",
+ "377",
+ "378",
+ "379",
+ "380",
+ "381",
+ "382",
+ "383",
+ "384",
+ "385",
+ "386",
+ "387",
+ "388",
+ "389",
+ "390",
+ "391",
+ "392",
+ "393",
+ "394",
+ "395",
+ "396",
+ "397",
+ "398",
+ "399",
+ "400",
+ "401",
+ "402",
+ "403",
+ "404",
+ "405",
+ "406",
+ "407",
+ "408",
+ "409",
+ "410",
+ "411",
+ "412",
+ "413",
+ "414",
+ "415",
+ "416",
+ "417",
+ "418",
+ "419",
+ "420",
+ "421",
+ "422",
+ "423",
+ "424",
+ "425",
+ "426",
+ "427",
+ "428",
+ "429",
+ "430",
+ "431",
+ "432",
+ "433",
+ "434",
+ "435",
+ "436",
+ "437",
+ "438",
+ "439",
+ "440",
+ "441",
+ "442",
+ "443",
+ "444",
+ "445",
+ "446",
+ "447",
+ "448",
+ "449",
+ "450",
+ "451",
+ "452",
+ "453",
+ "454",
+ "455",
+ "456",
+ "457",
+ "458",
+ "459",
+ "460",
+ "461",
+ "462",
+ "463",
+ "464",
+ "465",
+ "466",
+ "467",
+ "468",
+ "469",
+ "470",
+ "471",
+ "472",
+ "473",
+ "474",
+ "475",
+ "476",
+ "477",
+ "478",
+ "479",
+ "480",
+ "481",
+ "482",
+ "483",
+ "484",
+ "485",
+ "486",
+ "487",
+ "488",
+ "489",
+ "490",
+ "491",
+ "492",
+ "493",
+ "494",
+ "495",
+ "496",
+ "497",
+ "498",
+ "499",
+ "500",
+ "501",
+ "502",
+ "503",
+ "504",
+ "505",
+ "506",
+ "507",
+ "508",
+ "509",
+ "510",
+ "511",
+ NULL /* WM_MOUSEMOVE */,
+ "WM_LBUTTONDOWN",
+ "WM_LBUTTONUP",
+ "WM_LBUTTONDBLCLK",
+ "WM_RBUTTONDOWN",
+ "WM_RBUTTONUP",
+ "WM_RBUTTONDBLCLK",
+ "WM_MBUTTONDOWN",
+ "WM_MBUTTONUP",
+ "WM_MBUTTONDBLCLK",
+ "WM_MOUSEWHEEL",
+ "WM_XBUTTONDOWN",
+ "WM_XBUTTONUP",
+ "WM_XBUTTONDBLCLK",
+ "526",
+ "527",
+ "WM_PARENTNOTIFY",
+ "WM_ENTERMENULOOP",
+ "WM_EXITMENULOOP",
+ "WM_NEXTMENU",
+ "WM_SIZING",
+ "WM_CAPTURECHANGED",
+ "WM_MOVING",
+ "535",
+ "WM_POWERBROADCAST",
+ "WM_DEVICECHANGE",
+ "538",
+ "539",
+ "540",
+ "541",
+ "542",
+ "543",
+ "WM_MDICREATE",
+ "WM_MDIDESTROY",
+ "WM_MDIACTIVATE",
+ "WM_MDIRESTORE",
+ "WM_MDINEXT",
+ "WM_MDIMAXIMIZE",
+ "WM_MDITILE",
+ "WM_MDICASCADE",
+ "WM_MDIICONARRANGE",
+ "WM_MDIGETACTIVE",
+ "554",
+ "555",
+ "556",
+ "557",
+ "558",
+ "559",
+ "WM_MDISETMENU",
+ "WM_ENTERSIZEMOVE",
+ "WM_EXITSIZEMOVE",
+ "WM_DROPFILES",
+ "WM_MDIREFRESHMENU",
+ "565",
+ "566",
+ "567",
+ "568",
+ "569",
+ "570",
+ "571",
+ "572",
+ "573",
+ "574",
+ "575",
+ "576",
+ "577",
+ "578",
+ "579",
+ "580",
+ "581",
+ "582",
+ "583",
+ "584",
+ "585",
+ "586",
+ "587",
+ "588",
+ "589",
+ "590",
+ "591",
+ "592",
+ "593",
+ "594",
+ "595",
+ "596",
+ "597",
+ "598",
+ "599",
+ "600",
+ "601",
+ "602",
+ "603",
+ "604",
+ "605",
+ "606",
+ "607",
+ "608",
+ "609",
+ "610",
+ "611",
+ "612",
+ "613",
+ "614",
+ "615",
+ "616",
+ "617",
+ "618",
+ "619",
+ "620",
+ "621",
+ "622",
+ "623",
+ "624",
+ "625",
+ "626",
+ "627",
+ "628",
+ "629",
+ "630",
+ "631",
+ "632",
+ "633",
+ "634",
+ "635",
+ "636",
+ "637",
+ "638",
+ "639",
+ "640",
+ "WM_IME_SETCONTEXT",
+ "WM_IME_NOTIFY",
+ "WM_IME_CONTROL",
+ "WM_IME_COMPOSITIONFULL",
+ "WM_IME_SELECT",
+ "WM_IME_CHAR",
+ "647",
+ "648",
+ "649",
+ "650",
+ "651",
+ "652",
+ "653",
+ "654",
+ "655",
+ "WM_IME_KEYDOWN",
+ "WM_IME_KEYUP",
+ "658",
+ "659",
+ "660",
+ "661",
+ "662",
+ "663",
+ "664",
+ "665",
+ "666",
+ "667",
+ "668",
+ "669",
+ "670",
+ "671",
+ "672",
+ "WM_MOUSEHOVER",
+ "674",
+ "WM_MOUSELEAVE",
+ "676",
+ "677",
+ "678",
+ "679",
+ "680",
+ "681",
+ "682",
+ "683",
+ "684",
+ "685",
+ "686",
+ "687",
+ "688",
+ "689",
+ "690",
+ "691",
+ "692",
+ "693",
+ "694",
+ "695",
+ "696",
+ "697",
+ "698",
+ "699",
+ "700",
+ "701",
+ "702",
+ "703",
+ "704",
+ "705",
+ "706",
+ "707",
+ "708",
+ "709",
+ "710",
+ "711",
+ "712",
+ "713",
+ "714",
+ "715",
+ "716",
+ "717",
+ "718",
+ "719",
+ "720",
+ "721",
+ "722",
+ "723",
+ "724",
+ "725",
+ "726",
+ "727",
+ "728",
+ "729",
+ "730",
+ "731",
+ "732",
+ "733",
+ "734",
+ "735",
+ "736",
+ "737",
+ "738",
+ "739",
+ "740",
+ "741",
+ "742",
+ "743",
+ "744",
+ "745",
+ "746",
+ "747",
+ "748",
+ "749",
+ "750",
+ "751",
+ "752",
+ "753",
+ "754",
+ "755",
+ "756",
+ "757",
+ "758",
+ "759",
+ "760",
+ "761",
+ "762",
+ "763",
+ "764",
+ "765",
+ "766",
+ "767",
+ "WM_CUT",
+ "WM_COPY",
+ "WM_PASTE",
+ "WM_CLEAR",
+ "WM_UNDO",
+ "WM_RENDERFORMAT",
+ "WM_RENDERALLFORMATS",
+ "WM_DESTROYCLIPBOARD",
+ "WM_DRAWCLIPBOARD",
+ "WM_PAINTCLIPBOARD",
+ "WM_VSCROLLCLIPBOARD",
+ "WM_SIZECLIPBOARD",
+ "WM_ASKCBFORMATNAME",
+ "WM_CHANGECBCHAIN",
+ "WM_HSCROLLCLIPBOARD",
+ "WM_QUERYNEWPALETTE",
+ "WM_PALETTEISCHANGING",
+ "WM_PALETTECHANGED",
+ "WM_HOTKEY",
+ "787",
+ "788",
+ "789",
+ "790",
+ "WM_PRINT",
+ "WM_PRINTCLIENT",
+ "793",
+ "794",
+ "795",
+ "796",
+ "797",
+ "798",
+ "799",
+ "800",
+ "801",
+ "802",
+ "803",
+ "804",
+ "805",
+ "806",
+ "807",
+ "808",
+ "809",
+ "810",
+ "811",
+ "812",
+ "813",
+ "814",
+ "815",
+ "816",
+ "817",
+ "818",
+ "819",
+ "820",
+ "821",
+ "822",
+ "823",
+ "824",
+ "825",
+ "826",
+ "827",
+ "828",
+ "829",
+ "830",
+ "831",
+ "832",
+ "833",
+ "834",
+ "835",
+ "836",
+ "837",
+ "838",
+ "839",
+ "840",
+ "841",
+ "842",
+ "843",
+ "844",
+ "845",
+ "846",
+ "847",
+ "848",
+ "849",
+ "850",
+ "851",
+ "852",
+ "853",
+ "854",
+ "855",
+ "856",
+ "857",
+ "858",
+ "859",
+ "860",
+ "861",
+ "862",
+ "863",
+ "864",
+ "865",
+ "866",
+ "867",
+ "868",
+ "869",
+ "870",
+ "871",
+ "872",
+ "873",
+ "874",
+ "875",
+ "876",
+ "877",
+ "878",
+ "879",
+ "880",
+ "881",
+ "882",
+ "883",
+ "884",
+ "885",
+ "886",
+ "887",
+ "888",
+ "889",
+ "890",
+ "891",
+ "892",
+ "893",
+ "894",
+ "895",
+ "896",
+ "897",
+ "898",
+ "899",
+ "900",
+ "901",
+ "902",
+ "903",
+ "904",
+ "905",
+ "906",
+ "907",
+ "908",
+ "909",
+ "910",
+ "911",
+ "912",
+ "913",
+ "914",
+ "915",
+ "916",
+ "917",
+ "918",
+ "919",
+ "920",
+ "921",
+ "922",
+ "923",
+ "924",
+ "925",
+ "926",
+ "927",
+ "928",
+ "929",
+ "930",
+ "931",
+ "932",
+ "933",
+ "934",
+ "935",
+ "936",
+ "937",
+ "938",
+ "939",
+ "940",
+ "941",
+ "942",
+ "943",
+ "944",
+ "945",
+ "946",
+ "947",
+ "948",
+ "949",
+ "950",
+ "951",
+ "952",
+ "953",
+ "954",
+ "955",
+ "956",
+ "957",
+ "958",
+ "959",
+ "960",
+ "961",
+ "962",
+ "963",
+ "964",
+ "965",
+ "966",
+ "967",
+ "968",
+ "969",
+ "970",
+ "971",
+ "972",
+ "973",
+ "974",
+ "975",
+ "976",
+ "977",
+ "978",
+ "979",
+ "980",
+ "981",
+ "982",
+ "983",
+ "984",
+ "985",
+ "986",
+ "987",
+ "988",
+ "989",
+ "990",
+ "991",
+ "992",
+ "993",
+ "994",
+ "995",
+ "996",
+ "997",
+ "998",
+ "999",
+ "1000",
+ "1001",
+ "1002",
+ "1003",
+ "1004",
+ "1005",
+ "1006",
+ "1007",
+ "1008",
+ "1009",
+ "1010",
+ "1011",
+ "1012",
+ "1013",
+ "1014",
+ "1015",
+ "1016",
+ "1017",
+ "1018",
+ "1019",
+ "1020",
+ "1021",
+ "1022",
+ "1023"
+};
diff --git a/xorg-server/hw/xwin/xlaunch/window/util.h b/xorg-server/hw/xwin/xlaunch/window/util.h
new file mode 100644
index 000000000..a1196b115
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/util.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#ifndef __UTIL_H__
+#define __UTIL_H__
+
+#include <windows.h>
+#include <stdexcept>
+#include <string>
+
+class win32_error : public std::runtime_error
+{
+ public:
+ static std::string message(DWORD code);
+ DWORD errorcode;
+ win32_error(const std::string &msg,DWORD code = GetLastError()) : std::runtime_error(msg + ":" + message(code)), errorcode(code) {};
+};
+
+#define MESSAGE_NAMES_LEN 1024
+#define NOTIFY_NAMES_LEN 1
+class MessageDebug
+{
+ protected:
+ static const char * message_names[MESSAGE_NAMES_LEN];
+ static const char * notify_names[NOTIFY_NAMES_LEN];
+ public:
+ static void debug(HWND handle, UINT uMsg, WPARAM wParam, LPARAM lParam, const char *prefix);
+};
+
+
+#endif
diff --git a/xorg-server/hw/xwin/xlaunch/window/window.cc b/xorg-server/hw/xwin/xlaunch/window/window.cc
new file mode 100644
index 000000000..cca3a485a
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/window.cc
@@ -0,0 +1,284 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+
+#include "window.h"
+#include "util.h"
+#include <stdio.h>
+#include <stdexcept>
+
+CWindow::CWindowClass CWindow::windowClass("CWINDOWCLASS", DefWindowProc);
+
+CWindow::CWindowClass::CWindowClass(const char *_name, WNDPROC _wndproc) :
+ wndproc(_wndproc), atom(0), classname(_name)
+{
+ Register();
+}
+
+CWindow::CWindowClass::~CWindowClass()
+{
+ UnregisterClass(classname.c_str(), GetModuleHandle(NULL));
+}
+
+void CWindow::CWindowClass::Register()
+{
+ WNDCLASSEX wndclass;
+ memset(&wndclass, 0, sizeof(wndclass));
+ wndclass.cbSize = sizeof(wndclass);
+ wndclass.style = 0;
+ wndclass.lpfnWndProc = wndproc;
+ wndclass.cbClsExtra = 0;
+ wndclass.cbWndExtra = 0;
+ wndclass.hInstance = GetModuleHandle(NULL);
+ wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
+ wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
+ wndclass.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
+ wndclass.lpszMenuName = NULL;
+ wndclass.lpszClassName = classname.c_str();
+ wndclass.hIconSm = NULL;
+ atom = RegisterClassEx(&wndclass);
+ if (atom == 0)
+ throw win32_error("RegisterClassEx failed");
+}
+
+CWindow::CWindow(const char *_title) : title(_title), hwnd(NULL), parent(NULL), bounds(), owndproc(NULL), showing(FALSE)
+{
+ style = WS_CHILD;
+ exstyle = 0;
+}
+
+HWND CWindow::CreateWindowHandle()
+{
+ HWND ret = CreateWindowEx(
+ exstyle,
+ GetClassName(),
+ title.c_str(),
+ style,
+ bounds.left,
+ bounds.top,
+ bounds.width,
+ bounds.height,
+ parent,
+ NULL,
+ GetModuleHandle(NULL),
+ 0
+ );
+ if (ret == NULL)
+ throw win32_error("CreateWindowEx failed");
+ return ret;
+}
+
+void CWindow::Create()
+{
+ if (hwnd != NULL)
+ return;
+ hwnd = CreateWindowHandle();
+ if (hwnd == NULL)
+ throw win32_error("Could not create window");
+
+ // Reset the error code
+ DWORD err = 0;
+ SetLastError(err);
+
+ // Attach the object reference to the window handle
+ SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)this);
+ err = GetLastError();
+ if (err != 0)
+ throw win32_error("SetWindowLongPtr failed",err);
+
+ // Set the window proc
+ owndproc = (WNDPROC)SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)WindowProc);
+ err = GetLastError();
+ if (err != 0)
+ throw win32_error("SetWindowLongPtr failed",err);
+}
+
+const char *CWindow::GetClassName()
+{
+ return windowClass.GetClassName();
+}
+
+LRESULT CALLBACK CWindow::WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ MessageDebug::debug(hwnd, uMsg, wParam, lParam, __FUNCTION__);
+ CWindow* window = (CWindow*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ if (window != NULL)
+ return window->Dispatch(hwnd, uMsg, wParam, lParam);
+ return DefWindowProc(hwnd, uMsg, wParam, lParam);
+}
+
+LRESULT CWindow::Dispatch(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ switch (uMsg)
+ {
+ case WM_SIZE:
+ bounds.width = LOWORD(lParam);
+ bounds.height = LOWORD(lParam);
+ break;
+ case WM_MOVE:
+ bounds.left = LOWORD(lParam);
+ bounds.top = LOWORD(lParam);
+ break;
+ case WM_DESTROY:
+ showing = FALSE;
+ break;
+ }
+ if (owndproc)
+ return CallWindowProc(owndproc, hwnd, uMsg, wParam, lParam);
+ else
+ return DefWindowProc(hwnd, uMsg, wParam, lParam);
+}
+
+void CWindow::Show()
+{
+ if (hwnd == NULL)
+ Create();
+ ShowWindow(hwnd, SW_SHOWNORMAL);
+}
+
+int CWindow::ShowModal()
+{
+ MSG msg;
+ BOOL bRet;
+ showing = TRUE;
+ Show();
+
+ while( showing && (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
+ {
+ if (bRet == -1)
+ {
+ // handle the error and possibly exit
+ }
+ else
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+ return 0;
+}
+
+void CWindow::SetLeft(int left)
+{
+ bounds.left = left;
+ if (hwnd)
+ if (!SetWindowPos(hwnd, NULL,
+ bounds.left, bounds.top,
+ 0, 0,
+ SWP_NOZORDER | SWP_NOSIZE))
+ throw win32_error("SetWindowPos failed");
+}
+
+void CWindow::SetTop(int top)
+{
+ bounds.top = top;
+ if (hwnd)
+ if (!SetWindowPos(hwnd, NULL,
+ bounds.left, bounds.top,
+ 0, 0,
+ SWP_NOZORDER | SWP_NOSIZE))
+ throw win32_error("SetWindowPos failed");
+}
+
+void CWindow::SetWidth(int width)
+{
+ bounds.width = width;
+ if (hwnd)
+ if (!SetWindowPos(hwnd, NULL,
+ 0, 0,
+ bounds.width, bounds.height,
+ SWP_NOZORDER | SWP_NOMOVE))
+ throw win32_error("SetWindowPos failed");
+}
+void CWindow::SetHeight(int height)
+{
+ bounds.height = height;
+ if (hwnd)
+ if (!SetWindowPos(hwnd, NULL,
+ 0, 0,
+ bounds.width, bounds.height,
+ SWP_NOZORDER | SWP_NOMOVE))
+ throw win32_error("SetWindowPos failed");
+}
+
+void CWindow::SetBounds(int left, int top, int width, int height)
+{
+ bounds = CBoundary(left, top, width, height);
+ if (hwnd)
+ if (!SetWindowPos(hwnd, NULL,
+ bounds.left, bounds.top,
+ bounds.width, bounds.height,
+ SWP_NOZORDER))
+ throw win32_error("SetWindowPos failed");
+}
+
+void CWindow::SetBounds(const RECT &rect)
+{
+ bounds = rect;
+ if (hwnd)
+ if (!SetWindowPos(hwnd, NULL,
+ bounds.left, bounds.top,
+ bounds.width, bounds.height,
+ SWP_NOZORDER))
+ throw win32_error("SetWindowPos failed");
+}
+
+HWND CWindow::GetHandle()
+{
+ if (hwnd == NULL)
+ Create();
+ return hwnd;
+}
+
+void CWindow::SetParent(CWindow *window)
+{
+ parent = window->GetHandle();
+ if (hwnd != NULL)
+ if (::SetParent(hwnd, parent) == NULL)
+ throw win32_error("SetParent failed");
+
+}
+
+void CWindow::SetStyle(DWORD style)
+{
+ this->style = style;
+ SetLastError(0);
+ if (hwnd)
+ SetWindowLong(hwnd, GWL_STYLE, style);
+ int err = GetLastError();
+ if (err != 0)
+ throw win32_error("SetWindowLong failed", err);
+}
+
+void CWindow::SetExStyle(DWORD exstyle)
+{
+ this->exstyle = exstyle;
+ SetLastError(0);
+ if (hwnd)
+ SetWindowLong(hwnd, GWL_EXSTYLE, exstyle);
+ int err = GetLastError();
+ if (err != 0)
+ throw win32_error("SetWindowWLong failed", err);
+}
diff --git a/xorg-server/hw/xwin/xlaunch/window/window.h b/xorg-server/hw/xwin/xlaunch/window/window.h
new file mode 100644
index 000000000..baf401405
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/window.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#ifndef __WINDOW_H__
+#define __WINDOW_H__
+
+#include <windows.h>
+#include <string>
+
+class CDialog;
+class CWindow
+{
+ friend class CDialog;
+ public:
+ struct CBoundary
+ {
+ int left;
+ int top;
+ int width;
+ int height;
+ CBoundary() :
+ left(0), top(0), width(0), height(0) {};
+ CBoundary(int x, int y, int w, int h) :
+ left(x), top(y), width(w), height(h) {};
+ CBoundary(const RECT &r) :
+ left(r.left), top(r.top), width(r.right-r.left), height(r.bottom-r.top) {};
+ };
+ class CWindowClass
+ {
+ private:
+ WNDPROC wndproc;
+ ATOM atom;
+ std::string classname;
+ protected:
+ void Register();
+ public:
+ CWindowClass(const char *name, WNDPROC wndproc);
+ ~CWindowClass();
+ const char *GetClassName() { return classname.c_str(); };
+ };
+ private:
+ static CWindowClass windowClass;
+
+ std::string title;
+ DWORD exstyle;
+ DWORD style;
+ CBoundary bounds;
+ HWND hwnd;
+ HWND parent;
+ WNDPROC owndproc;
+
+ BOOL showing;
+
+ protected:
+
+ virtual const char *GetClassName();
+ virtual HWND CreateWindowHandle();
+ static LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ public:
+ CWindow(const char *title);
+ virtual void Create();
+
+ virtual int ShowModal();
+
+ void Show();
+ void Hide();
+
+ void SetWidth(int width);
+ void SetHeight(int height);
+ void SetLeft(int left);
+ void SetTop(int top);
+ int GetWidth() { return bounds.width; };
+ int GetHeight() { return bounds.height; };
+ int GetLeft() { return bounds.left; };
+ int GetTop() { return bounds.top; };
+
+ void SetBounds(int left, int top, int width, int height);
+ void SetBounds(const RECT &rect);
+
+ void SetStyle(DWORD style);
+ DWORD GetStyle() { return style; };
+
+ void SetExStyle(DWORD exstyle);
+ DWORD GetExStyle() { return exstyle; };
+
+ HWND GetHandle();
+ void SetParent(CWindow *window);
+
+ virtual LRESULT Dispatch(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
+};
+
+#endif
diff --git a/xorg-server/hw/xwin/xlaunch/window/wizard.cc b/xorg-server/hw/xwin/xlaunch/window/wizard.cc
new file mode 100644
index 000000000..9d6c71193
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/wizard.cc
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#include "wizard.h"
+#include "util.h"
+
+CWizard::CWizard() : pages()
+{
+};
+
+void CWizard::AddPage(const PROPSHEETPAGE &page)
+{
+ pages.push_back(page);
+}
+
+void CWizard::AddPage(const char *page, HINSTANCE instance)
+{
+ PROPSHEETPAGE psp;
+ if (instance == NULL)
+ instance = GetModuleHandle(NULL);
+
+ memset(&psp, 0, sizeof(psp));
+ psp.dwSize = sizeof(PROPSHEETPAGE);
+ psp.dwFlags = PSP_DEFAULT;
+ psp.hInstance = instance;
+ psp.pszTemplate = page;
+ psp.pfnDlgProc = WizardDialogProc;
+ psp.lParam = (LPARAM)this;
+
+ AddPage(psp);
+}
+
+void CWizard::AddPage(DWORD id, DWORD title, DWORD subtitle, HINSTANCE instance)
+{
+ PROPSHEETPAGE psp;
+ if (instance == NULL)
+ instance = GetModuleHandle(NULL);
+
+ memset(&psp, 0, sizeof(psp));
+ psp.dwSize = sizeof(PROPSHEETPAGE);
+ psp.dwFlags = PSP_DEFAULT;
+#if _WIN32_IE >= 0x0500
+ if (title != 0)
+ {
+ psp.dwFlags |= PSP_USEHEADERTITLE;
+ psp.pszHeaderTitle = MAKEINTRESOURCE(title);
+ }
+ if (subtitle != 0)
+ {
+ psp.dwFlags |= PSP_USEHEADERSUBTITLE;
+ psp.pszHeaderSubTitle = MAKEINTRESOURCE(subtitle);
+ }
+#endif
+
+ psp.hInstance = instance;
+ psp.pszTemplate = MAKEINTRESOURCE(id);
+ psp.pfnDlgProc = WizardDialogProc;
+ psp.lParam = (LPARAM)this;
+
+ AddPage(psp);
+}
+
+HWND CWizard::CreateWindowHandle()
+{
+ PROPSHEETHEADER psh;
+ HWND ret;
+
+ PrepareSheetHeader(psh, FALSE);
+ ret = (HWND)PropertySheet(&psh);
+ free(psh.phpage);
+ if (ret == NULL)
+ throw win32_error("PropertySheet failed");
+ return ret;
+}
+
+int CWizard::ShowModal()
+{
+ PROPSHEETHEADER psh;
+ int ret;
+
+ PrepareSheetHeader(psh, TRUE);
+ ret = PropertySheet(&psh);
+ free(psh.phpage);
+ return ret;
+}
+
+void CWizard::PrepareSheetHeader(PROPSHEETHEADER &psh, BOOL modal)
+{
+ HPROPSHEETPAGE *phpage = (HPROPSHEETPAGE*)malloc(pages.size() * sizeof(HPROPSHEETPAGE));
+ DWORD modeflag;
+
+ if (modal)
+ modeflag = 0;
+ else
+ modeflag = PSH_MODELESS;
+
+ for (unsigned i = 0; i < pages.size(); i++)
+ {
+ phpage[i] = CreatePropertySheetPage(&pages[i]);
+ if (phpage[i] == NULL)
+ {
+ DWORD err = GetLastError();
+ free(phpage);
+ throw win32_error("CreatePropertySheetPage failed", err);
+ }
+ }
+
+ memset(&psh, 0, sizeof(psh));
+ psh.dwSize = sizeof(PROPSHEETHEADER);
+#if _WIN32_IE >= 0x0500
+ psh.dwFlags = PSH_WIZARD97 | modeflag;
+#else
+ psh.dwFlags = PSH_WIZARD | modeflag;
+#endif
+ psh.hwndParent = NULL;
+ psh.hInstance = GetModuleHandle(NULL);
+ psh.pszIcon = NULL;
+ psh.pszCaption = (LPSTR) "Cell Properties";
+ psh.nPages = pages.size();
+ psh.nStartPage = 0;
+ psh.phpage = phpage;
+ psh.pfnCallback = NULL;
+}
+
+DWORD CWizard::PageID(unsigned index)
+{
+ if (index < pages.size() && IS_INTRESOURCE(pages[index].pszTemplate))
+ return (DWORD)pages[index].pszTemplate;
+ return (DWORD)-1;
+}
+
+unsigned CWizard::PageIndex(PROPSHEETPAGE *psp)
+{
+ for (unsigned i = 0; i < pages.size(); i++)
+ {
+ if (IS_INTRESOURCE(psp->pszTemplate) || IS_INTRESOURCE(pages[i].pszTemplate ))
+ {
+ if (psp->pszTemplate == pages[i].pszTemplate)
+ return i;
+ }
+ else if (psp->pszTemplate && pages[i].pszTemplate)
+ {
+ if (strcmp(psp->pszTemplate, pages[i].pszTemplate) == 0)
+ return i;
+ }
+ }
+ return (unsigned)-1;
+}
+
+INT_PTR CWizard::DlgDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ return CBaseDialog::DlgDispatch(hwndDlg, uMsg, wParam, lParam);
+}
+
+INT_PTR CWizard::PageDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam, PROPSHEETPAGE *psp)
+{
+ LPNMHDR pnmh = (LPNMHDR)lParam;
+ DWORD flags;
+ unsigned pageindex;
+ switch (uMsg)
+ {
+ case WM_NOTIFY:
+ switch (pnmh->code)
+ {
+ case PSN_SETACTIVE:
+#ifdef _DEBUG
+ printf("PSN_SETACTIVE %d\n", PageIndex(psp));
+#endif
+ pageindex = PageIndex(psp);
+ if (pageindex != (unsigned)-1)
+ {
+ flags = 0;
+ if (pageindex > 0)
+ flags |= PSWIZB_BACK;
+ if ((unsigned)pageindex + 1 == pages.size())
+ flags |= PSWIZB_FINISH;
+ if ((unsigned)pageindex + 1 < pages.size())
+ flags |= PSWIZB_NEXT;
+ PropSheet_SetWizButtons(GetParent(hwndDlg), flags);
+ }
+ WizardActivate(hwndDlg, pageindex);
+ break;
+ case PSN_WIZNEXT:
+ if (WizardNext(hwndDlg, PageIndex(psp)))
+ return TRUE;
+ break;
+ case PSN_WIZBACK:
+ if (WizardBack(hwndDlg, PageIndex(psp)))
+ return TRUE;
+ break;
+ case PSN_WIZFINISH:
+ if (WizardFinish(hwndDlg, PageIndex(psp)))
+ return TRUE;
+ DestroyWindow(GetParent(hwndDlg));
+ case PSN_RESET:
+ if (WizardReset(hwndDlg, PageIndex(psp)))
+ return TRUE;
+ DestroyWindow(GetParent(hwndDlg));
+ break;
+ }
+ }
+ return DlgDispatch(hwndDlg, uMsg, wParam, lParam);
+}
+
+
+INT_PTR CALLBACK CWizard::WizardDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ MessageDebug::debug(hwndDlg, uMsg, wParam, lParam, __FUNCTION__);
+ PROPSHEETPAGE *psp = (PROPSHEETPAGE*)lParam;
+ switch (uMsg)
+ {
+ case WM_INITDIALOG:
+ SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)psp);
+ break;
+ }
+ psp = (PROPSHEETPAGE*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
+ CWizard* wizard = psp?(CWizard*)psp->lParam:NULL;
+ if (wizard != NULL)
+ return wizard->PageDispatch(hwndDlg, uMsg, wParam, lParam, psp);
+ return FALSE;
+}
+
diff --git a/xorg-server/hw/xwin/xlaunch/window/wizard.h b/xorg-server/hw/xwin/xlaunch/window/wizard.h
new file mode 100644
index 000000000..c576cc093
--- /dev/null
+++ b/xorg-server/hw/xwin/xlaunch/window/wizard.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2005 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+#ifndef __WIZARD_H__
+#define __WIZARD_H__
+
+#include "dialog.h"
+#include <vector>
+
+#include <prsht.h>
+
+class CWizard : public CBaseDialog
+{
+ private:
+ std::vector<PROPSHEETPAGE> pages;
+ void PrepareSheetHeader(PROPSHEETHEADER &psh, BOOL modal);
+ protected:
+ virtual HWND CreateWindowHandle();
+ static INT_PTR CALLBACK WizardDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ virtual INT_PTR DlgDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ virtual INT_PTR PageDispatch(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam, PROPSHEETPAGE *psp);
+ virtual unsigned PageIndex(PROPSHEETPAGE *psp);
+ virtual DWORD PageID(unsigned index);
+ virtual BOOL WizardNext(HWND hwndDlg, unsigned index) { return FALSE; }
+ virtual BOOL WizardBack(HWND hwndDlg, unsigned index) { return FALSE; }
+ virtual BOOL WizardFinish(HWND hwndDlg, unsigned index) { return FALSE; }
+ virtual BOOL WizardReset(HWND hwndDlg, unsigned index) { return FALSE; }
+ virtual BOOL WizardActivate(HWND hwndDlg, unsigned index) { return FALSE; }
+ public:
+ CWizard();
+ void AddPage(const PROPSHEETPAGE &page);
+ void AddPage(const char *page, HINSTANCE instance = NULL);
+ void AddPage(DWORD id, DWORD title, DWORD subtitle, HINSTANCE instance = NULL);
+ virtual int ShowModal();
+};
+#endif
diff --git a/xorg-server/include/callback.h b/xorg-server/include/callback.h
index df638c0d4..3529225b4 100644
--- a/xorg-server/include/callback.h
+++ b/xorg-server/include/callback.h
@@ -52,6 +52,10 @@ SOFTWARE.
#include <X11/Xproto.h>
#include <X11/Xfuncproto.h>
+#ifdef _MSC_VER
+#define inline __inline
+#endif
+
/*
* callback manager stuff
*/
@@ -66,14 +70,14 @@ typedef void (*CallbackProcPtr) (CallbackListPtr *, void *, void *);
extern _X_EXPORT Bool AddCallback(CallbackListPtr * /*pcbl */ ,
CallbackProcPtr /*callback */ ,
- void */*data */ );
+ void * /*data */ );
extern _X_EXPORT Bool DeleteCallback(CallbackListPtr * /*pcbl */ ,
CallbackProcPtr /*callback */ ,
- void */*data */ );
+ void * /*data */ );
extern _X_EXPORT void _CallCallbacks(CallbackListPtr * /*pcbl */ ,
- void */*call_data */ );
+ void * /*call_data */ );
static inline void
CallCallbacks(CallbackListPtr *pcbl, void *call_data)
diff --git a/xorg-server/include/closestr.h b/xorg-server/include/closestr.h
index 60e6f09bc..87a2f1781 100644
--- a/xorg-server/include/closestr.h
+++ b/xorg-server/include/closestr.h
@@ -52,6 +52,7 @@ typedef struct _OFclosure {
XID fontid;
char *fontname;
int fnamelen;
+ Bool from_dispatch;
FontPtr non_cachable_font;
} OFclosureRec;
@@ -77,6 +78,7 @@ typedef struct _LFWIclosure {
LFWIstateRec saved;
int savedNumFonts;
Bool haveSaved;
+ Bool from_dispatch;
char *savedName;
} LFWIclosureRec;
@@ -90,6 +92,7 @@ typedef struct _LFclosure {
LFWIstateRec current;
LFWIstateRec saved;
Bool haveSaved;
+ Bool from_dispatch;
char *savedName;
int savedNameLen;
} LFclosureRec;
@@ -108,6 +111,7 @@ typedef struct _PTclosure {
CARD8 reqType;
XID did;
int err;
+ Bool from_dispatch;
} PTclosureRec;
/* ImageText */
@@ -122,5 +126,6 @@ typedef struct _ITclosure {
int yorg;
CARD8 reqType;
XID did;
+ Bool from_dispatch;
} ITclosureRec;
#endif /* CLOSESTR_H */
diff --git a/xorg-server/include/colormap.h b/xorg-server/include/colormap.h
index 22229ca84..30e508557 100644
--- a/xorg-server/include/colormap.h
+++ b/xorg-server/include/colormap.h
@@ -82,14 +82,14 @@ extern _X_EXPORT int CreateColormap(Colormap /*mid */ ,
int /*alloc */ ,
int /*client */ );
-extern _X_EXPORT int FreeColormap(void */*pmap */ ,
+extern _X_EXPORT int FreeColormap(void * /*pmap */ ,
XID /*mid */ );
extern _X_EXPORT int TellLostMap(WindowPtr /*pwin */ ,
- void */* Colormap *pmid */ );
+ void * /* Colormap *pmid */ );
extern _X_EXPORT int TellGainedMap(WindowPtr /*pwin */ ,
- void */* Colormap *pmid */ );
+ void * /* Colormap *pmid */ );
extern _X_EXPORT int CopyColormapAndFree(Colormap /*mid */ ,
ColormapPtr /*pSrc */ ,
@@ -126,7 +126,7 @@ extern _X_EXPORT int QueryColors(ColormapPtr /*pmap */ ,
xrgb * /*prgbList */ ,
ClientPtr client);
-extern _X_EXPORT int FreeClientPixels(void */*pcr */ ,
+extern _X_EXPORT int FreeClientPixels(void * /*pcr */ ,
XID /*fakeid */ );
extern _X_EXPORT int AllocColorCells(int /*client */ ,
diff --git a/xorg-server/include/cursor.h b/xorg-server/include/cursor.h
index 9da08affd..5e9ed92d4 100644
--- a/xorg-server/include/cursor.h
+++ b/xorg-server/include/cursor.h
@@ -68,7 +68,7 @@ extern _X_EXPORT DevScreenPrivateKeyRec cursorScreenDevPriv;
extern _X_EXPORT CursorPtr rootCursor;
-extern _X_EXPORT int FreeCursor(void */*pCurs */ ,
+extern _X_EXPORT int FreeCursor(void * /*pCurs */ ,
XID /*cid */ );
extern _X_EXPORT CursorPtr RefCursor(CursorPtr /* cursor */);
diff --git a/xorg-server/include/dix.h b/xorg-server/include/dix.h
index f42e23655..82bb58cbc 100644
--- a/xorg-server/include/dix.h
+++ b/xorg-server/include/dix.h
@@ -147,14 +147,14 @@ extern _X_EXPORT void UpdateCurrentTime(void);
extern _X_EXPORT void UpdateCurrentTimeIf(void);
-extern _X_EXPORT int dixDestroyPixmap(void */*value */ ,
+extern _X_EXPORT int dixDestroyPixmap(void * /*value */ ,
XID /*pid */ );
extern _X_EXPORT void InitClient(ClientPtr /*client */ ,
int /*i */ ,
- void */*ospriv */ );
+ void * /*ospriv */ );
-extern _X_EXPORT ClientPtr NextAvailableClient(void */*ospriv */ );
+extern _X_EXPORT ClientPtr NextAvailableClient(void * /*ospriv */ );
extern _X_EXPORT void SendErrorToClient(ClientPtr /*client */ ,
unsigned int /*majorCode */ ,
@@ -203,11 +203,11 @@ extern _X_EXPORT int AlterSaveSetForClient(ClientPtr /*client */ ,
extern _X_EXPORT void DeleteWindowFromAnySaveSet(WindowPtr /*pWin */ );
-extern _X_EXPORT void BlockHandler(void */*pTimeout */ ,
- void */*pReadmask */ );
+extern _X_EXPORT void BlockHandler(void * /*pTimeout */ ,
+ void * /*pReadmask */ );
extern _X_EXPORT void WakeupHandler(int /*result */ ,
- void */*pReadmask */ );
+ void * /*pReadmask */ );
void
EnableLimitedSchedulingLatency(void);
@@ -215,21 +215,21 @@ void
void
DisableLimitedSchedulingLatency(void);
-typedef void (*WakeupHandlerProcPtr) (void */* blockData */ ,
+typedef void (*WakeupHandlerProcPtr) (void * /* blockData */ ,
int /* result */ ,
- void */* pReadmask */ );
+ void * /* pReadmask */ );
extern _X_EXPORT Bool RegisterBlockAndWakeupHandlers(BlockHandlerProcPtr
/*blockHandler */ ,
WakeupHandlerProcPtr
/*wakeupHandler */ ,
- void */*blockData */ );
+ void * /*blockData */ );
extern _X_EXPORT void RemoveBlockAndWakeupHandlers(BlockHandlerProcPtr
/*blockHandler */ ,
WakeupHandlerProcPtr
/*wakeupHandler */ ,
- void */*blockData */ );
+ void * /*blockData */ );
extern _X_EXPORT void InitBlockAndWakeupHandlers(void);
@@ -244,15 +244,15 @@ extern _X_EXPORT Bool QueueWorkProc(Bool (* /*function */ )(
void *
/*closure */ ),
ClientPtr /*client */ ,
- void */*closure */
+ void * /*closure */
);
typedef Bool (*ClientSleepProcPtr) (ClientPtr /*client */ ,
- void */*closure */ );
+ void * /*closure */ );
extern _X_EXPORT Bool ClientSleep(ClientPtr /*client */ ,
ClientSleepProcPtr /* function */ ,
- void */*closure */ );
+ void * /*closure */ );
#ifndef ___CLIENTSIGNAL_DEFINED___
#define ___CLIENTSIGNAL_DEFINED___
@@ -444,7 +444,7 @@ extern void
RecalculateDeliverableEvents(WindowPtr /* pWin */ );
extern _X_EXPORT int
-OtherClientGone(void */* value */ ,
+OtherClientGone(void * /* value */ ,
XID /* id */ );
extern void
diff --git a/xorg-server/include/dixfont.h b/xorg-server/include/dixfont.h
index 40d80c141..baa4235e9 100644
--- a/xorg-server/include/dixfont.h
+++ b/xorg-server/include/dixfont.h
@@ -40,9 +40,9 @@ extern _X_EXPORT void QueueFontWakeup(FontPathElementPtr /*fpe */ );
extern _X_EXPORT void RemoveFontWakeup(FontPathElementPtr /*fpe */ );
-extern _X_EXPORT void FontWakeup(void */*data */ ,
+extern _X_EXPORT void FontWakeup(void * /*data */ ,
int /*count */ ,
- void */*LastSelectMask */ );
+ void * /*LastSelectMask */ );
extern _X_EXPORT int OpenFont(ClientPtr /*client */ ,
XID /*fid */ ,
@@ -50,7 +50,7 @@ extern _X_EXPORT int OpenFont(ClientPtr /*client */ ,
unsigned /*lenfname */ ,
const char * /*pfontname */ );
-extern _X_EXPORT int CloseFont(void */*pfont */ ,
+extern _X_EXPORT int CloseFont(void * /*pfont */ ,
XID /*fid */ );
typedef struct _xQueryFontReply *xQueryFontReplyPtr;
diff --git a/xorg-server/include/dixgrabs.h b/xorg-server/include/dixgrabs.h
index d78d8127b..2d8c8584c 100644
--- a/xorg-server/include/dixgrabs.h
+++ b/xorg-server/include/dixgrabs.h
@@ -47,7 +47,7 @@ extern GrabPtr CreateGrab(int /* client */ ,
WindowPtr /* confineTo */ ,
CursorPtr /* cursor */ );
-extern _X_EXPORT int DeletePassiveGrab(void */* value */ ,
+extern _X_EXPORT int DeletePassiveGrab(void * /* value */ ,
XID /* id */ );
extern _X_EXPORT Bool GrabMatchesSecond(GrabPtr /* pFirstGrab */ ,
diff --git a/xorg-server/include/dixstruct.h b/xorg-server/include/dixstruct.h
index 6c13895d7..02ba33ec2 100644
--- a/xorg-server/include/dixstruct.h
+++ b/xorg-server/include/dixstruct.h
@@ -90,7 +90,7 @@ typedef struct _Client {
int priority;
ReplySwapPtr pSwapReplyFunc;
XID errorValue;
- int sequence;
+ unsigned short sequence; //MH
int ignoreCount; /* count for Attend/IgnoreClient */
int numSaved;
SaveSetElt *saveSet;
diff --git a/xorg-server/include/gc.h b/xorg-server/include/gc.h
index ecaa257bb..1e69b5c3d 100644
--- a/xorg-server/include/gc.h
+++ b/xorg-server/include/gc.h
@@ -87,8 +87,8 @@ extern _X_EXPORT void ValidateGC(DrawablePtr /*pDraw */ ,
GCPtr /*pGC */ );
typedef union {
- CARD32 val;
void *ptr;
+ CARD32 val;
} ChangeGCVal, *ChangeGCValPtr;
extern int ChangeGCXIDs(ClientPtr /*client */ ,
@@ -112,7 +112,7 @@ extern _X_EXPORT int CopyGC(GCPtr /*pgcSrc */ ,
GCPtr /*pgcDst */ ,
BITS32 /*mask */ );
-extern _X_EXPORT int FreeGC(void */*pGC */ ,
+extern _X_EXPORT int FreeGC(void * /*pGC */ ,
XID /*gid */ );
extern _X_EXPORT void FreeGCperDepth(int /*screenNum */ );
diff --git a/xorg-server/include/gcstruct.h b/xorg-server/include/gcstruct.h
index c830ccde7..1adea22b5 100644
--- a/xorg-server/include/gcstruct.h
+++ b/xorg-server/include/gcstruct.h
@@ -78,7 +78,7 @@ typedef struct _GCFuncs {
void (*ChangeClip) (GCPtr /*pGC */ ,
int /*type */ ,
- void */*pvalue */ ,
+ void * /*pvalue */ ,
int /*nrects */ );
void (*DestroyClip) (GCPtr /*pGC */ );
@@ -216,7 +216,7 @@ typedef struct _GCOps {
int /*y */ ,
unsigned int /*nglyph */ ,
CharInfoPtr * /*ppci */ ,
- void */*pglyphBase */ );
+ void * /*pglyphBase */ );
void (*PolyGlyphBlt) (DrawablePtr /*pDrawable */ ,
GCPtr /*pGC */ ,
@@ -224,7 +224,7 @@ typedef struct _GCOps {
int /*y */ ,
unsigned int /*nglyph */ ,
CharInfoPtr * /*ppci */ ,
- void */*pglyphBase */ );
+ void * /*pglyphBase */ );
void (*PushPixels) (GCPtr /*pGC */ ,
PixmapPtr /*pBitMap */ ,
diff --git a/xorg-server/include/input.h b/xorg-server/include/input.h
index cbf949b53..af1bfd05e 100644
--- a/xorg-server/include/input.h
+++ b/xorg-server/include/input.h
@@ -316,7 +316,7 @@ extern _X_EXPORT Bool InitTouchClassDeviceStruct(DeviceIntPtr /*device */ ,
typedef void (*BellProcPtr) (int /*percent */ ,
DeviceIntPtr /*device */ ,
- void */*ctrl */ ,
+ void * /*ctrl */ ,
int);
typedef void (*KbdCtrlProcPtr) (DeviceIntPtr /*device */ ,
@@ -576,7 +576,7 @@ extern void TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev,
extern Bool TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource);
extern void TouchAddListener(TouchPointInfoPtr ti, XID resource, int resource_type,
enum InputLevel level, enum TouchListenerType type,
- enum TouchListenerState state, WindowPtr window, GrabPtr grab);
+ enum TouchListenerState state, WindowPtr window, const GrabPtr grab);
extern Bool TouchRemoveListener(TouchPointInfoPtr ti, XID resource);
extern void TouchSetupListeners(DeviceIntPtr dev, TouchPointInfoPtr ti,
InternalEvent *ev);
diff --git a/xorg-server/include/list.h b/xorg-server/include/list.h
index 455c670d3..7bf3cc5f4 100644
--- a/xorg-server/include/list.h
+++ b/xorg-server/include/list.h
@@ -305,7 +305,7 @@ xorg_list_is_empty(struct xorg_list *head)
*
*/
#define xorg_list_for_each_entry(pos, head, member) \
- for (pos = __container_of((head)->next, pos, member); \
+ for (pos = NULL, pos = __container_of((head)->next, pos, member); \
&pos->member != (head); \
pos = __container_of(pos->member.next, pos, member))
@@ -317,7 +317,7 @@ xorg_list_is_empty(struct xorg_list *head)
* See xorg_list_for_each_entry for more details.
*/
#define xorg_list_for_each_entry_safe(pos, tmp, head, member) \
- for (pos = __container_of((head)->next, pos, member), \
+ for (pos = NULL, pos = __container_of((head)->next, pos, member), \
tmp = __container_of(pos->member.next, pos, member); \
&pos->member != (head); \
pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
diff --git a/xorg-server/include/misc.h b/xorg-server/include/misc.h
index 9c2f573b9..594017a26 100644
--- a/xorg-server/include/misc.h
+++ b/xorg-server/include/misc.h
@@ -79,6 +79,16 @@ OF THIS SOFTWARE.
#include <stddef.h>
#include <stdint.h>
+#include <unistd.h>
+
+#ifdef _MSC_VER
+#define inline __inline
+#include <math.h>
+static double __inline trunc(double d)
+{
+ return (d>0) ? floor(d) : ceil(d) ;
+}
+#endif
#ifndef MAXSCREENS
#define MAXSCREENS 16
@@ -86,7 +96,7 @@ OF THIS SOFTWARE.
#ifndef MAXGPUSCREENS
#define MAXGPUSCREENS 16
#endif
-#define MAXCLIENTS 256
+#define MAXCLIENTS 1024
#define MAXEXTENSIONS 128
#define MAXFORMATS 8
#define MAXDEVICES 40 /* input devices */
@@ -173,9 +183,9 @@ lswaps(uint16_t x)
#include <math.h>
#undef MAXSHORT
-#define MAXSHORT SHRT_MAX
+#define MAXSHORT 32767
#undef MINSHORT
-#define MINSHORT SHRT_MIN
+#define MINSHORT -32768
#undef MAXINT
#define MAXINT INT_MAX
#undef MININT
@@ -203,7 +213,7 @@ lswaps(uint16_t x)
* @param bits The minimum number of bits needed.
* @return The number of bytes needed to hold bits.
*/
-static inline int
+static __inline int
bits_to_bytes(const int bits)
{
return ((bits + 7) >> 3);
@@ -215,7 +225,7 @@ bits_to_bytes(const int bits)
* @param bytes The minimum number of bytes needed.
* @return The number of 4-byte units needed to hold bytes.
*/
-static inline int
+static __inline int
bytes_to_int32(const int bytes)
{
return (((bytes) + 3) >> 2);
@@ -226,7 +236,7 @@ bytes_to_int32(const int bytes)
* @param bytes The minimum number of bytes needed.
* @return The closest multiple of 4 that is equal or higher than bytes.
*/
-static inline int
+static __inline int
pad_to_int32(const int bytes)
{
return (((bytes) + 3) & ~3);
@@ -426,7 +436,7 @@ extern _X_EXPORT unsigned long serverGeneration;
do { if (cond) { \
ErrorFSigSafe("BUG: triggered 'if (" #cond ")'\n"); \
ErrorFSigSafe("BUG: %s:%u in %s()\n", \
- __FILE__, __LINE__, __func__); \
+ __FILE__, __LINE__, __FUNCTION__); \
if (with_msg) ErrorFSigSafe(__VA_ARGS__); \
xorg_backtrace(); \
} } while(0)
diff --git a/xorg-server/include/os.h b/xorg-server/include/os.h
index d26e399b6..ed7e8806a 100644
--- a/xorg-server/include/os.h
+++ b/xorg-server/include/os.h
@@ -121,6 +121,8 @@ extern _X_EXPORT int WriteToClient(ClientPtr /*who */ , int /*count */ ,
extern _X_EXPORT void ResetOsBuffers(void);
+extern _X_EXPORT int TransIsListening(char *protocol);
+
extern _X_EXPORT void InitConnectionLimits(void);
extern _X_EXPORT void NotifyParentProcess(void);
@@ -140,7 +142,7 @@ extern _X_EXPORT const char *ClientAuthorized(ClientPtr /*client */ ,
char * /*auth_string */ );
extern _X_EXPORT Bool EstablishNewConnections(ClientPtr /*clientUnused */ ,
- void */*closure */ );
+ void * /*closure */ );
extern _X_EXPORT void CheckConnections(void);
@@ -173,14 +175,14 @@ extern _X_EXPORT Bool AddClientOnOpenFD(int /* fd */ );
extern _X_EXPORT CARD32 GetTimeInMillis(void);
extern _X_EXPORT CARD64 GetTimeInMicros(void);
-extern _X_EXPORT void AdjustWaitForDelay(void */*waitTime */ ,
+extern _X_EXPORT void AdjustWaitForDelay(void * /*waitTime */ ,
unsigned long /*newdelay */ );
typedef struct _OsTimerRec *OsTimerPtr;
typedef CARD32 (*OsTimerCallback) (OsTimerPtr /* timer */ ,
CARD32 /* time */ ,
- void */* arg */ );
+ void * /* arg */ );
extern _X_EXPORT void TimerInit(void);
@@ -193,7 +195,7 @@ extern _X_EXPORT OsTimerPtr TimerSet(OsTimerPtr /* timer */ ,
int /* flags */ ,
CARD32 /* millis */ ,
OsTimerCallback /* func */ ,
- void */* arg */ );
+ void * /* arg */ );
extern _X_EXPORT void TimerCheck(void);
extern _X_EXPORT void TimerCancel(OsTimerPtr /* pTimer */ );
@@ -212,7 +214,7 @@ extern _X_EXPORT void ProcessCommandLine(int /*argc */ , char * /*argv */ []);
extern _X_EXPORT int set_font_authorizations(char ** /* authorizations */ ,
int * /*authlen */ ,
- void */* client */ );
+ void * /* client */ );
#ifndef _HAVE_XALLOC_DECLS
#define _HAVE_XALLOC_DECLS
@@ -395,14 +397,14 @@ ForEachHostInFamily(int /*family */ ,
Bool (* /*func */ )(
unsigned char * /* addr */ ,
short /* len */ ,
- void */* closure */ ),
- void */*closure */ );
+ void * /* closure */ ),
+ void * /*closure */ );
extern _X_EXPORT int
RemoveHost(ClientPtr /*client */ ,
int /*family */ ,
unsigned /*length */ ,
- void */*pAddr */ );
+ void * /*pAddr */ );
extern _X_EXPORT int
GetHosts(void ** /*data */ ,
@@ -460,11 +462,11 @@ extern _X_EXPORT void
AccessUsingXdmcp(void);
extern _X_EXPORT void
-DefineSelf(int /*fd */ );
+DefineSelf(int /*fd */ , const int /*protocol*/);
#if XDMCP
extern _X_EXPORT void
-AugmentSelf(void */*from */ , int /*len */ );
+AugmentSelf(void * /*from */ , int /*len */ );
extern _X_EXPORT void
RegisterAuthorizations(void);
@@ -668,10 +670,20 @@ _X_ATTRIBUTE_PRINTF(1, 2)
#define DebugF(...) /* */
#endif
+#ifdef _MSC_VER
+#ifdef INSERVER
+#define SERVEXTERN _declspec(dllimport)
+#else
+#define SERVEXTERN _declspec(dllexport)
+#endif
+#else
+#define SERVEXTERN _X_EXPORT
+#endif
+
extern _X_EXPORT void
VErrorF(const char *f, va_list args)
_X_ATTRIBUTE_PRINTF(1, 0);
-extern _X_EXPORT void
+extern SERVEXTERN void
ErrorF(const char *f, ...)
_X_ATTRIBUTE_PRINTF(1, 2);
extern _X_EXPORT void
@@ -686,6 +698,10 @@ LogPrintMarkers(void);
extern _X_EXPORT void
xorg_backtrace(void);
+#ifdef _MSC_VER
+#define snprintf _snprintf
+#endif
+
extern _X_EXPORT int
os_move_fd(int fd);
diff --git a/xorg-server/include/pixmap.h b/xorg-server/include/pixmap.h
index 46ec3f5a2..12bb94fd1 100644
--- a/xorg-server/include/pixmap.h
+++ b/xorg-server/include/pixmap.h
@@ -99,7 +99,7 @@ extern _X_EXPORT PixmapPtr GetScratchPixmapHeader(ScreenPtr /*pScreen */ ,
int /*depth */ ,
int /*bitsPerPixel */ ,
int /*devKind */ ,
- void */*pPixData */ );
+ void * /*pPixData */ );
extern _X_EXPORT void FreeScratchPixmapHeader(PixmapPtr /*pPixmap */ );
diff --git a/xorg-server/include/pixmapstr.h b/xorg-server/include/pixmapstr.h
index 2a1ef9b85..d933a5916 100644
--- a/xorg-server/include/pixmapstr.h
+++ b/xorg-server/include/pixmapstr.h
@@ -76,10 +76,8 @@ typedef struct _Pixmap {
int refcnt;
int devKind; /* This is the pitch of the pixmap, typically width*bpp/8. */
DevUnion devPrivate; /* When !NULL, devPrivate.ptr points to the raw pixel data. */
-#ifdef COMPOSITE
short screen_x;
short screen_y;
-#endif
unsigned usage_hint; /* see CREATE_PIXMAP_USAGE_* */
PixmapPtr master_pixmap; /* pointer to master copy of pixmap for pixmap sharing */
diff --git a/xorg-server/include/property.h b/xorg-server/include/property.h
index 3b8ea8b2d..2e8b54f87 100644
--- a/xorg-server/include/property.h
+++ b/xorg-server/include/property.h
@@ -64,7 +64,7 @@ extern _X_EXPORT int dixChangeWindowProperty(ClientPtr /*pClient */ ,
int /*format */ ,
int /*mode */ ,
unsigned long /*len */ ,
- void */*value */ ,
+ void * /*value */ ,
Bool /*sendevent */ );
extern _X_EXPORT int ChangeWindowProperty(WindowPtr /*pWin */ ,
@@ -73,7 +73,7 @@ extern _X_EXPORT int ChangeWindowProperty(WindowPtr /*pWin */ ,
int /*format */ ,
int /*mode */ ,
unsigned long /*len */ ,
- void */*value */ ,
+ void * /*value */ ,
Bool /*sendevent */ );
extern _X_EXPORT int DeleteProperty(ClientPtr /*client */ ,
diff --git a/xorg-server/include/resource.h b/xorg-server/include/resource.h
index db44aefad..ffe02a67e 100644
--- a/xorg-server/include/resource.h
+++ b/xorg-server/include/resource.h
@@ -69,7 +69,7 @@ typedef uint32_t RESTYPE;
#define RC_LASTPREDEF RC_NEVERRETAIN
#define RC_ANY (~(RESTYPE)0)
-/* types for Resource routines */
+/* types for Resource routines. When you change one of them, please also update the predefTypes array in resource.c*/
#define RT_WINDOW ((RESTYPE)1|RC_DRAWABLE)
#define RT_PIXMAP ((RESTYPE)2|RC_DRAWABLE)
@@ -99,6 +99,9 @@ typedef uint32_t RESTYPE;
#if MAXCLIENTS == 512
#define RESOURCE_CLIENT_BITS 9
#endif
+#if MAXCLIENTS == 1024
+#define RESOURCE_CLIENT_BITS 10
+#endif
/* client field offset */
#define CLIENTOFFSET (RESOURCE_AND_CLIENT_COUNT - RESOURCE_CLIENT_BITS)
/* resource field */
@@ -136,21 +139,21 @@ typedef struct {
void *value;
} ResourceStateInfoRec;
-typedef int (*DeleteType) (void */*value */ ,
+typedef int (*DeleteType) (void * /*value */ ,
XID /*id */ );
-typedef void (*FindResType) (void */*value */ ,
+typedef void (*FindResType) (void * /*value */ ,
XID /*id */ ,
- void */*cdata */ );
+ void * /*cdata */ );
-typedef void (*FindAllRes) (void */*value */ ,
+typedef void (*FindAllRes) (void * /*value */ ,
XID /*id */ ,
RESTYPE /*type */ ,
- void */*cdata */ );
+ void * /*cdata */ );
-typedef Bool (*FindComplexResType) (void */*value */ ,
+typedef Bool (*FindComplexResType) (void * /*value */ ,
XID /*id */ ,
- void */*cdata */ );
+ void * /*cdata */ );
/* Structure for estimating resource memory usage. Memory usage
* consists of space allocated for the resource itself and of
@@ -166,16 +169,16 @@ typedef struct {
unsigned long refCnt;
} ResourceSizeRec, *ResourceSizePtr;
-typedef void (*SizeType)(void */*value*/,
+typedef void (*SizeType)(void * /*value*/,
XID /*id*/,
ResourceSizePtr /*size*/);
extern _X_EXPORT RESTYPE CreateNewResourceType(DeleteType /*deleteFunc */ ,
const char * /*name */ );
-typedef void (*FindTypeSubResources)(void */* value */,
+typedef void (*FindTypeSubResources)(void * /* value */,
FindAllRes /* func */,
- void */* cdata */);
+ void * /* cdata */);
extern _X_EXPORT SizeType GetResourceTypeSizeFunc(
RESTYPE /*type*/);
@@ -202,7 +205,7 @@ extern _X_EXPORT XID FakeClientID(int /*client */ );
#endif
extern _X_EXPORT Bool AddResource(XID /*id */ ,
RESTYPE /*type */ ,
- void */*value */ );
+ void * /*value */ );
extern _X_EXPORT void FreeResource(XID /*id */ ,
RESTYPE /*skipDeleteFuncType */ );
@@ -213,25 +216,25 @@ extern _X_EXPORT void FreeResourceByType(XID /*id */ ,
extern _X_EXPORT Bool ChangeResourceValue(XID /*id */ ,
RESTYPE /*rtype */ ,
- void */*value */ );
+ void * /*value */ );
extern _X_EXPORT void FindClientResourcesByType(ClientPtr /*client */ ,
RESTYPE /*type */ ,
FindResType /*func */ ,
- void */*cdata */ );
+ void * /*cdata */ );
extern _X_EXPORT void FindAllClientResources(ClientPtr /*client */ ,
FindAllRes /*func */ ,
- void */*cdata */ );
+ void * /*cdata */ );
/** @brief Iterate through all subresources of a resource.
@note The XID argument provided to the FindAllRes function
may be 0 for subresources that don't have an XID */
-extern _X_EXPORT void FindSubResources(void */*resource*/,
+extern _X_EXPORT void FindSubResources(void * /*resource*/,
RESTYPE /*type*/,
FindAllRes /*func*/,
- void */*cdata*/);
+ void * /*cdata*/);
extern _X_EXPORT void FreeClientNeverRetainResources(ClientPtr /*client */ );
diff --git a/xorg-server/include/scrnintstr.h b/xorg-server/include/scrnintstr.h
index 6acdadd7a..f6a5ef3aa 100644
--- a/xorg-server/include/scrnintstr.h
+++ b/xorg-server/include/scrnintstr.h
@@ -66,7 +66,7 @@ typedef struct _Visual {
VisualID vid;
short class;
short bitsPerRGBValue;
- short ColormapEntries;
+ long ColormapEntries;
short nplanes; /* = log2 (ColormapEntries). This does not
* imply that the screen has this many planes.
* it may have more or fewer */
@@ -260,12 +260,12 @@ typedef void (*SendGraphicsExposeProcPtr) (ClientPtr /*client */ ,
int /*minor */ );
typedef void (*ScreenBlockHandlerProcPtr) (ScreenPtr /*pScreen*/ ,
- void */*pTimeout */ ,
- void */*pReadmask */ );
+ void * /*pTimeout */ ,
+ void * /*pReadmask */ );
typedef void (*ScreenWakeupHandlerProcPtr) (ScreenPtr /*pScreen*/ ,
unsigned long /*result */ ,
- void */*pReadMask */ );
+ void * /*pReadMask */ );
typedef Bool (*CreateScreenResourcesProcPtr) (ScreenPtr /*pScreen */ );
@@ -275,7 +275,7 @@ typedef Bool (*ModifyPixmapHeaderProcPtr) (PixmapPtr /*pPixmap */ ,
int /*depth */ ,
int /*bitsPerPixel */ ,
int /*devKind */ ,
- void */*pPixData */ );
+ void * /*pPixData */ );
typedef PixmapPtr (*GetWindowPixmapProcPtr) (WindowPtr /*pWin */ );
@@ -332,6 +332,10 @@ typedef void (*MarkUnrealizedWindowProcPtr) (WindowPtr /*pChild */ ,
WindowPtr /*pWin */ ,
Bool /*fromConfigure */ );
+#ifdef CreateWindow
+#undef CreateWindow
+#endif
+
typedef Bool (*DeviceCursorInitializeProcPtr) (DeviceIntPtr /* pDev */ ,
ScreenPtr /* pScreen */ );
diff --git a/xorg-server/include/servermd.h b/xorg-server/include/servermd.h
index e41331463..fff6ed156 100644..100755
--- a/xorg-server/include/servermd.h
+++ b/xorg-server/include/servermd.h
@@ -305,6 +305,12 @@ SOFTWARE.
#endif /* __aarch64__ */
+#ifdef WIN32
+#define IMAGE_BYTE_ORDER LSBFirst
+#define BITMAP_BIT_ORDER LSBFirst
+#define GLYPHPADBYTES 4
+#endif
+
#if defined(__arc__)
#if defined(__BIG_ENDIAN__)
diff --git a/xorg-server/include/site.h b/xorg-server/include/site.h
index 25caabbb3..52a5e8388 100644
--- a/xorg-server/include/site.h
+++ b/xorg-server/include/site.h
@@ -51,7 +51,7 @@ SOFTWARE.
* server executable.
*/
#ifndef VENDOR_STRING
-#define VENDOR_STRING "The X.Org Foundation"
+#define VENDOR_STRING "HC-Consult"
#endif
/*
@@ -60,7 +60,7 @@ SOFTWARE.
* by the vendor.
*/
#ifndef VENDOR_RELEASE
-#define VENDOR_RELEASE 6600
+#define VENDOR_RELEASE XORG_VERSION_CURRENT
#endif
/*
diff --git a/xorg-server/include/version-config.h b/xorg-server/include/version-config.h
new file mode 100644
index 000000000..b8d482ce8
--- /dev/null
+++ b/xorg-server/include/version-config.h
@@ -0,0 +1,16 @@
+/* version-config.h.in: not generated */
+
+#ifndef VERSION_CONFIG_H
+#define VERSION_CONFIG_H
+
+/* Vendor man version */
+#undef VENDOR_MAN_VERSION
+
+/* Vendor name */
+#define VENDOR_NAME "HC-Consult"
+
+/* Vendor release */
+#define VENDOR_RELEASE XORG_VERSION_CURRENT
+
+#endif /* VERSION_CONFIG_H */
+
diff --git a/xorg-server/include/window.h b/xorg-server/include/window.h
index b5a937eef..175ca5e31 100644
--- a/xorg-server/include/window.h
+++ b/xorg-server/include/window.h
@@ -73,15 +73,15 @@ typedef struct _BackingStore *BackingStorePtr;
typedef struct _Window *WindowPtr;
typedef int (*VisitWindowProcPtr) (WindowPtr /*pWin */ ,
- void */*data */ );
+ void * /*data */ );
extern _X_EXPORT int TraverseTree(WindowPtr /*pWin */ ,
VisitWindowProcPtr /*func */ ,
- void */*data */ );
+ void * /*data */ );
extern _X_EXPORT int WalkTree(ScreenPtr /*pScreen */ ,
VisitWindowProcPtr /*func */ ,
- void */*data */ );
+ void * /*data */ );
extern _X_EXPORT Bool CreateRootWindow(ScreenPtr /*pScreen */ );
@@ -108,7 +108,7 @@ extern _X_EXPORT WindowPtr CreateWindow(Window /*wid */ ,
VisualID /*visual */ ,
int * /*error */ );
-extern _X_EXPORT int DeleteWindow(void */*pWin */ ,
+extern _X_EXPORT int DeleteWindow(void * /*pWin */ ,
XID /*wid */ );
extern _X_EXPORT int DestroySubwindows(WindowPtr /*pWin */ ,
diff --git a/xorg-server/include/windowstr.h b/xorg-server/include/windowstr.h
index 6b79bbd2e..e06418659 100644
--- a/xorg-server/include/windowstr.h
+++ b/xorg-server/include/windowstr.h
@@ -140,7 +140,7 @@ typedef struct _Window {
RegionRec borderSize;
DDXPointRec origin; /* position relative to parent */
unsigned short borderWidth;
- unsigned short deliverableEvents; /* all masks from all clients */
+ unsigned long deliverableEvents; /* all masks from all clients */
Mask eventMask; /* mask from the creating client */
PixUnion background;
PixUnion border;
diff --git a/xorg-server/include/xkb-config.h b/xorg-server/include/xkb-config.h
new file mode 100644
index 000000000..7041656fe
--- /dev/null
+++ b/xorg-server/include/xkb-config.h
@@ -0,0 +1,33 @@
+/* include/xkb-config.h. Generated from xkb-config.h.in by configure. */
+/* xkb-config.h.in: not at all generated. -*- c -*-
+ *
+ */
+
+#ifndef _XKB_CONFIG_H_
+#define _XKB_CONFIG_H_
+
+/* Default set of XKB rules. */
+#define XKB_DFLT_RULES "xorg"
+
+/* Default XKB model. */
+#define XKB_DFLT_MODEL "pc104"
+
+/* Default XKB layout. */
+#define XKB_DFLT_LAYOUT "us"
+
+/* Default XKB variant. */
+#define XKB_DFLT_VARIANT ""
+
+/* Default XKB options. */
+#define XKB_DFLT_OPTIONS ""
+
+/* Path to XKB definitions. */
+#define XKB_BASE_DIRECTORY "xkbdata"
+
+/* Path to xkbcomp. */
+#define XKB_BIN_DIRECTORY "."
+
+/* XKB output dir for compiled keymaps. */
+#define XKM_OUTPUT_DIR "xkbdata/compiled/"
+
+#endif /* _XKB_CONFIG_H_ */
diff --git a/xorg-server/include/xkbsrv.h b/xorg-server/include/xkbsrv.h
index 229de2194..a1bb62110 100644
--- a/xorg-server/include/xkbsrv.h
+++ b/xorg-server/include/xkbsrv.h
@@ -600,7 +600,7 @@ extern _X_EXPORT void XkbHandleBell(BOOL /* force */ ,
BOOL /* eventOnly */ ,
DeviceIntPtr /* kbd */ ,
CARD8 /* percent */ ,
- void */* ctrl */ ,
+ void * /* ctrl */ ,
CARD8 /* class */ ,
Atom /* name */ ,
WindowPtr /* pWin */ ,
diff --git a/xorg-server/include/xkbstr.h b/xorg-server/include/xkbstr.h
index 935330c7c..b85bf9220 100644
--- a/xorg-server/include/xkbstr.h
+++ b/xorg-server/include/xkbstr.h
@@ -46,10 +46,10 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
typedef struct _XkbStateRec {
unsigned char group; /* base + latched + locked */
+ unsigned char locked_group;
/* FIXME: Why are base + latched short and not char?? */
unsigned short base_group; /* physically ... down? */
unsigned short latched_group;
- unsigned char locked_group;
unsigned char mods; /* base + latched + locked */
unsigned char base_mods; /* physically down */
diff --git a/xorg-server/include/xwin-config.h b/xorg-server/include/xwin-config.h
new file mode 100644
index 000000000..e6c4488a3
--- /dev/null
+++ b/xorg-server/include/xwin-config.h
@@ -0,0 +1,36 @@
+/*
+ * xwin-config.h.in
+ *
+ * This file has all defines used in the xwin ddx
+ *
+ */
+#include <dix-config.h>
+
+/* Winsock networking */
+#define HAS_WINSOCK
+
+/* Cygwin has /dev/windows for signaling new win32 messages */
+/* #undef HAS_DEVWINDOWS */
+
+/* Switch on debug messages */
+/* #undef CYGDEBUG */
+/* #undef CYGWINDOWING_DEBUG */
+/* #undef CYGMULTIWINDOW_DEBUG */
+
+/* Define to 1 if unsigned long is 64 bits. */
+/* #undef _XSERVER64 */
+
+/* Short vendor name */
+#define XVENDORNAMESHORT "VcXsrv"
+
+/* Vendor web address for support */
+#define __VENDORDWEBSUPPORT__ "http://www.hc-consult.be/"
+
+/* Location of system.XWinrc */
+#define SYSCONFDIR "."
+
+/* Default log location */
+#define DEFAULT_LOGDIR "."
+
+/* Whether we should re-locate the root to where the executable lives */
+/* #undef RELOCATE_PROJECTROOT */
diff --git a/xorg-server/installer/genruntimeinclude.py b/xorg-server/installer/genruntimeinclude.py
new file mode 100644
index 000000000..bad6c8324
--- /dev/null
+++ b/xorg-server/installer/genruntimeinclude.py
@@ -0,0 +1,82 @@
+PublicToken="1fc8b3b9a1e18e3b"
+
+Template=r"""!define MSVC_PUBLICTOKEN "<PUBLICTOKEN>"
+!define MSVC_VERSION "<VERSION>"
+!define MSVCR90_DLL "<WINSXSDIR>\x86_Microsoft.VC90.CRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION}_<SUFFIX>\msvcr90.dll"
+!define MSVCM90_DLL "<WINSXSDIR>\x86_Microsoft.VC90.CRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION}_<SUFFIX>\msvcm90.dll"
+!define MSVCP90_DLL "<WINSXSDIR>\x86_Microsoft.VC90.CRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION}_<SUFFIX>\msvcp90.dll"
+!define MSVC_CAT "<WINSXSDIR>\manifests\x86_Microsoft.VC90.CRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION}_<SUFFIX>.cat"
+!define MSVC_MANIFEST_PART "x86_Microsoft.VC90.CRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION}_<SUFFIX>.manifest"
+!define MSVC_MANIFEST "<WINSXSDIR>\manifests\${MSVC_MANIFEST_PART}"
+
+!define MSVC_VERSION_D "<DVERSION>"
+!define MSVCR90_DLL_D "<WINSXSDIR>\x86_Microsoft.VC90.DebugCRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION_D}_<DSUFFIX>\msvcr90d.dll"
+!define MSVCM90_DLL_D "<WINSXSDIR>\x86_Microsoft.VC90.DebugCRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION_D}_<DSUFFIX>\msvcm90d.dll"
+!define MSVCP90_DLL_D "<WINSXSDIR>\x86_Microsoft.VC90.DebugCRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION_D}_<DSUFFIX>\msvcp90d.dll"
+!define MSVC_CAT_D "<WINSXSDIR>\manifests\x86_Microsoft.VC90.DebugCRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION_D}_<DSUFFIX>.cat"
+!define MSVC_MANIFEST_PART_D "x86_Microsoft.VC90.DebugCRT_${MSVC_PUBLICTOKEN}_9.0.${MSVC_VERSION_D}_<DSUFFIX>.manifest"
+!define MSVC_MANIFEST_D "<WINSXSDIR>\manifests\${MSVC_MANIFEST_PART_D}"
+"""
+
+import glob,re,sys,os
+
+Files=glob.glob(r"c:\windows\winsxs\x86_Microsoft.VC90.CRT_%s_9.0.*"%PublicToken)
+DebugFiles=glob.glob(r"c:\windows\winsxs\x86_Microsoft.VC90.DebugCRT_%s_9.0.*"%PublicToken)
+
+SearchRe=re.compile(r"c:\\windows\\winsxs\\x86_Microsoft\.VC90\.CRT_%s_9\.0\.([0-9]+)\.([0-9]+)_(.*)"%PublicToken,re.I)
+DebugSearchRe=re.compile(r"c:\\windows\\winsxs\\x86_Microsoft\.VC90\.DebugCRT_%s_9\.0\.([0-9]+)\.([0-9]+)_(.*)"%PublicToken,re.I)
+
+# Release Dlls
+MajorVersion=0
+MinorVersion=0
+LatestFile=None
+#Now Select the one with the latest version
+for File in Files:
+ # Extract version
+ Search=SearchRe.search(File)
+ Major=int(Search.group(1))
+ Minor=int(Search.group(2))
+ if Major>MajorVersion:
+ MajorVersion=Major
+ MinorVersion=Minor
+ LatestFile=File
+ Suffix=Search.group(3)
+ elif Major==MajorVersion and Minor>MinorVersion:
+ MinorVersion=Minor
+ LatestFile=File
+ Suffix=Search.group(3)
+
+
+Template=re.sub("<VERSION>","%d.%d"%(MajorVersion,MinorVersion),Template)
+Template=re.sub("<SUFFIX>",Suffix,Template)
+
+# Debug dlls
+MajorVersion=0
+MinorVersion=0
+LatestFile=None
+#Now Select the one with the latest version
+for File in DebugFiles:
+ # Extract version
+ Search=DebugSearchRe.search(File)
+ Major=int(Search.group(1))
+ Minor=int(Search.group(2))
+ if Major>MajorVersion:
+ MajorVersion=Major
+ MinorVersion=Minor
+ LatestFile=File
+ Suffix=Search.group(3)
+ elif Major==MajorVersion and Minor>MinorVersion:
+ MinorVersion=Minor
+ LatestFile=File
+ Suffix=Search.group(3)
+
+
+Template=re.sub("<DVERSION>","%d.%d"%(MajorVersion,MinorVersion),Template)
+Template=re.sub("<DSUFFIX>",Suffix,Template)
+
+# Adjust common stuff
+Template=re.sub("<PUBLICTOKEN>",PublicToken,Template)
+WinSxsDir=os.path.join(os.getenv("systemroot"),"WinSxS")
+Template=re.sub("<WINSXSDIR>",WinSxsDir,Template)
+
+open("runtime","w").write(Template)
diff --git a/xorg-server/installer/packageall.bat b/xorg-server/installer/packageall.bat
new file mode 100755
index 000000000..9b5e543de
--- /dev/null
+++ b/xorg-server/installer/packageall.bat
@@ -0,0 +1,40 @@
+@echo off
+if exist vcxsrv*.installer.exe del vcxsrv*.installer.exe
+
+if "%1"=="nox86" goto skipx86
+
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86\Microsoft.VC120.CRT\msvcp120.dll"
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86\Microsoft.VC120.CRT\msvcr120.dll"
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC120.DebugCRT\msvcp120d.dll"
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC120.DebugCRT\msvcr120d.dll"
+
+if exist "C:\Program Files (x86)\NSIS\makensis.exe" (
+ "C:\Program Files (x86)\NSIS\makensis.exe" vcxsrv.nsi
+ "C:\Program Files (x86)\NSIS\makensis.exe" vcxsrv-debug.nsi
+) else (
+ "C:\Program Files\NSIS\makensis.exe" vcxsrv.nsi
+ "C:\Program Files\NSIS\makensis.exe" vcxsrv-debug.nsi
+)
+
+:skipx86
+if "%1"=="nox64" goto skipx64
+
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.CRT\msvcp120.dll"
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64\Microsoft.VC120.CRT\msvcr120.dll"
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC120.DebugCRT\msvcp120d.dll"
+copy "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC120.DebugCRT\msvcr120d.dll"
+
+if exist "C:\Program Files (x86)\NSIS\makensis.exe" (
+ "C:\Program Files (x86)\NSIS\makensis.exe" vcxsrv-64.nsi
+ "C:\Program Files (x86)\NSIS\makensis.exe" vcxsrv-64-debug.nsi
+) else (
+ "C:\Program Files\NSIS\makensis.exe" vcxsrv-64.nsi
+ "C:\Program Files\NSIS\makensis.exe" vcxsrv-64-debug.nsi
+)
+
+:skipx64
+
+del msvcr120.dll
+del msvcr120d.dll
+del msvcp120.dll
+del msvcp120d.dll
diff --git a/xorg-server/installer/vcxsrv-64-debug.nsi b/xorg-server/installer/vcxsrv-64-debug.nsi
new file mode 100644
index 000000000..12c9945ca
--- /dev/null
+++ b/xorg-server/installer/vcxsrv-64-debug.nsi
@@ -0,0 +1,97 @@
+/* This file is part of vcxsrv.
+ *
+ * Copyright (C) 2009 Marc Haesen
+ *
+ * vcxsrv is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * vcxsrv is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with vcxsrv. If not, see <http://www.gnu.org/licenses/>.
+*/
+;--------------------------------
+
+; The name of the installer
+Name "VcXsrv"
+
+; The file to write
+OutFile "vcxsrv-64-debug.1.15.0.2.installer.exe"
+
+; The default installation directory
+InstallDir $PROGRAMFILES64\VcXsrv
+
+; Registry key to check for directory (so if you install again, it will
+; overwrite the old one automatically)
+InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir_64"
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel admin
+
+;--------------------------------
+InstType "Full"
+
+; Pages
+
+Page components
+Page directory
+Page instfiles
+
+UninstPage uninstConfirm
+UninstPage instfiles
+
+SetPluginUnload alwaysoff
+; ShowInstDetails show
+XPStyle on
+
+!define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8}
+
+;--------------------------------
+; The stuff to install
+Section "VcXsrv debug exe and dlls"
+
+ SectionIn RO
+ SectionIn 1
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR
+
+ IfFileExists "$INSTDIR\msvcr100d.dll" 0 +2
+ Delete "$INSTDIR\msvcr100d.dll"
+ IfFileExists "$INSTDIR\msvcp100d.dll" 0 +2
+ Delete "$INSTDIR\msvcp100d.dll"
+ IfFileExists "$INSTDIR\msvcr110d.dll" 0 +2
+ Delete "$INSTDIR\msvcr110d.dll"
+ IfFileExists "$INSTDIR\msvcp110d.dll" 0 +2
+ Delete "$INSTDIR\msvcp110d.dll"
+
+ ; Put files there
+ File "..\obj64\servdebug\vcxsrv.exe"
+ File "..\..\xkbcomp\obj64\debug\xkbcomp.exe"
+ File "..\..\apps\xhost\obj64\debug\xhost.exe"
+ File "..\..\apps\xrdb\obj64\debug\xrdb.exe"
+ File "..\..\apps\xauth\obj64\debug\xauth.exe"
+ File "..\..\apps\xcalc\obj64\debug\xcalc.exe"
+ File "..\..\apps\xclock\obj64\debug\xclock.exe"
+ File "..\..\apps\xwininfo\obj64\debug\xwininfo.exe"
+ File "..\hw\xwin\xlaunch\obj64\debug\xlaunch.exe"
+ File "..\..\tools\plink\obj64\debug\plink.exe"
+ File "..\..\mesalib\windows\VC8\mesa\x64\Debug\swrast_dri.dll"
+ File "..\hw\xwin\swrastwgl_dri\obj64\debug\swrastwgl_dri.dll"
+ File "..\..\dxtn\obj64\debug\dxtn.dll"
+ File "..\..\zlib\obj64\debug\zlib1.dll"
+ File "..\..\libxcb\src\obj64\debug\libxcb.dll"
+ File "..\..\libXau\obj64\debug\libXau.dll"
+ File "..\..\libX11\obj64\debug\libX11.dll"
+ File "..\..\libXext\src\obj64\debug\libXext.dll"
+ File "..\..\libXmu\src\obj64\debug\libXmu.dll"
+ File "msvcr120d.dll"
+ File "msvcp120d.dll"
+
+ WriteRegStr HKLM SOFTWARE\VcXsrv "Install_Dir_64" $INSTDIR
+SectionEnd
diff --git a/xorg-server/installer/vcxsrv-64.nsi b/xorg-server/installer/vcxsrv-64.nsi
new file mode 100644
index 000000000..3d528692c
--- /dev/null
+++ b/xorg-server/installer/vcxsrv-64.nsi
@@ -0,0 +1,256 @@
+/* This file is part of vcxsrv.
+ *
+ * Copyright (C) 2009 Marc Haesen
+ *
+ * vcxsrv is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * vcxsrv is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with vcxsrv. If not, see <http://www.gnu.org/licenses/>.
+*/
+;--------------------------------
+
+; The name of the installer
+Name "VcXsrv"
+
+; The file to write
+OutFile "vcxsrv-64.1.15.0.2.installer.exe"
+
+; The default installation directory
+InstallDir $programfiles64\VcXsrv
+
+; Registry key to check for directory (so if you install again, it will
+; overwrite the old one automatically)
+InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir_64"
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel admin
+
+;--------------------------------
+InstType "Full"
+InstType "Minimal"
+
+; Pages
+
+Page components
+Page directory
+Page instfiles
+
+UninstPage uninstConfirm
+UninstPage instfiles
+
+SetPluginUnload alwaysoff
+; ShowInstDetails show
+XPStyle on
+
+!define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8}
+
+;--------------------------------
+; The stuff to install
+Section "VcXsrv (required)"
+
+ SectionIn RO
+ SectionIn 1 2 3
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR
+
+ ; Remove old opengl32.dll file if it extits
+ IfFileExists "$INSTDIR\opengl32.dll" 0 +2
+ Delete "$INSTDIR\opengl32.dll"
+ IfFileExists "$INSTDIR\msvcr100.dll" 0 +2
+ Delete "$INSTDIR\msvcr100.dll"
+ IfFileExists "$INSTDIR\msvcp100.dll" 0 +2
+ Delete "$INSTDIR\msvcp100.dll"
+ IfFileExists "$INSTDIR\msvcr110.dll" 0 +2
+ Delete "$INSTDIR\msvcr110.dll"
+ IfFileExists "$INSTDIR\msvcp110.dll" 0 +2
+ Delete "$INSTDIR\msvcp110.dll"
+
+ ; Put files there
+ File "..\obj64\servrelease\vcxsrv.exe"
+ File "..\dix\protocol.txt"
+ File "..\system.XWinrc"
+ File "..\X0.hosts"
+ File "..\..\xkbcomp\obj64\release\xkbcomp.exe"
+ File "..\..\apps\xhost\obj64\release\xhost.exe"
+ File "..\..\apps\xrdb\obj64\release\xrdb.exe"
+ File "..\..\apps\xauth\obj64\release\xauth.exe"
+ File "..\..\apps\xcalc\obj64\release\xcalc.exe"
+ File "..\..\apps\xcalc\app-defaults\xcalc"
+ File "..\..\apps\xcalc\app-defaults\xcalc-color"
+ File "..\..\apps\xclock\obj64\release\xclock.exe"
+ File "..\..\apps\xclock\app-defaults\xclock"
+ File "..\..\apps\xclock\app-defaults\xclock-color"
+ File "..\..\apps\xwininfo\obj64\release\xwininfo.exe"
+ File "..\XKeysymDB"
+ File "..\..\libX11\src\XErrorDB"
+ File "..\..\libX11\src\xcms\Xcms.txt"
+ File "..\XtErrorDB"
+ File "..\.Xdefaults"
+ File "..\hw\xwin\xlaunch\obj64\release\xlaunch.exe"
+ File "..\..\tools\plink\obj64\release\plink.exe"
+ File "..\..\mesalib\windows\VC8\mesa\x64\Release\swrast_dri.dll"
+ File "..\hw\xwin\swrastwgl_dri\obj64\release\swrastwgl_dri.dll"
+ File "..\..\dxtn\obj64\release\dxtn.dll"
+ File "..\..\libxml2\bin64\libxml2-2.dll"
+ File "..\..\libxml2\bin64\libgcc_s_sjlj-1.dll"
+ File "..\..\libxml2\bin64\libiconv-2.dll"
+ File "..\..\libxml2\bin64\libwinpthread-1.dll"
+ File "..\..\zlib\obj64\release\zlib1.dll"
+ File "..\..\libxcb\src\obj64\release\libxcb.dll"
+ File "..\..\libXau\obj64\release\libXau.dll"
+ File "..\..\libX11\obj64\release\libX11.dll"
+ File "..\..\libXext\src\obj64\release\libXext.dll"
+ File "..\..\libXmu\src\obj64\release\libXmu.dll"
+ File "msvcr120.dll"
+ File "msvcp120.dll"
+ SetOutPath $INSTDIR\xkbdata
+ File /r "..\xkbdata\*.*"
+ SetOutPath $INSTDIR\locale
+ File /r "..\locale\*.*"
+ SetOutPath $INSTDIR\bitmaps
+ File /r "..\bitmaps\*.*"
+
+ ; Write the installation path into the registry
+ WriteRegStr HKLM SOFTWARE\VcXsrv "Install_Dir_64" $INSTDIR
+
+ ; Write the uninstall keys for Windows
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "DisplayName" "VcXsrv"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "NoModify" 1
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "NoRepair" 1
+ WriteUninstaller "uninstall.exe"
+
+ ; Register the xlaunch file extension
+ WriteRegStr HKCR ".xlaunch" "" "XLaunchFile"
+ WriteRegStr HKCR "XLaunchFile" "" "XLaunch Configuration"
+ WriteRegStr HKCR "XLaunchFile\DefaultIcon" "" "$INSTDIR\xlaunch.exe,0"
+ WriteRegStr HKCR "XLaunchFile\shell" "" 'open'
+ WriteRegStr HKCR "XLaunchFile\shell\open\command" "" '"$INSTDIR\XLaunch.exe" -run "%1"'
+ WriteRegStr HKCR "XLaunchFile\shell\open\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "XLaunchFile\shell\open\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "XLaunchFile\shell\edit\command" "" '"$INSTDIR\XLaunch.exe" -load "%1"'
+ WriteRegStr HKCR "XLaunchFile\shell\edit\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "XLaunchFile\shell\edit\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "XLaunchFile\shell\Validate\command" "" '"$INSTDIR\XLaunch.exe" -validate "%1"'
+ WriteRegStr HKCR "XLaunchFile\shell\Validate\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "XLaunchFile\shell\Validate\ddeexec\Topic" "" "System"
+
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell" "" 'open'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\command" "" '"$INSTDIR\XLaunch.exe" -run "%1"'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\command" "" '"$INSTDIR\XLaunch.exe" -load "%1"'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\command" "" '"$INSTDIR\XLaunch.exe" -validate "%1"'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Topic" "" "System"
+
+SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Fonts"
+ SectionIn 1 3
+
+ SetOutPath $INSTDIR\fonts
+ CreateDirectory "$SMPROGRAMS\VcXsrv"
+ File /r "..\fonts\*.*"
+
+SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Start Menu Shortcuts"
+ SectionIn 1 3
+
+ SetOutPath $INSTDIR
+ CreateDirectory "$SMPROGRAMS\VcXsrv"
+ CreateShortCut "$SMPROGRAMS\VcXsrv\Uninstall VcXsrv.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
+ CreateShortCut "$SMPROGRAMS\VcXsrv\VcXsrv.lnk" "$INSTDIR\vcxsrv.exe" " :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl" "$INSTDIR\vcxsrv.exe" 0
+ CreateShortCut "$SMPROGRAMS\VcXsrv\XLaunch.lnk" "$INSTDIR\xlaunch.exe" "" "$INSTDIR\xlaunch.exe" 0
+
+SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Desktop Shortcuts"
+ SectionIn 1 3
+
+ SetOutPath $INSTDIR
+ CreateShortCut "$DESKTOP\VcXsrv.lnk" "$INSTDIR\vcxsrv.exe" " :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl" "$INSTDIR\vcxsrv.exe" 0
+ CreateShortCut "$DESKTOP\XLaunch.lnk" "$INSTDIR\xlaunch.exe" "" "$INSTDIR\xlaunch.exe" 0
+
+SectionEnd
+
+;--------------------------------
+
+; Uninstaller
+
+Section "Uninstall"
+
+ ; Remove registry keys
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv"
+ DeleteRegKey HKLM SOFTWARE\VcXsrv
+
+ ; Register the xlaunch file extension
+ DeleteRegKey HKCR ".xlaunch"
+ DeleteRegKey HKCR "XLaunchFile"
+ DeleteRegKey HKCR "Applications\xlaunch.exe"
+
+ ; Remove files and uninstaller
+ Delete "$INSTDIR\vcxsrv.exe"
+ Delete "$INSTDIR\uninstall.exe"
+ Delete "$INSTDIR\protocol.txt"
+ Delete "$INSTDIR\system.XWinrc"
+ Delete "$INSTDIR\xkbcomp.exe"
+ Delete "$INSTDIR\xcalc.exe"
+ Delete "$INSTDIR\xcalc"
+ Delete "$INSTDIR\xcalc-color"
+ Delete "$INSTDIR\xclock.exe"
+ Delete "$INSTDIR\xclock"
+ Delete "$INSTDIR\xclock-color"
+ Delete "$INSTDIR\xwininfo.exe"
+ Delete "$INSTDIR\XKeysymDB"
+ Delete "$INSTDIR\XErrorDB"
+ Delete "$INSTDIR\Xcms.txt"
+ Delete "$INSTDIR\XtErrorDB"
+ Delete "$INSTDIR\.Xdefaults"
+ Delete "$INSTDIR\xlaunch.exe"
+ Delete "$INSTDIR\plink.exe"
+ Delete "$INSTDIR\swrast_dri.dll"
+ Delete "$INSTDIR\dxtn.dll"
+ Delete "$INSTDIR\swrastwgl_dri.dll"
+ Delete "$INSTDIR\libxcb.dll"
+ Delete "$INSTDIR\libXau.dll"
+ Delete "$INSTDIR\libX11.dll"
+ Delete "$INSTDIR\libXext.dll"
+ Delete "$INSTDIR\libXmu.dll"
+ Delete "$INSTDIR\libxml2.dll"
+ Delete "$INSTDIR\zlib1.dll"
+ Delete "$INSTDIR\iconv.dll"
+ Delete "$INSTDIR\msvcr120.dll"
+ Delete "$INSTDIR\msvcp120.dll"
+ Delete "$INSTDIR\msvcr120d.dll"
+ Delete "$INSTDIR\msvcp120d.dll"
+
+ RMDir /r "$INSTDIR\fonts"
+ RMDir /r "$INSTDIR\xkbdata"
+ RMDir /r "$INSTDIR\locale"
+
+ ; Remove shortcuts, if any
+ Delete "$SMPROGRAMS\VcXsrv\*.*"
+ Delete "$DESKTOP\VcXsrv.lnk"
+ Delete "$DESKTOP\XLaunch.lnk"
+
+ ; Remove directories used
+ RMDir "$SMPROGRAMS\VcXsrv"
+ RMDir "$INSTDIR"
+
+SectionEnd
diff --git a/xorg-server/installer/vcxsrv-debug.nsi b/xorg-server/installer/vcxsrv-debug.nsi
new file mode 100644
index 000000000..e8bddd162
--- /dev/null
+++ b/xorg-server/installer/vcxsrv-debug.nsi
@@ -0,0 +1,97 @@
+/* This file is part of vcxsrv.
+ *
+ * Copyright (C) 2009 Marc Haesen
+ *
+ * vcxsrv is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * vcxsrv is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with vcxsrv. If not, see <http://www.gnu.org/licenses/>.
+*/
+;--------------------------------
+
+; The name of the installer
+Name "VcXsrv"
+
+; The file to write
+OutFile "vcxsrv-debug.1.15.0.2.installer.exe"
+
+; The default installation directory
+InstallDir $PROGRAMFILES32\VcXsrv
+
+; Registry key to check for directory (so if you install again, it will
+; overwrite the old one automatically)
+InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir"
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel admin
+
+;--------------------------------
+InstType "Full"
+
+; Pages
+
+Page components
+Page directory
+Page instfiles
+
+UninstPage uninstConfirm
+UninstPage instfiles
+
+SetPluginUnload alwaysoff
+; ShowInstDetails show
+XPStyle on
+
+!define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8}
+
+;--------------------------------
+; The stuff to install
+Section "VcXsrv debug exe and dlls"
+
+ SectionIn RO
+ SectionIn 1
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR
+
+ IfFileExists "$INSTDIR\msvcr100d.dll" 0 +2
+ Delete "$INSTDIR\msvcr100d.dll"
+ IfFileExists "$INSTDIR\msvcp100d.dll" 0 +2
+ Delete "$INSTDIR\msvcp100d.dll"
+ IfFileExists "$INSTDIR\msvcr110d.dll" 0 +2
+ Delete "$INSTDIR\msvcr110d.dll"
+ IfFileExists "$INSTDIR\msvcp110d.dll" 0 +2
+ Delete "$INSTDIR\msvcp110d.dll"
+
+ ; Put files there
+ File "..\obj\servdebug\vcxsrv.exe"
+ File "..\..\xkbcomp\obj\debug\xkbcomp.exe"
+ File "..\..\apps\xhost\obj\debug\xhost.exe"
+ File "..\..\apps\xrdb\obj\debug\xrdb.exe"
+ File "..\..\apps\xauth\obj\debug\xauth.exe"
+ File "..\..\apps\xcalc\obj\debug\xcalc.exe"
+ File "..\..\apps\xclock\obj\debug\xclock.exe"
+ File "..\..\apps\xwininfo\obj\debug\xwininfo.exe"
+ File "..\hw\xwin\xlaunch\obj\debug\xlaunch.exe"
+ File "..\..\tools\plink\obj\debug\plink.exe"
+ File "..\..\mesalib\windows\VC8\mesa\Win32\Debug\swrast_dri.dll"
+ File "..\hw\xwin\swrastwgl_dri\obj\debug\swrastwgl_dri.dll"
+ File "..\..\dxtn\obj\debug\dxtn.dll"
+ File "..\..\zlib\obj\debug\zlib1.dll"
+ File "..\..\libxcb\src\obj\debug\libxcb.dll"
+ File "..\..\libXau\obj\debug\libXau.dll"
+ File "..\..\libX11\obj\debug\libX11.dll"
+ File "..\..\libXext\src\obj\debug\libXext.dll"
+ File "..\..\libXmu\src\obj\debug\libXmu.dll"
+ File "msvcr120d.dll"
+ File "msvcp120d.dll"
+
+ WriteRegStr HKLM SOFTWARE\VcXsrv "Install_Dir" "$INSTDIR"
+SectionEnd
diff --git a/xorg-server/installer/vcxsrv.nsi b/xorg-server/installer/vcxsrv.nsi
new file mode 100644
index 000000000..0323cf868
--- /dev/null
+++ b/xorg-server/installer/vcxsrv.nsi
@@ -0,0 +1,256 @@
+/* This file is part of vcxsrv.
+ *
+ * Copyright (C) 2009 Marc Haesen
+ *
+ * vcxsrv is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * vcxsrv is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with vcxsrv. If not, see <http://www.gnu.org/licenses/>.
+*/
+;--------------------------------
+
+; The name of the installer
+Name "VcXsrv"
+
+; The file to write
+OutFile "vcxsrv.1.15.0.2.installer.exe"
+
+; The default installation directory
+InstallDir $PROGRAMFILES32\VcXsrv
+
+; Registry key to check for directory (so if you install again, it will
+; overwrite the old one automatically)
+InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir"
+
+; Request application privileges for Windows Vista
+RequestExecutionLevel admin
+
+;--------------------------------
+InstType "Full"
+InstType "Minimal"
+
+; Pages
+
+Page components
+Page directory
+Page instfiles
+
+UninstPage uninstConfirm
+UninstPage instfiles
+
+SetPluginUnload alwaysoff
+; ShowInstDetails show
+XPStyle on
+
+!define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8}
+
+;--------------------------------
+; The stuff to install
+Section "VcXsrv (required)"
+
+ SectionIn RO
+ SectionIn 1 2 3
+
+ ; Set output path to the installation directory.
+ SetOutPath $INSTDIR
+
+ ; Remove old opengl32.dll file if it extits
+ IfFileExists "$INSTDIR\opengl32.dll" 0 +2
+ Delete "$INSTDIR\opengl32.dll"
+ IfFileExists "$INSTDIR\msvcr100.dll" 0 +2
+ Delete "$INSTDIR\msvcr100.dll"
+ IfFileExists "$INSTDIR\msvcp100.dll" 0 +2
+ Delete "$INSTDIR\msvcp100.dll"
+ IfFileExists "$INSTDIR\msvcr110.dll" 0 +2
+ Delete "$INSTDIR\msvcr110.dll"
+ IfFileExists "$INSTDIR\msvcp110.dll" 0 +2
+ Delete "$INSTDIR\msvcp110.dll"
+
+ ; Put files there
+ File "..\obj\servrelease\vcxsrv.exe"
+ File "..\dix\protocol.txt"
+ File "..\system.XWinrc"
+ File "..\X0.hosts"
+ File "..\..\xkbcomp\obj\release\xkbcomp.exe"
+ File "..\..\apps\xhost\obj\release\xhost.exe"
+ File "..\..\apps\xrdb\obj\release\xrdb.exe"
+ File "..\..\apps\xauth\obj\release\xauth.exe"
+ File "..\..\apps\xcalc\obj\release\xcalc.exe"
+ File "..\..\apps\xcalc\app-defaults\xcalc"
+ File "..\..\apps\xcalc\app-defaults\xcalc-color"
+ File "..\..\apps\xclock\obj\release\xclock.exe"
+ File "..\..\apps\xclock\app-defaults\xclock"
+ File "..\..\apps\xclock\app-defaults\xclock-color"
+ File "..\..\apps\xwininfo\obj\release\xwininfo.exe"
+ File "..\XKeysymDB"
+ File "..\..\libX11\src\XErrorDB"
+ File "..\..\libX11\src\xcms\Xcms.txt"
+ File "..\XtErrorDB"
+ File "..\.Xdefaults"
+ File "..\hw\xwin\xlaunch\obj\release\xlaunch.exe"
+ File "..\..\tools\plink\obj\release\plink.exe"
+ File "..\..\mesalib\windows\VC8\mesa\Win32\Release\swrast_dri.dll"
+ File "..\hw\xwin\swrastwgl_dri\obj\release\swrastwgl_dri.dll"
+ File "..\..\dxtn\obj\release\dxtn.dll"
+ File "..\..\libxml2\bin\libxml2-2.dll"
+ File "..\..\libxml2\bin\libgcc_s_sjlj-1.dll"
+ File "..\..\libxml2\bin\libiconv-2.dll"
+ File "..\..\libxml2\bin\libwinpthread-1.dll"
+ File "..\..\zlib\obj\release\zlib1.dll"
+ File "..\..\libxcb\src\obj\release\libxcb.dll"
+ File "..\..\libXau\obj\release\libXau.dll"
+ File "..\..\libX11\obj\release\libX11.dll"
+ File "..\..\libXext\src\obj\release\libXext.dll"
+ File "..\..\libXmu\src\obj\release\libXmu.dll"
+ File "msvcr120.dll"
+ File "msvcp120.dll"
+ SetOutPath $INSTDIR\xkbdata
+ File /r "..\xkbdata\*.*"
+ SetOutPath $INSTDIR\locale
+ File /r "..\locale\*.*"
+ SetOutPath $INSTDIR\bitmaps
+ File /r "..\bitmaps\*.*"
+
+ ; Write the installation path into the registry
+ WriteRegStr HKLM SOFTWARE\VcXsrv "Install_Dir" "$INSTDIR"
+
+ ; Write the uninstall keys for Windows
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "DisplayName" "VcXsrv"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "NoModify" 1
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "NoRepair" 1
+ WriteUninstaller "uninstall.exe"
+
+ ; Register the xlaunch file extension
+ WriteRegStr HKCR ".xlaunch" "" "XLaunchFile"
+ WriteRegStr HKCR "XLaunchFile" "" "XLaunch Configuration"
+ WriteRegStr HKCR "XLaunchFile\DefaultIcon" "" "$INSTDIR\xlaunch.exe,0"
+ WriteRegStr HKCR "XLaunchFile\shell" "" 'open'
+ WriteRegStr HKCR "XLaunchFile\shell\open\command" "" '"$INSTDIR\XLaunch.exe" -run "%1"'
+ WriteRegStr HKCR "XLaunchFile\shell\open\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "XLaunchFile\shell\open\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "XLaunchFile\shell\edit\command" "" '"$INSTDIR\XLaunch.exe" -load "%1"'
+ WriteRegStr HKCR "XLaunchFile\shell\edit\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "XLaunchFile\shell\edit\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "XLaunchFile\shell\Validate\command" "" '"$INSTDIR\XLaunch.exe" -validate "%1"'
+ WriteRegStr HKCR "XLaunchFile\shell\Validate\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "XLaunchFile\shell\Validate\ddeexec\Topic" "" "System"
+
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell" "" 'open'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\command" "" '"$INSTDIR\XLaunch.exe" -run "%1"'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\command" "" '"$INSTDIR\XLaunch.exe" -load "%1"'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\ddeexec\Topic" "" "System"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\command" "" '"$INSTDIR\XLaunch.exe" -validate "%1"'
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Application" "" "XLaunch"
+ WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Topic" "" "System"
+
+SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Fonts"
+ SectionIn 1 3
+
+ SetOutPath $INSTDIR\fonts
+ CreateDirectory "$SMPROGRAMS\VcXsrv"
+ File /r "..\fonts\*.*"
+
+SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Start Menu Shortcuts"
+ SectionIn 1 3
+
+ SetOutPath $INSTDIR
+ CreateDirectory "$SMPROGRAMS\VcXsrv"
+ CreateShortCut "$SMPROGRAMS\VcXsrv\Uninstall VcXsrv.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
+ CreateShortCut "$SMPROGRAMS\VcXsrv\VcXsrv.lnk" "$INSTDIR\vcxsrv.exe" " :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl" "$INSTDIR\vcxsrv.exe" 0
+ CreateShortCut "$SMPROGRAMS\VcXsrv\XLaunch.lnk" "$INSTDIR\xlaunch.exe" "" "$INSTDIR\xlaunch.exe" 0
+
+SectionEnd
+
+; Optional section (can be disabled by the user)
+Section "Desktop Shortcuts"
+ SectionIn 1 3
+
+ SetOutPath $INSTDIR
+ CreateShortCut "$DESKTOP\VcXsrv.lnk" "$INSTDIR\vcxsrv.exe" " :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl" "$INSTDIR\vcxsrv.exe" 0
+ CreateShortCut "$DESKTOP\XLaunch.lnk" "$INSTDIR\xlaunch.exe" "" "$INSTDIR\xlaunch.exe" 0
+
+SectionEnd
+
+;--------------------------------
+
+; Uninstaller
+
+Section "Uninstall"
+
+ ; Remove registry keys
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv"
+ DeleteRegKey HKLM SOFTWARE\VcXsrv
+
+ ; Register the xlaunch file extension
+ DeleteRegKey HKCR ".xlaunch"
+ DeleteRegKey HKCR "XLaunchFile"
+ DeleteRegKey HKCR "Applications\xlaunch.exe"
+
+ ; Remove files and uninstaller
+ Delete "$INSTDIR\vcxsrv.exe"
+ Delete "$INSTDIR\uninstall.exe"
+ Delete "$INSTDIR\protocol.txt"
+ Delete "$INSTDIR\system.XWinrc"
+ Delete "$INSTDIR\xkbcomp.exe"
+ Delete "$INSTDIR\xcalc.exe"
+ Delete "$INSTDIR\xcalc"
+ Delete "$INSTDIR\xcalc-color"
+ Delete "$INSTDIR\xclock.exe"
+ Delete "$INSTDIR\xclock"
+ Delete "$INSTDIR\xclock-color"
+ Delete "$INSTDIR\xwininfo.exe"
+ Delete "$INSTDIR\XKeysymDB"
+ Delete "$INSTDIR\XErrorDB"
+ Delete "$INSTDIR\Xcms.txt"
+ Delete "$INSTDIR\XtErrorDB"
+ Delete "$INSTDIR\.Xdefaults"
+ Delete "$INSTDIR\xlaunch.exe"
+ Delete "$INSTDIR\plink.exe"
+ Delete "$INSTDIR\swrast_dri.dll"
+ Delete "$INSTDIR\dxtn.dll"
+ Delete "$INSTDIR\swrastwgl_dri.dll"
+ Delete "$INSTDIR\libxcb.dll"
+ Delete "$INSTDIR\libXau.dll"
+ Delete "$INSTDIR\libX11.dll"
+ Delete "$INSTDIR\libXext.dll"
+ Delete "$INSTDIR\libXmu.dll"
+ Delete "$INSTDIR\libxml2.dll"
+ Delete "$INSTDIR\zlib1.dll"
+ Delete "$INSTDIR\iconv.dll"
+ Delete "$INSTDIR\msvcr120.dll"
+ Delete "$INSTDIR\msvcp120.dll"
+ Delete "$INSTDIR\msvcr120d.dll"
+ Delete "$INSTDIR\msvcp120d.dll"
+
+ RMDir /r "$INSTDIR\fonts"
+ RMDir /r "$INSTDIR\xkbdata"
+ RMDir /r "$INSTDIR\locale"
+
+ ; Remove shortcuts, if any
+ Delete "$SMPROGRAMS\VcXsrv\*.*"
+ Delete "$DESKTOP\VcXsrv.lnk"
+ Delete "$DESKTOP\XLaunch.lnk"
+
+ ; Remove directories used
+ RMDir "$SMPROGRAMS\VcXsrv"
+ RMDir "$INSTDIR"
+
+SectionEnd
diff --git a/xorg-server/makefile b/xorg-server/makefile
new file mode 100644
index 000000000..2e441e4a5
--- /dev/null
+++ b/xorg-server/makefile
@@ -0,0 +1,109 @@
+ifneq ($(MAKESERVER),1)
+$(error Please specify MAKESERVER=1 on the command line or as environment variable)
+endif
+
+INCLUDELIBFILES = \
+ composite\$(OBJDIR)\libcomposite.lib \
+ config\$(OBJDIR)\libconfig.lib \
+ damageext\$(OBJDIR)\libdamageext.lib \
+ dbe\$(OBJDIR)\libdbe.lib \
+ dix\$(OBJDIR)\libdix.lib \
+ fb\$(OBJDIR)\libfb.lib \
+ glx\$(OBJDIR)\libglx.lib \
+ hw\xwin\$(OBJDIR)\libXWin.lib \
+ hw\xwin\glx\$(OBJDIR)\libwinglx.lib \
+ mi\$(OBJDIR)\libmi.lib \
+ miext\damage\$(OBJDIR)\libdamage.lib \
+ miext\shadow\$(OBJDIR)\libshadow.lib \
+ miext\sync\$(OBJDIR)\libsync.lib \
+ miext\rootless\$(OBJDIR)\librootless.lib \
+ os\$(OBJDIR)\libos.lib \
+ randr\$(OBJDIR)\librandr.lib \
+ record\$(OBJDIR)\librecord.lib \
+ Xext\$(OBJDIR)\libxext.lib \
+ xfixes\$(OBJDIR)\libxfixes.lib \
+ Xi\$(OBJDIR)\libXi.lib \
+ xkb\$(OBJDIR)\libxkb.lib \
+ render\$(OBJDIR)\librender.lib \
+ present\$(OBJDIR)\libpresent.lib
+
+INCLUDENOSERVLIBFILES = \
+ $(MHMAKECONF)\libX11\$(NOSERVOBJDIR)\libX11.lib \
+ $(MHMAKECONF)\libxcb\src\$(NOSERVOBJDIR)\libxcb.lib \
+ $(MHMAKECONF)\pixman\pixman\$(NOSERVOBJDIR)\libpixman-1.lib \
+ $(MHMAKECONF)\libXdmcp\$(NOSERVOBJDIR)\libXdmcp.lib \
+ $(MHMAKECONF)\libXau\$(NOSERVOBJDIR)\libXau.lib \
+ $(MHMAKECONF)\libXfont\src\util\$(NOSERVOBJDIR)\libutil.lib \
+ $(MHMAKECONF)\libXfont\src\fc\$(NOSERVOBJDIR)\libfc.lib \
+ $(MHMAKECONF)\libXfont\src\fontfile\$(NOSERVOBJDIR)\libfontfile.lib \
+ $(MHMAKECONF)\libXfont\src\builtins\$(NOSERVOBJDIR)\libbuiltins.lib \
+ $(MHMAKECONF)\libXfont\src\bitmap\$(NOSERVOBJDIR)\libbitmap.lib \
+ $(MHMAKECONF)\libXfont\src\freetype\$(NOSERVOBJDIR)\libft.lib \
+ $(MHMAKECONF)\libXfont\src\stubs\$(NOSERVOBJDIR)\libstubs.lib \
+ $(MHMAKECONF)\libfontenc\src\$(NOSERVOBJDIR)\libfontenc.lib \
+ $(MHMAKECONF)\libXinerama\src\$(NOSERVOBJDIR)\libXinerama.lib \
+ $(MHMAKECONF)\zlib\$(NOSERVOBJDIR)\zlib1.lib
+
+LIBDIRS=$(dir $(INCLUDELIBFILES))
+NOSERVLIBDIRS=$(dir $(INCLUDENOSERVLIBFILES))
+
+load_makefile $(LIBDIRS:%$(OBJDIR)\=%makefile MAKESERVER=$(MAKESERVER) DEBUG=$(DEBUG);)
+load_makefile $(NOSERVLIBDIRS:%$(NOSERVOBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+OBJS = dix\$(OBJDIR)\main.obj
+
+LINKLIBS += $(PTHREADLIB) $(FREETYPELIB) $(OPENSSLLIB)
+
+ifeq ($(DEBUG),1)
+TTYAPP=vcxsrv
+APP:=$(TTYAPP)
+else
+WINAPP=vcxsrv
+APP:=$(WINAPP)
+endif
+
+RCINCLUDES += include hw\xwin $(MHMAKECONF)\include $(MHMAKECONF)
+
+XWin.rc: hw\xwin\XWin.rc
+ copy $< $@
+
+RESOURCES = XWin.rc
+
+$(OBJDIR)\$(APP).exe: $(LINKLIBS)
+
+load_makefile fonts.src\makefile MAKESERVER=0 DEBUG=0
+load_makefile xkeyboard-config\makefile MAKESERVER=0 DEBUG=0
+
+EXTRASTOBUILD = \
+ hw\xwin\xlaunch\$(NOSERVOBJDIR)\xlaunch.exe \
+ ..\xkbcomp\$(NOSERVOBJDIR)\xkbcomp.exe \
+ ..\apps\xcalc\$(NOSERVOBJDIR)\xcalc.exe \
+ ..\apps\xclock\$(NOSERVOBJDIR)\xclock.exe \
+ ..\apps\xwininfo\$(NOSERVOBJDIR)\xwininfo.exe \
+ ..\apps\xhost\$(NOSERVOBJDIR)\xhost.exe \
+ ..\apps\xrdb\$(NOSERVOBJDIR)\xrdb.exe \
+ ..\apps\xauth\$(NOSERVOBJDIR)\xauth.exe \
+ ..\tools\plink\$(NOSERVOBJDIR)\plink.exe \
+ hw\xwin\swrastwgl_dri\$(NOSERVOBJDIR)\swrastwgl_dri.dll \
+ ..\dxtn\$(NOSERVOBJDIR)\dxtn.dll
+
+EXTRASTOBUILDDIRS=$(dir $(EXTRASTOBUILD))
+
+load_makefile $(EXTRASTOBUILDDIRS:%$(NOSERVOBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+all: $(EXTRASTOBUILD)
+
+load_makefile ..\mesalib\windows\VC8\mesa\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+ifdef IS64
+TARGETDIR=x64
+else
+TARGETDIR=Win32
+endif
+
+ifeq ($(DEBUG),1)
+all: ..\mesalib\windows\VC8\mesa\$(TARGETDIR)\Debug\swrast_dri.dll
+else
+all: ..\mesalib\windows\VC8\mesa\$(TARGETDIR)\Release\swrast_dri.dll
+endif
+
+all: fonts.src\all xkeyboard-config\all
+
diff --git a/xorg-server/mi/makefile b/xorg-server/mi/makefile
new file mode 100644
index 000000000..7067c62e8
--- /dev/null
+++ b/xorg-server/mi/makefile
@@ -0,0 +1,39 @@
+CSRCS=miarc.c \
+ mibitblt.c \
+ micmap.c \
+ micopy.c \
+ micursor.c \
+ midash.c \
+ midispcur.c \
+ mieq.c \
+ miexpose.c \
+ mifillarc.c \
+ mifillrct.c \
+ mifpolycon.c \
+ migc.c \
+ miglblt.c \
+ mioverlay.c \
+ mipointer.c \
+ mipoly.c \
+ mipolycon.c \
+ mipolygen.c \
+ mipolypnt.c \
+ mipolyrect.c \
+ mipolyseg.c \
+ mipolytext.c \
+ mipolyutil.c \
+ mipushpxl.c \
+ miscrinit.c \
+ mispans.c \
+ misprite.c \
+ mivaltree.c \
+ miwideline.c \
+ miwindow.c \
+ mizerarc.c \
+ mizerclip.c \
+ mizerline.c \
+ miinitext.c
+
+LIBRARY=libmi
+
+
diff --git a/xorg-server/mi/mi.h b/xorg-server/mi/mi.h
index 1209a16c4..788f5dd54 100644
--- a/xorg-server/mi/mi.h
+++ b/xorg-server/mi/mi.h
@@ -271,7 +271,7 @@ extern _X_EXPORT void miPolyGlyphBlt(DrawablePtr /*pDrawable */ ,
int /*y */ ,
unsigned int /*nglyph */ ,
CharInfoPtr * /*ppci */ ,
- void */*pglyphBase */
+ void * /*pglyphBase */
);
extern _X_EXPORT void miImageGlyphBlt(DrawablePtr /*pDrawable */ ,
@@ -280,7 +280,7 @@ extern _X_EXPORT void miImageGlyphBlt(DrawablePtr /*pDrawable */ ,
int /*y */ ,
unsigned int /*nglyph */ ,
CharInfoPtr * /*ppci */ ,
- void */*pglyphBase */
+ void * /*pglyphBase */
);
/* mipoly.c */
@@ -387,7 +387,7 @@ extern _X_EXPORT Bool miModifyPixmapHeader(PixmapPtr /*pPixmap */ ,
int /*depth */ ,
int /*bitsPerPixel */ ,
int /*devKind */ ,
- void */*pPixData */
+ void * /*pPixData */
);
extern _X_EXPORT Bool miCreateScreenResources(ScreenPtr /*pScreen */
@@ -395,11 +395,11 @@ extern _X_EXPORT Bool miCreateScreenResources(ScreenPtr /*pScreen */
extern _X_EXPORT Bool miScreenDevPrivateInit(ScreenPtr /*pScreen */ ,
int /*width */ ,
- void */*pbits */
+ void * /*pbits */
);
extern _X_EXPORT Bool miScreenInit(ScreenPtr /*pScreen */ ,
- void */*pbits */ ,
+ void * /*pbits */ ,
int /*xsize */ ,
int /*ysize */ ,
int /*dpix */ ,
diff --git a/xorg-server/mi/miarc.c b/xorg-server/mi/miarc.c
index 0f56c7db3..4dcdd42a1 100644
--- a/xorg-server/mi/miarc.c
+++ b/xorg-server/mi/miarc.c
@@ -63,6 +63,11 @@ SOFTWARE.
#include "mifillarc.h"
#include <X11/Xfuncproto.h>
+#ifdef _MSC_VER
+#define hypot _hypot
+#define HAVE_CBRT
+#endif
+
static double miDsin(double a);
static double miDcos(double a);
static double miDasin(double v);
diff --git a/xorg-server/mi/micmap.c b/xorg-server/mi/micmap.c
index 4648b9a70..e2653cc1f 100644
--- a/xorg-server/mi/micmap.c
+++ b/xorg-server/mi/micmap.c
@@ -118,17 +118,26 @@ miInitializeColormap(ColormapPtr pmap)
unsigned limr, limg, limb;
limr = pVisual->redMask >> pVisual->offsetRed;
- limg = pVisual->greenMask >> pVisual->offsetGreen;
- limb = pVisual->blueMask >> pVisual->offsetBlue;
- for (i = 0; i <= maxent; i++) {
+ for(i = 0; i <= min(limr,maxent); i++) {
/* rescale to [0..65535] then rgb bits */
pmap->red[i].co.local.red =
((((i * 65535) / limr) >> shift) * 65535) / lim;
+ }
+ for(; i <= maxent; i++) pmap->red[i].co.local.red = 65535;
+ limg = pVisual->greenMask >> pVisual->offsetGreen;
+ for(i = 0; i <= min(limg,maxent); i++) {
+ /* rescale to [0..65535] then rgb bits */
pmap->green[i].co.local.green =
((((i * 65535) / limg) >> shift) * 65535) / lim;
+ }
+ for(; i <= maxent; i++) pmap->green[i].co.local.green = 65535;
+ limb = pVisual->blueMask >> pVisual->offsetBlue;
+ for(i = 0; i <= min(limb,maxent); i++) {
+ /* rescale to [0..65535] then rgb bits */
pmap->blue[i].co.local.blue =
((((i * 65535) / limb) >> shift) * 65535) / lim;
}
+ for(; i <= maxent; i++) pmap->blue[i].co.local.blue = 65535;
}
else if (pVisual->class == StaticColor) {
unsigned limr, limg, limb;
diff --git a/xorg-server/mi/micoord.h b/xorg-server/mi/micoord.h
index 481e418c5..c6fa41d53 100644
--- a/xorg-server/mi/micoord.h
+++ b/xorg-server/mi/micoord.h
@@ -55,14 +55,14 @@
#endif
#if IMAGE_BYTE_ORDER == MSBFirst
-#define intToCoord(i,x,y) (((x) = GetHighWord(i)), ((y) = (int) ((short) (i))))
+#define intToCoord(i,x,y) (((x) = GetHighWord(i)), ((y) = (int) ((short) ((i)&0xffff))))
#define coordToInt(x,y) (((x) << 16) | ((y) & 0xffff))
#define intToX(i) (GetHighWord(i))
-#define intToY(i) ((int) ((short) i))
+#define intToY(i) ((int) ((short) ((i)&0xffff)))
#else
-#define intToCoord(i,x,y) (((x) = (int) ((short) (i))), ((y) = GetHighWord(i)))
+#define intToCoord(i,x,y) (((x) = (int) ((short) ((i)&0xffff))), ((y) = GetHighWord(i)))
#define coordToInt(x,y) (((y) << 16) | ((x) & 0xffff))
-#define intToX(i) ((int) ((short) (i)))
+#define intToX(i) ((int) ((short) ((i)&0xffff)))
#define intToY(i) (GetHighWord(i))
#endif
diff --git a/xorg-server/mi/mieq.c b/xorg-server/mi/mieq.c
index 872ff93da..ebe03ab44 100644
--- a/xorg-server/mi/mieq.c
+++ b/xorg-server/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 512
+#define QUEUE_INITIAL_SIZE 1024
#define QUEUE_RESERVED_SIZE 64
#define QUEUE_MAXIMUM_SIZE 4096
#define QUEUE_DROP_BACKTRACE_FREQUENCY 100
@@ -576,7 +576,7 @@ mieqProcessInputEvents(void)
{
EventRec *e = NULL;
ScreenPtr screen;
- static InternalEvent event;
+ InternalEvent event;
DeviceIntPtr dev = NULL, master = NULL;
size_t n_enqueued;
diff --git a/xorg-server/mi/miexpose.c b/xorg-server/mi/miexpose.c
index 198c4332f..68d846fb6 100644
--- a/xorg-server/mi/miexpose.c
+++ b/xorg-server/mi/miexpose.c
@@ -349,11 +349,11 @@ miSendGraphicsExpose(ClientPtr client, RegionPtr pRgn, XID drawable,
free(pEvent);
}
else {
- xEvent event = {
- .u.noExposure.drawable = drawable,
- .u.noExposure.majorEvent = major,
- .u.noExposure.minorEvent = minor
- };
+ xEvent event; memset(&event, 0, sizeof(xEvent));
+ event.u.noExposure.drawable = drawable;
+ event.u.noExposure.majorEvent = major;
+ event.u.noExposure.minorEvent = minor;
+
event.u.u.type = NoExpose;
WriteEventsToClient(client, 1, &event);
}
diff --git a/xorg-server/mi/mioverlay.c b/xorg-server/mi/mioverlay.c
index 7f502fa37..ef67f386d 100644
--- a/xorg-server/mi/mioverlay.c
+++ b/xorg-server/mi/mioverlay.c
@@ -3,6 +3,10 @@
#include <dix-config.h>
#endif
+#ifdef CreateWindow
+#undef CreateWindow
+#endif
+
#include <X11/X.h>
#include "scrnintstr.h"
#include <X11/extensions/shapeproto.h>
diff --git a/xorg-server/mi/misprite.c b/xorg-server/mi/misprite.c
index eea731a15..5bc2f62f2 100644
--- a/xorg-server/mi/misprite.c
+++ b/xorg-server/mi/misprite.c
@@ -466,7 +466,7 @@ miSpriteSourceValidate(DrawablePtr pDrawable, int x, int y, int width,
for (pDev = inputInfo.devices; pDev; pDev = pDev->next) {
if (DevHasCursor(pDev)) {
pCursorInfo = MISPRITE(pDev);
- if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
+ if (pCursorInfo && pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
ORG_OVERLAP(&pCursorInfo->saved, pDrawable->x, pDrawable->y,
x, y, width, height)) {
SPRITE_DEBUG(("SourceValidate remove\n"));
@@ -499,7 +499,7 @@ miSpriteCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
/*
* Damage will take care of destination check
*/
- if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
+ if (pCursorInfo && pCursorInfo->isUp && pCursorInfo->pScreen == pScreen &&
RegionContainsRect(prgnSrc, &pCursorInfo->saved) != rgnOUT) {
SPRITE_DEBUG(("CopyWindow remove\n"));
miSpriteRemoveCursor(pDev, pScreen);
@@ -574,9 +574,12 @@ miSpriteInstallColormap(ColormapPtr pMap)
for (pDev = inputInfo.devices; pDev; pDev = pDev->next) {
if (DevHasCursor(pDev)) {
pCursorInfo = MISPRITE(pDev);
- pCursorInfo->checkPixels = TRUE;
- if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen)
- miSpriteRemoveCursor(pDev, pScreen);
+ if (pCursorInfo)
+ {
+ pCursorInfo->checkPixels = TRUE;
+ if (pCursorInfo->isUp && pCursorInfo->pScreen == pScreen)
+ miSpriteRemoveCursor(pDev, pScreen);
+ }
}
}
diff --git a/xorg-server/mi/mivaltree.c b/xorg-server/mi/mivaltree.c
index c1cc43122..88f9a4084 100644
--- a/xorg-server/mi/mivaltree.c
+++ b/xorg-server/mi/mivaltree.c
@@ -286,6 +286,9 @@ miComputeClips(WindowPtr pParent,
eventMask | wOtherEventMasks(pParent)) & VisibilityChangeMask))
SendVisibilityNotify(pParent);
+ if (pParent->valdata==UnmapValData)
+ return; // return if no valid valdata
+
dx = pParent->drawable.x - pParent->valdata->before.oldAbsCorner.x;
dy = pParent->drawable.y - pParent->valdata->before.oldAbsCorner.y;
@@ -718,9 +721,11 @@ miValidateTree(WindowPtr pParent, /* Parent to validate */
RegionUninit(&childUnion);
}
- RegionNull(&pParent->valdata->after.exposed);
- RegionNull(&pParent->valdata->after.borderExposed);
-
+ if (pParent->valdata && pParent->valdata!=UnmapValData)
+ {
+ RegionNull(&pParent->valdata->after.exposed);
+ RegionNull(&pParent->valdata->after.borderExposed);
+ }
/*
* each case below is responsible for updating the
* clipList and serial number for the parent window
@@ -735,8 +740,9 @@ miValidateTree(WindowPtr pParent, /* Parent to validate */
* exposures and obscures as per miComputeClips and reset the parent's
* clipList.
*/
- RegionSubtract(&pParent->valdata->after.exposed,
- &totalClip, &pParent->clipList);
+ if (pParent->valdata && pParent->valdata!=UnmapValData)
+ RegionSubtract(&pParent->valdata->after.exposed,
+ &totalClip, &pParent->clipList);
/* fall through */
case VTMap:
RegionCopy(&pParent->clipList, &totalClip);
diff --git a/xorg-server/mi/miwideline.c b/xorg-server/mi/miwideline.c
index b76e7a818..ff64ab5d4 100644
--- a/xorg-server/mi/miwideline.c
+++ b/xorg-server/mi/miwideline.c
@@ -45,6 +45,10 @@ from The Open Group.
#include <math.h>
#undef _XOPEN_SOURCE
#endif
+#ifdef _MSC_VER
+#define hypot _hypot
+#endif
+
#include <X11/X.h>
#include "windowstr.h"
#include "gcstruct.h"
diff --git a/xorg-server/mi/miwindow.c b/xorg-server/mi/miwindow.c
index 57de91bab..3ee83d7c0 100644
--- a/xorg-server/mi/miwindow.c
+++ b/xorg-server/mi/miwindow.c
@@ -217,7 +217,7 @@ miHandleValidateExposures(WindowPtr pWin)
pChild = pWin;
WindowExposures = pChild->drawable.pScreen->WindowExposures;
while (1) {
- if ((val = pChild->valdata)) {
+ if ( (val = pChild->valdata) && val!=UnmapValData) {
if (RegionNotEmpty(&val->after.borderExposed))
miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER);
RegionUninit(&val->after.borderExposed);
diff --git a/xorg-server/miext/damage/damage.c b/xorg-server/miext/damage/damage.c
index 9bd9c84e7..f303249e2 100644
--- a/xorg-server/miext/damage/damage.c
+++ b/xorg-server/miext/damage/damage.c
@@ -1170,9 +1170,9 @@ damagePolyFillRect(DrawablePtr pDrawable,
int nRectsTmp = nRects;
box.x1 = pRectsTmp->x;
- box.x2 = box.x1 + pRectsTmp->width;
+ box.x2 = box.x1 + (short)pRectsTmp->width;
box.y1 = pRectsTmp->y;
- box.y2 = box.y1 + pRectsTmp->height;
+ box.y2 = box.y1 + (short)pRectsTmp->height;
while (--nRectsTmp) {
pRectsTmp++;
@@ -1875,7 +1875,7 @@ DamageRegionProcessPending(DrawablePtr pDrawable)
/* 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)
+DamageDamageRegion(DrawablePtr pDrawable, const RegionPtr pRegion)
{
damageRegionAppend(pDrawable, pRegion, FALSE, -1);
diff --git a/xorg-server/miext/damage/makefile b/xorg-server/miext/damage/makefile
new file mode 100644
index 000000000..e58f4a883
--- /dev/null
+++ b/xorg-server/miext/damage/makefile
@@ -0,0 +1,7 @@
+LIBRARY = libdamage
+
+#INCLUDES = -I$(srcdir)/../cw -I$(top_srcdir)/hw/xfree86/os-support
+
+CSRCS =damage.c
+
+
diff --git a/xorg-server/miext/rootless/makefile b/xorg-server/miext/rootless/makefile
new file mode 100644
index 000000000..d49e810a2
--- /dev/null
+++ b/xorg-server/miext/rootless/makefile
@@ -0,0 +1,10 @@
+LIBRARY=librootless
+
+librootless_la_SOURCES = \
+ rootlessCommon.c \
+ rootlessGC.c \
+ rootlessScreen.c \
+ rootlessValTree.c \
+ rootlessWindow.c
+
+CSRCS = $(filter %.c,$(librootless_la_SOURCES))
diff --git a/xorg-server/miext/rootless/rootlessGC.c b/xorg-server/miext/rootless/rootlessGC.c
index 23ff3934e..71eaa11d1 100644
--- a/xorg-server/miext/rootless/rootlessGC.c
+++ b/xorg-server/miext/rootless/rootlessGC.c
@@ -49,6 +49,9 @@
#include "rootlessCommon.h"
+#ifdef _MSC_VER
+#define inline __inline
+#endif
// GC functions
static void RootlessValidateGC(GCPtr pGC, unsigned long changes,
DrawablePtr pDrawable);
diff --git a/xorg-server/miext/rootless/rootlessWindow.c b/xorg-server/miext/rootless/rootlessWindow.c
index 3dbd5886a..7b9be2cfe 100644
--- a/xorg-server/miext/rootless/rootlessWindow.c
+++ b/xorg-server/miext/rootless/rootlessWindow.c
@@ -51,6 +51,12 @@ extern Bool no_configure_window;
#include "rootlessCommon.h"
#include "rootlessWindow.h"
+#ifdef _MSC_VER
+#define inline __inline
+#include "xplugin.h"
+extern int darwinMainScreenX, darwinMainScreenY;
+#endif
+
#define SCREEN_TO_GLOBAL_X \
(pScreen->x + rootlessGlobalOffsetX)
#define SCREEN_TO_GLOBAL_Y \
@@ -995,6 +1001,7 @@ StartFrameResize(WindowPtr pWin, Bool gravity,
}
else if (gravity) {
/* The general case. Just copy everything. */
+ BoxRec tmpBoxRec={oldX, oldY, oldX2, oldY2};
RootlessStartDrawing(pWin);
@@ -1003,8 +1010,7 @@ StartFrameResize(WindowPtr pWin, Bool gravity,
memcpy(gResizeDeathBits, winRec->pixelData,
winRec->bytesPerRow * winRec->height);
- gResizeDeathBounds[0] = (BoxRec) {
- oldX, oldY, oldX2, oldY2};
+ gResizeDeathBounds[0] = tmpBoxRec;
gResizeDeathPix[0]
= GetScratchPixmapHeader(pScreen, winRec->width,
winRec->height,
@@ -1041,8 +1047,8 @@ StartFrameResize(WindowPtr pWin, Bool gravity,
window bits. */
if (need_window_source) {
- gResizeDeathBounds[0] = (BoxRec) {
- oldX, oldY, oldX2, oldY2};
+ BoxRec tmpBoxRec={oldX, oldY, oldX2, oldY2};
+ gResizeDeathBounds[0] = tmpBoxRec;
gResizeDeathPix[0]
= GetScratchPixmapHeader(pScreen, oldW, oldH,
winRec->win->drawable.depth,
diff --git a/xorg-server/miext/rootless/xplugin.h b/xorg-server/miext/rootless/xplugin.h
new file mode 100644
index 000000000..7fdf6006e
--- /dev/null
+++ b/xorg-server/miext/rootless/xplugin.h
@@ -0,0 +1,592 @@
+/* Xplugin.h -- windowing API for rootless X11 server
+ $Id$
+
+ Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation files
+ (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
+ HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name(s) of the above
+ copyright holders shall not be used in advertising or otherwise to
+ promote the sale, use or other dealings in this Software without
+ prior written authorization.
+
+ Note that these interfaces are provided solely for the use of the
+ X11 server. Any other uses are unsupported and strongly discouraged. */
+/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/xpr/Xplugin.h,v 1.2 2003/05/02 00:08:49 torrey Exp $ */
+
+#ifndef XPLUGIN_H
+#define XPLUGIN_H 1
+
+#include <stdint.h>
+
+/* By default we use the X server definition of BoxRec to define xp_box,
+ so that the compiler can silently convert between the two. But if
+ XP_NO_X_HEADERS is defined, we'll define it ourselves. */
+
+#ifndef XP_NO_X_HEADERS
+# include "miscstruct.h"
+ typedef BoxRec xp_box;
+#else
+ struct xp_box_struct {
+ short x1, y1, x2, y2;
+ };
+ typedef struct xp_box_struct xp_box;
+#endif
+
+typedef unsigned int xp_resource_id;
+typedef xp_resource_id xp_window_id;
+typedef xp_resource_id xp_surface_id;
+typedef unsigned int xp_client_id;
+typedef unsigned int xp_request_type;
+typedef int xp_error;
+typedef int xp_bool;
+
+
+/* Error codes that the functions declared here may return. They all
+ numerically match their X equivalents, i.e. the XP_ can be dropped
+ if <X11/X.h> has been included. */
+
+enum xp_error_enum {
+ XP_Success = 0,
+ XP_BadRequest = 1,
+ XP_BadValue = 2,
+ XP_BadWindow = 3,
+ XP_BadMatch = 8,
+ XP_BadAccess = 10,
+ XP_BadImplementation = 17,
+};
+
+
+/* Event types generated by the plugin. */
+
+enum xp_event_type_enum {
+ /* The global display configuration changed somehow. */
+ XP_EVENT_DISPLAY_CHANGED = 1 << 0,
+
+ /* A window changed state. Argument is xp_window_state_event */
+ XP_EVENT_WINDOW_STATE_CHANGED = 1 << 1,
+
+ /* An async request encountered an error. Argument is of type
+ xp_async_error_event */
+ XP_EVENT_ASYNC_ERROR = 1 << 2,
+
+ /* Sent when a surface is destroyed as a side effect of destroying
+ a window. Arg is of type xp_surface_id. */
+ XP_EVENT_SURFACE_DESTROYED = 1 << 3,
+
+ /* Sent when any GL contexts pointing at the given surface need to
+ call xp_update_gl_context () to refresh their state (because the
+ window moved or was resized. Arg is of type xp_surface_id. */
+ XP_EVENT_SURFACE_CHANGED = 1 << 4,
+
+ /* Sent when a window has been moved. Arg is of type xp_window_id. */
+ XP_EVENT_WINDOW_MOVED = 1 << 5,
+};
+
+/* Function type used to receive events. */
+
+typedef void (xp_event_fun) (unsigned int type, const void *arg,
+ unsigned int arg_size, void *user_data);
+
+
+/* Operation types. Used when reporting errors asynchronously. */
+
+enum xp_request_type_enum {
+ XP_REQUEST_NIL = 0,
+ XP_REQUEST_DESTROY_WINDOW = 1,
+ XP_REQUEST_CONFIGURE_WINDOW = 2,
+ XP_REQUEST_FLUSH_WINDOW = 3,
+ XP_REQUEST_COPY_WINDOW = 4,
+ XP_REQUEST_UNLOCK_WINDOW = 5,
+ XP_REQUEST_DISABLE_UPDATE = 6,
+ XP_REQUEST_REENABLE_UPDATE = 7,
+ XP_REQUEST_HIDE_CURSOR = 8,
+ XP_REQUEST_SHOW_CURSOR = 9,
+ XP_REQUEST_FRAME_DRAW = 10,
+};
+
+/* Structure used to report an error asynchronously. Passed as the "arg"
+ of an XP_EVENT_ASYNC_ERROR event. */
+
+struct xp_async_error_event_struct {
+ xp_request_type request_type;
+ xp_resource_id id;
+ xp_error error;
+};
+
+typedef struct xp_async_error_event_struct xp_async_error_event;
+
+
+/* Possible window states. */
+
+enum xp_window_state_enum {
+ /* The window is not in the global list of possibly-visible windows. */
+ XP_WINDOW_STATE_OFFSCREEN = 1 << 0,
+
+ /* Parts of the window may be obscured by other windows. */
+ XP_WINDOW_STATE_OBSCURED = 1 << 1,
+};
+
+/* Structure passed as argument of an XP_EVENT_WINDOW_STATE_CHANGED event. */
+
+struct xp_window_state_event_struct {
+ xp_window_id id;
+ unsigned int state;
+};
+
+typedef struct xp_window_state_event_struct xp_window_state_event;
+
+
+/* Function type used to supply a colormap for indexed drawables. */
+
+typedef xp_error (xp_colormap_fun) (void *data, int first_color,
+ int n_colors, uint32_t *colors);
+
+
+/* Window attributes structure. Used when creating and configuring windows.
+ Also used when configuring surfaces attached to windows. Functions that
+ take one of these structures also take a bit mask defining which
+ fields are set to meaningful values. */
+
+enum xp_window_changes_enum {
+ XP_ORIGIN = 1 << 0,
+ XP_SIZE = 1 << 1,
+ XP_BOUNDS = XP_ORIGIN | XP_SIZE,
+ XP_SHAPE = 1 << 2,
+ XP_STACKING = 1 << 3,
+ XP_DEPTH = 1 << 4,
+ XP_COLORMAP = 1 << 5,
+ XP_WINDOW_LEVEL = 1 << 6,
+};
+
+struct xp_window_changes_struct {
+ /* XP_ORIGIN */
+ int x, y;
+
+ /* XP_SIZE */
+ unsigned int width, height;
+ int bit_gravity; /* how to resize the backing store */
+
+ /* XP_SHAPE */
+ int shape_nrects; /* -1 = remove shape */
+ xp_box *shape_rects;
+ int shape_tx, shape_ty; /* translation for shape */
+
+ /* XP_STACKING */
+ int stack_mode;
+ xp_window_id sibling; /* may be zero; in ABOVE/BELOW modes
+ it may specify a relative window */
+ /* XP_DEPTH, window-only */
+ unsigned int depth;
+
+ /* XP_COLORMAP, window-only */
+ xp_colormap_fun *colormap;
+ void *colormap_data;
+
+ /* XP_WINDOW_LEVEL, window-only */
+ int window_level;
+};
+
+typedef struct xp_window_changes_struct xp_window_changes;
+
+/* Values for bit_gravity field */
+
+enum xp_bit_gravity_enum {
+ XP_GRAVITY_NONE = 0, /* no gravity, fill everything */
+ XP_GRAVITY_NORTH_WEST = 1, /* anchor to top-left corner */
+ XP_GRAVITY_NORTH_EAST = 2, /* anchor to top-right corner */
+ XP_GRAVITY_SOUTH_EAST = 3, /* anchor to bottom-right corner */
+ XP_GRAVITY_SOUTH_WEST = 4, /* anchor to bottom-left corner */
+};
+
+/* Values for stack_mode field */
+
+enum xp_window_stack_mode_enum {
+ XP_UNMAPPED = 0, /* remove the window */
+ XP_MAPPED_ABOVE = 1, /* display the window on top */
+ XP_MAPPED_BELOW = 2, /* display the window at bottom */
+};
+
+/* Data formats for depth field and composite functions */
+
+enum xp_depth_enum {
+ XP_DEPTH_NIL = 0, /* null source when compositing */
+ XP_DEPTH_ARGB8888,
+ XP_DEPTH_RGB555,
+ XP_DEPTH_A8, /* for masks when compositing */
+ XP_DEPTH_INDEX8,
+};
+
+/* Options that may be passed to the xp_init () function. */
+
+enum xp_init_options_enum {
+ /* Don't mark that this process can be in the foreground. */
+ XP_IN_BACKGROUND = 1 << 0,
+
+ /* Deliver background pointer events to this process. */
+ XP_BACKGROUND_EVENTS = 1 << 1,
+};
+
+
+
+/* Miscellaneous functions */
+
+/* Initialize the plugin library. Only the copy/fill/composite functions
+ may be called without having previously called xp_init () */
+
+extern xp_error xp_init (unsigned int options);
+
+/* Sets the current set of requested notifications to MASK. When any of
+ these arrive, CALLBACK will be invoked with CALLBACK-DATA. Note that
+ calling this function cancels any previously requested notifications
+ that aren't set in MASK. */
+
+extern xp_error xp_select_events (unsigned int mask,
+ xp_event_fun *callback,
+ void *callback_data);
+
+/* Waits for all initiated operations to complete. */
+
+extern xp_error xp_synchronize (void);
+
+/* Causes any display update initiated through the plugin libary to be
+ queued until update is reenabled. Note that calls to these functions
+ nest. */
+
+extern xp_error xp_disable_update (void);
+extern xp_error xp_reenable_update (void);
+
+
+
+/* Cursor functions. */
+
+/* Installs the specified cursor. ARGB-DATA should point to 32-bit
+ premultiplied big-endian ARGB data. The HOT-X,HOT-Y parameters
+ specify the offset to the cursor's hot spot from its top-left
+ corner. */
+
+extern xp_error xp_set_cursor (unsigned int width, unsigned int height,
+ unsigned int hot_x, unsigned int hot_y,
+ const uint32_t *argb_data,
+ unsigned int rowbytes);
+
+/* Hide and show the cursor if it's owned by the current process. Calls
+ to these functions nest. */
+
+extern xp_error xp_hide_cursor (void);
+extern xp_error xp_show_cursor (void);
+
+
+
+/* Window functions. */
+
+/* Create a new window as defined by MASK and VALUES. MASK must contain
+ XP_BOUNDS or an error is raised. The id of the newly created window
+ is stored in *RET-ID if this function returns XP_Success. */
+
+extern xp_error xp_create_window (unsigned int mask,
+ const xp_window_changes *values,
+ xp_window_id *ret_id);
+
+/* Destroys the window identified by ID. */
+
+extern xp_error xp_destroy_window (xp_window_id id);
+
+/* Reconfigures the given window according to MASK and VALUES. */
+
+extern xp_error xp_configure_window (xp_window_id id, unsigned int mask,
+ const xp_window_changes *values);
+
+
+/* Returns true if NATIVE-ID is a window created by the plugin library.
+ If so and RET-ID is non-null, stores the id of the window in *RET-ID. */
+
+extern xp_bool xp_lookup_native_window (unsigned int native_id,
+ xp_window_id *ret_id);
+
+/* If ID names a window created by the plugin library, stores it's native
+ window id in *RET-NATIVE-ID. */
+
+extern xp_error xp_get_native_window (xp_window_id id,
+ unsigned int *ret_native_id);
+
+
+/* Locks the rectangle IN-RECT (or, if null, the entire window) of the
+ given window's backing store. Any other non-null parameters are filled
+ in as follows:
+
+ DEPTH = format of returned data. Currently either XP_DEPTH_ARGB8888
+ or XP_DEPTH_RGB565 (possibly with 8 bit planar alpha). Data is
+ always stored in native byte order.
+
+ BITS[0] = pointer to top-left pixel of locked color data
+ BITS[1] = pointer to top-left of locked alpha data, or null if window
+ has no alpha. If the alpha data is meshed, then BITS[1] = BITS[0].
+
+ ROWBYTES[0,1] = size in bytes of each row of color,alpha data
+
+ OUT-RECT = rectangle specifying the current position and size of the
+ locked region relative to the window origin.
+
+ Note that an error is raised when trying to lock an already locked
+ window. While the window is locked, the only operations that may
+ be performed on it are to modify, access or flush its marked region. */
+
+extern xp_error xp_lock_window (xp_window_id id,
+ const xp_box *in_rect,
+ unsigned int *depth,
+ void *bits[2],
+ unsigned int rowbytes[2],
+ xp_box *out_rect);
+
+/* Mark that the region specified by SHAPE-NRECTS, SHAPE-RECTS,
+ SHAPE-TX, and SHAPE-TY in the specified window has been updated, and
+ will need to subsequently be redisplayed. */
+
+extern xp_error xp_mark_window (xp_window_id id, int shape_nrects,
+ const xp_box *shape_rects,
+ int shape_tx, int shape_ty);
+
+/* Unlocks the specified window. If FLUSH is true, then any marked
+ regions are immediately redisplayed. Note that it's an error to
+ unlock an already unlocked window. */
+
+extern xp_error xp_unlock_window (xp_window_id id, xp_bool flush);
+
+/* If anything is marked in the given window for redisplay, do it now. */
+
+extern xp_error xp_flush_window (xp_window_id id);
+
+/* Moves the contents of the region DX,DY pixels away from that specified
+ by DST_RECTS and DST_NRECTS in the window with SRC-ID to the
+ destination region in the window DST-ID. Note that currently source
+ and destination windows must be the same. */
+
+extern xp_error xp_copy_window (xp_window_id src_id, xp_window_id dst_id,
+ int dst_nrects, const xp_box *dst_rects,
+ int dx, int dy);
+
+/* Returns true if the given window has any regions marked for
+ redisplay. */
+
+extern xp_bool xp_is_window_marked (xp_window_id id);
+
+/* If successful returns a superset of the region marked for update in
+ the given window. Use xp_free_region () to release the returned data. */
+
+extern xp_error xp_get_marked_shape (xp_window_id id,
+ int *ret_nrects, xp_box **ret_rects);
+
+extern void xp_free_shape (int nrects, xp_box *rects);
+
+/* Searches for the first window below ABOVE-ID containing the point X,Y,
+ and returns it's window id in *RET-ID. If no window is found, *RET-ID
+ is set to zero. If ABOVE-ID is zero, finds the topmost window
+ containing the given point. */
+
+extern xp_error xp_find_window (int x, int y, xp_window_id above_id,
+ xp_window_id *ret_id);
+
+/* Returns the current origin and size of the window ID in *BOUNDS-RET if
+ successful. */
+extern xp_error xp_get_window_bounds (xp_window_id id, xp_box *bounds_ret);
+
+
+
+/* Window surface functions. */
+
+/* Create a new VRAM surface on the specified window. If successful,
+ returns the identifier of the new surface in *RET-SID. */
+
+extern xp_error xp_create_surface (xp_window_id id, xp_surface_id *ret_sid);
+
+/* Destroys the specified surface. */
+
+extern xp_error xp_destroy_surface (xp_surface_id sid);
+
+/* Reconfigures the specified surface as defined by MASK and VALUES.
+ Note that specifying XP_DEPTH is an error. */
+
+extern xp_error xp_configure_surface (xp_surface_id sid, unsigned int mask,
+ const xp_window_changes *values);
+
+/* If successful, places the client identifier of the current process
+ in *RET-CLIENT. */
+
+extern xp_error xp_get_client_id (xp_client_id *ret_client);
+
+/* Given a valid window,surface combination created by the current
+ process, attempts to allow the specified external client access
+ to that surface. If successful, returns two integers in RET-KEY
+ which the client can use to import the surface into their process. */
+
+extern xp_error xp_export_surface (xp_window_id wid, xp_surface_id sid,
+ xp_client_id client,
+ unsigned int ret_key[2]);
+
+/* Given a two integer key returned from xp_export_surface (), tries
+ to import the surface into the current process. If successful the
+ local surface identifier is stored in *SID-RET. */
+
+extern xp_error xp_import_surface (const unsigned int key[2],
+ xp_surface_id *sid_ret);
+
+/* If successful, stores the number of surfaces attached to the
+ specified window in *RET. */
+
+extern xp_error xp_get_window_surface_count (xp_window_id id,
+ unsigned int *ret);
+
+/* Attaches the CGLContextObj CGL-CTX to the specified surface. */
+
+extern xp_error xp_attach_gl_context (void *cgl_ctx, xp_surface_id sid);
+
+/* Updates the CGLContextObj CGL-CTX to reflect any recent changes to
+ the surface it's attached to. */
+
+extern xp_error xp_update_gl_context (void *cgl_ctx);
+
+
+
+/* Window frame functions. */
+
+/* Possible arguments to xp_frame_get_rect (). */
+
+enum xp_frame_rect_enum {
+ XP_FRAME_RECT_TITLEBAR = 1,
+ XP_FRAME_RECT_TRACKING = 2,
+ XP_FRAME_RECT_GROWBOX = 3,
+};
+
+/* Classes of window frame. */
+
+enum xp_frame_class_enum {
+ XP_FRAME_CLASS_DOCUMENT = 1 << 0,
+ XP_FRAME_CLASS_DIALOG = 1 << 1,
+ XP_FRAME_CLASS_MODAL_DIALOG = 1 << 2,
+ XP_FRAME_CLASS_SYSTEM_MODAL_DIALOG = 1 << 3,
+ XP_FRAME_CLASS_UTILITY = 1 << 4,
+ XP_FRAME_CLASS_TOOLBAR = 1 << 5,
+ XP_FRAME_CLASS_MENU = 1 << 6,
+ XP_FRAME_CLASS_SPLASH = 1 << 7,
+ XP_FRAME_CLASS_BORDERLESS = 1 << 8,
+};
+
+/* Attributes of window frames. */
+
+enum xp_frame_attr_enum {
+ XP_FRAME_ACTIVE = 0x0001,
+ XP_FRAME_URGENT = 0x0002,
+ XP_FRAME_TITLE = 0x0004,
+ XP_FRAME_PRELIGHT = 0x0008,
+ XP_FRAME_SHADED = 0x0010,
+ XP_FRAME_CLOSE_BOX = 0x0100,
+ XP_FRAME_COLLAPSE = 0x0200,
+ XP_FRAME_ZOOM = 0x0400,
+ XP_FRAME_ANY_BUTTON = 0x0700,
+ XP_FRAME_CLOSE_BOX_CLICKED = 0x0800,
+ XP_FRAME_COLLAPSE_BOX_CLICKED = 0x1000,
+ XP_FRAME_ZOOM_BOX_CLICKED = 0x2000,
+ XP_FRAME_ANY_CLICKED = 0x3800,
+ XP_FRAME_GROW_BOX = 0x4000,
+};
+
+#define XP_FRAME_ATTR_IS_SET(a,b) (((a) & (b)) == (b))
+#define XP_FRAME_ATTR_IS_CLICKED(a,m) ((a) & ((m) << 3))
+#define XP_FRAME_ATTR_SET_CLICKED(a,m) ((a) |= ((m) << 3))
+#define XP_FRAME_ATTR_UNSET_CLICKED(a,m) ((a) &= ~((m) << 3))
+
+#define XP_FRAME_POINTER_ATTRS (XP_FRAME_PRELIGHT \
+ | XP_FRAME_ANY_BUTTON \
+ | XP_FRAME_ANY_CLICKED)
+
+extern xp_error xp_frame_get_rect (int type, int class, const xp_box *outer,
+ const xp_box *inner, xp_box *ret);
+extern xp_error xp_frame_hit_test (int class, int x, int y,
+ const xp_box *outer,
+ const xp_box *inner, int *ret);
+extern xp_error xp_frame_draw (xp_window_id wid, int class, unsigned int attr,
+ const xp_box *outer, const xp_box *inner,
+ unsigned int title_len,
+ const unsigned char *title_bytes);
+
+
+
+/* Memory manipulation functions. */
+
+enum xp_composite_op_enum {
+ XP_COMPOSITE_SRC = 0,
+ XP_COMPOSITE_OVER,
+};
+
+#define XP_COMPOSITE_FUNCTION(op, src_depth, mask_depth, dest_depth) \
+ (((op) << 24) | ((src_depth) << 16) \
+ | ((mask_depth) << 8) | ((dest_depth) << 0))
+
+#define XP_COMPOSITE_FUNCTION_OP(f) (((f) >> 24) & 255)
+#define XP_COMPOSITE_FUNCTION_SRC_DEPTH(f) (((f) >> 16) & 255)
+#define XP_COMPOSITE_FUNCTION_MASK_DEPTH(f) (((f) >> 8) & 255)
+#define XP_COMPOSITE_FUNCTION_DEST_DEPTH(f) (((f) >> 0) & 255)
+
+/* Composite WIDTH by HEIGHT pixels from source and mask to destination
+ using a specified function (if source and destination overlap,
+ undefined behavior results).
+
+ For SRC and DEST, the first element of the array is the color data. If
+ the second element is non-null it implies that there is alpha data
+ (which may be meshed or planar). Data without alpha is assumed to be
+ opaque.
+
+ Passing a null SRC-ROWBYTES pointer implies that the data SRC points
+ to is a single element.
+
+ Operations that are not supported will return XP_BadImplementation. */
+
+extern xp_error xp_composite_pixels (unsigned int width, unsigned int height,
+ unsigned int function,
+ void *src[2], unsigned int src_rowbytes[2],
+ void *mask, unsigned int mask_rowbytes,
+ void *dest[2], unsigned int dest_rowbytes[2]);
+
+/* Fill HEIGHT rows of data starting at DST. Each row will have WIDTH
+ bytes filled with the 32-bit pattern VALUE. Each row is DST-ROWBYTES
+ wide in total. */
+
+extern void xp_fill_bytes (unsigned int width,
+ unsigned int height, uint32_t value,
+ void *dst, unsigned int dst_rowbytes);
+
+/* Copy HEIGHT rows of bytes from SRC to DST. Each row will have WIDTH
+ bytes copied. SRC and DST may overlap, and the right thing will happen. */
+
+extern void xp_copy_bytes (unsigned int width, unsigned int height,
+ const void *src, unsigned int src_rowbytes,
+ void *dst, unsigned int dst_rowbytes);
+
+/* Suggestions for the minimum number of bytes or pixels for which it
+ makes sense to use some of the xp_ functions */
+
+extern unsigned int xp_fill_bytes_threshold, xp_copy_bytes_threshold,
+ xp_composite_area_threshold, xp_scroll_area_threshold;
+
+
+#endif /* XPLUGIN_H */
+
diff --git a/xorg-server/miext/shadow/makefile b/xorg-server/miext/shadow/makefile
new file mode 100644
index 000000000..0a84b506c
--- /dev/null
+++ b/xorg-server/miext/shadow/makefile
@@ -0,0 +1,25 @@
+LIBRARY = libshadow
+
+#INCLUDES = -I$(top_srcdir)/hw/xfree86/os-support
+
+CSRCS = shadow.c \
+ shalloc.c \
+ shpacked.c \
+ shplanar8.c \
+ shplanar.c \
+ shrot16pack_180.c \
+ shrot16pack_270.c \
+ shrot16pack_270YX.c \
+ shrot16pack_90.c \
+ shrot16pack_90YX.c \
+ shrot16pack.c \
+ shrot32pack_180.c \
+ shrot32pack_270.c \
+ shrot32pack_90.c \
+ shrot32pack.c \
+ shrot8pack_180.c \
+ shrot8pack_270.c \
+ shrot8pack_90.c \
+ shrot8pack.c \
+ shrotate.c
+
diff --git a/xorg-server/miext/sync/makefile b/xorg-server/miext/sync/makefile
new file mode 100644
index 000000000..295fdb250
--- /dev/null
+++ b/xorg-server/miext/sync/makefile
@@ -0,0 +1,6 @@
+LIBRARY = libsync
+
+CSRCS = \
+ misync.c \
+ misyncfd.c \
+
diff --git a/xorg-server/os/WaitFor.c b/xorg-server/os/WaitFor.c
index 3eb15b9b8..ffc896176 100644
--- a/xorg-server/os/WaitFor.c
+++ b/xorg-server/os/WaitFor.c
@@ -209,6 +209,12 @@ WaitForSomething(int *pClientsReady)
wt = &waittime;
}
}
+ if (!wt)
+ {
+ wt = &waittime;
+ waittime.tv_sec = 0;
+ waittime.tv_usec = 100;
+ }
XFD_COPYSET(&AllSockets, &LastSelectMask);
}
diff --git a/xorg-server/os/access.c b/xorg-server/os/access.c
index e8c0781f2..62c3d9925 100644
--- a/xorg-server/os/access.c
+++ b/xorg-server/os/access.c
@@ -224,6 +224,10 @@ static int AccessEnabled = DEFAULT_ACCESS_CONTROL;
static int LocalHostEnabled = FALSE;
static int LocalHostRequested = FALSE;
static int UsingXdmcp = FALSE;
+static u_long *pInterfaces = NULL;
+static int ActiveInterfaces = 0;
+
+void match_interface(u_long u_lQuery);
/* FamilyServerInterpreted implementation */
static Bool siAddrMatch(int family, void *addr, int len, HOST * host,
@@ -231,6 +235,84 @@ static Bool siAddrMatch(int family, void *addr, int len, HOST * host,
static int siCheckAddr(const char *addrString, int length);
static void siTypesInitialize(void);
+#if NTDDI_VERSION < NTDDI_VISTA
+const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt)
+{
+ if (af == AF_INET)
+ {
+ struct sockaddr_in in;
+ memset(&in, 0, sizeof(in));
+ in.sin_family = AF_INET;
+ memcpy(&in.sin_addr, src, sizeof(struct in_addr));
+ if (getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in), dst, cnt, NULL, 0, NI_NUMERICHOST) != 0)
+ {
+ errno = WSAGetLastError();
+ return NULL;
+ }
+ else return dst;
+ }
+ else if (af == AF_INET6)
+ {
+ struct sockaddr_in6 in;
+ memset(&in, 0, sizeof(in));
+ in.sin6_family = AF_INET6;
+ memcpy(&in.sin6_addr, src, sizeof(struct in_addr6));
+ if (getnameinfo((struct sockaddr *)&in, sizeof(struct sockaddr_in6), dst, cnt, NULL, 0, NI_NUMERICHOST) != 0)
+ {
+ errno = WSAGetLastError();
+ return NULL;
+ }
+ else return dst;
+ }
+ errno = WSAEAFNOSUPPORT;
+ return NULL;
+}
+
+int inet_pton(int af, const char *src, void *dst)
+{
+ struct sockaddr_storage ss;
+ int sslen = sizeof(ss);
+ if (af == AF_INET)
+ {
+ struct in_addr out;
+ char buffer[INET_ADDRSTRLEN + 1];
+ strncpy (buffer, src, INET_ADDRSTRLEN);
+ buffer [INET_ADDRSTRLEN] = '\0';
+ if (WSAStringToAddressA(buffer, AF_INET, NULL, (struct sockaddr*)&ss, &sslen) == SOCKET_ERROR)
+ {
+ errno = WSAGetLastError();
+ return 0;
+ }
+ else
+ {
+ out = ((struct sockaddr_in *)&ss)->sin_addr;
+ memcpy (dst, &out, sizeof(struct in_addr));
+ return 1;
+ }
+ }
+ else if (af == AF_INET6)
+ {
+ struct in6_addr out6;
+ char buffer6[INET6_ADDRSTRLEN + 1];
+ strncpy (buffer6, src, INET6_ADDRSTRLEN);
+ buffer6 [INET6_ADDRSTRLEN] = '\0';
+ if (WSAStringToAddressA(buffer6, AF_INET6, NULL, (struct sockaddr*)&ss, &sslen) == SOCKET_ERROR)
+ {
+ errno = WSAGetLastError();
+ return 0;
+ }
+ else
+ {
+ out6 = ((struct sockaddr_in6 *)&ss)->sin6_addr;
+ memcpy (dst, &out6, sizeof(struct in6_addr));
+ return 1;
+ }
+ }
+ errno = WSAEAFNOSUPPORT;
+ return -1;
+}
+#endif
+
/*
* called when authorization is not enabled to add the
* local host to the access list
@@ -307,7 +389,7 @@ ifioctl(int fd, int cmd, char *arg)
#endif
/*
- * DefineSelf (fd):
+ * DefineSelf (fd, protocol):
*
* Define this host for access control. Find all the hosts the OS knows about
* for this fd and add them to the selfhosts list.
@@ -315,12 +397,11 @@ ifioctl(int fd, int cmd, char *arg)
#if !defined(SIOCGIFCONF)
void
-DefineSelf(int fd)
+DefineSelf(int fd, const int protocol)
{
#if !defined(TCPCONN) && !defined(STREAMSCONN) && !defined(UNIXCONN)
return;
#else
- register int n;
int len;
caddr_t addr;
int family;
@@ -332,6 +413,10 @@ DefineSelf(int fd)
struct {
char nodename[512];
} name;
+ HOST ha;
+ struct addrinfo *addresses;
+ struct addrinfo *a;
+ struct addrinfo hints;
#endif
register struct hostent *hp;
@@ -351,7 +436,6 @@ DefineSelf(int fd)
#ifdef XTHREADS_NEEDS_BYNAMEPARAMS
_Xgethostbynameparams hparams;
#endif
-
/* Why not use gethostname()? Well, at least on my system, I've had to
* make an ugly kernel patch to get a name longer than 8 characters, and
* uname() lets me access to the whole string (it smashes release, you
@@ -363,16 +447,93 @@ DefineSelf(int fd)
gethostname(name.nodename, sizeof(name.nodename));
#endif
+ /* Colin's experiments with using getaddrinfo() instead of the IPv6-useless gethostbyname() */
+ memset( &hints, 0, sizeof(hints) );
+ if (protocol == 4) hints.ai_family = AF_INET;
+ else if (protocol == 6) hints.ai_family = AF_INET6;
+
+ if (getaddrinfo(name.nodename, NULL, &hints, &addresses) != 0) goto CarryOnTheOldWay;
+
+ if (protocol == 6) ErrorF ("DefineSelf - %s has IPv%d addresses...\n",
+ name.nodename, protocol);
+
+ for (a = addresses; a != NULL; a = a->ai_next) {
+ char ad[INET6_ADDRSTRLEN];
+ ha.family = a->ai_family;
+ if (a->ai_family == AF_INET6) {
+ ha.addr = (unsigned char *)
+ &((struct sockaddr_in6 *) a->ai_addr)->sin6_addr;
+ ha.len =
+ sizeof (((struct sockaddr_in6 *) a->ai_addr)->sin6_addr);
+ } else {
+ ha.addr = (unsigned char *)
+ &((struct sockaddr_in *) a->ai_addr)->sin_addr;
+ ha.len =
+ sizeof (((struct sockaddr_in *) a->ai_addr)->sin_addr);
+ }
+ inet_ntop(ha.family, ha.addr, ad, sizeof(ad));
+
+ if (ha.family == AF_INET6) {
+ ErrorF(" %s", ad);
+ saddr.sa.sa_family = AF_INET6;
+ inet6addr = (struct sockaddr_in6 *) (&(saddr.sa));
+ memcpy (&(inet6addr->sin6_addr), ha.addr, ha.len);
+ len = sizeof(saddr.in6);
+ family = ConvertAddr (&(saddr.sa), &len, (pointer *)&addr);
+ if ( family != -1 && family != FamilyLocal ) {
+ for (host = selfhosts;
+ host && !addrEqual (family, addr, len, host);
+ host = host->next) ;
+ if (!host) {
+ /* add this host to the host list. */
+ MakeHost(host,len)
+ if (host) {
+ host->family = family;
+ host->len = len;
+ memcpy (host->addr, addr, len);
+ host->next = selfhosts;
+ selfhosts = host;
+ }
+ if (family == FamilyInternet6 &&
+ !(IN6_IS_ADDR_LOOPBACK((struct in6_addr *)addr))) {
+ XdmcpRegisterConnection (family, (char *)addr, len);
+ }
+ }
+ }
+ }
+ }
+ if (protocol == 6) ErrorF ("\n");
+ freeaddrinfo(addresses);
+ /* End of Colin's experiments */
+
+CarryOnTheOldWay:
+
hp = _XGethostbyname(name.nodename, hparams);
if (hp != NULL) {
+ int i = 0, j = 0;
+ IN_ADDR Inter;
saddr.sa.sa_family = hp->h_addrtype;
switch (hp->h_addrtype) {
case AF_INET:
+ if (protocol == 6) return; /* We should not be here: gethostbyname() is useless with inet6! */
inetaddr = (struct sockaddr_in *) (&(saddr.sa));
- memcpy(&(inetaddr->sin_addr), hp->h_addr, hp->h_length);
- len = sizeof(saddr.sa);
+ if (!pInterfaces) match_interface(0);
+ if (ActiveInterfaces && pInterfaces && *pInterfaces)
+ {
+ ErrorF ("DefineSelf - %s has %d usable IPv%d interface%s...\n address%s",
+ name.nodename, ActiveInterfaces, protocol,
+ ActiveInterfaces==1 ? "" : "s",
+ ActiveInterfaces==1 ? "" : "es");
+ for (i = 0; hp->h_addr_list[i]; i++)
+ {
+ Inter.S_un.S_addr = *(u_long *)hp->h_addr_list[i];
+ ErrorF(" %s", inet_ntoa(Inter));
+ if (*pInterfaces == *(u_long *)hp->h_addr_list[i]) j = i;
+ }
+ ErrorF ("\n");
+ }
break;
-#if defined(IPv6) && defined(AF_INET6)
+#if 0 /* We never used to get here and AF_INET6 is now processed by getaddrinfo() */
case AF_INET6:
inet6addr = (struct sockaddr_in6 *) (&(saddr.sa));
memcpy(&(inet6addr->sin6_addr), hp->h_addr, hp->h_length);
@@ -382,48 +543,56 @@ DefineSelf(int fd)
default:
goto DefineLocalHost;
}
- family = ConvertAddr(&(saddr.sa), &len, (void **) &addr);
- if (family != -1 && family != FamilyLocal) {
- for (host = selfhosts;
- host && !addrEqual(family, addr, len, host);
- host = host->next);
- if (!host) {
- /* add this host to the host list. */
- MakeHost(host, len)
+
+ for (i = -1; i < 0 || hp->h_addr_list[i]; i++)
+ {
+ if (i < 0) memcpy ( &(inetaddr->sin_addr), hp->h_addr_list[j], hp->h_length);
+ else if (i == j) continue;
+ else memcpy ( &(inetaddr->sin_addr), hp->h_addr_list[i], hp->h_length);
+ len = sizeof(saddr.sa);
+ family = ConvertAddr(&(saddr.sa), &len, (void **) &addr);
+ if ( family != -1 && family != FamilyLocal ) {
+ for (host = selfhosts;
+ host && !addrEqual (family, addr, len, host);
+ host = host->next) ;
+ if (!host) {
+ /* add this host to the host list. */
+ MakeHost(host,len)
if (host) {
- host->family = family;
- host->len = len;
- memcpy(host->addr, addr, len);
- host->next = selfhosts;
- selfhosts = host;
- }
-#ifdef XDMCP
- /*
- * If this is an Internet Address, but not the localhost
- * address (127.0.0.1), nor the bogus address (0.0.0.0),
- * register it.
- */
- if (family == FamilyInternet &&
- !(len == 4 &&
- ((addr[0] == 127) ||
- (addr[0] == 0 && addr[1] == 0 &&
- addr[2] == 0 && addr[3] == 0)))
- ) {
- XdmcpRegisterConnection(family, (char *) addr, len);
- broad_addr = *inetaddr;
- ((struct sockaddr_in *) &broad_addr)->sin_addr.s_addr =
+ host->family = family;
+ host->len = len;
+ memcpy ( host->addr, addr, len);
+ host->next = selfhosts;
+ selfhosts = host;
+ }
+ #ifdef XDMCP
+ /*
+ * If this is an Internet Address, but not the localhost
+ * address (127.0.0.1), nor the bogus address (0.0.0.0),
+ * register it.
+ */
+ if (family == FamilyInternet &&
+ !(len == 4 &&
+ ((addr[0] == 127) ||
+ (addr[0] == 0 && addr[1] == 0 &&
+ addr[2] == 0 && addr[3] == 0)))
+ ) {
+ XdmcpRegisterConnection (family, (char *)addr, len);
+ broad_addr = *inetaddr;
+ ((struct sockaddr_in *) &broad_addr)->sin_addr.s_addr =
htonl(INADDR_BROADCAST);
- XdmcpRegisterBroadcastAddress((struct sockaddr_in *)
+ XdmcpRegisterBroadcastAddress ((struct sockaddr_in *)
&broad_addr);
+ }
+ #if defined(IPv6) && defined(AF_INET6)
+ else if (family == FamilyInternet6 &&
+ !(IN6_IS_ADDR_LOOPBACK((struct in6_addr *)addr))) {
+ XdmcpRegisterConnection (family, (char *)addr, len);
+ }
+ #endif
+
+ #endif /* XDMCP */
}
-#if defined(IPv6) && defined(AF_INET6)
- else if (family == FamilyInternet6 &&
- !(IN6_IS_ADDR_LOOPBACK((struct in6_addr *) addr))) {
- XdmcpRegisterConnection(family, (char *) addr, len);
- }
-#endif
-
-#endif /* XDMCP */
}
}
}
@@ -431,6 +600,7 @@ DefineSelf(int fd)
* now add a host of family FamilyLocalHost...
*/
DefineLocalHost:
+ free(pInterfaces);
for (host = selfhosts;
host && !addrEqual(FamilyLocalHost, "", 0, host); host = host->next);
if (!host) {
@@ -846,18 +1016,19 @@ ResetHosts(const char *display)
FreeHost(host);
}
-#if defined WIN32 && defined __MINGW32__
-#define ETC_HOST_PREFIX "X"
-#else
#define ETC_HOST_PREFIX "/etc/X"
-#endif
#define ETC_HOST_SUFFIX ".hosts"
fnamelen = strlen(ETC_HOST_PREFIX) + strlen(ETC_HOST_SUFFIX) +
strlen(display) + 1;
if (fnamelen > sizeof(fname))
FatalError("Display name `%s' is too long\n", display);
+#ifdef __MINGW32__
+ snprintf(fname, sizeof(fname), "%s%s" ETC_HOST_SUFFIX, getenv("XHOSTPREFIX"),
+ display);
+#else
snprintf(fname, sizeof(fname), ETC_HOST_PREFIX "%s" ETC_HOST_SUFFIX,
display);
+#endif
if ((fd = fopen(fname, "r")) != 0) {
while (fgets(ohostname, sizeof(ohostname), fd)) {
@@ -921,9 +1092,13 @@ ResetHosts(const char *display)
(family == FamilyWild)) {
struct addrinfo *addresses;
struct addrinfo *a;
+ struct addrinfo hints;
int f;
- if (getaddrinfo(hostname, NULL, NULL, &addresses) == 0) {
+ memset( &hints, 0, sizeof(hints) );
+ if (family == FamilyInternet) hints.ai_family = AF_INET;
+ else if (family == FamilyInternet6) hints.ai_family = AF_INET6;
+ if (getaddrinfo(hostname, NULL, &hints, &addresses) == 0) {
for (a = addresses; a != NULL; a = a->ai_next) {
len = a->ai_addrlen;
f = ConvertAddr(a->ai_addr, &len,
@@ -1237,7 +1412,9 @@ NewHost(int family, const void *addr, int len, int addingLocalHosts)
{
register HOST *host;
+ if (family == FamilyLocal) return TRUE; /* No FamilyLocal in Vcxsrv */
for (host = validhosts; host; host = host->next) {
+
if (addrEqual(family, addr, len, host))
return TRUE;
}
@@ -1674,6 +1851,7 @@ siHostnameAddrMatch(int family, void *addr, int len,
char hostname[SI_HOSTNAME_MAXLEN];
struct addrinfo *addresses;
struct addrinfo *a;
+ struct addrinfo hints;
int f, hostaddrlen;
void *hostaddr;
@@ -1682,7 +1860,10 @@ siHostnameAddrMatch(int family, void *addr, int len,
strlcpy(hostname, siAddr, siAddrLen + 1);
- if (getaddrinfo(hostname, NULL, NULL, &addresses) == 0) {
+ memset( &hints, 0, sizeof(hints) );
+ if (family == FamilyInternet) hints.ai_family = AF_INET;
+ else if (family == FamilyInternet6) hints.ai_family = AF_INET6;
+ if (getaddrinfo(hostname, NULL, &hints, &addresses) == 0) {
for (a = addresses; a != NULL; a = a->ai_next) {
hostaddrlen = a->ai_addrlen;
f = ConvertAddr(a->ai_addr, &hostaddrlen, &hostaddr);
@@ -1715,7 +1896,7 @@ siHostnameAddrMatch(int family, void *addr, int len,
if ((hp = _XGethostbyname(hostname, hparams)) != NULL) {
#ifdef h_addr /* new 4.3bsd version of gethostent */
/* iterate over the addresses */
- for (addrlist = hp->h_addr_list; *addrlist; addrlist++)
+ for (addrlist = (const char **)hp->h_addr_list; *addrlist; addrlist++)
#else
addrlist = &hp->h_addr;
#endif
@@ -2012,3 +2193,55 @@ siTypesInitialize(void)
&siLocalGroupPriv);
#endif
}
+
+void match_interface(u_long u_lQuery)
+{
+ WSADATA w;
+ SOCKET sd;
+ INTERFACE_INFO InterfaceList[25];
+ PSOCKADDR_IN pAddress, pNetmask;
+ u_long nBytesReturned, tempAddress;
+ u_long u_lAddress, u_lNetmask, u_lFlags;
+ int nNumInterfaces, i, j = 0;
+
+ if (WSAStartup(MAKEWORD(2,2), &w) != 0)
+ return;
+
+ sd = WSASocket(AF_INET, SOCK_DGRAM, 0, 0, 0, 0);
+ if (sd == INVALID_SOCKET)
+ {
+ WSACleanup();
+ return;
+ }
+
+ if (WSAIoctl(sd, SIO_GET_INTERFACE_LIST, 0, 0, &InterfaceList, sizeof(InterfaceList), &nBytesReturned, 0, 0) == SOCKET_ERROR)
+ {
+ closesocket(sd);
+ WSACleanup();
+ return;
+ }
+
+ nNumInterfaces = (int)(nBytesReturned/sizeof(INTERFACE_INFO));
+ pInterfaces = malloc(25*sizeof(u_long));
+ for (i = 0; i < nNumInterfaces; ++i)
+ {
+ pAddress = &InterfaceList[i].iiAddress.AddressIn;
+ u_lAddress = pAddress->sin_addr.S_un.S_addr;
+
+ pNetmask = &InterfaceList[i].iiNetmask.AddressIn;
+ u_lNetmask = pNetmask->sin_addr.S_un.S_addr;
+
+ u_lFlags = InterfaceList[i].iiFlags;
+ if ((u_lFlags & IFF_UP) && !(u_lFlags & IFF_LOOPBACK))
+ {
+ if ((u_lAddress & u_lNetmask) == (u_lQuery & u_lNetmask)) j = i;
+ *(pInterfaces + ActiveInterfaces) = u_lAddress;
+ ActiveInterfaces++;
+ }
+ }
+ tempAddress = *pInterfaces;
+ *pInterfaces = *(pInterfaces + j);
+ *(pInterfaces + j) = tempAddress;
+ closesocket(sd);
+ WSACleanup();
+}
diff --git a/xorg-server/os/auth.c b/xorg-server/os/auth.c
index 5fcb538c4..df05a5717 100644
--- a/xorg-server/os/auth.c
+++ b/xorg-server/os/auth.c
@@ -303,11 +303,23 @@ GenerateAuthorization(unsigned name_length,
void
GenerateRandomData(int len, char *buf)
{
+#ifdef _MSC_VER
+ static HANDLE hAdvApi32;
+ static BOOLEAN (_stdcall * RtlGenRandom)(void *,unsigned long);
+
+ if (!hAdvApi32)
+ {
+ hAdvApi32=LoadLibrary("advapi32.dll");
+ RtlGenRandom=(BOOLEAN (_stdcall *)(void*,unsigned long))GetProcAddress(hAdvApi32,"SystemFunction036");
+ }
+ RtlGenRandom(buf, len);
+#else
int fd;
fd = open("/dev/urandom", O_RDONLY);
read(fd, buf, len);
close(fd);
+#endif
}
#endif /* XCSECURITY */
diff --git a/xorg-server/os/connection.c b/xorg-server/os/connection.c
index 40d9ff39b..505552d19 100644
--- a/xorg-server/os/connection.c
+++ b/xorg-server/os/connection.c
@@ -66,6 +66,9 @@ SOFTWARE.
#ifdef WIN32
#include <X11/Xwinsock.h>
+#ifdef _DEBUG
+#define DEBUG
+#endif
#endif
#include <X11/X.h>
#include <X11/Xproto.h>
@@ -108,6 +111,10 @@ SOFTWARE.
#include "dixstruct.h"
#include "xace.h"
+#ifdef _MSC_VER
+typedef int pid_t;
+#endif
+
#define Pid_t pid_t
#ifdef HAVE_GETPEERUCRED
@@ -140,12 +147,15 @@ Bool NewOutputPending; /* not yet attempted to write some new output */
Bool AnyClientsWriteBlocked; /* true if some client blocked on write */
Bool NoListenAll; /* Don't establish any listening sockets */
+#if !defined(_MSC_VER)
static Bool RunFromSmartParent; /* send SIGUSR1 to parent process */
+static Pid_t ParentProcess;
+#endif
Bool RunFromSigStopParent; /* send SIGSTOP to our own process; Upstart (or
equivalent) will send SIGCONT back. */
static char dynamic_display[7]; /* display name */
+static int dynamic_display_id;
Bool PartialNetwork; /* continue even if unable to bind all addrs */
-static Pid_t ParentProcess;
static Bool debug_conns = FALSE;
@@ -167,9 +177,9 @@ int *ConnectionTranslation = NULL;
*/
#undef MAXSOCKS
-#define MAXSOCKS 500
+#define MAXSOCKS FD_SETSIZE
#undef MAXSELECT
-#define MAXSELECT 500
+#define MAXSELECT FD_SETSIZE
struct _ct_node {
struct _ct_node *next;
@@ -270,6 +280,23 @@ lookup_trans_conn(int fd)
return NULL;
}
+int
+TransIsListening(char *protocol)
+{
+ /* look for this transport in the list of listeners */
+ int i;
+ for (i = 0; i < ListenTransCount; i++)
+ {
+ if (!strcmp(protocol, ListenTransConns[i]->transptr->TransName))
+ {
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+
/* Set MaxClients and lastfdesc, and allocate ConnectionTranslation */
void
@@ -367,6 +394,11 @@ NotifyParentProcess(void)
}
if (RunFromSigStopParent)
raise(SIGSTOP);
+#else
+/* On windows the displayfd points to shared memory, so write the id to it */
+ int *pDisplayfd=(int*)MapViewOfFile((HANDLE)displayfd, FILE_MAP_READ|FILE_MAP_WRITE, 0, 0, 0);
+ if (pDisplayfd)
+ *pDisplayfd=dynamic_display_id;
#endif
}
@@ -422,7 +454,7 @@ CreateWellKnownSockets(void)
else { /* -displayfd and no explicit display number */
Bool found = 0;
for (i = 0; i < 65535 - X_TCP_PORT; i++) {
- if (TryCreateSocket(i, &partial) && !partial) {
+ if (TryCreateSocket(i, &partial) && ListenTransCount >= 1 && (PartialNetwork || !partial)) {
found = 1;
break;
}
@@ -431,20 +463,25 @@ CreateWellKnownSockets(void)
}
if (!found)
FatalError("Failed to find a socket to listen on");
+ dynamic_display_id=i;
snprintf(dynamic_display, sizeof(dynamic_display), "%d", i);
display = dynamic_display;
}
ListenTransFds = malloc(ListenTransCount * sizeof (int));
- for (i = 0; i < ListenTransCount; i++) {
- int fd = _XSERVTransGetConnectionNumber(ListenTransConns[i]);
+ for (i = ListenTransCount; i > 0; i--) {
+ int fd = _XSERVTransGetConnectionNumber (ListenTransConns[i-1]);
- ListenTransFds[i] = fd;
+ ListenTransFds[i-1] = fd;
FD_SET(fd, &WellKnownConnections);
- if (!_XSERVTransIsLocal(ListenTransConns[i]))
- DefineSelf (fd);
+ if (!_XSERVTransIsLocal (ListenTransConns[i-1])) {
+ int protocol = 0;
+ if (!strcmp("inet", ListenTransConns[i-1]->transptr->TransName)) protocol = 4;
+ else if (!strcmp("inet6", ListenTransConns[i-1]->transptr->TransName)) protocol = 6;
+ DefineSelf (fd, protocol);
+ }
}
if (!XFD_ANYSET(&WellKnownConnections) && !NoListenAll)
@@ -986,15 +1023,17 @@ CheckConnections(void)
{
#ifndef WIN32
fd_mask mask;
+ int curoff;
#endif
fd_set tmask;
- int curclient, curoff;
+ int curclient;
int i;
struct timeval notime;
int r;
#ifdef WIN32
- fd_set savedAllClients;
+ fd_set savedAllSockets;
+ unsigned j;
#endif
notime.tv_sec = 0;
@@ -1018,17 +1057,21 @@ CheckConnections(void)
}
}
#else
- XFD_COPYSET(&AllClients, &savedAllClients);
- for (i = 0; i < XFD_SETCOUNT(&savedAllClients); i++) {
- curclient = XFD_FD(&savedAllClients, i);
- FD_ZERO(&tmask);
- FD_SET(curclient, &tmask);
- do {
- r = Select(curclient + 1, &tmask, NULL, NULL, &notime);
- } while (r < 0 && (errno == EINTR || errno == EAGAIN));
- if (r < 0)
- if (GetConnectionTranslation(curclient) > 0)
- CloseDownClient(clients[GetConnectionTranslation(curclient)]);
+ /* First test AllSockets and then AllClients are valid sockets */
+ XFD_COPYSET(&AllSockets, &savedAllSockets);
+ for (j=0; j<2; j++) {
+ for (i = 0; i < XFD_SETCOUNT(&savedAllSockets); i++) {
+ curclient = XFD_FD(&savedAllSockets, i);
+ FD_ZERO(&tmask);
+ FD_SET(curclient, &tmask);
+ do {
+ r = Select (curclient + 1, &tmask, NULL, NULL, &notime);
+ } while (r == SOCKET_ERROR && (WSAGetLastError() == WSAEINTR || WSAGetLastError() == WSAEWOULDBLOCK));
+ if (r < 0)
+ if (GetConnectionTranslation(curclient) > 0)
+ CloseDownClient(clients[GetConnectionTranslation(curclient)]);
+ }
+ XFD_COPYSET(&AllClients, &savedAllSockets);
}
#endif
}
@@ -1046,8 +1089,12 @@ CloseDownConnection(ClientPtr client)
if (FlushCallback)
CallCallbacks(&FlushCallback, NULL);
+#ifdef DEBUG
+ ErrorF("CloseDownConnection: client index = %d, socket fd = %d\n",
+ client->index, oc->fd);
+#endif
if (oc->output)
- FlushClient(client, oc, (char *) NULL, 0);
+ FlushClient(client, oc, (char *) NULL, 0);
#ifdef XDMCP
XdmcpCloseDisplay(oc->fd);
#endif
diff --git a/xorg-server/os/io.c b/xorg-server/os/io.c
index 8181a8639..ae3a9a786 100644
--- a/xorg-server/os/io.c
+++ b/xorg-server/os/io.c
@@ -954,6 +954,7 @@ FlushClient(ClientPtr who, OsCommPtr oc, const void *__extraBuf, int extraCount)
/* If we've arrived here, then the client is stuffed to the gills
and not ready to accept more. Make a note of it and buffer
the rest. */
+ errno=0;
FD_SET(connection, &ClientsWriteBlocked);
AnyClientsWriteBlocked = TRUE;
diff --git a/xorg-server/os/log.c b/xorg-server/os/log.c
index a368569d0..34d1185b8 100644
--- a/xorg-server/os/log.c
+++ b/xorg-server/os/log.c
@@ -92,8 +92,14 @@ OR PERFORMANCE OF THIS SOFTWARE.
#ifdef WIN32
#include <process.h>
+#ifndef _MSC_VER
#define getpid(x) _getpid(x)
#endif
+#endif
+
+#ifdef _MSC_VER
+#define S_ISREG(m) (((m)&_S_IFMT) == _S_IFREG)
+#endif
#ifdef XF86BIGFONT
#include "xf86bigfontsrv.h"
@@ -519,8 +525,8 @@ LogSWrite(int verb, const char *buf, size_t len, Bool end_line)
#endif
}
else if (!inSignalContext && logFile) {
- if (newline)
- fprintf(logFile, "[%10.3f] ", GetTimeInMillis() / 1000.0);
+// if (newline)
+// fprintf(logFile, "[%10.3f] ", GetTimeInMillis() / 1000.0);
newline = end_line;
fwrite(buf, len, 1, logFile);
if (logFlush) {
@@ -554,7 +560,7 @@ LogSWrite(int verb, const char *buf, size_t len, Bool end_line)
void
LogVWrite(int verb, const char *f, va_list args)
{
- return LogVMessageVerb(X_NONE, verb, f, args);
+ LogVMessageVerb(X_NONE, verb, f, args);
}
void
@@ -878,7 +884,7 @@ VAuditF(const char *f, va_list args)
if (auditTimer != NULL)
TimerForce(auditTimer);
ErrorF("%s%s", prefix != NULL ? prefix : "", buf);
- strlcpy(oldbuf, buf, sizeof(oldbuf));
+ strncpy(oldbuf, buf, sizeof(oldbuf));
oldlen = len;
nrepeat = 0;
auditTimer = TimerSet(auditTimer, 0, AUDIT_TIMEOUT, AuditFlush, NULL);
@@ -886,6 +892,8 @@ VAuditF(const char *f, va_list args)
free(prefix);
}
+extern char g_FatalErrorMessage[1024];
+
void
FatalError(const char *f, ...)
{
@@ -900,8 +908,10 @@ FatalError(const char *f, ...)
va_start(args, f);
+#ifndef _MSC_VER
/* Make a copy for OsVendorFatalError */
va_copy(args2, args);
+#endif
#ifdef __APPLE__
{
@@ -913,9 +923,15 @@ FatalError(const char *f, ...)
va_end(apple_args);
}
#endif
+#ifdef WIN32
+ vsnprintf(g_FatalErrorMessage, 1024, f, args);
+#endif
VErrorFSigSafe(f, args);
va_end(args);
ErrorFSigSafe("\n");
+#ifdef _MSC_VER
+ va_start(args2, f);
+#endif
if (!beenhere)
OsVendorFatalError(f, args2);
va_end(args2);
diff --git a/xorg-server/os/makefile b/xorg-server/os/makefile
new file mode 100644
index 000000000..b7fdc12b1
--- /dev/null
+++ b/xorg-server/os/makefile
@@ -0,0 +1,55 @@
+LIBRARY=libos
+
+ifeq ($(DEBUG),1)
+DEFINES += XSERVER_DTRACE
+endif
+SECURE_RPC=1
+XDMCP=1
+NEED_STRLCAT=1
+NEED_STRNDUP=1
+
+SECURERPC_SRCS = rpcauth.c
+XDMCP_SRCS = xdmcp.c
+STRLCAT_SRCS = strlcat.c strlcpy.c
+XORG_SRCS = log.c
+STRNDUP_SRCS = strndup.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 \
+ strcasecmp.c \
+ strcasestr.c \
+ xdmauth.c \
+ xsha1.c \
+ xstrans.c \
+ xprintf.c \
+ $(XORG_SRCS)
+
+if SECURE_RPC
+libos_la_SOURCES += $(SECURERPC_SRCS)
+endif
+if XDMCP
+libos_la_SOURCES += $(XDMCP_SRCS)
+endif
+
+if NEED_STRLCAT
+libos_la_SOURCES += $(STRLCAT_SRCS)
+endif
+
+if NEED_STRNDUP
+libos_la_SOURCES += $(STRNDUP_SRCS)
+endif
+
+CSRCS = $(filter %.c,$(libos_la_SOURCES))
+
+
diff --git a/xorg-server/os/utils.c b/xorg-server/os/utils.c
index ed7581e1c..153096aa0 100644..100755
--- a/xorg-server/os/utils.c
+++ b/xorg-server/os/utils.c
@@ -73,6 +73,9 @@ __stdcall unsigned long GetTickCount(void);
#include <sys/resource.h>
# define SMART_SCHEDULE_POSSIBLE
#endif
+#ifdef _MSC_VER
+# define SMART_SCHEDULE_POSSIBLE
+#endif
#include "misc.h"
#include <X11/X.h>
#define XSERV_t
@@ -206,6 +209,11 @@ char *SeatId = NULL;
sig_atomic_t inSignalContext = FALSE;
+#ifdef _MSC_VER
+static HANDLE s_hSmartScheduleTimer = NULL;
+static HANDLE s_hSmartScheduleTimerQueue = NULL;
+#endif
+
#if defined(SVR4) || defined(__linux__) || defined(CSRG_BASED)
#define HAS_SAVED_IDS_AND_SETEUID
#endif
@@ -240,6 +248,10 @@ OsSignal(int sig, OsSigHandlerPtr handler)
#define LOCK_PREFIX "/.X"
#define LOCK_SUFFIX "-lock"
+#ifdef _MSC_VER
+#define LockFile szLockFile
+#endif
+
#if !defined(WIN32) || defined(__CYGWIN__)
#define LOCK_SERVER
#endif
@@ -266,6 +278,14 @@ static Bool nolock = FALSE;
void
LockServer(void)
{
+#if defined(WIN32) && !defined(__CYGWIN__)
+ char MutexName[100];
+ sprintf(MutexName, "Global\\VcXsrv_Mutex_%d\n", atoi(display));
+ if (!CreateMutex(NULL,TRUE,MutexName) || GetLastError()== ERROR_ALREADY_EXISTS)
+ {
+ FatalError("Server is already active for display %d\n", atoi(display));
+ }
+#else
char tmp[PATH_MAX], pid_str[12];
int lfd, i, haslock, l_pid, t;
const char *tmppath = LOCK_DIR;
@@ -384,6 +404,7 @@ LockServer(void)
if (!haslock)
FatalError("Could not create server lock file: %s\n", LockFile);
StillLocking = FALSE;
+#endif
}
/*
@@ -516,7 +537,10 @@ AdjustWaitForDelay(void *waitTime, unsigned long newdelay)
void
UseMsg(void)
{
- ErrorF("use: X [:<display>] [option]\n");
+ ErrorF("Usage...\nVcxsrv [:<display>] [option]\n\n");
+ ErrorF(":display-number\n\tVcxsrv runs as the given display-number, which defaults to 0.\n");
+ ErrorF("\tTo run multiple instances, use unique display-numbers.\n\n");
+
ErrorF("-a # default pointer acceleration (factor)\n");
ErrorF("-ac disable access control restrictions\n");
ErrorF("-audit int set audit trail level\n");
@@ -524,13 +548,15 @@ UseMsg(void)
ErrorF("-br create root window with black background\n");
ErrorF("+bs enable any backing store support\n");
ErrorF("-bs disable any backing store support\n");
- ErrorF("-c turns off key-click\n");
- ErrorF("c # key-click volume (0-100)\n");
ErrorF("-cc int default color visual class\n");
ErrorF("-nocursor disable the cursor\n");
ErrorF("-core generate core dump on fatal error\n");
ErrorF("-displayfd fd file descriptor to write display number to when ready to connect\n");
+#ifdef _MSC_VER
+ ErrorF("-dpi [auto|int] screen resolution set to native or this dpi\n");
+#else
ErrorF("-dpi int screen resolution in dots per inch\n");
+#endif
#ifdef DPMSExtension
ErrorF("-dpms disables VESA DPMS monitor control\n");
#endif
@@ -560,25 +586,19 @@ UseMsg(void)
ErrorF("-noreset don't reset after last client exists\n");
ErrorF("-background [none] create root window with no background\n");
ErrorF("-reset reset after last client exists\n");
- ErrorF("-p # screen-saver pattern duration (minutes)\n");
ErrorF("-pn accept failure to listen on all ports\n");
ErrorF("-nopn reject failure to listen on all ports\n");
ErrorF("-r turns off auto-repeat\n");
ErrorF("r turns on auto-repeat \n");
ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
- ErrorF("-retro start with classic stipple and cursor\n");
- ErrorF("-s # screen-saver timeout (minutes)\n");
+ ErrorF("-retro start with classic stipple\n");
ErrorF("-seat string seat to run on\n");
ErrorF("-t # default pointer threshold (pixels/t)\n");
ErrorF("-terminate terminate at server reset\n");
ErrorF("-to # connection time out\n");
ErrorF("-tst disable testing extensions\n");
- ErrorF("ttyxx server started from init on /dev/ttyxx\n");
- ErrorF("v video blanking for screen-saver\n");
- ErrorF("-v screen-saver without video blanking\n");
ErrorF("-wm WhenMapped default backing-store\n");
ErrorF("-wr create root window with white background\n");
- ErrorF("-maxbigreqsize set maximal bigrequest size \n");
#ifdef PANORAMIX
ErrorF("+xinerama Enable XINERAMA extension\n");
ErrorF("-xinerama Disable XINERAMA extension\n");
@@ -586,7 +606,6 @@ UseMsg(void)
ErrorF
("-dumbSched Disable smart scheduling, enable old behavior\n");
ErrorF("-schedInterval int Set scheduler interval in msec\n");
- ErrorF("-sigstop Enable SIGSTOP based startup\n");
ErrorF("+extension name Enable extension\n");
ErrorF("-extension name Disable extension\n");
#ifdef XDMCP
@@ -706,15 +725,6 @@ ProcessCommandLine(int argc, char *argv[])
enableBackingStore = TRUE;
else if (strcmp(argv[i], "-bs") == 0)
disableBackingStore = TRUE;
- else if (strcmp(argv[i], "c") == 0) {
- if (++i < argc)
- defaultKeyboardControl.click = atoi(argv[i]);
- else
- UseMsg();
- }
- else if (strcmp(argv[i], "-c") == 0) {
- defaultKeyboardControl.click = 0;
- }
else if (strcmp(argv[i], "-cc") == 0) {
if (++i < argc)
defaultColorVisualClass = atoi(argv[i]);
@@ -736,7 +746,24 @@ ProcessCommandLine(int argc, char *argv[])
}
else if (strcmp(argv[i], "-dpi") == 0) {
if (++i < argc)
+#ifdef _MSC_VER
+ {
+ if (strcmp(argv[i], "auto") == 0)
+ {
+ HDC hdc = GetDC(NULL);
+ if (hdc)
+ {
+ int dpiY = GetDeviceCaps(hdc, LOGPIXELSY);
+ monitorResolution = dpiY;
+ ReleaseDC(NULL, hdc);
+ }
+ }
+ else if (isdigit(*argv[i])) /* Naively prevent a crash if not numeric */
+ monitorResolution = atoi(argv[i]);
+ }
+#else
monitorResolution = atoi(argv[i]);
+#endif
else
UseMsg();
}
@@ -906,10 +933,6 @@ ProcessCommandLine(int argc, char *argv[])
else if (strcmp(argv[i], "-tst") == 0) {
noTestExtensions = TRUE;
}
- else if (strcmp(argv[i], "v") == 0)
- defaultScreenSaverBlanking = PreferBlanking;
- else if (strcmp(argv[i], "-v") == 0)
- defaultScreenSaverBlanking = DontPreferBlanking;
else if (strcmp(argv[i], "-wm") == 0)
defaultBackingStore = WhenMapped;
else if (strcmp(argv[i], "-wr") == 0)
@@ -993,9 +1016,6 @@ ProcessCommandLine(int argc, char *argv[])
else
UseMsg();
}
- else if (strcmp(argv[i], "-sigstop") == 0) {
- RunFromSigStopParent = TRUE;
- }
else if (strcmp(argv[i], "+extension") == 0) {
if (++i < argc) {
if (!EnableDisableExtension(argv[i], TRUE))
@@ -1193,6 +1213,12 @@ void
SmartScheduleStopTimer(void)
{
#ifdef SMART_SCHEDULE_POSSIBLE
+#ifdef _MSC_VER
+ if (SmartScheduleDisable)
+ return;
+ DeleteTimerQueueTimer(s_hSmartScheduleTimerQueue, s_hSmartScheduleTimer, NULL);
+ s_hSmartScheduleTimer=NULL;
+#else
struct itimerval timer;
if (SmartScheduleDisable)
@@ -1203,12 +1229,37 @@ SmartScheduleStopTimer(void)
timer.it_value.tv_usec = 0;
(void) setitimer(ITIMER_REAL, &timer, 0);
#endif
+#endif
}
+#ifdef _MSC_VER
+static VOID CALLBACK SmartScheduleTimer( PVOID lpParameter, BOOLEAN TimerOrWaitFired)
+#else
+static void SmartScheduleTimer (int sig)
+#endif
+{
+ SmartScheduleTime += SmartScheduleInterval;
+}
+
+
void
SmartScheduleStartTimer(void)
{
#ifdef SMART_SCHEDULE_POSSIBLE
+#ifdef _MSC_VER
+ if (SmartScheduleDisable)
+ return;
+
+ if (!CreateTimerQueueTimer( &s_hSmartScheduleTimer, s_hSmartScheduleTimerQueue, SmartScheduleTimer, NULL
+ , SmartScheduleInterval, SmartScheduleInterval, WT_EXECUTEONLYONCE|WT_EXECUTEINPERSISTENTTHREAD))
+ {
+ DWORD Error=GetLastError();
+ ErrorF("Error starting timer, smart scheduling disabled: 0x%x (%d)\n",Error,Error);
+ CloseHandle(s_hSmartScheduleTimer);
+ SmartScheduleDisable = TRUE;
+ return;
+ }
+#else
struct itimerval timer;
if (SmartScheduleDisable)
@@ -1219,18 +1270,24 @@ SmartScheduleStartTimer(void)
timer.it_value.tv_usec = SmartScheduleInterval * 1000;
setitimer(ITIMER_REAL, &timer, 0);
#endif
-}
-
-static void
-SmartScheduleTimer(int sig)
-{
- SmartScheduleTime += SmartScheduleInterval;
+#endif
}
void
SmartScheduleInit(void)
{
#ifdef SMART_SCHEDULE_POSSIBLE
+#ifdef _MSC_VER
+ if (SmartScheduleDisable)
+ return;
+ s_hSmartScheduleTimerQueue = CreateTimerQueue();
+ if (!s_hSmartScheduleTimerQueue)
+ {
+ DWORD Error=GetLastError();
+ ErrorF("Error creating timer, smart scheduling disabled: 0x%x (%d)\n",Error,Error);
+ SmartScheduleDisable = TRUE;
+ }
+#else
struct sigaction act;
if (SmartScheduleDisable)
@@ -1247,6 +1304,7 @@ SmartScheduleInit(void)
SmartScheduleDisable = TRUE;
}
#endif
+#endif
}
#ifdef SIG_BLOCK
@@ -1771,7 +1829,7 @@ System(const char *cmdline)
#endif
#define MAX_ARG_LENGTH 128
-#define MAX_ENV_LENGTH 256
+#define MAX_ENV_LENGTH 2048
#define MAX_ENV_PATH_LENGTH 2048 /* Limit for *PATH and TERMCAP */
#if USE_ISPRINT
@@ -2109,6 +2167,7 @@ FormatUInt64Hex(uint64_t num, char *string)
string[len] = '\0';
}
+#ifndef _MSC_VER
/* 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
@@ -2132,3 +2191,4 @@ os_move_fd(int fd)
close(fd);
return newfd;
}
+#endif
diff --git a/xorg-server/os/xdmcp.c b/xorg-server/os/xdmcp.c
index 99616d94b..bc7dcb3df 100644
--- a/xorg-server/os/xdmcp.c
+++ b/xorg-server/os/xdmcp.c
@@ -62,6 +62,8 @@
static const char *defaultDisplayClass = COMPILEDDISPLAYCLASS;
+extern void match_interface(u_long u_lQuery);
+
static int xdmcpSocket, sessionSocket;
static xdmcp_states state;
@@ -200,6 +202,11 @@ static void XdmcpWakeupHandler(void *data,
int i,
void *LastSelectMask);
+#define XSERV_t
+#define TRANS_SERVER
+#define TRANS_REOPEN
+#include <X11/Xtrans/Xtrans.h>
+
/*
* Register the Manufacturer display ID
*/
@@ -584,6 +591,32 @@ XdmcpInit(void)
(void *) 0);
timeOutRtx = 0;
DisplayNumber = (CARD16) atoi(display);
+ if (ConnectionTypes.length>1 && xdm_from==NULL)
+ {
+ unsigned i=0;
+ char ErrorMessage[1024];
+ sprintf(ErrorMessage,"Multiple ip-addresses detected:\n");
+ for (i=0; i<ConnectionTypes.length; i++)
+ {
+ int AddrLen=ConnectionAddresses.data[i].length;
+ if (AddrLen==4)
+ sprintf(ErrorMessage+strlen(ErrorMessage)," %d.%d.%d.%d\n",
+ ConnectionAddresses.data[i].data[0],
+ ConnectionAddresses.data[i].data[1],
+ ConnectionAddresses.data[i].data[2],
+ ConnectionAddresses.data[i].data[3]);
+ else
+ {
+ int j;
+ sprintf(ErrorMessage+strlen(ErrorMessage)," ");
+ for (j=0; j<AddrLen; j++)
+ sprintf(ErrorMessage+strlen(ErrorMessage),"%02x",ConnectionAddresses.data[i].data[j]);
+ sprintf(ErrorMessage+strlen(ErrorMessage),"\n");
+ }
+ }
+ sprintf(ErrorMessage+strlen(ErrorMessage),"Please specify the ip-address you want to use with -from\n");
+ FatalError(ErrorMessage);
+ }
get_xdmcp_sock();
send_packet();
}
@@ -654,8 +687,8 @@ XdmcpBlockHandler(void *data, /* unused */
if (timeOutTime == 0)
return;
millisToGo = timeOutTime - GetTimeInMillis();
- if ((int) millisToGo < 0)
- millisToGo = 0;
+ if ((int) millisToGo <= 0)
+ millisToGo = 1;
AdjustWaitForDelay(wt, millisToGo);
}
@@ -692,16 +725,6 @@ XdmcpWakeupHandler(void *data, /* unused */
else if (state == XDM_RUN_SESSION)
keepaliveDormancy = defaultKeepaliveDormancy;
}
- if (XFD_ANYSET(&AllClients) && state == XDM_RUN_SESSION)
- timeOutTime = GetTimeInMillis() + keepaliveDormancy * 1000;
- }
- else if (timeOutTime && (int) (GetTimeInMillis() - timeOutTime) >= 0) {
- if (state == XDM_RUN_SESSION) {
- state = XDM_KEEPALIVE;
- send_packet();
- }
- else
- timeout();
}
}
@@ -727,12 +750,71 @@ XdmcpSelectHost(const struct sockaddr *host_sockaddr,
* selects the first host to respond with willing message.
*/
+#ifdef _MSC_VER
+void DisplayXdmcpHostsDialog(void);
+int XdmcpHostAddName(const char *HostName, int HostIndex);
+
+struct hostinfo
+{
+ struct sockaddr *from;
+ int fromlen;
+ ARRAY8 AuthenticationName;
+};
+static int g_NrHosts;
+static struct hostinfo *g_Hosts;
+
+void XdmcpHostSelected(int HostIdx)
+{
+ int i;
+
+ /* Connect to the selected host */
+ XdmcpSelectHost(g_Hosts[HostIdx].from, g_Hosts[HostIdx].fromlen, &g_Hosts[HostIdx].AuthenticationName);
+
+ for (i=0; i<g_NrHosts; i++)
+ {
+ free(g_Hosts[i].from);
+ free(g_Hosts[i].AuthenticationName.data);
+ }
+ free(g_Hosts);
+ g_Hosts=NULL;
+ g_NrHosts=0;
+}
+#endif
+
/*ARGSUSED*/ static void
XdmcpAddHost(const struct sockaddr *from,
int fromlen,
ARRAY8Ptr auth_name, ARRAY8Ptr hostname, ARRAY8Ptr status)
{
- XdmcpSelectHost(from, fromlen, auth_name);
+#ifdef _MSC_VER
+ char szHostName[100];
+ int HostIdx;
+
+ memcpy(szHostName,hostname->data,hostname->length);
+ szHostName[hostname->length]=0;
+
+ DisplayXdmcpHostsDialog(); /* Display the dialog if not already displayed */
+
+ HostIdx=XdmcpHostAddName(szHostName, g_NrHosts);
+ if (HostIdx==-1)
+ {
+ HostIdx=g_NrHosts;
+ g_NrHosts++;
+ g_Hosts=realloc(g_Hosts,g_NrHosts*sizeof(*g_Hosts));
+ g_Hosts[HostIdx].AuthenticationName.data=NULL;
+ g_Hosts[HostIdx].from=NULL;
+ }
+
+ g_Hosts[HostIdx].fromlen=fromlen;
+ g_Hosts[HostIdx].from=realloc(g_Hosts[HostIdx].from,g_Hosts[HostIdx].fromlen);
+ memcpy(g_Hosts[HostIdx].from,from,fromlen);
+
+ g_Hosts[HostIdx].AuthenticationName.length=auth_name->length;
+ g_Hosts[HostIdx].AuthenticationName.data=realloc(g_Hosts[HostIdx].AuthenticationName.data,auth_name->length);
+ memcpy(g_Hosts[HostIdx].AuthenticationName.data,auth_name->data,auth_name->length);
+#else
+ XdmcpSelectHost(from, fromlen, auth_name);
+#endif
}
/*
@@ -1004,12 +1086,20 @@ get_xdmcp_sock(void)
sizeof(soopts)) < 0)
XdmcpWarning("UDP set broadcast socket-option failed");
#endif /* SO_BROADCAST */
- if (xdmcpSocket >= 0 && xdm_from != NULL) {
+ if (xdm_from)
+ {
+ if (xdmcpSocket >= 0 && SOCKADDR_FAMILY(FromAddress)==AF_INET) {
if (bind(xdmcpSocket, (struct sockaddr *) &FromAddress,
FromAddressLen) < 0) {
- FatalError("Xserver: failed to bind to -from address: %s\n",
- xdm_from);
+ FatalError("Xserver: failed to bind to -from address: %s error %d\n", xdm_from, WSAGetLastError());
+ }
+ }
+ else if (xdmcpSocket6 >= 0 && SOCKADDR_FAMILY(FromAddress)==AF_INET6) {
+ if (bind(xdmcpSocket6, (struct sockaddr *)&FromAddress,
+ FromAddressLen) < 0) {
+ FatalError("Xserver: failed to bind to -from address: %s error %d\n", xdm_from, WSAGetLastError());
}
+ }
}
#endif /* STREAMSCONN */
}
@@ -1071,18 +1161,18 @@ send_query_msg(void)
for (mcl = mcastlist; mcl != NULL; mcl = mcl->next) {
for (ai = mcl->ai; ai != NULL; ai = ai->ai_next) {
if (ai->ai_family == AF_INET) {
- unsigned char hopflag = (unsigned char) mcl->hops;
+ int hopflag = mcl->hops;
socketfd = xdmcpSocket;
setsockopt(socketfd, IPPROTO_IP, IP_MULTICAST_TTL,
- &hopflag, sizeof(hopflag));
+ (char*)&hopflag, sizeof(hopflag));
}
else if (ai->ai_family == AF_INET6) {
int hopflag6 = mcl->hops;
socketfd = xdmcpSocket6;
setsockopt(socketfd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,
- &hopflag6, sizeof(hopflag6));
+ (char*)&hopflag6, sizeof(hopflag6));
}
else {
continue;
@@ -1436,6 +1526,10 @@ get_addr_by_name(const char *argtype,
char *pport = portstr;
int gaierr;
+#if defined(WIN32) && defined(TCPCONN)
+ _XSERVTransWSAStartup();
+#endif
+
memset(&hints, 0, sizeof(hints));
hints.ai_socktype = socktype;
@@ -1479,9 +1573,6 @@ get_addr_by_name(const char *argtype,
#ifdef XTHREADS_NEEDS_BYNAMEPARAMS
_Xgethostbynameparams hparams;
#endif
-#if defined(WIN32) && defined(TCPCONN)
- _XSERVTransWSAStartup();
-#endif
if (!(hep = _XGethostbyname(namestr, hparams))) {
FatalError("Xserver: %s unknown host: %s\n", argtype, namestr);
}
@@ -1502,7 +1593,11 @@ static void
get_manager_by_name(int argc, char **argv, int i)
{
+ PSOCKADDR_IN queryAddr = NULL;
+ u_long u_lqueryAddr = 0;
+
if ((i + 1) == argc) {
+
FatalError("Xserver: missing %s host name in command line\n", argv[i]);
}
@@ -1512,6 +1607,9 @@ get_manager_by_name(int argc, char **argv, int i)
, &mgrAddr, &mgrAddrFirst
#endif
);
+ queryAddr = (PSOCKADDR_IN)&ManagerAddress;
+ u_lqueryAddr = queryAddr->sin_addr.S_un.S_addr;
+ match_interface(u_lqueryAddr);
}
static void
diff --git a/xorg-server/os/xprintf.c b/xorg-server/os/xprintf.c
index 80caa5790..58aad894b 100644
--- a/xorg-server/os/xprintf.c
+++ b/xorg-server/os/xprintf.c
@@ -78,9 +78,11 @@
#ifdef __va_copy
#define va_copy __va_copy
#else
+#ifndef _MSC_VER
#error "no working va_copy was found"
#endif
#endif
+#endif
/**
* Varargs sprintf that allocates a string buffer the right size for
@@ -99,11 +101,16 @@ Xvasprintf(char **ret, const char *_X_RESTRICT_KYWD format, va_list va)
return vasprintf(ret, format, va);
#else
int size;
+
+#ifdef _MSC_VER
+ size = vsnprintf(NULL, 0, format, va);
+#else
va_list va2;
va_copy(va2, va);
size = vsnprintf(NULL, 0, format, va2);
va_end(va2);
+#endif
*ret = malloc(size + 1);
if (*ret == NULL)
diff --git a/xorg-server/os/xstrans.c b/xorg-server/os/xstrans.c
index 2bc79e7ae..30de32b1e 100644
--- a/xorg-server/os/xstrans.c
+++ b/xorg-server/os/xstrans.c
@@ -5,13 +5,21 @@
#include <X11/Xfuncproto.h>
/* ErrorF is used by xtrans */
-#ifndef HAVE_DIX_CONFIG_H
+/*#ifndef HAVE_DIX_CONFIG_H
extern _X_EXPORT void
ErrorF(const char *f, ...)
_X_ATTRIBUTE_PRINTF(1, 2);
-#endif
+#endif*/
#define TRANS_REOPEN
#define TRANS_SERVER
#define XSERV_t
+#ifndef TCPCONN
+#define TCPCONN
+#endif
+#ifdef WIN32
+#undef SO_REUSEADDR
+#define SO_BINDRETRYCOUNT 0 // do not try to bind again when it fails, this will speed up searching for a free listening port
+#endif
+
#include <X11/Xtrans/transport.c>
diff --git a/xorg-server/present/makefile b/xorg-server/present/makefile
new file mode 100644
index 000000000..b56430a65
--- /dev/null
+++ b/xorg-server/present/makefile
@@ -0,0 +1,10 @@
+CSRCS = \
+ present.c \
+ present_event.c \
+ present_fake.c \
+ present_fence.c \
+ present_notify.c \
+ present_request.c \
+ present_screen.c
+
+LIBRARY=libpresent
diff --git a/xorg-server/present/present.c b/xorg-server/present/present.c
index 3aea0d7c6..6528bd231 100644
--- a/xorg-server/present/present.c
+++ b/xorg-server/present/present.c
@@ -20,8 +20,8 @@
* OF THIS SOFTWARE.
*/
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
#endif
#include "present_priv.h"
diff --git a/xorg-server/present/present_event.c b/xorg-server/present/present_event.c
index ff57eba41..5582e51a6 100644
--- a/xorg-server/present/present_event.c
+++ b/xorg-server/present/present_event.c
@@ -20,8 +20,8 @@
* OF THIS SOFTWARE.
*/
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
#endif
#include "present_priv.h"
@@ -109,24 +109,23 @@ present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw,
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;
+ xPresentConfigureNotify cn;
+ cn.type = GenericEvent;
+ cn.extension = present_request;
+ cn.length = (sizeof(xPresentConfigureNotify) - 32) >> 2;
+ cn.evtype = PresentConfigureNotify;
+ cn.eid = 0;
+ cn.window = window->drawable.id;
+ cn.x = x;
+ cn.y = y;
+ cn.width = w;
+ cn.height = h;
+ cn.off_x = 0;
+ cn.off_y = 0;
+ cn.pixmap_width = w;
+ cn.pixmap_height = h;
+ cn.pixmap_flags = 0;
for (event = window_priv->events; event; event = event->next) {
if (event->mask & (1 << PresentConfigureNotify)) {
@@ -151,20 +150,19 @@ present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 se
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;
+ xPresentCompleteNotify cn;
+ cn.type = GenericEvent;
+ cn.extension = present_request;
+ cn.length = (sizeof(xPresentCompleteNotify) - 32) >> 2;
+ cn.evtype = PresentCompleteNotify;
+ cn.kind = kind;
+ cn.mode = mode;
+ cn.eid = 0;
+ cn.window = window->drawable.id;
+ cn.serial = serial;
+ cn.ust = ust;
+ cn.msc = msc;
for (event = window_priv->events; event; event = event->next) {
if (event->mask & PresentCompleteNotifyMask) {
@@ -183,18 +181,17 @@ present_send_idle_notify(WindowPtr window, CARD32 serial, PixmapPtr pixmap, stru
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;
+ xPresentIdleNotify in;
+ in.type = GenericEvent;
+ in.extension = present_request;
+ in.length = (sizeof(xPresentIdleNotify) - 32) >> 2;
+ in.evtype = PresentIdleNotify;
+ in.eid = 0;
+ in.window = window->drawable.id;
+ in.serial = serial;
+ in.pixmap = pixmap->drawable.id;
+ in.idle_fence = present_fence_id(idle_fence);
for (event = window_priv->events; event; event = event->next) {
if (event->mask & PresentIdleNotifyMask) {
diff --git a/xorg-server/present/present_fake.c b/xorg-server/present/present_fake.c
index 4985c81e3..1c80f5986 100644
--- a/xorg-server/present/present_fake.c
+++ b/xorg-server/present/present_fake.c
@@ -20,8 +20,8 @@
* OF THIS SOFTWARE.
*/
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
#endif
#include "present_priv.h"
diff --git a/xorg-server/present/present_fence.c b/xorg-server/present/present_fence.c
index e09657d31..8be32e1a7 100644
--- a/xorg-server/present/present_fence.c
+++ b/xorg-server/present/present_fence.c
@@ -20,8 +20,8 @@
* OF THIS SOFTWARE.
*/
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
#endif
#include "present_priv.h"
diff --git a/xorg-server/present/present_notify.c b/xorg-server/present/present_notify.c
index e272e08dc..fe8a57117 100644
--- a/xorg-server/present/present_notify.c
+++ b/xorg-server/present/present_notify.c
@@ -20,8 +20,8 @@
* OF THIS SOFTWARE.
*/
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
#endif
#include "present_priv.h"
diff --git a/xorg-server/present/present_request.c b/xorg-server/present/present_request.c
index 835890d28..c69e68309 100644
--- a/xorg-server/present/present_request.c
+++ b/xorg-server/present/present_request.c
@@ -20,8 +20,8 @@
* OF THIS SOFTWARE.
*/
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
#endif
#include "present_priv.h"
@@ -31,14 +31,15 @@
static int
proc_present_query_version(ClientPtr client)
{
+ xPresentQueryVersionReply rep;
REQUEST(xPresentQueryVersionReq);
- xPresentQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_PRESENT_MAJOR_VERSION,
- .minorVersion = SERVER_PRESENT_MINOR_VERSION
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = SERVER_PRESENT_MAJOR_VERSION;
+ rep.minorVersion = SERVER_PRESENT_MINOR_VERSION;
+
REQUEST_SIZE_MATCH(xPresentQueryVersionReq);
(void) stuff;
@@ -200,15 +201,14 @@ proc_present_select_input (ClientPtr client)
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;
+ xPresentQueryCapabilitiesReply rep;
+ REQUEST(xPresentQueryCapabilitiesReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
r = dixLookupWindow(&window, stuff->target, client, DixGetAttrAccess);
switch (r) {
diff --git a/xorg-server/present/present_screen.c b/xorg-server/present/present_screen.c
index 25ef6818d..1e4f55d37 100644
--- a/xorg-server/present/present_screen.c
+++ b/xorg-server/present/present_screen.c
@@ -20,8 +20,8 @@
* OF THIS SOFTWARE.
*/
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
#endif
#include "present_priv.h"
diff --git a/xorg-server/randr/makefile b/xorg-server/randr/makefile
new file mode 100644
index 000000000..9f32cf77d
--- /dev/null
+++ b/xorg-server/randr/makefile
@@ -0,0 +1,28 @@
+LIBRARY=librandr
+XINERAMA=1
+
+XINERAMA_SRCS = rrxinerama.c
+
+librandr_la_SOURCES = \
+ randr.c \
+ randrstr.h \
+ rrcrtc.c \
+ rrdispatch.c \
+ rrinfo.c \
+ rrmode.c \
+ rroutput.c \
+ rrpointer.c \
+ rrproperty.c \
+ rrprovider.c \
+ rrproviderproperty.c \
+ rrscreen.c \
+ rrsdispatch.c \
+ rrtransform.h \
+ rrtransform.c
+
+if XINERAMA
+librandr_la_SOURCES += ${XINERAMA_SRCS}
+endif
+
+CSRCS = $(filter %.c,$(librandr_la_SOURCES))
+
diff --git a/xorg-server/randr/randr.c b/xorg-server/randr/randr.c
index 6e3f14b4e..02707efd9 100644
--- a/xorg-server/randr/randr.c
+++ b/xorg-server/randr/randr.c
@@ -433,15 +433,16 @@ static void
RRDeliverResourceEvent(ClientPtr client, WindowPtr pWin)
{
ScreenPtr pScreen = pWin->drawable.pScreen;
+ xRRResourceChangeNotifyEvent re;
rrScrPriv(pScreen);
- xRRResourceChangeNotifyEvent re = {
- .type = RRNotify + RREventBase,
- .subCode = RRNotify_ResourceChange,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .window = pWin->drawable.id
- };
+
+ re.type = RRNotify + RREventBase;
+ re.subCode = RRNotify_ResourceChange;
+ re.timestamp = pScrPriv->lastSetTime.milliseconds;
+ re.window = pWin->drawable.id;
+
WriteEventsToClient(client, 1, (xEvent *) &re);
}
diff --git a/xorg-server/randr/rrcrtc.c b/xorg-server/randr/rrcrtc.c
index 69b3ecf0f..7c59293fe 100644
--- a/xorg-server/randr/rrcrtc.c
+++ b/xorg-server/randr/rrcrtc.c
@@ -238,21 +238,22 @@ RRDeliverCrtcEvent(ClientPtr client, WindowPtr pWin, RRCrtcPtr crtc)
ScreenPtr pScreen = pWin->drawable.pScreen;
rrScrPriv(pScreen);
+ xRRCrtcChangeNotifyEvent ce;
RRModePtr mode = crtc->mode;
- xRRCrtcChangeNotifyEvent ce = {
- .type = RRNotify + RREventBase,
- .subCode = RRNotify_CrtcChange,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .window = pWin->drawable.id,
- .crtc = crtc->id,
- .mode = mode ? mode->mode.id : None,
- .rotation = crtc->rotation,
- .x = mode ? crtc->x : 0,
- .y = mode ? crtc->y : 0,
- .width = mode ? mode->mode.width : 0,
- .height = mode ? mode->mode.height : 0
- };
+
+ ce.type = RRNotify + RREventBase;
+ ce.subCode = RRNotify_CrtcChange;
+ ce.timestamp = pScrPriv->lastSetTime.milliseconds;
+ ce.window = pWin->drawable.id;
+ ce.crtc = crtc->id;
+ ce.mode = mode ? mode->mode.id : None;
+ ce.rotation = crtc->rotation;
+ ce.x = mode ? crtc->x : 0;
+ ce.y = mode ? crtc->y : 0;
+ ce.width = mode ? mode->mode.width : 0;
+ ce.height = mode ? mode->mode.height : 0;
+
WriteEventsToClient(client, 1, (xEvent *) &ce);
}
@@ -908,13 +909,13 @@ ProcRRGetCrtcInfo(ClientPtr client)
mode = crtc->mode;
- rep = (xRRGetCrtcInfoReply) {
- .type = X_Reply,
- .status = RRSetConfigSuccess,
- .sequenceNumber = client->sequence,
- .length = 0,
- .timestamp = pScrPriv->lastSetTime.milliseconds
- };
+
+ rep.type = X_Reply;
+ rep.status = RRSetConfigSuccess;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+
if (pScrPriv->rrGetPanning &&
pScrPriv->rrGetPanning(pScreen, crtc, &panned_area, NULL, NULL) &&
(panned_area.x2 > panned_area.x1) && (panned_area.y2 > panned_area.y1))
@@ -1181,13 +1182,12 @@ ProcRRSetCrtcConfig(ClientPtr client)
sendReply:
free(outputs);
- rep = (xRRSetCrtcConfigReply) {
- .type = X_Reply,
- .status = status,
- .sequenceNumber = client->sequence,
- .length = 0,
- .newTimestamp = pScrPriv->lastSetTime.milliseconds
- };
+
+ rep.type = X_Reply;
+ rep.status = status;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.newTimestamp = pScrPriv->lastSetTime.milliseconds;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -1223,13 +1223,12 @@ ProcRRGetPanning(ClientPtr client)
if (!pScrPriv)
return RRErrorBase + BadRRCrtc;
- rep = (xRRGetPanningReply) {
- .type = X_Reply,
- .status = RRSetConfigSuccess,
- .sequenceNumber = client->sequence,
- .length = 1,
- .timestamp = pScrPriv->lastSetTime.milliseconds
- };
+ memset(&rep, 0, sizeof(rep));
+ rep.type = X_Reply;
+ rep.status = RRSetConfigSuccess;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 1;
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
if (pScrPriv->rrGetPanning &&
pScrPriv->rrGetPanning(pScreen, crtc, &total, &tracking, border)) {
@@ -1323,13 +1322,12 @@ ProcRRSetPanning(ClientPtr client)
status = RRSetConfigSuccess;
sendReply:
- rep = (xRRSetPanningReply) {
- .type = X_Reply,
- .status = status,
- .sequenceNumber = client->sequence,
- .length = 0,
- .newTimestamp = pScrPriv->lastSetTime.milliseconds
- };
+
+ rep.type = X_Reply;
+ rep.status = status;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.newTimestamp = pScrPriv->lastSetTime.milliseconds;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -1354,12 +1352,12 @@ ProcRRGetCrtcGammaSize(ClientPtr client)
if (!RRCrtcGammaGet(crtc))
return RRErrorBase + BadRRCrtc;
- reply = (xRRGetCrtcGammaSizeReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .size = crtc->gammaSize
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = 0;
+ reply.size = crtc->gammaSize;
+
if (client->swapped) {
swaps(&reply.sequenceNumber);
swapl(&reply.length);
@@ -1393,12 +1391,12 @@ ProcRRGetCrtcGamma(ClientPtr client)
return BadAlloc;
}
- reply = (xRRGetCrtcGammaReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(len),
- .size = crtc->gammaSize
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = bytes_to_int32(len);
+ reply.size = crtc->gammaSize;
+
if (client->swapped) {
swaps(&reply.sequenceNumber);
swapl(&reply.length);
diff --git a/xorg-server/randr/rrdispatch.c b/xorg-server/randr/rrdispatch.c
index b9346d3f9..3fbbc7b14 100644
--- a/xorg-server/randr/rrdispatch.c
+++ b/xorg-server/randr/rrdispatch.c
@@ -35,17 +35,17 @@ RRClientKnowsRates(ClientPtr pClient)
static int
ProcRRQueryVersion(ClientPtr client)
{
- xRRQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ xRRQueryVersionReply rep;
REQUEST(xRRQueryVersionReq);
rrClientPriv(client);
REQUEST_SIZE_MATCH(xRRQueryVersionReq);
pRRClient->major_version = stuff->majorVersion;
pRRClient->minor_version = stuff->minorVersion;
+ memset(&rep, 0, sizeof(rep));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
if (version_compare(stuff->majorVersion, stuff->minorVersion,
SERVER_RANDR_MAJOR_VERSION,
diff --git a/xorg-server/randr/rrmode.c b/xorg-server/randr/rrmode.c
index befac4741..1145b98e3 100644
--- a/xorg-server/randr/rrmode.c
+++ b/xorg-server/randr/rrmode.c
@@ -312,12 +312,11 @@ ProcRRCreateMode(ClientPtr client)
if (!mode)
return error;
- rep = (xRRCreateModeReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .mode = mode->mode.id
- };
+ memset(&rep, 0, sizeof(rep));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.mode = mode->mode.id;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
diff --git a/xorg-server/randr/rroutput.c b/xorg-server/randr/rroutput.c
index f824f50ed..13d047b06 100644
--- a/xorg-server/randr/rroutput.c
+++ b/xorg-server/randr/rroutput.c
@@ -308,22 +308,23 @@ RRDeliverOutputEvent(ClientPtr client, WindowPtr pWin, RROutputPtr output)
ScreenPtr pScreen = pWin->drawable.pScreen;
rrScrPriv(pScreen);
+ xRROutputChangeNotifyEvent oe;
RRCrtcPtr crtc = output->crtc;
RRModePtr mode = crtc ? crtc->mode : NULL;
- xRROutputChangeNotifyEvent oe = {
- .type = RRNotify + RREventBase,
- .subCode = RRNotify_OutputChange,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .configTimestamp = pScrPriv->lastConfigTime.milliseconds,
- .window = pWin->drawable.id,
- .output = output->id,
- .crtc = crtc ? crtc->id : None,
- .mode = mode ? mode->mode.id : None,
- .rotation = crtc ? crtc->rotation : RR_Rotate_0,
- .connection = output->connection,
- .subpixelOrder = output->subpixelOrder
- };
+
+ oe.type = RRNotify + RREventBase;
+ oe.subCode = RRNotify_OutputChange;
+ oe.timestamp = pScrPriv->lastSetTime.milliseconds;
+ oe.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
+ oe.window = pWin->drawable.id;
+ oe.output = output->id;
+ oe.crtc = crtc ? crtc->id : None;
+ oe.mode = mode ? mode->mode.id : None;
+ oe.rotation = crtc ? crtc->rotation : RR_Rotate_0;
+ oe.connection = output->connection;
+ oe.subpixelOrder = output->subpixelOrder;
+
WriteEventsToClient(client, 1, (xEvent *) &oe);
}
@@ -424,23 +425,23 @@ ProcRRGetOutputInfo(ClientPtr client)
pScreen = output->pScreen;
pScrPriv = rrGetScrPriv(pScreen);
- rep = (xRRGetOutputInfoReply) {
- .type = X_Reply,
- .status = RRSetConfigSuccess,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(OutputInfoExtra),
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .crtc = output->crtc ? output->crtc->id : None,
- .mmWidth = output->mmWidth,
- .mmHeight = output->mmHeight,
- .connection = output->connection,
- .subpixelOrder = output->subpixelOrder,
- .nCrtcs = output->numCrtcs,
- .nModes = output->numModes + output->numUserModes,
- .nPreferred = output->numPreferred,
- .nClones = output->numClones,
- .nameLength = output->nameLength
- };
+
+ rep.type = X_Reply;
+ rep.status = RRSetConfigSuccess;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(OutputInfoExtra);
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+ rep.crtc = output->crtc ? output->crtc->id : None;
+ rep.mmWidth = output->mmWidth;
+ rep.mmHeight = output->mmHeight;
+ rep.connection = output->connection;
+ rep.subpixelOrder = output->subpixelOrder;
+ rep.nCrtcs = output->numCrtcs;
+ rep.nModes = output->numModes + output->numUserModes;
+ rep.nPreferred = output->numPreferred;
+ rep.nClones = output->numClones;
+ rep.nameLength = output->nameLength;
+
extraLen = ((output->numCrtcs +
output->numModes + output->numUserModes +
output->numClones + bytes_to_int32(rep.nameLength)) << 2);
@@ -573,11 +574,10 @@ ProcRRGetOutputPrimary(ClientPtr client)
if (pScrPriv)
primary = pScrPriv->primaryOutput;
- rep = (xRRGetOutputPrimaryReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .output = primary ? primary->id : None
- };
+ memset(&rep, 0, sizeof(rep));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.output = primary ? primary->id : None;
if (client->swapped) {
swaps(&rep.sequenceNumber);
diff --git a/xorg-server/randr/rrproperty.c b/xorg-server/randr/rrproperty.c
index e385e15ab..dc26115bb 100644
--- a/xorg-server/randr/rrproperty.c
+++ b/xorg-server/randr/rrproperty.c
@@ -65,14 +65,13 @@ RRDestroyOutputProperty(RRPropertyPtr prop)
static void
RRDeleteProperty(RROutputRec * output, RRPropertyRec * prop)
{
- xRROutputPropertyNotifyEvent event = {
- .type = RREventBase + RRNotify,
- .subCode = RRNotify_OutputProperty,
- .output = output->id,
- .state = PropertyDelete,
- .atom = prop->propertyName,
- .timestamp = currentTime.milliseconds
- };
+ xRROutputPropertyNotifyEvent event;
+ event.type = RREventBase + RRNotify;
+ event.subCode = RRNotify_OutputProperty;
+ event.output = output->id;
+ event.state = PropertyDelete;
+ event.atom = prop->propertyName;
+ event.timestamp = currentTime.milliseconds;
RRDeliverPropertyEvent(output->pScreen, (xEvent *) &event);
@@ -238,14 +237,13 @@ RRChangeOutputProperty(RROutputPtr output, Atom property, Atom type,
output->pendingProperties = TRUE;
if (sendevent) {
- xRROutputPropertyNotifyEvent event = {
- .type = RREventBase + RRNotify,
- .subCode = RRNotify_OutputProperty,
- .output = output->id,
- .state = PropertyNewValue,
- .atom = prop->propertyName,
- .timestamp = currentTime.milliseconds
- };
+ xRROutputPropertyNotifyEvent event;
+ event.type = RREventBase + RRNotify;
+ event.subCode = RRNotify_OutputProperty;
+ event.output = output->id;
+ event.state = PropertyNewValue;
+ event.atom = prop->propertyName;
+ event.timestamp = currentTime.milliseconds;
RRDeliverPropertyEvent(output->pScreen, (xEvent *) &event);
}
return Success;
@@ -403,12 +401,12 @@ ProcRRListOutputProperties(ClientPtr client)
if (!(pAtoms = (Atom *) malloc(numProps * sizeof(Atom))))
return BadAlloc;
- rep = (xRRListOutputPropertiesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(numProps * sizeof(Atom)),
- .nAtoms = numProps
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(numProps * sizeof(Atom));
+ rep.nAtoms = numProps;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -452,14 +450,13 @@ ProcRRQueryOutputProperty(ClientPtr client)
return BadAlloc;
}
- rep = (xRRQueryOutputPropertyReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = prop->num_valid,
- .pending = prop->is_pending,
- .range = prop->range,
- .immutable = prop->immutable
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = prop->num_valid;
+ rep.pending = prop->is_pending;
+ rep.range = prop->range;
+ rep.immutable = prop->immutable;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -611,10 +608,10 @@ ProcRRGetOutputProperty(ClientPtr client)
if (prop->propertyName == stuff->property)
break;
- reply = (xRRGetOutputPropertyReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+
if (!prop) {
reply.nItems = 0;
reply.length = 0;
@@ -691,14 +688,14 @@ ProcRRGetOutputProperty(ClientPtr client)
reply.propertyType = prop_value->type;
if (stuff->delete && (reply.bytesAfter == 0)) {
- xRROutputPropertyNotifyEvent event = {
- .type = RREventBase + RRNotify,
- .subCode = RRNotify_OutputProperty,
- .output = output->id,
- .state = PropertyDelete,
- .atom = prop->propertyName,
- .timestamp = currentTime.milliseconds
- };
+ xRROutputPropertyNotifyEvent event;
+ event.type = RREventBase + RRNotify;
+ event.subCode = RRNotify_OutputProperty;
+ event.output = output->id;
+ event.state = PropertyDelete;
+ event.atom = prop->propertyName;
+ event.timestamp = currentTime.milliseconds;
+
RRDeliverPropertyEvent(output->pScreen, (xEvent *) &event);
}
diff --git a/xorg-server/randr/rrprovider.c b/xorg-server/randr/rrprovider.c
index 4507ba894..31c71ebad 100644
--- a/xorg-server/randr/rrprovider.c
+++ b/xorg-server/randr/rrprovider.c
@@ -89,23 +89,23 @@ ProcRRGetProviders (ClientPtr client)
if (!pScrPriv)
{
- rep = (xRRGetProvidersReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .timestamp = currentTime.milliseconds,
- .nProviders = 0
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.timestamp = currentTime.milliseconds;
+ rep.nProviders = 0;
+
extra = NULL;
extraLen = 0;
} else {
- rep = (xRRGetProvidersReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .nProviders = total_providers,
- .length = total_providers
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+ rep.nProviders = total_providers;
+ rep.length = total_providers;
+
extraLen = rep.length << 2;
if (extraLen) {
extra = malloc(extraLen);
@@ -166,18 +166,18 @@ ProcRRGetProviderInfo (ClientPtr client)
pScreen = provider->pScreen;
pScrPriv = rrGetScrPriv(pScreen);
- rep = (xRRGetProviderInfoReply) {
- .type = X_Reply,
- .status = RRSetConfigSuccess,
- .sequenceNumber = client->sequence,
- .length = 0,
- .capabilities = provider->capabilities,
- .nameLength = provider->nameLength,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .nCrtcs = pScrPriv->numCrtcs,
- .nOutputs = pScrPriv->numOutputs,
- .nAssociatedProviders = 0
- };
+
+ rep.type = X_Reply;
+ rep.status = RRSetConfigSuccess;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.capabilities = provider->capabilities;
+ rep.nameLength = provider->nameLength;
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+ rep.nCrtcs = pScrPriv->numCrtcs;
+ rep.nOutputs = pScrPriv->numOutputs;
+ rep.nAssociatedProviders = 0;
+
/* count associated providers */
if (provider->offload_sink)
@@ -428,16 +428,17 @@ void
RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider)
{
ScreenPtr pScreen = pWin->drawable.pScreen;
+ xRRProviderChangeNotifyEvent pe;
rrScrPriv(pScreen);
- xRRProviderChangeNotifyEvent pe = {
- .type = RRNotify + RREventBase,
- .subCode = RRNotify_ProviderChange,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .window = pWin->drawable.id,
- .provider = provider->id
- };
+
+ pe.type = RRNotify + RREventBase;
+ pe.subCode = RRNotify_ProviderChange;
+ pe.timestamp = pScrPriv->lastSetTime.milliseconds;
+ pe.window = pWin->drawable.id;
+ pe.provider = provider->id;
+
WriteEventsToClient(client, 1, (xEvent *) &pe);
}
diff --git a/xorg-server/randr/rrproviderproperty.c b/xorg-server/randr/rrproviderproperty.c
index ff2c614d0..7955423e5 100644
--- a/xorg-server/randr/rrproviderproperty.c
+++ b/xorg-server/randr/rrproviderproperty.c
@@ -65,14 +65,14 @@ RRDestroyProviderProperty(RRPropertyPtr prop)
static void
RRDeleteProperty(RRProviderRec * provider, RRPropertyRec * prop)
{
- xRRProviderPropertyNotifyEvent event = {
- .type = RREventBase + RRNotify,
- .subCode = RRNotify_ProviderProperty,
- .provider = provider->id,
- .state = PropertyDelete,
- .atom = prop->propertyName,
- .timestamp = currentTime.milliseconds
- };
+ xRRProviderPropertyNotifyEvent event;
+ event.type = RREventBase + RRNotify;
+ event.subCode = RRNotify_ProviderProperty;
+ event.provider = provider->id;
+ event.state = PropertyDelete;
+ event.atom = prop->propertyName;
+ event.timestamp = currentTime.milliseconds;
+
RRDeliverPropertyEvent(provider->pScreen, (xEvent *) &event);
@@ -238,14 +238,14 @@ RRChangeProviderProperty(RRProviderPtr provider, Atom property, Atom type,
provider->pendingProperties = TRUE;
if (sendevent) {
- xRRProviderPropertyNotifyEvent event = {
- .type = RREventBase + RRNotify,
- .subCode = RRNotify_ProviderProperty,
- .provider = provider->id,
- .state = PropertyNewValue,
- .atom = prop->propertyName,
- .timestamp = currentTime.milliseconds
- };
+ xRRProviderPropertyNotifyEvent event;
+ event.type = RREventBase + RRNotify;
+ event.subCode = RRNotify_ProviderProperty;
+ event.provider = provider->id;
+ event.state = PropertyNewValue;
+ event.atom = prop->propertyName;
+ event.timestamp = currentTime.milliseconds;
+
RRDeliverPropertyEvent(provider->pScreen, (xEvent *) &event);
}
return Success;
@@ -403,12 +403,12 @@ ProcRRListProviderProperties(ClientPtr client)
if (!(pAtoms = (Atom *) malloc(numProps * sizeof(Atom))))
return BadAlloc;
- rep = (xRRListProviderPropertiesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(numProps * sizeof(Atom)),
- .nAtoms = numProps
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(numProps * sizeof(Atom));
+ rep.nAtoms = numProps;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -449,14 +449,14 @@ ProcRRQueryProviderProperty(ClientPtr client)
if (!extra)
return BadAlloc;
}
- rep = (xRRQueryProviderPropertyReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = prop->num_valid,
- .pending = prop->is_pending,
- .range = prop->range,
- .immutable = prop->immutable
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = prop->num_valid;
+ rep.pending = prop->is_pending;
+ rep.range = prop->range;
+ rep.immutable = prop->immutable;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -581,12 +581,12 @@ ProcRRGetProviderProperty(ClientPtr client)
RRPropertyValuePtr prop_value;
unsigned long n, len, ind;
RRProviderPtr provider;
- xRRGetProviderPropertyReply reply = {
- .type = X_Reply,
- .sequenceNumber = client->sequence
- };
+ xRRGetProviderPropertyReply reply;
char *extra = NULL;
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+
REQUEST_SIZE_MATCH(xRRGetProviderPropertyReq);
if (stuff->delete)
UpdateCurrentTime();
@@ -686,14 +686,14 @@ ProcRRGetProviderProperty(ClientPtr client)
reply.propertyType = prop_value->type;
if (stuff->delete && (reply.bytesAfter == 0)) {
- xRRProviderPropertyNotifyEvent event = {
- .type = RREventBase + RRNotify,
- .subCode = RRNotify_ProviderProperty,
- .provider = provider->id,
- .state = PropertyDelete,
- .atom = prop->propertyName,
- .timestamp = currentTime.milliseconds
- };
+ xRRProviderPropertyNotifyEvent event;
+ event.type = RREventBase + RRNotify;
+ event.subCode = RRNotify_ProviderProperty;
+ event.provider = provider->id;
+ event.state = PropertyDelete;
+ event.atom = prop->propertyName;
+ event.timestamp = currentTime.milliseconds;
+
RRDeliverPropertyEvent(provider->pScreen, (xEvent *) &event);
}
diff --git a/xorg-server/randr/rrscreen.c b/xorg-server/randr/rrscreen.c
index 36179ae89..22a7e984f 100644
--- a/xorg-server/randr/rrscreen.c
+++ b/xorg-server/randr/rrscreen.c
@@ -68,19 +68,18 @@ void
RRSendConfigNotify(ScreenPtr pScreen)
{
WindowPtr pWin = pScreen->root;
- xEvent event = {
- .u.configureNotify.window = pWin->drawable.id,
- .u.configureNotify.aboveSibling = None,
- .u.configureNotify.x = 0,
- .u.configureNotify.y = 0,
+ xEvent event;
+ event.u.configureNotify.window = pWin->drawable.id;
+ event.u.configureNotify.aboveSibling = None;
+ event.u.configureNotify.x = 0;
+ event.u.configureNotify.y = 0;
/* XXX xinerama stuff ? */
- .u.configureNotify.width = pWin->drawable.width,
- .u.configureNotify.height = pWin->drawable.height,
- .u.configureNotify.borderWidth = wBorderWidth(pWin),
- .u.configureNotify.override = pWin->overrideRedirect
- };
+ event.u.configureNotify.width = pWin->drawable.width;
+ event.u.configureNotify.height = pWin->drawable.height;
+ event.u.configureNotify.borderWidth = wBorderWidth(pWin);
+ event.u.configureNotify.override = pWin->overrideRedirect;
event.u.u.type = ConfigureNotify;
DeliverEvents(pWin, &event, 1, NullWindow);
}
@@ -89,20 +88,21 @@ void
RRDeliverScreenEvent(ClientPtr client, WindowPtr pWin, ScreenPtr pScreen)
{
rrScrPriv(pScreen);
+ xRRScreenChangeNotifyEvent se;
RRCrtcPtr crtc = pScrPriv->numCrtcs ? pScrPriv->crtcs[0] : NULL;
WindowPtr pRoot = pScreen->root;
- xRRScreenChangeNotifyEvent se = {
- .type = RRScreenChangeNotify + RREventBase,
- .rotation = (CARD8) (crtc ? crtc->rotation : RR_Rotate_0),
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .configTimestamp = pScrPriv->lastConfigTime.milliseconds,
- .root = pRoot->drawable.id,
- .window = pWin->drawable.id,
- .subpixelOrder = PictureGetSubpixelOrder(pScreen),
- .sizeID = RR10CurrentSizeID(pScreen)
- };
+ se.type = RRScreenChangeNotify + RREventBase;
+ se.rotation = (CARD8) (crtc ? crtc->rotation : RR_Rotate_0);
+ se.timestamp = pScrPriv->lastSetTime.milliseconds;
+ se.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
+ se.root = pRoot->drawable.id;
+ se.window = pWin->drawable.id;
+ se.subpixelOrder = PictureGetSubpixelOrder(pScreen);
+
+ se.sizeID = RR10CurrentSizeID(pScreen);
+
if (se.rotation & (RR_Rotate_90 | RR_Rotate_270)) {
se.widthInPixels = pScreen->height;
@@ -201,12 +201,11 @@ ProcRRGetScreenSizeRange(ClientPtr client)
pScreen = pWin->drawable.pScreen;
pScrPriv = rrGetScrPriv(pScreen);
- rep = (xRRGetScreenSizeRangeReply) {
- .type = X_Reply,
- .pad = 0,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.type = X_Reply;
+ rep.pad = 0;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
if (pScrPriv) {
if (!RRGetInfo(pScreen, FALSE))
@@ -396,17 +395,17 @@ rrGetMultiScreenResources(ClientPtr client, Bool query, ScreenPtr pScreen)
ErrorF("reporting %d %d %d %d\n", total_crtcs, total_outputs, total_modes, total_name_len);
pScrPriv = rrGetScrPriv(pScreen);
- rep = (xRRGetScreenResourcesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .configTimestamp = pScrPriv->lastConfigTime.milliseconds,
- .nCrtcs = total_crtcs,
- .nOutputs = total_outputs,
- .nModes = total_modes,
- .nbytesNames = total_name_len
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+ rep.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
+ rep.nCrtcs = total_crtcs;
+ rep.nOutputs = total_outputs;
+ rep.nModes = total_modes;
+ rep.nbytesNames = total_name_len;
+
rep.length = (total_crtcs + total_outputs + total_modes * bytes_to_int32(SIZEOF(xRRModeInfo)) +
bytes_to_int32(rep.nbytesNames));
@@ -482,6 +481,7 @@ rrGetScreenResources(ClientPtr client, Bool query)
pScreen = pWin->drawable.pScreen;
pScrPriv = rrGetScrPriv(pScreen);
+ rep.pad = 0;
if (query && pScrPriv)
if (!RRGetInfo(pScreen, query))
@@ -491,17 +491,17 @@ rrGetScreenResources(ClientPtr client, Bool query)
return rrGetMultiScreenResources(client, query, pScreen);
if (!pScrPriv) {
- rep = (xRRGetScreenResourcesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .timestamp = currentTime.milliseconds,
- .configTimestamp = currentTime.milliseconds,
- .nCrtcs = 0,
- .nOutputs = 0,
- .nModes = 0,
- .nbytesNames = 0
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.timestamp = currentTime.milliseconds;
+ rep.configTimestamp = currentTime.milliseconds;
+ rep.nCrtcs = 0;
+ rep.nOutputs = 0;
+ rep.nModes = 0;
+ rep.nbytesNames = 0;
+
extra = NULL;
extraLen = 0;
}
@@ -513,17 +513,16 @@ rrGetScreenResources(ClientPtr client, Bool query)
if (!modes)
return BadAlloc;
- rep = (xRRGetScreenResourcesReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .configTimestamp = pScrPriv->lastConfigTime.milliseconds,
- .nCrtcs = pScrPriv->numCrtcs,
- .nOutputs = pScrPriv->numOutputs,
- .nModes = num_modes,
- .nbytesNames = 0
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+ rep.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
+ rep.nCrtcs = pScrPriv->numCrtcs;
+ rep.nOutputs = pScrPriv->numOutputs;
+ rep.nModes = num_modes;
+ rep.nbytesNames = 0;
for (i = 0; i < num_modes; i++)
@@ -749,6 +748,7 @@ ProcRRGetScreenInfo(ClientPtr client)
pScreen = pWin->drawable.pScreen;
pScrPriv = rrGetScrPriv(pScreen);
+ rep.pad = 0;
if (pScrPriv)
if (!RRGetInfo(pScreen, TRUE))
@@ -757,20 +757,20 @@ ProcRRGetScreenInfo(ClientPtr client)
output = RRFirstOutput(pScreen);
if (!pScrPriv || !output) {
- rep = (xRRGetScreenInfoReply) {
- .type = X_Reply,
- .setOfRotations = RR_Rotate_0,
- .sequenceNumber = client->sequence,
- .length = 0,
- .root = pWin->drawable.pScreen->root->drawable.id,
- .timestamp = currentTime.milliseconds,
- .configTimestamp = currentTime.milliseconds,
- .nSizes = 0,
- .sizeID = 0,
- .rotation = RR_Rotate_0,
- .rate = 0,
- .nrateEnts = 0
- };
+
+ rep.type = X_Reply;
+ rep.setOfRotations = RR_Rotate_0;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.root = pWin->drawable.pScreen->root->drawable.id;
+ rep.timestamp = currentTime.milliseconds;
+ rep.configTimestamp = currentTime.milliseconds;
+ rep.nSizes = 0;
+ rep.sizeID = 0;
+ rep.rotation = RR_Rotate_0;
+ rep.rate = 0;
+ rep.nrateEnts = 0;
+
extra = 0;
extraLen = 0;
}
@@ -787,20 +787,19 @@ ProcRRGetScreenInfo(ClientPtr client)
if (!pData)
return BadAlloc;
- rep = (xRRGetScreenInfoReply) {
- .type = X_Reply,
- .setOfRotations = output->crtc->rotations,
- .sequenceNumber = client->sequence,
- .length = 0,
- .root = pWin->drawable.pScreen->root->drawable.id,
- .timestamp = pScrPriv->lastSetTime.milliseconds,
- .configTimestamp = pScrPriv->lastConfigTime.milliseconds,
- .rotation = output->crtc->rotation,
- .nSizes = pData->nsize,
- .nrateEnts = pData->nrefresh + pData->nsize,
- .sizeID = pData->size,
- .rate = pData->refresh
- };
+
+ rep.type = X_Reply;
+ rep.setOfRotations = output->crtc->rotations;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.root = pWin->drawable.pScreen->root->drawable.id;
+ rep.timestamp = pScrPriv->lastSetTime.milliseconds;
+ rep.configTimestamp = pScrPriv->lastConfigTime.milliseconds;
+ rep.rotation = output->crtc->rotation;
+ rep.nSizes = pData->nsize;
+ rep.nrateEnts = pData->nrefresh + pData->nsize;
+ rep.sizeID = pData->size;
+ rep.rate = pData->refresh;
extraLen = rep.nSizes * sizeof(xScreenSizes);
if (has_rate)
@@ -1086,17 +1085,16 @@ ProcRRSetScreenConfig(ClientPtr client)
free(pData);
- rep = (xRRSetScreenConfigReply) {
- .type = X_Reply,
- .status = status,
- .sequenceNumber = client->sequence,
- .length = 0,
-
- .newTimestamp = pScrPriv->lastSetTime.milliseconds,
- .newConfigTimestamp = pScrPriv->lastConfigTime.milliseconds,
- .root = pDraw->pScreen->root->drawable.id,
- /* .subpixelOrder = ?? */
- };
+
+ rep.type = X_Reply;
+ rep.status = status;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+
+ rep.newTimestamp = pScrPriv->lastSetTime.milliseconds;
+ rep.newConfigTimestamp = pScrPriv->lastConfigTime.milliseconds;
+ rep.root = pDraw->pScreen->root->drawable.id;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
diff --git a/xorg-server/randr/rrxinerama.c b/xorg-server/randr/rrxinerama.c
index 76d728c70..86a19757b 100644
--- a/xorg-server/randr/rrxinerama.c
+++ b/xorg-server/randr/rrxinerama.c
@@ -89,15 +89,14 @@ static int SProcRRXineramaDispatch(ClientPtr client);
int
ProcRRXineramaQueryVersion(ClientPtr client)
{
- xPanoramiXQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_RRXINERAMA_MAJOR_VERSION,
- .minorVersion = SERVER_RRXINERAMA_MINOR_VERSION
- };
+ xPanoramiXQueryVersionReply rep;
REQUEST_SIZE_MATCH(xPanoramiXQueryVersionReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = SERVER_RRXINERAMA_MAJOR_VERSION;
+ rep.minorVersion = SERVER_RRXINERAMA_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -131,13 +130,13 @@ ProcRRXineramaGetState(ClientPtr client)
active = TRUE;
}
- rep = (xPanoramiXGetStateReply) {
- .type = X_Reply,
- .state = active,
- .sequenceNumber = client->sequence,
- .length = 0,
- .window = stuff->window
- };
+
+ rep.type = X_Reply;
+ rep.state = active;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.window = stuff->window;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -197,13 +196,13 @@ ProcRRXineramaGetScreenCount(ClientPtr client)
if (rc != Success)
return rc;
- rep = (xPanoramiXGetScreenCountReply) {
- .type = X_Reply,
- .ScreenCount = RRXineramaScreenCount(pWin->drawable.pScreen),
- .sequenceNumber = client->sequence,
- .length = 0,
- .window = stuff->window
- };
+
+ rep.type = X_Reply;
+ rep.ScreenCount = RRXineramaScreenCount(pWin->drawable.pScreen);
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.window = stuff->window;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -230,15 +229,15 @@ ProcRRXineramaGetScreenSize(ClientPtr client)
pScreen = pWin->drawable.pScreen;
pRoot = pScreen->root;
- rep = (xPanoramiXGetScreenSizeReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .width = pRoot->drawable.width,
- .height = pRoot->drawable.height,
- .window = stuff->window,
- .screen = stuff->screen
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.width = pRoot->drawable.width;
+ rep.height = pRoot->drawable.height;
+ rep.window = stuff->window;
+ rep.screen = stuff->screen;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -258,12 +257,12 @@ ProcRRXineramaIsActive(ClientPtr client)
REQUEST_SIZE_MATCH(xXineramaIsActiveReq);
- rep = (xXineramaIsActiveReply) {
- .type = X_Reply,
- .length = 0,
- .sequenceNumber = client->sequence,
- .state = RRXineramaScreenActive(screenInfo.screens[RR_XINERAMA_SCREEN])
- };
+ memset(&rep, 0, sizeof(xXineramaIsActiveReply));
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+ rep.state = RRXineramaScreenActive(screenInfo.screens[RR_XINERAMA_SCREEN]);
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -327,12 +326,12 @@ ProcRRXineramaQueryScreens(ClientPtr client)
n = RRXineramaScreenCount(pScreen);
}
- rep = (xXineramaQueryScreensReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(n * sz_XineramaScreenInfo),
- .number = n
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(n * sz_XineramaScreenInfo);
+ rep.number = n;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
diff --git a/xorg-server/record/makefile b/xorg-server/record/makefile
new file mode 100644
index 000000000..1cef2de18
--- /dev/null
+++ b/xorg-server/record/makefile
@@ -0,0 +1,4 @@
+CSRCS = record.c set.c
+
+LIBRARY=librecord
+
diff --git a/xorg-server/record/record.c b/xorg-server/record/record.c
index c9002196f..13529b06f 100644
--- a/xorg-server/record/record.c
+++ b/xorg-server/record/record.c
@@ -1818,15 +1818,14 @@ static int
ProcRecordQueryVersion(ClientPtr client)
{
/* REQUEST(xRecordQueryVersionReq); */
- xRecordQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .majorVersion = SERVER_RECORD_MAJOR_VERSION,
- .minorVersion = SERVER_RECORD_MINOR_VERSION
- };
+ xRecordQueryVersionReply rep;
REQUEST_SIZE_MATCH(xRecordQueryVersionReq);
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.majorVersion = SERVER_RECORD_MAJOR_VERSION;
+ rep.minorVersion = SERVER_RECORD_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.majorVersion);
@@ -2234,14 +2233,14 @@ ProcRecordGetContext(ClientPtr client)
/* write the reply header */
- rep = (xRecordGetContextReply) {
- .type = X_Reply,
- .enabled = pContext->pRecordingClient != NULL,
- .sequenceNumber = client->sequence,
- .length = length,
- .elementHeader = pContext->elemHeaders,
- .nClients = nClients
- };
+
+ rep.type = X_Reply;
+ rep.enabled = pContext->pRecordingClient != NULL;
+ rep.sequenceNumber = client->sequence;
+ rep.length = length;
+ rep.elementHeader = pContext->elemHeaders;
+ rep.nClients = nClients;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -2734,7 +2733,7 @@ RecordAClientStateChange(CallbackListPtr *pcbl, void *nulldata,
/* RecordDisableContext modifies contents of ppAllContexts. */
numContextsCopy = numContexts;
ppAllContextsCopy = malloc(numContextsCopy * sizeof(RecordContextPtr));
- assert(ppAllContextsCopy);
+ assert(ppAllContextsCopy!=NULL);
memcpy(ppAllContextsCopy, ppAllContexts,
numContextsCopy * sizeof(RecordContextPtr));
diff --git a/xorg-server/render/makefile b/xorg-server/render/makefile
new file mode 100644
index 000000000..86d66a6d3
--- /dev/null
+++ b/xorg-server/render/makefile
@@ -0,0 +1,15 @@
+
+LIBRARY=librender
+
+CSRCS = \
+ animcur.c \
+ filter.c \
+ glyph.c \
+ matrix.c \
+ miindex.c \
+ mipict.c \
+ mirect.c \
+ mitrap.c \
+ mitri.c \
+ picture.c \
+ render.c
diff --git a/xorg-server/render/mipict.c b/xorg-server/render/mipict.c
index 3959fc415..b90ea232e 100644
--- a/xorg-server/render/mipict.c
+++ b/xorg-server/render/mipict.c
@@ -246,7 +246,7 @@ miChangePictureFilter(PicturePtr pPicture,
#define BOUND(v) (INT16) ((v) < MINSHORT ? MINSHORT : (v) > MAXSHORT ? MAXSHORT : (v))
-static inline pixman_bool_t
+static __inline pixman_bool_t
miClipPictureReg(pixman_region16_t * pRegion,
pixman_region16_t * pClip, int dx, int dy)
{
diff --git a/xorg-server/render/render.c b/xorg-server/render/render.c
index 9ac4a98e7..db34fdc8b 100644
--- a/xorg-server/render/render.c
+++ b/xorg-server/render/render.c
@@ -268,11 +268,7 @@ static int
ProcRenderQueryVersion(ClientPtr client)
{
RenderClientPtr pRenderClient = GetRenderClient(client);
- xRenderQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ xRenderQueryVersionReply rep;
REQUEST(xRenderQueryVersionReq);
@@ -280,6 +276,10 @@ ProcRenderQueryVersion(ClientPtr client)
pRenderClient->minor_version = stuff->minorVersion;
REQUEST_SIZE_MATCH(xRenderQueryVersionReq);
+ memset(&rep, 0, sizeof(xRenderQueryVersionReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
if ((stuff->majorVersion * 1000 + stuff->minorVersion) <
(SERVER_RENDER_MAJOR_VERSION * 1000 + SERVER_RENDER_MINOR_VERSION)) {
diff --git a/xorg-server/startmulti.bat b/xorg-server/startmulti.bat
new file mode 100644
index 000000000..6b989d2aa
--- /dev/null
+++ b/xorg-server/startmulti.bat
@@ -0,0 +1 @@
+vcxsrv :1 -ac -terminate -lesspointer -multiwindow -xkblayout be -xkbmodel pc105 -clipboard -logverbose 4
diff --git a/xorg-server/startxdmcp.bat b/xorg-server/startxdmcp.bat
new file mode 100644
index 000000000..b2af85f53
--- /dev/null
+++ b/xorg-server/startxdmcp.bat
@@ -0,0 +1,2 @@
+vcxsrv :1 -query 192.168.37.20 -clipboard -ac -xkblayout be -xkbmodel pc105 -logverbose 4 -once
+
diff --git a/xorg-server/system.XWinrc b/xorg-server/system.XWinrc
new file mode 100644
index 000000000..548d14b03
--- /dev/null
+++ b/xorg-server/system.XWinrc
@@ -0,0 +1,131 @@
+# XWin Server Resource File - EXAMPLE
+# Earle F. Philhower, III
+
+# Place in ~/.XWinrc or in /etc/X11/system.XWinrc
+
+# Keywords are case insensitive, comments legal pretty much anywhere
+# you can have an end-of-line
+
+# Comments begin with "#" or "//" and go to the end-of-line
+
+# Paths to icons are **WINDOWS** based (i.e. c:\windows\icons)
+
+# Menus are defined as...
+# MENU <name> {
+# <Menu Text> EXEC <command>
+# ^^ This command will have any "%display%"
+# string replaced with the proper display
+# variable (i.e. 127.0.0.1:<display>.0)
+# (This should only rarely be needed as
+# the DISPLAY environment variable is also
+# set correctly)
+# or <Menu Text> MENU <name-of-some-prior-defined-menu>
+# or <Menu Text> ALWAYSONTOP
+# ^^ Sets the window to display above all others
+# or <Menu Text> RELOAD
+# ^^ Causes ~/.XWinrc or the system.XWinrc file
+# to be reloaded and icons and menus regenerated
+# or SEPARATOR
+# ...
+# }
+
+# Set the taskmar menu with
+# ROOTMENU <name-of-some-prior-defined-menu>
+
+# If you want a menu to be applied to all popup window's system menu
+# DEFAULTSYSMENU <name-of-some-prior-defined-menu> <atstart|atend>
+
+# To choose a specific menu for a specific WM_CLASS or WM_NAME use ...
+# SYSMENU {
+# <class-or-name-of-window> <name-of-prior-defined-menu> <atstart|atend>
+# ...
+# }
+
+# When specifying an ICONFILE in the following commands several different
+# formats are allowed:
+# 1. Name of a regular Windows .ico format file
+# (ex: "cygwin.ico", "apple.ico")
+# 2. Name and index into a Windows .DLL
+# (ex: "c:\windows\system32\shell32.dll,4" gives the default folder icon
+# "c:\windows\system32\shell32.dll,5" gives the floppy drive icon)
+# 3. Index into XWin.EXE internal ICON resource
+# (ex: ",101" is the 1st icon inside XWin.exe)
+
+# To define where ICO files live (** Windows path**)
+# ICONDIRECTORY <windows-path i.e. c:\cygwin\usr\icons>
+# NOTE: If you specify a fully qualified path to an ICON below
+# (i.e. "c:\xxx" or "d:\xxxx")
+# this ICONDIRECTORY will not be prepended
+
+# To change the taskbar icon use...
+# TRAYICON <name-of-windows-ico-file-in-icondirectory>
+
+# To define a replacement for the standard X icon for apps w/o specified icons
+# DEFAULTICON <name-of-windows-ico-file-in-icondirectory>
+
+# To define substitute icons on a per-window basis use...
+# ICONS {
+# <class-or-name-of-window> <icon-file-name.ico>
+# ...
+# }
+# In the case where multiple matches occur, the first listed in the ICONS
+# section will be chosen.
+
+# To disable exit confirmation dialog add the line containing SilentExit
+
+# DEBUG <string> prints out the string to the XWin.log file
+
+// Below are just some silly menus to demonstrate writing your
+// own configuration file.
+
+// Make some menus...
+menu apps {
+ xcalc exec "xcalc"
+ xclock exec "xclock"
+ xwininfo exec "xwininfo -pause"
+}
+
+menu root {
+// Comments fit here, too...
+ "Reload system.XWinrc" RELOAD
+ "Applications" menu apps
+ Separator
+ "Show log" exec "notepad %logfile%"
+ Separator
+}
+
+menu aot {
+ Separator
+ "Always on Top" alwaysontop
+}
+
+menu xtermspecial {
+ "Emacs" exec "emacs"
+ "Always on Top" alwaysontop
+ Separator
+}
+
+RootMenu root
+
+DefaultSysMenu aot atend
+
+SysMenu {
+ "xterm" xtermspecial atstart
+}
+
+# taskbar {
+# Tk notab
+# }
+
+# IconDirectory "c:\winnt\"
+
+# DefaultIcon "reinstall.ico"
+
+# Icons {
+# "xterm" "uninstall.ico"
+# }
+
+# SilentExit
+
+# DEBUG "Done parsing the configuration file..."
+
diff --git a/xorg-server/vcxsrv.sln b/xorg-server/vcxsrv.sln
new file mode 100644
index 000000000..a581eb181
--- /dev/null
+++ b/xorg-server/vcxsrv.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{911E67C6-3D85-4FCE-B560-20A9C3E3FF48}") = "vcxsrv", "vcxsrv.exe", "{0A7F2844-C7BA-43E2-B7AE-48070F7AA1A7}"
+ ProjectSection(DebuggerProjectSystem) = preProject
+ PortSupplier = 00000000-0000-0000-0000-000000000000
+ Executable = D:\vcxsrv x server\trunk\xorg-server\vcxsrv.exe
+ RemoteMachine = OAB1MAHAENEW
+ StartingDirectory = D:\vcxsrv x server\trunk\xorg-server
+ Environment = Default
+ LaunchingEngine = 00000000-0000-0000-0000-000000000000
+ LaunchSQLEngine = No
+ AttachLaunchAction = No
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Default = Debug|Default
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0A7F2844-C7BA-43E2-B7AE-48070F7AA1A7}.Debug|Default.ActiveCfg = Debug
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/xorg-server/xfixes/cursor.c b/xorg-server/xfixes/cursor.c
index 31a408fac..bc8ad8096 100644
--- a/xorg-server/xfixes/cursor.c
+++ b/xorg-server/xfixes/cursor.c
@@ -44,6 +44,8 @@
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
+#else
+#define XFIXES
#endif
#include "xfixesint.h"
@@ -156,14 +158,13 @@ CursorDisplayCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)
CursorCurrent[pDev->id] = pCursor;
for (e = cursorEvents; e; e = e->next) {
if ((e->eventMask & XFixesDisplayCursorNotifyMask)) {
- xXFixesCursorNotifyEvent ev = {
- .type = XFixesEventBase + XFixesCursorNotify,
- .subtype = XFixesDisplayCursorNotify,
- .window = e->pWindow->drawable.id,
- .cursorSerial = pCursor ? pCursor->serialNumber : 0,
- .timestamp = currentTime.milliseconds,
- .name = pCursor ? pCursor->name : None
- };
+ xXFixesCursorNotifyEvent ev;
+ ev.type = XFixesEventBase + XFixesCursorNotify;
+ ev.subtype = XFixesDisplayCursorNotify;
+ ev.window = e->pWindow->drawable.id;
+ ev.cursorSerial = pCursor ? pCursor->serialNumber : 0;
+ ev.timestamp = currentTime.milliseconds;
+ ev.name = pCursor ? pCursor->name : None;
WriteEventsToClient(e->pClient, 1, (xEvent *) &ev);
}
}
@@ -456,13 +457,13 @@ ProcXFixesGetCursorName(ClientPtr client)
str = "";
len = strlen(str);
- reply = (xXFixesGetCursorNameReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(len),
- .atom = pCursor->name,
- .nbytes = len
- };
+
+ reply.type = X_Reply;
+ reply.sequenceNumber = client->sequence;
+ reply.length = bytes_to_int32(len);
+ reply.atom = pCursor->name;
+ reply.nbytes = len;
+
if (client->swapped) {
swaps(&reply.sequenceNumber);
swapl(&reply.length);
diff --git a/xorg-server/xfixes/makefile b/xorg-server/xfixes/makefile
new file mode 100644
index 000000000..73df36c4e
--- /dev/null
+++ b/xorg-server/xfixes/makefile
@@ -0,0 +1,9 @@
+CSRCS = cursor.c \
+ region.c \
+ saveset.c \
+ select.c \
+ xfixes.c
+
+LIBRARY=libxfixes
+
+
diff --git a/xorg-server/xfixes/select.c b/xorg-server/xfixes/select.c
index c088ed3de..5a6be7d57 100644
--- a/xorg-server/xfixes/select.c
+++ b/xorg-server/xfixes/select.c
@@ -77,16 +77,15 @@ XFixesSelectionCallback(CallbackListPtr *callbacks, void *data, void *args)
}
for (e = selectionEvents; e; e = e->next) {
if (e->selection == selection->selection && (e->eventMask & eventMask)) {
- xXFixesSelectionNotifyEvent ev = {
- .type = XFixesEventBase + XFixesSelectionNotify,
- .subtype = subtype,
- .window = e->pWindow->drawable.id,
- .owner = (subtype == XFixesSetSelectionOwnerNotify) ?
- selection->window : 0,
- .selection = e->selection,
- .timestamp = currentTime.milliseconds,
- .selectionTimestamp = selection->lastTimeChanged.milliseconds
- };
+ xXFixesSelectionNotifyEvent ev;
+ ev.type = XFixesEventBase + XFixesSelectionNotify;
+ ev.subtype = subtype;
+ ev.window = e->pWindow->drawable.id;
+ ev.owner = (subtype == XFixesSetSelectionOwnerNotify) ?
+ selection->window : 0;
+ ev.selection = e->selection;
+ ev.timestamp = currentTime.milliseconds;
+ ev.selectionTimestamp = selection->lastTimeChanged.milliseconds;
WriteEventsToClient(e->pClient, 1, (xEvent *) &ev);
}
}
diff --git a/xorg-server/xfixes/xfixes.c b/xorg-server/xfixes/xfixes.c
index 3307f874b..a4729f343 100644
--- a/xorg-server/xfixes/xfixes.c
+++ b/xorg-server/xfixes/xfixes.c
@@ -62,15 +62,15 @@ static int
ProcXFixesQueryVersion(ClientPtr client)
{
XFixesClientPtr pXFixesClient = GetXFixesClient(client);
- xXFixesQueryVersionReply rep = {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+ xXFixesQueryVersionReply rep;
REQUEST(xXFixesQueryVersionReq);
REQUEST_SIZE_MATCH(xXFixesQueryVersionReq);
+ memset(&rep, 0, sizeof(xXFixesQueryVersionReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
if (version_compare(stuff->majorVersion, stuff->minorVersion,
SERVER_XFIXES_MAJOR_VERSION,
diff --git a/xorg-server/xkb/XKBMisc.c b/xorg-server/xkb/XKBMisc.c
index 6abd1d11a..6280637d6 100644
--- a/xorg-server/xkb/XKBMisc.c
+++ b/xorg-server/xkb/XKBMisc.c
@@ -330,7 +330,7 @@ _XkbFindMatchingInterp(XkbDescPtr xkb,
static void
_XkbAddKeyChange(KeyCode *pFirst, unsigned char *pNum, KeyCode newKey)
{
- KeyCode last;
+ int last;
last = (*pFirst) + (*pNum);
if (newKey < *pFirst) {
diff --git a/xorg-server/xkb/ddxPrivate.c b/xorg-server/xkb/ddxPrivate.c
index fcde3a18c..c4d21cb9c 100644
--- a/xorg-server/xkb/ddxPrivate.c
+++ b/xorg-server/xkb/ddxPrivate.c
@@ -3,12 +3,44 @@
#include <dix-config.h>
#endif
+#ifdef HAVE_XORG_CONFIG_H
+#include <xorg-config.h>
+#endif
+
+#include <stdio.h>
#include <X11/X.h>
#include "windowstr.h"
+#define XKBSRV_NEED_FILE_FUNCS
#include <xkbsrv.h>
+#include "dixgrabs.h"
+#include "os.h"
+#include "xf86.h"
+
int
XkbDDXPrivate(DeviceIntPtr dev, KeyCode key, XkbAction *act)
{
+ XkbAnyAction *xf86act = &(act->any);
+ char msgbuf[XkbAnyActionDataSize+1];
+
+ if (xf86act->type == XkbSA_XFree86Private) {
+ memcpy(msgbuf, xf86act->data, XkbAnyActionDataSize);
+ msgbuf[XkbAnyActionDataSize]= '\0';
+ if (strcasecmp(msgbuf, "prgrbs")==0) {
+ DeviceIntPtr tmp;
+ ErrorF("Printing all currently active device grabs:\n");
+ for (tmp = inputInfo.devices; tmp; tmp = tmp->next)
+ if (tmp->deviceGrab.grab)
+ PrintDeviceGrabInfo(tmp);
+ ErrorF("End list of active device grabs\n");
+ }
+ else if (strcasecmp(msgbuf, "ungrab")==0)
+ UngrabAllDevices(FALSE);
+ else if (strcasecmp(msgbuf, "clsgrb")==0)
+ UngrabAllDevices(TRUE);
+ else if (strcasecmp(msgbuf, "prwins")==0)
+ PrintWindowTree();
+ }
+
return 0;
}
diff --git a/xorg-server/xkb/makefile b/xorg-server/xkb/makefile
new file mode 100644
index 000000000..71a327c8e
--- /dev/null
+++ b/xorg-server/xkb/makefile
@@ -0,0 +1,41 @@
+DEFINES += HAVE_XKB_CONFIG_H
+
+DDX_SRCS = \
+ ddxBeep.c \
+ ddxCtrls.c \
+ ddxLEDs.c \
+ ddxLoad.c
+
+DIX_SRCS = \
+ xkb.c \
+ xkbUtils.c \
+ xkbEvents.c \
+ xkbAccessX.c \
+ xkbSwap.c \
+ xkbLEDs.c \
+ xkbInit.c \
+ xkbActions.c \
+ xkbPrKeyEv.c
+
+# this should be replaced by a common library or something, ideally -d
+XKBFILE_SRCS = \
+ maprules.c \
+ xkmread.c \
+ xkbtext.c \
+ xkbfmisc.c \
+ xkbout.c
+
+X11_SRCS = \
+ XKBMisc.c \
+ XKBAlloc.c \
+ XKBGAlloc.c \
+ XKBMAlloc.c
+
+# ends up unused...
+# XI_SRCS = xkbPrOtherEv.c
+
+CSRCS = $(DDX_SRCS) $(DIX_SRCS) $(XI_SRCS) $(XKBFILE_SRCS) \
+ $(X11_SRCS) ddxVT.c ddxPrivate.c ddxKillSrv.c
+
+LIBRARY=libxkb
+
diff --git a/xorg-server/xkb/xkb.c b/xorg-server/xkb/xkb.c
index dc570f0e5..ae2ca90a3 100644
--- a/xorg-server/xkb/xkb.c
+++ b/xorg-server/xkb/xkb.c
@@ -182,14 +182,13 @@ ProcXkbUseExtension(ClientPtr client)
stuff->wantedMinor, SERVER_XKB_MAJOR_VERSION,
SERVER_XKB_MINOR_VERSION);
}
- rep = (xkbUseExtensionReply) {
- .type = X_Reply,
- .supported = supported,
- .sequenceNumber = client->sequence,
- .length = 0,
- .serverMajor = SERVER_XKB_MAJOR_VERSION,
- .serverMinor = SERVER_XKB_MINOR_VERSION
- };
+ memset(&rep, 0, sizeof(xkbUseExtensionReply));
+ rep.type = X_Reply;
+ rep.supported = supported;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.serverMajor = SERVER_XKB_MAJOR_VERSION;
+ rep.serverMinor = SERVER_XKB_MINOR_VERSION;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.serverMajor);
@@ -579,22 +578,21 @@ ProcXkbGetState(ClientPtr client)
CHK_KBD_DEVICE(dev, stuff->deviceSpec, client, DixGetAttrAccess);
xkb = &dev->key->xkbInfo->state;
- rep = (xkbGetStateReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = 0,
- .mods = XkbStateFieldFromRec(xkb) & 0xff,
- .baseMods = xkb->base_mods,
- .latchedMods = xkb->latched_mods,
- .lockedMods = xkb->locked_mods,
- .group = xkb->group,
- .lockedGroup = xkb->locked_group,
- .baseGroup = xkb->base_group,
- .latchedGroup = xkb->latched_group,
- .compatState = xkb->compat_state,
- .ptrBtnState = xkb->ptr_buttons
- };
+ memset(&rep, 0, sizeof(xkbGetStateReply));
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.mods = XkbStateFieldFromRec(xkb) & 0xff;
+ rep.baseMods = xkb->base_mods;
+ rep.latchedMods = xkb->latched_mods;
+ rep.lockedMods = xkb->locked_mods;
+ rep.group = xkb->group;
+ rep.lockedGroup = xkb->locked_group;
+ rep.baseGroup = xkb->base_group;
+ rep.latchedGroup = xkb->latched_group;
+ rep.compatState = xkb->compat_state;
+ rep.ptrBtnState = xkb->ptr_buttons;
if (client->swapped) {
swaps(&rep.sequenceNumber);
swaps(&rep.ptrBtnState);
@@ -691,38 +689,38 @@ ProcXkbGetControls(ClientPtr client)
CHK_KBD_DEVICE(dev, stuff->deviceSpec, client, DixGetAttrAccess);
xkb = dev->key->xkbInfo->desc->ctrls;
- rep = (xkbGetControlsReply) {
- .type = X_Reply,
- .deviceID = ((DeviceIntPtr) dev)->id,
- .sequenceNumber = client->sequence,
- .length = bytes_to_int32(SIZEOF(xkbGetControlsReply) -
- SIZEOF(xGenericReply)),
- .mkDfltBtn = xkb->mk_dflt_btn,
- .numGroups = xkb->num_groups,
- .groupsWrap = xkb->groups_wrap,
- .internalMods = xkb->internal.mask,
- .ignoreLockMods = xkb->ignore_lock.mask,
- .internalRealMods = xkb->internal.real_mods,
- .ignoreLockRealMods = xkb->ignore_lock.real_mods,
- .internalVMods = xkb->internal.vmods,
- .ignoreLockVMods = xkb->ignore_lock.vmods,
- .repeatDelay = xkb->repeat_delay,
- .repeatInterval = xkb->repeat_interval,
- .slowKeysDelay = xkb->slow_keys_delay,
- .debounceDelay = xkb->debounce_delay,
- .mkDelay = xkb->mk_delay,
- .mkInterval = xkb->mk_interval,
- .mkTimeToMax = xkb->mk_time_to_max,
- .mkMaxSpeed = xkb->mk_max_speed,
- .mkCurve = xkb->mk_curve,
- .axOptions = xkb->ax_options,
- .axTimeout = xkb->ax_timeout,
- .axtOptsMask = xkb->axt_opts_mask,
- .axtOptsValues = xkb->axt_opts_values,
- .axtCtrlsMask = xkb->axt_ctrls_mask,
- .axtCtrlsValues = xkb->axt_ctrls_values,
- .enabledCtrls = xkb->enabled_ctrls,
- };
+
+ rep.type = X_Reply;
+ rep.deviceID = ((DeviceIntPtr) dev)->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = bytes_to_int32(SIZEOF(xkbGetControlsReply) -
+ SIZEOF(xGenericReply));
+ rep.mkDfltBtn = xkb->mk_dflt_btn;
+ rep.numGroups = xkb->num_groups;
+ rep.groupsWrap = xkb->groups_wrap;
+ rep.internalMods = xkb->internal.mask;
+ rep.ignoreLockMods = xkb->ignore_lock.mask;
+ rep.internalRealMods = xkb->internal.real_mods;
+ rep.ignoreLockRealMods = xkb->ignore_lock.real_mods;
+ rep.internalVMods = xkb->internal.vmods;
+ rep.ignoreLockVMods = xkb->ignore_lock.vmods;
+ rep.repeatDelay = xkb->repeat_delay;
+ rep.repeatInterval = xkb->repeat_interval;
+ rep.slowKeysDelay = xkb->slow_keys_delay;
+ rep.debounceDelay = xkb->debounce_delay;
+ rep.mkDelay = xkb->mk_delay;
+ rep.mkInterval = xkb->mk_interval;
+ rep.mkTimeToMax = xkb->mk_time_to_max;
+ rep.mkMaxSpeed = xkb->mk_max_speed;
+ rep.mkCurve = xkb->mk_curve;
+ rep.axOptions = xkb->ax_options;
+ rep.axTimeout = xkb->ax_timeout;
+ rep.axtOptsMask = xkb->axt_opts_mask;
+ rep.axtOptsValues = xkb->axt_opts_values;
+ rep.axtCtrlsMask = xkb->axt_ctrls_mask;
+ rep.axtCtrlsValues = xkb->axt_ctrls_values;
+ rep.enabledCtrls = xkb->enabled_ctrls;
+
memcpy(rep.perKeyRepeat, xkb->per_key_repeat, XkbPerKeyBitArraySize);
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -1464,16 +1462,14 @@ ProcXkbGetMap(ClientPtr client)
CHK_MASK_LEGAL(0x03, stuff->partial, XkbAllMapComponentsMask);
xkb = dev->key->xkbInfo->desc;
- rep = (xkbGetMapReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = (SIZEOF(xkbGetMapReply) - SIZEOF(xGenericReply)) >> 2,
- .present = stuff->partial | stuff->full,
- .minKeyCode = xkb->min_key_code,
- .maxKeyCode = xkb->max_key_code
- };
-
+ memset(&rep, 0, sizeof(xkbGetMapReply));
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = (SIZEOF(xkbGetMapReply) - SIZEOF(xGenericReply)) >> 2;
+ rep.present = stuff->partial | stuff->full;
+ rep.minKeyCode = xkb->min_key_code;
+ rep.maxKeyCode = xkb->max_key_code;
if (stuff->full & XkbKeyTypesMask) {
rep.firstType = 0;
rep.nTypes = xkb->map->num_types;
@@ -2778,14 +2774,14 @@ ProcXkbGetCompatMap(ClientPtr client)
xkb = dev->key->xkbInfo->desc;
compat = xkb->compat;
- rep = (xkbGetCompatMapReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .deviceID = dev->id,
- .firstSI = stuff->firstSI,
- .nSI = stuff->nSI
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.deviceID = dev->id;
+ rep.firstSI = stuff->firstSI;
+ rep.nSI = stuff->nSI;
+
if (stuff->getAllSI) {
rep.firstSI = 0;
rep.nSI = compat->num_si;
@@ -3042,13 +3038,12 @@ ProcXkbGetIndicatorState(ClientPtr client)
if (!sli)
return BadAlloc;
- rep = (xkbGetIndicatorStateReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = 0,
- .state = sli->effectiveState
- };
+
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.state = sli->effectiveState;
if (client->swapped) {
swaps(&rep.sequenceNumber);
@@ -3156,13 +3151,13 @@ ProcXkbGetIndicatorMap(ClientPtr client)
xkb = dev->key->xkbInfo->desc;
leds = xkb->indicators;
- rep = (xkbGetIndicatorMapReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = 0,
- .which = stuff->which
- };
+
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.which = stuff->which;
+
XkbComputeGetIndicatorMapReplySize(leds, &rep);
return XkbSendIndicatorMap(client, leds, &rep);
}
@@ -3313,13 +3308,13 @@ ProcXkbGetNamedIndicator(ClientPtr client)
}
}
- rep = (xkbGetNamedIndicatorReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .deviceID = dev->id,
- .indicator = stuff->indicator
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.deviceID = dev->id;
+ rep.indicator = stuff->indicator;
+
if (map != NULL) {
rep.found = TRUE;
rep.on = ((sli->effectiveState & (1 << i)) != 0);
@@ -3895,18 +3890,18 @@ ProcXkbGetNames(ClientPtr client)
CHK_MASK_LEGAL(0x01, stuff->which, XkbAllNamesMask);
xkb = dev->key->xkbInfo->desc;
- rep = (xkbGetNamesReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = 0,
- .which = stuff->which,
- .nTypes = xkb->map->num_types,
- .firstKey = xkb->min_key_code,
- .nKeys = XkbNumKeys(xkb),
- .nKeyAliases = xkb->names ? xkb->names->num_key_aliases : 0,
- .nRadioGroups = xkb->names ? xkb->names->num_rg : 0
- };
+ memset(&rep, 0, sizeof(xkbGetNamesReply));
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.which = stuff->which;
+ rep.nTypes = xkb->map->num_types;
+ rep.firstKey = xkb->min_key_code;
+ rep.nKeys = XkbNumKeys(xkb);
+ rep.nKeyAliases = xkb->names ? xkb->names->num_key_aliases : 0;
+ rep.nRadioGroups = xkb->names ? xkb->names->num_rg : 0;
+
XkbComputeGetNamesReplySize(xkb, &rep);
return XkbSendNames(client, xkb, &rep);
}
@@ -4942,12 +4937,12 @@ ProcXkbGetGeometry(ClientPtr client)
CHK_ATOM_OR_NONE(stuff->name);
geom = XkbLookupNamedGeometry(dev, stuff->name, &shouldFree);
- rep = (xkbGetGeometryReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = 0
- };
+
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+
status = XkbComputeGetGeometryReplySize(geom, &rep, stuff->name);
if (status != Success)
return status;
@@ -5530,15 +5525,15 @@ ProcXkbPerClientFlags(ClientPtr client)
}
}
- rep = (xkbPerClientFlagsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .supported = XkbPCF_AllFlagsMask,
- .value = client->xkbClientFlags & XkbPCF_AllFlagsMask,
- .autoCtrls = interest ? interest->autoCtrls : 0,
- .autoCtrlValues = interest ? interest->autoCtrlValues : 0,
- };
+ memset(&rep, 0, sizeof(xkbPerClientFlagsReply));
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.supported = XkbPCF_AllFlagsMask;
+ rep.value = client->xkbClientFlags & XkbPCF_AllFlagsMask;
+ rep.autoCtrls = interest ? interest->autoCtrls : 0;
+ rep.autoCtrlValues = interest ? interest->autoCtrlValues : 0;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.supported);
@@ -5645,19 +5640,19 @@ ProcXkbListComponents(ClientPtr client)
}
if ((XkbPaddedSize(len) / 4) != stuff->length)
return BadLength;
- rep = (xkbListComponentsReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = 0,
- .nKeymaps = 0,
- .nKeycodes = 0,
- .nTypes = 0,
- .nCompatMaps = 0,
- .nSymbols = 0,
- .nGeometries = 0,
- .extra = 0
- };
+ memset(&rep, 0, sizeof(xkbListComponentsReply));
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.nKeymaps = 0;
+ rep.nKeycodes = 0;
+ rep.nTypes = 0;
+ rep.nCompatMaps = 0;
+ rep.nSymbols = 0;
+ rep.nGeometries = 0;
+ rep.extra = 0;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.length);
@@ -5705,6 +5700,8 @@ ProcXkbGetKbdByName(ClientPtr client)
if (!(client->xkbClientFlags & _XkbClientInitialized))
return BadAccess;
+ memset(&mrep,0,sizeof(mrep)); //MH
+
CHK_KBD_DEVICE(dev, stuff->deviceSpec, client, access_mode);
master = GetMaster(dev, MASTER_KEYBOARD);
@@ -6239,25 +6236,24 @@ ProcXkbGetDeviceInfo(ClientPtr client)
wanted &= ~XkbXI_IndicatorsMask;
nameLen = XkbSizeCountedString(dev->name);
- rep = (xkbGetDeviceInfoReply) {
- .type = X_Reply,
- .deviceID = dev->id,
- .sequenceNumber = client->sequence,
- .length = nameLen / 4,
- .present = wanted,
- .supported = XkbXI_AllDeviceFeaturesMask,
- .unsupported = 0,
- .nDeviceLedFBs = 0,
- .firstBtnWanted = 0,
- .nBtnsWanted = 0,
- .firstBtnRtrn = 0,
- .nBtnsRtrn = 0,
- .totalBtns = dev->button ? dev->button->numButtons : 0,
- .hasOwnState = (dev->key && dev->key->xkbInfo),
- .dfltKbdFB = dev->kbdfeed ? dev->kbdfeed->ctrl.id : XkbXINone,
- .dfltLedFB = dev->leds ? dev->leds->ctrl.id : XkbXINone,
- .devType = dev->xinput_type
- };
+ memset((char *) &rep, 0, SIZEOF(xkbGetDeviceInfoReply));
+ rep.type = X_Reply;
+ rep.deviceID = dev->id;
+ rep.sequenceNumber = client->sequence;
+ rep.length = nameLen / 4;
+ rep.present = wanted;
+ rep.supported = XkbXI_AllDeviceFeaturesMask;
+ rep.unsupported = 0;
+ rep.nDeviceLedFBs = 0;
+ rep.firstBtnWanted = 0;
+ rep.nBtnsWanted = 0;
+ rep.firstBtnRtrn = 0;
+ rep.nBtnsRtrn = 0;
+ rep.totalBtns = dev->button ? dev->button->numButtons : 0;
+ rep.hasOwnState = (dev->key && dev->key->xkbInfo);
+ rep.dfltKbdFB = dev->kbdfeed ? dev->kbdfeed->ctrl.id : XkbXINone;
+ rep.dfltLedFB = dev->leds ? dev->leds->ctrl.id : XkbXINone;
+ rep.devType = dev->xinput_type;
ledClass = stuff->ledClass;
ledID = stuff->ledID;
@@ -6723,15 +6719,15 @@ ProcXkbSetDebuggingFlags(ClientPtr client)
xkbDebugFlags = newFlags;
xkbDebugCtrls = newCtrls;
- rep = (xkbSetDebuggingFlagsReply) {
- .type = X_Reply,
- .sequenceNumber = client->sequence,
- .length = 0,
- .currentFlags = newFlags,
- .currentCtrls = newCtrls,
- .supportedFlags = ~0,
- .supportedCtrls = ~0
- };
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.length = 0;
+ rep.currentFlags = newFlags;
+ rep.currentCtrls = newCtrls;
+ rep.supportedFlags = ~0;
+ rep.supportedCtrls = ~0;
+
if (client->swapped) {
swaps(&rep.sequenceNumber);
swapl(&rep.currentFlags);
diff --git a/xorg-server/xkb/xkbActions.c b/xorg-server/xkb/xkbActions.c
index c44f44bc1..9df42bd6b 100644
--- a/xorg-server/xkb/xkbActions.c
+++ b/xorg-server/xkb/xkbActions.c
@@ -1507,6 +1507,7 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags, int x, int y)
{
ValuatorMask mask;
int gpe_flags = 0;
+ int Point[]={x, y};
/* ignore attached SDs */
if (!IsMaster(dev) && !IsFloating(dev))
@@ -1517,8 +1518,8 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags, int x, int y)
else
gpe_flags = POINTER_RELATIVE;
- valuator_mask_set_range(&mask, 0, 2, (int[]) {
- x, y});
+ valuator_mask_set_range(&mask, 0, 2,
+ Point);
InjectPointerKeyEvents(dev, MotionNotify, 0, gpe_flags, &mask);
}
diff --git a/xorg-server/xkb/xkbEvents.c b/xorg-server/xkb/xkbEvents.c
index 210d8ebe4..e2ba38886 100644
--- a/xorg-server/xkb/xkbEvents.c
+++ b/xorg-server/xkb/xkbEvents.c
@@ -99,7 +99,8 @@ XkbSendLegacyMapNotify(DeviceIntPtr kbd, CARD16 xkb_event, CARD16 changed,
continue;
if (keymap_changed) {
- xEvent core_mn = { .u.u.type = MappingNotify };
+ xEvent core_mn;
+ core_mn.u.u.type = MappingNotify;
core_mn.u.mappingNotify.request = MappingKeyboard;
/* Clip the keycode range to what the client knows about, so it
@@ -117,11 +118,10 @@ XkbSendLegacyMapNotify(DeviceIntPtr kbd, CARD16 xkb_event, CARD16 changed,
WriteEventsToClient(clients[i], 1, &core_mn);
}
if (modmap_changed) {
- xEvent core_mn = {
- .u.mappingNotify.request = MappingModifier,
- .u.mappingNotify.firstKeyCode = 0,
- .u.mappingNotify.count = 0
- };
+ xEvent core_mn;
+ core_mn.u.mappingNotify.request = MappingModifier;
+ core_mn.u.mappingNotify.firstKeyCode = 0;
+ core_mn.u.mappingNotify.count = 0;
core_mn.u.u.type = MappingNotify;
WriteEventsToClient(clients[i], 1, &core_mn);
}
@@ -131,26 +131,24 @@ XkbSendLegacyMapNotify(DeviceIntPtr kbd, CARD16 xkb_event, CARD16 changed,
* here? Clients might be upset, but that seems better than the
* alternative of stale keymaps. -ds */
if (keymap_changed) {
- deviceMappingNotify xi_mn = {
- .type = DeviceMappingNotify,
- .deviceid = kbd->id,
- .request = MappingKeyboard,
- .firstKeyCode = first_key,
- .count = num_keys,
- .time = time
- };
+ deviceMappingNotify xi_mn;
+ xi_mn.type = DeviceMappingNotify;
+ xi_mn.deviceid = kbd->id;
+ xi_mn.request = MappingKeyboard;
+ xi_mn.firstKeyCode = first_key;
+ xi_mn.count = num_keys;
+ xi_mn.time = time;
SendEventToAllWindows(kbd, DeviceMappingNotifyMask, (xEvent *) &xi_mn,
1);
}
if (modmap_changed) {
- deviceMappingNotify xi_mn = {
- .type = DeviceMappingNotify,
- .deviceid = kbd->id,
- .request = MappingModifier,
- .firstKeyCode = 0,
- .count = 0,
- .time = time
- };
+ deviceMappingNotify xi_mn;
+ xi_mn.type = DeviceMappingNotify;
+ xi_mn.deviceid = kbd->id;
+ xi_mn.request = MappingModifier;
+ xi_mn.firstKeyCode = 0;
+ xi_mn.count = 0;
+ xi_mn.time = time;
SendEventToAllWindows(kbd, DeviceMappingNotifyMask, (xEvent *) &xi_mn,
1);
}
diff --git a/xorg-server/xkb/xkbInit.c b/xorg-server/xkb/xkbInit.c
index 06ec46e81..c221bde45 100644
--- a/xorg-server/xkb/xkbInit.c
+++ b/xorg-server/xkb/xkbInit.c
@@ -728,7 +728,7 @@ extern int XkbDfltRepeatInterval;
extern unsigned short XkbDfltAccessXTimeout;
extern unsigned int XkbDfltAccessXTimeoutMask;
extern unsigned int XkbDfltAccessXFeedback;
-extern unsigned char XkbDfltAccessXOptions;
+extern unsigned short XkbDfltAccessXOptions;
int
XkbProcessArguments(int argc, char *argv[], int i)
@@ -789,7 +789,7 @@ XkbProcessArguments(int argc, char *argv[], int i)
j++;
}
if (((i + 1) < argc) && (isdigit(argv[i + 1][0]))) {
- XkbDfltAccessXOptions = (unsigned char)
+ XkbDfltAccessXOptions=(unsigned short)
strtol(argv[++i], NULL, 16);
j++;
}
diff --git a/xorg-server/xkeyboard-config/compat/makefile b/xorg-server/xkeyboard-config/compat/makefile
new file mode 100644
index 000000000..d8dc5d8c4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/compat/makefile
@@ -0,0 +1,20 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=compat
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_xkbdata_compat_DATA = \
+accessx basic caps complete \
+iso9995 \
+japan ledcaps \
+lednum ledscroll level5 \
+misc mousekeys \
+olpc pc pc98 xfree86 \
+xtest README
+
+DATA_FILES=$(dist_xkbdata_compat_DATA:%=$(DESTDIR)\%)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/geometry/digital_vndr/makefile b/xorg-server/xkeyboard-config/geometry/digital_vndr/makefile
new file mode 100644
index 000000000..12d4c37fc
--- /dev/null
+++ b/xorg-server/xkeyboard-config/geometry/digital_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\geometry\digital_vndr
+
+dist_geom_DATA = \
+lk pc unix
+
+DATA_FILES=$(dist_geom_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/geometry/makefile b/xorg-server/xkeyboard-config/geometry/makefile
new file mode 100644
index 000000000..896e186f4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/geometry/makefile
@@ -0,0 +1,25 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=geometry
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_xkbdata_geometry_DATA = \
+amiga ataritt chicony \
+dell everex fujitsu \
+hhk hp keytronic kinesis \
+macintosh microsoft nec nokia \
+northgate pc sanwa sony thinkpad \
+sun typematrix winbook README
+
+DATA_FILES=$(dist_xkbdata_geometry_DATA:%=$(DESTDIR)\%)
+
+SUBDIRS = digital_vndr sgi_vndr
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+extrastuff: $(SUBDIRS:%=%\all)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile b/xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile
new file mode 100644
index 000000000..285067802
--- /dev/null
+++ b/xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile
@@ -0,0 +1,13 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\geometry\sgi_vndr
+
+
+dist_geom_DATA = \
+indigo indy O2
+
+DATA_FILES=$(dist_geom_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile b/xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile
new file mode 100644
index 000000000..9cf1180e5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\keycodes\digital_vndr
+
+dist_keycodes_DATA = \
+lk pc
+
+DATA_FILES=$(dist_keycodes_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/keycodes/makefile b/xorg-server/xkeyboard-config/keycodes/makefile
new file mode 100644
index 000000000..f22e67a93
--- /dev/null
+++ b/xorg-server/xkeyboard-config/keycodes/makefile
@@ -0,0 +1,33 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=keycodes
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+SUBDIRS = digital_vndr sgi_vndr
+
+dist_xkbdata_keycodes_DATA = \
+aliases \
+amiga \
+ataritt \
+empty \
+evdev \
+fujitsu \
+hp \
+ibm \
+macintosh \
+sony \
+sun \
+xfree86 \
+xfree98 \
+README
+
+DATA_FILES=$(dist_xkbdata_keycodes_DATA:%=$(DESTDIR)\%)
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+extrastuff: $(SUBDIRS:%=%\all)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile b/xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile
new file mode 100644
index 000000000..e6c1defda
--- /dev/null
+++ b/xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\keycodes\sgi_vndr
+
+dist_keycodes_DATA = \
+indigo indy iris
+
+DATA_FILES=$(dist_keycodes_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/makefile b/xorg-server/xkeyboard-config/makefile
new file mode 100644
index 000000000..47ce6dd7b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/makefile
@@ -0,0 +1,9 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+SUBDIRS = compat geometry keycodes rules symbols types
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+all: $(SUBDIRS:%=%\all)
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat
new file mode 100755
index 000000000..b09459a5d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat
@@ -0,0 +1,9 @@
+@echo off
+
+set OUTFILE=base.ml1_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ if (index($2, """(""") == 0) { printf """ * %%s = pc+%%s%%%%(v[1])\n""", $1, $2; } else { printf """ * %%s = pc+%%s\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat
new file mode 100755
index 000000000..4d492e02b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.ml1v1_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat
new file mode 100755
index 000000000..cec1334c0
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.ml1v_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml_s.bat
new file mode 100755
index 000000000..b7f0d9c46
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml_s.bat
@@ -0,0 +1,9 @@
+@echo off
+
+set OUTFILE=base.ml_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s = pc+%%s\n""", $1, $2; }" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mln_s.bat b/xorg-server/xkeyboard-config/rules/bin/mln_s.bat
new file mode 100755
index 000000000..15e0629be
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mln_s.bat
@@ -0,0 +1,10 @@
+@echo off
+set variant=%1
+
+set OUTFILE=base.ml%variant%_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+echo "{ if (index($2, """(""") == 0) { printf """ * %%s = +%%s%%%%(v[%variant%]):%variant%\n""", $1, $2; } else { printf """ * %%s = +%%s:%variant%\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat
new file mode 100755
index 000000000..78119bcc7
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat
@@ -0,0 +1,8 @@
+@echo off
+set variant=%1
+
+set OUTFILE=base.ml%variant%v%variant%_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat b/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat
new file mode 100755
index 000000000..573cb930f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.mlv_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/compat/.gitignore b/xorg-server/xkeyboard-config/rules/compat/.gitignore
index bd274090a..077356fbb 100644
--- a/xorg-server/xkeyboard-config/rules/compat/.gitignore
+++ b/xorg-server/xkeyboard-config/rules/compat/.gitignore
@@ -1,6 +1,16 @@
+base.ml1_s.part
+base.ml1v1_s.part
base.ml2_s.part
base.ml2v2_s.part
base.ml3_s.part
base.ml3v3_s.part
base.ml4_s.part
base.ml4v4_s.part
+base.ml_s.part
+base.mlv_s.part
+ml1_s.bat
+ml1v1_s.bat
+ml_s.bat
+mln_s.bat
+mlnvn_s.bat
+mlv_s.bat \ No newline at end of file
diff --git a/xorg-server/xkeyboard-config/rules/compat/makefile b/xorg-server/xkeyboard-config/rules/compat/makefile
new file mode 100644
index 000000000..e14430c74
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/compat/makefile
@@ -0,0 +1,56 @@
+transform_files=layoutsMapping.lst variantsMapping.lst
+
+scripts_dir=..\bin
+
+SCRIPTS= \
+base.ml2_s.part \
+base.ml3_s.part \
+base.ml4_s.part \
+base.ml2v2_s.part \
+base.ml3v3_s.part \
+base.ml4v4_s.part \
+base.ml_s.part \
+base.ml1_s.part \
+base.mlv_s.part \
+base.ml1v1_s.part
+
+# Here we make a distinction when compiling from cygwin or from cmd
+ifdef SHLVL
+SH=sh
+SHEXT=.sh
+else
+SH=cmd /c
+SHEXT=.bat
+endif
+
+base.ml2_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 2 .
+
+base.ml3_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 3 .
+
+base.ml4_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 4 .
+
+base.ml2v2_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 2 .
+
+base.ml3v3_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 3 .
+
+base.ml4v4_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 4 .
+
+base.ml_s.part: $(scripts_dir)\ml_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.ml1_s.part: $(scripts_dir)\ml1_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.mlv_s.part: $(scripts_dir)\mlv_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.ml1v1_s.part: $(scripts_dir)\ml1v1_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+all: $(SCRIPTS)
diff --git a/xorg-server/xkeyboard-config/rules/makefile b/xorg-server/xkeyboard-config/rules/makefile
new file mode 100644
index 000000000..a919b41a2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/makefile
@@ -0,0 +1,238 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+load_makefile compat\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\rules
+
+USE_COMPAT_RULES = 1
+
+if USE_COMPAT_RULES
+
+base_parts = base.hdr.part base.lists.part \
+base.lists.base.part \
+compat/base.lists.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR base.m_s.part \
+HDR base.ml_s1.part \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+evdev.lists.part \
+compat/base.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR evdev.m_s.part \
+HDR \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+else
+
+base_parts = base.hdr.part base.lists.part \
+base.lists.base.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR base.m_s.part \
+HDR base.ml_s1.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+evdev.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR evdev.m_s.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+endif
+
+all_parts_dist = HDR base.hdr.part \
+base.lists.part \
+base.lists.base.part \
+evdev.lists.part \
+base.m_k.part \
+base.l1_k.part \
+base.l_k.part \
+base.o_k.part \
+base.ml_g.part \
+base.m_g.part \
+base.mlv_s.part \
+base.ml_s.part \
+base.ml1_s.part \
+base.ml2_s.part \
+base.ml3_s.part \
+base.ml4_s.part \
+base.m_s.part \
+base.ml_s1.part \
+base.ml_c.part \
+base.ml1_c.part \
+base.m_t.part \
+base.lo_s.part \
+base.l1o_s.part \
+base.l2o_s.part \
+base.l3o_s.part \
+base.l4o_s.part \
+base.o_s.part \
+base.o_c.part \
+base.o_t.part \
+evdev.m_k.part \
+evdev.m_s.part
+
+rules_files = base evdev xfree98
+
+lst_files = base.lst evdev.lst
+
+$(DESTDIR)\%.lst: $(DESTDIR)\%.xml
+ perl xml2lst.pl < $< > $@
+
+$(DESTDIR)\base: compat\all $(base_parts)
+ merge $@ $(base_parts)
+
+$(DESTDIR)\evdev: compat\all $(evdev_parts)
+ merge $@ $(evdev_parts)
+
+dist_files = xkb.dtd README
+
+rules_DATA = $(rules_files) $(lst_files) $(dist_files)
+
+COMPATFILES=xorg xorg.xml xorg.lst
+$(DESTDIR)\xorg: $(DESTDIR)\base
+ copy $< $@
+$(DESTDIR)\xorg%: $(DESTDIR)\base%
+ copy $< $@
+
+rules_DATA := $(rules_DATA) $(COMPATFILES)
+
+xml_in_files = base.xml.in evdev.xml.in base.extras.xml.in evdev.extras.xml.in
+xml_DATA = $(xml_in_files:.xml.in=.xml)
+
+$(DESTDIR)\%.xml: %.xml.in
+ copy $< $@
+
+$(DESTDIR)\evdev.xml: base.xml.in
+ copy $< $@
+
+$(DESTDIR)\evdev.extras.xml: base.extras.xml.in
+ copy $< $@
+
+DATA_FILES=$(rules_DATA:%=$(DESTDIR)\%) $(xml_DATA:%=$(DESTDIR)\%)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/rules/merge.py b/xorg-server/xkeyboard-config/rules/merge.py
new file mode 100644
index 000000000..442a866f2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/merge.py
@@ -0,0 +1,13 @@
+import sys
+
+pOUT=open(sys.argv[1],"wb")
+pHDR=open("HDR","r")
+for item in sys.argv[2:]:
+ if item == 'HDR':
+ pOUT.write("\n")
+ pOUT.write(pHDR.readline())
+ else:
+ pOUT.write(open(item,"rb").read())
+
+pOUT.close()
+
diff --git a/xorg-server/xkeyboard-config/symbols/cd b/xorg-server/xkeyboard-config/symbols/cd.in
index a87c749aa..a87c749aa 100644
--- a/xorg-server/xkeyboard-config/symbols/cd
+++ b/xorg-server/xkeyboard-config/symbols/cd.in
diff --git a/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile b/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile
new file mode 100644
index 000000000..cdfa2ef28
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile
@@ -0,0 +1,13 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\digital_vndr
+
+dist_symbols_DATA = \
+lk pc us \
+vt
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile
new file mode 100644
index 000000000..841c123d8
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\fujitsu_vndr
+
+dist_symbols_DATA = \
+jp us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile b/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile
new file mode 100644
index 000000000..3e6a64f47
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\hp_vndr
+
+dist_symbols_DATA = \
+us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/level3 b/xorg-server/xkeyboard-config/symbols/level3
index b15e24d53..b15e24d53 100644..100755
--- a/xorg-server/xkeyboard-config/symbols/level3
+++ b/xorg-server/xkeyboard-config/symbols/level3
diff --git a/xorg-server/xkeyboard-config/symbols/level5 b/xorg-server/xkeyboard-config/symbols/level5
index 1ae2e6d3b..1ae2e6d3b 100644..100755
--- a/xorg-server/xkeyboard-config/symbols/level5
+++ b/xorg-server/xkeyboard-config/symbols/level5
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile
new file mode 100644
index 000000000..0c54d7bdd
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile
@@ -0,0 +1,16 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\macintosh_vndr
+
+dist_symbols_DATA = \
+apple ch de dk \
+fi fr \
+gb is it jp \
+latam nl no pt \
+se us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/makefile b/xorg-server/xkeyboard-config/symbols/makefile
new file mode 100644
index 000000000..54b1ac1c3
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/makefile
@@ -0,0 +1,56 @@
+SUBDIRS = digital_vndr fujitsu_vndr hp_vndr macintosh_vndr nec_vndr nokia_vndr sharp_vndr sgi_vndr sony_vndr sun_vndr xfree68_vndr
+
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=symbols
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_symbols_DATA = \
+af al \
+am apl ara \
+at az \
+ba bd be \
+bg br brai \
+bt bw by \
+ca cd ch \
+cm cn cz \
+de dk \
+ee es et epo \
+fi fo fr \
+gb ge gh gn \
+gr hr hu \
+ie il in iq \
+ir is it jp \
+ke kg kh \
+kr kz \
+la latam latin \
+lk lt lv \
+ma mao md me \
+mk ml mm \
+mn mt mv \
+ng nl no np \
+pc ph pk pl pt \
+ro rs ru \
+se si sk sn \
+sy th \
+terminate \
+tj tm tr tw tz \
+ua us uz vn \
+za \
+altwin capslock compose ctrl empty eurosign rupeesign group inet \
+keypad kpdl level3 level5 nbsp olpc shift srvr_ctrl typo
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+extrastuff: $(SUBDIRS:%=%\all)
+
+include ..\xkbrules.mak
+
+$(DESTDIR)\cd: cd.in
+ copy $< $@
+
diff --git a/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile b/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile
new file mode 100644
index 000000000..6ab523a2b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\nec_vndr
+
+dist_symbols_DATA = \
+jp
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile b/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile
new file mode 100644
index 000000000..f3719bbac
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile
@@ -0,0 +1,14 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\nokia_vndr
+
+dist_symbols_DATA = \
+rx-44 \
+rx-51 \
+su-8w
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile
new file mode 100644
index 000000000..79a27fead
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sgi_vndr
+
+dist_symbols_DATA = \
+jp
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile
new file mode 100644
index 000000000..2174000bd
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile
@@ -0,0 +1,16 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sharp_vndr
+
+dist_symbols_DATA = \
+sl-c3x00 \
+ws003sh \
+ws007sh \
+ws011sh \
+ws020sh
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile
new file mode 100644
index 000000000..c2c1fa757
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sony_vndr
+
+dist_symbols_DATA = \
+us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile
new file mode 100644
index 000000000..a1329d15f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile
@@ -0,0 +1,18 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sun_vndr
+
+dist_symbols_DATA = \
+ ara be br ca ch \
+ cz de dk ee es \
+ fi fr gb gr it \
+ jp kr lt lv nl \
+ no pl pt ro ru \
+ se sk solaris tr \
+ tw ua us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile
new file mode 100644
index 000000000..c9c1b3ede
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\xfree68_vndr
+
+dist_symbols_DATA = \
+amiga ataritt
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/types/default b/xorg-server/xkeyboard-config/types/default.in
index 140208ccc..140208ccc 100644
--- a/xorg-server/xkeyboard-config/types/default
+++ b/xorg-server/xkeyboard-config/types/default.in
diff --git a/xorg-server/xkeyboard-config/types/makefile b/xorg-server/xkeyboard-config/types/makefile
new file mode 100644
index 000000000..ef03746ed
--- /dev/null
+++ b/xorg-server/xkeyboard-config/types/makefile
@@ -0,0 +1,17 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=types
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_xkbdata_types_DATA = \
+basic cancel caps \
+complete default extra \
+iso9995 level5 mousekeys nokia numpad \
+pc README
+
+DATA_FILES=$(dist_xkbdata_types_DATA:%=$(DESTDIR)\%)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/xkbrules.mak b/xorg-server/xkeyboard-config/xkbrules.mak
new file mode 100644
index 000000000..50e38298b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/xkbrules.mak
@@ -0,0 +1,26 @@
+DIRFILE=$(THISDIR:%=$(DESTDIR)\..\%.dir)
+
+.PHONY: destdir
+destdir: $(DESTDIR)
+
+all: destdir $(DATA_FILES) $(DIRFILE)
+
+$(DESTDIR)\default: default.in
+ copy $< $@
+
+$(DESTDIR)\%: %
+ copy $< $@
+
+ifneq ($(DIRFILE),)
+.PHONY: extrastuff
+
+#bdftopcf is dependent on libX11.dll, so we need to add the directory of the libX11 dll to the path env variable
+PATH:=$(relpath $(MHMAKECONF)\libxcb\src\$(OBJDIR))\;$(relpath $(MHMAKECONF)\libX11\$(OBJDIR))\;$(relpath $(MHMAKECONF)\libXau\$(OBJDIR))\;$(PATH)
+export PATH
+
+load_makefile ..\..\..\xkbcomp\makefile MAKESERVER=0 DEBUG=0
+
+$(DIRFILE): extrastuff $(DATA_FILES) ..\..\..\xkbcomp\obj$(OBJDIREXTRA)\release\xkbcomp.exe
+ -del -e $@
+ cd $(DESTDIR) & ..\..\..\xkbcomp\obj$(OBJDIREXTRA)\release\xkbcomp.exe -lfhlpR -o $(relpath $@) *
+endif
diff --git a/xorg-server/xkeysymdb b/xorg-server/xkeysymdb
new file mode 100644
index 000000000..45d892971
--- /dev/null
+++ b/xorg-server/xkeysymdb
@@ -0,0 +1,380 @@
+! Copyright 1993 Massachusetts Institute of Technology
+!
+! 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 M.I.T. not be used in advertising or
+! publicity pertaining to distribution of the software without specific,
+! written prior permission. M.I.T. makes no representations about the
+! suitability of this software for any purpose. It is provided "as is"
+! without express or implied warranty.
+!
+
+hpmute_acute :100000A8
+hpmute_grave :100000A9
+hpmute_asciicircum :100000AA
+hpmute_diaeresis :100000AB
+hpmute_asciitilde :100000AC
+hplira :100000AF
+hpguilder :100000BE
+hpYdiaeresis :100000EE
+hpIO :100000EE
+hplongminus :100000F6
+hpblock :100000FC
+apLineDel :1000FF00
+apCharDel :1000FF01
+apCopy :1000FF02
+apCut :1000FF03
+apPaste :1000FF04
+apMove :1000FF05
+apGrow :1000FF06
+apCmd :1000FF07
+apShell :1000FF08
+apLeftBar :1000FF09
+apRightBar :1000FF0A
+apLeftBox :1000FF0B
+apRightBox :1000FF0C
+apUpBox :1000FF0D
+apDownBox :1000FF0E
+apPop :1000FF0F
+apRead :1000FF10
+apEdit :1000FF11
+apSave :1000FF12
+apExit :1000FF13
+apRepeat :1000FF14
+hpModelock1 :1000FF48
+hpModelock2 :1000FF49
+hpReset :1000FF6C
+hpSystem :1000FF6D
+hpUser :1000FF6E
+hpClearLine :1000FF6F
+hpInsertLine :1000FF70
+hpDeleteLine :1000FF71
+hpInsertChar :1000FF72
+hpDeleteChar :1000FF73
+hpBackTab :1000FF74
+hpKP_BackTab :1000FF75
+apKP_parenleft :1000FFA8
+apKP_parenright :1000FFA9
+
+I2ND_FUNC_L :10004001
+I2ND_FUNC_R :10004002
+IREMOVE :10004003
+IREPEAT :10004004
+IA1 :10004101
+IA2 :10004102
+IA3 :10004103
+IA4 :10004104
+IA5 :10004105
+IA6 :10004106
+IA7 :10004107
+IA8 :10004108
+IA9 :10004109
+IA10 :1000410A
+IA11 :1000410B
+IA12 :1000410C
+IA13 :1000410D
+IA14 :1000410E
+IA15 :1000410F
+IB1 :10004201
+IB2 :10004202
+IB3 :10004203
+IB4 :10004204
+IB5 :10004205
+IB6 :10004206
+IB7 :10004207
+IB8 :10004208
+IB9 :10004209
+IB10 :1000420A
+IB11 :1000420B
+IB12 :1000420C
+IB13 :1000420D
+IB14 :1000420E
+IB15 :1000420F
+IB16 :10004210
+
+DRemove :1000FF00
+Dring_accent :1000FEB0
+Dcircumflex_accent :1000FE5E
+Dcedilla_accent :1000FE2C
+Dacute_accent :1000FE27
+Dgrave_accent :1000FE60
+Dtilde :1000FE7E
+Ddiaeresis :1000FE22
+
+osfCopy :1004FF02
+osfCut :1004FF03
+osfPaste :1004FF04
+osfBackTab :1004FF07
+osfBackSpace :1004FF08
+osfClear :1004FF0B
+osfEscape :1004FF1B
+osfAddMode :1004FF31
+osfPrimaryPaste :1004FF32
+osfQuickPaste :1004FF33
+osfPageLeft :1004FF40
+osfPageUp :1004FF41
+osfPageDown :1004FF42
+osfPageRight :1004FF43
+osfActivate :1004FF44
+osfMenuBar :1004FF45
+osfLeft :1004FF51
+osfUp :1004FF52
+osfRight :1004FF53
+osfDown :1004FF54
+osfPrior :1004FF55
+osfNext :1004FF56
+osfEndLine :1004FF57
+osfBeginLine :1004FF58
+osfEndData :1004FF59
+osfBeginData :1004FF5A
+osfPrevMenu :1004FF5B
+osfNextMenu :1004FF5C
+osfPrevField :1004FF5D
+osfNextField :1004FF5E
+osfSelect :1004FF60
+osfInsert :1004FF63
+osfUndo :1004FF65
+osfMenu :1004FF67
+osfCancel :1004FF69
+osfHelp :1004FF6A
+osfSelectAll :1004FF71
+osfDeselectAll :1004FF72
+osfReselect :1004FF73
+osfExtend :1004FF74
+osfRestore :1004FF78
+osfSwitchDirection :1004FF7E
+osfPriorMinor :1004FFF5
+osfNextMinor :1004FFF6
+osfRightLine :1004FFF7
+osfLeftLine :1004FFF8
+osfDelete :1004FFFF
+
+SunFA_Grave :1005FF00
+SunFA_Circum :1005FF01
+SunFA_Tilde :1005FF02
+SunFA_Acute :1005FF03
+SunFA_Diaeresis :1005FF04
+SunFA_Cedilla :1005FF05
+SunF36 :1005FF10
+SunF37 :1005FF11
+SunSys_Req :1005FF60
+SunProps :1005FF70
+SunFront :1005FF71
+SunCopy :1005FF72
+SunOpen :1005FF73
+SunPaste :1005FF74
+SunCut :1005FF75
+SunPowerSwitch :1005FF76
+SunAudioLowerVolume :1005FF77
+SunAudioMute :1005FF78
+SunAudioRaiseVolume :1005FF79
+SunVideoDegauss :1005FF7A
+SunVideoLowerBrightness :1005FF7B
+SunVideoRaiseBrightness :1005FF7C
+SunPowerSwitchShift :1005FF7D
+
+SunCompose :FF20
+SunPageUp :FF55
+SunPageDown :FF56
+SunPrint_Screen :FF61
+SunUndo :FF65
+SunAgain :FF66
+SunFind :FF68
+SunStop :FF69
+SunAltGraph :FF7E
+
+WYSetup :1006FF00
+
+ncdSetup :1006FF00
+
+XeroxPointerButton1 :10070001
+XeroxPointerButton2 :10070002
+XeroxPointerButton3 :10070003
+XeroxPointerButton4 :10070004
+XeroxPointerButton5 :10070005
+
+! The definitions here should match <X11/XF86keysym.h>
+XF86ModeLock :1008FF01
+XF86MonBrightnessUp :1008FF02
+XF86MonBrightnessDown :1008FF03
+XF86KbdLightOnOff :1008FF04
+XF86KbdBrightnessUp :1008FF05
+XF86KbdBrightnessDown :1008FF06
+XF86Standby :1008FF10
+XF86AudioLowerVolume :1008FF11
+XF86AudioMute :1008FF12
+XF86AudioRaiseVolume :1008FF13
+XF86AudioPlay :1008FF14
+XF86AudioStop :1008FF15
+XF86AudioPrev :1008FF16
+XF86AudioNext :1008FF17
+XF86HomePage :1008FF18
+XF86Mail :1008FF19
+XF86Start :1008FF1A
+XF86Search :1008FF1B
+XF86AudioRecord :1008FF1C
+XF86Calculator :1008FF1D
+XF86Memo :1008FF1E
+XF86ToDoList :1008FF1F
+XF86Calendar :1008FF20
+XF86PowerDown :1008FF21
+XF86ContrastAdjust :1008FF22
+XF86RockerUp :1008FF23
+XF86RockerDown :1008FF24
+XF86RockerEnter :1008FF25
+XF86Back :1008FF26
+XF86Forward :1008FF27
+XF86Stop :1008FF28
+XF86Refresh :1008FF29
+XF86PowerOff :1008FF2A
+XF86WakeUp :1008FF2B
+XF86Eject :1008FF2C
+XF86ScreenSaver :1008FF2D
+XF86WWW :1008FF2E
+XF86Sleep :1008FF2F
+XF86Favorites :1008FF30
+XF86AudioPause :1008FF31
+XF86AudioMedia :1008FF32
+XF86MyComputer :1008FF33
+XF86VendorHome :1008FF34
+XF86LightBulb :1008FF35
+XF86Shop :1008FF36
+XF86History :1008FF37
+XF86OpenURL :1008FF38
+XF86AddFavorite :1008FF39
+XF86HotLinks :1008FF3A
+XF86BrightnessAdjust :1008FF3B
+XF86Finance :1008FF3C
+XF86Community :1008FF3D
+XF86AudioRewind :1008FF3E
+XF86BackForward :1008FF3F
+XF86Launch0 :1008FF40
+XF86Launch1 :1008FF41
+XF86Launch2 :1008FF42
+XF86Launch3 :1008FF43
+XF86Launch4 :1008FF44
+XF86Launch5 :1008FF45
+XF86Launch6 :1008FF46
+XF86Launch7 :1008FF47
+XF86Launch8 :1008FF48
+XF86Launch9 :1008FF49
+XF86LaunchA :1008FF4A
+XF86LaunchB :1008FF4B
+XF86LaunchC :1008FF4C
+XF86LaunchD :1008FF4D
+XF86LaunchE :1008FF4E
+XF86LaunchF :1008FF4F
+XF86ApplicationLeft :1008FF50
+XF86ApplicationRight :1008FF51
+XF86Book :1008FF52
+XF86CD :1008FF53
+XF86Calculater :1008FF54
+XF86Clear :1008FF55
+XF86Close :1008FF56
+XF86Copy :1008FF57
+XF86Cut :1008FF58
+XF86Display :1008FF59
+XF86DOS :1008FF5A
+XF86Documents :1008FF5B
+XF86Excel :1008FF5C
+XF86Explorer :1008FF5D
+XF86Game :1008FF5E
+XF86Go :1008FF5F
+XF86iTouch :1008FF60
+XF86LogOff :1008FF61
+XF86Market :1008FF62
+XF86Meeting :1008FF63
+XF86MenuKB :1008FF65
+XF86MenuPB :1008FF66
+XF86MySites :1008FF67
+XF86New :1008FF68
+XF86News :1008FF69
+XF86OfficeHome :1008FF6A
+XF86Open :1008FF6B
+XF86Option :1008FF6C
+XF86Paste :1008FF6D
+XF86Phone :1008FF6E
+XF86Q :1008FF70
+XF86Reply :1008FF72
+XF86Reload :1008FF73
+XF86RotateWindows :1008FF74
+XF86RotationPB :1008FF75
+XF86RotationKB :1008FF76
+XF86Save :1008FF77
+XF86ScrollUp :1008FF78
+XF86ScrollDown :1008FF79
+XF86ScrollClick :1008FF7A
+XF86Send :1008FF7B
+XF86Spell :1008FF7C
+XF86SplitScreen :1008FF7D
+XF86Support :1008FF7E
+XF86TaskPane :1008FF7F
+XF86Terminal :1008FF80
+XF86Tools :1008FF81
+XF86Travel :1008FF82
+XF86UserPB :1008FF84
+XF86User1KB :1008FF85
+XF86User2KB :1008FF86
+XF86Video :1008FF87
+XF86WheelButton :1008FF88
+XF86Word :1008FF89
+XF86Xfer :1008FF8A
+XF86ZoomIn :1008FF8B
+XF86ZoomOut :1008FF8C
+XF86Away :1008FF8D
+XF86Messenger :1008FF8E
+XF86WebCam :1008FF8F
+XF86MailForward :1008FF90
+XF86Pictures :1008FF91
+XF86Music :1008FF92
+XF86Battery :1008FF93
+XF86Bluetooth :1008FF94
+XF86WLAN :1008FF95
+XF86UWB :1008FF96
+XF86AudioForward :1008FF97
+XF86AudioRepeat :1008FF98
+XF86AudioRandomPlay :1008FF99
+XF86Subtitle :1008FF9A
+XF86AudioCycleTrack :1008FF9B
+XF86CycleAngle :1008FF9C
+XF86FrameBack :1008FF9D
+XF86FrameForward :1008FF9E
+XF86Time :1008FF9F
+XF86Select :1008FFA0
+XF86View :1008FFA1
+XF86TopMenu :1008FFA2
+XF86Red :1008FFA3
+XF86Green :1008FFA4
+XF86Yellow :1008FFA5
+XF86Blue :1008FFA6
+XF86Suspend :1008FFA7
+XF86Hibernate :1008FFA8
+XF86TouchpadToggle :1008FFA9
+
+! XFree86 special action keys
+XF86_Switch_VT_1 :1008FE01
+XF86_Switch_VT_2 :1008FE02
+XF86_Switch_VT_3 :1008FE03
+XF86_Switch_VT_4 :1008FE04
+XF86_Switch_VT_5 :1008FE05
+XF86_Switch_VT_6 :1008FE06
+XF86_Switch_VT_7 :1008FE07
+XF86_Switch_VT_8 :1008FE08
+XF86_Switch_VT_9 :1008FE09
+XF86_Switch_VT_10 :1008FE0A
+XF86_Switch_VT_11 :1008FE0B
+XF86_Switch_VT_12 :1008FE0C
+XF86_Ungrab :1008FE20
+XF86_ClearGrab :1008FE21
+XF86_Next_VMode :1008FE22
+XF86_Prev_VMode :1008FE23
+
+usldead_acute :100000A8
+usldead_grave :100000A9
+usldead_diaeresis :100000AB
+usldead_asciicircum :100000AA
+usldead_asciitilde :100000AC
+usldead_cedilla :1000FE2C
+usldead_ring :1000FEB0